:root {
  --primary-color: #404040;
  --light-color: #FFFFFF;
  --main-bg: #FFFFFF;
  --accent-color: #76c3aa;
  --dark-accent-color: #008689;
  --light-grey: #C6C6C6;
  --dark-grey: #5e5e5e;
  --font-size-s: 16px;
  --font-size: 18px;
  --font-size-m: 21px;
  --font-size-l: 28px;
  --font-size-xl: 32px;
  --font-size-xxl: 88px;
  --font-size-h1:  clamp(28px, 4.7vw, 48px);
  --font-size-h2:  clamp(24px, 4.4vw, 34px);
  --font-size-h3:  clamp(21px, 4.1vw, 28px);
  --main-font: "TT Bells", sans-serif;
  --title-font: "TT Bells", sans-serif; }

/*
@font-face {
	font-family: "TT Bells";
	src: url("../fonts/TypeType - TTBells-Regular.otf") format("otf"),
		url("../fonts/TypeType - TTBells-Regular.woff") format("woff"),
		url("../fonts/TypeType - TTBells-Regular.woff2") format("woff2");

}

@font-face {
	font-family: "Neue Machina";
	src: url("../fonts/PPNeueMachina-Regular.otf") format("otf"),
		 url("../fonts/PPNeueMachina-Regular.woff") format("woff"),
    	 url("../fonts/PPNeueMachina-Regular.woff2") format("woff2");
}

@font-face {
	font-family: "Neue Machina";
	font-weight: bold;
	src: url("../fonts/PPNeueMachina-Bold.otf") format("otf"),
		 url("../fonts/PPNeueMachina-Bold.woff") format("woff"),
		 url("../fonts/PPNeueMachina-Bold.woff2") format("woff2");
}
*/
/* custom scrollbar */
/* width */
::-webkit-scrollbar {
  width: 10px; }

/* bg */
::-webkit-scrollbar-track {
  background: transparent; }

/* btn */
::-webkit-scrollbar-thumb {
  background: var(--accent-color); }

/* firefox-only
html, body {
	scrollbar-color: var(--primary-color) var(--main-bg);
	scrollbar-width: thin;
}
 */
/* custom selection */
::-moz-selection {
  color: var(--light-color);
  background: var(--accent-color); }

::selection {
  color: var(--light-color);
  background: var(--accent-color); }

/* underline animation */
.underline-animation a, .underline-animation a:hover {
  display: inline-block !important;
  text-decoration: none;
  color: inherit; }
  .underline-animation a:after, .underline-animation a:hover:after {
    content: "";
    display: block;
    border-bottom: 1px solid;
    transform: translateY(-5px) scaleX(0);
    transform-origin: center;
    /* left / center / right */
    transition: transform 0.15s ease-in-out; }
  .underline-animation a:hover:after, .underline-animation a:hover:hover:after {
    transform: translateY(-5px) scaleX(1); }

/* main css stuff */
body {
  /*font-family: var(--main-font);*/ }

.hidden-headline-section {
  pointer-events: none !important;
  opacity: 0 !important;
  z-index: -1 !important;
  position: absolute !important;
  left: -9999px !important;
  visibility: hidden !important; }

/* language-switcher */
.custom-lang-switcher > ul {
  /*display: none;
	opacity: 0;*/
  z-index: 7;
  position: relative;
  transition: var(--transition); }

#tm-dialog-mobile .custom-lang-switcher > ul {
  z-index: 6;
  position: relative;
  transition: var(--transition); }

.custom-lang-switcher > ul.menu-open, #tm-dialog-mobile .custom-lang-switcher > ul.menu-open {
  display: block;
  opacity: 1; }

.custom-lang-switcher ul > li, #tm-dialog-mobile .custom-lang-switcher ul > li {
  margin-left: 10px;
  margin-right: 0px; }

#tm-dialog-mobile .custom-lang-switcher ul > li:first-of-type {
  margin-left: 0 !important; }

