@charset "UTF-8";
/*
  Theme Name:     Ocean (sturm-feuerschutz child)
  Description:    Compiled main stylesheet — entry: assets/src/scss/main.scss
  Compiled to:    assets/dist/css/main.css
*/
/* === Root / CSS custom properties === */
/* === Local Roboto webfonts === */
@font-face {
  font-family: "Roboto";
  src: url("../../../fonts/Roboto-MediumItalic.woff2") format("woff2"), url("../../../fonts/Roboto-MediumItalic.woff") format("woff");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../../../fonts/Roboto-Thin.woff2") format("woff2"), url("../../../fonts/Roboto-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../../../fonts/Roboto-BoldItalic.woff2") format("woff2"), url("../../../fonts/Roboto-BoldItalic.woff") format("woff");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../../../fonts/Roboto-LightItalic.woff2") format("woff2"), url("../../../fonts/Roboto-LightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../../../fonts/Roboto-Light.woff2") format("woff2"), url("../../../fonts/Roboto-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../../../fonts/Roboto-Medium.woff2") format("woff2"), url("../../../fonts/Roboto-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../../../fonts/Roboto-Regular.woff2") format("woff2"), url("../../../fonts/Roboto-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../../../fonts/Roboto-BlackItalic.woff2") format("woff2"), url("../../../fonts/Roboto-BlackItalic.woff") format("woff");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../../../fonts/Roboto-Bold.woff2") format("woff2"), url("../../../fonts/Roboto-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../../../fonts/Roboto-ThinItalic.woff2") format("woff2"), url("../../../fonts/Roboto-ThinItalic.woff") format("woff");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../../../fonts/Roboto-Italic.woff2") format("woff2"), url("../../../fonts/Roboto-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../../../fonts/Roboto-Black.woff2") format("woff2"), url("../../../fonts/Roboto-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
/* === Base / element resets === */
* {
  box-sizing: border-box;
}

body {
  overflow: hidden;
}

/* === OceanWP overrides ===
   Reserved for theme-specific overrides of the OceanWP parent theme.
*/
/* === Design Tokens === */
/* === Breakpoint Mixins === */
/* === Mixins === */
/* === Elementor overrides === */
.elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.elementor-nav-menu--dropdown .elementor-item.highlighted,
.elementor-nav-menu--dropdown .elementor-item:focus,
.elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-sub-item.elementor-item-active,
.elementor-sub-item.highlighted,
.elementor-sub-item:focus,
.elementor-sub-item:hover {
  background-color: transparent !important;
}

@media screen and (min-width: 1201px) {
  .elementor-nav-menu a,
  p a,
  .elementor-cta__content a {
    transition: none !important;
  }
  .elementor-nav-menu a:hover,
  p a:hover,
  .elementor-cta__content a:hover {
    font-weight: bold !important;
  }
}

.elementor-widget-container ul:not(.sub-menu):not(.elementor-nav-menu):not(.elementor-icon-list-items) {
  list-style: none !important;
}
.elementor-widget-container ul:not(.sub-menu):not(.elementor-nav-menu):not(.elementor-icon-list-items) li {
  position: relative;
}
.elementor-widget-container ul:not(.sub-menu):not(.elementor-nav-menu):not(.elementor-icon-list-items) li::before {
  content: "";
  position: absolute;
  left: -15px;
  top: 6px;
  width: 15px;
  height: 15px;
  background-image: url("/wp-content/uploads/2021/06/Flame-Header.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

ul.juicer-feed .referral {
  display: none !important;
}
ul.juicer-feed a.j-paginate.juicer-button {
  display: none;
}

.left_underline_title {
  display: flex;
  align-items: center;
}
.left_underline_title .elementor-widget-container {
  display: flex;
  align-items: center;
  width: 100%;
}
.left_underline_title .elementor-widget-container .elementor-heading-title {
  width: fill-available !important;
}
.left_underline_title .elementor-widget-container .lines {
  display: block;
  height: 4px;
  width: 100%;
  border-top: 1px solid #e7392f;
  border-bottom: 1px solid #e7392f;
}

@media screen and (max-width: 767px) {
  section:not(.elementor-inner-section) > .elementor-container {
    max-width: 82% !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  section:not(.elementor-inner-section) > .elementor-container {
    max-width: 85% !important;
  }
}
section:not(.elementor-inner-section).no_content_width > .elementor-container {
  max-width: 100% !important;
}

section.line,
.elementor-element.line {
  position: relative;
}
@media screen and (min-width: 1201px) {
  section.line::before,
  .elementor-element.line::before {
    content: "";
    position: absolute;
    width: 2px;
    top: 0;
    bottom: 0;
    background: #e7392f !important;
    left: 10%;
    z-index: 10;
  }
}
section.line_white,
.elementor-element.line_white {
  position: relative;
}
@media screen and (min-width: 1201px) {
  section.line_white::before,
  .elementor-element.line_white::before {
    content: "";
    position: absolute;
    width: 2px;
    top: 0;
    bottom: 0;
    background: white !important;
    left: 10%;
    z-index: 10;
  }
}

@media screen and (min-width: 1201px) {
  .line > .e-con-inner,
  .line_white > .e-con-inner {
    max-width: 70% !important;
  }
}

@media screen and (min-width: 1201px) {
  .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 70% !important;
  }
}

.elementor-button {
  position: relative;
  padding: 10px 20px 10px 50px !important;
  display: flex !important;
  width: fit-content !important;
  max-width: 100%;
  align-items: center;
  height: 50px;
  transition: all 0.3s;
}
.elementor-button:hover {
  padding-left: 80px !important;
  border-width: 2px !important;
  font-weight: bold !important;
}

.left_thick_arrow_primary_button .elementor-button {
  position: relative;
}
.left_thick_arrow_primary_button .elementor-button .arrow {
  position: absolute;
  left: 0;
  display: flex;
  align-items: center;
  width: 30px;
  height: 1px;
  background-color: #072734;
  transition: all 0.3s;
}
.left_thick_arrow_primary_button .elementor-button .arrow::before {
  content: "";
  position: absolute;
  right: -18px;
  width: 18px;
  height: 6px;
  border-top: 3px solid transparent;
  border-left: 9px solid #072734;
  border-right: 9px solid transparent;
  border-bottom: 3px solid transparent;
  transition: all 0.3s;
}
.left_thick_arrow_primary_button .elementor-button:hover .arrow {
  width: 50px;
}

.left_thick_arrow_white_button .elementor-button {
  position: relative;
}
.left_thick_arrow_white_button .elementor-button .arrow {
  position: absolute;
  left: 0;
  display: flex;
  align-items: center;
  width: 30px;
  height: 1px;
  background-color: white;
  transition: all 0.3s;
}
.left_thick_arrow_white_button .elementor-button .arrow::before {
  content: "";
  position: absolute;
  right: -18px;
  width: 18px;
  height: 6px;
  border-top: 3px solid transparent;
  border-left: 9px solid white;
  border-right: 9px solid transparent;
  border-bottom: 3px solid transparent;
  transition: all 0.3s;
}
.left_thick_arrow_white_button .elementor-button:hover .arrow {
  width: 50px;
}

.icon_text .elementor-icon-box-wrapper {
  display: flex !important;
  align-items: center !important;
}
.icon_text .elementor-icon-box-wrapper .elementor-icon-box-icon,
.icon_text .elementor-icon-box-wrapper .elementor-icon-box-title {
  margin-bottom: 0 !important;
}
.icon_text .elementor-icon-box-wrapper .elementor-icon-box-title {
  text-align: left !important;
  margin-left: 10px;
}
.icon_text .elementor-icon-box-wrapper .elementor-icon-box-icon {
  display: flex;
  align-items: center;
}
.icon_text .elementor-icon-box-wrapper .elementor-icon-box-icon .elementor-icon {
  font-size: 18px !important;
}

.bouble_line_divider {
  width: 200px;
  height: 4px;
  border-top: 1px solid #072734;
  border-bottom: 1px solid #072734;
}

.left_icon_divider {
  position: relative;
}
.left_icon_divider:before {
  content: "";
  position: absolute;
  left: 0;
  width: 200px;
  height: 4px;
  border-top: 1px solid #e7392f;
  border-bottom: 1px solid #e7392f;
}
.left_icon_divider:after {
  content: "";
  position: absolute;
  background-image: url("/wp-content/uploads/2021/06/Flame-Header.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (min-width: 1201px) {
  .left_icon_divider:after {
    left: -40px;
    top: -20px;
    width: 40px;
    height: 40px;
  }
}
@media screen and (max-width: 1200px) {
  .left_icon_divider:after {
    left: -30px;
    top: -15px;
    width: 30px;
    height: 30px;
  }
}

.middle_icon_divider {
  position: relative;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 1201px) {
  .middle_icon_divider {
    width: 40px;
    height: 40px;
  }
}
@media screen and (max-width: 1200px) {
  .middle_icon_divider {
    width: 30px;
    height: 30px;
  }
}
.middle_icon_divider {
  margin: 0 auto;
  background-image: url("/wp-content/uploads/2021/06/Flame-Header.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.middle_icon_divider:before {
  content: "";
  position: absolute;
}
@media screen and (min-width: 1201px) {
  .middle_icon_divider:before {
    left: -200px;
    width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .middle_icon_divider:before {
    left: -100px;
    width: 100px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .middle_icon_divider:before {
    left: -150px;
    width: 150px;
  }
}
.middle_icon_divider:before {
  height: 4px;
  border-top: 1px solid #e7392f;
  border-bottom: 1px solid #e7392f;
}
.middle_icon_divider:after {
  content: "";
  position: absolute;
}
@media screen and (min-width: 1201px) {
  .middle_icon_divider:after {
    right: -200px;
    width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .middle_icon_divider:after {
    right: -100px;
    width: 100px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .middle_icon_divider:after {
    right: -150px;
    width: 150px;
  }
}
.middle_icon_divider:after {
  height: 4px;
  border-top: 1px solid #e7392f;
  border-bottom: 1px solid #e7392f;
}

/* === Kontakt === */
#kontakt_contact_form_section .contact_form .elementor-button {
  position: relative;
}
#kontakt_contact_form_section .contact_form .elementor-button .arrow {
  position: absolute;
  left: 0;
  display: flex;
  align-items: center;
  width: 30px;
  height: 1px;
  background-color: #072734;
  transition: all 0.3s;
}
#kontakt_contact_form_section .contact_form .elementor-button .arrow::before {
  content: "";
  position: absolute;
  right: -18px;
  width: 18px;
  height: 6px;
  border-top: 3px solid transparent;
  border-left: 9px solid #072734;
  border-right: 9px solid transparent;
  border-bottom: 3px solid transparent;
  transition: all 0.3s;
}
#kontakt_contact_form_section .contact_form .elementor-button:hover .arrow {
  width: 50px;
}

.px_blobal_popup {
  position: fixed;
  background-color: #e7392f !important;
  right: 0 !important;
  font-family: "Rene Bieder" !important;
  font-weight: bold !important;
  color: white !important;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4em;
  font-size: 12px !important;
}
@media screen and (min-width: 768px) {
  .px_blobal_popup {
    width: 90px;
    height: 90px;
    top: calc(50vh - 45px) !important;
  }
}
@media screen and (max-width: 767px) {
  .px_blobal_popup {
    width: 80px;
    height: 80px;
    top: calc(50vh - 40px) !important;
  }
}

/* === Pagination (blog archive) === */
.elementor-pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
}
.elementor-pagination .page-numbers {
  margin: 0 !important;
  width: 30px !important;
  height: 30px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.elementor-pagination .page-numbers.current {
  background-color: #e7392f !important;
  border-radius: 3px;
  color: white !important;
}

.post_card .elementor-inline-items {
  margin: 0 !important;
  list-style: none !important;
}
.post_card .elementor-inline-items .elementor-icon-list-item a {
  display: flex;
  gap: 5px;
  align-items: center;
  justify-content: center;
}
.post_card .elementor-inline-items .elementor-icon-list-item .elementor-icon-list-text,
.post_card .elementor-inline-items .elementor-icon-list-item .elementor-icon-list-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.post_card .elementor-inline-items .elementor-icon-list-item .elementor-icon-list-icon {
  width: max-content !important;
  margin-top: -3px !important;
}
.post_card .elementor-inline-items .elementor-icon-list-item .elementor-icon-list-icon i {
  width: 20px !important;
  height: 20px !important;
  background-image: url("../../../assets/calendar.svg") !important;
  background-size: contain;
  background-repeat: no-repeat;
}
.post_card .elementor-inline-items .elementor-icon-list-item .elementor-icon-list-icon i::before {
  display: none;
}

#site_header .elementor-widget-nav-menu,
#site_header .elementor-widget-wrap,
#site_header .elementor-column,
#site_header .elementor-container {
  position: static !important;
}
@media screen and (min-width: 1201px) {
  #site_header {
    min-height: 120px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #site_header {
    min-height: 100px;
  }
}
@media screen and (max-width: 767px) {
  #site_header {
    min-height: 70px;
  }
}
@media screen and (max-width: 1200px) {
  #site_header {
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
  }
}
#site_header .elementor-widget-wrap {
  display: flex;
  justify-content: space-between !important;
  align-items: center !important;
}
#site_header .elementor-widget-wrap .logo_element {
  width: max-content !important;
}
#site_header .elementor-widget-wrap .logo_element .site_logo_container {
  position: relative;
  max-width: 100px;
  margin-left: auto;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #site_header .elementor-widget-wrap .logo_element .site_logo_container {
    max-width: 70px;
  }
}
@media screen and (max-width: 767px) {
  #site_header .elementor-widget-wrap .logo_element .site_logo_container {
    max-width: 50px;
  }
}
#site_header .elementor-widget-wrap .logo_element .site_logo_container .logo {
  position: relative;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 4;
}
#site_header .elementor-widget-wrap .logo_element .site_logo_container .logo.hide {
  display: none;
}
#site_header .elementor-widget-wrap .main_menu {
  width: auto !important;
  margin-bottom: 0 !important;
}
#site_header .elementor-widget-wrap .main_menu a {
  font-family: "Rene Bieder" !important;
}
#site_header .elementor-widget-wrap .main_menu a:hover {
  background-color: transparent !important;
  cursor: pointer;
}
#site_header .elementor-widget-wrap .main_menu .elementor-nav-menu--main {
  display: none !important;
}
#site_header .elementor-widget-wrap .main_menu .elementor-widget-container .elementor-menu-toggle {
  display: flex !important;
  justify-content: center;
  position: relative;
  z-index: 4;
  background: url("/wp-content/uploads/2021/06/Icon-Burger-Menu-Blue.svg"), white;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (min-width: 1201px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container .elementor-menu-toggle {
    width: 40px;
    height: 40px;
    top: 40px;
    position: absolute;
    left: calc(10% - 19px);
  }
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container .elementor-menu-toggle:after {
    content: "";
    position: absolute;
    width: 2px;
    height: 100px;
    top: -100px;
    background: #e7392f;
  }
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container .elementor-menu-toggle:before {
    content: "";
    position: absolute;
    width: 2px;
    height: 100px;
    bottom: -100px;
    background: #e7392f;
  }
}
@media screen and (min-width: 1201px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container .elementor-menu-toggle.elementor-active:before {
    background: white !important;
    height: 800px !important;
    bottom: -800px !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container .elementor-menu-toggle {
    width: 30px;
    height: 30px;
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container .elementor-menu-toggle {
    width: 30px;
    height: 30px;
    margin-left: 0;
  }
}
#site_header .elementor-widget-wrap .main_menu .elementor-widget-container .elementor-menu-toggle i {
  display: none;
}
#site_header .elementor-widget-wrap .main_menu .elementor-widget-container .elementor-menu-toggle.elementor-active {
  background: url("/wp-content/uploads/2021/06/Icon-Close-Menu-White.svg"), #e7392f !important;
}
@media screen and (min-width: 1201px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container .elementor-menu-toggle.elementor-active:after {
    background: white !important;
  }
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container .elementor-menu-toggle.elementor-active:before {
    height: var(--menu-height);
    bottom: calc(var(--menu-height) * -1);
    background: white !important;
  }
}
#site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown {
  position: absolute;
  left: 0 !important;
  top: 0 !important;
  display: block !important;
  margin-top: 0 !important;
  background-color: #e7392f;
  transform: scale(1) !important;
  transition: none !important;
  overflow: hidden !important;
  z-index: 0;
}
#site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu {
  margin: 0 auto;
}
@media screen and (min-width: 1201px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu {
    max-width: 70%;
    padding-top: 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu {
    max-width: 70%;
    padding-top: 70px;
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu {
    max-width: 50% !important;
    margin-left: 80px !important;
    padding-top: 60px;
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 1201px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item {
    padding-bottom: 25px;
  }
}
@media screen and (max-width: 1200px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item {
    width: max-content !important;
  }
}
#site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item a {
  width: max-content !important;
  transition: all 0.3s;
}
@media screen and (min-width: 1201px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item a {
    border-bottom: 2px solid transparent;
  }
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item a:hover {
    border-color: white;
  }
}
@media screen and (max-width: 1200px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item a {
    padding-left: 0 !important;
  }
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item a.highlighted {
    background-color: transparent !important;
  }
}
#site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item > .elementor-item {
  text-transform: uppercase;
  color: white;
  font-weight: bold;
}
@media screen and (min-width: 1201px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item > .elementor-item {
    font-size: 30px !important;
    padding: 0 0 5px !important;
  }
}
@media screen and (max-width: 767px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item > .elementor-item {
    font-size: 18px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item > .elementor-item {
    font-size: 22px;
  }
}
@media screen and (min-width: 1201px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item.menu-item-has-children .sub-arrow {
    display: none;
  }
}
#site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item.menu-item-has-children .sub-menu {
  background-color: transparent !important;
  padding-top: 5px;
}
@media screen and (min-width: 1201px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item.menu-item-has-children .sub-menu {
    display: flex !important;
  }
}
@media screen and (min-width: 1201px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item.menu-item-has-children .sub-menu li + li {
    margin-left: 10px;
  }
}
#site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item.menu-item-has-children .sub-menu li {
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (min-width: 1201px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item.menu-item-has-children .sub-menu li:not(:last-of-type)::after {
    content: ".";
    color: white;
    position: absolute;
    right: -7px;
    top: 0px;
  }
}
#site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item.menu-item-has-children .sub-menu li a.elementor-sub-item {
  border-left: 0 !important;
  color: white;
}
@media screen and (min-width: 1201px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item.menu-item-has-children .sub-menu li a.elementor-sub-item {
    padding: 0 !important;
    font-size: 16px;
    border-bottom: 1px solid transparent;
  }
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item.menu-item-has-children .sub-menu li a.elementor-sub-item:hover {
    border-bottom: 1px solid white;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item.menu-item-has-children .sub-menu li a.elementor-sub-item {
    padding: 0 0 20px 20px !important;
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  #site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu > .menu-item.menu-item-has-children .sub-menu li a.elementor-sub-item {
    padding: 0 0 10px 20px !important;
    font-size: 16px;
  }
}
#site_header .elementor-widget-wrap .main_menu .elementor-widget-container > .elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item-active {
  background-color: transparent !important;
}
#site_header .elementor-widget-wrap .main_menu .elementor-widget-container {
  display: flex !important;
  align-items: center !important;
}

