/*
 Theme Name:   Brandwerk
 Theme URI:    https://www.brandwerk-digital.com
 Description:  Brandwerk Child Theme
 Author:       Dominik Summer
 Author URI:   https://www.brandwerk-digital.com
 Template:     generatepress
 Version:      0.1
*/

/* ***************** Fonts ****************** */
/* open-sans-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url(../../../../../../../themes/brandwerk/fonts/open-sans-v40-latin-300.woff2) format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url(../../../../../../../themes/brandwerk/fonts/open-sans-v40-latin-regular.woff2) format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  src: url(../../../../../../../themes/brandwerk/fonts/open-sans-v40-latin-500.woff2) format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url(../../../../../../../themes/brandwerk/fonts/open-sans-v40-latin-600.woff2) format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url(../../../../../../../themes/brandwerk/fonts/open-sans-v40-latin-700.woff2) format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: url(../../../../../../../themes/brandwerk/fonts/open-sans-v40-latin-800.woff2) format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ***************** Allgemeines ****************** */
html, body {
  overflow-x: hidden;
}
p, a, h1, h2, h3, h4, h5, h6{
/*   -moz-hyphens: auto;
  hyphens: auto; */
}

/* Remove click areas on mobile */
input, select, textarea, button, a {  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-tap-highlight-color: transparent; }


/* ***************** Header & Navigation ****************** */

#mobile-header{
  background-color: var(--base);
}
.main-navigation .inside-navigation {
    padding: 0 !important;
    width: 90%;
}
nav.main-navigation.is_stuck{
  background-color: #333c;
}

.sub-menu{
  box-shadow: none !important;
}
.main-navigation .navigation-branding img {
  height: auto;
  width: 100%;
  max-width: 100px;
  padding: 10px 0;
}
.main-navigation .navigation-branding .sticky-navigation-logo img {
    height: auto !important;
    max-width: 100px;
}
.main-navigation {
  position: absolute;
  width: 100%;
  top: 0;
}
/* mobile */
.site-logo.mobile-header-logo{
  margin-left: 20px !important;
}

/* Burger Menu Icon größe und Position oben */
.gp-icon.icon-menu-bars svg{
  height: 22px;
  width: 22px;
  top: 5px; /* Ausgleich wenn größe reduziert wird */
}

/* wenn kein Text neben Burger Icon */
.mobile-menu{
  display: none;
}

#mobile-menu > ul.menu{
  padding-top: 20px;
}
.main-navigation .main-nav ul ul.sub-menu li a {
    color: var(--color-white);
    background-color: var(--color-primary-400);
    font-size: 18px;
    text-align: center;
    padding: 14px;
}
.main-navigation .main-nav ul ul.sub-menu li:not(:last-child) a {
    border-bottom: 1px solid #111827;
}
.main-navigation .main-nav ul ul.sub-menu li a:hover {
    background-color: var(--color-primary-500);
    color:var(--color-secondary-900);
}
.leva-list {
    margin-left: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    list-style: none;
}
.leva-list li:before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: var(--color-primary-300);
    margin-top: 9px;
}
.leva-list li {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}
.view-more-logo-btn {
    cursor: pointer;
}

.active.view-more-logo-btn .gb-icon {
    transform: rotate(180deg);
}
@media screen and (max-width:768px) {
  /* Abstand Logo mobile links */
  .navigation-branding{
    margin-left: 20px !important;
  }
}


ul.sub-menu.toggled-on{
  border-bottom: 0px !important;
}

/* Sticky nav height */
.sticky-enabled .main-navigation.is_stuck .navigation-branding img {
  height: 40px;
}

/* ***************** Blog ****************** */

body.single-post #page, .blog #page, .archive #page{
  padding:40px 20px;
}
@media screen and (min-width:769px){
  body.single-post #page, .blog #page, .archive #page{
    padding:40px 40px;
  }
}

/* Sidebar */
.sidebar .wp-block-categories-list{
  list-style: none;
  margin-left: 0;

}

.cad-btn {
    position: fixed;
    right: 40px;
    bottom: 40px;
    z-index: 999;
}
.cad-btn:hover {column-gap: 12px}
.cad-btn .gb-button-text {transition: 0.2s;font-size: 0;}
.cad-btn:hover .gb-button-text {
    font-size: initial;
}