.custom-lang-switcher ul > li > a, #tm-dialog-mobile .custom-lang-switcher ul > li > a {
  color: var(--primary-color) !important;
  font-size: var(--font-size-xsmall);
  position: relative; }

.custom-lang-switcher ul > li.lang-active > a, #tm-dialog-mobile .custom-lang-switcher ul > li.lang-active > a {
  color: var(--accent-color) !important; }

.custom-lang-switcher ul > li:not(:first-child) > a:before, #tm-dialog-mobile .custom-lang-switcher ul > li:not(:first-child) > a:before {
  content: "|";
  left: -9px;
  position: absolute;
  color: var(--primary-color) !important; }

.tm-page .add-margin-top {
  margin-top: 25px !important; }
.tm-page .add-margin-top-medium {
  margin-top: 35px !important; }
.tm-page .add-margin-bottom {
  margin-bottom: 25px !important; }
.tm-page .add-margin-bottom-medium {
  margin-bottom: 35px !important; }

/* footer */
footer > .footer-section {
  padding: 55px 0 !important; }
  footer .footer-menu .el-item {
    padding: 0 12px;
    position: relative; }
    footer .footer-menu .el-item:last-child:before {
      content: "|";
      position: absolute;
      font-size: 20px;
      left: -2px;
      top: 0px; }
footer .footer-bottom-row {
  justify-content: space-between; }
footer .footer-column-1 {
  width: 40%;
  max-width: 540px; }
footer .footer-column-2, footer .footer-column-3 {
  width: 28%;
  max-width: 380px; }
  footer .footer-links > div > .el-item > a {
    width: auto;
    justify-content: start; }
    footer .footer-links > div > .el-item > a:after {
      transform-origin: center;
      width: calc(100% - 37px);
      margin-left: auto; }
footer .footer-time-container > .footer-time-item {
  display: flex;
  padding-bottom: 10px; }
  footer .footer-time-container > .footer-time-item > b {
    width: 102px; }

/* header-section */
.header-section {
  height: 100vh;
  min-height: 500px;
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center; }
  .header-section > .uk-section {
    position: relative;
    background-size: cover !important;
    height: 100%;
    width: 100%; }
    .header-section > .uk-section:after {
      content: "";
      position: absolute;
      height: 100%;
      width: 100%;
      top: 0;
      background: #0000008c; }
    .header-section > .uk-section > .uk-container {
      z-index: 1;
      position: relative;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center; }
    .header-section > .uk-section .header-title-row {
      max-width: 100vw; }
      .header-section > .uk-section .header-title-row h1 {
        color: var(--light-color); }

.tm-header {
  display: block !important;
  z-index: 2 !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important; }
  .tm-header > .tm-headerbar {
    background: transparent !important;
    padding-top: 60px; }

.scroll-btn {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 145px;
  margin: 0 auto;
  max-width: 1600px;
  width: 100%; }
  .scroll-btn > a {
    font-weight: normal;
    transform: rotate(270deg);
    color: var(--light-color);
    position: absolute;
    right: -85px;
    bottom: 0; }
    .scroll-btn > a:hover {
      text-decoration: unset; }
  .scroll-btn.scroll-up-btn {
    bottom: 55px; }
    .scroll-btn.scroll-up-btn > a {
      transform: rotate(-90deg);
      color: var(--primary-color); }

/* menu-bar */
#menu-section {
  z-index: 3;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--primary-color); }
  #menu-section .menu-logo {
    padding-right: 20px; }
    #menu-section .menu-bar-row > div {
      display: flex;
      justify-content: space-between; }
  #menu-section.fixed-menu {
    position: fixed;
    top: 0;
    width: 100%; }
  #menu-section .menu-sublayout {
    display: flex;
    align-items: center; }
    #menu-section .menu-sublayout .menu-sublayout-row > div {
      display: flex;
      gap: 36px; }

