/**
Theme Name: EPC Child-Theme
Author: jut-so GmbH
Author URI: https://jut-so.de
Description: EPC Custom Child Theme basierend auf dem Hello Elementor Theme. 
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jut-so-child-theme
Template: hello-elementor
*/

/* variable.css and layout.css included via functions.php */

/* Default headline margins
 * Note: Pay attention to widget spacing. 
 * When using heading widget, margin-bottom is set to 0
 * then the spacing is controlled by the widget spacing
  .elementor-widget.elementor-widget.elementor-widget-heading .elementor-widget-container 
 */

body {
    -webkit-font-smoothing: auto;
	/**
	 * Grey background like on EPC website 
	 *background-color:rgba(0,0,0,75%);
	 */
	overflow-x:hidden;
}
html,
body {
	scroll-behavior: smooth;
}

h1, h2, h3, h4, h5, h6,
.elementor-widget-container h1,
.elementor-widget-container h2,
.elementor-widget-container h3,
.elementor-widget-container h4,
.elementor-widget-container h5,
.elementor-widget-container h6 {
	margin: .5em 0 .5em 0;
}

/* Utility classes for headlines */
.h1,
.h1 .elementor-heading-title,
[class*="elementor-kit-"] .h1 {
    font-family: var(--h1-font-family);
	color: var(--h1-default-color);
	font-size: var(--h1-font-size);
	line-height: var(--h1-line-height);
	font-weight: var(--h1-font-weight);
}

.h2,
.h2 .elementor-heading-title,
[class*="elementor-kit-"] .h2 {
    font-family: var(--h2-font-family);
	color: var(--h2-default-color);
	font-size: var(--h2-font-size);
	line-height: var(--h2-line-height);
	font-weight: var(--h2-font-weight);
}

.h3,
.h3 .elementor-heading-title,
[class*="elementor-kit-"] .h3 {
    font-family: var(--h3-font-family);
	color: var(--h3-default-color);
	font-size: var(--h3-font-size);
	line-height: var(--h3-line-height);
	font-weight: var(--h3-font-weight);
}

.h4,
.h4 .elementor-heading-title,
[class*="elementor-kit-"] .h4 {
    font-family: var(--h4-font-family);
	color: var(--h4-default-color);
	font-size: var(--h4-font-size);
	line-height: var(--h4-line-height);
	font-weight: var(--h4-font-weight);
}

::-moz-selection {
    background: #ff5100;
    color: #fff
}

::selection {
    background: #ff5100;
    color: #fff
}

/* Secondary button */
.secondary-button .elementor-button {
	color: var(--light-green);
    background-color: transparent;
    border-style: solid;
    border-color: var(--light-green);
}

p a,
li:not(.menu-item) a,
a h3,
a.custom-link {
	border-bottom: 1px solid black;
	font-weight:700;
}

strong {
	font-weight:700;
}

.back-button button {
	border:none;
	display: flex;
    align-items: center;
    justify-content: center;
}
.back-button button svg {
	height:45px;
	width:45px;
	background: #ffffffCC;
	padding:10px;
	border-radius: 50px;
}
@media(max-width:1200px) {
	.back-button button svg {
		height:40px;
		width:40px;
		padding:9px;
	}
}
@media(max-width:767px) {
	.back-button button svg {
		height:35px;
		width:35px;
		padding:8px;
	}
}

/* TESTIMONIALS */
.testimonial-container {
	display:flex;
	flex-direction:row;
}

.testimonial-container img {
	height:300px;
	width:300px;
	min-width:300px;
	border-radius: 150px;
}
.testimonial-container h3 {
	display: inline;
	padding: 0;
	background: none;
	margin:0;
	margin-bottom:5px;
	line-height:unset !important;
}
.testimonial-container h3 span {
	display: inline;
	padding: 2px 10px 2px 10px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	color:#fff;
	font-family: var( --e-global-typography-40946d1-font-family ), Sans-serif;
	font-size: var( --e-global-typography-40946d1-font-size );
	font-weight: var( --e-global-typography-40946d1-font-weight );
	line-height:1.5;
}
.testimonial-text {
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	margin-left:-150px;
}
@media (max-width:1025px) {
	.testimonial-text {
		margin-left:-280px;
	}
	.testimonial-container img {
		height:250px;
		width:250px;
		min-width:250px;
		border-radius: 150px;
	}
	.testimonial-text a {
		margin-left: 150px;
	}
}
.testimonial-text a {
	font-weight: 700 !important;
}

