/*
 Theme Name:     Divi Child Theme
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/
 
/* =Theme customization starts here
------------------------------------------------------- */
/* assistant-200 - 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: 'Assistant';
  font-style: normal;
  font-weight: 200;
  src: url('/wp-content/uploads/fonts/assistant-v19-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* assistant-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: 'Assistant';
  font-style: normal;
  font-weight: 300;
  src: url('/wp-content/uploads/fonts/assistant-v19-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* assistant-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: 'Assistant';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/uploads/fonts/assistant-v19-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* assistant-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: 'Assistant';
  font-style: normal;
  font-weight: 500;
  src: url('/wp-content/uploads/fonts/assistant-v19-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* assistant-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: 'Assistant';
  font-style: normal;
  font-weight: 600;
  src: url('/wp-content/uploads/fonts/assistant-v19-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* assistant-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: 'Assistant';
  font-style: normal;
  font-weight: 700;
  src: url('/wp-content/uploads/fonts/assistant-v19-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* assistant-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: 'Assistant';
  font-style: normal;
  font-weight: 800;
  src: url('/wp-content/uploads/fonts/assistant-v19-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-100 - 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: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 100;
  src: url('/wp-content/uploads/fonts/m-plus-rounded-1c-v16-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-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: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 300;
  src: url('/wp-content/uploads/fonts/m-plus-rounded-1c-v16-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-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: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/uploads/fonts/m-plus-rounded-1c-v16-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-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: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 500;
  src: url('/wp-content/uploads/fonts/m-plus-rounded-1c-v16-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-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: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 700;
  src: url('/wp-content/uploads/fonts/m-plus-rounded-1c-v16-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-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: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 800;
  src: url('/wp-content/uploads/fonts/m-plus-rounded-1c-v16-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-900 - 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: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 900;
  src: url('/wp-content/uploads/fonts/m-plus-rounded-1c-v16-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
h1, h2, h3, h4, h5, h6, .mplus-font{
	 font-family: 'M PLUS Rounded 1c'!important;
}

body, html{
	 font-family: 'Assistant'!important;
}
.dica-item .image img {
    height: 15vw;
    object-fit: cover;
    width: 100%;
}
a.image {
    width: 100%;
}

/*Avoid overflowing*/
#page-container {
	overflow: hidden !important;	
}

/*Menu stylesheet*/

.menu-item ul.sub-menu {
    border-top: 0 !important;
}

@media (min-width:981px)
{
.menu-section {
    position: fixed !important;
    width: 100% !important;
}
}

/* Custom Column */

