/* -- colors -- */
/* -- fonts -- */
/* -- breakpoints -- */
/* -- widths -- */
/* -- import SCSS -- */
/* ===== reset css ===== */
html {
  padding: 0;
  border: 0;
}

body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, form, fieldset, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  vertical-align: baseline;
}

article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block;
}

body {
  line-height: 130%;
  background: #fff;
}

section {
  display: block;
}

form {
  display: inline;
}

table {
  border-collapse: separate;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  float: none !important;
}

table, th, td {
  vertical-align: middle;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
}

blockquote, q {
  quotes: "" "";
}

a img {
  border: none;
}

:focus {
  outline: 0;
}

/* ===== basics ===== */
* {
  font-family: "Oswald Regular", Arial, Verdana, sans-serif;
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: top;
  text-rendering: auto;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.clear {
  clear: both;
}

.cleanup {
  clear: both;
  height: 1px;
  line-height: 1px;
  font-size: 1px;
  margin: -1px 0;
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix:before,
.clearfix:after {
  content: " "; /* 1 */
  display: table; /* 2 */
}

.clearfix:after {
  clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.clearfix {
  *zoom: 1;
}

.b, b, .bold, strong {
  color: inherit;
  font-size: inherit;
  font-weight: bold;
}

.nobr {
  white-space: nowrap;
}

em, i {
  color: inherit;
  font-size: inherit;
  font-style: italic;
}

/*
*	_fonts.scss
*	external font files
*/
/* STATIC FONTS */
@font-face {
  font-family: "Oswald Regular";
  font-style: normal;
  font-weight: 400;
  src: url(/wp-content/themes/rsv-hoerste/_shared/fonts/oswald/oswald-regular.woff2) format("woff2");
}
@font-face {
  font-family: "Oswald Bold";
  font-style: normal;
  font-weight: 700;
  src: url(/wp-content/themes/rsv-hoerste/_shared/fonts/oswald/oswald-bold.woff2) format("woff2");
}
/* VARIABLE FONTS */
@font-face {
  font-family: "Assistant";
  font-weight: 200 800;
  src: url(/wp-content/themes/rsv-hoerste/_shared/fonts/assistant/assistant_variable.woff2) format("woff2 supports variations"), url(/wp-content/themes/rsv-hoerste/_shared/fonts/assistant/assistant_variable.woff2) format("woff2-variations");
}
/*
common weight name mapping:
100	Thin (Hairline)
200	Extra Light (Ultra Light)
300	Light
400	Normal (Regular)
500	Medium
600	Semi Bold (Demi Bold)
700	Bold
800	Extra Bold (Ultra Bold)
900	Black (Heavy)
950	Extra Black (Ultra Black)
*/
/*
*	_mixins.scss
*	some mixins
*/
/* === clamp functions === */
/**
 *
 *	clamp-fontsize
 *
 *	@param $minSize - minimum fontsize on smallest viewport breatpoint in REM
 *	@param $maxSize - maximum fontsize on widest viewport breakpoint in REM
 *
 *	see: https://www.smashingmagazine.com/2022/10/fluid-typography-clamp-sass-functions/
 *	changes: input vars in REM instead of px
 *
 */
/**
 *
 *	clamp-margin
 *
 *	@param $minSize - minimum fontsize on smallest viewport breatpoint in REM
 *	@param $maxSize - maximum fontsize on widest viewport breakpoint in REM
 *
 *	see: https://www.smashingmagazine.com/2022/10/fluid-typography-clamp-sass-functions/
 *	changes: input vars in REM instead of px
 *
 */
/*
*	plugin: elementor
*/
/* === entrance animations === */
/* -- fadeInUp -- */
@-webkit-keyframes KrfadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
            transform: translate3d(0, 30px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@keyframes KrfadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
            transform: translate3d(0, 30px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
.fadeInUp {
  -webkit-animation-name: KrfadeInUp !important;
          animation-name: KrfadeInUp !important;
}

/* -- fadeInDown -- */
@-webkit-keyframes KrfadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@keyframes KrfadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
.fadeInDown {
  -webkit-animation-name: KrfadeInDown !important;
          animation-name: KrfadeInDown !important;
}

/* -- fadeInRight -- */
@-webkit-keyframes KrfadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(30px, 0, 0);
            transform: translate3d(30px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@keyframes KrfadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(30px, 0, 0);
            transform: translate3d(30px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
.fadeInRight {
  -webkit-animation-name: KrfadeInRight !important;
          animation-name: KrfadeInRight !important;
}

/* -- fadeInLeft -- */
@-webkit-keyframes KrfadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-30px, 0, 0);
            transform: translate3d(-30px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@keyframes KrfadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-30px, 0, 0);
            transform: translate3d(-30px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
.fadeInLeft {
  -webkit-animation-name: KrfadeInLeft !important;
          animation-name: KrfadeInLeft !important;
}

/* === elementor: boxed container === */
.e-con-boxed {
  padding-left: 5% !important;
  padding-right: 5% !important;
}

.e-con-boxed .e-con-inner {
  max-width: 1160px;
}

/* === elementor: images === */
.elementor-widget-image a img[src$=".svg"] {
  /*width: inherit !important;*/
}

.elementor-image a {
  display: block;
}

/* === elementor: buttons === */
/* -- General -- */
.elementor-widget-button {
  /*
  display: inline-block;

  .elementor-widget-container {
  	display: inline-block;
  }
  */
}

.elementor-button span {
  line-height: 1;
}

.elementor-button-content-wrapper {
  gap: 0.75rem !important;
}

.elementor-button-icon svg {
  font-size: 0.65rem;
  height: 100% !important;
}

/* -- "Information" -- */
.elementor-button-info .elementor-button,
.btn-type-1 .elementor-button {
  background-color: #2d681d !important;
  border: 1px solid #2d681d !important;
}
.elementor-button-info .elementor-button .elementor-button-icon,
.elementor-button-info .elementor-button .elementor-button-text,
.btn-type-1 .elementor-button .elementor-button-icon,
.btn-type-1 .elementor-button .elementor-button-text {
  color: #ffffff !important;
}
.elementor-button-info .elementor-button .elementor-button-icon svg,
.elementor-button-info .elementor-button .elementor-button-text svg,
.btn-type-1 .elementor-button .elementor-button-icon svg,
.btn-type-1 .elementor-button .elementor-button-text svg {
  fill: #ffffff !important;
}
.elementor-button-info .elementor-button:hover,
.btn-type-1 .elementor-button:hover {
  background-color: #ff0000 !important;
  border: 1px solid #ff0000 !important;
}
.elementor-button-info .elementor-button:hover .elementor-button-icon,
.elementor-button-info .elementor-button:hover .elementor-button-text,
.btn-type-1 .elementor-button:hover .elementor-button-icon,
.btn-type-1 .elementor-button:hover .elementor-button-text {
  color: #ffffff !important;
}
.elementor-button-info .elementor-button:hover .elementor-button-icon svg,
.elementor-button-info .elementor-button:hover .elementor-button-text svg,
.btn-type-1 .elementor-button:hover .elementor-button-icon svg,
.btn-type-1 .elementor-button:hover .elementor-button-text svg {
  fill: #ffffff !important;
}
.elementor-button-info .elementor-button:focus, .elementor-button-info .elementor-button:active,
.btn-type-1 .elementor-button:focus,
.btn-type-1 .elementor-button:active {
  background-color: #2d681d !important;
  border: 1px double #2d681d !important;
}
.elementor-button-info .elementor-button:focus .elementor-button-icon,
.elementor-button-info .elementor-button:focus .elementor-button-text, .elementor-button-info .elementor-button:active .elementor-button-icon,
.elementor-button-info .elementor-button:active .elementor-button-text,
.btn-type-1 .elementor-button:focus .elementor-button-icon,
.btn-type-1 .elementor-button:focus .elementor-button-text,
.btn-type-1 .elementor-button:active .elementor-button-icon,
.btn-type-1 .elementor-button:active .elementor-button-text {
  color: #ffffff !important;
}
.elementor-button-info .elementor-button:focus .elementor-button-icon svg,
.elementor-button-info .elementor-button:focus .elementor-button-text svg, .elementor-button-info .elementor-button:active .elementor-button-icon svg,
.elementor-button-info .elementor-button:active .elementor-button-text svg,
.btn-type-1 .elementor-button:focus .elementor-button-icon svg,
.btn-type-1 .elementor-button:focus .elementor-button-text svg,
.btn-type-1 .elementor-button:active .elementor-button-icon svg,
.btn-type-1 .elementor-button:active .elementor-button-text svg {
  fill: #ffffff !important;
}

/* -- "Erfolgsmeldung" -- */
.elementor-button-success .elementor-button,
.btn-type-2 .elementor-button {
  background-color: #ffffff !important;
  border: 1px solid #ff0000 !important;
}
.elementor-button-success .elementor-button .elementor-button-icon,
.elementor-button-success .elementor-button .elementor-button-text,
.btn-type-2 .elementor-button .elementor-button-icon,
.btn-type-2 .elementor-button .elementor-button-text {
  color: #ff0000 !important;
}
.elementor-button-success .elementor-button .elementor-button-icon svg,
.elementor-button-success .elementor-button .elementor-button-text svg,
.btn-type-2 .elementor-button .elementor-button-icon svg,
.btn-type-2 .elementor-button .elementor-button-text svg {
  fill: #ff0000 !important;
}
.elementor-button-success .elementor-button:hover,
.btn-type-2 .elementor-button:hover {
  background-color: #ffffff !important;
  border: 1px solid #2d681d !important;
}
.elementor-button-success .elementor-button:hover .elementor-button-icon,
.elementor-button-success .elementor-button:hover .elementor-button-text,
.btn-type-2 .elementor-button:hover .elementor-button-icon,
.btn-type-2 .elementor-button:hover .elementor-button-text {
  color: #2d681d !important;
}
.elementor-button-success .elementor-button:hover .elementor-button-icon svg,
.elementor-button-success .elementor-button:hover .elementor-button-text svg,
.btn-type-2 .elementor-button:hover .elementor-button-icon svg,
.btn-type-2 .elementor-button:hover .elementor-button-text svg {
  fill: #2d681d !important;
}
.elementor-button-success .elementor-button:focus, .elementor-button-success .elementor-button:active,
.btn-type-2 .elementor-button:focus,
.btn-type-2 .elementor-button:active {
  background-color: #2d681d !important;
  border: 1px double #2d681d !important;
}
.elementor-button-success .elementor-button:focus .elementor-button-icon,
.elementor-button-success .elementor-button:focus .elementor-button-text, .elementor-button-success .elementor-button:active .elementor-button-icon,
.elementor-button-success .elementor-button:active .elementor-button-text,
.btn-type-2 .elementor-button:focus .elementor-button-icon,
.btn-type-2 .elementor-button:focus .elementor-button-text,
.btn-type-2 .elementor-button:active .elementor-button-icon,
.btn-type-2 .elementor-button:active .elementor-button-text {
  color: #ff0000 !important;
}
.elementor-button-success .elementor-button:focus .elementor-button-icon svg,
.elementor-button-success .elementor-button:focus .elementor-button-text svg, .elementor-button-success .elementor-button:active .elementor-button-icon svg,
.elementor-button-success .elementor-button:active .elementor-button-text svg,
.btn-type-2 .elementor-button:focus .elementor-button-icon svg,
.btn-type-2 .elementor-button:focus .elementor-button-text svg,
.btn-type-2 .elementor-button:active .elementor-button-icon svg,
.btn-type-2 .elementor-button:active .elementor-button-text svg {
  fill: #ff0000 !important;
}

/* -- "Warnung" -- */
.elementor-button-warning .elementor-button,
.btn-type-3 .elementor-button {
  background-color: #ffffff !important;
  border: 1px solid #ffffff !important;
}
.elementor-button-warning .elementor-button .elementor-button-icon,
.elementor-button-warning .elementor-button .elementor-button-text,
.btn-type-3 .elementor-button .elementor-button-icon,
.btn-type-3 .elementor-button .elementor-button-text {
  color: #ff0000 !important;
}
.elementor-button-warning .elementor-button .elementor-button-icon svg,
.elementor-button-warning .elementor-button .elementor-button-text svg,
.btn-type-3 .elementor-button .elementor-button-icon svg,
.btn-type-3 .elementor-button .elementor-button-text svg {
  fill: #ff0000 !important;
}
.elementor-button-warning .elementor-button:hover,
.btn-type-3 .elementor-button:hover {
  background-color: #ff0000 !important;
  border: 1px solid #ff0000 !important;
}
.elementor-button-warning .elementor-button:hover .elementor-button-icon,
.elementor-button-warning .elementor-button:hover .elementor-button-text,
.btn-type-3 .elementor-button:hover .elementor-button-icon,
.btn-type-3 .elementor-button:hover .elementor-button-text {
  color: #ff0000 !important;
}
.elementor-button-warning .elementor-button:hover .elementor-button-icon svg,
.elementor-button-warning .elementor-button:hover .elementor-button-text svg,
.btn-type-3 .elementor-button:hover .elementor-button-icon svg,
.btn-type-3 .elementor-button:hover .elementor-button-text svg {
  fill: #ff0000 !important;
}

/* -- "Gefahr" -- */
.elementor-button-danger .elementor-button,
.btn-type-4 .elementor-button {
  background-color: transparent !important;
  border: 1px solid #ff0000 !important;
  -webkit-filter: none !important;
          filter: none !important;
}
.elementor-button-danger .elementor-button .elementor-button-icon,
.elementor-button-danger .elementor-button .elementor-button-text,
.btn-type-4 .elementor-button .elementor-button-icon,
.btn-type-4 .elementor-button .elementor-button-text {
  color: #ff0000 !important;
}
.elementor-button-danger .elementor-button .elementor-button-icon svg,
.elementor-button-danger .elementor-button .elementor-button-text svg,
.btn-type-4 .elementor-button .elementor-button-icon svg,
.btn-type-4 .elementor-button .elementor-button-text svg {
  fill: #ff0000 !important;
}
.elementor-button-danger .elementor-button:hover,
.btn-type-4 .elementor-button:hover {
  background-color: #ff0000 !important;
  border: 1px solid #ff0000 !important;
}
.elementor-button-danger .elementor-button:hover .elementor-button-icon,
.elementor-button-danger .elementor-button:hover .elementor-button-text,
.btn-type-4 .elementor-button:hover .elementor-button-icon,
.btn-type-4 .elementor-button:hover .elementor-button-text {
  color: #ffffff !important;
}
.elementor-button-danger .elementor-button:hover .elementor-button-icon svg,
.elementor-button-danger .elementor-button:hover .elementor-button-text svg,
.btn-type-4 .elementor-button:hover .elementor-button-icon svg,
.btn-type-4 .elementor-button:hover .elementor-button-text svg {
  fill: #ffffff !important;
}

/* -- Elementor slider -- */
.swiper-slide-contents .elementor-button {
  background-color: #2d681d !important;
  border: 1px solid #2d681d !important;
}
.swiper-slide-contents .elementor-button .elementor-button-icon,
.swiper-slide-contents .elementor-button .elementor-button-text {
  color: #ffffff !important;
}
.swiper-slide-contents .elementor-button .elementor-button-icon svg,
.swiper-slide-contents .elementor-button .elementor-button-text svg {
  fill: #ffffff !important;
}
.swiper-slide-contents .elementor-button:hover {
  background-color: #ffffff !important;
  border: 1px solid #95a5a6 !important;
}
.swiper-slide-contents .elementor-button:hover .elementor-button-icon,
.swiper-slide-contents .elementor-button:hover .elementor-button-text {
  color: #95a5a6 !important;
}
.swiper-slide-contents .elementor-button:hover .elementor-button-icon svg,
.swiper-slide-contents .elementor-button:hover .elementor-button-text svg {
  fill: #ff0000 !important;
}

/* === elementor: gallery === */
a.elementor-gallery-item {
  border: 0 !important;
}

.pp-icon i,
.pp-icon svg {
  line-height: 1;
}

/* === elementor: popups === */
.btn-close-popup .dialog-close-button {
  color: transparent !important;
  padding: 10px;
}
.btn-close-popup .dialog-close-button:hover svg {
  fill: #ff0000 !important;
}

/* === elementor: icon list === */
.elementor-widget-icon-list .elementor-icon-list-item {
  margin-bottom: 0.75rem !important;
}
.elementor-widget-icon-list .elementor-icon-list-item a {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
}
.elementor-widget-icon-list .elementor-icon-list-item a .elementor-icon-list-icon {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  font-size: clamp(1rem, 0.21vw + 0.96rem, 1.125rem);
  color: #ff0000;
}
.elementor-widget-icon-list .elementor-icon-list-item a .elementor-icon-list-text {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  font-size: clamp(1rem, 0.21vw + 0.96rem, 1.125rem);
  color: #ff0000;
  -webkit-text-decoration: underline 1px solid #ff0000;
          text-decoration: underline 1px solid #ff0000;
  text-underline-offset: 2px;
}
.elementor-widget-icon-list .elementor-icon-list-item a:hover {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
}
.elementor-widget-icon-list .elementor-icon-list-item a:hover .elementor-icon-list-icon {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  font-size: clamp(1rem, 0.21vw + 0.96rem, 1.125rem);
  color: #2d681d;
  text-shadow: 0 0 1px #2d681d;
  -webkit-text-decoration: underline 1px solid #2d681d;
          text-decoration: underline 1px solid #2d681d;
}
.elementor-widget-icon-list .elementor-icon-list-item a:hover .elementor-icon-list-text {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  font-size: clamp(1rem, 0.21vw + 0.96rem, 1.125rem);
  color: #2d681d;
  text-shadow: 0 0 1px #2d681d;
  -webkit-text-decoration: underline 1px solid #2d681d;
          text-decoration: underline 1px solid #2d681d;
}
.elementor-widget-icon-list .elementor-icon-list-item:first-child a .elementor-icon-list-text {
  text-decoration: none !important;
  font-weight: 600;
  text-shadow: none;
}

/* -- input placeholder -- */
::-webkit-input-placeholder { /* WebKit browsers */
  color: #ff0000;
}

:focus::-webkit-input-placeholder { /* WebKit browsers */
  color: #ff0000;
}

:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
  color: #ff0000;
}

:focus:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
  color: #ff0000;
}

::-moz-placeholder { /* Mozilla Firefox 19+ */
  color: #ff0000;
}

:focus::-moz-placeholder { /* Mozilla Firefox 19+ */
  color: #ff0000;
}

:-ms-input-placeholder { /* Internet Explorer 10+ */
  color: #ff0000;
}

:focus:-ms-input-placeholder { /* Internet Explorer 10+ */
  color: #ff0000;
}

/* -- scrollbars -- */
::-webkit-scrollbar {
  width: 10px;
  background: #000000;
}

::-webkit-scrollbar-track {
  background: none;
}

::-webkit-scrollbar-thumb {
  background: #2d681d;
}

/* -- general -- */
body {
  font-family: "Assistant", Arial, Verdana, sans-serif;
  font-weight: 400;
  color: #ffffff;
  line-height: 160%;
  background: #000000;
  background-image: url(/wp-content/uploads/2014/12/background_rsv_logo1.jpg);
  background-attachment: fixed;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow-x: hidden;
}
body.page-id-10, body.parent-pageid-10, body.page-id-12, body.parent-pageid-12, body.page-id-14, body.parent-pageid-14, body.page-id-17, body.parent-pageid-17, body.page-id-224 {
  background-image: url(/wp-content/uploads/2025/02/background_rsv_logo_halle.jpg);
}
body img,
body object {
  width: auto;
  max-width: 100%;
  height: auto;
}
body ul,
body ol {
  padding-bottom: 0.5rem;
}
body ul li,
body ol li {
  margin: 0 0 0.25rem 1.5rem;
}
body ul {
  list-style-type: square;
}
body .elementor-text-editor,
body p,
body li {
  font-family: "Assistant", Arial, Verdana, sans-serif;
  color: #ffffff;
  /*font-size: clamp(1rem, 0.21vw + 0.96rem, 1.125rem);*/
  font-size: 1rem;
  font-weight: 400;
  line-height: 160%;
  margin-bottom: 1.25rem;
}
body .roundcorner-xl {
  border-radius: 1.5rem !important;
}
body .roundcorner-l {
  border-radius: 1rem !important;
}
body .roundcorner-m {
  border-radius: 0.5rem !important;
}

/* -- paddings / margins -- */
.no-padding-top {
  padding-top: 0 !important;
}

.no-padding-bottom {
  padding-bottom: 0 !important;
}

.no-margin {
  margin: 0 !important;
}
.no-margin .elementor-heading-title {
  margin: 0 !important;
}

.no-margin-top {
  margin-top: 0 !important;
}
.no-margin-top .elementor-heading-title {
  margin-top: 0 !important;
}

.no-margin-bottom {
  margin-bottom: 0 !important;
}
.no-margin-bottom .elementor-heading-title,
.no-margin-bottom h1,
.no-margin-bottom h2,
.no-margin-bottom h3,
.no-margin-bottom h4,
.no-margin-bottom h5,
.no-margin-bottom div,
.no-margin-bottom p {
  margin-bottom: 0 !important;
}

#scroll-top {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  display: none;
  position: fixed;
  bottom: 2.5rem;
  right: 1rem;
  z-index: 999999;
  width: 36px;
  height: 36px;
  text-align: center;
  color: #ffffff;
  background: #95a5a6;
  border: 0;
  border-radius: 5px;
}
#scroll-top i {
  font-size: 1.25rem;
  line-height: 2.25rem;
}
#scroll-top:hover {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  background: #2d681d;
  color: #ffffff;
}

/* -- buttons -- */
.btn,
.button,
.elementor-button {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  text-decoration: none !important;
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  border-radius: 0.5rem !important;
  font-family: "Oswald Regular", Arial, Verdana, sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 400;
  color: #ffffff;
  line-height: 130%;
  text-align: center;
  -webkit-text-decoration: underline 1px solid transparent !important;
          text-decoration: underline 1px solid transparent !important;
  text-underline-offset: 3px !important;
  text-transform: uppercase;
  background-color: #2d681d;
  /*padding: 0.75rem 1rem 0.65rem !important;*/
  padding: 0 !important;
}
.btn:hover,
.button:hover,
.elementor-button:hover {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  text-decoration: none !important;
}
.btn .elementor-button-text,
.button .elementor-button-text,
.elementor-button .elementor-button-text {
  font-family: "Oswald Regular", Arial, Verdana, sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 400;
  color: #ffffff;
  line-height: 130%;
  text-align: center;
  text-decoration: none !important;
}
.btn:hover,
.button:hover,
.elementor-button:hover {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  color: #ffffff !important;
  background-color: #95a5a6;
  -webkit-text-decoration: underline 1px solid #ffffff !important;
          text-decoration: underline 1px solid #ffffff !important;
  text-underline-offset: 3px !important;
  /*padding: 0.75rem 1rem 0.65rem !important;*/
  padding: 0 !important;
}
.btn.internal, .btn.external, .btn.location, .btn[href^="mailto:"], .btn[href^="tel:"], .btn[href^="fax:"], .btn[href^=".pdf"],
.button.internal,
.button.external,
.button.location,
.button[href^="mailto:"],
.button[href^="tel:"],
.button[href^="fax:"],
.button[href^=".pdf"],
.elementor-button.internal,
.elementor-button.external,
.elementor-button.location,
.elementor-button[href^="mailto:"],
.elementor-button[href^="tel:"],
.elementor-button[href^="fax:"],
.elementor-button[href^=".pdf"] {
  border-bottom: none !important;
}

#page-wrapper {
  *zoom: 1;
  position: relative;
  width: 100%;
  /*background: $color-white;*/
  margin: 0 auto !important;
}
#page-wrapper:before, #page-wrapper:after {
  content: "";
  display: table;
}
#page-wrapper:after {
  clear: both;
}

