/*
 Theme Name:   Essential Childtheme
 Description:  GeneratePress child theme
 Author:       Econsor GmbH
 Author URI:   https://econsor.de/
 Template:     generatepress
 Version:      1.0
*/
:root {
	--max-width: 1600px;
	--width: 80%;
}

@import "fonts/fonts.css";

a.button-primary {
	color: var(--base-3) !important;
}

.inside-article {
	padding: 0 !important;
}

.site.grid-container {
	width: 100%;
	max-width: 100% !important;
}

/* @start: MAIN CONTAINER */
#main {
	margin-block: 4em;
}

.home #main {
	margin-top: 0;
}

#main .entry-content > .gb-container:not(.container--fullwidth) {
	max-width: var(--max-width);
	width: var(--width);
	margin-inline: auto;
}

#main .entry-content > .gb-container:first-child {
	margin-top: 0;
}

#main .entry-content > .gb-container.container--fullwidth {
	z-index: 9;
	position: relative;
}

#main .entry-content .narrowed-content > * {
	max-width: 800px;
	width: 70%;
}
/* @end: MAIN CONTAINER */

/* @start: ARCHIVES */
body.search .masonry-load-more,
body.blog .masonry-load-more,
body.category .masonry-load-more,
body.error404 .masonry-load-more,
body.archive .masonry-load-more {
	margin-inline: auto;
	text-align: center;
}

body.search h1.gb-headline,
body.search .page-header {
	display: none;
}

body.archive .archive-grid {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 50px;
}

body.post-type-archive-referenz .archive-grid {
	margin-left: -20px;
}

body.post-type-archive-referenz .archive-grid article {
	padding-left: 20px;
	margin-bottom: 20px;
}
/* @end: ARCHIVES */

/* @start: TYPO */
p:last-child {
	margin-bottom: 0;
}

h1.wp-block-query-title {
	padding-inline: calc((100% - var(--width)) / 2);
}

.gb-container h2:has(+ p + p),
.gb-container :is(h2) + p:has(+ p),
.gb-container :is(h2 + p) + p {
	max-width: 600px;
}

body.single .gb-headline:is(p + h3),
body.single .gb-headline:is(p + h2) {
	margin-top: 3rem;
}
/* @end: TYPO */

/* @start: CONTENT */
body.single #content {
	max-width: var(--max-width);
	width: var(--width);
	margin-inline: auto;
	margin-block: 4em;
	gap: 5em;
}

body.single #main {
	margin: 0;
}

body.single .sidebar {
	background: var(--base);
	border: 1px solid var(--contrast-3);
	padding: 20px;
}

body.single .sidebar .inside-left-sidebar {
	margin: 0;
}

body.single .sidebar .inside-left-sidebar aside {
	padding: 0;
}

.gb-query-loop-wrapper .gb-grid-column > .gb-container,
.gb-query-loop-wrapper .gb-grid-column .gb-container-link + .gb-container {
	height: 100%;
	display: flex;
	flex-direction: column;
	width: 100%;
}
/* @end: CONTENT */

/* @start: NAVIGATION */
.top-bar * {
	margin-bottom: 0;
	font-size: 14px;
}

.main-navigation.has-branding .inside-navigation.grid-container {
	padding: 20px 0;
}

.main-navigation .sub-menu {
	padding-block: 10px;
}

/* mobile navigation */
#generate-slideout-menu .inside-navigation {
	padding-block: 50px;
}
/* @end: NAVIGATION */

/* @start: Slick Slider */
.slick-slider {
	position: relative;
}

.slick-slider .slick-arrow {
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	line-height: 1;
	height: auto;
	transition: 0.5s ease all;
	opacity: 0.6;
}

.slick-slider .slick-arrow svg {
	fill: var(--contrast);
	width: 25px;
	height: 25px;
}

.slick-slider .slick-arrow:hover {
	cursor: pointer;
	opacity: 1;
}

.slick-slider .slick-arrow:hover svg {
	fill: var(--accent);
}

.slick-slider .slick-arrow.slick-arrow--prev {
	left: -50px;
}

.slick-slider .slick-arrow.slick-arrow--next {
	right: -50px;
}

.slick-slider .slick-track {
	display: flex;
}

.slick-slider .slick-track .slick-slide {
	height: auto;
	margin-inline: 15px;
}

.slick-slider .slick-track .slick-slide figure {
	display: flex;
	justify-content: center;
}

.slick-slider .slick-track .slick-slide figure img {
	width: auto;
}

.slick-slider .slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
	margin-inline: -15px;
}

.slick-slider.slick-dotted .slick-dots {
	bottom: 50px;
	padding: 0;
	gap: 15px;
	position: absolute;
	display: flex;
	margin: 0;
	list-style: none;
	left: 50%;
	translate: -50%;
}

.slick-slider.slick-dotted .slick-dots li {
	width: fit-content;
	position: relative;
	cursor: pointer;
	list-style: none;
}

.slick-slider.slick-dotted .slick-dots li button {
	color: rgba(0, 0, 0, 0);
	width: 10px;
	height: 10px;
	background: rgba(0, 0, 0, 0);
	display: block;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	border: 0;
	outline: none;
	opacity: 0.8;
}