.et_pb_row_3.custom-column {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.et_pb_row_3.custom-column .et_pb_column {
  width: 31.33% !important;
}

@media (max-width: 980px) {
  .et_pb_row_3.custom-column .et_pb_column {
    width: 100% !important;
  }
}

.menu-section{
	background: rgba(0, 0, 0, 0.5);
/* 	background: transparent; */
	transition:background-color 0.3s ease;
}
.menu-section.scrolled {
  background-color: #874136 !important; /* Change this to your desired color */
}

@media (max-width: 980px) {
  .menu-section {
    background-color: #874136 !important;
  }
}
.site-header .et_pb_slide_description {
    bottom: 0;
    position: absolute;
    padding-left: 0;
    padding-bottom: 100px;
}
.carousel-module .dica-container .swiper-button-next, .carousel-module .dica-container .swiper-button-prev{
border-radius: 100%;
font-size: 40px;
    width: 53px!important;
    height: 53px!important;
    padding-top: 7px;
    padding-left: 5px;
}
.carousel-module .swiper-buttton-container {
    margin-top: 40px;
    justify-content: flex-end !important;
}

/* Default styles */
.vertical-line {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 20px; 
}

.vertical-line::before {
  content: '';
  position: absolute;
  top: 0px;
  bottom: -30px; 
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  background-color: #823c32; 
  transition: background-color 0.3s ease; /* Add transition for smooth effect */
}

.circle {
  width: 40px; 
  height: 40px; 
  background-color: #823c32;
  border-radius: 50%;
  margin: 20px 0;
  transition: background-color 0.3s ease; /* Add transition for smooth effect */
}

/* Scrolled styles */
.vertical-line.scrolled::before {
  background-color: #ff0000; 
}

.vertical-line.scrolled .circle {
  background-color: #ff0000; 
}

/*Features slider card stylesheet*/
.feature-card h3 {
	color: #874136;
	line-height: 1.4em;
}

.feature-card svg {
	width: 8rem;
	height: 8rem;
	fill: #839A33;
}

/*Carousel card stylesheet*/
.card {
    width: 350px;
    border-radius: 5px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease-in-out;
}

.card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.card-content {
    padding: 16px;
}

.card-title h3 {
    font-size: 1.5rem;
	color: #874136;
	line-height: 1.3em;
}

.card-text {
    font-size: 18px;
    color: #1e434c;
	font-weight: 300;
    margin-bottom: 20px;
	line-height: 1.8em;
}

.card button {
    background: #DB2905;
    color: white;
    border: none;
    padding: 10px 16px;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s ease-in-out;
	font-size: 18px;
}

.card button:hover {
    background: #B32204;
}

/*Projekte Link*/
.projekte-link {
    background: #DB2905;
    color: white;
    border: none;
    padding: 10px 16px;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s ease-in-out;
	font-size: 18px;
}

.projekte-link:hover {
    background: #B32204;
}

/*Timeline stylesheet*/
.timeline-container {
  padding-left: 20px;
  max-width: 100%;
  position: relative;
}

.timeline-item {
  display: flex;
  align-items: center;
  margin-bottom: 50px;
  position: relative;
}

.timeline-dot {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #B2B3B3;
  flex-shrink: 0;
  position: absolute;
  left: 0;
  z-index: 1;
  transition: background-color 0.3s;
}

.timeline-item.scrolled .timeline-dot {
  background-color: #839A33;
}

.timeline-line {
  width: 4px;
  height: 140%;
  background-color: #B2B3B3;
  position: absolute;
  left: 13px;
  z-index: 0;
  transition: background-color 0.3s;
}

.timeline-item:first-child .timeline-line {
  clip-path: inset(4rem 0 0 0);
}

.timeline-item:last-child .timeline-line {
  clip-path: inset(0 0 10rem 0); 
}

.timeline-item.scrolled .timeline-line {
  background-color: #839A33;
}

.timeline-item.scrolled .timeline-dot::after {
  background-color: #839A33;
}

/* .timeline-item:last-child .timeline-line {
  display: none;
} */

.timeline-content {
  display: flex-column;
  flex-grow: 1; 
  margin-left: 50px;
  background: #839A33;
  padding: 1.5rem;
  padding-right: 4rem;
  border-radius: 5px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.timeline-content h3 {
  color: #ffffff;
  font-size: 1.5rem;
  margin-bottom: 1em;
  font-family: 'M PLUS Rounded 1c'!important;
}

.timeline-content p {
  color: #ffffff;
  font-size: 18px;
  line-height: 1.8em;
  font-family: 'Assistant'!important;
  font-weight: 300;
}


/*Contact form stylesheet*/
.contact-name-field,
.contact-email-field,
.contact-telephone-field,
.contact-textfield-field {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required.contact-name-field,
input.wpcf7-form-control.wpcf7-email.wpcf7-validates-as-required.wpcf7-text.wpcf7-validates-as-email.contact-email-field,
input.wpcf7-form-control.wpcf7-tel.wpcf7-validates-as-required.wpcf7-text.wpcf7-validates-as-tel.contact-telephone-field,
textarea.wpcf7-form-control.wpcf7-textarea.contact-textfield-field {
	margin-top: 10px;
	padding: 5px;
	border: 1.5px solid #874136;
}

.contact-form-container label {
	color: #1e434c;
}
span.wpcf7-list-item {
	margin-bottom: 15px;
	margin-left: 0px;
}

.contact-textfield-field {
    height: 150px;
    resize: vertical;
}

span.wpcf7-list-item-label a {
    color: #874136;
    text-decoration: none;
}

span.wpcf7-list-item-label a:hover {
    text-decoration: underline;
}

input[type="submit"] {
    background-color: #DB2905;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
}

input[type="submit"]:hover {
    background-color: #B71F04;
}

/*Mobile menu collapse state*/

/*adjust the new toggle element which is added via jQuery*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}


/*some code to keep everyting positioned properly*/

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}


/*remove default background color from menu items that have children*/

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}


/*hide the submenu by default*/

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}


/*show the submenu when toggled open*/

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}


/*adjust the toggle icon position and transparency*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
	text-align: center;
	opacity: 1;
}


/*submenu toggle icon when closed*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
	top: 10px;
	position: relative;
	font-family: "ETModules";
	content: '\33';
	color: #874136;
	background: #f0f3f6;
	border-radius: 50%;
	padding: 3px;
}


/*submenu toggle icon when open*/

ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {
	content: '\32';
}