.epc-testimonial-slider .e-loop-item:nth-child(4n+1) .testimonial-container h3 span {
	background: #119985
}
.epc-testimonial-slider .e-loop-item:nth-child(4n+2) .testimonial-container h3 span {
	background: #14903F
}
.epc-testimonial-slider .e-loop-item:nth-child(4n+3) .testimonial-container h3 span {
	background: #E6A900
}
.epc-testimonial-slider .e-loop-item:nth-child(4n+4) .testimonial-container h3 span {
	background: #D9D900
}

.epc-testimonial-slider.elementor-element.elementor-arrows-position-outside .swiper,
.partner-carousel.elementor-element.elementor-arrows-position-outside .swiper {
	width: calc(100% - 120px) !important;
}
.partner-carousel.elementor-element.elementor-arrows-position-outside .swiper img {
	max-width:200px;
}

.epc-testimonial-slider .elementor-swiper-button,
.partner-carousel .elementor-swiper-button {
	background: var(--schwarz-8);
	border-radius:50px;
	padding:10px;
}
@media (max-width:1200px) {
	.testimonial-text {
		margin-top:250px;
		margin-left:-250px;
	}
}
@media (max-width:1024px) {
	.testimonial-text {
		margin-top:220px;
		margin-left:-250px;
	}
}
@media (max-width:767px) {
	.epc-testimonial-slider .elementor-swiper-button,
	.partner-carousel .elementor-swiper-button {
		background: #ebebebcc;
	}
	.testimonial-text {
		margin-top:-35px;
	}
}

.swiper-pagination-bullet {
	background:transparent !important;
	border: 1px solid #000;
	opacity: 1 !important;
}
.swiper-pagination-bullet-active.swiper-pagination-bullet {
	background:#000 !important;
	border: 1px solid #000;
}

/* Themenbereich shortcode START */
.cat-container {
    display: flex;
    flex-direction: row;
    gap: 15px;
	align-items: center;
}

/* Single term styling */
.tax-title-icon {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

/* Multiple terms styling */
.thema-icons {
    display: flex;
    align-items: center;
    gap: 10px;
}

.thema-titles {
    align-items: center;
    color: #00000099;
}

/* Common styles */
.thema-icon {
    display: flex;
    align-items: center;
}

.thema-icon svg {
    width: 30px;
		overflow: visible;
}

/* Link styling */
.tax-title-icon a,
.thema-titles a {
    font-weight: unset;
    color: #00000099;
    text-decoration: unset;
    line-height: 100%;
}

.thema-title {
    display: flex;
    align-items: center;
}
/* Themenbereich shortcode END */

.themenbereich-icons-row {
	display: flex;
	flex-direction: row;
	align-items: end;
	gap: 10px;
}

.themenbereich-icons-row .thema-icon {
	display: flex;
	align-items: center;
}

.themenbereich-icons-row .thema-icon svg {
	width: 35px;
	height: auto;
}
.themenbereich-icons-row .thema-icon svg * {
	stroke:#fff;
}

.home-fokus-slider h3 {
	font-weight:300 !important;
}

.home-fokus-slider.epc-testimonial-slider.elementor-element.elementor-arrows-position-outside .swiper {
	width: calc(100% - 100px) !important;
}

.home-fokus-slider .swiper-pagination.swiper-pagination-bullets {
	padding-bottom:15px;
}

.home-fokus-slider.epc-testimonial-slider .elementor-swiper-button {
	background: #fff;
}

@media (max-width:767px) {
	.home-fokus-slider.epc-testimonial-slider.elementor-element.elementor-arrows-position-outside .swiper,.epc-testimonial-slider.elementor-element.elementor-arrows-position-outside .swiper,
	.partner-carousel.elementor-element.elementor-arrows-position-outside .swiper  {
		width: 100% !important;
	}
	.testimonial-text {
		margin-left:unset;
	}
	.testimonial-container {
		flex-direction: column;
    	justify-content: center;
    	align-items: center;
	}
	.epc-testimonial-slider .elementor-swiper-button.elementor-swiper-button-next,
	.epc-testimonial-slider .elementor-swiper-button.elementor-swiper-button-prev {
		top:150px !important;
	}
	.home-fokus-slider.epc-testimonial-slider .elementor-swiper-button.elementor-swiper-button-next,
	.home-fokus-slider.epc-testimonial-slider .elementor-swiper-button.elementor-swiper-button-prev {
		top:95px !important;
	}
	.home-fokus-slider.epc-testimonial-slider .elementor-swiper-button {
		background: #ffffffe6;
	}
}

.home-fokus-slider .read-more-link-fokus {
	background-color: #00000000;
    font-family: var( --e-global-typography-ff23c8a-font-family ), Sans-serif;
    font-size: var( --e-global-typography-ff23c8a-font-size );
    font-weight: var( --e-global-typography-ff23c8a-font-weight );
    line-height: var( --e-global-typography-ff23c8a-line-height );
    color: var( --e-global-color-primary );
    border-style: solid;
    border-width: 0px 0px 01px 0px;
    border-radius: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
}

.fokus-image img,
.project-image img {
 	aspect-ratio: 4.5/3;
    width: 100%;
	object-fit:cover;
}
@media (max-width:767px) {
	.fokus-image img {
		height:248px !important;
	}
}

/* KREISE */

.bg-circle {
	border-radius:50%;
	border:2px solid #fff;
	position:absolute;
	z-index:10;
	pointer-events:none;
}

.home-circle {
    height: 550px;
    width: 550px;
    top: -370px;
    left: -400px;
}
@media (max-width:767px) {
	.home-circle {
		height: 400px;
		width: 400px;
		top: -170px;
		left: -120px;
	}
}

.ueber-uns-circle {
    height: 500px;
    width: 500px;
    top: 120px;
    left: 150px;
}
.themen-circle {
	height: 500px;
    width: 500px;
    bottom: -180px;
    left: 120px;
}
.team-circle {
    height: 1000px;
    width: 1000px;
    left: 200px;
    top: -200px;
}


@media (max-width:767px) {
	.ueber-uns-circle {
		height: 350px;
		width: 350px;
		top: 120px;
		left: 150px;
	}
}

/* STT */
#scrollToTop {
	border:none;
}
.scroll-top-btn {
  position: fixed;
  bottom: 20px;
  right: max(20px, calc((100vw - 1536px) / 2 + 20px));
  background-color: var( --hellgrau ) !important;
  width: 50px;
  height: 50px;
  border-radius: 50% !important;
  padding: 10px !important;
  border: none;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.3s ease;
  font-size: 20px;
  z-index: 1000;
}
.scroll-top-btn img {
	transform:rotate(90deg);
}

