/* playfair-display-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: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/playfair-display-v37-latin-regular.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-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: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/playfair-display-v37-latin-600.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-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: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/playfair-display-v37-latin-700.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-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: 'Playfair Display';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/playfair-display-v37-latin-800.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-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: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/playfair-display-v37-latin-900.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* geologica-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: 'Geologica';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/geologica-v1-latin-300.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* geologica-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: 'Geologica';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/geologica-v1-latin-regular.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* geologica-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: 'Geologica';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/geologica-v1-latin-700.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-family: 'FontAwesome';
  src: url("../fonts/font-awesome-4.7.0/fontawesome-webfont.eot?v=4.7.0");
  src: url("../fonts/font-awesome-4.7.0/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../fonts/font-awesome-4.7.0/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../fonts/font-awesome-4.7.0/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../fonts/font-awesome-4.7.0/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../fonts/font-awesome-4.7.0/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }
  
.fa {
  display: inline-block;
  font: normal normal normal 16px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.plus:after {
  content: "\f196";
  display: inline-block;
  font: normal normal normal 16px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-left:10px;
}
.plus.open:after {
  content: "\f147";
  display: inline-block;
  font: normal normal normal 16px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-left:10px;
}
.plus { cursor:pointer;}
.collapsed {display:none}
.collapsed.show {display:block}
  
  
html,
body {
  font-family: 'Geologica';
  color: #004f9e;
  font-size: 1.1rem;
}
h1,
h2,
h3 {
  color: #004f9e;
  font-weight: 400;
  font-family: 'Playfair Display';
}
h2, .h2 {
    font-size: 2.75rem;
  }
.awesome.h2 {
        font-size: 5rem;
		color:rgba(255,255,255, 0.8) !important;
    }  
.frame-space-after-extra-large {
    --frame-outer-spacing-after: 5rem;
}
.frame-space-before-extra-large {
    --frame-outer-spacing-before: 5rem;
} 
.main-section {padding-top:5rem} 

/* Navigation */
.navbar-mainnavigation .nav-link.nav-link-main:before {
        border: none;
        transform: unset;
        inset: auto;
        background: none;
        height: 0;
        width: auto;
    }
.navbar-nav .nav-link.active > span {
    font-weight:700;
}

/*Header*/
/* ---------------------------------------
   1) Logo mittig zentrieren
--------------------------------------- */
#page-header {
  padding-top: 1rem;
  padding-bottom: 1rem;
  position: fixed;
  z-index: 1000;
  width: 100%;
}
.container-mainnavigation {
  position: relative;
  /* Anker für absolute Position des Logos */
}
.navbar-brand.navbar-brand-image {
  position: absolute;
  left: 50%;
  /* horizontal in die Mitte … */
  transform: translateX(-50%);
  /* … und exakt ausrichten   */
  z-index: 10;
  /* liegt über der Halbkreis-Grafik        */
}
.nav-item a.acive {
  font-weight: 700;
}
.nav-item a.acive:before {
  all: initial;
}
.nav-link-text {
  color: #004f9e;
  text-transform: uppercase;
}
/* ---------------------------------------
   2) Logo um 50 % vergrößern
--------------------------------------- */
.navbar-brand-logo-normal,
.navbar-brand-logo-inverted {
  transform: scale(3);
  /* 50 % größer (1 → 100 %, 1.5 → 150 %)   */
  transform-origin: center top;
  /* vergrößert von oben-mittig             */
  margin-top: 1rem;
}
/* ---------------------------------------
   3) Weißer Halbkreis unter dem Logo
--------------------------------------- */
header#page-header {
  overflow: visible;
  /* Halbkreis darf nach unten hinausragen  */
}
.navbar-brand.navbar-brand-image::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -200%;
  /* 100 % der Header-Höhe nach unten       */
  transform: translateX(-50%);
  /* Größe = 200 % der Header-Höhe  */
  width: 200%;
  height: 400%;
  background: #fff;
  /* weißer Hintergrund                     */
  /* nur die untere Hälfte eines Kreises anzeigen → Halbkreis nach unten */
  border-radius: 50%;
  z-index: -1;
  /* hinter dem Logo, aber vor dem Inhalt   */
}
/*Carousel*/
.carousel-item {
  height: 900px;
  /* gewünschte Höhe */
  object-fit: cover;
  /* optional, um das Bild passend zu beschneiden */
  width: 100%;
}
/*Headlines*/
.textpic .frame-header {
  position: relative;
  margin: 4rem 0;
  padding-left: 0;
}
.textpic .element-subheader {
  position: absolute;
  top: 50%;
  left: -5rem;
  transform: translateY(-50%);
  font-size: 10rem;
  font-family: 'Geologica';
  font-weight:700;
  color: #ccdcec;
  z-index: 0;
  pointer-events: none;
  margin: 0;
}
.textpic .element-header {
  position: relative;
  z-index: 1;
  font-size: 2rem;
  margin: 0; 
  font-family: 'Geologica';
}
.textpic .text-wrapper {
  display: flex;
  align-items: center;
}
.textpic .linie {
  display: inline-block;
  width: 6rem;
  height: 2px;
  background-color: #004f9e;
  margin-right: 1rem;
}
.textpic a {
  color: #004f9e !important;
}
/*2-Spalter*/
.textpic-right .textpic-item.textpic-text{
    width: calc(55% - (40px / 2));
	padding-right:5%;
    }
.textpic-right .textpic-item.textpic-gallery{
    width: calc(45% - (40px / 2));
    }
