@font-face {
  font-family: 'Anton';
  src: url('/fonts/Anton-Regular.woff2') format('woff2'),
    url('/fonts/Anton-Regular.woff') format('woff'),
    url('/fonts/Anton-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-Regular.woff2') format('woff2'),
    url('/fonts/Montserrat-Regular.woff') format('woff'),
    url('/fonts/Montserrat-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-LightItalic.woff2') format('woff2'),
    url('/fonts/Montserrat-LightItalic.woff') format('woff'),
    url('/fonts/Montserrat-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-Light.woff2') format('woff2'),
    url('/fonts/Montserrat-Light.woff') format('woff'),
    url('/fonts/Montserrat-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-Medium.woff2') format('woff2'),
    url('/fonts/Montserrat-Medium.woff') format('woff'),
    url('/fonts/Montserrat-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-Italic.woff2') format('woff2'),
    url('/fonts/Montserrat-Italic.woff') format('woff'),
    url('/fonts/Montserrat-Italic.ttf') format('truetype');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-MediumItalic.woff2') format('woff2'),
    url('/fonts/Montserrat-MediumItalic.woff') format('woff'),
    url('/fonts/Montserrat-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-ExtraBoldItalic.woff2') format('woff2'),
    url('/fonts/Montserrat-ExtraBoldItalic.woff') format('woff'),
    url('/fonts/Montserrat-ExtraBoldItalic.ttf') format('truetype');
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-BoldItalic.woff2') format('woff2'),
    url('/fonts/Montserrat-BoldItalic.woff') format('woff'),
    url('/fonts/Montserrat-BoldItalic.ttf') format('truetype');
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-SemiBoldItalic.woff2') format('woff2'),
    url('/fonts/Montserrat-SemiBoldItalic.woff') format('woff'),
    url('/fonts/Montserrat-SemiBoldItalic.ttf') format('truetype');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-ExtraLight.woff2') format('woff2'),
    url('/fonts/Montserrat-ExtraLight.woff') format('woff'),
    url('/fonts/Montserrat-ExtraLight.ttf') format('truetype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-ExtraBold.woff2') format('woff2'),
    url('/fonts/Montserrat-ExtraBold.woff') format('woff'),
    url('/fonts/Montserrat-ExtraBold.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-Bold.woff2') format('woff2'),
    url('/fonts/Montserrat-Bold.woff') format('woff'),
    url('/fonts/Montserrat-Bold.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-Black.woff2') format('woff2'),
    url('/fonts/Montserrat-Black.woff') format('woff'),
    url('/fonts/Montserrat-Black.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-ThinItalic.woff2') format('woff2'),
    url('/fonts/Montserrat-ThinItalic.woff') format('woff'),
    url('/fonts/Montserrat-ThinItalic.ttf') format('truetype');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-BlackItalic.woff2') format('woff2'),
    url('/fonts/Montserrat-BlackItalic.woff') format('woff'),
    url('/fonts/Montserrat-BlackItalic.ttf') format('truetype');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-Thin.woff2') format('woff2'),
    url('/fonts/Montserrat-Thin.woff') format('woff'),
    url('/fonts/Montserrat-Thin.ttf') format('truetype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-ExtraLightItalic.woff2') format('woff2'),
    url('/fonts/Montserrat-ExtraLightItalic.woff') format('woff'),
    url('/fonts/Montserrat-ExtraLightItalic.ttf') format('truetype');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat-SemiBold.woff2') format('woff2'),
    url('/fonts/Montserrat-SemiBold.woff') format('woff'),
    url('/fonts/Montserrat-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

h1, h2, h2 a:link, h2 a:visited {
  font-family: 'Anton' !important;
  text-transform: uppercase;
  font-size: 50px !important;
  font-weight: 300;
  width: fit-content;
}

h3 {
  font-family: 'Anton' !important;
  text-transform: uppercase;
  font-size: 50px;
  font-weight: 300;
  width: fit-content;
}

h4 {
  font-family: 'Anton' !important;
  color: #ffffff;
}

.hornav, .hornav ul ul, .hornav ul ul a {
  font-family: 'Anton' !important;
}

body, .btn, .button, button {
  font-family: 'Montserrat' !important;
}

.videodesktop {
  display: block;
}

.videomobile {
  display: none;
}

.mobilemenu {
  display: inline-flex;
}

/*-------------------GDPR-----------------*/
.sm-open-111 .cc-revoke {
  display: none;
}

.cc-window.cc-floating.cc-type-opt-in.cc-theme-edgeless a {
  color: #ffffff !important;
}

.cc-compliance.cc-highlight a.cc-btn.cc-allow {
  color: #000000 !important;
}

.cc-revoke.cc-left {
  left: -20px !important;
  right: auto;
  transform: rotate(90deg);
  bottom: 70px !important;
}

.cc-revoke:hover {
  transform: rotate(90deg) !important;
}

.cc-revoke img {
  width: 50px;
  height: 100px;
}

.powr-social-feed:before {
  content: 'Sie müssen Cookies akzeptieren und die Seite neu laden, um diesen Inhalt anzuzeigen';
  left: 0;
  right: 0;
  position: absolute;
  min-height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  bottom: 0;
  background-color: #dfdfdf;
}

.powr-social-feed.powrLoaded:before {
  display: none;
}

/*----------------header---------*/
#container_header-sticky-wrapper {
  position: absolute;
}

.container_header {
  padding-top: 0px;
  box-shadow: 0 0px 0px rgba(0, 0, 0, 0), 0 0px 0px rgba(0, 0, 0, 0), 0 0px 0px rgba(0, 0, 0, 0), 0 0px 0px rgba(0, 0, 0, 0);
}

.scrolled .container_header {
  padding-top: 0px;
}

.container_header:after {
  height: 0px;
  display: none;
}

#header_main {
  box-shadow: 0px 3px 6px #00000029;
}