#main-content {
  *zoom: 1;
  position: relative;
}
#main-content:before, #main-content:after {
  content: "";
  display: table;
}
#main-content:after {
  clear: both;
}

/* === images === */
.wp-caption {
  background: none;
  border: 0;
  max-width: unset;
  padding: 0;
}
.wp-caption .wp-caption-text {
  font-size: 0.75rem;
  font-weight: 300;
  margin-top: 0.5rem;
}

/* === header === */
.pp-advanced-menu--dropdown.pp-menu-off-canvas.pp-menu-off-canvas-right .pp-menu-close-wrap {
  right: 2rem !important;
  left: unset !important;
}
.pp-advanced-menu--dropdown .e-font-icon-svg.e-fas-long-arrow-alt-down {
  fill: #ffffff !important;
}

header {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  padding: 0;
}
header #logo-mainnav-wrapper > .e-con-inner > .e-flex {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
}
header #logo-mainnav-wrapper > .e-con-inner > .e-flex #logo-desktop-wrapper {
  padding: 2rem 0 !important;
}
header #logo-mainnav-wrapper > .e-con-inner > .e-flex #logo-desktop-wrapper #logo-desktop img {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  /*height: 5rem;*/
}
header #logo-mainnav-wrapper .pp-advanced-menu .pp-menu-item.pp-menu-item-active {
  color: #ffffff;
}
header.sticky {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
}
header.sticky #logo-mainnav-wrapper.elementor-sticky--active > .e-con-inner > .e-flex {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  background-color: #000000 !important;
}
header.sticky #logo-mainnav-wrapper.elementor-sticky--active > .e-con-inner > .e-flex #logo-desktop-wrapper {
  padding: 1rem 0 !important;
}
header.sticky #logo-mainnav-wrapper.elementor-sticky--active > .e-con-inner > .e-flex #logo-desktop-wrapper #logo-desktop img {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  height: 4rem !important;
}