/* homepage */
.img-slider:not(.cta-slider) .wp-block-image img {
  height: 600px !important;
  object-fit: cover;
}
.cta-slider.img-slider .wp-block-image img {
    height: 480px !important;
    object-fit: cover;
}
.slick-dots {
  position: absolute;
  top: 100%;
  right: 0;
  display: flex;
  align-items: center;
  list-style: none;
  gap: 16px;
  padding-top: 20px;
}
.slick-dots button {
  font-size: 0;
  border: none;
  padding: 0;
  width: 12px;
  height: 12px;
  background-color: var(--color-primary-300);
}
.slick-dots li {
  display: flex;
}
.slick-dots .slick-active button {
  background-color: var(--color-secondary-900);
}
.timeline-vector {
    position: absolute;
    top: 7.5%;
    left: 3%;
    height: 78%;
    width: 54%;
    z-index: -1;
}
.areas-box:hover img {
    filter: invert(51%) saturate(1435%) hue-rotate(204deg) brightness(55%) contrast(127%);
}
.map-img {
  position: absolute;
  top: 0;
  right: 0;
  width: 60%;
}
.bereich-term label {
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.025em;
  color: var(--color-secondary-900);
  border: 1px solid var(--color-secondary-900);
  padding: 16px;
  display: inline-block;
  cursor: pointer;
}
.project-filters {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.bereich-term input {
  position: absolute;
  opacity: 0;
}
.bereich-term input:checked + label {
  background-color: var(--color-secondary-900);
  color: var(--color-primary-900);
}
.areas-box , .areas-box-large {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.areas-location {
  display: flex;
  align-items: center;
  gap: 8px;
  position: absolute !important;
  bottom: 20px;
  width: 100%;
  justify-content: center;
  left: 0;
}

.areas-location img {
  max-width: 24px;
  width: 200%;
  margin: 0;
}
.bereich-term label:hover {
  background-color: var(--color-primary-500);
  border-color: var(--color-primary-500);
  color: var(--color-white);
}
.project-back-btn {
    display: inline-flex;
    align-items: center;
    column-gap: 0.5em;
    margin-bottom: 16px;
    text-decoration: none;
}

.project-back-btn span {
    display: inline-flex;
}
.projekte-pagination .disabled {pointer-events: none;opacity: 0.5;}

.page-numbers {
    color: var(--color-primary-100);
    padding: 8px 12px;
    display: inline-flex;
    background-color: var(--color-primary-300);
}

.projekte-pagination {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    margin-top: 60px;
}

.page-numbers:has(svg) {padding: 8px;}

.page-numbers.current {
    background-color: var(--color-secondary-900);
    color: var(--color-primary-900);
}

.page-numbers:hover {
    background-color: var(--color-white);
    color: var(--color-primary-900);
}
.all-bereich:has(input:checked) {pointer-events: none;}
.single-project-imgs {
  display: flex;
  gap: 16px;
}
.single-project-imgs img {
  height: 250px;
  object-fit: cover;
  width: 100%;
  cursor: pointer;
}
.project-featured-img {
    cursor: pointer;
}
.single-project-imgs div {
  width: 100%;
  max-width: calc(33.33% - 8px);
}
.mfp-wrap {
  z-index: 999999 !important;
}
.mfp-bg {
  z-index: 99999 !important;
}
.single-project-navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 0;
}

.single-project-navigation a {
  display: flex;
  gap: 16px;
  align-items: center;
}

.sp-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background-color: var(--color-secondary-900);
  color: var(--color-primary-900);
}

.sp-icon svg {
  width: 40px;
  height: 40px;
}

.sp-name {
  display: flex;
  flex-direction: column;
  font-size: 24px;
  gap: 3px;
}

.sp-location {
  font-size: 14px;
}

.single-project-navigation a:last-child {
  text-align: right;
}

.single-project-navigation a:hover {
  color: var(--color-secondary-900);
}
.single-project-navigation a:hover .sp-icon {
  background-color: var(--color-primary-300);
  color: var(--color-white);
}

[data-fancybox="project-gallery"]:before {
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--color-secondary-900);
  position: absolute;
  opacity: 0;
  transition: 0.3s;
  z-index: 99;
}
[data-fancybox="project-gallery"]:after {
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  transition: 0.3s;
  z-index: 99;
  background-image: var(--wpr-bg-4711943c-28f9-4897-a994-3bbc4fe3a8e6);
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
}

[data-fancybox="project-gallery"] {
  position: relative;
  display: flex;
}

[data-fancybox="project-gallery"]:hover:after {
  opacity: 1;
}