.scroll-top-btn.visible {
  opacity: 1;
}

.scroll-top-btn:hover {
  background-color: #333;
}

/* PROJECT NAV */
.team-project-nav .elementor-post-navigation__prev,
.team-project-nav .elementor-post-navigation__next {
	width:100%;
}
.team-project-nav .elementor-post-navigation__prev a:before,
.team-project-nav .elementor-post-navigation__next a:before {
	content: '';
	background-size: 33px 33px;
    background-repeat: no-repeat;
    position: absolute;   
	object-fit: contain;
    height: 45px;
    width: 45px;
    background-color: #ffffffCC;
    padding: 12px;
    border-radius: 50px;
}
@media (max-width:1200px){
	.team-project-nav .elementor-post-navigation__prev a:before,
	.team-project-nav .elementor-post-navigation__next a:before {
		background-size: 30px 30px;
		height: 40px;
		width: 40px;
	}
}

@media (max-width:767px){
	.team-project-nav .elementor-post-navigation__prev a:before,
	.team-project-nav .elementor-post-navigation__next a:before {
		background-size: 28px 28px;
		height: 35px;
		width: 35px;
	}
}
.team-project-nav .elementor-post-navigation__prev a:before {
    background-image: url('/wp-content/uploads/Chevron-right.svg');
    right: 0;
    top: 0;
	background-position: 70% 50%;
}

.team-project-nav .elementor-post-navigation__next a:before {
    background-image: url('/wp-content/uploads/Chevron-left.svg');
    right: 55px;
	top: 0;
	background-position: 50% 50%;
}
.team-project-nav .elementor-post-navigation__prev a span,
.team-project-nav .elementor-post-navigation__next a span{
	display:none;
}

/* Breadcrumbs */
.epc-breadcrumbs-wrapper {
	justify-content:flex-end;
}
@media(max-width:1200px) {
	.epc-breadcrumbs-wrapper {
		margin-left:0;
	}
	.team-project-nav .elementor-post-navigation__next a:before {
		right: 50px;
	}
}
@media(max-width:767px) {
	.team-project-nav .elementor-post-navigation__next a:before {
		right: 45px;
	}
}
.epc-breadcrumbs-content,
.epc-breadcrumbs-content span {
	font-size: 15px;
	font-weight:300 !important;
	color: #00000099 !important;
	line-height:140%;
}
.epc-breadcrumbs-content span.epc-breadcrumbs-circle {
	font-size:13px !important;
	margin-top: -2px;
}

