/* General Settings */

/* Adjust Custom Colors here */
:root {
  --black: #000;
  --beige: #e5e0dd;
  --primary: #8e183e;
}

/* Typography */
@font-face {
  font-family: "Proxima Nova W01";
  src:
    url("../../fonts/ProximaNovaW01-Bold.woff2") format("woff2"),
    url("../../fonts/ProximaNovaW01-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Proxima Nova W01";
  src:
    url("../../fonts/ProximaNovaW01-Regular.woff2") format("woff2"),
    url("../../fonts/ProximaNovaW01-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Proxima Nova W01";
  src:
    url("../../fonts/ProximaNovaW01-Bold.woff2") format("woff2"),
    url("../../fonts/ProximaNovaW01-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Proxima Nova W01";
  src:
    url("../../fonts/ProximaNovaW01-Regular.woff2") format("woff2"),
    url("../../fonts/ProximaNovaW01-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

body #main :is(h1, h2, h3, h4, h5, h6) {
  text-transform: uppercase;
  /* color: var(--black); */
  font-family: var(--font-stack);
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

body #main :is(h3, h4, h5, h6) {
  font-weight: 300;
}

body:not(.error404):not(.privacy-policy):not(.page-id-27)
  #main
  :is(h1, h2, .elementor-slide-heading) {
  font-size: clamp(40px, 1rem + 8.5vw, 120px) !important;
}

body:not(.error404):not(.privacy-policy):not(.page-id-27) #main :is(h3) {
  font-size: clamp(25px, 1rem + 3vw, 30px) !important;
}

/* General */
.elementor-widget-image img {
  width: 100%;
}

.elementor-widget-button .elementor-button {
  background-color: initial !important;
  display: block;
  text-align: left;
}

.elementor-widget-button .elementor-button-content-wrapper {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

body :is(.elementor-button-link, .elementor-button[type="submit"]) {
  border-color: inherit !important;
}

.offset-headline-top {
  -webkit-transform: translateY(calc(-50% + -20px));
  -ms-transform: translateY(calc(-50% + -20px));
  transform: translateY(calc(-50% + -20px));
}

.align-content-end .elementor-widget-wrap {
  align-content: flex-end !important;
}

/* Footer */
.elementor-location-footer {
  background-color: transparent !important;
  display: grid;
  grid-template-columns:
    [full-start] minmax(0, 1fr) [main-start] minmax(0, 1200px)
    [main-end] minmax(0, 1fr) [full-end];
}

.elementor-location-footer .elementor-top-section {
  background-color: var(--primary);
  width: 100%;
  grid-column: full / main;
}

.elementor-location-footer p a {
  color: #fff;
  text-decoration: underline;
}

.elementor-location-footer .elementor-widget-nav-menu ul li {
  font-size: 18px;
}

.elementor-location-footer .elementor-widget-nav-menu ul :is(li, li:hover) a {
  padding: 18px 0px;
}

.elementor-location-footer .elementor-widget-nav-menu ul li:first-child a {
  padding-top: 0px;
}

.elementor-location-footer .elementor-widget-nav-menu ul li:not(:last-child) {
  border-bottom: 2px solid white;
}

.elementor-nav-menu--dropdown .elementor-item.highlighted {
  background-color: transparent;
  color: var(--black);
}

.headline-with-icon::before {
  content: "";
  display: inline-block;
  position: absolute;
  z-index: -1;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: min(10vw, 80px);
  height: min(10vw, 80px);
  background-image: url("/wp-content/uploads/2022/08/favicon.svg");
  background-repeat: no-repeat;
  background-size: contain;
}

/* Search Form Header */
body .elementor-search-form--skin-full_screen .elementor-search-form__toggle i {
  background-color: transparent;
  color: #fff;
  font-size: 60px;
}

body.menu-open
  .elementor-search-form--skin-full_screen
  .elementor-search-form__toggle
  i {
  color: var(--primary);
}

body.scrolled
  .elementor-search-form--skin-full_screen
  .elementor-search-form__toggle
  i {
  color: var(--black);
}

.elementor-widget-search-form {
  margin-bottom: 0 !important;
}

/* Grid Layout */
.offset-left,
.offset-right {
  display: grid;
  grid-template-columns:
    [full-start] minmax(0, 1fr)
    [main-start] minmax(0, 1200px) [main-end]
    minmax(0, 1fr) [full-end];
}

.offset-left > .elementor-container {
  width: 100%;
  grid-column: main / full;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.offset-right > .elementor-container {
  width: 100%;
  grid-column: full / main;
}

body .grid-12-cols .elementor-container {
  display: grid;
  grid-template-columns: repeat(12, [col-start] 1fr);
}

.grid-col-1-3 {
  width: initial !important;
  grid-column: col-start 1 / span 3;
}
.grid-col-1-4 {
  width: initial !important;
  grid-column: col-start 1 / span 4;
}
.grid-col-1-5 {
  width: initial !important;
  grid-column: col-start 1 / span 5;
}
.grid-col-1-6 {
  width: initial !important;
  grid-column: col-start 1 / span 6;
}
.grid-col-1-7 {
  width: initial !important;
  grid-column: col-start 1 / span 7;
}
.grid-col-1-8 {
  width: initial !important;
  grid-column: col-start 1 / span 8;
}
.grid-col-1-9 {
  width: initial !important;
  grid-column: col-start 1 / span 9;
}
.grid-col-1-10 {
  width: initial !important;
  grid-column: col-start 1 / span 10;
}
.grid-col-1-11 {
  width: initial !important;
  grid-column: col-start 1 / span 11;
}
.grid-col-1-12 {
  width: initial !important;
  grid-column: col-start 1 / span 12;
}

.grid-col-2-3 {
  width: initial !important;
  grid-column: col-start 2 / span 3;
}
.grid-col-2-4 {
  width: initial !important;
  grid-column: col-start 2 / span 4;
}
.grid-col-2-5 {
  width: initial !important;
  grid-column: col-start 2 / span 5;
}
.grid-col-2-6 {
  width: initial !important;
  grid-column: col-start 2 / span 6;
}
.grid-col-2-7 {
  width: initial !important;
  grid-column: col-start 2 / span 7;
}
.grid-col-2-8 {
  width: initial !important;
  grid-column: col-start 2 / span 8;
}
.grid-col-2-9 {
  width: initial !important;
  grid-column: col-start 2 / span 9;
}
.grid-col-2-10 {
  width: initial !important;
  grid-column: col-start 2 / span 10;
}
.grid-col-2-11 {
  width: initial !important;
  grid-column: col-start 2 / span 11;
}

.grid-col-3-3 {
  width: initial !important;
  grid-column: col-start 3 / span 3;
}
.grid-col-3-4 {
  width: initial !important;
  grid-column: col-start 3 / span 4;
}
.grid-col-3-5 {
  width: initial !important;
  grid-column: col-start 3 / span 5;
}
.grid-col-3-6 {
  width: initial !important;
  grid-column: col-start 3 / span 6;
}
.grid-col-3-7 {
  width: initial !important;
  grid-column: col-start 3 / span 7;
}
.grid-col-3-8 {
  width: initial !important;
  grid-column: col-start 3 / span 8;
}
.grid-col-3-9 {
  width: initial !important;
  grid-column: col-start 3 / span 9;
}
.grid-col-3-10 {
  width: initial !important;
  grid-column: col-start 3 / span 10;
}

.grid-col-4-3 {
  width: initial !important;
  grid-column: col-start 4 / span 3;
}
.grid-col-4-4 {
  width: initial !important;
  grid-column: col-start 4 / span 4;
}
.grid-col-4-5 {
  width: initial !important;
  grid-column: col-start 4 / span 5;
}
.grid-col-4-6 {
  width: initial !important;
  grid-column: col-start 4 / span 6;
}
.grid-col-4-7 {
  width: initial !important;
  grid-column: col-start 4 / span 7;
}
.grid-col-4-8 {
  width: initial !important;
  grid-column: col-start 4 / span 8;
}

.grid-col-5-3 {
  width: initial !important;
  grid-column: col-start 5 / span 3;
}
.grid-col-5-4 {
  width: initial !important;
  grid-column: col-start 5 / span 4;
}
.grid-col-5-5 {
  width: initial !important;
  grid-column: col-start 5 / span 5;
}
.grid-col-5-6 {
  width: initial !important;
  grid-column: col-start 5 / span 6;
}
.grid-col-5-7 {
  width: initial !important;
  grid-column: col-start 5 / span 7;
}

.grid-col-6-3 {
  width: initial !important;
  grid-column: col-start 6 / span 3;
}
.grid-col-6-4 {
  width: initial !important;
  grid-column: col-start 6 / span 4;
}
.grid-col-6-5 {
  width: initial !important;
  grid-column: col-start 6 / span 5;
}
.grid-col-6-6 {
  width: initial !important;
  grid-column: col-start 6 / span 6;
}

.grid-col-7-3 {
  width: initial !important;
  grid-column: col-start 7 / span 3;
}
.grid-col-7-4 {
  width: initial !important;
  grid-column: col-start 7 / span 4;
}
.grid-col-7-5 {
  width: initial !important;
  grid-column: col-start 7 / span 5;
}

.grid-col-7-6 {
  width: initial !important;
  grid-column: col-start 7 / span 6;
}

.grid-col-8-3 {
  width: initial !important;
  grid-column: col-start 8 / span 3;
}
.grid-col-8-4 {
  width: initial !important;
  grid-column: col-start 8 / span 4;
}
.grid-col-8-5 {
  width: initial !important;
  grid-column: col-start 8 / span 5;
}

.grid-col-9-3 {
  width: initial !important;
  grid-column: col-start 9 / span 2;
}

.grid-col-9-3 {
  width: initial !important;
  grid-column: col-start 9 / span 4;
}

/* Icon-Liste */
.icon-list-border ul li {
  border: 2px solid var(--black);
  border-left: 0;
  border-right: 0;
  padding: 20px 10px !important;
  text-transform: uppercase;
}

.icon-list-border .elementor-icon-list-icon i {
  font-size: 20px;
}

.icon-list-border ul li:not(:first-child) {
  margin-top: -2px;
}

.icon-list-border ul li a {
  font-size: 20px !important;
  font-weight: 600 !important;
}

/* Main Header */
.main-header {
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

body.scrolled .main-header {
  background-color: #fff;
}

body .main-header .elementor-widget-icon {
  margin-bottom: 0 !important;
}

body .main-header .elementor-icon {
  padding: 0;
}

.main-header .main-logo img {
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.main-header .main-logo a {
  margin-left: -80px;
}

body.scrolled .main-header .main-logo img {
  width: 100px !important;
}

body.scrolled .main-header .main-logo a {
  margin-left: -50px;
}

/* Menu Popup */
body :is(.elementor-item, .elementor-sub-item):focus {
  background-color: transparent !important;
  color: var(--black) !important;
  outline: 0 !important;
}

.menu-popup {
  z-index: 0 !important;
}

.menu-popup .dialog-widget-content {
  padding-top: 90px;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

body.scrolled .menu-popup .dialog-widget-content {
  background-color: #fff !important;
}

.menu-popup .elementor-nav-menu--dropdown {
  background-color: transparent;
}

body .menu-popup .elementor-nav-menu :is(.elementor-item-active, :hover) {
  background-color: initial;
  color: var(--primary);
}

body.menu-open .menu-toggle.open {
  display: none;
}

body.menu-open .menu-toggle.close {
  display: block;
}

.menu-popup ul {
  margin: 0;
  list-style-type: none;
}

.menu-popup .elementor-nav-menu li {
  text-transform: initial;
  font-size: 18px;
}

.menu-popup li a.elementor-item:hover {
  color: var(--primary);
}

.menu-popup li > .elementor-item {
  border-bottom: 2px solid var(--black);
  font-weight: 600 !important;
}

.menu-popup li a {
  color: var(--black);
  padding: 12px 0 !important;
  margin: 0 !important;
  border-left: 0 !important;
}

.menu-popup li a.elementor-item {
  text-transform: uppercase;
  font-size: 22px;
}

.contact-section a.elementor-item {
  border: 0;
}

/* Jobs */
.section-benefit {
  border: 2px solid var(--black);
  border-left: 0;
  border-right: 0;
  margin-top: -2px;
  padding: 20px;
}

.elementor-accordion .elementor-accordion-item .elementor-tab-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

.elementor-accordion .elementor-tab-title {
  font-size: 3rem;
  text-transform: uppercase;
}

.elementor-accordion .elementor-tab-title,
.elementor-accordion .elementor-tab-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.elementor-accordion .elementor-accordion-icon {
  font-size: 3rem;
  width: 3rem !important;
}

.elementor-accordion .elementor-accordion-item,
.elementor-accordion .elementor-tab-content {
  border: 0 !important;
}

.elementor-accordion .elementor-accordion-item {
  border: 2px solid var(--black) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  margin-top: -2px !important;
}

.elementor-accordion h4 {
  font-weight: 600 !important;
}

/* Gallery */
body .elementor-slideshow__title {
  display: none !important;
}

/* Elementor Form */
.elementor-form :is(input:not([type="submit"]), textarea) {
  border: 0;
  border-bottom: 2px solid var(--black);
  border-radius: 0;
  padding: 10px 0;
}

.elementor-form :is(input:not([type="submit"]), textarea):focus {
  border-color: var(--primary);
  -webkit-box-shadow: none;
  box-shadow: none;
}

/* Scroll to Top Button */

a#scroll-top {
  background-image: url("/wp-content/uploads/2023/03/icon-arrow-up.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-color: transparent;
}

a#scroll-top:hover {
  background-color: transparent;
}

a#scroll-top i {
  display: none;
}

/* Responsive Settings */
@media screen and (max-width: 1300px) {
  body:not(.scrolled) .main-header .main-logo a {
    margin-left: initial;
  }

  body:not(.scrolled)
    .elementor-top-section.offset-left
    > .elementor-container {
    padding-left: 80px;
  }
}

@media screen and (max-width: 1240px) {
  body.scrolled .main-header .main-logo a {
    margin-left: initial;
  }

  body.scrolled .elementor-top-section.offset-left > .elementor-container {
    padding-left: 50px;
  }
}

@media screen and (min-width: 1025px) {
  /* Menu Popup */
  .menu-popup .elementor-nav-menu {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
  }

  .menu-popup .elementor-nav-menu ul.sub-menu {
    display: block;
  }

  body .elementor-nav-menu .sub-arrow {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  body .grid-12-cols .elementor-container {
  }

  .grid-col-1-8,
  .grid-col-3-3,
  .grid-col-3-5,
  .grid-col-3-7,
  .grid-col-5-3,
  .grid-col-6-5,
  .grid-col-8-3,
  .grid-col-8-5,
  .grid-col-9-3 {
    grid-column: col-start 1 / span 12;
  }
}

@media screen and (min-width: 768px) {
  .headline-textalign-right > * {
    text-align: right;
    margin-left: -200px;
  }
}

@media screen and (max-width: 768px) {
  .pt_db.pt_mobile {
    display: block !important;
  }
}

/* Pages */

.page-id-1180 .menu-toggle :is(rect, path) {
  fill: var(--black);
}

.page-id-1180 .menu-toggle g {
  stroke: var(--black);
}

.page-id-1180 .pt_search i {
  color: var(--black) !important;
}
