/*
 Theme Name:   Essential Childtheme
 Description:  GeneratePress child theme
 Author:       Econsor GmbH
 Author URI:   https://econsor.de/
 Template:     generatepress
 Version:      1.0
*/

@import "fonts/fonts.css";
@import "src/styles/index.css";

:root {
	--max-width: 1600px;
	--width: 80%;
}

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

.section--hero .gb-headline.gb-headline-text,
.section--hero .gb-button {
    z-index: 1;
}

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

/* Pop-up */
body .pum-theme-standard-theme .pum-container {
	background: transparent;
	box-shadow: none;
	max-width: 900px;
	left: 0 !important;
	margin: 0 auto;
	right: 0;
	padding: 0;
}
div#contact-pop-up {
	background-color: var(--kumeta-base);
	padding: 45px;
	display: grid;
	grid-template-columns: 44% 56%;
}
div#contact-pop-up img {
	border-radius: 50%;
	margin-bottom: 30px;
	margin-top: 10px;
}
body .pum-theme-standard-theme {
	background: rgba(0, 0, 0, 0.50);
	backdrop-filter: blur(10px);
}
body .pum-content + .pum-close, .pum-theme-standard-theme .pum-content + .pum-close {
	background: transparent;
	box-shadow: unset;
	padding: 0;
	font-size: 30px;
	right: 0;
	top: -40px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: auto;
}
#contact-pop-up h2.gb-text {
	font-size: 24px;
	margin-bottom: 15px;
}
#contact-pop-up h2.gb-text + p {
	color: var(--kumeta-secondary);
	font-size: 16px;
	margin-bottom: 40px;
}
#contact-pop-up span.gb-text a {
	display: flex;
	flex-direction: row;
	gap: 10px;
	color: var(--kumeta-secondary);
	transition: all .4s ease-in-out;
}
div#contact-pop-up img + p {
	display: none;
}
#contact-pop-up h3.gb-text {
	margin-bottom: 5px;
	font-size: 16px;
}
#contact-pop-up h3 + p.gb-text {
	margin-bottom: 50px;
}
#contact-pop-up span.gb-text a:hover {
	 color: var(--kumeta-primary);
 }
#contact-pop-up span.gb-text a svg {
	width: 20px;
	height: 20px;
}
#contact-pop-up span.gb-text a svg path {
	fill: var(--kumeta-primary);
}
/* Formular */
.form-wrapper.half {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	width: 100%;
}
body .wpcf7-list-item {
	margin: 0;
}
.wpcf7 .wpcf7-submit {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	font-size: 16px;
	font-weight: 700;
	padding: 20px 32px;
	margin-right: auto;
	margin-left: auto;
	border-radius: 10px;
	background-color: var(--kumeta-primary);
	color: var(--kumeta-base);
	text-decoration: none;
	margin-top
}
.form-outter-wrapper {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}
.wpcf7 .form-outter-wrapper textarea {
	width: 100%;
	height: 150px;
	margin-bottom: 10px;
}
.wpcf7 .wpcf7-submit:hover {
	background-color: #222222;
	color: #ffffff;
}
span.wpcf7-list-item-label {
	font-size: 12px;
	color: var(--kumeta-secondary);
}
#contact-pop-up p.gb-text {
	color: var(--kumeta-secondary);
}
.wpcf7 .wpcf7-submit:disabled {
	margin-top: 10px;
}
.wpcf7-form-control-wrap,
.form-wrapper.half p {
	width: inherit;
}
.form-wrapper.half .form-field {
	width: inherit;
	max-width: unset;
}
.form-wrapper.half .form-field {
	width: 100%;
}
.wpcf7 input[type=email],
.wpcf7 input[type=number],
.wpcf7 input[type=password],
.wpcf7 input[type=search],
.wpcf7 input[type=tel],
.wpcf7 input[type=text],
.wpcf7 input[type=url],
.wpcf7 select,
.wpcf7 textarea {
	border-radius: 5px;
	border: 1px solid #D3D3D3;
	width: inherit;
}
.wpcf7 input[type=email]::placeholder,
.wpcf7 input[type=number]::placeholder,
.wpcf7 input[type=password]::placeholder,
.wpcf7 input[type=search]::placeholder,
.wpcf7 input[type=tel]::placeholder,
.wpcf7 input[type=text]::placeholder,
.wpcf7 input[type=url]::placeholder,
.wpcf7 select::placeholder,
.wpcf7 textarea::placeholder {
	color: #D3D3D3;
}
span.wpcf7-list-item label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}
body div#contact-pop-up img.wpcf7-form-control.wpcf7-captchac.wpcf7-captcha-captcha-1 {
	margin: 0;
}
.form-field p {
	color: var(--kumeta-secondary);
}
/* @start: RESPONSIVE */

/* until TABLET */
@media (max-width: 768px) {
	.top-bar > div > div:first-child {
		display: none;
		/* Alternativ: */
		/*
		justify-content: space-between;
		padding: 0 40px;
		*/
	}
	div#contact-pop-up .wpcf7 .wpcf7-submit {
		margin-right: 0;
		margin-left: 0;
		width: fit-content;
	}
	.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%;
	}
	div#contact-pop-up {
		display: flex;
		flex-direction: column;
		gap: 50px;
	}
	.form-wrapper.half {
		display: flex;
		flex-direction: column;
	}
}

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

/* Unsere Ansprechpartner */
figure.wp-block-image.contact_person_photo img {
    border-radius: 15px;
    width: 100%;
}

p.gb-text.contact_data a {
    color: var(--base-3);
}
p.gb-text.contact_data a:hover {
    opacity: 0.7;
}
p.gb-text.contact_data {
    margin-bottom: unset;
}

@media (max-width: 1066px) {
    #main .contact-container .gb-grid-wrapper .gb-grid-column {
        width: 100%;
    }
}