.epc-breadcrumbs-content span.epc-breadcrumbs-circle .circle-element {
	width:6px;
	height:6px;
	background-color: #00000099;
	border-radius:100px;
}
@media screen and (max-width: 767px) {
	.epc-breadcrumbs-content,
	.epc-breadcrumbs-content span {
		font-size: 13px !important;
	}
	.epc-breadcrumbs-content span.epc-breadcrumbs-circle {
		font-size:13px !important;
	}
	.epc-breadcrumbs-content span.epc-breadcrumbs-circle .circle-element {
	width:4px;
	height:4px;
}
}
.epc-breadcrumbs-item * {
	display:flex;
	align-items: center;
	justify-content: center;
}
.epc-breadcrumbs-item {
	text-transform:uppercase !important;
}
.single-team .epc-breadcrumbs-current,
.single-projekt .epc-breadcrumbs-current,
.tax-themenbereich .epc-breadcrumbs-current,
.epc-breadcrumbs-section {
	text-transform:none !important;
}

.epc-breadcrumbs-content .epc-breadcrumbs-separator {
	margin: 0 4px;
}

/* Headings with BG */
.heading-w-bg h2 {
	line-height:130% !important;
}
@media (max-width:767px) {
	.heading-w-bg h2 {
		line-height:124% !important;
	}
	.epc-breadcrumbs-content .epc-breadcrumbs-separator {
		margin: 0 2px;
	}

}

/* top align heading */
@media(min-width:1025px){
	.top-align-heading {
		margin-top:-12px;
	}	
}

/* Sprachumschalter */
.wpml-ls-item a span {
	text-transform: lowercase;
}
@media (min-width:1025px) {
	.wpml-ls-item:hover {
		background:#fff !important;
	}
	body .main-menu .elementor-widget-container nav ul li.wpml-ls-item.menu-item-type-wpml_ls_menu_item a {
		padding:0px !important;
	}
	.main-menu {
		padding-right:15px !important;
	}
	.main-menu nav ul li.wpml-ls-item a span {
		padding:0 3px !important;
	}
	.wpml-ls-item-de a span {
		border-right:2px solid black !important;
	}
	li.menu-item:not(.wpml-ls-item) {
		margin-right:40px;
	}
}

/* Projekt Filter */
.projekt-filter-container {
	display: flex;
	gap: 1rem;
	margin-bottom: 2rem;
}

.projekt-kategorie-filter {
	padding: 0.5rem;
	min-width: 250px;
	max-width: 250px;
	border:none !important;
	border-radius:0px !important;
}

/* Custom multiselect styles */
.custom-multiselect {
	position: relative;
	min-width: 250px;
}

.multiselect-toggle {
	width: 100%;
	padding: 0.5rem;
	border-radius: 4px;
	background-color: #fff;
	text-align: left;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding:0 16px !important;
	border:none !important;
}

.multiselect-arrow {
	display:flex;
}
.multiselect-arrow img {
	width:18px;
}

.multiselect-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #EBEBEB;
	margin-top: 4px;
	max-height: 300px;
	overflow-y: auto;
	z-index: 1000;
	display: none;
	padding: 0;
	list-style: none;
}

.custom-multiselect.open .multiselect-dropdown {
	display: block;
}

.multiselect-dropdown li {
	padding: 0.5rem 16px;
	cursor: pointer;
}

.multiselect-dropdown li:hover {
	background-color: #f25c27;
	color:#fff !important;
}

.multiselect-dropdown li[aria-selected="true"] {
	background-color: #f25c27;
	color:#fff !important;
}

.multiselect-selected {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.projekt-kategorie-filter,
.multiselect-selected {
	font-size:19px;
	font-weight:500 !important;
	text-decoration:underline !important;
}
.projekt-kategorie-filter option {
	text-transform:none!important;
}

.projekt-kategorie-filter,
.multiselect-toggle,
.multiselect-toggle:hover,
.multiselect-toggle:focus {
	background:#EBEBEB !important;
	min-height:45px;
	color:#000 !important ;
}

.multiselect-toggle img {
	margin-left:15px;
}
.multiselect-dropdown li {
	display:flex;
	flex-direction:row;
	justify-content:space-between;
}
.multiselect-dropdown li .close-icon {
	width:15px;
}
.multiselect-dropdown li[aria-selected="false"]  .close-icon {
	display:none;
}

@media (max-width:767px) {
	.projekt-filter-container {
		flex-direction:column;
		gap:15px;
	}
	.projekt-navigation a {
		width:35px !important;
		height:35px !important;
	}
	.projekt-navigation a img {
		width:30px !important;
		height:30px !important;
	}
}

.projekt-info-link {
	text-decoration:none !important;
	border-bottom:1px solid #000;
}

.elementor-widget-container .elementor-shortcode h3.custom-project-title {
	font-size:19px !important;
}

.scroll-anchor {
	scroll-margin-top:170px;
}
.scroll-anchor.top-anchor {
	scroll-margin-top:242px;
}
@media(max-width:767px){
	.scroll-anchor,
	.scroll-anchor.top-anchor {
		scroll-margin-top:130px;
	}
}