/* EXTERNAL FONTS */

@font-face {
    font-family: 'SourceSans3';
    font-style: normal;
    font-weight: 400;
    src: local("Source Sans 3"), local("SourceSans3-Regular"), url("fonts/SourceSans3-Regular.woff") format("woff");
    src: local("Source Sans 3"), local("SourceSans3-Regular"), url("fonts/SourceSans3-Regular.woff2") format("woff2");
    unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02;
}


body {
 background:#fefefe;
}

body, .blockItem, .blockItem div {
 font-family: SourceSans3, Verdana, Helvetica, Arial, Sans-Serif;
 letter-spacing:0.04em;
 line-height: 28px;
 font-size: 17px;
 color: #4a4a4a;
}

textarea, input, select, .formSelect  {
  font-family: Arial, Helvetica, sans-serif;
}

/* LINKS */

a, a:visited, a:active, a:link {
 text-decoration: none;
 color: #17495e;
}
a:hover { color: #2A2E2D; }

/* HEAD/TITLE */

.head1, .head2 {
 color:#4a4a4a;
 line-height: 30px;
 font-size: 23px;
 margin-bottom:14px; 
 font-weight:bold;
 display:block;
}

.head2 {
 font-size: 18px; 
 line-height: 24px; 
 margin-bottom: 14px; 
}

/* CONTAINER BACKGROUND */

#pageBack {
}

#headerTopBack {
 /* border-top: 4px solid #bababa; */
 border-bottom: 4px solid #ffffff;
 background: #ffffff;
 /* background: url(/images/header-back.gif) repeat-x; */
 height:108px;
 padding-top:10px;
}

#headerBack {
}

#headerTop {
 text-align:left;
}

#headerLogo, #footerLogo {
 width:280px;
 margin-top:0px;
}

#menuBack {
 z-index:3;
 margin-top:-50px;
}

#menu {
 text-align:right;
}

/* Desktop: MenÃŒ links neben Logo */
@media only screen and (min-width: 1081px) {
 #headerBack {
  position: relative;
 }

 #menuBack {
  position: absolute;
  top: 10px;
  left: 0;
  right: 0;
  margin-top: 0;
  height: 108px;
  display: flex;
  align-items: center;
  justify-content: center;
 }

 #menuBack.pageScroll {
  position: fixed;
  top: 72px;
  margin-top: 0;
  height: auto;
  min-width: 100%;
 }

 #menu {
  width: 1080px;
  margin: 0;
  text-align: left;
  padding-left: 340px;
  box-sizing: border-box;
 }

 #headerTop {
  position: relative;
 }

 .headerAppointmentButton,
 .headerAppointmentButton:link,
 .headerAppointmentButton:visited,
 .headerAppointmentButton:active {
  display: inline-block;
  position: absolute;
  top: 16px;
  right: 0;
  transform: none;
  padding: 10px 20px;
  border-radius: 6px;
  background-color: #55ACB6;
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0, 45, 55, 0.18);
  font-size: 15px;
  line-height: 1.3;
  font-weight: bold;
  white-space: nowrap;
  z-index: 5;
 }

 .headerAppointmentButton:hover {
  background-color: #70C6CF;
  color: #ffffff;
  transition: background-color 0.2s ease, color 0.2s ease;
 }

 #appointmentMobileBar {
  display: none;
 }
}

#headerBottomBack {
}

#mainBack {
}

#footerBack {
 margin-top: 20px;
}

#footerLogo {
  
  filter: grayscale(1) brightness(3);
}

/* CONTAINER HEADER */

#header {
}

.infoTextHeadTitle {
 color: #292929;
 text-transform: uppercase;
}

/* HEADER MENU */

#menu {
 /* overflow:hidden; */
}

#menuMobile,
#menu ul li a {
 font-size: 18px;
 line-height: 40px;
}

#menu ul li {
 /* border-right:1px solid #292929; */
 padding: 0px 0px;
 margin: 0px 0px;
}

#menu ul li a,
#menu ul li a:visited,
#menu ul li a:active {
 padding: 0px 14px;
 color: #4a4a4a;
 padding-bottom:6px;
 border-bottom: 4px solid #ffffff;
}

#menu ul li a:hover {
 color: #447389;
 border-bottom: 4px solid #DEEEF1;
}

#menu ul li a.act {
 color: #447389;
 border-bottom: 4px solid #74C7D1;
}

