/*
 Theme Name:   GeneratePress Child
 Description:  GeneratePress Child Theme
 Author:       Pixelpolka
 Author URI:   https://www.pixelpolka.de
 Template:     generatepress
 Version:      1.0
 Text Domain:  generatepress-child
*/

/* ================================================== Fonts ===================================================== */

@font-face {
    font-family: 'Poppins';
    src: local('Poppins Black'), local('Poppins-Black'),
        url('assets/fonts/subset-Poppins-Black.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins Bold Italic'), local('Poppins-BoldItalic'),
        url('assets/fonts/subset-Poppins-BoldItalic.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins Black Italic'), local('Poppins-BlackItalic'),
        url('assets/fonts/subset-Poppins-BlackItalic.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins Bold'), local('Poppins-Bold'),
        url('assets/fonts/subset-Poppins-Bold.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins ExtraBold'), local('Poppins-ExtraBold'),
        url('assets/fonts/subset-Poppins-ExtraBold.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-ExtraBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins Italic'), local('Poppins-Italic'),
        url('assets/fonts/subset-Poppins-Italic.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins ExtraLight Italic'), local('Poppins-ExtraLightItalic'),
        url('assets/fonts/subset-Poppins-ExtraLightItalic.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-ExtraLightItalic.woff') format('woff');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins ExtraBold Italic'), local('Poppins-ExtraBoldItalic'),
        url('assets/fonts/subset-Poppins-ExtraBoldItalic.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-ExtraBoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins Medium Italic'), local('Poppins-MediumItalic'),
        url('assets/fonts/subset-Poppins-MediumItalic.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins Light'), local('Poppins-Light'),
        url('assets/fonts/subset-Poppins-Light.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins Light Italic'), local('Poppins-LightItalic'),
        url('assets/fonts/subset-Poppins-LightItalic.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins ExtraLight'), local('Poppins-ExtraLight'),
        url('assets/fonts/subset-Poppins-ExtraLight.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins Medium'), local('Poppins-Medium'),
        url('assets/fonts/subset-Poppins-Medium.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins SemiBold Italic'), local('Poppins-SemiBoldItalic'),
        url('assets/fonts/subset-Poppins-SemiBoldItalic.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-SemiBoldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins Thin Italic'), local('Poppins-ThinItalic'),
        url('assets/fonts/subset-Poppins-ThinItalic.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-ThinItalic.woff') format('woff');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins Thin'), local('Poppins-Thin'),
        url('assets/fonts/subset-Poppins-Thin.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins SemiBold'), local('Poppins-SemiBold'),
        url('assets/fonts/subset-Poppins-SemiBold.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: local('Poppins Regular'), local('Poppins-Regular'),
        url('assets/fonts/subset-Poppins-Regular.woff2') format('woff2'),
        url('assets/fonts/subset-Poppins-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

body {
	font-family: 'Poppins', sans-serif !important;
}


/* =================================================== BASICS =================================================== */


::selection {
    background: var(--contrast);
    color: var(--base);
}


/* =================================================== HEADER =================================================== */

.page-hero {
	min-height: 250px;
	height: calc(50vw - 20vh + 150px);
	max-height: 800px;
	margin-bottom: calc(1.5rem + 1.5vw);
}

.home-neu .page-hero {
	display: grid;
	margin-bottom: calc(1rem + 2vw);
	min-height: 360px;
	height: calc(250px + 20vw) !important;
	@media(min-width: 1100px) {
		height: calc(300px + 22vw) !important;
	}
	max-height: 800px;
}

.home-neu .inside-page-hero.grid-container.grid-parent {
	display: grid;
	align-content: start;
	width: 100%;
	padding-inline: 40px;
	padding-top: 14%;
	@media(max-width: 768px) {
		padding-inline: 15px;
		padding-top: 7rem;
	}
	@media(min-width: 1100px) {
		padding-top: clamp(5%, calc(120px + 2vw), 300px);
	}
}

.home-neu .page-hero h1 {
	color: #fff;
	font-weight: 900;
	margin-bottom: 4rem;
	@media(max-width: 768px) {
		margin-bottom: 2rem;
	}
}

.h1-inside {
	display: block;
}

.h1-inside:nth-of-type(1) {
	font-size: calc(2rem + 3vw);

	margin-bottom: -.08em !important;
}

.h1-inside:nth-of-type(2) {
	font-size: calc(2rem + 1vw);
	font-weight: normal;
}

.home-neu .page-hero p {
	background-color: #fff !important;
	width: fit-content;
	margin-left: 10px;
	padding: .1em .2em;
	margin-bottom: 3px;
	font-size: 2rem;
	font-size: calc(1.4rem + .5vw);
	rotate: -5deg;
	&:nth-of-type(3) {
		transform: translate(-3px, -6px);
		@media(max-width: 1110px) {
			border-left: 3px solid rgba(0, 0, 0, 0.8);
			border-bottom: 3px solid rgba(0, 0, 0, 0.8);
		}
	}
}

.home-neu .inside-right-sidebar {
	margin-top: 1rem !important;
	.widget:nth-of-type(1) {
		padding-top: 0 !important;
	}
}

/* ---------------------------------- Navi --------------------------------------- */

@media (max-width: 768px) {
    .inside-header {
        padding-right: 15px;
        padding-left: 15px;
    }
}
@media (max-width: 820px) {
    .navigation-branding {
        margin-left: 15px !important;
    }
}
.navigation-branding {
	padding-bottom: .3rem;
}
.home #menu-hauptmenue .menu-item a {
	color: #fff;
	transition: color .3s ease-in-out;
}

#menu-hauptmenue .menu-item a:hover,
#menu-hauptmenue a[aria-current="page"] {
	color: var(--accent) !important;
}

#sticky-navigation {
	background-color: #fff;
	.menu-item a {
		color: #000 !important;
		transition: color .3s ease-in-out;
	}
	.menu-item a:hover,
	a[aria-current="page"] {
		color: var(--accent) !important;
	}
}

