/* ubuntu-regular - latin */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  src: url('../../assets/fonts/ubuntu/ubuntu-v15-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../../assets/fonts/ubuntu/ubuntu-v15-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../../assets/fonts/ubuntu/ubuntu-v15-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../assets/fonts/ubuntu/ubuntu-v15-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../../assets/fonts/ubuntu/ubuntu-v15-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../../assets/fonts/ubuntu/ubuntu-v15-latin-regular.svg#Ubuntu') format('svg'); /* Legacy iOS */
}

/* ubuntu-500 - latin */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 500;
  src: url('../../assets/fonts/ubuntu/ubuntu-v15-latin-500.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../../assets/fonts/ubuntu/ubuntu-v15-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../../assets/fonts/ubuntu/ubuntu-v15-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../assets/fonts/ubuntu/ubuntu-v15-latin-500.woff') format('woff'), /* Modern Browsers */
       url('../../assets/fonts/ubuntu/ubuntu-v15-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../../assets/fonts/ubuntu/ubuntu-v15-latin-500.svg#Ubuntu') format('svg'); /* Legacy iOS */
}

/* Cards */
.card { 
  border-radius: 0;
}
.card-col {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  box-sizing: border-box;
}
/* SM: 2 */
@media (min-width: 576px) {
  .card-col {
    width: 50%;
  }
}
/* MD: 3  */
@media (min-width: 768px) {
  .card-col {
    width: 33.3333%;
  }
}
/* LG: 4 */
@media (min-width: 992px) {
  .card-col {
    width: 25%;
  }
}
.card-equal {
  display: flex;
  flex-direction: column;
  height: 360px; 
}
.card-image {
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
  display: block;
  padding: 5px;
}
.card-equal .card-body {
  flex: 1 1 auto;
  display: inline;
}