[data-fancybox="project-gallery"]:hover:before {
  opacity: 0.7;
}
.wpforms-container {
    --wpforms-label-color: var(--color-white);
    --wpforms-label-error-color: var(--color-white);
    --wpforms-label-size-font-size: 14px;
    --wpforms-field-size-input-spacing: 8px;
    --wpforms-field-background-color: var(--color-primary-300);
    --wpforms-field-border-radius: 6px;
    --wpforms-field-text-color: var(--color-white);
    --wpforms-button-background-color: var(--color-secondary-900);
    --wpforms-button-text-color: var(--color-primary-900);
    --wpforms-button-size-padding-h: 40px;
	--wpforms-button-border-radius: 0;
}

.wpforms-container .wpforms-field {
    padding: 10px 0;
}
.gb-query-loop-pagination .gb-block-is-current {
    background-color: var(--color-secondary-900) !important;
    color: var(--color-primary-900) !important;
}
.gb-accordion__item-open .gb-accordion__toggle {
    padding-bottom: 16px;
}
.wpforms-container-full {
    margin: 0 !important;
}
div.wpforms-container-full input[type=checkbox]:checked:before {
    background-color: var(--color-secondary-900);
}

button.wpforms-submit:hover {
    background-color: var(--color-primary-400) !important;
    color: var(--color-white) !important;
}
.testimonials-slider .slick-slide {
    padding: 15px 40px 0;
}
.testimonials-slider .slick-dots {
    top: initial;
    bottom: 40px;
    width: 100%;
    justify-content: center;
}
.testimonials-slider .slick-arrow {
    position: absolute;
    top: 50%;
    right: 5vw;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    z-index: 1;
    cursor: pointer;
    background-color: var(--color-secondary-900);
    color: var(--color-black);
}
.testimonials-slider .prev-arrow.slick-arrow {
    right: initial;
    left: 5vw;
}
.testimonials-slider .slick-arrow:hover {
    background-color: var(--color-white);
}
.areas-box:before , .areas-box-large:before {
    will-change: background-color, opacity;
}
@media (min-width:768px) and (max-width:1023px) {
  .grid-4:has(.team-card) {
    grid-template-columns: repeat(3,minmax(0,1fr));
}
}
@media (max-width:1023px) {
  .timeline-vector {
    top: 4%;
    width: 52%;
    height: 83%;
}
.single-project-imgs {
  flex-wrap: wrap;
  gap: 12px;
}
.single-project-imgs img {
  height: auto;
  aspect-ratio: 1;
}
		.read-more-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 0 !important;
}

.read-more-btn {
    margin-bottom: 10px;
    gap: 0.5em;
}

.read-more-btn .gb-icon {display: flex;}

.read-more-btn .gb-icon svg {
    width: 10px;
}

.read-more-text.active {
    display: block;
}

.read-more-text.active + .read-more-btn svg {
    transform: rotate(180deg);
}
}

@media(max-width:767px){
.testimonials-slider .slick-dots {
    bottom: 10px;
}
.testimonials-slider .slick-arrow {
    top: initial;
    bottom: 0;
}
.testimonials-slider .slick-slide {
    padding: 15px 0;
}    
  .img-slider:not(.cta-slider) .wp-block-image img {
    height: 350px !important;
  }
  .cta-slider.img-slider .wp-block-image img {
    height: 300px !important;
}
.cad-btn {
  right: 20px;
  bottom: 20px;
}
.cta-slider {
  margin-bottom: 40px;
}
.timeline-vector {
  display: none;
}
.grid-2:has(.timeline-text-box):not(:last-child) .timeline-text-box:before {
  content: "";
  position: absolute;
  top: 0;
  left: 25px;
  width: 2px;
  height: calc(100% + 50px);
  border-left: 2px dashed #4B5563;
}

.grid-2:has(.timeline-text-box) {
  position: relative;
}
.bereich-term label {
  font-size: 18px;
  padding: 10px 16px;
}
.map-img {
  width: 100%;
}
	.single-project-navigation {
    flex-direction: column;
    gap: 20px;
}
.sp-name {font-size: 18px;}
.sp-icon {height: 36px;width: 36px;}
.sp-icon svg {
    width: 28px;
    height: 28px;
}
.sp-location {
    font-size: 12px;
}
.single-project-navigation a {
    width: 100%;
}
.single-project-navigation a:nth-child(2) {
    justify-content: flex-end;
}
.grid-overlap .slick-dots {
    padding: 0;
    right: 5%;
    top: calc(100% - 40px);
}
.grid-overlap .gb-container:has(.img-slider) {
    margin: 0 -5%;
}

}


/* ***************** 360 Grad Rundtour ****************** */
.mp-model .showcase div.logo-box{
  display: none !important;
}