#footer .e-con-inner .e-con.e-child {
  position: static !important;
}
@media screen and (min-width: 1201px) {
  #footer .footer_logo {
    width: 100px;
    position: absolute;
    left: calc(10% - 50px);
    top: 52px;
    background: #263e4f;
    z-index: 20;
    padding: 8px;
  }
}
#footer .description p {
  margin-bottom: 0 !important;
}
#footer .footer_menu .elementor-nav-menu--dropdown {
  display: none !important;
}
#footer .footer_menu .elementor-nav-menu--main {
  display: block !important;
}

#footer_bar .footer_bar_menu .elementor-nav-menu--dropdown {
  display: none !important;
}
#footer_bar .footer_bar_menu .elementor-nav-menu--main {
  display: block !important;
}
@media screen and (max-width: 767px) {
  #footer_bar .footer_bar_menu .elementor-nav-menu--main .elementor-nav-menu {
    justify-content: flex-start !important;
  }
  #footer_bar .footer_bar_menu .elementor-nav-menu--main .elementor-nav-menu li a {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

.copyright {
  margin-bottom: 0;
  font-family: "Rene Bieder";
  font-weight: bold;
  color: white;
}

.event_date_time {
  display: flex;
  gap: 8px;
}
.event_date_time .icon {
  width: 20px;
}
.event_date_time .date,
.event_date_time .time {
  align-items: center;
  display: flex;
  gap: 5px;
}
.event_date_time .date span,
.event_date_time .time span {
  font-size: 14px !important;
  line-height: 14px !important;
  display: block;
}