/* === headlines === */
h1,
h1.elementor-heading-title {
  position: relative;
  font-family: "Oswald Regular", Arial, Verdana, sans-serif !important;
  font-size: clamp(2rem, 4.17vw + 1.17rem, 4.5rem);
  font-weight: 600;
  line-height: 140% !important;
  color: #ffffff !important;
  text-align: center;
  text-transform: uppercase;
  margin-top: 0rem;
  margin-bottom: 2.5rem;
}
h1:after,
h1.elementor-heading-title:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2rem;
  width: 140px;
  margin-left: -70px;
  border-bottom: 1px solid #2d681d;
}

h2,
h2.elementor-heading-title {
  position: relative;
  font-family: "Oswald Regular", Arial, Verdana, sans-serif !important;
  font-size: clamp(1.75rem, 0.83vw + 1.58rem, 2.25rem);
  font-weight: 400;
  line-height: 140% !important;
  color: #ffffff !important;
  text-transform: uppercase;
  margin-top: 0rem;
  margin-bottom: 2rem;
}
h2:first-of-type,
h2.elementor-heading-title:first-of-type {
  margin-top: 0;
}

h3,
h3.elementor-heading-title {
  -webkit-transition: opacity 0.24s ease-in-out;
  transition: opacity 0.24s ease-in-out;
  font-family: "Oswald Regular", Arial, Verdana, sans-serif !important;
  font-size: clamp(1.25rem, 0.42vw + 1.17rem, 1.5rem);
  font-weight: 400;
  line-height: 140% !important;
  color: #ffffff !important;
  text-transform: uppercase;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  h3,
  h3.elementor-heading-title {
    margin-bottom: 0.5rem;
  }
}