.sticky-enabled .main-navigation.is_stuck {
    box-shadow: 0 2px 32px 10px rgba(0, 0, 0, .05);
    border-bottom: 1px solid rgba(0,0,0, .1);
}

.main-navigation .main-nav ul li a, .menu-toggle, .main-navigation .menu-bar-item > a {
    padding-left: calc(.75rem + .75vw);
    padding-right: calc(.75rem + .75vw);
}

.gp-icon:not(.icon-arrow-up) svg {
	height: 1.5em;
	width: 1.5em;
}

.main-navigation .gp-icon svg {
	fill: #000 !important;
}

.home .main-navigation .gp-icon:not(.pro-close) svg {
	fill: #fff !important;
}

#sticky-navigation .gp-icon svg {
	fill: #000 !important;
}

.slideout-menu a {
	font-size: 20px;

}


/* =================================================== CONTENT =================================================== */

@media (max-width: 768px) {
	body {
		hyphens: auto;
	}
}

.home main {
	margin-top: 0 !important;
}

.wp-block-group__inner-container  {
	padding-inline: 0 !important;
}

.is-layout-flex {
	gap: 3rem;
}

.entry-content,
.home h1 {
	margin-top: calc(.5rem + .5vw) !important;
}
@media(max-width: 768px) {
	body.right-sidebar .inside-article {
		padding-bottom: 0 !important;
	}
	.inside-right-sidebar {
		margin-top: 0 !important;
	}
	.inside-right-sidebar aside:nth-of-type(1) {
		padding-top: 0 !important;
	}
}


.intro .wp-block-group__inner-container {
	padding-bottom: calc(1rem + 1vw);
}

/* ---------------------------------- Überschriften ---------------------------- */


h1, h2, h3 {
	text-wrap: pretty;
}

h1, .entry-title {
	margin-bottom: calc(2rem + 1vw);
}

.home h1 {
	font-size: calc(3.5rem + .2vw);
}

body:not(.impressum, .datenschutz, .post-type-archive-tribe_events, .single-tribe_events) h2:not(.vsel-meta-title) {
	border-bottom: 3px solid var(--contrast);
	padding-bottom: 1.5rem;
}

.rubrik h2 span {
	font-weight: 200;
    margin-right: 1rem;
    background-color: var(--contrast);
    color: var(--base);
	display: inline-block;
	padding-inline: .3rem;
}

@media(min-width: 769px) {
	.rubrik h3 {
		font-weight: 300 !important;
	}
}

/* ---------------------------------- Fließtext -------------------------------- */

@media(min-width: 769px) {
	.lead {
		max-width: 80ch;
	}
}

p {
	max-width: 85ch;
}


/* ---------------------------------- Seite: RUBRIKEN ------------------------------------ */

.sprungmarken a {
	font-size: calc(1.2rem + .15vw);
	font-weight: 600;
	text-decoration: none;
	padding-bottom: calc(.5em + .2vw);
	display: block;
	border-bottom: 1px solid var(--contrast);
	transition: all .2s ease-out;
	border-collapse: collapse;
	line-height: 1.3;
	hyphens: auto;
}

.sprungmarken a:hover {
	border-bottom: 3px solid var(--contrast);
	padding-left: 4px;
	padding-bottom: 14px;
}

.sprungmarken .wp-block-columns {
	gap: calc(.75rem + 1vw);
}


