/*
 Theme Name:     Gerstenmeier
 Theme URI:      https://kai.im/divi/
 Description:    gerstenmeier
 Author:         Elegant Themes
 Author URI:     https://kai.im/
 Template:       Divi
 Version:        1.0.1
*/
 
/* Your custom CSS starts here */

/*ADMINBLOCK*/
.adminblock {border: 2px dotted red;padding:1.5em;font-style: italic; font-family: 'Courier New', Courier, monospace;}

/* VARS */
:root {
    --bright: #ffffff;
    --blau: #1b77b4;
    --dark:#222222;
    --midsat: #383838;
    --sand:#fef9e7;
    --rot:#E32524;
    --hell: #ffffff;
  }
/* GLOBALS */
body {font-family: 'Be Vietnam Pro', sans-serif; color: var(--dark);font-size:102% !important; font-weight: 300 !important;}


/*** Take out the divider line between content and sidebar ***/
#main-content .container:before {background: none;}
  
/*** Hide Sidebar ***/
#sidebar {display:none;}
  
/*** Expand the content area to fullwidth ***/
@media (min-width: 981px){
#left-area {
    width: 100%;
    padding: 23px 0px 0px !important;
    float: none !important;
}
}

/*TYPO*/
.preline {font-weight: 400;color: var(--rot);}
h1 {line-height: 1.2em !important;}
h2 {color: var(--rot);font-weight: 600; text-transform: uppercase;}
h2.entry-title {font-size: 1.2em;}
h3 {color: var(--dark);font-weight: bold;}
h4 {color: var(--rot);font-weight: bold;}
a {color: var(--dark);}
/* CONTENT MITTIG*/
.nm-vertical-align { display: flex;flex-direction: column;justify-content: center;} 
/*HEADER*/
#NMHEADER {background-color: var(--dark); color:var(--hell); padding: 0 !important;}
.et_pb_row_0_tb_header {padding:0.8em 0 0.8em 0 !important;}
.nmh1 h1 {color: var(--rot); border-bottom: 3px solid black; padding-bottom: 4px; font-weight: 500;}
.nmh3 h3 {/*border-bottom: 2px solid var(--rot); padding-bottom: 4px; margin-bottom: 0.5em;*/}
.nmh3 h4 {color: black;line-height: 1.2em;}

/*NAVI*/

.homeicon {
  font-size: 17px;}
/*HOVER FX EFFECT START*/
:root {
  --BottomOffset: 20px;
  --LineHeight: 2px;
  --LineColor: #000;
}

.nm-menu ul.et-menu>li>a {
	position: relative;
	z-index: 1;
}
.nm-menu ul.et-menu>li>a:before {
    position: absolute;
    content: '';
    display: block;
    z-index: -1;
    background: var(--LineColor);
    width: 0;
    height: var(--LineHeight);
    bottom: var(--BottomOffset);
    left: calc(var(--LineHeight) / -2);
    transition: 0.3s cubic-bezier(.03,.3,.4,.96);
    transform: skew(-10deg);
}

.nm-menu ul.et-menu>li>a:hover:before {
    width: calc(100% + var(--LineHeight));
}
/*HOVER FX EFFECT END*/
#NMNAVBAR {background: var(--hell); padding: 0 !important;}
.et_pb_row--with-menu {padding:0.5em 0 0.5em 0 !important;}
.et_pb_menu__logo img {max-width: 250px !important;min-width:185px;}

.et_pb_menu .et-menu > li {padding-left: 8px !important;padding-right: 8px !important;}
.et-menu li { font-size: 13px !important; font-weight: 400 !important;}

.nm-menu ul.sub-menu {
  width: 300px; border-top: 0 !important;
}

/*Active Parent Link*/
/* ACTIVE LINK */
#menu-mainnav2 > li.current_page_parent > a {
    color: #c00;
}
 /* Explizit Untermenü-Links anders einfärben */
#menu-mainnav2 .sub-menu a {
    color: #000 !important; /* Standardfarbe statt Rot */
}
#NMMAINNAV ul ul li.current-menu-item > a {
    color: #c00 !important;
}

/*DROPDOWNS*/
.nav li li {
  padding: 0 10px;}
  .et-menu li li a {width:280px !important; padding: 6px 10px !important;}
.nav ul li a:hover {
  background-color: rgba(218, 114, 114, 0.34) !important;transition: 0.5s;}


