﻿@CHARSET "UTF-8";


:root {
    --primary: #363636;
    --background: #ffffff;

    --dunkelblau: #004891;
    --mittelblau: #0097D5;
    --orange: #F48E00;
    --Xformularfeld: #ABCAD6;
    --formularfeld: #D9F4FF;
	
	--fa-primary-color: #F48E00;
}


* {
    margin: 0; xpadding: 0;
    box-sizing: border-box;
    font-family: 'Open Sans';
    font-weight: 'Regular';
    font-size: 1em;
}


@import "../../fonts/khand.css";
@import "../../fonts/opensans.css";


h1,h2 { font-family: 'Khand'; font-size: 2.6vw; }
h3,h4,h5,h6,h7 { font-family: 'Open Sans'; font-weight: bold; font-size: 1.3vw; }

.clearfix::after {
  content: "";
  clear: both;
  display: table;
}


body {
    font-family: 'Open Sans','calibri', sans-serif;
    font-weight: 300;
    font-size: 1.1rem;
    line-height: 1.3;
    background: var(--background);
    color: var(--primary);
    width: 100vw;
    Xmax-width: 1920px;
    height: auto;
    margin: 0 auto;
}

.top { position: relative; top: 0; width: 100%; XXmax-width: 1920px; margin-top: 20px; padding: 0 10vw; display: flex; flex-direction: row; }
.logo { width: 35vw; }  
.logo img { width: 250px; }

.contactglyphs { position: relative; left: 0; top: 10px; width: 100vw; overflow: hidden; }
.contactglyphs img { padding-right: 20px; vertical-align: middle; }
.contactglyphs ul { list-style-type: none; padding:0; }  
.contactglyphs li { line-height: 40px; }  
.contactglyphs a { text-decoration: none; color: var(--dunkelblau); font-family: 'Khand'; font-weight: 300; font-size: 1rem; }

.socialglyphs { position: relative; right: 0; top: 30px; width: 100px; vertical-align: middle; }
.socialglyphs img { vertical-align: middle; }
.socialglyphs ul { list-style-type: none; }  
.socialglyphs li { line-height: 40px; }  

.topbar { position: fixed; top: 0; width: 100%; height: 100px; opacity: 0.5; background-color: white; z-index: 2000; }
.topnavi { position: relative; padding-left: 10vw; padding-right: 10vw; opacity: 1; top: 40px; z-index: 2001; }
.topnavi a { font-weight: bold; text-decoration: none; }

.topimage { position: relative; width: 100vw; max-height: 30vw; overflow: hidden; margin-bottom: 10pt; object-fit: cover; }
.topimage img { width: 100vw; height: auto; }

.Xlogodiv { position: absolute; overflow: hidden; top: 20px; text-align: center; Xmargin-left: -170px; z-index: 2003; }
.logodiv { position: absolute; text-align: center; overflow: hidden; top: 20px; width: 100%; margin: 0 auto; z-index: 2003; }

.menu-button { position: absolute; width: auto; right:0; top: 30px; text-align: right; padding-right: 5vw; cursor: pointer; z-index: 2005; }
.menu-close-button { position: absolute; width: 40px; height: 40px; right: 50px; top: 50px; }

.menu { display: none; position: absolute; top: 0; left: 0; width: 100%; z-index: 9001; background: rgba(0,0,0,0.6); backdrop-filter: blur(10px);}

.mainmenu { position: relative; left: 0; top: 40px; width: 100%; height: 60px; z-index: 9000; overflow: visible; }
.mainmenu ul { list-style-type: none; padding-inline-start: 0; }
.mainmenu ul li { display: table-cell; line-height: 60px; Xcolor: var(--dunkelblau); padding-right: 20px; Xoverflow: hidden; }
.mainmenu ul li a { color: var(--dunkelblau); text-decoration: none; text-transform: uppercase; font-face: 'Khand'; font-weight: 600; font-size: 1.4rem; }
.mainmenu ul li.navi1act a { color: var(--orange) !important; }

.mainmenu ul li ul { position: absolute; margin-left: -10px; padding: 0 10px;}
.mainmenu ul li ul li a { color: var(--dunkelblau) !important; text-transform: capitalize; font-weight: 300; }
.mainmenu ul li.naviact ul li a { color: var(--dunkelblau) !important; text-transform: capitalize; }
.mainmenu ul li.naviact ul li.naviact a { color: var(--orange) !important; text-transform: capitalize; }