.slick-slider.slick-dotted .slick-dots li button:hover {
	opacity: 1;
}

.slick-slider.slick-dotted .slick-dots li button:before {
	content: "";
	width: 10px;
	height: 10px;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 100%;
	background: var(--contrast-3);
}

.slick-slider.slick-dotted .slick-dots li.slick-active button:before {
	background: var(--accent);
}

.slick-slider.hero--slider .slick-arrow {
	z-index: 9;
}

.slick-slider.hero--slider .slick-arrow svg {
	width: 50px;
	height: 50px;
	backdrop-filter: blur(10px);
	border-radius: 100%;
	background-color: rgba(255, 255, 255, 0.3);
}

.slick-slider.hero--slider .slick-arrow.slick-arrow--prev {
	left: 100px;
}

.slick-slider.hero--slider .slick-arrow.slick-arrow--next {
	right: 100px;
}
/* @end: Slick Slider */

/* @start: RESPONSIVE */

/* until TABLET */
@media (max-width: 768px) {
	.top-bar > div > div:first-child {
		display: none;
		/* Alternativ: */
		/*
		justify-content: space-between;
		padding: 0 40px;
		*/
	}
	
	.ec--slider .slick-dots {
		bottom: -30px !important;
	}
	
	form p {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}
	
	.container--content {
		margin: 4em 0;
	}
	
	.section--txtimg > div > div:nth-child(2) {
		margin-top: 40px;
	}
	
	h1 {
		font-size: 42px;
	}
	
	h2 {
		font-size: 32px;
	}
	
	.container--content.related-posts {
		padding-inline: calc((100% - var(--width)) / 2);
		width: 100%;
	}
}

/* from TABLET - until DESKTOP */
@media (min-width: 769px) and (max-width: 1024px) {
	.top-bar > div {
		width: unset;
		padding: 15px 40px;
	}
}

/* from TABLET - until LAPTOP */
@media (min-width: 769px) and (max-width: 1200px) {
	.gb-grid-wrapper > .gb-grid-column:not(.section--services .gb-grid-wrapper > .gb-grid-column) {
		width: 50%;
	}
	
	.container--content .gb-grid-wrapper .gb-container {
		min-height: 100%;
	}
}

/* until DESKTOP */
@media (max-width: 1024px) {
	body.single #content {
		flex-direction: column-reverse;
	}
	
	.main-navigation.has-branding .inside-navigation.grid-container {
		padding-left: 20px !important;
	}
	
	.slick-slider.hero--slider .slick-arrow {
		top: 90%;
	}
}

/* from DESKTOP */
@media (max-width: 1024px) {
	body.post-type-archive-referenz article {
		width: 25%;
	}
}

/* from DESKTOP - until FULL HD */
@media (min-width: 1025px) and (max-width: 1920px) {
	.inside-navigation.grid-container {
		width: 92%;
	}
	
	.top-bar > div {
		width: 92%;
	}
}

/* from WIDE */
@media (min-width: 1440px) {
	body.post-template-default #content .content-area {
		width: 80%;
	}
	
	body.post-template-default #content .sidebar {
		width: 20%;
	}
}

/* from 2000px */
@media (min-width: 2000px) {
	#main .entry-content > .gb-container.container--fullwidth {
		padding-inline: calc((100% - var(--max-width)) / 2);
	}
	
	body.search #main,
	body.blog #main,
	body.category #main,
	body.error404 #main,
	body.archive #main {
		padding-inline: calc((100% - var(--max-width)) / 2);
	}
}

/* until 1999px */
@media (max-width: 1999px) {
	body.search #main,
	body.blog #main,
	body.category #main,
	body.error404 #main,
	body.archive #main {
		padding-inline: calc((100% - var(--width)) / 2);
	}
	
	#main .entry-content > .gb-container.container--fullwidth {
		padding-inline: calc((100% - var(--width)) / 2);
	}
	
	.site-footer > div {
		padding-inline: calc((100% - var(--width)) / 2);
	}
}

/* @end: RESPONSIVE */

/*Logo*/

.gb-grid-wrapper.tile-row {
    margin-bottom: 20px;
}

.tile-row.gb-grid-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    row-gap: 20px;
    margin-left: -20px;
    column-gap: 20px;
}

.tile-row.gb-grid-wrapper .gb-grid-column {
    width: 100%;
}

/*Anker*/
:target {
  scroll-margin-top: 60px;
}

/*Veranstaltung*/
.veranstaltungen-template-default.single-veranstaltungen h1.gb-headline-text {
    max-width: 1100px;
	width: 80%;
	margin-inline: auto;
    text-align: left;
    font-size: 46px;
    padding: 20px;
    color: #fff;
    background-color: #4780a750;
    backdrop-filter: blur(2px);
}

	/*Breadcrumbs*/
.veranstaltungen-template-default .container--breadcrumbs {
    max-width: 1100px;
    width: 80%;
    margin-inline: auto;
}
	/*Datum*/
.event_date {
    margin-bottom: 20px;
}

/*Responsive Veranstaltung*/
@media (max-width: 1200px) {
	.veranstaltungen-template-default.single-veranstaltungen h1.gb-headline-text {
		font-size: 32px;
	}
}