.feature_card:hover .elementor-cta__title::before {
  border-color: white !important;
}
.feature_card:hover .elementor-heading-title::before {
  border-color: white !important;
}
.feature_card .elementor-cta__title,
.feature_card .elementor-heading-title {
  position: relative;
  margin-bottom: 25px;
}
.feature_card .elementor-cta__title:before,
.feature_card .elementor-heading-title:before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 35px;
  height: 4px;
  width: 50px;
  border-top: 1px solid #e7392f;
  border-bottom: 1px solid #e7392f;
  transition: all 0.3s;
}
.feature_card .elementor-cta__title {
  padding-top: 25px !important;
}
.feature_card .elementor-heading-title::before {
  left: 0 !important;
}
.feature_card .elementor-cta__content {
  padding: 0 !important;
}
.feature_card .elementor-cta__content .elementor-cta__title,
.feature_card .elementor-cta__content .elementor-cta__description {
  padding: 0px 35px;
}
.feature_card .elementor-cta__content .elementor-cta__description {
  margin-bottom: 80px !important;
  min-height: 230px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .feature_card .elementor-cta__content .elementor-cta__description {
    min-height: 278px;
  }
}
.feature_card .elementor-cta__content .elementor-cta__description a {
  color: white;
}
.feature_card .elementor-cta__content .elementor-cta__description .icon_text_container:not(:first-of-type) {
  margin-bottom: 10px;
}
.feature_card .elementor-cta__content .elementor-cta__description .icon_text_container {
  margin-top: 15px;
}
.feature_card .elementor-cta__content .elementor-cta__description .icon_text_container .icon_text {
  display: flex;
  align-items: center;
  color: white;
}
.feature_card .elementor-cta__content .elementor-cta__description .icon_text_container .icon_text .icon {
  width: 18px;
}
.feature_card .elementor-cta__content .elementor-cta__description .icon_text_container .icon_text .text {
  margin-bottom: 0;
  margin-left: 10px;
}
.feature_card .elementor-cta__content .elementor-cta__description .icon_text_container .icon_text .title {
  margin-bottom: 0;
  margin-left: 10px;
  color: white;
}
.feature_card .elementor-cta__content .elementor-cta__button {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100% !important;
}
.feature_card .elementor-cta__content .elementor-cta__button .arrow {
  position: relative;
  display: flex;
  align-items: center;
  width: 20px;
  height: 1px;
  margin-left: 5px;
  background-color: #072734;
  transition: all 0.3s;
}
.feature_card .elementor-cta__content .elementor-cta__button .arrow::before {
  content: "";
  position: absolute;
  right: -18px;
  width: 18px;
  height: 6px;
  border-top: 3px solid transparent;
  border-left: 9px solid #072734;
  border-right: 9px solid transparent;
  border-bottom: 3px solid transparent;
  transition: all 0.3s;
}
.feature_card .elementor-cta__content .elementor-cta__button:hover .arrow {
  width: 50px;
  height: 2px;
  margin-left: 5px;
  background-color: #072734;
}
.feature_card .elementor-cta__content .elementor-cta__button:hover .arrow::before {
  border-top: 3px solid transparent;
  border-left: 9px solid #072734;
  border-right: 9px solid transparent;
  border-bottom: 3px solid transparent;
}
.feature_card .elementor-cta__content .elementor-cta__button:hover {
  border-width: 0 !important;
}