.rubrik .is-layout-grid {
	gap: calc(2rem + 1vw);
	grid-template-columns: 1fr;
	margin-bottom: calc(1rem + 1vw);
}

	.rubrik .projekt-teaser {
		grid-area: intro;
	}
	.rubrik figure {
		grid-area: image:
	}
	.rubrik h3 {
		grid-area: heading;
	}
	.rubrik .is-layout-grid .wp-block-group {
		grid-area: info;
	}

@media (max-width: 740px) {
	.rubrik .is-layout-grid {
		gap: 1.2rem;
		grid-template-areas:
			"intro"
			"image"
			"heading"
			"info"
	}
	.rubrik h3 {
		margin-top: .8rem;
	}
}

@media (min-width: 741px) and (max-width: 879px) {
	.rubrik .is-layout-grid {
		grid-template-columns: 50% 1fr;
		grid-template-areas:
			"intro intro"
			"image heading"
			"info info"

	}
}

@media (min-width: 880px) {
	.rubrik :is(.projekt-teaser, figure, h3, .is-layout-grid .wp-block-group) {
		grid-area: unset;
	}
	.rubrik:nth-of-type(even) .is-layout-grid {
		grid-template-columns: 60% 1fr;
	}
	.rubrik:nth-of-type(odd) .is-layout-grid {
		grid-template-columns: 40% 1fr;
	}
	.rubrik h3 {
		align-self: end;
	}
}



@media (max-width: 768px) {
    .sprungmarken .wp-block-columns {
		gap: 0;
		margin-bottom: 0;
    }
    .sprungmarken p {
	    margin-bottom: .6em;
    }
}


/* ------------------------------- Seite: KONTAKT ------------------------------------  */

@media (max-width: 768px) {
    .kontakt .wp-block-columns {
		gap: 0;
    }
}

a[href^="https://www.instagram"] {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'%3E%3C/rect%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'%3E%3C/path%3E%3Cline x1='17.5' y1='6.5' x2='17.5' y2='6.5'%3E%3C/line%3E%3C/svg%3E");
	background-repeat: no-repeat;
	padding-left: 26px;
}

/* ------------------------------- Seite: ÜBER UNS ----------------------------------- */

@media (max-width: 768px) {
    .ueber-uns .wp-block-columns {
		gap: 1rem;
		margin-bottom: 1rem;
    }
}

.team-function {
	margin-bottom: .1em;
}

/* ---------------------------------- Zitat ------------------------------------ */

.wp-block-pullquote {
	padding-top: 0;
	padding-bottom: 3rem;
}

blockquote {
	border-left: 0;
	font-weight: 300;
	font-size: 1.35rem;
	line-height: 1.4;
	max-width: 60ch;
	padding: 2rem 1rem 0 2rem;
}
/*
blockquote p::before {
	content: '» ';
    position: relative;
    display: inline-block;
    margin-right: .15em;
    font-size: 3rem;
    font-weight: 600;
    line-height: 1;
    bottom: -.05em;
}
*/

@media(min-width: 769px) {
	blockquote {
/*
		display: flex;
		font-size: 33px;
*/
	}
/*
	blockquote::before {
		content: '» ';
	    font-size: 6rem;
	    font-weight: 600;
	    position: relative;
	    top: -2rem;
	    display: block;
	    line-height: 1;
	    margin-right: 1.5rem;
	}
*/
	blockquote p {
/*
		max-width: 66%;
		margin-bottom: 0;
		padding-right: 2rem;
*/
	}
	blockquote p::before {
		all: unset;
	}
}

cite {
	font-style: normal;
	font-size: 19px;
	align-self: end;
	font-weight: 600;
	text-align: right;
}

cite::before {
	content: "— ";
}

/* ------------------------- eingebettete Karte ------------------------------- */

.wp-block-column iframe {
	border: none !important;
}

/* =================================================== FOOTER =================================================== */

.single-event .site-footer {
	margin-top: calc(2rem + 3vw);
}

.site-footer a {
	text-decoration: none;
}

.footer-widget-2,
.footer-widget-3,
.footer-widget-4 {
	padding-top: 108px;
}
@media(min-width: 768px) {
	.footer-widget-1 {
		flex: 1 1 1000px !important;
/* 		padding-right: calc(1rem + 1vw); */
	}
	.footer-widget-2 {
		flex: 1 1 380px !important;
	}

	.footer-widget-3 {
		flex: 0 1 150px !important;
	    display: flex;
	    flex-direction: column;
	    align-content: flex-end;
	    flex-wrap: wrap;
	}
}

.footer-widgets-container.grid-container::after {
    content: '';
    height: 3px;
    width: 100%;
    background-color: var(--contrast);
    position: relative;
    display: block;
    top: 3rem;
}