/*add point on top of the menu submenu dropdown*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu:after {
	position: absolute;
	right: 5%;
	margin-left: -20px;
	top: -14px;
	width: 0;
	height: 0;
	content: '';
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 20px solid #ffffff;
}


/*adjust the position of the hamburger menu*/

.mobile_menu_bar {
	position: relative;
	display: block;
	bottom: 10px;
	line-height: 0;
}


/*force the background color and add a rounded border*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu,
.et_pb_menu_0.et_pb_menu .et_mobile_menu ul {
	background-color: #ffffff!important;
	border-radius: 10px;
}

/* Carousel-slider stylesheet */
.container-image-text {
  display: flex;
  justify-content: center;
  max-width: 1000px;
  width: 100%;
  height: auto;
  border-radius: 5px;
  overflow: hidden;
  background-color: #8741360D; 
}

.columns {
  flex: 1;
  display: flex;
}

.image-column {
  flex-basis: 60%;
}

.image-column img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.text-column {
  flex-basis: 40%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  text-align: left;
  background-color: #839A330D;
}

.text-content {
  max-width: 100%;
}

.text-content h2 {
  font-size: 26px;
  color: #874136;
  margin-bottom: 10px;
  font-weight: 600;
}

.text-content p {
  font-size: 18px;
  color: #1e434c;
  line-height: 1.6;
  margin-bottom: 20px;
  font-weight: 300;
}

.cta-button {
  padding: 10px 20px;
  font-size: 18px;
  color: #ffffff;
  background-color: #DB2905;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.cta-button:hover {
  background-color: #b41f03;
}

/* Responsive Design for 768px and Below */
@media (max-width: 768px) {
  .container-image-text {
	display: flex;
    flex-direction: column; /* Stack items vertically */
    width: 100%; /* Slightly wider on smaller screens */
  }

  .columns {
	display: flex;
    flex-direction: column; /* Make both columns stack */
  }

  .image-column {
    flex-basis: auto;
    width: 100%; /* Full width */
  }

  .image-column img {
    height: auto; /* Maintain aspect ratio */
  }

  .text-column {
	display: flex;
    flex-basis: auto;
    width: 100%; /* Full width */
    padding: 20px;
    text-align: center; /* Center text for better mobile readability */
  }

  .cta-button {
    width: 100%; /* Full-width button */
    max-width: 250px; /* Limit max width */
  }
}

/*hero section stylesheet*/
.hero-sub-text {
  margin-bottom: 1.5rem;
  font-size: 2rem;
}

.hero-main-text {
  margin-bottom: 1.5rem;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 2.5rem; 
}

@media (max-width: 500px) {
  .hero-sub-text {
    font-size: 1.5rem;
  }

  .hero-main-text {
    font-size: 2rem;
  }
}

/*masonry gallery section*/
.wpz-gallery-masonry .et_pb_gallery .et_pb_gallery_items {
    column-count: 4; /* number of columns for desktop */
    column-gap: 15px;  /* column spacing */
}

@media only screen and (max-width: 1200px) { 
.wpz-gallery-masonry .et_pb_gallery .et_pb_gallery_items { 
    column-count: 2;  /* number of columns for tablet devices */
} 
} 
@media only screen and (max-width: 767px) {
  .wpz-gallery-masonry .et_pb_gallery .et_pb_gallery_items {
    column-count: 2;  /* number of columns for mobile devices */
  }
}

/*masonry gallery section (THREE)*/
.wpz-gallery-masonry .et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item {
    width: 100%;
    margin: 0px 0px 15px 0!important; /* replace 10px to change row spacing */
    float: none!important;
}

.wpz-gallery-masonry-three .et_pb_gallery .et_pb_gallery_items {
    column-count: 3; /* number of columns for desktop */
    column-gap: 15px;  /* column spacing */
}

@media only screen and (max-width: 1200px) { 
.wpz-gallery-masonry-three .et_pb_gallery .et_pb_gallery_items { 
    column-count: 2;  /* number of columns for tablet devices */
} 
} 
@media only screen and (max-width: 767px) {
  .wpz-gallery-masonry-three .et_pb_gallery .et_pb_gallery_items {
    column-count: 2;  /* number of columns for mobile devices */
  }
}


.wpz-gallery-masonry-three .et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item {
    width: 100%;
    margin: 0px 0px 15px 0!important; /* replace 10px to change row spacing */
    float: none!important;
}

/*feature card stylesheet*/
.normal-feature-card h3 {
	color: #874136;
	line-height: 1.4em;
}

.normal-feature-card p {
	color: #1e434c;
	line-height: 1.8em;
}

/*footer links stylesheet*/
.footer-contact-links {
	display: flex;
	gap: 12px;
}