h4,
h4.elementor-heading-title {
  -webkit-transition: opacity 0.24s ease-in-out;
  transition: opacity 0.24s ease-in-out;
  font-family: "Oswald Regular", Arial, Verdana, sans-serif !important;
  font-size: clamp(1rem, 0.42vw + 0.92rem, 1.25rem);
  font-weight: 400;
  line-height: 140% !important;
  color: #ffffff !important;
  text-transform: uppercase;
  margin-top: 0rem;
  margin-bottom: 0.5rem;
}

article h3 {
  position: relative;
  text-align: center;
  margin-bottom: 3rem;
}
article h3 a {
  font-family: "Oswald Regular", Arial, Verdana, sans-serif !important;
  font-size: clamp(1.25rem, 0.42vw + 1.17rem, 1.5rem);
  font-weight: 400 !important;
  line-height: 140% !important;
  color: #ffffff !important;
  text-transform: uppercase;
}
article h3:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.5rem;
  width: 140px;
  margin-left: -70px;
  border-bottom: 1px solid #2d681d;
}
@media screen and (max-width: 768px) {
  article h3 {
    margin-bottom: 1rem !important;
  }
}
article ul.elementor-inline-items li {
  display: inline;
}
article ul.elementor-inline-items li a {
  font-family: "Oswald Regular", Arial, Verdana, sans-serif !important;
  font-size: 0.9rem;
  font-weight: 400 !important;
  line-height: 140% !important;
  color: #95a5a6 !important;
  letter-spacing: 1px;
  text-transform: uppercase !important;
}
article ul.elementor-inline-items li a:hover {
  color: #ffffff !important;
}
article .elementor-widget-theme-post-excerpt * {
  font-weight: 400 !important;
  line-height: 160% !important;
  color: #ffffff;
}

