.user-login-form {
	display: none;
}

#block-thex-subtheme-benutzeranmeldung .user-login-form {
	display: unset;
}

#block-thex-subtheme-loginredirect + #block-thex-page-title {
	display: none;
}

/* ---------------------------------------------- PIKAS HEADER 2025 */
.paragraph.header-pikas img {
	width: 100%;
}
.paragraph.header-pikas .bannerbeschreibung {
	
}
/* ---------------------------------------------- PIKAS KACHELN 2025 */

.kacheln-wrapper {
	> div {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1.4em 1.6rem;
	}
}

@media (max-width: 768px) {
	.kacheln-wrapper > div {
		grid-template-columns: repeat(1, 1fr);
	}
}
.kacheln-wrapper.kachel_auf_startseite {
	* {
		text-decoration: none;
		color: inherit;
	}
	> div {
		gap: 3rem 1.6rem;
	}
	h3 {
		font-size: 1.4rem;
		font-weight: 500;
		margin: 1rem 0 0 0;
		color: var(--primary);
	}
	p {
		margin: 0.5rem 0 0 0;
	}
	a.kachel {
		display: block;
	}
	a.kachel:hover {
		cursor: pointer;
	}
	a.kachel:hover h3 {
		color: var(--primary);
		text-decoration: underline;
	}
	.kachel-beschreibung {
	}
	a.kachel:hover .kachel-beschreibung {
		color: var(--color-text);
	}
	a.kachel .kachel-banner {
		overflow: hidden;
	}
	a.kachel .kachel-banner img {
		transition: all 0.2s ease-in-out;
		overflow: hidden;
	}
	a.kachel:hover .kachel-banner img {
		transform: scale(1.05);
	}
}

.kacheln-wrapper.menu_uebersichtsseite {
	a.kachel {
		/* background: rgba(50, 122, 134, 0.2); */
		background: var(--primary-light);
		display: flex;
		padding: 0 1rem;
		text-decoration: none;
		justify-content: space-between;
		height: 140px;
		transition: all 0.2s ease-in-out;
		gap: 2rem;
	}
	a.kachel h3 {
		margin: 1rem 0 0 0;
		font-size: 1.3em;
		font-weight: 400;
		color: var(--color-text);
		flex: 1 1 100%;
	}
	.kachel-banner {
		display: flex;
		align-items: center;
		justify-content: end;
		flex: 0 1 140px;
		min-width: 80px;
	}
	.kachel-banner img {
		width: auto;
		max-height: 100%;
	}
	a.kachel:hover {
		background: var(--primary);
		img {
			filter: brightness(100);
		}
		h3 {
			color: #fff;
		}
	}
}

/*----------------------------- BANNER */
/* FRONTBANNER */
.frontbanner ~ img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    max-width: 1150px !important;
    object-fit: cover;
}
.frontbanner {
    position: relative;
    z-index: 1;
}
.banner-overlay-links-transparent {
    width: 27rem;
    position: relative;
    z-index: 1;
    background-color: #ffffffc7;
    padding: 1.5rem 2rem;
    backdrop-filter: blur(10px);
}
/* .frontpage-banner-desktop { */
/* display: unset; */
/* } */
.frontpage-banner-mobile {
    display: none;
}
/* @media (max-width: 768px) { */
/* .frontbanner ~ .frontpage-banner-desktop { */
/* display: none; */
/* } */
/* .frontbanner ~ .frontpage-banner-mobile { */
/* display: unset; */
/* max-width: 100% !important; */
/* } */
/* } */
/* @media (max-width: 600px) { */
/* .frontbanner ~ .frontpage-banner-desktop { */

/* } */
/* .frontbanner ~ .frontpage-banner-mobile { */
/* max-width: 600px !important; */
/* } */
/* } */
/* BANNER 50/50 */
.breakout:has(.banner) {
    padding: 0;
}
.banner {
    display: flex;
    gap: 2rem;
}
.banner > * {
    flex: 1 1 100%;
}