.breadcrumb { margin-bottom: 1.2vw; }
.breadcrumb ul { list-style-type: none; padding-inline-start: 0; }
.breadcrumb ul li { display: inline-block; }
.breadcrumb li a { color: var(--mittelblau); text-decoration: none; text-transform: uppercase; font-face: 'Khand'; font-weight: 600; font-size: 0.9rem; }
.breadcrumb ul li.navi1act a { color: var(--orange) !important; }

.XXXmainmenu ul li.navi1act ul li a { XYborder: solid 1px red; color: var(--orange) !important; }

/* Sub-Menue, standard ausgeblendet */
.mainmenu ul ul {
    display: none;
    width: auto;
    height: auto;
    position: absolute;
    Xleft: -115px;
    top: 60px;
    background-color: var(--formularfeld);
    Xopacity: 0.95;
    padding: 0;
    Xbox-shadow: 2px 2px 2px #999;
    Xborder-left: 1px solid #ccc;
}
/* Sub-Ebene einblenden, wenn mit der Maus darüber */
.mainmenu ul li:hover ul { display: table-cell; }

.mainmenu ul ul li {
    display: block;
    overflow: hidden;
    width: auto;
    height: auto !important;
}

.footermenu { margin-bottom: 10pt; border-top: 4px solid var(--orange); width: 100%; }
.footermenu ul { list-style-type: none; padding-inline-start: 0; }
.footermenu ul li { display: inline-block; margin-right: 1em }
.footermenu li a { color: var(--mittelblau); text-decoration: none; text-transform: none; font-face: 'Khand'; font-weight: 500; font-size: 0.9rem; }
.footermenu ul li.navi1act a { color: var(--orange) !important; }



.content { position: relative; top: 0position; Xmax-width: 1920px; padding-left: 10vw; padding-right: 10vw; display: flex; flex-wrap: wrap; justify-content: center; align-content: flex-start; align-items: stretch; Xmargin-left: auto; Xmargin-right: auto; }
.content h1 { font-family: 'Khand'; font-weight: 600; font-size: 1.6rem; color: var(--dunkelblau); }
.content h2 { font-family: 'Open Sans'; font-weight: 700; font-size: 1.4rem; color: var(--mittelblau); padding-bottom: 10pt; }
.content img { max-width: 100%; height: auto; }
.content p { margin-bottom: 1em; }

.leftcolumn { width: 75%; margin-right: 3%; }
.leftcolumn .ce-bodytext a { text-decoration: none; color: var(--orange);}
/* .leftcolumn .ce-bodytext a::before { content: "> "; } */