.widget,
#footer-wrapper {
  margin-bottom: 3rem;
}
.widget h4,
#footer-wrapper h4 {
  position: relative;
  text-align: center;
  margin-bottom: 1.5rem;
}
.widget h4 span,
#footer-wrapper h4 span {
  position: relative;
  z-index: 1;
  color: #ffffff;
  text-transform: uppercase;
  background: #000000;
  padding: 0.75rem 1.5rem;
}
.widget h4:before,
#footer-wrapper h4:before {
  position: absolute;
  left: 0;
  bottom: 5px;
  width: 100%;
  content: "";
  height: 7px;
  border-bottom: 1px solid #2d681d;
  border-top: 4px solid #2d681d;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.widget ul li a,
#footer-wrapper ul li a {
  color: #95a5a6;
}
.widget ul li:hover a,
#footer-wrapper ul li:hover a {
  color: #ffffff;
}
.widget ul li::marker,
#footer-wrapper ul li::marker {
  color: #95a5a6 !important;
}

/* === links === */
a:not(.slick-slide a):not(header a):not(footer a):not(.widget a):not(article a) {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  position: relative;
  font-family: inherit;
  font-weight: inherit;
  color: #ffffff;
  cursor: pointer;
  -webkit-text-decoration: underline 1px dotted #ffffff !important;
          text-decoration: underline 1px dotted #ffffff !important;
  text-underline-offset: 3px !important;
}
a:not(.slick-slide a):not(header a):not(footer a):not(.widget a):not(article a) i.fa {
  vertical-align: baseline;
}
a:not(.slick-slide a):not(header a):not(footer a):not(.widget a):not(article a):hover {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  color: #ffffff !important;
  -webkit-text-decoration: underline 1px solid #ffffff !important;
          text-decoration: underline 1px solid #ffffff !important;
}
a:not(.slick-slide a):not(header a):not(footer a):not(.widget a):not(article a).no-style {
  color: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  border: none !important;
}