/*-------------Logo---------------*/
.scrolled .logo img {
  width: 220px;
}

.logo img {
  width: 300px;
}

/*-----------------Hornav-------------*/
.hornav ul.menu>li>a, .hornav ul.menu>li>span {
  font-size: 25px;
  padding: 15px 20px;
  font-weight: normal;
}

.hornav ul.menu>li>a:hover, .hornav ul.menu>li>span:hover {
  color: rgb(166, 25, 29);
}

#hornav-nav ul li.item-154, .off-nav-161 {
  background: rgb(166, 25, 29);
  border-radius: 5px !important;
  box-shadow: 0px 3px 6px #00000029;
}

.sm-menu .active, .sm-menu dt:hover {
  background: -moz-linear-gradient(90deg, rgba(166, 25, 29, 0) 0%, rgba(166, 25, 29, 1) 40%, rgba(166, 25, 29, 1) 60%, rgba(166, 25, 29, 0) 100%) !important;
  background: -webkit-linear-gradient(90deg, rgba(166, 25, 29, 0) 0%, rgba(166, 25, 29, 1) 40%, rgba(166, 25, 29, 1) 60%, rgba(166, 25, 29, 0) 100%) !important;
  background: linear-gradient(90deg, rgba(166, 25, 29, 0) 0%, rgba(166, 25, 29, 1) 40%, rgba(166, 25, 29, 1) 60%, rgba(166, 25, 29, 0) 100%) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#a6191d", endColorstr="#a6191d", GradientType=1) !image-orientation:;
}

#hornav-nav ul li.item-154 a, .off-nav-161 a {
  color: #ffffff !important;
}

.hornav ul.menu>li.active>a {
  color: rgb(166 25 29);
}

.hornav ul.menu>li:hover.active>a {
  color: var(--primary);
}

/*-----------------Kontakt oben -------------*/
.kontaktoben .mod-custom div {
  display: flex;
  justify-content: center;
  align-items: center;
}

.kontaktoben a {
  display: flex;
  justify-content: center;
  align-items: center;
}

i.fa {
  color: #a6191d;
  font-size: 26px;
}

i.fa:first-child {
  padding-right: 20px;
}

/*------------vertical menue-------------*/
.sm-parent {
  display: flex;
  justify-content: center;
  align-items: center;
}

.menu-icon3 span:nth-child(1) {
  left: 5px !important;
  width: 25px !important;
}

.menu-icon3 span:nth-child(3) {
  left: 5px !important;
  width: 25px !important;
}

#off-menu_111 dt.level1 {
  animation: fadeInMoMenue cubic-bezier(0.5, 0, 1, 1) 1050ms forwards;
  opacity: 0;
}

#off-menu_111 dt.level1.off-nav-156 {
  animation-delay: 100ms;
}

