/* ==================
  Color Palette
================== */
/* ==================
  Breakpoints
================== */
/* ==================
  Max Content Widths
================== */
/* ==================
  Generic Media Query Mixin
================== */
/* ==================
  Convenience Aliases (Snake Case)
================== */
/* ==================
  Optional: CSS Variables for Runtime Use
================== */
:root {
  --content-width-desktop: 1200px;
  --content-width-tablet: 90vw;
  --content-width-mobile: 90vw;
}
@media screen and (min-width: 1024px) {
  .px_limit_left {
    padding-left: calc((100vw - 1200px) / 2);
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .px_limit_left {
    padding-left: calc((100vw - 90vw) / 2);
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .px_limit_left {
    padding-left: calc((100vw - 90vw) / 2);
  }
}
@media screen and (min-width: 1024px) {
  .px_limit_right {
    padding-right: calc((100vw - 1200px) / 2);
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .px_limit_right {
    padding-right: calc((100vw - 90vw) / 2);
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .px_limit_right {
    padding-right: calc((100vw - 90vw) / 2);
  }
}
.px_br {
  overflow: hidden !important;
  border-radius: 20px !important;
}
.px_br_only {
  border-radius: 20px !important;
}
.px_br_b {
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .px_br_b {
    border-bottom-right-radius: 35rem !important;
    border-bottom-left-radius: 35rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .px_br_b {
    border-bottom-right-radius: 25rem !important;
    border-bottom-left-radius: 25rem !important;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .px_br_b {
    border-bottom-right-radius: 10rem !important;
    border-bottom-left-radius: 10rem !important;
  }
}
.px_br_t {
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .px_br_t {
    border-top-right-radius: 35rem !important;
    border-top-left-radius: 35rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .px_br_t {
    border-top-right-radius: 25rem !important;
    border-top-left-radius: 25rem !important;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .px_br_t {
    border-top-right-radius: 10rem !important;
    border-top-left-radius: 10rem !important;
  }
}
.px_br_bl {
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .px_br_bl {
    border-bottom-left-radius: 35rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .px_br_bl {
    border-bottom-left-radius: 25rem !important;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .px_br_bl {
    border-bottom-left-radius: 10rem !important;
  }
}
.px_br_tl {
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .px_br_tl {
    border-top-left-radius: 35rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .px_br_tl {
    border-top-left-radius: 25rem !important;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .px_br_tl {
    border-top-left-radius: 10rem !important;
  }
}
.px_no_pointer {
  pointer-events: none !important;
}
.px_oh {
  overflow: hidden !important;
}
.px_gap {
  gap: 3rem !important;
}
@media screen and (min-width: 1024px) {
  .px_pt {
    padding-top: 25rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .px_pt {
    padding-top: 15rem !important;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .px_pt {
    padding-top: 8rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .px_pt_sm {
    padding-top: calc(25rem * 0.5) !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .px_pt_sm {
    padding-top: calc(15rem * 0.5) !important;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .px_pt_sm {
    padding-top: calc(8rem * 0.5) !important;
  }
}
@media screen and (min-width: 1024px) {
  .px_pb {
    padding-bottom: 25rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .px_pb {
    padding-bottom: 15rem !important;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .px_pb {
    padding-bottom: 8rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .px_pb_sm {
    padding-bottom: calc(25rem * 0.5) !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .px_pb_sm {
    padding-bottom: calc(15rem * 0.5) !important;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .px_pb_sm {
    padding-bottom: calc(8rem * 0.5) !important;
  }
}
@media screen and (min-width: 1024px) {
  .px_py {
    padding-top: 25rem !important;
    padding-bottom: 25rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .px_py {
    padding-top: 15rem !important;
    padding-bottom: 15rem !important;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .px_py {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .px_py_sm {
    padding-top: calc(25rem / 2) !important;
    padding-bottom: calc(25rem / 2) !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .px_py_sm {
    padding-top: calc(15rem / 2) !important;
    padding-bottom: calc(15rem / 2) !important;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .px_py_sm {
    padding-top: calc(8rem / 2) !important;
    padding-bottom: calc(8rem / 2) !important;
  }
}
.px_uppercase, .px_uppercase * {
  text-transform: uppercase !important;
}
.px_no_margin, .px_no_margin * {
  margin: 0 !important;
}
@media screen and (min-width: 1024px) {
  .px_block.px_desktop {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .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_relative {
  position: relative !important;
}
.px_inner_relative .e-con-inner {
  position: relative !important;
}
@media screen and (max-width: 767px) {
  .px_static.px_mobile {
    display: block !important;
    position: static !important;
  }
}
a:focus {
  outline: none !important;
}
#outer-wrap {
  overflow: hidden !important;
}
@media screen and (min-width: 2500px) and (max-width: 10000px) {
  body {
    max-width: 2500px !important;
    margin: 0 auto !important;
  }
}
#scroll-top {
  z-index: 90 !important;
}
.elementor-widget-image .elementor-widget-container img {
  object-fit: cover !important;
}
.elementor-editor-active #site-header {
  z-index: 0 !important;
}
.elementor-editor-active main {
  z-index: 999 !important;
}
@media screen and (min-width: 1024px) {
  .privacy-policy h1 {
    font-size: 4rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .privacy-policy h2 {
    font-size: 3rem !important;
  }
}
.privacy-policy .px_text_container .e-con-inner .elementor-heading-title {
  margin-bottom: 2rem !important;
}
.elementor-widget-text-editor a {
  text-decoration: underline !important;
}
.logged-in.admin-bar .px_header {
  top: 32px !important;
}
#site-header {
  border-bottom: 0 !important;
}
.px_header {
  transition: all 0.5s ease !important;
  z-index: 3 !important;
}
.px_menu {
  transition: all 0.5s ease !important;
  position: fixed;
  bottom: 100%;
  left: 0;
  z-index: 2 !important;
}
.px_menu.px_active {
  bottom: 0;
}
.pt_veranstaltungen_grid {
  display: grid;
  gap: 30px;
  margin-top: 20rem !important;
}
@media screen and (min-width: 1024px) {
  .pt_veranstaltungen_grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .pt_veranstaltungen_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .pt_veranstaltungen_grid {
    grid-template-columns: 1fr;
  }
}
/* EVENT CARD ------------------------------------------------------------ */
.pt_event_card {
  display: flex;
  flex-direction: column;
  position: relative;
  background: #fff;
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
.pt_event_card.pt_is_ausverkauft .pt_event_image_wrapper::after {
  content: "Ausverkauft";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.85);
  color: #000;
  font-size: 26px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  z-index: 3;
}
.pt_event_card .pt_text {
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  height: 100%;
  justify-content: space-between;
}
/* IMAGE WRAPPER ------------------------------------------------------------ */
.pt_event_image_wrapper {
  position: relative;
}
.pt_event_image_wrapper.pt_has_no_image {
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pt_event_image_wrapper.pt_has_no_image img {
  width: 30%;
}
.pt_event_image_wrapper:not(.pt_has_no_image) img.pt_event_image {
  height: 220px;
  width: 100%;
}
.pt_event_image_wrapper img.pt_event_image {
  object-fit: cover;
  display: block;
  object-position: top center;
}
/* TITLE & BUTTONS ------------------------------------------------------------ */
.pt_event_title {
  font-size: 22px;
  margin: 0;
}
.pt_event_buttons {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
}
.pt_event_buttons a {
  display: inline-block;
  padding: 8px 14px;
  color: #fff !important;
  border-radius: 0;
  text-decoration: none;
  cursor: pointer;
  transition: 0.2s ease;
}
.pt_event_buttons .pt_mehr_lesen_btn {
  background: #000 !important;
}
.pt_event_buttons .pt_ticket_btn {
  background: #c62828 !important;
}
/* POPUP ------------------------------------------------------------ */
.pt_event_popup {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  justify-content: center;
  align-items: center;
  z-index: 99999;
}
.pt_event_popup .pt_popup_content {
  background: #fff;
  max-width: 700px;
  padding: 30px;
  border-radius: 0;
  position: relative;
  animation: pt_popup_fadein 0.25s ease;
}
@media screen and (min-width: 1024px) {
  .pt_event_popup .pt_popup_content {
    width: 50rem;
  }
}
.pt_event_popup .pt_popup_close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 30px;
  background: none;
  border: none;
  cursor: pointer;
  opacity: 0.7;
}
.pt_event_popup .pt_popup_close:hover {
  opacity: 1;
}
/* ANIMATION ------------------------------------------------------------ */
@keyframes pt_popup_fadein {
  from {
    transform: scale(0.95);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
/*# sourceMappingURL=https://wirtshaus-neurandsberg.de/wp-content/build/scss_library/8f106696c92c9435cb196712120bd015463e743c.css.map */