.banner > .banner-text {
    align-self: center;
    padding: 1.5rem 10px;
}
.banner > .banner-image {
    align-self: end;
    width: 100%;
}
.banner > .banner-image > img {
    width: 100%;
    object-fit: cover;
    min-height: 280px;
}
@media (max-width: 768px) {
    .banner {
        gap: 0;
    }
    .banner-text {

    }
    .banner.mobile-columns {
        flex-direction: column;
    }
    .banner.mobile-columns-reverse {
        flex-direction: column-reverse;
    }
    .banner > .banner-text {

    }
    .banner > .banner-image {
        max-height: 400px;
        overflow: hidden;
        object-fit: cover;
        background-color: var(--primary-light);
        width: 100vw !important;
    }
    .breakout:has(> .banner) {
        background-color: transparent !important;
    }
}
/* BANNER 35/65 */
.banner.banner-35-65 > .banner-text {
    flex: 0 0 380px;
}
@media (max-width: 768px) {
    .banner.banner-35-65 > .banner-text {
        flex: 1 1 10px;
        padding: 1.5rem 10px;
        align-self: flex-start !important;
    }
}


/* BANNER MOBILE OVERLAY */
@media (max-width: 768px) {
    .banner.mobile-overlay {
        position: relative;
    }
    .banner.mobile-overlay > .banner-text {
        position: absolute;
        padding: 0;
        left: 0;
        top: 15%;
        text-wrap: balance;
        width: 360px;
    }
    .banner.mobile-overlay > .banner-text > * {
        background-color: #ffffffc4;
        backdrop-filter: blur(3px);
        padding: .6rem .8rem;
        max-width: 95%
    }
    .banner.mobile-overlay > .banner-image {
        width: 100vw;
    }
}
/* BANNER MOBILE DISPLAY NONE */
@media (max-width: 768px) {
    .banner.mobile-display-none {

    }
    .banner.mobile-display-none > .banner-text {
        padding: 1.5rem 0 0 0;
        width: 100vw;
    }
    .banner.mobile-display-none > .banner-text > * {
        padding-left: 10px;
    }
    .banner.mobile-display-none > .banner-text > h1 {
        /* background-color: var(--primary-light); */
        /* display: inline-block; */
        /* padding: .8rem 1rem .8rem 10px; */
    }
    .banner.mobile-display-none > .banner-image {
        display: none;
    }
}

/* SIMPLE ACCORDION */
details.simple-accordion {
	border: 1px solid #ddd;
	margin-bottom: .5rem;
	margin-top: 0.5rem;
	padding: 0.7rem 1rem;
	background-color: #fff;
  
	> summary {
		cursor: pointer;
		padding: 0;
		font-weight: 500;
		list-style: none;
		font-size: 0.95rem;
	}
	
	summary::-webkit-details-marker {
		display: none;
	}

	> summary::after {
		content: "+";
		float: right;
	}
	.simple-accordion-content {
		font-size: 0.95rem;
		padding: 1rem 0 0 0;
		margin-top: 1rem;
		border-top: 1px solid #d6d6d6;
		
		div.field {
			margin-bottom: 1rem;
		}
		
		.field__label {
			font-weight: 500;
		}
	}
	
}

details.simple-accordion[open] summary::after {
	content: "−";
}

/* ----------------------------------- Veranstaltungen */
/* Verwaltung */
.veranstaltungen-verwaltung-zeile {
	margin-bottom: 2rem;
	background-color: var(--light);
	padding: 1.3rem;
	box-shadow: 0 3px 7px #e1e1e1;
	
	h3 {
		margin: 0 0.5rem 0 0;
	}
	
	div.actions p {
		font-size: 0.85rem;
	}
	.veranstaltung-datum {
		float: right;
		margin-left: 3rem;
	}
}

.veranstaltungen-verwaltung-zeile:not(:last-child) {
	/* border-bottom: 2px dotted #327d87; */
	background-color: var(--light);
	padding: 1.3rem;
}
/* Veranstaltungsseite */