#off-menu_111 dt.level1.off-nav-157 {
  animation-delay: 300ms;
}

#off-menu_111 dt.level1.off-nav-158 {
  animation-delay: 500ms;
}

#off-menu_111 dt.level1.off-nav-159 {
  animation-delay: 700ms;
}

@keyframes fadeInMoMenue {
  0% {
    opacity: 0;
    transform: translateY(-150px);
  }

  75% {
    opacity: .2;
  }

  100% {
    opacity: 1;
    transform: translateY(0px);
  }

  ;
}

/*-------------------Showcase--------------*/
.showcaseoverlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.showcase-1a video {
  margin-bottom: -15px;
}

/*---------------------top 1----------------*/
#container_top1_modules .block_holder {
  padding-top: 80px;
  padding-bottom: 80px;
}

#container_top1_modules .moduletable {
  position: relative;
}

#container_top1_modules h1 {
  font-size: 80px !important;
  margin-bottom: 0px;
}

.leistungen {
  display: flex;
  justify-content: space-between;
}

.leistungen p {
  width: 30%;
}

/*---------------------top 2----------------*/
#container_top2_modules .block_holder {
  padding-top: 80px;
  padding-bottom: 80px;
}

#container_top2_modules h3 {
  position: relative;
}

#container_top2_modules .uk-scope h4 {
  color: #ffffff;
  font-size: 30px;
  background: transparent;
  -webkit-background-clip: none;
  -webkit-text-fill-color: inherit;
  text-shadow: 0 0 0px rgba(0, 0, 0, 0);
}

#container_top2_modules .uk-scope img {
  max-width: 300px;
  border: 5px solid white;
  border-bottom: 30px solid white;
}

.uk-scope .uk-grid-item-match>:not([class*=uk-width]), .uk-scope .uk-grid-match>*>:not([class*=uk-width]) {
  flex: auto;
  display: flex;
  justify-content: center;
}

.uk-scope .uk-grid {
  margin-left: 0px !important;
}

.uk-scope .uk-grid>* {
  padding-left: 0px !important;
}

/*---------------Top 3--------------------*/
#container_top3_modules .block_holder {
  padding-top: 80px;
  padding-bottom: 80px;
}

#container_top3_modules h3 {
  position: relative;
}

/*---------------Maincontent--------------*/
.itemid-155 #container_main {
  display: none;
}

/*-------------------Bottom3-----------------*/
#container_bottom3_modules button {
  padding: 10px 20px;
  box-shadow: 5px 3px 6px #00000029;
  border-radius: 5px;
  font-family: 'Anton' !important;
  font-size: 23px;
  text-transform: uppercase;
}

#container_bottom3_modules button.cf-btn {
  font-family: 'Anton' !important;
  font-size: 25px;
  text-transform: uppercase;
}

#container_bottom3_modules h3 {
  color: white !important;
}

#container_bottom3_modules a {
  color: #ffffff;
  text-decoration: none;
}

#container_bottom3_modules h1 {
  color: #ffffff;
}

#bottom3_modules .contentinline {
  width: 100%;
  color: #ffffff;
}

#bottom3_modules .contentinline {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  line-height: normal;
  font-weight: 300;
}

#bottom3_modules.block_holder {
  padding: 50px 0px;
}

#bottom3_modules .contentinline .contentleft {
  position: relative;
  display: flex;
  flex-direction: column;
  text-align: left;
  width: 30%;
  margin-top: 50px;
  font-size: 25px;
}

#bottom3_modules .contentinline .contentright {
  max-width: 70%
}

.kontaktlayerrow {
  display: inline-flex;
  align-items: center;
  padding-bottom: 5px;
}

.kontaktlayerrow div:last-child {
  padding-left: 15px;
  line-height: 1.2;
}

.kontaktlayerrow .mapicon {
  min-width: 50px;
}

/*------------------Base2-----------*/
#container_base1_modules, #container_base2_modules, #footer-1, #footer-2 {
  color: #ffffff;
  --text-main: #ffffff;
}

#container_base2_modules {
  padding: 50px 0px;
}

#container_base2_modules h2 {
  font-size: 30px !important;
}

#container_base2_modules a {
  color: #ffffff;
  text-decoration: none;
}

#wrapper_base-2.block_holder_margin {
  align-items: center;
}

#container_base2_modules .clear {
  display: none;
}

.base-2b .custom {
  display: flex;
  flex-direction: column;
}