.header-buttons-menu {
  display: flex; }
  .header-buttons-menu > .uk-grid, .header-buttons-menu > .uk-subnav {
    margin-left: 0 !important;
    gap: 50px; }
    .header-buttons-menu > .uk-grid > .el-item, .header-buttons-menu > .uk-subnav > .el-item {
      width: auto;
      padding-left: 0 !important; }
      .header-buttons-menu > .uk-grid > .el-item a, .header-buttons-menu > .uk-subnav > .el-item a {
        font-size: var(--font-size); }
        .header-buttons-menu > .uk-grid > .el-item.uk-active > a:after, .header-buttons-menu > .uk-subnav > .el-item.uk-active > a:after {
          transform: translateY(-5px) scaleX(1); }

/* mobile menu */
.tm-header-mobile {
  z-index: 3;
  display: none !important; }

#menu-section .header-mobile-btn {
  display: none; }
  #menu-section .header-mobile-btn > .uk-navbar-toggle {
    transition: 0.15s ease-in-out; }
    #menu-section .header-mobile-btn > .uk-navbar-toggle:hover {
      color: var(--accent-color); }

#tm-dialog-mobile > .uk-offcanvas-bar {
  color: var(--primary-color) !important;
  padding-top: 60px;
  padding-left: 25px; }
  #tm-dialog-mobile > .uk-offcanvas-bar .uk-offcanvas-close {
    top: 15px;
    color: var(--primary-color) !important; }
    #tm-dialog-mobile > .uk-offcanvas-bar .uk-offcanvas-close > svg {
      width: 20px; }
  #tm-dialog-mobile > .uk-offcanvas-bar #module-menu-dialog-mobile {
    display: none !important; }
  #tm-dialog-mobile > .uk-offcanvas-bar .header-buttons-menu {
    width: 100%;
    display: flex;
    justify-content: center; }
    #tm-dialog-mobile > .uk-offcanvas-bar .header-buttons-menu > .uk-grid, #tm-dialog-mobile > .uk-offcanvas-bar .header-buttons-menu > .uk-subnav {
      display: flex;
      justify-content: start;
      align-items: center;
      flex-direction: column;
      gap: unset !important; }
      #tm-dialog-mobile > .uk-offcanvas-bar .header-buttons-menu > .uk-grid > .el-item, #tm-dialog-mobile > .uk-offcanvas-bar .header-buttons-menu > .uk-subnav > .el-item {
        margin-bottom: 18px; }
        #tm-dialog-mobile > .uk-offcanvas-bar .header-buttons-menu > .uk-grid > .el-item a, #tm-dialog-mobile > .uk-offcanvas-bar .header-buttons-menu > .uk-subnav > .el-item a {
          font-weight: normal;
          font-size: 24px; }
#tm-dialog-mobile .custom-lang-switcher {
  margin-top: 4px; }
  #tm-dialog-mobile .custom-lang-switcher > ul {
    display: flex;
    justify-content: center; }
    #tm-dialog-mobile .custom-lang-switcher > ul > li > a {
      font-size: 25px; }

.section-border-top {
  /*border-top: 1px solid;*/ }

.default-panel {
  border: unset !important; }
  .default-panel .uk-card-body {
    padding: 55px 0 !important; }
  .default-panel .uk-card-media-bottom {
    margin-top: 15px; }

.content-panel .uk-margin-large-top {
  margin-top: 56px !important; }
.content-panel .el-content {
  max-width: 1200px;
  text-align: center !important;
  margin: 0 auto; }
.content-panel picture imgf {
  width: calc(100% + 80px);
  margin-left: -40px;
  max-width: 1800px; }

/* readmore-row */
.readmore-row .arrow-btn {
  text-decoration: underline; }
  .readmore-row .arrow-btn .uk-icon {
    margin-right: 20px !important;
    width: 38px;
    background: var(--accent-color);
    color: var(--light-color);
    border-radius: 60px;
    padding: 5px; }
    .readmore-row .arrow-btn .uk-icon > svg {
      width: inherit; }

/* image-section */
.image-section .uk-section {
  position: relative; }
  .image-section .uk-section:after {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, transparent 35%, var(--light-color)); }