.veranstaltung-infobox {
	margin-top: 2rem;
	background: #f7f7f7;
	padding: 2rem;
	border-radius: 20px;
}
.veranstaltung-infobox-flex {
	display: flex;
	gap: 0 1.5rem;
}
* + .veranstaltung-infobox-flex {
	margin-top: 2rem;
}
.veranstaltung-infobox-flex > div {
	flex: 1 1 50%;
}
/* TNB */

	.tnb-pdf-print {
		text-align: center;
		font-family: "Roboto", sans-serif;
		font-size: 1.25rem;
		display: table;
		width: 100%;
		margin-bottom: 3cm;
	}
	.tnb-header-bar {
		background-color: #327d87;
		height: 0.3cm;
	}
	.tnb-logo-l {
		float: left;
		width: 50%;
		text-align: left;
		vertical-align: top;
		padding-top: 0.5cm;
	}
	.tnb-logo-r {
		float: right;
		width: 50%;
		text-align: right;
		vertical-align: top;
		padding-top: 0.8cm;
	}
	.tnb-logo-l img, .tnb-logo-r img {
		display: unset !important;
	}
	.tnb-content {
	}
	.tnb-title {
		padding: 2.5cm 0 1.5cm;
		text-transform: uppercase;
		font-size: 2.5rem;		
	}			
	.tnb-name {
		font-size: 1.6rem;
	}
	.tnb-veranstaltung {
	}
	.tnb-datum {
	}
	.tnb-signature {
	}
	.tnb-footer {
		/* position: fixed; */
		bottom: 0cm;
		left: 0cm;
		right: 0cm;
		display: table;
		width: 100%;
		font-size: 8pt;
		line-height: 0.5cm;
		font-family: "Roboto", sans-serif;
		color: #666;
		padding-top: 0.3cm;
		height: 2cm;
	}
	.tnb-footer > div {
		display: table-cell;
		width: 33.33%;
		vertical-align: top;
	}
	.tnb-footer-1 {
	}
	.tnb-footer-2 {
	}
	.tnb-footer-3 {
	}

/* ----------------------------------------------  Scrollable sticky menu */

/* v1 sticky overflow*/ 

.block-region.region-sidebar-second > nav {
	max-height: calc(100vh - 150px);
	overflow-y: auto;
}

/* v2 nonsticky */

/* .block-region.region-sidebar-second > nav { */
	/* position: inherit; */
/* } */

/* HEADER TOP */
.header-top-container {
	flex-direction: row;
}

/* MOBILE DRILL MENU */
.mm-menu_offcanvas {
    z-index: 501;
}
.mm-menu_fx-menu-slide {
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    -o-transition: transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease;
}
.responsive-menu-toggle-icon span.label {
	display: none;
}
.responsive-menu-toggle-icon:before, .responsive-menu-toggle-icon:after, .responsive-menu-toggle-icon span.icon {
	background-color: #555;
	width: 36px;
	height: 2px;
	left: 0;
}
.responsive-menu-toggle-icon:before {
  top: 9px;
}
.responsive-menu-toggle-icon span.icon {
  top: 21px;
}
.responsive-menu-toggle-icon:after {
  top: 33px;
}

.responsive-menu-toggle-wrapper, .mobile-drill-menu {
	@media (min-width: 768px) {
		display: none;
	}
	@media (max-width: 768px) {
		display: inline-block;
	}
}
.mobile-menu {
	@media (min-width: 768px) {
		display: flex;
	}
	@media (max-width: 768px) {
		display: none;
	}
}
.primary-menu-wrapper.active-menu > .menu-wrap {
	@media (min-width: 768px) {
		display: flex;
	}
	@media (max-width: 768px) {
		display: none;
	}
}
/* STICKY HEADER */
header.header {
	@media (max-width: 768px) {
		padding-top: 0.5rem;
	}
	
	.stickyheader {
		@media (max-width: 768px) {
			box-shadow: unset;
		}
	}
}