/* === Custom Post Type (Contact Person) Filtering === */
.filter-container {
  display: flex;
  grid-template-columns: 1fr 1fr;
  column-gap: 20px;
}
.filter-container .column {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.filter-container input {
  padding: 10px;
  border-radius: 4px;
  border: 2px solid #999;
}

#contact-person-filter form {
  display: flex;
  column-gap: 20px;
}
@media screen and (max-width: 594px) {
  #contact-person-filter form {
    flex-direction: column;
    row-gap: 10px;
  }
}
#contact-person-filter input[type=number] {
  width: 100%;
  max-width: initial;
}
#contact-person-filter .et_pb_button {
  min-width: 300px;
  display: block;
  background: white;
  border: 1px solid #072734;
  color: #072734;
  cursor: pointer;
  text-transform: lowercase;
}
#contact-person-filter .et_pb_button:hover {
  background-color: #072734;
  color: white;
}

div#contact-person-result {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 20px;
  row-gap: 20px;
  margin-top: 30px;
}
@media screen and (max-width: 1250px) {
  div#contact-person-result {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 594px) {
  div#contact-person-result {
    grid-template-columns: 1fr;
  }
}

.contact-person-item {
  padding: 20px;
  transition: all 0.2s ease-in-out;
  background-color: #f7f7f7;
  font-family: "Rene Bieder", sans-serif;
}
.contact-person-item img {
  max-height: 400px;
  min-height: 400px;
  object-fit: cover;
  object-position: top;
}
.contact-person-item:hover {
  transform: translateY(-3px);
}
.contact-person-item .meta-info {
  margin-top: 30px;
}
.contact-person-item .meta-info a {
  line-height: 1.2;
}
.contact-person-item .meta-info a:hover {
  color: #e7392f;
}
.contact-person-item h3 {
  padding-bottom: 0;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 5px;
  line-height: 1.2;
}
.contact-person-item .position {
  font-size: 1.6rem;
  line-height: 1.2;
  margin-bottom: 20px;
}
.contact-person-item :is(.phone, .email) {
  display: flex;
}
.contact-person-item :is(.phone, .email) svg {
  width: 20px;
  height: 20px;
}
.contact-person-item :is(.phone, .email) .elementor-icon-box-icon {
  margin-right: 10px;
}

