/*
 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
*/
.px_limit_left {
  padding-left: calc((100vw - var(--container-max-width)) / 2) !important;
}
@media (max-width: 767px) {
  .px_limit_left {
    padding-right: 5vw !important;
  }
}

.px_limit_right {
  padding-right: calc((100vw - var(--container-max-width)) / 2) !important;
}

@media (min-width: 1025px) {
  .px_space_left {
    padding-left: 20rem !important;
  }
}

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

.px_oh {
  overflow: hidden !important;
}

.px_gap {
  gap: 3rem !important;
}

@media (max-width: 767px) {
  .px_pt {
    padding-top: 8rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .px_pt {
    padding-top: 15rem !important;
  }
}
@media (min-width: 1025px) {
  .px_pt {
    padding-top: 25rem !important;
  }
}
@media (max-width: 767px) {
  .px_pt_sm {
    padding-top: 4rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .px_pt_sm {
    padding-top: 7.5rem !important;
  }
}
@media (min-width: 1025px) {
  .px_pt_sm {
    padding-top: 12.5rem !important;
  }
}

@media (max-width: 767px) {
  .px_pb {
    padding-bottom: 8rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .px_pb {
    padding-bottom: 15rem !important;
  }
}
@media (min-width: 1025px) {
  .px_pb {
    padding-bottom: 25rem !important;
  }
}
@media (max-width: 767px) {
  .px_pb_sm {
    padding-bottom: 4rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .px_pb_sm {
    padding-bottom: 7.5rem !important;
  }
}
@media (min-width: 1025px) {
  .px_pb_sm {
    padding-bottom: 12.5rem !important;
  }
}

@media (max-width: 767px) {
  .px_py {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .px_py {
    padding-top: 15rem !important;
    padding-bottom: 15rem !important;
  }
}
@media (min-width: 1025px) {
  .px_py {
    padding-top: 25rem !important;
    padding-bottom: 25rem !important;
  }
}
@media (max-width: 767px) {
  .px_py_sm {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .px_py_sm {
    padding-top: 7.5rem !important;
    padding-bottom: 7.5rem !important;
  }
}
@media (min-width: 1025px) {
  .px_py_sm {
    padding-top: 12.5rem !important;
    padding-bottom: 12.5rem !important;
  }
}

.px_accent .elementor-heading-title {
  font-family: "Gambarino", Sans-serif !important;
  line-height: 1.4 !important;
}

.px_normal h1,
.px_normal h2,
.px_normal h3 {
  text-transform: none !important;
}

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

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

@media (min-width: 1025px) {
  .px_block.px_desktop {
    display: block;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .px_block.px_tablet {
    display: block;
  }
}

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

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

.px_bold * {
  font-weight: bold !important;
}

.px_h2 .elementor-heading-title {
  font-size: clamp(3.5rem, 2rem + 2.5vw, 6rem) !important;
}

.px_relative {
  position: relative !important;
}

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

.px_logo_deco {
  position: relative !important;
}
.px_logo_deco::after {
  content: "" !important;
  position: absolute !important;
  background-repeat: no-repeat !important;
  background-image: url("/wp-content/uploads/2025/12/logo-circle.svg");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 10 !important;
}
@media (min-width: 768px) {
  .px_logo_deco::after {
    width: 15rem !important;
    height: 15rem !important;
    right: calc(-7.5rem - 2rem) !important;
    bottom: -7.5rem !important;
  }
}
@media (max-width: 767px) {
  .px_logo_deco::after {
    width: 10rem !important;
    height: 10rem !important;
    right: 2rem !important;
    bottom: -5rem !important;
  }
}

a:focus {
  outline: none !important;
}

#outer-wrap {
  overflow: hidden !important;
}

#scroll-top {
  z-index: 90 !important;
  background-image: url("https://graf-gruppe.com/wp-content/uploads/2026/01/back-to-top.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 5rem;
  height: 5rem;
  right: 3rem !important;
  bottom: 3rem !important;
  background-color: transparent !important;
}
#scroll-top i {
  display: none !important;
}

.elementor-widget-image .elementor-widget-container img {
  object-fit: cover !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .e-con {
    --gap: 4rem !important;
    --row-gap: 4rem !important;
    --column-gap: 4rem !important;
  }
}
@media (max-width: 767px) {
  .e-con {
    --gap: 3 !important;
    --row-gap: 3rem !important;
    --column-gap: 3rem !important;
  }
}

.elementor-lightbox .elementor-slideshow__footer.elementor-lightbox-prevent-close {
  display: none !important;
}

body,
h1,
h2,
h3 {
  font-family: "mr-eaves-sans", sans-serif !important;
}

.elementor-heading-title {
  text-transform: uppercase !important;
  line-height: 1 !important;
}

.elementor-widget-text-editor a {
  text-decoration: underline !important;
}

h1 {
  font-size: clamp(5rem, 3rem + 4vw, 9rem) !important;
}

h2 {
  font-size: clamp(3.5rem, 2rem + 2.5vw, 6rem) !important;
}

h3 {
  font-size: clamp(2.4rem, 2rem + 1.6vw, 4rem) !important;
}

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

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

.px_header.px_scrolled:not(.px_menu_open) {
  background: var(--e-global-color-primary) !important;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
}

@media (min-width: 1025px) {
  .px_menu_toggle {
    height: 2.5rem;
    width: 5rem;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .px_menu_toggle {
    height: 2.5rem;
    width: 5rem;
  }
}
@media (max-width: 767px) {
  .px_menu_toggle {
    height: 2rem;
    width: 4rem;
  }
}
.px_menu_toggle {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
}
.px_menu_toggle.px_active .px_middle, .px_menu_toggle.px_menu_open .px_middle {
  opacity: 0;
}
.px_menu_toggle.px_active .px_top, .px_menu_toggle.px_menu_open .px_top {
  transform: rotate(27deg);
}
.px_menu_toggle.px_active .px_bottom, .px_menu_toggle.px_menu_open .px_bottom {
  transform: rotate(-27deg);
}
.px_menu_toggle .px_line {
  transition: all 0.5s ease !important;
  height: 0.2rem;
  width: 100%;
  transform-origin: center left;
  background: white;
}

.px_menu {
  transition: all 0.5s ease !important;
  position: fixed !important;
  left: 0;
  right: 0;
  bottom: 100%;
  max-height: 100dvh !important;
  overflow-y: scroll !important;
}
@media (max-width: 767px) {
  .px_menu {
    padding: 20rem 0 !important;
  }
}
.px_menu.px_menu_open {
  bottom: 0 !important;
}
.px_menu .elementor-nav-menu {
  display: grid !important;
  width: 100% !important;
  align-items: start !important;
}
@media (min-width: 768px) {
  .px_menu .elementor-nav-menu {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    gap: 5rem;
  }
}
@media (max-width: 767px) {
  .px_menu .elementor-nav-menu {
    gap: 1.5rem;
  }
}
.px_menu .elementor-nav-menu::after {
  content: none !important;
}
.px_menu .elementor-nav-menu > li > a {
  font-size: 3rem;
}
.px_menu .elementor-nav-menu a {
  text-transform: uppercase !important;
}
.px_menu .elementor-nav-menu .menu-item-has-children {
  flex-direction: column !important;
}
.px_menu .elementor-nav-menu .menu-item-has-children .sub-menu {
  display: block !important;
  position: relative !important;
  top: 0 !important;
  background: transparent !important;
}
@media (max-width: 767px) {
  .px_menu .elementor-nav-menu .menu-item-has-children .sub-menu {
    display: none !important;
  }
}
.px_menu .elementor-nav-menu .menu-item-has-children .sub-menu li a {
  border-inline-start: none !important;
  padding: 0.5rem 0 !important;
  font-size: 1.8rem !important;
  font-weight: 300 !important;
}

.elementor-button {
  text-transform: uppercase !important;
  border-radius: 0 !important;
}
.elementor-button::before {
  content: "" !important;
  position: absolute !important;
  background-repeat: no-repeat !important;
  height: 0.1rem;
  width: 5rem;
  bottom: 1rem !important;
}

.px_primary .elementor-button {
  background-color: var(--e-global-color-accent) !important;
}
.px_primary .elementor-button::before {
  background: white;
  left: 2rem !important;
}

.px_text.px_light .elementor-button {
  color: white !important;
}
.px_text .elementor-button {
  background: transparent !important;
  color: black !important;
  padding-left: 0 !important;
}
.px_text .elementor-button::before {
  background: var(--e-global-color-accent) !important;
  left: 0 !important;
}

.px_form input,
.px_form textarea {
  background: var(--e-global-color-primary) !important;
  border-radius: 0 !important;
  color: white !important;
}
.px_form input:not([type=submit]):not([type=checkbox]):not([type=file]) {
  border: none !important;
  border-bottom: 0.1rem solid var(--e-global-color-secondary) !important;
  padding-left: 0 !important;
}
.px_form textarea,
.px_form input[type=checkbox],
.px_form input[type=file] {
  border: 0.1rem solid var(--e-global-color-secondary) !important;
}
.px_form input[type=checkbox]::before {
  color: var(--e-global-color-secondary) !important;
}
.px_form .gfield_label {
  display: none !important;
}
.px_form .gform_fields {
  row-gap: 2rem !important;
}
.px_form .gfield_description,
.px_form .gform-field-label,
.px_form ::placeholder {
  color: white !important;
}
.px_form .gform_button {
  background-color: var(--e-global-color-accent) !important;
  text-transform: uppercase !important;
}
.px_form input[type=file] {
  border: none;
}
.px_form input[type=file]::file-selector-button {
  background: transparent !important;
  color: white !important;
  border-right: 0.1rem solid var(--e-global-color-accent) !important;
}

.px_form_light input,
.px_form_light textarea {
  background: white !important;
  border-radius: 0 !important;
  color: var(--e-global-color-primary) !important;
}
.px_form_light input:not([type=submit]):not([type=checkbox]):not([type=file]) {
  border: none !important;
  border-bottom: 0.1rem solid var(--e-global-color-primary) !important;
  padding-left: 0 !important;
}
.px_form_light textarea,
.px_form_light input[type=checkbox],
.px_form_light input[type=file] {
  border: 0.1rem solid var(--e-global-color-primary) !important;
}
.px_form_light input[type=checkbox]::before {
  color: var(--e-global-color-primary) !important;
}
.px_form_light .gfield_label {
  display: none !important;
}
.px_form_light .gform_fields {
  row-gap: 2rem !important;
}
.px_form_light .gfield_description,
.px_form_light .gform-field-label,
.px_form_light ::placeholder {
  color: var(--e-global-color-primary) !important;
}
.px_form_light .gform_button {
  background-color: var(--e-global-color-primary) !important;
  color: white !important;
  text-transform: uppercase !important;
}
.px_form_light input[type=file] {
  border: none;
}
.px_form_light input[type=file]::file-selector-button {
  background: transparent !important;
  color: var(--e-global-color-primary) !important;
  border-right: 0.1rem solid var(--e-global-color-primary) !important;
}

@media (max-width: 1024px) {
  .px_hero_background {
    opacity: 0.3 !important;
  }
}

@media (min-width: 1025px) {
  .px_hero:not(.px_l) {
    height: 50rem !important;
  }
}
@media (max-width: 1024px) {
  .px_hero:not(.px_l) {
    height: 40rem !important;
  }
}
@media (min-width: 1025px) {
  .px_hero.px_l {
    height: 100vh !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .px_hero.px_l {
    height: 70vh !important;
  }
}
.px_hero .px_text_container {
  height: auto !important;
}
.px_hero .px_img_container {
  position: relative;
}
@media (min-width: 768px) {
  .px_hero .px_img_container .elementor-widget-image,
  .px_hero .px_img_container .elementor-widget-container,
  .px_hero .px_img_container img {
    position: absolute !important;
    inset: 0;
    height: 100%;
  }
}
.px_hero .px_img_container img {
  object-position: top center;
}

.px_footer .px_deco_container {
  position: relative !important;
  overflow: hidden !important;
}
.px_footer .px_deco_container .elementor-widget-image,
.px_footer .px_deco_container .elementor-widget-container {
  position: static !important;
}
.px_footer .px_deco_container img {
  position: absolute !important;
  top: -2rem;
  bottom: -2rem;
  left: 0;
  height: calc(100% + 4rem) !important;
  max-width: max-content !important;
}
@media (max-width: 767px) {
  .px_footer .px_deco_container img {
    left: -2rem !important;
  }
}
@media (max-width: 767px) {
  .px_footer .elementor-nav-menu li:last-child a {
    margin-left: 0 !important;
  }
}
.px_footer .px_copyright .elementor-widget-container {
  display: flex;
  align-items: center;
}
.px_footer .px_copyright .elementor-widget-container p {
  margin: 0;
  text-transform: uppercase;
  color: white;
  font-size: 1.8rem;
  line-height: 2rem;
}

.px_ab_img {
  position: relative !important;
}
.px_ab_img .px_img {
  position: static !important;
}
@media (min-width: 768px) {
  .px_ab_img img {
    position: absolute !important;
    bottom: 0;
    left: 0;
    max-width: max-content !important;
  }
}

.px_circle_container .px_circle {
  width: 15rem;
  height: 15rem;
  border-radius: 100%;
  border: 0.1rem solid white;
}

@media (min-width: 768px) {
  .px_counter_grid .px_counter_container + .px_counter_container::before {
    content: "" !important;
    position: absolute !important;
    background-repeat: no-repeat !important;
    width: 0.1rem !important;
    background: var(--e-global-color-primary);
  }
}
.px_counter_grid .elementor-counter .elementor-counter-number-wrapper {
  order: -1 !important;
}
.px_counter_grid .elementor-counter .elementor-counter-title {
  text-transform: uppercase !important;
}

@media (min-width: 768px) {
  .px_testimonial .px_text_container {
    padding-top: 15rem !important;
    padding-bottom: 15rem !important;
  }
}
@media (max-width: 767px) {
  .px_testimonial .px_text_container {
    padding-top: 0rem !important;
    padding-bottom: 5rem !important;
  }
}
.px_testimonial .px_image_container {
  position: relative !important;
}
.px_testimonial .px_image_container .elementor-widget-image,
.px_testimonial .px_image_container .elementor-widget-container {
  position: static !important;
}
@media (min-width: 768px) {
  .px_testimonial .px_image_container img {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100% !important;
    object-position: top center;
  }
}

.px_liquid_img_container {
  position: relative !important;
}
.px_liquid_img_container .elementor-widget-image,
.px_liquid_img_container .elementor-widget-container {
  position: static !important;
}
@media (min-width: 768px) {
  .px_liquid_img_container img {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100% !important;
    object-position: top center;
  }
}

.px_video {
  position: relative !important;
}
.px_video .elementor-widget-container {
  overflow: visible !important;
}
.px_video .elementor-custom-embed-play {
  position: absolute;
  bottom: 2rem !important;
  inset-block-start: unset !important;
  inset-inline-start: -3rem !important;
  transform: none !important;
}

.px_accordion .e-n-accordion-item-title {
  border-bottom: 0.1rem solid var(--e-global-color-primary) !important;
  padding-left: 0 !important;
}
.px_accordion .e-n-accordion-item-title .e-n-accordion-item-title-icon {
  transform: rotate(90deg);
}
.px_accordion .e-n-accordion-item-title .e-n-accordion-item-title-icon span {
  display: flex;
  align-items: center;
  justify-content: center;
}
.px_accordion .e-n-accordion-item-title-text {
  font-size: 2.2rem !important;
}
.px_accordion .e-n-accordion-item .e-con-full {
  padding-left: 0 !important;
}
.px_accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon {
  transform: rotate(-90deg);
}

.px_team .px_team_card img {
  object-position: top center;
}
@media (min-width: 1025px) {
  .px_team .px_team_card img {
    height: 45rem !important;
  }
}
@media (max-width: 1024px) {
  .px_team .px_team_card img {
    height: 40rem !important;
  }
}

.px_process_slider .elementor-swiper-button-prev,
.px_process_slider .elementor-swiper-button-next {
  bottom: -10rem !important;
  top: unset !important;
}

.px_testimonial_slider .elementor-swiper-button-prev,
.px_testimonial_slider .elementor-swiper-button-next {
  top: 8rem !important;
}
@media (max-width: 767px) {
  .px_testimonial_slider .elementor-swiper-button-prev,
  .px_testimonial_slider .elementor-swiper-button-next {
    top: -5rem !important;
  }
}
.px_testimonial_slider .elementor-swiper-button-prev {
  left: calc((100vw - var(--container-max-width)) / 2) !important;
}
.px_testimonial_slider .elementor-swiper-button-next {
  right: unset !important;
  left: calc((100vw - var(--container-max-width)) / 2) !important;
}

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