/* NAVI SUBPAGES */
.menuheadline h4 {color: var(--rot); font-weight: bold; margin:0 !important;padding:0;}
.menuheadline {margin-bottom: 1em !important;}
.submenu .et_pb_menu_inner_container,

.submenu .et_pb_menu__wrap,

.submenu .et_pb_menu__menu,

.submenu.et_pb_menu .et_pb_menu__menu>nav,

.submenu.et_pb_menu .et_pb_menu__menu>nav>ul {

    display: block;

}
#UNTERMENUE li{padding-bottom: 4px !important;
padding-top: 4px !important;
margin-bottom: 0.6em;margin-left: 6px;;
background: var(--hell); border-radius: 1em;}
#UNTERMENUE a {color: var(--blau); font-weight: bold; padding-bottom: 6px !important;padding-top: 6px !important;}

#UNTERMENUE .current_page_item {background-color: var(--blau);}
#UNTERMENUE .current_page_item a {color: var(--hell);}


/* FULLWIDTHSLIDER TOP */
.fullwidthslider .et_pb_slider_container_inner {vertical-align: top;}
.fullwidthslider .et_pb_slide_description {}
.fullwidthslider h1 {/*text-shadow: 0 1px 3px rgba(0, 0, 0, 0.93) !important;*/}


/* SEKUNDÄRMENU SUBITEMS */
#menu-item-567 {left:10px;margin-right:10px;}
#menu-item-566 {left:10px;margin-right:10px;}


/* FOOTER */
#NMFOOTER {background: var(--bright); color: var(--dark); font-weight: 300;}
#NMFOOTER h5 {color: var(--dark)}

#NMSUBFOOTER {background: var(--bright);padding: 0 !important; margin-bottom: 0;}
.iconspacer{padding:5px;}
.logofooter img{max-width: 380px;}
.footnavi {padding-left: 0 !important;}
.footnavi li {list-style-type: none !important; text-transform: uppercase;}
.footnavi a {color: var(--dark);}
#menu-footermenu {text-align: center;}
#menu-footermenu a {text-decoration: none;}

/*HOME*/
.bigintro {color: var(--blau);font-size: 2em;font-weight: bold;}
.joinus {font-size: 1.8em;font-weight: 300;line-height: 1.2em; display: inline-block;}

/*HOME IMAGE CONTAINER FOR ZOOM OUT */
.homimagecontainer figure {width: 270px; height: 270px; overflow: hidden;}
.homimagecontainer img {-webkit-transform: scale(1.3); filter: saturate(0);

  transform: scale(1.3);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;}
  .homimagecontainer img:hover {   -webkit-transform: scale(1); transform: scale(1); filter: saturate(1)}

  /* HOME KACHELN */
  .kacheltext {color:white; text-align: center; padding: 1em; font-size: 0.8em; font-weight: 400;}
  .kacheltext h5 {text-transform: uppercase; color:white;}
  .bgdark {background-color: var(--dark);}
  .bggrey {background-color: var(--midsat);}


/* BLOG AKTUELLES LADEN*/
 .et-blog-css-grid > div {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
  }
  .et_pb_ajax_pagination_container article {background-color: var(--hell); border-radius: 1em; padding: 1em;}
  /*add an icon to the Divi blog read more button*/
.page-id-50 .et_pb_post .more-link:after {
	content: "\3d"; visibility: visible;
	font-family: ETModules;
	vertical-align: middle;
	font-size: 1.6em;
}

  /*BLURb INFOBOXEN*/

  .nmblurb .et_pb_blurb_description{
    text-align: center !important;}
    .nmblurb .et_pb_module_header {
      text-align: center !important;}
.nmblurb img {max-width: 180px;}

/*PREFOOTER LINKICONS BLURBS*/
.footblurb {text-align: center;}
.footblurb img {padding-bottom: 1em; max-width: 220px;}
.footblurb h3 {text-align: center;}
.footblurb p {text-align: center;}

/* CUSTOMIZED LIST */
.designlinste ul {list-style: none; padding-left: 0;}
.designlinste li {position: relative; padding-bottom: 0.5rem; padding-left: 1.25rem;}

.et_pb_text_inner ul {list-style-type: square !important; }
.et_pb_text_inner li::marker {color:var(--rot);} 

.designlinste ul li::before {/*
  content: "";
  background-image: url("/wp-content/uploads/2023/11/listsquare.jpg");
  width: 8px;
  position: absolute;
  height: auto;
  aspect-ratio: 50/50;
  left: 0;
  top: 9px;
  background-repeat: no-repeat;*/
 }
 