a.pp-post-link {
  display: block;
  height: 100%;
}

#menu-hauptmenue-1 li a {
  -webkit-text-decoration: underline 1px solid transparent !important;
          text-decoration: underline 1px solid transparent !important;
}

.no-style a {
  color: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  border: none !important;
}

.elementor-widget-pp-magazine-slider {
  background: rgba(0, 0, 0, 0.5) !important;
}

/* === footer === */
footer#footer-wrapper .widget {
  margin-bottom: 1rem;
}
footer#footer-wrapper .double-border:before {
  position: absolute;
  left: 0;
  bottom: 5px;
  width: 100%;
  content: "";
  height: 7px;
  border-bottom: 1px solid #ffffff;
  border-top: 4px solid #ffffff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
footer#footer-wrapper .footer-copy div {
  font-size: 0.9rem;
  line-height: 130%;
  font-weight: 400;
  color: #ff0000;
  text-align: center;
}
footer#footer-wrapper .footer-nav ul.elementor-nav-menu li {
  margin-bottom: 1rem;
}
footer#footer-wrapper .footer-nav ul.elementor-nav-menu li a {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  font-size: 0.9rem;
  line-height: 130% !important;
  font-weight: 400;
  color: #ff0000 !important;
  padding: 0;
}
footer#footer-wrapper .footer-nav ul.elementor-nav-menu li a:hover {
  -webkit-transition: all 0.15s ease-in-out !important;
  transition: all 0.15s ease-in-out !important;
  color: #2d681d !important;
  padding: 0;
  text-shadow: 0 0 1px #2d681d;
}

body:not(.home) #header-magazine-slider {
  display: none;
}

/* === bootstrap ersatz === */
.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
  margin-bottom: 2rem;
}
.row .col-sm-1,
.row .col-sm-6,
.row .col-md-6,
.row .col-md-1 {
  width: 50%;
}
.row .col-sd-3,
.row .col-md-3 {
  width: 25%;
}
@media screen and (max-width: 768px) {
  .row {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .row .col-sm-1,
  .row .col-sm-6,
  .row .col-md-6,
  .row .col-md-1 {
    width: 100%;
  }
  .row .col-sd-3,
  .row .col-md-3 {
    width: 100%;
  }
}

.iw_posts_carousel .slick-slide .insideslide {
  margin: 0.5rem;
}