.image-section.image-section-top {
  margin-top: 20px; }
  .image-section.image-section-top .uk-section:after {
    background: linear-gradient(180deg, transparent 35%, var(--light-color)); }

/* aktuelles */
.news-grid .el-item.uk-panel > .uk-grid > .uk-first-column > .uk-grid > .uk-first-column {
  width: 44%; }
.news-grid .el-item.uk-panel > .uk-grid .el-meta {
  display: flex;
  align-items: center; }
  .news-grid .el-item.uk-panel > .uk-grid .el-meta > .uk-icon {
    width: 19px;
    margin-right: 10px; }
.news-grid .el-item.uk-panel > .uk-grid > .uk-width-1-3\@s {
  width: 30%; }

.detail-header .detail-header-datum {
  display: flex;
  justify-content: center;
  align-items: center; }
  .detail-header .detail-header-datum .uk-icon {
    margin-right: 12px; }
    .detail-header .detail-header-datum .uk-icon > svg {
      width: 25px; }

.detail-content .detail-content-column-1 {
  border-right: 1px solid; }

.detail-gallery-row {
  margin-top: 120px !important; }

/* team */
.team-grid .el-item {
  height: 100%; }
  .team-grid .el-item > a {
    height: 100%; }
    .team-grid .el-item > a .el-image {
      height: 100%;
      object-fit: cover; }
.team-grid .uk-overlay {
  padding-left: 25px; }
  .team-grid .uk-overlay .el-title {
    text-align: left;
    font-size: 28px; }
  .team-grid .uk-overlay .el-meta {
    text-align: left;
    font-size: 17px; }
    .team-grid .uk-overlay .el-content > ul {
      padding-left: 22px;
      list-style: square;
      text-align: left; }
.team-grid > .uk-grid > div > .el-item > a:hover .team-info-element {
  opacity: 0;
  transform: translateY(-7px); }
.team-grid .team-info-element {
  transition: 0.25s ease-in-out;
  position: absolute;
  bottom: 24px;
  left: 25px;
  text-align: left;
  transform: translateY(0px);
  padding-right: 10px; }
  .team-grid .team-info-element .team-info-title {
    font-size: 28px; }
  .team-grid .team-info-element .team-info-subtitle {
    font-size: 17px; }
.team-grid.aerzte-grid .el-content {
  text-align: left;
  margin-top: 20px !important; }

/* responsive */
@media only screen and (max-width: 1690px) {
  .scroll-btn > a {
    right: -35px; } }

@media only screen and (max-width: 1635px) {
  .scroll-btn > a {
    right: 40px; } }

@media only screen and (max-width: 1069px) {
  footer .footer-bottom-row {
    justify-content: center;
    row-gap: 45px; }
  footer .footer-column-1 {
    width: 50%;
    max-width: 540px; }
  footer .footer-column-2 {
    width: 50%;
    max-width: 540px; } }

@media only screen and (max-width: 1049px) {
  #menu-section .menu-sublayout {
    display: none !important; }
  #menu-section .header-mobile-btn {
    display: flex; } }

@media only screen and (min-width: 960px) {
  .news-detail-section > .uk-container {
    max-width: 1280px; }
    .news-detail-section > .uk-container .detail-content-headline {
      padding-right: 40px;
      display: flex;
      justify-content: end; }
    .news-detail-section > .uk-container .detail-content-column-2 {
      padding-left: 40px; } }

@media only screen and (max-width: 959px) {
  .scroll-btn > a {
    right: -15px; }
    .detail-content .detail-content-column-1 {
      border-right: unset; } }

@media only screen and (max-height: 820px) {
  .scroll-btn {
    bottom: 70px; } }

@media only screen and (max-width: 676px) {
  .header-section > .uk-section .header-title-row > div {
    padding: 0 !important; } }

@media only screen and (max-width: 599px) {
  footer .footer-bottom-row {
    justify-content: center;
    row-gap: 50px; }
  footer .footer-column-1, footer .footer-column-2, footer .footer-column-3 {
    width: 100%;
    max-width: 315px; } }