/* SUBMENU */

#menu ul li ul {
 top:50px;
}

#menu ul li ul li {
 border-bottom:1px solid #b1b0b1;
}

#menu ul li ul li.last {
 border-bottom: 0px;
}
 
#menu ul li ul li a {
 font-size: 16px;
 line-height: 40px;
 height: 40px;
 padding-bottom:0px;
 border-bottom:0px;
}

#menu ul li ul li a,
#menu ul li ul li a:visited,
#menu ul li ul li a:active {
 padding: 0px 14px;
 color: #707173;
}

#menu ul li ul li a:hover {
 color: #4f7689;
 background: #f8f8f8;
 -webkit-box-shadow: none;
 box-shadow: none;
 border-bottom:0px
}

#menu ul li ul li a.act {
 color: #447389;
 border-bottom: 0px;
 /* background-image: url(/images/icon-menu.png);
 padding-left:45px;
 background-position: 6px 9px;
 background-repeat: no-repeat; */
 
}

/* SUBMENU PAGE NAVIGATION */

#submenuNavBack {
 background: transparent;
 border-bottom: 0;
 margin: 0;
}

#submenuNav {
 display: flex;
 align-items: center;
 justify-content: space-between;
 width: 1080px;
 max-width: 1080px;
 margin: 0 auto;
 padding: 0;
 box-sizing: border-box;
 position: relative;
}

.submenuNavTabs {
 display: flex;
 flex: 1;
 justify-content: center;
 flex-wrap: wrap;
 list-style: none;
 margin: 0;
 padding: 0;
}

.submenuNavTabs li {
 margin: 0;
 padding: 0;
}

.submenuNavTabs li a,
.submenuNavTabs li a:visited,
.submenuNavTabs li a:active {
 display: block;
 padding: 0 12px;
 color: #707173;
 font-size: 15px;
 line-height: 32px;
 height: 32px;
 border-bottom: 0;
 white-space: nowrap;
}

.submenuNavTabs li a:hover {
 color: #4f7689;
}

.submenuNavTabs li a.act {
 color: #447389;
 font-weight: bold;
}

.submenuNavCurrent {
 display: none;
}

.submenuNavArrow,
.submenuNavArrow:link,
.submenuNavArrow:visited,
.submenuNavArrow:active {
 display: flex;
 align-items: center;
 justify-content: center;
 flex-shrink: 0;
 position: relative;
 padding: 7px 12px;
 border-radius: 6px;
 background-color: #55ACB6;
 color: #ffffff;
 text-shadow: 0 1px 2px rgba(0, 45, 55, 0.18);
 font-size: 15px;
 line-height: 1.3;
 font-weight: bold;
}

.submenuNavArrow:hover {
 background-color: #70C6CF;
 color: #ffffff;
 transition: background-color 0.2s ease, color 0.2s ease;
}

.submenuNavArrow .fa {
 color: inherit;
 margin: 0;
}

#headerBottom {
}

/* CONTENT IMAGES - abgerundete Ecken */

[class*="imgCont"] img,
[class*="imgN"] img {
 border-radius: 8px;
 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

/* HEADER BILD - untere Ecken abrunden */

#headerBottom .slideshow div img {
 border-bottom-left-radius: 8px;
 border-bottom-right-radius: 8px;
 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

/* CONTAINER MAIN */

@media only screen and (min-width: 1081px) {
 #headerBottomBack {
  position: relative;
 }

 #submenuNavBack {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1080px;
  max-width: 100%;
  padding: 5px;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  z-index: 5;
  box-sizing: border-box;
 }

 #submenuNavBack #submenuNav {
  width: 100%;
  max-width: 100%;
 }

 #mainBack {
  position: relative;
  z-index: 2;
 }

 #main {
  position: relative;
  overflow: visible;
 }

 #main.displayFlexMobileBlock {
  align-items: flex-start;
 }

 #contentMain {
  border-right: none;
 }

 #contentSide {
  float: none;
  position: absolute;
  top: 0;
  right: 0;
  margin-left: 0;
  z-index: 2;
  border-left: none;
  border: 1px solid #ececec;
  border-radius: 8px;
  padding: 18px 20px;
  box-sizing: border-box;
  background-color: #FBFBFB;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
 }

 #main .clearboth {
  clear: left;
 }

 #footerBack,
 #footerLineBack {
  position: relative;
  z-index: 1;
 }
}

