body { font-family:'Inter', 'Arial Narrow', Arial, sans-serif !important; font-size:18px; font-weight:400; color:#333D47; line-height: 1.6; }
h1, h2, h3 { color:#006140; }
h2 { font-size:30px; margin:0 0 20px 0; }
h3 { font-size:20px; margin:0 0 20px 0; }
b, strong { font-weight:700; }
ul { margin:0 0 30px 0; }
li { margin:0 0 15px 0; }

.navbar-brand { position:relative; }
.navbar-brand img { height:150px; z-index:1000; }
.navbar .navbar-nav li { padding-top:25px; padding-bottom:25px; }
.navbar .navbar-nav .nav-link { font-weight:400; font-size:18px; color:#006140; }
@media screen and (max-width: 600px) { 
  .navbar-brand img { height:80px; z-index:1000; }
}

#menu-main ul.dropdown-menu { padding:15px 0; top:unset; background:#fff; left:-25px; border-radius:5px 25px 5px 25px; border:0; border-top:5px solid #A0D8B3; }
#menu-main .dropdown-menu li { padding:0; margin:0; }
#menu-main .dropdown-menu li a.dropdown-item { padding:15px 25px; margin:0; font-size:16px; color:#666; }
#menu-main .dropdown-menu li a.dropdown-item:hover { background:transparent; color:#D39E0A !important; }
#menu-main .dropdown-menu li a.dropdown-item.active { background:transparent; color:#006140 !important; }

h1.entry-title { font-family:'Libre Baskerville', serif; font-size:40px !important; font-weight:600; font-style:italic; line-height:1.1; letter-spacing:-1.5px; color:#006140; margin:0 !important; }
h2.widget-headline { font-family:'Libre Baskerville', serif; font-size:40px !important; font-weight:600; font-style:italic; line-height:1.1; letter-spacing:-1.5px; color:#006140; margin:0 0 40px 0; }
.widget-untertitel { font-family:'Libre Baskerville', serif; display:block; color:#D39E0A; font-size:17px; font-weight:400; margin:0 0 15px 0; letter-spacing:-0.3px; text-transform:uppercase; }

.hbw { overflow:hidden; color:#006140; font-size:18px; }
.hbw h1 { font-family:'Libre Baskerville', serif; font-style: italic; font-size:42px !important; line-height:1.1; font-weight:700; color:#006140; margin:0 0 30px 0; }
.hbw .untertitel { font-family:'Libre Baskerville'; position:relative; display:block; color:#D39E0A; font-size:26px; font-weight:400; line-height:1.4; margin:0 0 30px 0; }
/*
.hbw .hbw-image .hbw-image-content::before { position:absolute; content:''; z-index:1; top:10px; left:10px; width:100%; height:100%; border-radius:100%; background: #144633; }
.hbw .hbw-image .hbw-image-content { position:relative; }
.hbw .hbw-image .hbw-image-content img { position:relative; z-index:2; width:100%; height:auto; border-radius:100%; aspect-ratio: 1/1; object-fit:cover; background:#fff; padding:0 10px 10px 0; }
*/
.hbw .hbw-image { margin-bottom:30px; }
.hbw .hbw-content { position:relative; margin-bottom:50px; }
.hbw .hbw-content .hbw-content-text { position:relative; top:50%; left:0; transform:translate(0,-50%); }
.hbw .link-button { display:inline-block; margin:40px 0 0 0; padding:10px 45px; border-radius:25px; background:#006140; border:1px solid #006140; color:#fff; transition: all ease 1.5s; }
.hbw .link-button:hover { background:#D39E0A !important; border-color:#D39E0A !important; color:#fff; transition: all ease 1.5s; }

.btb { overflow:hidden; position:relative; }
/*
.btb .btb-image { position:relative; }
.btb .btb-image-content { position:relative; }
.btb .btb-image-content::before { content:''; position:absolute; width:100%; height:100%; transform:rotate(180deg); background:#E3F3E7; top:-20px; left:-20px; border-radius: 70% 30% 30% 70% / 60% 40% 60% 40%; background-size:cover; z-index: -99; }
.btb .btb-image-content img { border-radius: 70% 30% 30% 70% / 60% 40% 60% 40%; background-size:cover; }
*/
.btb .btb-content { position:relative; }
.btb .btb-content-text { position:relative; top:50%; transform:translate(0,-50%); }
.btb .btb-image { margin-bottom:30px; }
.btb ul { padding:0 0 0 30px !important; }
.btb li { list-style-type:none; margin:0 0 15px 0; position:relative; }
.btb li::before { content:'\f00c'; font-family:'Font Awesome 7 Free'; position:absolute; top:0; left:-30px; font-weight:900; color:#A0D8B3; font-size:20px; }

.ibw { overflow:hidden; display:flex; }
.ibw h3 { font-family:'Libre Baskerville', serif; font-style: italic; font-weight:700; text-align:center; position:relative; margin-bottom:40px; }
.ibw-box { background:#fff; border-radius:20px; margin-bottom:30px; }
.ibw-box-content { padding:20px; }
.ibw-box img { border-radius:20px 20px 0 0; max-height:200px; width:100%; object-fit: cover; }
.ibw ul { padding:0 0 0 30px !important; }
.ibw li { list-style-type:none; margin:0 0 15px 0; position:relative; }
.ibw li::before { content:'\f00c'; font-family:'Font Awesome 7 Free'; position:absolute; top:0; left:-30px; font-weight:900; color:#A0D8B3; font-size:20px; }

.lbw .lbw-box-counter { color:#E3F3E7; font-size:80px; font-weight:700; position:relative; line-height:1; }

.tlw { overflow-x:hidden; display:flex; position:relative; }
.tlw-section { position: relative; margin: 0 auto; }
.tlw-section h3 { font-family:'Libre Baskerville', serif; font-style: italic; font-weight:700; position:relative; margin-bottom:40px; }
.tlw-section::after { content: ''; position: absolute; width: 6px; background-color: #E3F3E7; top: 0; bottom: 0; left: 50%; margin-left: -3px; }
.tlw-container {  position: relative; background-color: inherit; width: 50%; }
.tlw-container::after { content: ''; position: absolute; width: 20px; height: 20px; right: -10px; background-color: #006140; top: 18px; border-radius: 50%; z-index: 1; }
.left { left: 0; padding: 10px 40px 10px 0; }
.right { left: 50%; padding: 10px 0 10px 40px; }
.left::before { content: " "; height: 0; position: absolute; top: 18px; width: 0; z-index: 1; right: 30px; border: medium solid #006140; border-width: 10px 0 10px 10px; border-color: transparent transparent transparent #006140; }
.right::before { content: " "; height: 0; position: absolute; top: 18px; width: 0; z-index: 1; left: 30px; border: medium solid #006140; border-width: 10px 10px 10px 0; border-color: transparent #006140 transparent transparent; }
.right::after { left: -10px; }
.tlw-content { padding: 20px 30px; background-color: #fff; position: relative; border:1px solid #006140; border-radius:10px; }
.tlw ul { padding:0 0 0 30px !important; }
.tlw li { list-style-type:none; margin:0 0 15px 0; position:relative; }
.tlw li::before { content:'\f00c'; font-family:'Font Awesome 7 Free'; position:absolute; top:0; left:-30px; font-weight:900; color:#A0D8B3; font-size:20px; }

/* Media queries - Responsive timeline on screens less than 600px wide */
@media screen and (max-width: 600px) { 
    .tlw-section::after { left: 31px;
  }
  .tlw-container { width: 100%; padding-left: 50px; padding-right: 25px; }
  .tlw-container::before { left: 40px; border: medium solid #144633; border-width: 10px 10px 10px 0; border-color: transparent #E3F3E7 transparent transparent;  }
  .left::after, .right::after { left: 9px; }
  .right { left: 0%; }
}

.dtw { overflow:hidden; display:flex; }
.dtw-content { margin-bottom:50px; }

.tbw { position:relative; }
.tbw-container { max-width:80%; }
@media screen and (max-width: 600px) { 
  .tbw-container { max-width:100%; }
}

.profile img { border-radius:20px; aspect-ratio: 1/2; object-fit:cover; }
@media screen and (max-width: 600px) { 
  .profile img { border-radius:20px; aspect-ratio: 1/1; object-fit:cover; }
}

.footer { position:relative; overflow:hidden; font-weight:300; }
.footer-content { position:relative; margin-top:100px; background:#ededed; color:#333D47; }
.footer-content::before { position: absolute; content: ''; height:100px; width: calc(198% + 1.3px); background: url(../images/wave004.png) no-repeat; background-size: 200% 100px; top:-95px; left: 0; transform:rotate(180deg); }
.footer-top { border-bottom:1px solid #333D47; text-align:center; }
.footer-top img { max-height:135px; }
.footer-copyright { border-top:1px solid #333D47; text-align:center; }
.footer h3 { font-family:'Libre Baskerville', serif; font-style: italic; font-weight:700; color:#333D47; position:relative; margin-bottom:40px; }
.footer ul { padding:0 0 0 30px !important; }
.footer li { list-style-type:none; margin:0 0 5px 0; position:relative; }
.footer li::before { content:'\f00c'; font-family:'Font Awesome 7 Free'; position:absolute; top:0; left:-30px; font-weight:900; color:#333D47; font-size:20px; }
ul#menu-footer { margin:0; padding:0 !important; }
ul#menu-footer li { list-style-type:none; margin:0 0 5px 0; }
ul#menu-footer li::before { display:none; }
ul#menu-footer a { color:#333D47; }
ul#menu-footer a:hover { color:#006140; }

/* Styles Kontakt */
.contact-content form { width:100%; font-family:'Inter', sans-serif !important;  }
.contact-content h3 { font-family:'Libre Baskerville', serif; font-style: italic; font-weight:700; margin-bottom:20px; }
.contact-content p { font-size:18px; }
.contact-content textarea { background:#fff; margin-top:5px; font-size:18px !important; width:100%; border:1px solid #A0D8B3 !important; border-radius:4px; padding:10px 16px; }
.contact-content label { width:100%; margin-bottom:10px; }
.contact-content label input { background:#efefef !important; margin-top:5px; padding:10px 15px; border:0 !important; font-size:18px !important; width:100%; }
.contact-content span input { background:#fff !important; border:1px solid #A0D8B3 !important; margin-top:5px; padding:10px 15px; border-radius:4px; font-size:18px !important; width:100%; }
.contact-content .wpcf7-submit { font-size:18px !important; background:transparent !important; border-radius:25px !important; border:1px solid #D39E0A !important; padding:10px 45px; color:#D39E0A !important; text-decoration:none; transition: all ease 0.5s; font-weight:600; }
.contact-content .wpcf7-submit:hover { background:#D39E0A !important; color:#fff !important; text-decoration:none; }
.contact-content .acceptance-909 .form-control { height:unset; background:transparent !important; border:0 !important; }
.contact-content .checkbox-290 .form-control { margin-top:-25px; background:transparent !important; border:0 !important; }
.contact-content .checkbox-290 label { font-size:18px !important; margin-bottom:0; }
.contact-content .checkbox-547 .form-control { background:transparent !important; border:0 !important; }
.contact-content .checkbox-547 label { font-size:18px !important; margin-bottom:0; }
.contact-content .wpcf7-list-item label { font-size:18px; display:table; }
.contact-content .wpcf7-checkbox label { font-size:18px !important; margin-bottom:10px; }
.contact-content .wpcf7-list-item label input { font-size:18px !important; margin-left:-10px; margin-right:20px; display:table-cell; }
.contact-content .wpcf7-list-item label span.wpcf7-list-item-label{ font-size:1px; display:table-cell; }
.contact-content select.wpcf7-select { background:#fff; margin-top:5px; padding:10px 15px; border:0 !important; font-size:18px !important; width:100%; }
.contact-content input[type="radio"], .contact-content input[type="checkbox"] { width:20px; height:20px; margin-right:5px !important; }
.contact-content .wpcf7-list-item label span.wpcf7-list-item-label { top: -4px; position: relative; }
.contact-content .wpcf7-list-item label { margin-right:20px; }
.contact-content .wpcf7-checkbox { background:transparent !important; border:0px !important; color:#212529 !important; }
.contact-content .wpcf7-not-valid-tip { font-size:16px; }
.contact-content .cf7mls_back { font-size:16px; }
.contact-content span { font-family:'Inter', sans-serif !important; }

.contact-content .checkbutton { display: grid; grid-template-columns: repeat(3, 1fr); grid-column-gap: 10px; grid-row-gap: 10px; }
.contact-content .checkbutton { display: grid; grid-template-columns: repeat(3, 1fr); grid-column-gap: 10px; grid-row-gap: 10px; }
.contact-content .wpcf7-list-item { margin:0; }
.contact-content .wpcf7-list-item-label { vertical-align:middle; text-align:center; font-size:16px !important; font-weight:600 !important; }
.contact-content .wpcf7-list-item label { margin:0 !important; width:100%; height:100%; min-height:74px; }
.contact-content .checkbutton input[type="radio"], .contact-content .checkbutton input[type="checkbox"] { opacity: 0; position: fixed; width: 0; }
.contact-content .wpcf7-acceptance input[type="checkbox"] { opacity:1; position: relative; width:40px;  }
.contact-content .checkbutton label .wpcf7-list-item-label { display: inline-block; background-color: #fff; border:1px solid #cecece; padding: 5px 15px; font-family: "Inter", Arial; font-size: 18px; border-radius: 4px; }
.contact-content .checkbutton label span:hover { background-color: #FCF4EB; color:#D39E0A; border:1px solid #D39E0A !important; cursor:pointer; }
.contact-content .wpcf7-acceptance label .wpcf7-list-item-label { border:0; text-align:center; background:transparent; padding:0; vertical-align:text-top; font-size:18px !important; font-weight:400 !important; }
.contact-content .wpcf7-acceptance label .wpcf7-list-item-label:hover { background:transparent; color:#333; cursor:pointer; }

.contact-content .checkbutton label input[type="radio"]:checked + span { background-color:#fff; border-color:#A0D8B3; color:#006140; text-align:left; }
.contact-content .checkbutton label input[type="radio"]:checked + span::after { position:absolute; top:5px; right:10px; font-size:35px; content:"\f00c"; font-family:"Font Awesome 7 Free"; font-weight:900; margin-left:10px; }

.contact-content .wpcf7-acceptance label input[type="checkbox"]:checked { accent-color:#fff; }

.contact-content .checkbutton label input[type=checkbox]:checked + span { background-color:#fff !important; border-color:#A0D8B3 !important; color:#006140; }
.contact-content .checkbutton label input[type="checkbox"]:checked + span::after { position:absolute; bottom:5px; right:10px; font-size:15px; content:"\f00c"; font-family:"Font Awesome 7 Free"; font-weight:900; margin-left:10px; }

.xdsoft_datetimepicker .xdsoft_timepicker { width:80px; }
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div { height:40px !important; line-height:40px !important; font-size:16px; }
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev, .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next { margin-left:25px; }

@media screen and (max-width: 992px) {
	.contact-content .wpcf7-radio { grid-template-columns: repeat(2, 1fr); }
	.contact-content .wpcf7-checkbox { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 600px) {
	.contact-content .wpcf7-radio { grid-template-columns: repeat(1, 1fr); }
	.contact-content .wpcf7-checkbox { grid-template-columns: repeat(1, 1fr); }
}

.contact-content .form-hinweis { font-size:14px; font-weight:400; position:relative; top:-20px; }

.contact-content .wpcf7-validation-errors { border:2px solid #8F252B !important; padding:10px 20px !important; color:#8F252B !important; font-weight:600; }
.contact-content .wpcf7-not-valid-tip { color:#8F252B !important; font-weight:600; }
.contact-content .fieldset-cf7mls-wrapper div.wpcf7-validation-errors .wpcf7-icon-wraning { display:none; }
.contact-content .wpcf7-validation-errors::before { content:"\f06a"; font-family:"Font Awesome 6 Free"; font-weight:900; font-size:20px; vertical-align:middle; margin-right:10px; }
.contact-group { margin-bottom:30px; }

.cf7mls_next { border-radius:25px !important; font-size:14px !important; background:#007480 !important; }
.cf7mls_back { border-radius:25px !important; font-size:14px !important; background:#efefef !important; }

.accordion {  }
.accordion .accordion-item { font-size:18px; border-width:1px 0 !important; }
.accordion .accordion-button { font-weight:bold; color:#333D47; font-size:18px; border:0; }
.accordion .accordion-button:not(.collapsed) { background:#efefef; border-width:1px; }
.accordion-button:focus { box-shadow:none; }

.page-fullwidth { overflow:hidden; color:#006140; }
.page-full-headline .entry-title { padding:30px 0; }

.bbw { width:100%; height:100%; background-position: center center; background-size:cover; background-size:cover; -webkit-background-size: cover; /* safari may need this */ -moz-background-size: cover; -o-background-size: cover; }
@media only screen and (max-width: 992px) {
  .bbw { background-size:cover; -webkit-background-size: auto; /* safari may need this */ -moz-background-size: cover; -o-background-size: cover; }
}

.parallax > section {
    background-attachment: fixed !important; background-size:cover !important;
}

.zitat { text-align:center; margin-top:-140px; position:relative; z-index:-1;}
.zitat .bbw-content { padding:0 50px; letter-spacing:-0.5px; padding:140px 0 80px 0; }
.zitat h3 { font-family:'Libre Baskerville', serif; font-style:italic; font-size:56px; font-weight:700; color:#fff; text-shadow:0 0 15px #333; }
.zitat h3:before { content:'\f10e'; font-family:'Font Awesome 5 Free'; font-weight:900; position:relative; top:-15px; left:20px; font-size:100px; opacity:0.5; opacity:50%; }
.zitat p { font-size:36px; font-weight:400; }

@media only screen and (max-width: 992px) {
  .zitat h3 { font-size:40px; font-weight:700; position:relative; }
  .zitat h3:before { position:absolute; top:-50px; left:0px; font-size:80px; opacity:0.5; opacity:50%; }
  .zitat p { font-size:26px; font-weight:400; }
}