.textpic-left .textpic-item.textpic-text{
    width: calc(55% - (40px / 2));
	padding-left:8%;
    }
.textpic-left .textpic-item.textpic-gallery{
    width: calc(45% - (40px / 2));
    }

/*Formular*/
.form-container {margin-top:3rem;}
.frame-type-form_formframework {
  background-color: #ccdcec;
  background: #ccdcec;
}
.frame-type-form_formframework h2{
  display: none;
}
.form-element.row {justify-content: space-between; margin:0.5rem 0; }
.form-element.row > .col-6 {
  background:#f4f7fb; 
  width:49%; 
  padding:1rem;
  }
  
.form-label {width:30%; text-transform:uppercase;}
.form-element-textarea .form-label {width:20%; text-transform:uppercase;}
.form-control {
  width:68%; 
  background:#f4f7fb; 
  display:inline-block; 
  border:0;
  }
.form-element-textarea .form-control {width:78%;}
.form-actions .btn-primary {
   background:#004f9f; 
   font-weight: 400;
   border:0;
   font-family: 'Playfair Display';
   float:right;
   padding:1rem 3rem;
   --bs-btn-border-radius:0;   
  }
textarea.form-control {
   min-height: 8rem;
}  
.mb-3 {
  border:0;
  background:#f4f7fb; 
  margin:0 !important;
	}
.form-element-textarea.mb-3 { padding:1rem;}
#c227 h3 {font-size:3rem;}
#c227 {padding-top:5rem;}
	
/*Footer*/
.footer-section-content-column-left, 
.footer-section-content-column-middle, 
.footer-section-content-column-right {
     --section-gaps: 0; 
     --section-colspan: 0; 
 }
.footer-section-content-column-middle {width:100%;} 	
#page-footer {
  background-color: #ccdcec;
  background: #ccdcec;
  color: #004f9e;
}
#page-footer .footer-section-content {
  background: #ccdcec;
  --frame-color: #ffffff;
  --frame-background: #313131;
  --frame-link-color: #8a9f90;
  --frame-link-hover-color: #8a9f90;
  color: #004f9e;
  padding-top:2rem;
  width:100%;
}
#page-footer .footer-section-content .textpic .frame-header {
  position: relative;
  margin: 2rem 0 0.5rem 0;
  padding-left: 0;
  color: #004f9e;
}
#page-footer .footer-section-content .frame { color: #004f9e;}
#page-footer .footer-section-content p{ margin-bottom:0;}
#page-footer .footer-section-content .gallery-item {
    width: 18%;
	margin:0 auto;
}
#page-footer .footer-section-content .textpic .element-header {
    font-size: 1.25rem;
	font-weight:700;
    margin: 0;
}
#page-footer .footer-section-content .textpic {
     gap: 0; 
}
#page-footer .frame-type-menu_pages ul {padding-left:0; text-align:center;}
#page-footer .frame-type-menu_pages ul,
#page-footer .frame-type-menu_pages li {list-style: none;}
#page-footer .frame-type-menu_pages li {display:inline;}
#page-footer .frame-type-menu_pages li:after {content: " · "}
#page-footer .frame-type-menu_pages li:last-child:after {content: ""}
#page-footer .frame-type-menu_pages li a,
#page-footer a{color: #004f9e; text-decoration:none;}
#page-footer .frame-type-menu_pages li a:hover{color: #004f9e; text-decoration:underline;}

@media screen and (max-width: 1280px) {
.awesome.h2 {font-size: 4rem;} 
}
@media screen and (max-width: 1024px) {
.awesome.h2 {font-size: 3rem;} 
}
@media screen and (max-width: 880px) {
/*2-Spalter*/
.textpic-right .textpic-item.textpic-text{
    width: 100%;
	padding-right:0;
    }
.textpic-right .textpic-item.textpic-gallery{
    width: 100%;
    }
.textpic-left .textpic-item.textpic-text{
    width: 100%;
	padding-left:0;
    }
.textpic-left .textpic-item.textpic-gallery{
    width: 100%;
	/*order:2; */
    }
.textpic .element-subheader {
  left: 0;
  font-size: 7rem; 
} 

.awesome.h2 {font-size: 3rem;} 
.form-element.row > .col-6 {
  width:100%; 
  }
.form-element.row > .col-6:first-child {
  margin-bottom:0.5rem;
  }
 .navbar-brand.navbar-brand-image::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -100%;
  /* 100 % der Header-Höhe nach unten       */
  transform: translateX(-50%);
  /* Größe = 200 % der Header-Höhe  */
  width: 200%;
  height: 400%;
  background: #fff;
  /* weißer Hintergrund                     */
  /* nur die untere Hälfte eines Kreises anzeigen → Halbkreis nach unten */
  border-radius: 50%;
  z-index: -1;
  /* hinter dem Logo, aber vor dem Inhalt   */
} 
}

@media screen and (max-width: 660px) {
#page-header {position: static;}
#page-footer .footer-section-content .gallery-item {width: 28%;}
.form-element-textarea .form-label {width:100%; text-transform:uppercase;}
.form-element-textarea .form-control {width:100%;}
h2, .h2 {font-size: 2.25rem;}
}

@media screen and (max-width: 480px) {
.awesome.h2 {font-size: 2rem;} 
h2, .h2 {font-size: 1.75rem;}
.textpic .element-header {font-size: 1.5rem;}
.textpic .element-subheader {
  font-size: 5rem; 
} 
#page-footer .footer-section-content .gallery-item {width: 38%;}
.form-label {width:100%;}
.form-control {width:100%; }

}