/* === Termine Anfrageformular === */
body .form-terminanmeldung .col-2 p {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
body .form-terminanmeldung :is(select, input:not([type=checkbox]), textarea, button) {
  background-color: #fff;
  border: 1px solid #072734;
  color: #072734;
  font-size: 16px;
  border-radius: 0;
  min-height: 47px;
  padding: 6px 16px;
  font-family: "Rene Bieder", sans-serif;
}
body .form-terminanmeldung button {
  position: relative;
  background-color: transparent !important;
  font-weight: 500;
  color: #072734;
  display: flex;
  align-items: center;
  padding-left: 50px !important;
}
body .form-terminanmeldung button:before {
  content: "";
  position: absolute;
  left: 30px;
  width: 18px;
  height: 6px;
  border-top: 3px solid transparent;
  border-left: 9px solid #072734;
  border-right: 9px solid transparent;
  border-bottom: 3px solid transparent;
  transition: all 0.3s;
}
body .form-terminanmeldung button:after {
  content: "";
  display: inline-block;
  height: 1px;
  width: 30px;
  background-color: #072734;
  position: absolute;
  left: 0;
  transition: all 0.3s;
}
body .form-terminanmeldung button:hover {
  background-color: transparent;
  color: #072734;
  border-width: 2px;
  padding-left: 65px !important;
}
body .form-terminanmeldung button:hover:before {
  left: 45px;
}
body .form-terminanmeldung button:hover:after {
  width: 45px;
}

/* -- Home -- */
#home_hero {
  overflow: hidden;
  margin-top: -1px;
}
#home_hero .px_slider {
  margin-block-end: 0 !important;
  margin: 0 !important;
}
#home_hero .elementor-slides-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
#home_hero .elementor-slides-wrapper .swiper-wrapper:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: #072734;
  z-index: 2;
  opacity: 0.3;
}
#home_hero .elementor-slides-wrapper .swiper-slide-inner {
  z-index: 3;
  padding: 0 !important;
}
#home_hero .elementor-slides-wrapper .swiper-slide-inner .elementor-button {
  position: relative;
}
#home_hero .elementor-slides-wrapper .swiper-slide-inner .elementor-button .arrow {
  position: absolute;
  left: 0;
  display: flex;
  align-items: center;
  width: 30px;
  height: 1px;
  background-color: white;
  transition: all 0.3s;
}
#home_hero .elementor-slides-wrapper .swiper-slide-inner .elementor-button .arrow::before {
  content: "";
  position: absolute;
  right: -18px;
  width: 18px;
  height: 6px;
  border-top: 3px solid transparent;
  border-left: 9px solid white;
  border-right: 9px solid transparent;
  border-bottom: 3px solid transparent;
  transition: all 0.3s;
}
#home_hero .elementor-slides-wrapper .swiper-slide-inner .elementor-button:hover .arrow {
  width: 50px;
}
#home_hero .elementor-slides-wrapper .swiper-slide-contents .elementor-slide-description {
  max-width: 440px;
}
@media screen and (min-width: 1201px) {
  #home_hero .elementor-slides-wrapper .swiper-slide-contents {
    width: 70%;
  }
  #home_hero .elementor-slides-wrapper .swiper-slide-contents .elementor-slide-description {
    max-width: 440px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #home_hero .elementor-slides-wrapper .swiper-slide-contents {
    width: 85%;
  }
}
@media screen and (max-width: 767px) {
  #home_hero .elementor-slides-wrapper .swiper-slide-contents {
    width: 82%;
  }
}
#home_hero .elementor-slides-wrapper .swiper-pagination {
  width: 20px;
  right: 30px !important;
  left: auto !important;
  bottom: auto !important;
}
#home_hero .elementor-slides-wrapper .swiper-pagination .swiper-pagination-bullet {
  margin: 0 !important;
  border-radius: 0 !important;
}
#home_hero:after {
  content: "";
  position: absolute;
  background-image: url(/wp-content/uploads/2021/06/Flame-Header.png);
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.8;
  z-index: 1;
}
@media screen and (min-width: 1201px) {
  #home_hero:after {
    bottom: -320px;
    right: 70px;
    width: 600px;
    height: 936px;
  }
}
@media screen and (max-width: 767px) {
  #home_hero:after {
    bottom: -168px;
    right: -102px;
    width: 300px;
    height: 468px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  #home_featured .elementor-column {
    width: 50% !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  #home_carousel .elementor-column {
    width: 100% !important;
  }
}
#home_carousel .carousel .elementor-main-swiper {
  padding-bottom: 0 !important;
}
#home_carousel .carousel .swiper-pagination {
  position: absolute;
  width: max-content;
  right: 20px;
  bottom: 20px;
  left: auto;
}
#home_carousel .carousel .swiper-pagination .swiper-pagination-bullet {
  width: 15px !important;
  height: 15px !important;
  border-radius: 0;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  #home_solutions .elementor-column {
    width: 50% !important;
  }
}
#home_solutions .column_box .elementor-cta__button {
  margin-left: 0 !important;
  position: relative;
}
#home_solutions .column_box .elementor-cta__button .arrow {
  position: absolute;
  left: 0;
  display: flex;
  align-items: center;
  width: 30px;
  height: 1px;
  background-color: #072734;
  transition: all 0.3s;
}
#home_solutions .column_box .elementor-cta__button .arrow::before {
  content: "";
  position: absolute;
  right: -18px;
  width: 18px;
  height: 6px;
  border-top: 3px solid transparent;
  border-left: 9px solid #072734;
  border-right: 9px solid transparent;
  border-bottom: 3px solid transparent;
  transition: all 0.3s;
}
#home_solutions .column_box .elementor-cta__button:hover .arrow {
  width: 50px;
}

.px_team_section .elementor-widget-icon-box .elementor-icon-box-wrapper {
  gap: 1rem !important;
  flex-direction: row !important;
}
.px_team_section .elementor-widget-icon-box .elementor-icon-box-wrapper .elementor-icon-box-title {
  margin-left: 0 !important;
}

/* === Utility classes === */
.block {
  display: block;
}

.font_light {
  font-weight: 300;
}

.font_bold {
  font-weight: bold;
}

.pt_uppercase {
  text-transform: uppercase !important;
}

/* === Spacing utilities ===
   Reserved for future spacing scale (margin/padding helpers).
*/