#main {
}

/* TERMIN-BUTTON (Mobile-Leiste) */

.appointmentButton,
.appointmentButton:link,
.appointmentButton:visited,
.appointmentButton:active {
 display: inline-block;
 margin: 0;
 padding: 12px 24px;
 border-radius: 6px;
 background-color: #55ACB6;
 color: #ffffff;
 text-shadow: 0 1px 2px rgba(0, 45, 55, 0.18);
 font-size: 16px;
 line-height: 1.3;
 font-weight: bold;
 text-transform: uppercase;
 white-space: nowrap;
}

.appointmentButton:hover {
 background-color: #70C6CF;
 color: #ffffff;
 transition: background-color 0.2s ease, color 0.2s ease;
}

.appointmentButton .fa,
.headerAppointmentButton .fa,
.blockButton .fa {
 margin-right: 10px;
 color: inherit;
}

/* CONTAINER FOOTER */

#footer {
}

#footerLineBack {
  box-shadow: 0 -4px 9px rgba(0, 0, 0, 0.04);
}

#footerLineBack, #contentFooterLine {
  background: #5c99a1;
  color: #ffffff;
}

#contentFooterLine .blockItem,
#contentFooterLine .blockItem2 {
	color:#ffffff;
  margin-top:10px;
  font-size:16px;
  line-height:25px;

}

#contentFooterLine .blockItem a,
#contentFooterLine .blockItem2 a {
	color:#ffffff;
}

#contentFooterLine .blockItem a:hover,
#contentFooterLine .blockItem2 a:hover {
	color:#5ec1cd;
}

.iconTab td {
  padding-bottom:17px;
}

.iconTab td:first-child {
  padding-right:20px;
  text-align:center;
}

.footerCompany {
  float:left;
}

.footerMenu { 
  float:right;
  left:-120px;
 }

.footerCredits {
  clear: both;
  display: block;
  font-size: 16px;
  line-height: 25px;
}

.footerCredits a {
  color: #ffffff;
}

.footerCredits a:hover {
  color: #5ec1cd;
}

.scrollUp {
  display:none;
  position: absolute;
  bottom: 5px;
  right: 3%;
  margin-right:20px;
  margin-bottom:10px;
  float:right;
  font-size:26px;
  height:26px;
}

.iconUp {
  color:#2f2f2f;
}


/* BLOCK ITEMS */

.blockButton,
.blockButton:link,
.blockButton:visited,
.blockButton:active {
 display: inline-block;
 height: auto;
 margin: 0;
 padding: 10px 20px;
 border-radius: 6px;
 background-color: #55ACB6;
 color: #ffffff;
 text-shadow: 0 1px 2px rgba(0, 45, 55, 0.18);
 font-size: 15px;
 line-height: 1.3;
 font-weight: bold;
 white-space: nowrap;
}

.blockButton:hover {
 background-color: #70C6CF;
 color: #ffffff;
 transition: background-color 0.2s ease, color 0.2s ease;
}

/* LINK BUTTON */

.linkButton,
.linkButton:link,
.linkButton:visited,
.linkButton:active {
 /* padding-left:39px; */
 /* background: url(/images/icon-menu.png) 0px 9px no-repeat; */
 padding-left:10px;
 color:#2f2f2f;
 font-weight:bold;
}

.linkButton:hover {
 /* background: url(/images/icon-menu.png) 0px 9px no-repeat; */
}

/* >>> MODULES */

.slideshowbutton {
 top:360px;
 position:absolute;
 display:block;
 width:9px;
 height:9px;
 background:#ffffff;
 z-index:3;
 -moz-border-radius: 50px;
 -webkit-border-radius: 50px;
 border-radius: 50px;
 border:2px solid #55ACB6;
}

.slideshow_buttonactive {
 background:#55ACB6;
 margin-top:-1px;
 margin-left:-1px;
 border:3px solid #55ACB6;
}

.slideshow_buttonhalfactive {
}

.downloadlink {
 display:inline-block;
 height:38px;
 line-height:38px;
}

/* <<< MODULES */

#headerTopBack.pageScroll {
 position: fixed;
 min-width: 100%;
 box-shadow: 0px 4px 9px rgba(0, 0, 0, 0.04); /* Horizontal offset, Vertical offset, Blur radius, Shadow color */
}

#headerBottomBack.pageScroll {
 padding-top:104px;
}