.rightcolumn { Xbackground-color: #eeeeee; width: 20%; }
.rightcolumn h2 { color: var(--orange); }
.rightcolumn .ce-bodytext a { text-decoration: none; color: var(--orange); }
/* .rightcolumn .ce-bodytext a::before { content: "> "; } */

.contenttable table { width: 100%; }
.contenttable td { width: 50%; }

.accordion summary { background-color: var(--formularfeld); }

.frame { margin-top: 20px; }
.frame-layout-1 { color: var(--mittelblau); }
.frame-layout-1 strong { color: var(--dunkelblau); }

.tierdetail { border: solid 1px #eeeeee; margin-bottom: 20px; display: flex; flex-wrap: wrap; justify-content: center; align-content: flex-start; align-items: stretch; }
.tierdetailtext { width: 50%; }
.tierdetailtext a { text-decoration: none; font-weight: bold; color: var(--dunkelblau); }
.tierdetailbild { width: 50%; }

.frame-type-form_formframework h2 { font-family: 'Open Sans'; font-weight: 700; font-size: 1rem; color: var(--dunkelblau); }
.frame-type-form_formframework form h2 { font-family: 'Open Sans'; font-weight: 700; font-size: 1rem; color: var(--orange); }
.control-label { font-family: 'Open Sans'; font-weight: 400; font-size: 1rem; color: var(--dunkelblau); }
.input input { background-color: var(--formularfeld); width: 100%; border: none; margin-bottom: 10pt; }
.input textarea { background-color: var(--formularfeld); width: 100%; height: 10em; border: none; margin-bottom: 10pt; }
.actions button { background-color: var(--orange); border: none; }

.frame-type-uploads a { font-weight: bold; text-decoration: none; color: var(--orange); }

.frame-space-before-small { margin-top: 50px; }
.frame-space-before-medium { margin-top: 75px; }
.frame-space-before-large { margin-top: 100px; }

.footer { position: relative; top: 0; width: 100%; margin-top: 20px; padding: 20px 10vw; display: flex; flex-direction: row; }


.scrolltotop {
	display: inline-block;
	position: fixed;
	bottom: 15px;
	right: 15px;
	padding: 5px 8px;
	border-radius: 30px;
    Xborder: 1px solid rgba(255,255,255,0.5);
	text-color: white;
	background-color: #000;
	box-shadow: 0 0 10px #000;
    transition: all 0.3s ease-in-out;
	opacity: 1;
}

.scrolltotop:hover { opacity: 1; }

.scrolltotop a {
   font-family: "Font Awesome 6 Free";
   font-weight: 900;
   Xcontent: "\f509";
   font-size: 1em;
   float: left;
   color: white;
   -webkit-font-smoothing: antialiased;
}   


/* ************************************************************************************************* */
/* Smartphones */
/* ************************************************************************************************* */
@media screen and (min-width: 1px) and (max-width: 767px) {
.top { width: 100vw; padding: 0; flex-direction: column; }
.logo { position: relative; width: 100vw; text-align: center; }
.logo img { width: 30vw; }
.contactglyphs { display: none; }
.socialglyphs { display: none; }

#menu-show-btn { Xdisplay: block; width: auto; height: auto; left: 10px; top: 48px; position: absolute; z-index: 9998; }
#menu-hide-btn { display:none; width: auto; height: auto; left: 10px; top: 48px; position: absolute; z-index: 9999; }
.mainmenu { display: none; }

	.menu { display: none; Xmin-height: 100vh; Xanimation-name: menugrow; animation-duration: 0.5s; position:absolute; left: -5px; top: 125px; z-index: 9000; Xheight: auto; width: 100vw; }

	.menu ul { display: block; position: relative; padding: 0; margin: 0; width: 100%; height: auto; margin-top: 0; top: 0; list-style-type: none; }
	.menu ul > li { display: block; line-height: 40px; overflow: visible; width: 100%; white-space: nowrap; }
	.menu ul li a { background-color: #eee; border: solid 1px #eeeeee; display: block; font-weight: 500; height: 40px; padding: 0 5px; text-decoration: none; color: #000000; }
	.menu ul li li a { background-color: #eee; border: solid 1px #eeeeee; display: block; font-weight: 500; height: 40px; padding: 0 15px; text-decoration: none; color: #000000; }
	.menu ul li li li a { background-color: #eee; border: solid 1px #eeeeee; display: block; font-weight: 500; height: 40px; padding: 0 25px; text-decoration: none; color: #000000; }
	.menu a:hover { color: #01519e;  }
	.Xmenu ul li.activelink a { color: #01519e; }
	
	/* Sub-Menü, Unterebenen zunächst verbergen */
	.menu ul ul { display: block; }
	.menu ul ul:after { clear: both; }

	/* Sub-Ebenen einblenden, wenn mit der Maus darüber */
	.menu ul > li:hover > ul { visibility: visible; Xdisplay: block; }

.content { padding: 0 3vw; }
.leftcolumn { width: 100%; margin-right: 0; }
.rightcolumn { width: 100%; margin-right: 0; }


.footermenu li a { color: var(--mittelblau); text-decoration: none; text-transform: none; font-face: 'Khand'; font-weight: 500; font-size: 0.6rem; }

}

/************************************************************************************************** */
/* Tablet */
/************************************************************************************************** */
@media screen and (min-width: 768px) and (max-width: 1024px) {

#menu-show-btn { display: none; width: auto; height: auto; left: 10px; top: 48px; position: absolute; z-index: 9998; }
#menu-hide-btn { display:none; width: auto; height: auto; left: 10px; top: 48px; position: absolute; z-index: 9999; }

.mainmenu { padding: 0 10vw;  }
.mainmenu ul li a { color: var(--dunkelblau); text-decoration: none; text-transform: uppercase; font-face: 'Khand'; font-weight: 600; font-size: 0.8rem; }

.leftcolumn { width: 100%; margin-right: 0; }
.rightcolumn { width: 100%; margin-right: 0; }
}


/************************************************************************************************** */
/* Desktop */
/************************************************************************************************** */
@media screen and (min-width: 1025px) {
#menu-show-btn { display: none;  }
#menu-hide-btn { display:none; }

.mainmenu { top: -50px; padding-left: 30vw; }

}