.generate-back-to-top {
	border-radius: 50%;
	font-size: 30px;
	line-height: 50px;
	width: 50px;
}

.footer-bar .widget_nav_menu li {
	margin-inline: calc(.5rem + .5vw);
}

#menu-hauptmenue li a {
	font-size: 1.4rem;
}

@media (max-width: 768px) {
    .inside-footer-widgets>div:not(:last-child) {
        margin-bottom: 40px;
    }
    .footer-widget-2,
    .footer-widget-3 {
	    padding-top: 0;
    }

}


.footer-widgets .widget {
    margin-bottom: calc(.5rem + .5vw);
}
.footer-widgets ul li {
	margin-bottom: 0;
}


@media (max-width: 768px) {
	.inside-site-info {
	    padding: 30px 5px 80px 5px;
	}
}

@media (max-width: 500px) {

	.footer-bar {
		width: 100%;
	}
	#menu-impressum-und-datenschutz {
		justify-content: space-between !important;
	}

}
@media (max-width: 380px) {

	.footer-bar .widget_nav_menu li {
	    margin-inline: 5px;
	    font-size: 14px;
	}

}


.site-footer .menu [aria-current="page"] {
	color: var(--accent);
}
/* =================================================== VERANSTALTUNGEN =================================================== */


/* -------------------------------------------- VSEL ------------------------------------------- */


:is(.home, .rubriken, .single-event .widget) .vsel-content {
	display: grid;

}

:is(.home, .rubriken, .single-event .widget) div.vsel-meta.vsel-alignleft {
	@media (max-width: 768px) {
		margin-bottom: 0 !important;
	}
}

:is(.home, .rubriken, .single-event .widget) div.vsel-info.vsel-alignright {
	@media (max-width: 1346px) {
		width: 66% !important;
	}
}

:is(.home, .rubriken, .single-event .widget) .vsel-meta {
	width: unset !important;
	@media (max-width: 768px) {
		display: grid;
	    justify-content: space-between;
		column-gap: 1rem;
		grid-template-areas:
			"left right-top"
			"left right-bottom";
	}
	@media (min-width: 1346px) {
		display: grid;
	    justify-content: space-between;
		column-gap: 1rem;
		grid-template-areas:
			"left right-top"
			"left right-bottom";
	}
}




:is(.home, .rubriken, .single-event .widget) h2.vsel-meta-title {
	grid-area: left;
	font-size: 1.1rem;
}

:is(.home, .rubriken, .single-event .widget) .vsel-meta-date {
	grid-area: right-top;
	min-width: 15ch;
}

:is(.home, .rubriken, .single-event .widget) .vsel-meta-time {
	grid-area: right-bottom;
}

.inside-right-sidebar aside {
	margin-bottom: 0 !important;
}

.inside-right-sidebar div.vsel-info.vsel-alignright {
	width: unset !important;
}

.termine-title {
	border-bottom: 3px solid #000;
	letter-spacing: .05em;
}

.termine-title strong {
	color: #fff;
    background-color: #000;
    padding: .2em .4em;
}

#vsel .vsel-content {
	border-bottom: 1px solid #000;
}

.vsel-meta-all-day {
	display: none;
}

.vsel-content p {
	margin-bottom: 1.5em;
}

.spielplan .vsel-content h2.vsel-meta-title {
	font-size: 1.6rem;
	margin-bottom: 2rem;
}

.spielplan .vsel-info.vsel-alignright {
    font-size: 1.3rem;
    line-height: 1.35;
}

.single-event h1 {
	font-size: 56px;
	hyphens: auto;
	@media (max-width: 1024px) {
        font-size: 42px;
    }
	@media (max-width: 768px) {
        font-size: 36px;
    }
}

.single-event h2 {
	font-size: 1.6rem;
	border-bottom: none !important;
}

.sidebar-title {
	border-bottom: 3px solid #000;
	font-size: 1.3rem;
	line-height: 1.3;
}

.inside-right-sidebar .widget_text {
	padding-bottom: 0 !important;
}

.is-right-sidebar {
	min-width: 300px;
	width: 33.333%;
}
@media(min-width: 769px) {
	body.right-sidebar .site-content .content-area {
	    width: 66.666%;
	}
	body.right-sidebar .inside-article {
		padding-right: 0;
		padding-bottom: 0 !important;
	}
}




/* --------------------------------------- UTILS --------------------------------------- */

.hidden,
.hidden * {
	display: none !important;
}


.cancelled {
	background-color: #d92f3c !important;
	color: #000 !important;
	font-weight: 600 !important;
	font-size: calc(1.5rem + .5vw);
	padding-inline: 1rem !important;
	rotate: -5deg;
}
