/*
 Theme Name:     pixeltypen_ Child Theme
 Theme URI:      https://oceanwp.org/
 Author:         pixeltypen / Tobias Bals
 Author URI:     https://pixeltypen.de
 Template:       oceanwp
 Version:        1.0.0
*/
/* ==================
  Colors
================= */
/* ==================
  Max content widths
================= */
a:focus {
  outline: none !important;
}

#outer-wrap {
  overflow: hidden !important;
  margin-top: -1px !important;
}

@media screen and (min-width: 1025px) {
  #site-header > .elementor > .e-con:not(.pt_header):not(.pt_hero),
  #content > .elementor > .e-con:not(.pt_header):not(.pt_hero),
  #main > .elementor > .e-con:not(.pt_header):not(.pt_hero) {
    padding-left: calc(20rem + (100vw - 1200px) / 2) !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #site-header > .elementor > .e-con:not(.pt_header):not(.pt_hero),
  #content > .elementor > .e-con:not(.pt_header):not(.pt_hero),
  #main > .elementor > .e-con:not(.pt_header):not(.pt_hero) {
    padding-left: calc(10rem + (100vw - 88vw) / 2) !important;
    padding-right: 5rem !important;
  }
}
@media screen and (max-width: 767px) {
  #site-header > .elementor > .e-con:not(.pt_header):not(.pt_hero),
  #content > .elementor > .e-con:not(.pt_header):not(.pt_hero),
  #main > .elementor > .e-con:not(.pt_header):not(.pt_hero) {
    padding-left: 5vw !important;
    padding-right: 5vw !important;
  }
}
@media screen and (min-width: 1025px) {
  #site-header > .elementor > .e-parent:not(.pt_hero),
  #content > .elementor > .e-parent:not(.pt_hero),
  #main > .elementor > .e-parent:not(.pt_hero) {
    padding-right: 10rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #site-header > .elementor > .e-parent:not(.pt_hero),
  #content > .elementor > .e-parent:not(.pt_hero),
  #main > .elementor > .e-parent:not(.pt_hero) {
    padding-right: 5rem !important;
  }
}
@media screen and (max-width: 767px) {
  #site-header > .elementor .pt_header,
  #content > .elementor .pt_header,
  #main > .elementor .pt_header {
    padding-left: 2rem !important;
  }
}

@media screen and (min-width: 2500px) and (max-width: 10000px) {
  body {
    max-width: 2500px !important;
    margin: 0 auto !important;
  }
}
body {
  transition: background-color 0.3s ease;
}

#scroll-top {
  z-index: 90 !important;
}