.base-2c .custom img {
  width: 220px;
}

#container_base2_modules .icons img {
  width: 26px
}

/*--------------------Footer Menu---------------*/
#container_footer {
  padding: 20px;
}

.footermenu ul li a {
  color: #ffffff;
}

.footermenu ul li a:after, .footermenu ul li span:after {
  content: " | ";
  margin-left: 10px;
  font-weight: bold;
  font-size: 15px;
}

.footermenu ul li a:hover {
  text-decoration: none;
}

.container_footer .wrapper960 {
  padding: 0px;
}

/*-------------------Back-to-Top-------------*/
.back-to-top svg {
  fill: black;
}

.back-to-top {
  box-shadow: 0px 3px 6px #00000029;
}

.back-to-top:hover {
  background: white;
}

/*---------------Mobile Footer--------------*/
.mobilefooter {
  display: none;
  text-align: center;
  background-color: #cf1;
  width: 100%;
}

.mobilefooter p {
  margin-bottom: 0px;
}

@media only screen and (max-width: 1700px) {
  .hornav ul.menu>li>a, .hornav ul.menu>li>span {
    font-size: 20px;
    padding: 10px 15px;
  }
}

@media only screen and (max-width: 1460px) {
  .hornav ul.menu>li>a, .hornav ul.menu>li>span {
    padding: 10px 10px;
  }
}

@media only screen and (max-width: 1350px) {
  #container_header-sticky-wrapper {
    position: relative;
  }

  .container_header {
    padding-top: 0px;
  }

  .block_holder {
    padding-left: 10px;
    padding-right: 10px;
  }

  #container_top1_modules .custom {
    padding-left: 0px;
    margin-top: 0px;
  }

  #container_bottom3_modules {
    margin-left: 0px;
    margin-right: 0px;
  }

  #bottom3_modules.block_holder {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media only screen and (max-width: 1024px) {

  /*Header*/
  .logo img {
    width: 200px;
  }

  .scrolled .logo img {
    width: 170px;
  }

  i.fa {
    font-size: 23px;
  }

  i.fa:first-child {
    padding-right: 10px;
  }

  /*Top 1*/
  .leistungen {
    display: block;
  }

  .leistungen p {
    width: 100%;
  }

  /*Footer*/
  #container_base2_modules .icons img {
    width: 23px
  }
}

@media only screen and (max-width: 968px) {
  #bottom3_modules .contentinline {
    flex-direction: column;
    justify-content: center;
  }

  #bottom3_modules .contentinline .contentleft {
    padding-left: 30px;
  }

  #bottom3_modules .contentinline .contentleft, #bottom3_modules .contentinline .contentright {
    max-width: 100%;
    width: 100%;
  }
}

@media only screen and (max-width: 767px) {
  #container_top2_modules .uk-scope h4 {
    font-size: 20px;
  }

  h1, h2, h2 a:link, h2 a:visited, h3 {
    font-size: 35px !important;
  }

  body {
    font-size: 16px;
  }

  /*Top 1*/
  #container_top1_modules h1 {
    font-size: 48px !important;
    margin-bottom: 0px;
  }

  /*Top 3*/
  img.portrait {
    width: 200px;
  }

  /*Base 2*/
  #wrapper_base-2 {
    display: flex;
    justify-content: center;
    flex-direction: column;
  }

  .base-2 {
    max-width: 300px !important;
  }

  .base-2c .custom img {
    width: 130px;
  }
}

@media only screen and (max-width: 640px) {
  .videodesktop {
    display: none;
  }

  .videomobile {
    display: block;
  }

  .mobilefooter {
    display: block;
    position: fixed;
  }

  #container_top1_modules .moduletable:before {
    position: absolute;
    content: '';
    width: 300px;
    height: 300px;
  }
}

@media only screen and (max-width: 525px) {
  #container_bottom3_modules .moduletable h2 {
    font-size: 25px !important;
    line-height: 25px;
    top: -60px;
  }

  .logo img {
    max-width: 140px;
  }

  .scrolled .logo img {
    width: 130px;
  }
}

@media only screen and (max-width: 356px) {
  .footermenu .mod-menu.mod-list.menu {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .footermenu .mod-menu.mod-list.menu img {
    width: 25px;
  }

  .footermenu ul li a:after, .footermenu ul li span:after {
    display: none;
  }
}