body.page { font-family:'Ubuntu'; font-weight:400; color:#545454; font-size:1.1rem; line-height:1.7; }
body.page a { color:#545454; }
body.page a:hover { color:#000; }
body.page h1.site-title { display:none; } 
/*main > .container { padding-top:20px; }*/
body.page main header h1 { position:absolute; text-align:center; }
body.page main header h1.mt-5 { margin-top:1rem !important; }

body.page h1 { margin-top:20px; }
body.page h2 { color:#BF035C; font-size:1.7rem; margin-top:1.2em; }
body.page div.block-imagetext h2 { margin-top:0; }
body.page h3 { font-size:1.4rem; }

.btn, form button[type="submit"] { background-color:#BF035C; border-color:#BF035C; border:1px; border-radius: 5px; padding:10px 25px; color:#FFF !important; font-weight:bold; }
.btn:hover, form button[type="submit"]:hover { background-color:#a19c92; border-color:#000; color:#000 !important; }
.text-black { color:#000 !important; }
.card { text-align:center; margin:0.8em 0; } 
i.icon { display:block; height:16px; width:16px; float:left; }
.justify-content-center { text-align:center; }
hr { color:#BF035C; border-width:3px; opacity:1; margin:2.2em 0; }

/* Gallery */
figure[data-ratio="auto"] ul {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
figure[data-ratio="auto"] li {
  --cell-ratio: 3/2;
  --cell-padding: 12px;
  aspect-ratio: var(--cell-ratio);
  display: grid;
  place-items: center;
  padding: var(--cell-padding);
  background: transparent;
  border: 0;
}
figure[data-ratio="auto"] img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
@media (max-width: 1200px) {
  figure[data-ratio="auto"] ul { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 900px) {
  figure[data-ratio="auto"] ul { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
  figure[data-ratio="auto"] ul { grid-template-columns: repeat(2, 1fr); }
}

/* Form */
/* Container: Breite & zentrieren */
form {
  margin: 0 auto;
}

/* Jede Grid-Reihe (die mit inline grid-template-columns) */
form > div[style*="grid-template-columns"] {
  display: grid; /* falls mal überschrieben */
  grid-template-columns: repeat(12, 1fr) !important;
  gap: 1rem;
  margin-bottom: 1rem;
}

/* MOBILE: Spalten untereinander stapeln */
@media (max-width: 767.98px) {
  form > div[style*="grid-template-columns"] > div[style*="grid-column-start"] {
    grid-column: 1 / -1 !important;
  }

  .block-contact {
    flex-direction: column-reverse;
  }

  .block-contact .col-9,
  .block-contact .col-3 {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .block-contact .col-3 {
    margin-bottom: 1.5rem;
  }
}

/* Feld-Wrapper (das innere <div> um Label/Input) */
form > div[style*="grid-template-columns"] > div[style*="grid-column-start"] > div {
  display: grid;
  gap: .5rem;
  margin-bottom: .75rem;
}

/* Label & Pflichtstern */
form label {
  display: inline-flex;
  gap: .25rem;
  align-items: baseline;
  font-weight: 600;
}
form label em {
  color: #c00;
  font-style: normal;
}

/* Inputs/Textareas */
form input[type="text"],
form input[type="email"],
form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: .75rem .9rem;
  border: 1px solid #d0d5dd;
  border-radius: .5rem;
  background: #fff;
  font: inherit;
  line-height: 1.4;
}
form textarea {
  min-height: 8rem;
  resize: vertical;
}

/* Focus-States */
form input:focus,
form textarea:focus,
form button:focus {
  outline: none;
  border-color: #6aa6ff;
  box-shadow: 0 0 0 .2rem rgba(106,166,255,.25);
}

form span[data-error]:not(:empty) {
  display: block;
  color: #c00;
  font-size: .9rem;
  margin-top: .25rem;
}

form .is-invalid input,
form .is-invalid t

/* General */
body.page div.hero { position:relative }
@media (max-width: 767.98px) {
  .hero .hero-overlay {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: auto !important;
  }

  .hero .hero-box {
    margin-top: 12px;
    background:linear-gradient(90deg, #cfc9bd 0%, #ddd8cd 100%);
  }
}

body.page h1 { font-size:2rem; width:100%; }
@media (max-width:576px) {
  body.page .nav { background-color:#ddd8d2; padding:5px 15px; }
  div.carousel .carousel-item { font-size:0.8em; }

  body.page h2 { font-size:1.5rem; }
  body.page h3 { font-size:1.2rem; }

  ul.nav li { border-bottom:1px solid silver; }
	ul.nav ul.dropdown-menu li { border-bottom:0; }
	ul.nav a.highlighted { background-color:transparent !important; color:#BF035C !important; }
	.dropdown-menu { border:0; border-radius:0; background-color:transparent; }

	.wp-block-media-text .wp-block-media-text__content { padding:0 !important; }
}
@media (min-width:576px) and (max-width: 991px) { 
  body.page .nav { background-color:#ddd8d2; padding:5px 15px; }
	body.page header div.hero { background-size:contain; height:151px; }

  ul.nav li { border-bottom:1px solid silver; }
	ul.nav ul.dropdown-menu li { border-bottom:0; }
	ul.nav a.highlighted { background-color:transparent !important; color:#BF035C !important; }
	.dropdown-menu { border:0; border-radius:0; background-color:transparent; }  
}
@media (min-width: 991.98px) { 
	body.page header div.hero { background-size:contain; height:237px; }
}
.navbar, .footer { background-color:#FFF !important; }
.navbar-nav > li > .dropdown-menu a.active, .navbar-nav > li.active > a { background-color:#FFF !important; color:#BF035C !important; font-weight:bold; }

.languages ul li { list-style:none; float:left; padding-left:10px; } 
.languages ul li a { text-decoration:none; }
.languages ul li.active a { font-weight:bold; color:#BF035C; }  

.footer { background-color:#BF035C !important; color:#FFF; }
.footer .container div { margin-top:15px; }
.footer ul { list-style:none; padding-left:0 }
.footer a { color:#FFF !important; text-decoration:none; }
#tree { background: url(../../assets/images/baum.png); background-repeat:no-repeat; background-position:center top; width:100%; height:78px; display:block; }
/*.footer #tree { background: url(../../assets/images/baum.png); background-repeat:no-repeat; background-position:center top; width:100%; height:78px; display:block; }*/


div.carousel { background-color:#ddd8d2; }
div.carousel .carousel-inner { width:70%; margin:0 auto; }
img.icon_fact { width:20px !important; margin-bottom:2px; }

h4.timing + ul { list-style:none; padding-left:5px; }
h4.timing + ul li:nth-child(1)::before {
    content: url('../../assets/images/heroicons/src/outline/clock.svg');
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}

h4.timing + ul li:nth-child(2)::before {
    content: url('../../assets/images/heroicons/src/outline/user-group.svg');
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}

/* Contact */
.block-contact-wrapper {
    width: 100%;
    background: linear-gradient(90deg, #cfc9bd 0%, #ddd8cd 100%);
}

.block-contact {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 40px;
}