@media screen and (min-width: 768px) {
  .pt_header,
  .pt_menu,
  .pt_footer {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
}
@media screen and (max-width: 767px) {
  .pt_header,
  .pt_menu,
  .pt_footer {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

.pt_icon_list .elementor-icon-list-icon {
  margin-top: 2px !important;
}

#scroll-top {
  border-radius: 0 !important;
  background-color: #ea3a00 !important;
}

.pt_br {
  overflow: hidden !important;
  border-radius: 20px !important;
}

.pt_br_only {
  border-radius: 20px !important;
}

.pt_relative {
  position: relative !important;
}

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

.pt_no_margin,
.pt_no_margin * {
  margin: 0 !important;
}

.pt_inner_relative .e-con-inner {
  position: relative !important;
}

.pt_no_pointer {
  pointer-events: none !important;
}

.pt_oh {
  overflow: hidden !important;
}

@media screen and (min-width: 1025px) {
  .pt_block.pt_desktop {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_block.pt_tablet {
    display: block;
  }
}

.pt_underline {
  text-decoration: underline !important;
}

.pt_extra_bold * {
  font-weight: 800 !important;
}

@media screen and (max-width: 767px) {
  .pt_static.pt_mobile {
    display: block !important;
    position: static !important;
  }
}

@media screen and (min-width: 1025px) {
  .pt_short {
    max-width: 80rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_short {
    max-width: 50rem !important;
  }
}

@media screen and (min-width: 1025px) {
  .pt_ex_short {
    max-width: 50rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_ex_short {
    max-width: 35rem !important;
  }
}

.pt_hero_image_container {
  width: 100% !important;
}
@media screen and (min-width: 1025px) {
  .pt_hero_image_container {
    min-height: 75rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_hero_image_container {
    min-height: 70rem !important;
  }
}

.pt_gap {
  gap: 3rem !important;
}

@media screen and (min-width: 1025px) {
  .pt_st {
    padding-top: 25rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_st {
    padding-top: 15rem !important;
  }
}
@media screen and (max-width: 767px) {
  .pt_st {
    padding-top: 8rem !important;
  }
}
@media screen and (min-width: 1025px) {
  .pt_st_s {
    padding-top: calc(25rem / 2) !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_st_s {
    padding-top: calc(15rem / 2) !important;
  }
}
@media screen and (max-width: 767px) {
  .pt_st_s {
    padding-top: calc(8rem / 2) !important;
  }
}

@media screen and (min-width: 1025px) {
  .pt_sb {
    padding-bottom: 25rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_sb {
    padding-bottom: 15rem !important;
  }
}
@media screen and (max-width: 767px) {
  .pt_sb {
    padding-bottom: 8rem !important;
  }
}
@media screen and (min-width: 1025px) {
  .pt_sb_s {
    padding-bottom: calc(25rem / 2) !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_sb_s {
    padding-bottom: calc(15rem / 2) !important;
  }
}
@media screen and (max-width: 767px) {
  .pt_sb_s {
    padding-bottom: calc(8rem / 2) !important;
  }
}

@media screen and (min-width: 1025px) {
  .pt_sy {
    padding-top: 25rem !important;
    padding-bottom: 25rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_sy {
    padding-top: 15rem !important;
    padding-bottom: 15rem !important;
  }
}
@media screen and (max-width: 767px) {
  .pt_sy {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
}
@media screen and (min-width: 1025px) {
  .pt_sy_s {
    padding-top: calc(25rem / 2) !important;
    padding-bottom: calc(25rem / 2) !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_sy_s {
    padding-top: calc(15rem / 2) !important;
    padding-bottom: calc(15rem / 2) !important;
  }
}
@media screen and (max-width: 767px) {
  .pt_sy_s {
    padding-top: calc(8rem / 2) !important;
    padding-bottom: calc(8rem / 2) !important;
  }
}

@media screen and (min-width: 1025px) {
  .px_h2 .elementor-heading-title {
    font-size: 6rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .px_h2 .elementor-heading-title {
    font-size: 4rem !important;
  }
}
@media screen and (max-width: 767px) {
  .px_h2 .elementor-heading-title {
    font-size: 3.2rem !important;
  }
}

h3 {
  font-weight: 300 !important;
}
@media screen and (min-width: 1025px) {
  h3 {
    font-size: 2.5rem !important;
  }
}

.page-id-27 h2 {
  line-height: 1.4 !important;
}
@media screen and (min-width: 1025px) {
  .page-id-27 h2 {
    font-size: 3rem !important;
  }
}
@media screen and (max-width: 1024px) {
  .page-id-27 h2 {
    font-size: 2.2rem !important;
  }
}
@media screen and (min-width: 1025px) {
  .page-id-27 h3 {
    font-size: 2.5rem !important;
  }
}
@media screen and (max-width: 1024px) {
  .page-id-27 h3 {
    font-size: 1.8rem !important;
  }
}
.page-id-27 h3 {
  text-transform: none !important;
  font-weight: bold !important;
}

.elementor-widget-text-editor {
  position: relative;
  z-index: 3 !important;
}

.logged-in.admin-bar .pt_header {
  top: 32px !important;
}

#site-header {
  border: none !important;
}

.pt_header .elementor-button-wrapper {
  display: flex !important;
}
.pt_header {
  z-index: 1000 !important;
}
.pt_header.pt_active .pt_logo img {
  fill: white !important;
}
@media screen and (min-width: 2500px) and (max-width: 10000px) {
  .pt_header {
    left: calc((100vw - 2500px) / 2) !important;
    width: 2500px !important;
  }
}

.pt_menu_icon {
  width: 5rem;
}
@media screen and (min-width: 768px) {
  .pt_menu_icon {
    height: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .pt_menu_icon {
    height: 1.6rem;
  }
}
.pt_menu_icon {
  display: flex;
  flex-direction: column;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer;
  position: relative;
}
.pt_menu_icon::before {
  content: "menu";
}
.pt_menu_icon::after {
  content: "close";
  opacity: 0;
}
.pt_menu_icon::before, .pt_menu_icon::after {
  position: absolute;
  right: 120%;
  text-transform: uppercase;
  align-self: center;
  line-height: 1 !important;
}
@media screen and (min-width: 768px) {
  .pt_menu_icon::before, .pt_menu_icon::after {
    font-size: 2rem;
    top: 0rem;
  }
}
@media screen and (max-width: 767px) {
  .pt_menu_icon::before, .pt_menu_icon::after {
    top: 0;
  }
}
.pt_menu_icon::before, .pt_menu_icon::after {
  transition: all 0.2s ease !important;
}
.pt_menu_icon.pt_active::before {
  opacity: 0;
}
.pt_menu_icon.pt_active::after {
  opacity: 1;
  color: white !important;
}
@media screen and (min-width: 768px) {
  .pt_menu_icon.pt_active .pt_top {
    transform: rotate(21deg);
  }
}
@media screen and (max-width: 767px) {
  .pt_menu_icon.pt_active .pt_top {
    transform: rotate(16deg);
  }
}
@media screen and (min-width: 768px) {
  .pt_menu_icon.pt_active .pt_bottom {
    transform: rotate(-21deg);
  }
}
@media screen and (max-width: 767px) {
  .pt_menu_icon.pt_active .pt_bottom {
    transform: rotate(-16deg);
  }
}
.pt_menu_icon .pt_line {
  display: block !important;
  height: 2px;
  width: 100% !important;
  transform-origin: 0% 50% !important;
  background-color: #ea3a00 !important;
  transition: all 0.2s ease !important;
}

.pt_menu {
  position: fixed !important;
  z-index: 999 !important;
  bottom: 100% !important;
  top: unset !important;
  transition: all 0.2s ease !important;
  height: 100dvh !important;
  overflow-y: scroll !important;
  overflow-x: hidden !important;
}
@media screen and (max-width: 767px) {
  .pt_menu {
    flex-direction: row !important;
    padding-bottom: 5rem !important;
    padding-left: 0 !important;
  }
}
.pt_menu.pt_active {
  bottom: 0 !important;
}
.pt_menu .pt_sm_links {
  position: absolute;
  bottom: 3rem;
  right: 3rem;
}
@media screen and (min-width: 2500px) and (max-width: 10000px) {
  .pt_menu {
    width: 2500px !important;
  }
}
.pt_menu .pt_div3 {
  position: absolute;
  left: -3rem;
  transform-origin: 0 0;
  transform: rotate(90deg);
  top: 0;
}
@media screen and (max-width: 767px) {
  .pt_menu .pt_deggendorf,
  .pt_menu .pt_regensburg {
    transform: none !important;
  }
}
.pt_menu .elementor-nav-menu a {
  position: relative;
  width: max-content;
  background: linear-gradient(to right, #ea3a00 50%, #ffffff 50%);
  background-size: 200% 100%;
  background-position: right;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all 0.4s ease;
  line-height: 1.2em !important;
}
.pt_menu .elementor-nav-menu a::after {
  content: "" !important;
  position: absolute !important;
  background-repeat: no-repeat !important;
  height: 0.2rem;
  background: #ea3a00;
  bottom: 0;
  left: 0;
  width: 0;
}
.pt_menu .elementor-nav-menu a.elementor-item-active, .pt_menu .elementor-nav-menu a:hover {
  background-position: left;
}
.pt_menu .elementor-nav-menu a.elementor-item-active::after, .pt_menu .elementor-nav-menu a:hover::after {
  width: 100% !important;
}

.elementor-button {
  background: transparent !important;
}
.elementor-button .elementor-button-content-wrapper,
.elementor-button .elementor-button-icon {
  transition: all 0.2s ease !important;
}
.elementor-button .elementor-button-icon {
  transform-origin: center !important;
}
.elementor-button .elementor-button-content-wrapper {
  gap: 1rem !important;
}
.elementor-button:hover .elementor-button-content-wrapper {
  gap: 1.5rem !important;
}
.elementor-button:hover .elementor-button-icon {
  transform: rotate(-45deg);
}

.pt_form ::placeholder {
  color: black !important;
  opacity: 1 !important;
}
.pt_form input,
.pt_form textarea {
  padding-left: 0 !important;
}
.pt_form .elementor-field-group .elementor-field-textual:focus {
  box-shadow: none !important;
}
.pt_form .elementor-button {
  padding: 0 !important;
  min-height: 0 !important;
  flex-basis: auto !important;
}
.pt_form .elementor-button .elementor-button-text {
  text-transform: none !important;
}
.pt_form .e-form__buttons {
  margin-top: 4rem !important;
}

.pt_footer .elementor-nav-menu {
  display: grid !important;
  grid-template-columns: 3fr 3fr 1fr 1fr;
  gap: 1rem;
}
.pt_footer .elementor-nav-menu .menu-item,
.pt_footer .elementor-nav-menu .menu-item .elementor-item {
  justify-content: flex-start !important;
}

.pt_projekte_wrapper.pt_loading .pt_projekt,
.pt_projekte_wrapper.pt_loading .pt_button_link {
  pointer-events: none;
}
.pt_projekte_wrapper {
  /* -----------------------------
   Button Link (shared hover)
  ----------------------------- */
}
.pt_projekte_wrapper .pt_button_link {
  transition: all 0.2s ease !important;
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  cursor: pointer;
}
.pt_projekte_wrapper .pt_button_link img {
  transition: all 0.2s ease !important;
  max-width: 2rem;
  transform-origin: center;
  margin-bottom: 1.3rem;
}
.pt_projekte_wrapper .pt_button_link .pt_title {
  margin: 0;
}
.pt_projekte_wrapper .pt_button_link:hover {
  gap: 2rem;
}
.pt_projekte_wrapper .pt_button_link:hover img {
  transform: rotate(-45deg);
}
.pt_projekte_wrapper #pt_to_all_projects,
.pt_projekte_wrapper #pt_load_more {
  margin-top: 10rem;
}
.pt_projekte_wrapper {
  /* -----------------------------
   Project Grid Layout
  ----------------------------- */
}
.pt_projekte_wrapper .pt_projekt_grid_new {
  display: grid;
}
@media screen and (min-width: 768px) {
  .pt_projekte_wrapper .pt_projekt_grid_new {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1025px) {
  .pt_projekte_wrapper .pt_projekt_grid_new {
    gap: 6rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_projekte_wrapper .pt_projekt_grid_new {
    gap: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .pt_projekte_wrapper .pt_projekt_grid_new {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.pt_projekte_wrapper .pt_projekt_grid_new {
  /* -----------------------------
   Project Item
  ----------------------------- */
}
.pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  cursor: pointer;
  /* Shared image container */
}
.pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt .featured_image_container {
  overflow: hidden;
}
.pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt .featured_image_container img {
  transition: all 0.5s ease;
  filter: grayscale(1);
  object-fit: cover;
  object-position: center;
}
.pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt {
  /* Shared Hover Effects */
}
.pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:hover .featured_image_container img {
  transform: scale(1.2);
}
.pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:hover .pt_button_link {
  gap: 2rem;
}
.pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:hover .pt_button_link img {
  transform: rotate(-45deg);
}
.pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt {
  /* -----------------------------
   Height Presets (DRY)
  ----------------------------- */
  /* -----------------------------
   Nth Layout Rules
  ----------------------------- */
}
@media screen and (min-width: 1025px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 1) {
    margin-top: 5rem;
    padding-left: 10rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 1) {
    margin-top: 2rem;
    padding-left: 4rem;
  }
}
@media screen and (min-width: 1025px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 1) .featured_image_container img {
    height: 60rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 1) .featured_image_container img {
    height: 40rem;
  }
}
@media screen and (min-width: 1025px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 2) .featured_image_container img, .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 5) .featured_image_container img {
    height: 40rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 2) .featured_image_container img, .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 5) .featured_image_container img {
    height: 25rem;
  }
}
@media screen and (min-width: 1025px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 3) .featured_image_container img {
    height: 38rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 3) .featured_image_container img {
    height: 22rem;
  }
}
@media screen and (min-width: 1025px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 4), .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 6) {
    padding-right: 10rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 4), .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 6) {
    padding-right: 5rem;
  }
}
@media screen and (min-width: 1025px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 4) .featured_image_container img, .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 6) .featured_image_container img {
    height: 50rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 4) .featured_image_container img, .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 6) .featured_image_container img {
    height: 30rem;
  }
}
@media screen and (min-width: 1025px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 4) {
    margin-top: -26rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 4) {
    margin-top: -18rem;
  }
}
@media screen and (min-width: 1025px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 5) {
    padding-left: 5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 5) {
    padding-left: 2.5rem;
  }
}
@media screen and (min-width: 1025px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 6) {
    margin-top: -10rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_projekte_wrapper .pt_projekt_grid_new .pt_projekt:nth-of-type(6n + 6) {
    margin-top: -5rem;
  }
}

.pt_word_circle {
  z-index: -1 !important;
}
@media screen and (min-width: 1025px) {
  .pt_word_circle img {
    width: 20rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_word_circle img {
    width: 12rem !important;
  }
}
@media screen and (max-width: 767px) {
  .pt_word_circle img {
    width: 8rem !important;
  }
}
@media screen and (min-width: 1025px) {
  .pt_word_circle.pt_left {
    margin-left: -10rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_word_circle.pt_left {
    margin-left: -6rem !important;
  }
}
@media screen and (max-width: 767px) {
  .pt_word_circle.pt_left {
    margin-left: -4rem !important;
    top: -4rem !important;
  }
}

body {
  background-color: black;
  transition: all 0.2s ease !important;
}
body:not(.home):not(.front-page) {
  background-color: black;
}
body:not(.home):not(.front-page) tr {
  border-color: white !important;
}
body:not(.home):not(.front-page) #main :not(.pt_exclude .elementor-heading-title),
body:not(.home):not(.front-page) .pt_footer :not(.pt_exclude .elementor-heading-title) {
  color: white !important;
}
body:not(.home):not(.front-page) .pt_menu_icon::before,
body:not(.home):not(.front-page) .pt_menu_icon::after {
  color: white;
}
body:not(.home):not(.front-page) .elementor-button svg {
  filter: invert(1);
}
body:not(.home):not(.front-page) form {
  border-color: white !important;
}
body:not(.home):not(.front-page) form * {
  border-color: white !important;
}
body:not(.home):not(.front-page) form ::placeholder {
  color: white !important;
}
body.pt_black {
  background-color: black;
}
body.pt_black tr {
  border-color: white !important;
}
body.pt_black #main :not(.pt_exclude .elementor-heading-title),
body.pt_black .pt_footer :not(.pt_exclude .elementor-heading-title) {
  color: white !important;
}
body.pt_black .pt_menu_icon::before,
body.pt_black .pt_menu_icon::after {
  color: white;
}
body.pt_black .elementor-button svg {
  filter: invert(1);
}
body.home.pt_white, body.front-page.pt_white {
  background-color: white;
}
body.home.pt_white tr, body.front-page.pt_white tr {
  border-color: black !important;
}
body.home.pt_white #main :not(.pt_exclude .elementor-heading-title),
body.home.pt_white .pt_footer :not(.pt_exclude .elementor-heading-title), body.front-page.pt_white #main :not(.pt_exclude .elementor-heading-title),
body.front-page.pt_white .pt_footer :not(.pt_exclude .elementor-heading-title) {
  color: black !important;
}
body.home.pt_white .pt_menu_icon::before,
body.home.pt_white .pt_menu_icon::after, body.front-page.pt_white .pt_menu_icon::before,
body.front-page.pt_white .pt_menu_icon::after {
  color: black;
}
body.home.pt_white .elementor-icon-list-item svg, body.front-page.pt_white .elementor-icon-list-item svg {
  filter: invert(1);
}
body.home.pt_white .pt_button_link img,
body.home.pt_white .pt_logo, body.front-page.pt_white .pt_button_link img,
body.front-page.pt_white .pt_logo {
  filter: invert(1) !important;
}

@media screen and (min-width: 768px) {
  .pt_team_container .pt_word_circle {
    left: 60% !important;
  }
}
@media screen and (max-width: 767px) {
  .pt_team_container .pt_word_circle {
    left: -4rem !important;
  }
}
.pt_team_container .pt_team_grid {
  display: grid;
}
@media screen and (min-width: 1025px) {
  .pt_team_container .pt_team_grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_team_container .pt_team_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .pt_team_container .pt_team_grid {
    grid-template-columns: 1fr;
  }
}
.pt_team_container .pt_team_grid {
  gap: 3rem;
}
.pt_team_container .pt_team_grid .pt_team_member {
  display: flex;
  flex-direction: column;
  gap: 3rem !important;
  grid-template-columns: 1/-1;
}
@media screen and (min-width: 1025px) {
  .pt_team_container .pt_team_grid .pt_team_member:nth-child(3) {
    grid-column: 1/span 1;
  }
}
.pt_team_container .pt_team_grid .pt_team_member .featured_image_container {
  position: relative;
  overflow: hidden;
}
.pt_team_container .pt_team_grid .pt_team_member .featured_image_container img {
  filter: grayscale(100%);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: top center;
}
@media screen and (min-width: 1025px) {
  .pt_team_container .pt_team_grid .pt_team_member .featured_image_container {
    min-height: 52rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_team_container .pt_team_grid .pt_team_member .featured_image_container {
    min-height: 40rem;
  }
}
@media screen and (max-width: 767px) {
  .pt_team_container .pt_team_grid .pt_team_member .featured_image_container {
    min-height: 35rem;
  }
}
.pt_team_container .pt_team_grid .pt_team_member .pt_title {
  margin: 0;
}
.pt_team_container .pt_team_grid .pt_team_member .pt_profession {
  text-transform: uppercase;
}
.pt_team_container .pt_team_grid .pt_team_member .pt_text {
  display: flex;
  flex-direction: column;
}

.pt_accordian .e-n-accordion-item-title-icon {
  margin-right: 2rem !important;
}
.pt_accordian .e-n-accordion-item-title-icon span {
  width: 3rem !important;
}

@media screen and (min-width: 1025px) {
  .single.single-projekte h1 {
    font-size: 6rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .single.single-projekte h1 {
    font-size: 4rem !important;
  }
}
@media screen and (max-width: 767px) {
  .single.single-projekte h1 {
    font-size: 3.2rem !important;
  }
}
.single.single-projekte #content-wrap {
  width: 100% !important;
  max-width: 100% !important;
}
.single.single-projekte #content-wrap #right-sidebar {
  display: none !important;
}
.single.single-projekte #content-wrap #primary {
  width: 100% !important;
  padding-right: 0 !important;
  border: none !important;
}
.single.single-projekte .elementor-slideshow__footer {
  display: none !important;
}
.single.single-projekte .pt_prokejt_data_table td {
  padding-left: 0 !important;
  display: flex;
  align-items: center;
  border-bottom: none !important;
}
.single.single-projekte .pt_prokejt_data_table td h3 {
  word-break: break-word !important;
}
.single.single-projekte .pt_prokejt_data_table tr {
  display: grid;
  grid-template-columns: 1fr 1fr !important;
  width: 100% !important;
  border-bottom: 1px solid !important;
  gap: 3rem !important;
}
.single.single-projekte .pt_prokejt_data_table tr:first-child {
  border-top: 1px solid !important;
}

.pt_hero .pt_trans_img {
  visibility: hidden;
  margin: 0 auto;
  transform-origin: center;
  z-index: -1;
}
@media screen and (min-width: 1025px) {
  .pt_hero .pt_trans_img {
    width: 50vw;
    height: 50vh;
    top: 25vh;
  }
}
@media screen and (max-width: 1024px) {
  .pt_hero .pt_trans_img {
    width: 90vw;
    height: 50vh;
    top: 25vh;
  }
}
.pt_hero .pt_trans_img .elementor-widget-container,
.pt_hero .pt_trans_img img {
  width: 100% !important;
  height: 100% !important;
}
.pt_hero .pt_trans_img img {
  object-fit: cover !important;
}

body:not(.elementor-editor-active) .pt_hero .pt_trans_img {
  position: fixed;
  left: 0;
  right: 0;
}

@media screen and (max-width: 767px) {
  #main .elementor > .e-parent:first-child {
    padding-top: 15rem !important;
  }
}

.pt_projekt_acf_image {
  object-fit: cover !important;
  width: 100% !important;
  margin-bottom: 3rem;
}
@media screen and (min-width: 1025px) {
  .pt_projekt_acf_image {
    height: 60rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_projekt_acf_image {
    height: 40rem !important;
  }
}
@media screen and (max-width: 767px) {
  .pt_projekt_acf_image {
    height: 30rem !important;
  }
}

.pt_image_box,
.pt_image_box .elementor-widget-shortcode,
.pt_image_box .elementor-widget-image,
.pt_image_box .elementor-widget-container {
  position: relative !important;
  display: flex;
  flex-direction: column;
  flex: 1 !important;
}
.pt_image_box img,
.pt_image_box .elementor-widget-shortcode img,
.pt_image_box .elementor-widget-image img,
.pt_image_box .elementor-widget-container img {
  position: absolute;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.px_404_container {
  height: calc(100vh - 10rem) !important;
}

.pt_benefit_grid {
  display: grid !important;
  gap: 3rem;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 12rem; /* Default row height is 20rem */
}
.pt_benefit_grid > .elementor-element {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  gap: 3rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt_benefit_grid > .elementor-element {
    grid-column: span 6;
    grid-row: span 3;
  }
}
@media screen and (max-width: 767px) {
  .pt_benefit_grid > .elementor-element {
    grid-column: span 12;
    grid-row: span 3;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(1) {
    grid-column: span 3;
    grid-row: 3/span 4;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(2) {
    grid-column: span 9;
    grid-row: 1/span 5;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(3) {
    grid-column: 3/span 7;
    grid-row: 7/span 5;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(4) {
    grid-column: 1/-1;
    grid-row: span 6;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(5) {
    grid-column: span 3;
    grid-row: 20/span 4;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(6) {
    grid-column: span 9;
    grid-row: 18/span 5;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(7) {
    grid-column: 3/span 7;
    grid-row: 24/span 5;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(8) {
    grid-column: 1/-1;
    grid-row: span 6;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(9) {
    grid-column: span 3;
    grid-row: 37/span 4;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(10) {
    grid-column: span 9;
    grid-row: 35/span 5;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(11) {
    grid-column: 3/span 7;
    grid-row: 41/span 5;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(12) {
    grid-column: 1/-1;
    grid-row: span 6;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(13) {
    grid-column: span 3;
    grid-row: 54/span 4;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(14) {
    grid-column: span 9;
    grid-row: 52/span 5;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(15) {
    grid-column: 3/span 7;
    grid-row: 58/span 5;
  }
}
@media screen and (min-width: 1025px) {
  .pt_benefit_grid > .elementor-element:nth-child(16) {
    grid-column: 1/-1;
    grid-row: span 6;
  }
}

/*# sourceMappingURL=style.css.map */