/* UNTERSEITEN */

.subpage {}
.subpagepreline {font-weight: 400;color: var(--rot);margin-bottom: 0 !important;}
.subpageintroimage {margin-bottom: 1em;}
.subpageintroimage img {border-radius: 0.5em;}
.subpage h1 {color: var(--blau) !important;font-weight: bold;}
.subpageh1 {margin-bottom: 1em !important;margin-left:-2px;}

.headlineinvert {background-color: var(--blau); text-align: center;}
.headlineinvert h2 {color: white; text-align: center; padding: 5px !important;}

/* GALLERY GRID */
@media (min-width: 981px) {
  .gallerygrid .et_pb_gutters2 .et_pb_column, .et_pb_gutters2.et_pb_row .et_pb_column {
    margin-right: 2%;
  }
}











/* ANIMATIONS */
.anivrechts {
	-webkit-animation: anivrechts 0.8s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: anivrechts 0.8s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

/**
 * ----------------------------------------
 * animation slide-in-right
 * ----------------------------------------
 */
 @-webkit-keyframes anivrechts {
  0% {
    -webkit-transform: translateX(1000px);
            transform: translateX(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes anivrechts {
  0% {
    -webkit-transform: translateX(1000px);
            transform: translateX(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}


/* CAPTIONS */
.wp-caption {background-color: var(--midsat); color: var(--bright); font-weight: bold;}


/*GALLERY OVERRIDES */
#spider_popup_wrap {background-color: var(--blau !important);}

/*RESPONSIVE TABLE*/

@media only screen and (max-width: 840px) {
  .ninja_footable {
  margin-bottom: 0;
  overflow: hidden;
  overflow-x: scroll;
  display: block;
  white-space: nowrap;
  }
  }

/* FORMULAR */
.et_pb_contact p input, .et_pb_contact p textarea {background-color: var(--hell) !important; border: 1px solid var(--blau) !important; border-radius: 0.8em;}
.et_pb_contact p input[type="checkbox"] + label i, .et_pb_contact p input[type="radio"] + label i {background-color: var(--hell) !important; border: 1px solid var(--blau) !important; border-radius: 0.1em;}

/* KALENDER WIDGET */
.tribe-events-widget-events-list__header-title {display: none;}

/* FAQ */
.et_pb_toggle_close {background-color: var(--hell) !important; border: 1px solid var(--blau);}
.faq h5 {color: var(--blau) !important;}
.et_pb_toggle_title::before {color: var(--blau) !important;}
.et_pb_toggle_close .et_pb_toggle_title, .et_pb_toggle_close h5.et_pb_toggle_title {color: var(--blau) !important;}

/* MINIKALENDER */
.ics-calendar-date {float:left; padding-right:5px;}
dl.events {margin-bottom: 0px !important; padding-bottom: 0px !important;border-bottom: 1px dotted var(--blau);}
.ics-calendar-date-wrapper h4 {padding-bottom: 0!important;} 
.ics-calendar dl.events dt.time {font-weight: normal;}
.ics-calendar .events .time .end_time {font-size:100%;}
dt.time::after {content: "Uhr";}
.page-id-50 .end_time {padding-right: 0 !important;}
.page-id-50 .time {padding-right: 10px;}

/*BEITRÄGE BLOG */
.blogbeitrag h1 {color: var(--blau); font-size: 30px; font-weight: bold;}


/* SEARCH RESULTS */
.post-meta {display: none;}

/* CTA FOOTER */
.cta {border: 1px solid black;
  padding: 0.7em; width:300px;}
.cta p {text-align: center;}
  .cta:hover {background-color: #cdcdcd;}

/*IMPRESSUM MOD */
.page-id-576 h2 {text-transform: none;}


/* REFERENZEN CAPTION */
.refkachel .wp-caption-text {padding: 0 2px 0px;}
.refkachel .wp-caption {padding: 0;}
.refkachel .wp-caption p.wp-caption-text {font-size: 16px !important;}

/* Hover-Effekt für Referenzkacheln */
.refkachel a {
    display: block;
    overflow: hidden;
}

.refkachel a img {
    transition: filter 0.6s ease, transform 0.6s ease;
    transform: scale(1);
    transform-origin: center center;
}

.refkachel a:hover img {
    filter: brightness(0.8) saturate(0.8);
    transform: scale(1.2);
}