/*
Theme Name: Hello Theme Child Master
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Theme Child Master is a child theme of Hello Elementor, created by Jadato team
Author: Jadato
Author URI: https://jadato.co/
Template: hello-elementor
Version: 1.0.1
Text Domain: jadato-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/

@font-face {
  font-family: "jadatopay";
  src: url("icons/jadatopay/jadatopay.eot?oxdpdy");
  src: url("icons/jadatopay/jadatopay.eot?oxdpdy#iefix")
      format("embedded-opentype"),
    url("icons/jadatopay/jadatopay.woff?oxdpdy") format("woff"),
    url("icons/jadatopay/jadatopay.svg?oxdpdy#jadatopay") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.jpayicon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "jadatopay" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:root {
  --primary-color: #5692ce;
  --primary-color-hover: #004387;
}

 /* p Betonung Blau */
.wfs_p_emp {
font-weight: 700;
color: var(--primary-color);
}

.jpay-googlepay:before {
  content: "\e900";
}
.jpay-applepay:before {
  content: "\e901";
}
.jpay-giropay:before {
  content: "\e902";
}
.jpay-klarna:before {
  content: "\e903";
}
.jpay-amex:before {
  content: "\e904";
}
.jpay-mastercard:before {
  content: "\e905";
}
.jpay-visa:before {
  content: "\e906";
}

/* Bilder mit abgerundeten Ecken */
.wfs_imgs_radius {
  border-radius: 4px;
}

/*
Abstand links und rechts in Elementor sections
.elementor-section {
    padding: 0 10px;
}
*/

.templatesection {
  padding: 0;
}

h1,
h2 {
  text-align: center;
}

.blue_bold {
  color: #5692ce;
  font-weight: 600;
}

.dualcolor {
  color: #535353;
}

.pagesubtitle {
  font-size: 1.5rem;
  line-height: 2em;
  color: #ffffff;
  text-align: center;
}
@media (max-width: 767px) {
  .pagesubtitle {
    font-size: 1.25rem;
    line-height: 1.3em;
  }
}

.legaltext {
  font-size: 0.875rem;
  line-height: 1.5em;
}

/*
Mobile menu
*/
.iconmenu {
  margin: 5px 0;
}

.iconmenu p {
  margin-bottom: 5px;
}

.wfsmenuicontext p {
  margin-bottom: 0;
}

/**
 * Mobile Menu V2
 * Snippet URLs: https://www.w3schools.com/howto/howto_js_curtain_menu.asp
                 https://www.w3schools.com/howto/howto_js_dropdown_sidenav.asp
 */
.wfsoverlay {
  height: 0%;
  width: 100%;
  position: fixed;
  z-index: 999;
  bottom: 0;
  left: 0;
  background-color: #fff;
  overflow-y: auto;
  transition: 0.5s;
  border-top: #5692ce solid 0.25rem;
}

.wfsoverlay-content {
  width: 100%;
  text-align: center;
  padding: 1.25rem 1.5rem 1.5rem;
}

.wfsoverlay a {
  text-decoration: none;
  font-size: 36px;
  color: #5692ce;
  display: block;
  transition: 0.3s;
}

.wfsoverlay a:hover,
.wfsoverlay a:focus {
  color: #004387;
}

.wfsoverlay .wfsclosebtn {
  font-size: 60px;
}

@media screen and (max-height: 450px) {
  .wfsoverlay {
    overflow-y: auto;
  }

  .wfsoverlay a {
    font-size: 20px;
  }

  .wfsoverlay .wfsclosebtn {
    font-size: 40px;
  }
}

.wfsmobilenav_container {
  display: flex;
  gap: 1.25rem;
}

/* Fixed wfsmobilenav, full height */
.wfsmobilenav {
  overflow-x: hidden;
  flex-grow: 1;
}

/* Style the wfsmobilenav links and the dropdown button */
.wfsmobilenav a,
.wfsmobilenav_dropdown-btn {
  font-family: "Montserrat", sans-serif;
  padding: 6px 8px 6px 16px;
  line-height: 2rem;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 0.875rem !important;
  color: #535353 !important;
  display: block;
  border: none;
  border-bottom: 1px solid #5692ce;
  background: none !important;
  width: 100%;
  text-align: left;
  cursor: pointer;
  outline: none;
  border-radius: 0 !important;
}

.wfsmobilenav a:last-child,
.wfsmobilenav_dropdown-btn:last-child {
  border: none;
}

/* Add an active class to the active dropdown button */
.wfsmobilenav_active {
  background-color: #5692ce;
  color: white;
  border-bottom: none;
}

/* Dropdown container (hidden by default). Optional: add a lighter background color and some left padding to change the design of the dropdown content */
.wfsmobilenav_dropdown-container {
  display: none;
  border-bottom: 1px solid #5692ce;
  padding-left: 0.5rem;
}

.wfsmobilenav_dropdown-container > a {
  border: none;
  text-transform: none;
}

/* Optional: Style the angle down icon */
.fa-angle-down {
  float: right;
  padding-right: 8px;
  line-height: 2rem !important;
}

.wfsmobilenav_iconlinks {
  text-align: center;
}

.wfsmobilenav_iconlinks > a {
  display: block;
  padding: 0.5rem 0;
}

.wfsmobilenav_icons {
  font-size: 1.125rem;
  background-color: #5692ce;
  color: #fff;
  border-radius: 50%;
  width: 2.25rem;
  height: 2.25rem;
  line-height: 2.25rem !important;
  text-align: center;
}

.wfsmobilemenucontainer {
  display: flex;
  border-top: #5692ce 1px solid;
  background-color: #fff;
  position: -webkit-sticky; /* Safari */
  position: sticky;
  bottom: 0;
  z-index: 500;
}

@media only screen and (min-width: 767px) {
  .wfsmobilemenucontainer {
    display: none;
  }
}

.wfsmobilemenuitem {
  width: 20%;
  text-align: center;
  border-right: 1px solid #e8e9ec;
  padding: 0.5625rem 0 0.0625rem;
  line-height: 1.5rem;
}

.wfsmobilemenuitem a:hover {
  color: #5692ce;
}

.wfsmobilemenuitem:last-child {
  border-right: 0;
}

.wfs-menu-icon {
  font-size: 1.25rem;
  display: block;
}

.wfsmobilemenuitem > a {
  font-size: 0.625rem;
  font-weight: 600;
  font-family: Montserrat, sans-serif;
}

/**
 * Snippet Name: Desktop Menu
 * Snippet URLs: https://www.w3schools.com/css/css_navbar_horizontal.asp
 */

.wfsheader_row {
  background-color: #fff;
  border-bottom: 1px solid #5692ce;
}

.wfsheader_row_sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 55;
}

.wfsheader_row_content1,
.wfsheader_row_content2 {
  display: flex;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0.3125rem 1.25rem;
}

.wfsdesktopmenu-logo {
  width: 14%;
  margin: auto 0;
}

.wfsdesktopmenu-logo img {
  height: 100%;
  vertical-align: middle;
  height: auto;
}

.wfsdesktopmenu {
  flex-grow: 1;
  margin: auto;
  font-family: Montserrat, sans-serif;
}

@media only screen and (max-width: 767px) {
  .wfsheader_row_content1 {
    display: none;
  }

  .wfsheader_row_content2 {
    justify-content: space-between;
  }

  .wfsdesktopmenu {
    display: none;
  }

  .wfsdesktopmenu-logo {
    width: 34%;
  }
}

nav.wfsdesktopmenu ul {
  display: flex;
  list-style-type: none;
  padding: 0;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
}

nav.wfsdesktopmenu li {
  float: left;
}

nav.wfsdesktopmenu li a,
.wfsdesktopmenu-dropbtn {
  display: inline-block;
  color: #535353;
  text-align: center;
  padding: 0.2rem 0;
  text-decoration: none;
  text-transform: uppercase;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
}

nav.wfsdesktopmenu li a:hover,
.wfsdesktopmenu-dropdown:hover .wfsdesktopmenu-dropbtn {
  border-bottom: 3px solid #5692ce;
  color: #5692ce;
}

nav.wfsdesktopmenu li.wfsdesktopmenu-dropdown {
  display: inline-block;
}

.wfsdesktopmenu-dropdown-content {
  display: none;
  position: absolute;
  background-color: #fff;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

nav.wfsdesktopmenu .wfsdesktopmenu-dropdown-content a {
  padding: 0.2rem 1rem;
  text-decoration: none;
  display: block;
  text-align: left;
  text-transform: none;
}

.wfsdesktopmenu-dropdown-content a:hover {
  border-bottom: 3px solid transparent !important;
  background-color: #f1f1f1;
}

.wfsdesktopmenu-dropdown:hover .wfsdesktopmenu-dropdown-content {
  display: block;
}

.wfsdesktopmenu-cart-container {
  display: flex;
  align-items: center;
}

.wfsdesktopmenu-cart {
  padding-right: 0.75rem;
  height: 2rem;
}

.wfsdesktopmenu-cart-icon {
  font-size: 2rem;
  color: #5692ce;
  position: absolute;
}

.wfsdesktopmenu-cart-amount {
  position: relative;
  left: 0.55rem;
  top: 0.31rem;
  width: 1.5rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 0.875rem;
  font-weight: 600;
  font-family: "Montserrat", sans-serif;
  color: #fff;
}

.wfsheader_row_checkout {
  justify-content: space-between;
}

.wfsdesktopmenu-checkout h1 {
  font-size: 2.5rem !important;
  margin: 0;
  line-height: 1rem !important;
}

/**
 * Snippet Name: Desktop Sub Menu
 * Snippet URLs: https://www.w3schools.com/css/tryit.asp?filename=trycss_navbar_horizontal_black
 */
.wfssubheader_container {
  display: flex;
}

.wfssubheader_icons a {
  float: left;
  color: #5692ce;
  font-size: 1.25rem;
  line-height: 1.25rem;
  padding-right: 1.5rem;
}

.wfssubheader_icons a:hover {
  color: #004387;
}

.wfssubheader_submenu {
  flex-grow: 1;
}

.wfssubheader_submenu ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  float: right;
}

.wfssubheader_submenu li {
  float: left;
}

.wfssubheader_submenu li a {
  display: block;
  color: #535353;
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  line-height: 1.25rem;
  text-align: center;
  padding-left: 3vw;
  text-decoration: none;
}

.wfssubheader_submenu li a:hover {
  color: #5692ce;
}

/**
 * Snippet Name: Menü Linienfahrten
 */
.wfs_linien_menu_container {
  display: flex;
  justify-content: space-around;
  align-items: center;
  background-color: #fff;
  border-bottom: 1px solid #e8e9ec;
  position: -webkit-sticky;
  position: sticky;
  z-index: 50;
  font-family: Montserrat, sans-serif;
  font-weight: 600;
  text-transform: uppercase;
}

.wfs_linien_menu_container a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 0.4rem 0 0.2125rem;
}

.wfs_linien_menu_container a:not(:last-child) {
  border-right: 1px solid #e8e9ec;
}

/**
 * Snippet Name: Footer
 */
.wfsfooter {
  background-color: #f5f5f5;
  border-top: 2px solid #5692ce;
  font-size: 0.75rem;
  font-weight: 300;
  padding: 1.75rem 1.25rem;
}

.wfsfooter_content {
  max-width: 1140px;
  margin: 0 auto;
}

.wfsfooter_row1 {
  justify-content: center;
}

.wfsfooter_row2 ul {
  list-style-type: none;
  margin: 0;
  padding: 1rem 0;
  overflow: hidden;
  display: flex;
  justify-content: space-around;
}

.wfsfooter_row2 li a {
  color: #535353;
  text-align: center;
  text-decoration: none;
}

.wfsfooter_row3 {
  text-align: center;
  line-height: 0.75rem;
}

.wfssubheader_icons_footer {
  display: flex;
  float: none;
}

.wfsfooter_checkout {
  font-size: 0.75rem;
  line-height: 1rem;
}

@media only screen and (min-width: 1024px) {
  .wfsfooter_row2 {
    font-size: 1rem;
  }
}

@media only screen and (max-width: 767px) {
  .wfsfooter_checkout {
    padding-bottom: 3rem;
  }
}

/**
 * Snippet Name: Shop Menu
 * Snippet URLs: https://www.wpbeginner.com/wp-themes/how-to-add-custom-navigation-menus-in-wordpress-3-0-themes/
 */

.wfsshop_menu_container {
}

.wfsshop_menu ul {
  list-style-type: none;
  padding: 0;
}

.wfsshop_menu a {
  color: #535353 !important;
}

.wfsshop_menu a:hover {
  color: #5692ce !important;
}

.wfsshop_menu_icon {
  color: #5692ce;
  margin-right: 0.5rem;
  font-size: 0.875rem;
}

/**
 * Snippet Name: Clickable Elementor Column or Section link
 * Snippet URLs: https://kaycinho.com/make-column-clickable-elementor-pro-sections-no-plugin/
 */
.wfspointer {
  cursor: pointer;
}

/*
Desktop Header Icons
*/
.headericons {
  line-height: 0;
}

/*
Elementor Widget ohne Margin Bottom
*/
.nomarginbottom {
  margin-bottom: 0 !important;
}

/*
Startseite Grid Angebote
*/
.wfs_startgrid_container {
  display: grid;
  gap: 40px;
}

.wfs_startgrid_container_340 {
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
}

.wfs_startgrid_container_400 {
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

.wfs_startgrid_container_243 {
  grid-template-columns: repeat(auto-fit, minmax(243px, 1fr));
}

.wfs_startgrid_container_4c1r {
  display: grid;
  gap: 40px 40px;
  grid-template-columns: 3fr 3fr 3fr 3fr;
}

@media only screen and (max-width: 1024px) {
  .wfs_startgrid_container_4c1r {
    grid-template-columns: 6fr 6fr;
    grid-template-rows: 1fr 1fr;
  }
  .wfs_startgrid_container_400 {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

@media only screen and (max-width: 450px) {
  .wfs_startgrid_container_4c1r {
    grid-template-columns: 12fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
  }
}

ul.wfs_archive_container {
  list-style: none;
  padding-inline-start: 0;
  margin-block: 0;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.wfs_sonderfahrten_sc ul.wfs_archive_container {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
}

.wfs_linienfahrten_wrapper ul.wfs_archive_container {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.wfs_charter_wrapper ul.wfs_archive_container {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.wfs_startgrid_item {
  position: relative;
  transition: 0.3s ease-in-out;
  border: 1px solid #e8e9ec;
  border-radius: 5px;
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.1);
  padding: 20px;
}

.wfs_startgrid_item:hover,
.wfs_startgrid_item:focus-within {
  translate: 0 -0.25em;
}

.wfs_startgrid_item :is(h2, h3, h4, h5, h6) > a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.wfs_startgrid_item:focus-within {
  box-shadow: 0 0 0 2px #5692ce;
}

.wfs_startgrid_item:focus-within :focus {
  box-shadow: none !important;
  outline: none !important;
}

.wfs_archive_item {
  display: flex;
  gap: 1.5rem;
  flex-direction: column;
}

.wfs_sonderfahrten_sc .wfs_archive_item {
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}

.wfs_archive_item_column {
  flex: 9;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.wfs_sonderfahrten_sc .wfs_archive_item_column {
  width: 100%;
  gap: 0.5rem;
  flex: 1;
  justify-content: space-between;
}

ul.wfs_archive_container .wfs_archive_item_column :is(h2, h3, h4) {
  font-size: 1.5rem;
  margin: 0;
  line-height: 1.25;
  font-weight: 400;
  text-align: left;
}

.wfs_sonderfahrten_sc
  ul.wfs_archive_container
  .wfs_archive_item_column
  :is(h2, h3, h4) {
  text-transform: unset;
}

.wfs_archive_item_image {
  order: -1;
  flex: 11;
  aspect-ratio: 16/10;
  overflow: hidden;
}

.wfs_sonderfahrten_sc .wfs_archive_item_image {
  aspect-ratio: 4/3;
  flex: none;
  width: 100%;
}

.wfs_charter_wrapper .wfs_archive_item_image {
  aspect-ratio: 16/10;
  flex: none;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .wfs_sonderfahrten_sc .wfs_archive_item_image {
    aspect-ratio: 16/10;
  }
}

.wfs_archive_item_image picture {
  display: block;
  width: 100%;
  height: 100%;
}

.wfs_archive_item_image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.wfs_charter_wrapper .wfs_archive_item_image img {
  height: 100%;
}

h3.wfs_startgrid_h3 {
  font-size: 1.25rem !important;
  margin: 0.25em 0;
  line-height: 1.25em !important;
}

.wfs_archive_button {
  background-color: #5692ce;
  color: #ffffff;
  border-radius: 50px;
  padding: 0.5rem 2rem;
  text-transform: uppercase;
  font-size: 1.2rem;
  line-height: 1;
  text-align: center;
}

.wfs_sonderfahrten_sc .wfs_archive_button {
  font-size: 1rem;
  line-height: 1.2;
}

.wfs_startgrid_button {
  border: none !important;
  width: 100% !important;
  font-size: 1rem !important;
  line-height: 1.2;
  margin-top: 0.25em;
}

@media only screen and (min-width: 1024px) {
  .wfs_startgrid_h3_hidden {
    display: none;
  }
  .wfs_archive_item {
    flex-direction: row;
    align-items: center;
    gap: 3rem;
  }
  .wfs_archive_button {
    width: fit-content;
  }
  .wfs_sonderfahrten_sc .wfs_archive_button {
    width: unset;
  }

  /* Standard (Sonderfahrten-Seite): groß */
  ul.wfs_archive_container .wfs_archive_item_column :is(h2, h3, h4) {
    font-size: 2rem;
  }

  /* Startseite/Grid: bewusst kleiner lassen */
  .wfs_sonderfahrten_sc
    ul.wfs_archive_container
    .wfs_archive_item_column
    :is(h2, h3, h4) {
    font-size: 1.5rem;
  }
}

.wfs_sonderfahrten_sc .wfsiconlisting ul {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/*
Tabelle Verkauf
*/
table.wfsverkauf {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
}
table.wfsverkauf tr {
  border-top: #eeeeee 1px solid;
}
table.wfsverkauf tr:last-child {
  border-bottom: #eeeeee 1px solid;
}
table.wfsverkauf td {
  background-color: unset;
  border: unset;
  padding: 10px 0;
}

table.wfsverkauf tbody > tr:nth-child(odd) > td,
table.wfsverkauf tbody > tr:nth-child(odd) > th {
  background-color: unset;
}

table.wfsverkauf tbody tr:hover > td,
table.wfsverkauf tbody tr:hover > th {
  background-color: unset;
}

/*
Fahrplan
*/

.wfsfahrplan_container {
}

.wfsfahrplan_container p {
  margin: 0;
}

.wfs_fahrplan_container_no_acc {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.wfs_fahrplan_box_no_acc h3 {
  text-align: center;
}

.fahrplan table {
  margin-bottom: 0;
}

.fahrplan th,
.fahrplan td {
  vertical-align: middle;
}

table.wfsfahrplan {
  width: 100%;
  font-size: 1rem;
  text-align: center;
}

@media (max-width: 1023px) {
  table.wfsfahrplan {
    font-size: 0.875rem;
  }
}

table.wfsfahrplan thead {
  background-color: #5692ce;
}

table.wfsfahrplan tbody > tr:nth-child(odd) > td,
table.wfsfahrplan tbody > tr:nth-child(odd) > th {
  background-color: #ffffff;
}

table.wfsfahrplan tbody tr:hover > td,
table.wfsfahrplan tbody tr:hover > th {
  background-color: #ffffff;
}

table.wfsfahrplan thead th {
  color: #ffffff;
  font-weight: 400;
}

table.wfsfahrplan caption + thead tr:first-child td,
table.wfsfahrplan caption + thead tr:first-child th,
table.wfsfahrplan colgroup + thead tr:first-child td,
table.wfsfahrplan colgroup + thead tr:first-child th,
table.wfsfahrplan thead:first-child tr:first-child td,
table.wfsfahrplan thead:first-child tr:first-child th {
  border-top: 0;
}

table.wfsfahrplan th,
table.wfsfahrplan td {
  padding: 5px;
  border: 0;
  vertical-align: middle;
}

table.wfsfahrplan th:nth-child(2),
table.wfsfahrplan td:nth-child(2) {
  position: sticky;
  left: 0px;
}

table.wfsfahrplan th:nth-child(2) {
  background-color: #5692ce;
}

table.wfsfahrplan td:nth-child(3),
table.wfsfahrplan td:nth-last-child(2),
table.wfsfahrplan thead th:nth-child(3),
table.wfsfahrplan thead th:nth-last-child(2) {
  font-weight: 600;
}

table.wfsfahrplan td:nth-child(2) {
  background-color: #ffffff;
}

table.wfsfahrplan tbody tr {
  border-bottom: 1px solid #eeeeee;
}

.wfsfahrplan_unterzeile {
  color: #5692ce;
  text-align: center;
  margin-bottom: 1rem;
}

.wfstable-scrollable {
  width: 100%;
  overflow-y: auto;
  margin: 0;
}

@media (max-width: 1023px) {
  .wfstable-scrollable p {
    font-size: 0.625rem;
  }
}

.wfstable-scrollable::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 14px;
  height: 14px;
}

.wfstable-scrollable::-webkit-scrollbar-thumb {
  border-radius: 8px;
  border: 3px solid #fff;
  background-color: rgba(0, 0, 0, 0.3);
}

.wfsaccordionitem > a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f078";
  float: right;
  padding-right: 3px;
  vertical-align: middle;
  font-weight: 900;
}

.wfsaccordionitem {
  margin: 0 0 10px;
}

.wfsaccordionitem > a {
  border-top: 1px solid #e8e9ec !important;
  border-right: 1px solid #e8e9ec !important;
  border-bottom: 1px solid #e8e9ec !important;
  border-left: 5px solid #5692ce !important;
  border-radius: 5px;
  padding: 10px 20px !important;
}

.wfsviewpane {
  border-top: 0 !important;
  border-right: 1px solid #e8e9ec !important;
  border-bottom: 1px solid #e8e9ec !important;
  border-left: 5px solid #5692ce !important;
  border-radius: 5px;
  margin-top: -16px;
  margin-bottom: 20px;
  background-color: #fff;
  padding: 10px !important;
}

/*
Jadato Accordion
https://www.youtube.com/watch?v=dr8Emho-kYo
https://codepen.io/Coding_Journey/pen/RwNgYmm
*/
.jadato_accordion {
  width: 100%;
  margin-bottom: -1.25rem;
}

.jadato_accordion p:empty {
  display: none;
}

.jadato_accordion-item {
  border-top: 1px solid #e8e9ec;
  border-right: 1px solid #e8e9ec;
  border-bottom: 1px solid #e8e9ec;
  border-left: 5px solid #5692ce;
  border-radius: 0.3125rem;
  margin: 0 0 1.25rem;
}

.jadato_accordion-item-header,
.jadato_fpaccordion-item-header {
  padding: 0.5625rem 3rem 0.5625rem 1.125rem;
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  color: #5692ce;
}

.jadato_accordion-item-header::after,
.jadato_fpaccordion-item-header::after {
  font-family: "Font Awesome 5 Free";
  content: "\f078";
  color: #5692ce;
  font-weight: 900;
  position: absolute;
  right: 1.125rem;
}

.jadato_accordion-item-header.active::after,
.jadato_fpaccordion-item-header::after {
  content: "\f077";
}

.jadato_accordion-item-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  padding: 0 1.125rem;
}

.jadato_accordion-item-body-content {
  padding: 1.5rem 0;
}

.jadato_accordion-item-body-content:first-child {
  border-top: 1px solid #e8e9ec;
}

.jdt_wfsaccordionpreis {
  display: flex;
  justify-content: space-between;
}

.jdt_wfsaccordionpreis p {
  margin-bottom: 0;
}

.jadato_accordion-item-body-content-padding {
  padding: 0.8125rem 0;
}

.jadato_accordion-item-body-content > .wfstable-scrollable {
  padding-top: 0.9375rem;
}

.jadato_accordion-item-body-content h4 {
  margin: 0;
}

/*
Ticket Loop Item
*/
.wfsticketloopitem-container {
  display: flex;
}

.wfsticketloopitem-container p {
  margin-bottom: 0;
}

.wfsticketloopitem-container:hover {
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.1);
}

.wfsticketloopitem-left,
.wfsticketloopitem-right {
  padding: 0.5em;
}

.wfsticketloopitem-left {
  flex-grow: 1;
}

.wfsticketloopitem-left {
  border-top: 1px solid #e8e9ec;
  border-bottom: 1px solid #e8e9ec;
  border-left: 1px solid #e8e9ec;
  border-bottom-left-radius: 5px;
  border-top-left-radius: 5px;
}

.wfsticketloopitem-right {
  background-color: #5692ce;
  width: max-content;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid #5692ce;
  border-bottom: 1px solid #5692ce;
  border-right: 1px solid #5692ce;
  border-bottom-right-radius: 5px;
  border-top-right-radius: 5px;
  color: #ffffff;
}

.wfsticketloopitem-title {
  text-align: center;
  font-size: 1.25rem;
}

.wfsticketloopitem-datetimecontainer {
  display: flex;
  justify-content: center;
  column-gap: 1.2em;
}

.wfsticketloopitem-date {
  text-align: center;
  position: relative;
}

.wfsticketloopitem-date:after {
  content: "";
  position: absolute;
  top: 20%;
  right: -0.55em;
  width: 1px;
  height: 60%;
  background: #dddddd;
}

.wfsticketloopitem-time {
  text-align: center;
}

.wfsticketloopitem-duration {
  text-align: center;
  position: relative;
}

.wfsticketloopitem-duration:after {
  content: "";
  position: absolute;
  top: 20%;
  left: -0.6em;
  width: 1px;
  height: 60%;
  background: #dddddd;
}

@media (max-width: 767px) {
  .wfsticketloopitem-time {
  }
  .wfsticketloopitem-time-label {
    display: none;
  }
  .wfsticketloopitem-duration {
    display: none;
  }
}

/*
Speisekarte
*/

div.menucard {
  width: 100%;
  border-bottom: #eeeeee 1px solid;
  font-size: 16px;
  line-height: 1.5em;
}

div.menucard:last-child {
  border-bottom: 0;
  padding-bottom: 6px;
}

.divTable.menucard .divTableCellleft,
.divTable.menucard .divTableCellright,
.divTable.menucard .divTableHead {
  padding: 8px 0px;
}

.divTable.menucard .divTableBody .divTableCellleft .divTableCellright {
  font-size: 14px;
}

.divTable {
  display: table;
}

.divTableRow {
  display: table-row;
}

.divTableHeading {
  display: table-header-group;
}

.divTableCellleft,
.divTableCellright,
.divTableHead {
  display: table-cell;
}

.divTableHeading {
  display: table-header-group;
}

.divTableFoot {
  display: table-footer-group;
}

.divTableBody {
  display: table-row-group;
}

.divTableCellright {
  text-align: end;
  white-space: nowrap;
}

.mctitle {
}

.mcdesc {
  font-size: 0.875rem;
}

.mcsection {
  margin-top: 40px;
}

h3.mcsectiontitle {
  font-size: 24px;
  text-align: center;
}

.pshadow {
  text-shadow: 1px 1px 1px black, 3px 3px 5px black;
}

/*
Payments
*/

.wfs_payment {
  color: #5692ce;
  font-size: 2.2rem;
}

.wfs_payment .fab {
}

.wfs_payment .fab:first-child {
  margin-left: 0;
}

/*
Linienfahrten - Preise / Charter - Fingerfood Preise
*/
p.wfsfingerfoodtitle,
.wfspricetitle {
  margin-bottom: 0;
}

.wfspricedesc {
  font-size: 0.875rem;
}

.wfspricesection {
  margin-bottom: 30px;
}

.wfspricesection_sonderfahrten {
  margin-bottom: 0;
}

.wfspricesection h3 {
  margin: 0 0 0.75em;
  line-height: 1em !important;
}

h4.wfspricesectiontitle {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p.wfsteilstreckentitel,
p.wfsteilstreckensubtitle {
  margin-bottom: 0;
}

p.wfsteilstreckentitel {
  color: #5692ce;
  font-family: Montserrat, sans-serif;
  font-weight: 600;
}

p.wfsteilstreckensubtitle {
  color: inherit;
  font-size: 0.875rem;
}

.wfspriceaddition {
  font-size: 0.75rem;
}

.wfspricesection table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.wfspricesection table tr {
  border-bottom: 1px solid #eeeeee;
}

.wfspricesection table tbody tr:last-child {
  border-bottom: none;
}

.wfspricesection table td {
  padding: 0.5rem 0;
}

.wfspricesection table thead tr td:first-child {
  color: #5692ce;
  font-family: Montserrat, sans-serif;
  font-weight: 600;
}

.wfspricesection_teilstrecken table tr td:nth-last-child(-n + 3),
.wfspricesection_general table tr td:last-child {
  width: 1%;
  white-space: nowrap;
  padding-left: 1rem;
}

.wfspricesection_teilstrecken table thead tr td:nth-last-child(-n + 3) {
  text-align: center;
}

.wfspricesection_teilstrecken table tbody tr td:nth-last-child(-n + 3),
.wfspricesection_general table tr td:last-child {
  text-align: right;
}

.wfspricesection p {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.wfspricesection p span {
  white-space: nowrap;
}

.wfspricesection_general table tbody tr td:first-child {
  text-align: left;
  padding-left: 0;
  white-space: normal;
}

.wfspricesection_general {
  margin-bottom: 0;
}

.wfspricesection_container {
  columns: 2 345px;
  column-gap: 2.5rem;
}

/*
Buchungsvorteile
*/
.wfs_benefits_container h3 {
  margin: 0 0 1.25rem;
}

.wfs_benefits_list_container {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.wfs_benefits {
  display: flex;
  gap: 0.625rem;
}

.wfs_benefits_icon {
  font-size: 2rem;
}

.wfs_benefits_headline {
  font-size: 1.25rem;
  font-family: Montserrat, sans-serif;
  line-height: 1.3125rem;
  margin-bottom: 0.5rem;
}

.wfs_benefits_subline {
  font-size: 0.875rem;
  line-height: 1.25rem;
  margin-bottom: 0;
}

/*
Headline 2 Startseite Sonderfahrplan
*/
.headlinesection {
  margin-bottom: 10px !important;
}

/*
Feature Icons Buchungsvorteile
*/
.iconleft h5.elementor-icon-box-title {
  margin-top: 0;
}

/*
Icons mobile linksbündig
Linksbündig mobile: https://github.com/elementor/elementor/issues/3040
*/
@media (max-width: 767px) {
  .iconleft .elementor-icon-box-icon {
    float: left;
  }

  .iconleft .elementor-icon-box-content {
    text-align: left;
    margin-left: 50px;
  }
}

@media (max-width: 767px) {
  .contacticons .elementor-icon-box-title,
  .contacticons .elementor-icon-box-description {
    padding-left: 20px;
  }
}

/*
Info Box
*/
.wfsinfobox_container {
  text-align: center;
}
.wfsinfobox_icon {
  background-color: #5692ce;
  border-top: 1px solid #5692ce;
  border-left: 1px solid #5692ce;
  border-right: 1px solid #5692ce;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  color: #ffffff;
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.1);
  padding: 10px;
  font-size: 3rem;
}
.wfsinfobox_text {
  border-right: 1px solid #e8e9ec;
  border-bottom: 1px solid #e8e9ec;
  border-left: 1px solid #e8e9ec;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.1);
  padding: 15px;
  font-size: 1.25rem;
}
.wfsinfobox_text p:last-child {
  margin-bottom: 0;
}

/*
Countdown
*/
.wfscountdown {
  border: 1px solid #e8e9ec;
  border-radius: 5px;
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.1);
  margin: 1.875rem 0 0.5rem;
  padding: 1.25rem 0;
}

.wfscountdowncontainer {
  display: flex;
  text-align: center;
  color: #5692ce;
  margin: 20px 0;
}
.wfscountdownitems {
  flex: 100%;
  border-right: 1px solid #e8e9ec;
}
.wfscountdownitems:last-child {
  border: 0;
}
#days,
#hours,
#minutes,
#seconds {
  font-size: 4rem;
  line-height: 3rem;
  margin-bottom: 0.25em;
  min-height: 3rem;
}
.wfscountdownlabels {
  font-size: 1rem;
  margin-bottom: 0;
  line-height: 1rem;
}

.wfscountdowntext_topdown p {
  font-size: 2rem;
  color: #5692ce;
  text-align: center;
  margin-bottom: 0;
}

@media (max-width: 768px) {
  #days,
  #hours,
  #minutes,
  #seconds {
    font-size: 3rem;
    line-height: 2.5rem;
    min-height: 2.5rem;
  }
  .wfscountdownlabels {
    font-size: 0.9rem;
    line-height: 0.9rem;
  }
  .wfscountdowntext_topdown p {
    font-size: 1.5rem;
  }
}

/*
Listings Jobs, Allgemein (wfslisting)
*/
.joblisting ul,
.wfslisting ul,
.wfsiconlisting ul {
  list-style: none;
  padding: 0;
}

.joblisting ul {
  margin-bottom: 0.9rem;
}

.joblisting li,
.wfslisting li {
  padding-left: 1.25rem;
}

.joblisting li:before,
.wfslisting li:before,
.wfsiconlisting li:before {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 3px;
}

.joblisting li:before,
.wfslisting li:before {
  content: "\e941"; /* WFS Unicode */
  font-family: wfs;
  margin-left: -1.25rem; /* same as padding-left set on li */
  width: 1.25rem; /* same as padding-left set on li */
  color: #5692ce;
  font-size: 0.7rem;
}

.wfsiconlisting li {
  padding-left: 1.75rem;
}

.wfsiconlisting li:before {
  margin-left: -1.75rem; /* same as padding-left set on li */
  width: 1.75rem; /* same as padding-left set on li */
  font-size: 0.875rem;
}

li.wfsmap:before,
li.wfscalendar:before,
li.wfsclock:before,
li.wfsusers:before,
li.wfsweekday:before,
li.wfsphone:before {
  font-family: "Font Awesome 5 Free";
}

li.wfsmap:before,
li.wfsusers:before,
li.wfsmoney:before,
li.wfsweekday:before,
li.wfsphone:before,
li.wfscheers:before {
  font-weight: 900;
}

li.wfscalendar:before,
li.wfsclock:before {
  font-weight: 400;
}

li.wfsmap:before {
  content: "\f3c5";
}

li.wfsphone:before {
  content: "\f879";
}

li.wfscalendar:before {
  content: "\f073";
}

li.wfsclock:before {
  content: "\f017";
}

li.wfsusers:before {
  content: "\f0c0";
}

li.wfsweekday:before {
  content: "\f784";
}

li.wfsduration:before {
  content: "\e916"; /* WFS Unicode */
  font-family: wfs;
}

li.wfsmoney:before {
  content: "\e92b"; /* WFS Unicode */
  font-family: wfs;
}

li.wfscheers:before {
  content: "\e90b"; /* WFS Unicode */
  font-family: wfs;
}

li.fa-shopping-cart:before {
  content: "\f07a";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.joblisting h5 {
  color: #5692ce;
  margin-bottom: 0.5rem;
}

.jobsection {
  margin-bottom: 50px;
  border: 1px solid #e8e9ec;
  padding: 5px 25px;
  border-radius: 5px;
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.1);
}

/*
Linienfahrten - Google Maps Legende
*/
.mapsdesc p {
  margin-bottom: 0;
}

/*
Linienfahrten - Preistabellen
*/
.wfspricetable table {
  font-size: 1rem;
  margin-top: 7px;
}

.wfspricetable td:nth-child(2) {
  text-align: right;
}

.wfspricetable th,
.wfspricetable td {
  padding: 8px 0;
}

.wfspricetable th {
  border: 0 !important;
  font-weight: 400;
}

.wfspricetable td {
  border-top: #eeeeee 1px solid;
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
}

.wfspricetable thead {
  display: none;
}

.wfspricetablefull tr:nth-child(1) td {
  border: 0 !important;
}

.wfspricetable th:nth-child(2) {
  text-align: right;
}

.wfspricetable th:nth-child(1) {
  text-align: left;
  color: #5692ce;
  font-family: Montserrat, sans-serif;
  font-weight: 600;
}

@media (min-width: 768px) {
  body:not(.elementor-editor-active) .elementor-menu-anchor:before {
    content: "";
    display: block;
    height: 80px; /* fixed header height*/
    margin: -80px 0 0; /* negative fixed header height */
    visibility: hidden;
    pointer-events: none;
  }
}

/*
Woocommerce - Preise Tabelle
*/
.pricelist .elementor-price-list-item {
  border-bottom: #5692ce solid 1px;
}

.pricelist li:last-child .elementor-price-list-item {
  border-bottom: 0;
}

/*
Woocommerce - Product title
*/
.wfsproducttitle h1 {
  -moz-hyphens: auto; /* seit Firefox 6 */
  -webkit-hyphens: auto; /* seit Safari 5.1 (OS X), Safari 4.1 (iOS) */
  hyphens: auto;
}

/*
Woocommerce - Warenkorb
Warenkorb Spalte löschen - https://www.businessbloomer.com/woocommerce-hide-column-cart-table/
Thumbnail löschen und Button Warenkorb aktualisieren erhalten - https://jilt.com/blog/remove-woocommerce-product-images/
*/
.wfscart .woocommerce table.cart .product-thumbnail {
  display: none;
}

.wfscart .product-name a {
  font-size: 1.25rem;
  line-height: 1.5em;
}

@media (max-width: 768px) {
  .wfscart .woocommerce table.cart td:nth-of-type(2),
  .wfscart .woocommerce table.cart th:nth-of-type(2) {
    display: block;
  }

  .wfscart .woocommerce table.cart td:nth-of-type(3),
  .wfscart .woocommerce table.cart th:nth-of-type(3),
  .wfscart .woocommerce table.cart td:nth-of-type(4),
  .wfscart .woocommerce table.cart th:nth-of-type(4) {
    display: table-cell;
    width: 50%;
    border-top: 0;
  }

  .wfscart .woocommerce table.cart td:nth-of-type(5),
  .wfscart .woocommerce table.cart th:nth-of-type(5) {
    display: table-cell;
    width: 80%;
    border-top: 0;
  }

  .wfscart .woocommerce table.cart td:nth-of-type(6),
  .wfscart .woocommerce table.cart th:nth-of-type(6) {
    display: table-cell;
    width: 20%;
    border-top: 0;
  }

  .wfscart .shortDescription {
    font-size: 0.9rem;
    text-align: center;
  }

  .wfscart .woocommerce table.shop_table_responsive tr td.product-name,
  .wfscart .woocommerce-page table.shop_table_responsive tr td.product-name,
  .wfscart .woocommerce table.shop_table_responsive tr td.product-price,
  .wfscart .woocommerce-page table.shop_table_responsive tr td.product-price,
  .wfscart .woocommerce table.shop_table_responsive tr td.product-price::before,
  .wfscart
    .woocommerce-page
    table.shop_table_responsive
    tr
    td.product-price::before,
  .wfscart .woocommerce table.shop_table_responsive tr td.product-quantity,
  .wfscart .woocommerce-page table.shop_table_responsive tr td.product-quantity,
  .wfscart .woocommerce table.shop_table_responsive tr td.product-subtotal,
  .wfscart .woocommerce-page table.shop_table_responsive tr td.product-subtotal,
  .wfscart
    .woocommerce
    table.shop_table_responsive
    tr
    td.product-subtotal::before,
  .wfscart
    .woocommerce-page
    table.shop_table_responsive
    tr
    td.product-subtotal::before {
    text-align: center !important;
    float: unset;
  }

  .wfscart .woocommerce table.shop_table_responsive tr td.product-price::before,
  .wfscart
    .woocommerce-page
    table.shop_table_responsive
    tr
    td.product-price::before,
  .wfscart
    .woocommerce
    table.shop_table_responsive
    tr
    td.product-subtotal::before,
  .wfscart
    .woocommerce-page
    table.shop_table_responsive
    tr
    td.product-subtotal::before {
    color: #5692ce;
    font-weight: 400;
  }

  .wfscart table tbody > tr:nth-child(even) > td,
  table tbody > tr:nth-child(even) > th {
    background-color: transparent !important;
  }
}

.wfscart .product-price,
.wfscart .product-quantity,
.wfscart .product-subtotal {
  text-align: end;
}

.wfscart .woocommerce table.shop_table {
  border: 0;
}

.wfscart .woocommerce table.shop_table th {
  background-color: transparent;
  border: 0;
}

.wfscart table tbody > tr:nth-child(odd) > td,
table tbody > tr:nth-child(odd) > th {
  background-color: transparent;
  border-left: 0;
  border-right: 0;
  border-top: #5692ce solid 1px;
  border-bottom: 0;
}

.wfscart table tbody > tr:nth-child(even) > td,
table tbody > tr:nth-child(even) > th {
  background-color: transparent;
  border-left: 0;
  border-right: 0;
  border-top: #5692ce solid 1px;
  border-bottom: 0;
}

.wfscart .cart-collaterals .cart_totals tr td {
  border-top: 0;
}

.wfscart table {
  font-size: 1rem;
}

.wfscart .shortDescription {
  margin-bottom: 0;
}

.wfscart .woocommerce a.remove {
  color: #5692ce !important;
}

.wfscart .woocommerce a.remove:hover {
  background-color: transparent;
  color: #004387 !important;
}

.wfscart .woocommerce table.shop_table th {
  color: #5692ce;
  font-weight: 400;
}

.wfscart #add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
  font-family: Montserrat, sans-serif;
  text-transform: uppercase;
  font-weight: 600;
  background-color: #5692ce;
}

.wfscart #add_payment_method .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
  background-color: #004387;
}

.wfscart .woocommerce .cart .button,
.woocommerce .cart input.button {
  font-size: 1rem;
}

.wfscart .cart_totals h2 {
  font-size: 2rem;
}

.wfscart .woocommerce table.shop_table_responsive tr td.product-name::before,
.wfscart
  .woocommerce-page
  table.shop_table_responsive
  tr
  td.product-name::before {
  display: none;
}

.wfscart
  .woocommerce
  table.shop_table_responsive
  tr
  td.product-quantity::before,
.wfscart
  .woocommerce-page
  table.shop_table_responsive
  tr
  td.product-quantity::before {
  display: none;
}

.wfscart #respond input#submit.disabled,
.wfscart #respond input#submit:disabled,
.wfscart #respond input#submit:disabled[disabled],
.wfscart a.button.disabled,
.wfscart a.button:disabled,
.wfscart a.button:disabled[disabled],
.wfscart button.button.disabled,
.wfscart button.button:disabled,
.wfscart button.button:disabled[disabled],
.wfscart input.button.disabled,
.wfscart input.button:disabled,
.wfscart input.button:disabled[disabled] {
  opacity: 0.5 !important;
}

.wfscart #respond input#submit.disabled:hover,
.wfscart #respond input#submit:disabled:hover,
.wfscart #respond input#submit:disabled[disabled]:hover,
.wfscart a.button.disabled:hover,
.wfscart a.button:disabled:hover,
.wfscart a.button:disabled[disabled]:hover,
.wfscart button.button.disabled:hover,
.wfscart button.button:disabled:hover,
.wfscart button.button:disabled[disabled]:hover,
.wfscart input.button.disabled:hover,
.wfscart input.button:disabled:hover,
.wfscart input.button:disabled[disabled]:hover {
  background-color: #5692ce;
  color: #fff !important;
  opacity: 0.75 !important;
}

.wfscart #add_payment_method table.cart td.actions .coupon .input-text,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text {
  width: auto;
  margin: 20px 10px 0 0;
}

@media (max-width: 767px) {
  .wfscart #add_payment_method table.cart td.actions .coupon .input-text,
  .woocommerce-cart table.cart td.actions .coupon .input-text,
  .woocommerce-checkout table.cart td.actions .coupon .input-text {
    width: 100%;
    margin: 20px 10px 0 0;
    float: none;
  }
  .wfscart .woocommerce #content table.cart td.actions .coupon .button.alt,
  .woocommerce #content table.cart td.actions .coupon .input-text + .button,
  .woocommerce table.cart td.actions .coupon .button.alt,
  .woocommerce table.cart td.actions .coupon .input-text + .button,
  .woocommerce-page #content table.cart td.actions .coupon .button.alt,
  .woocommerce-page
    #content
    table.cart
    td.actions
    .coupon
    .input-text
    + .button,
  .woocommerce-page table.cart td.actions .coupon .button.alt,
  .woocommerce-page table.cart td.actions .coupon .input-text + .button {
    width: auto;
    margin-right: 10%;
    margin-left: 10%;
  }
}

.wfscart .coupon .button {
  color: #5692ce !important;
  background-color: #fff;
  border: 2px solid #5692ce;
  font-size: 0.8rem !important;
}

.wfscart .coupon .button:hover {
  color: #004387 !important;
  background-color: #fff;
  border: 2px solid #004387;
}

.woocommerce td.product-name dl.variation dt {
  display: none;
}

.elementor-kit-67 input:not([type="button"]):not([type="submit"]),
.elementor-kit-67 textarea,
.elementor-kit-67 .elementor-field-textual {
  box-shadow: none !important;
}

/* The "Update Cart" button */
.wfscart .button[name="update_cart"] {
  font-size: 0.8rem !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  font-weight: 400;
}

/*
Woocommerce - Elementor Menu-Cart
*/
.wfsminicart .elementor-menu-cart__product {
  display: block !important;
}

.wfsminicart .elementor-menu-cart__product-name,
.wfsminicart .elementor-menu-cart__product-price {
  padding-left: 0 !important;
}

.wfsminicart .elementor-menu-cart__product-remove {
  display: none;
}

.wfsminicart .elementor-menu-cart__product-name a {
  font-size: 1rem;
}

.wfsminicart .elementor-menu-cart__footer-buttons {
  margin-top: 20px;
}

.wfsminicart .widget_shopping_cart_content::before {
  content: "Warenkorb";
  font-family: Montserrat, sans-serif;
  text-transform: uppercase;
  font-weight: 600;
  color: #5692ce;
  font-size: 2rem;
}

.wfsminicart .elementor-menu-cart__products {
  padding-top: 0.75rem;
  border-top: 2px solid #5692ce;
}

.wfsminicart .elementor-menu-cart__product-price {
  text-align: right;
}

.wfsminicart .elementor-menu-cart__product-price .amount {
  font-weight: 400;
}

.wfsminicart .elementor-menu-cart__product-price::before {
  content: "Preis: ";
  float: left;
  font-size: 0.875rem;
}

.wfsminicart .elementor-menu-cart__close-button:after,
.wfsminicart .elementor-menu-cart__close-button:before {
  background-color: #5692ce;
}

.wfsminicart .elementor-menu-cart__product-name p {
  margin-bottom: 0;
}

.wfsminicart dt.variation-Ticket {
  display: none;
}

.wfsminicart dd.variation-Ticket {
  margin-inline-start: unset;
}

.wfsminicart .elementor-menu-cart__product-name p {
  line-height: 1em;
}

.wfsminicart .elementor-menu-cart__products {
  max-height: calc(100vh - 350px);
}

@media screen and (max-width: 767px) {
  .wfsminicart .elementor-menu-cart__products {
    max-height: calc(100vh - 450px);
  }
}

/*
Woocommerce - Elementor Menu-Cart - ausblenden wenn leer
*/
.wfsminicart_empty .wfsminicart {
  display: none !important;
}

.wfscart1 .wl-ci-product-remove {
  font-size: 0.5rem !important;
}

.wfscart1 p {
  margin-bottom: 0;
}

.wfscart1 .wl-ci-product-style table tbody tr td.wl-bottom-actions {
  display: none !important;
}

.wfscart_totals table.shop_table {
  border: 1px solid #5692ce !important;
  border-collapse: separate;
  border-radius: 5px;
  padding: 5px 10px;
}

.wfs_coupon_empty .wfs_coupon {
  display: none !important;
}

/*
Woocommerce - Kasse
*/
#wfscheckout dt.variation-Ticket {
  display: none;
}

#wfscheckout
  #wfacp-e-form
  .wfacp_main_form
  .woocommerce-checkout
  .button.button#place_order {
  background-color: #5692ce;
  font-family: Montserrat, sans-serif;
  font-size: 1.375rem;
  font-weight: 600;
}

#wfscheckout
  #wfacp-e-form
  .wfacp_main_form
  .woocommerce-checkout
  .button.button#place_order:hover {
  background-color: #004387;
}

#wfscheckout p.product-subtitle,
#wfscheckout p.product-quantity {
  margin-bottom: 0;
}

#wfscheckout .stripe-card-group {
  width: 100%;
}

.wfsthankyou_info_headlines {
  color: #5692ce;
  font-family: Montserrat, sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
}

.wfsthankyou_info p {
  margin-bottom: 2rem;
}

/*
Woocommerce - Leeren Warenkorb ausblenden
*/
.woocommerce-info {
  display: none;
}

/*
Woocommerce - Zurück zum Shop im leeren Warenkorb ausblenden
*/
p.return-to-shop {
  display: none;
}

ul.wc-item-meta {
  padding: 0;
}

.woocommerce td.product-name .wc-item-meta .wc-item-meta-label {
  display: none;
}

.product-quantity {
  font-weight: 400;
}

/*
Woocommerce - Woolementor - Anzahl
*/
.wfscart1 .wl-ci-product-quantity .quantity.buttons_added {
  margin: 0 !important;
}

.ui-datepicker
  .ui-widget
  .ui-widget-content
  .ui-helper-clearfix
  .ui-corner-all {
  display: block !important;
}

/*
Woocommerce - Variation Table Grid
*/
.wfstableadd2cart .globalcartcol,
.wfstableadd2cart .vartable_globalcart {
  display: none !important;
}

.wfstableadd2cart table {
  font-size: 1rem;
}

.wfstableadd2cart table.vartable td,
.wfstableadd2cart table.vartable th {
  border: unset;
  background-color: transparent;
  height: 3.7em;
}

.wfstableadd2cart table.vartable tr {
  border-top: 1px solid #e8e9ec;
}

.wfstableadd2cart table.vartable tr:last-child {
  border-bottom: 1px solid #e8e9ec;
}

.wfstableadd2cart .vartable.should_hide_mobile_header td {
  text-align: left;
}

.wfstableadd2cart table.vartable td:nth-child(1) {
  padding-left: 0;
  line-height: 1.25rem;
}

.wfstableadd2cart table.vartable td:nth-child(2) {
  text-align: end;
  line-height: 1.25rem;
  padding-right: 10px;
}

.wfstableadd2cart table.vartable td:nth-child(3) {
  padding-right: 0;
  width: 70px;
}

.wfstableadd2cart .qtywrap {
  width: 70px;
  background-color: #5692ce;
  color: #ffffff;
}

.wfstableadd2cart table.vartable input.qty {
  text-align: center;
}

.wfstableadd2cart .qtycol input {
  border: 1px solid #5692ce;
  width: 30px;
  box-shadow: none !important;
  background-clip: padding-box;
}

.wfstableadd2cart .qtycol input[type="number"]::-webkit-inner-spin-button,
.wfstableadd2cart .qtycol input[type="number"]::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

@media screen and (max-width: 767px) {
  .wfstableadd2cart table.vartable {
    max-width: unset;
  }

  .wfstableadd2cart table.vartable tr {
    display: table-row;
    width: unset;
    border-bottom: unset;
  }

  .wfstableadd2cart table.vartable td {
    display: table-cell;
    width: unset;
    clear: unset;
    text-align: unset;
  }

  .wfstableadd2cart table.vartable td.pricecol {
    max-width: unset;
  }

  .wfstableadd2cart table.vartable td span {
    display: inline;
  }

  .wfstableadd2cart table.vartable td:before {
    content: unset;
    float: unset;
    text-transform: unset;
    font-weight: unset;
  }

  .wfstableadd2cart table.vartable,
  .wfstableadd2cart table.vartable tr {
    min-width: unset;
    max-width: unset;
    width: unset;
  }

  .disable_responsive_wrap {
    white-space: unset !important;
  }
}

.wfstableadd2cart .woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  width: 100%;
  text-align: center;
  background-color: #5692ce;
  margin-top: 20px;
  border-radius: 30px;
  font-weight: 400;
  font-size: 1.25rem;
  padding: 12px 24px !important;
  font-family: Montserrat, sans-serif;
  text-transform: uppercase;
}

.wfstableadd2cart .woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background-color: #004387;
}

/*
Kalender
*/
.calendarany_grid_container {
  display: grid;
  grid-template-columns: 11fr max-content;
  grid-auto-flow: row;
  grid-template-areas: "calendarany_eventbox calendarany_chevron";
}

.calendarany_eventbox {
  display: grid;
  grid-template-columns: 4fr 6fr 2fr;
  gap: 0px 0px;
  grid-auto-flow: row;
  grid-template-areas: "calendarany_eventtime calendarany_eventtitle calendarany_eventduration";
  grid-area: calendarany_eventbox;
  font-size: 1rem;
  line-height: 2rem;
  margin-bottom: 0;
  text-align: center;
  column-gap: 1em;
}

.calendarany_eventtime,
.calendarany_eventtitle,
.calendarany_eventduration,
.calendarany_chevron {
  padding: 0.5em;
}

.calendarany_eventtime,
.calendarany_eventduration {
  color: #535353;
}

.calendarany_eventtime {
  grid-area: calendarany_eventtime;
  position: relative;
}

.fc-event,
.fc-event.fc-h-event {
  padding: 0 !important;
}

@media (min-width: 768px) {
  .calendarany_eventtime:after {
    content: "";
    position: absolute;
    top: 20%;
    right: -0.5em;
    width: 1px;
    height: 60%;
    background: #dddddd;
  }
}

.calendarany_eventtitle {
  grid-area: calendarany_eventtitle;
  font-size: 1.25rem;
  font-family: Montserrat, sans-serif;
  line-height: 1.875rem;
}

.calendarany_eventduration {
  grid-area: calendarany_eventduration;
  position: relative;
}

@media (min-width: 768px) {
  .calendarany_eventduration:before {
    content: "";
    position: absolute;
    top: 20%;
    left: -0.5em;
    width: 1px;
    height: 60%;
    background: #dddddd;
  }
}

.calendarany_chevron {
  grid-area: calendarany_chevron;
  display: grid;
  background-color: #5692ce;
  align-items: center;
}

@media (max-width: 767px) {
  .calendarany_eventbox {
    grid-template-columns: 6fr 6fr 6fr;
    column-gap: unset;
  }

  .calendarany_eventtime {
    grid-row: 2 / 2;
    grid-column: 1 / 3;
    text-align: left;
  }

  .calendarany_eventtitle {
    grid-row: 1 / 1;
    grid-column: 1 / 4;
    border-left: inherit;
    border-right: inherit;
    margin: inherit;
  }

  .calendarany_eventduration {
    grid-row: 2 / 3;
    grid-column: 3 / 4;
    text-align: right;
  }

  .calendarany_eventtitle {
    padding: 0.5em 0.5em 0;
  }

  .calendarany_eventtime,
  .calendarany_eventduration {
    padding: 0 0.5em 0.5em;
  }
}

.fc-widget-content {
  background-color: #fff !important;
}

/*
WSForm - Formulare - Anpassungen
*/

/* Rand des Formulars (im Pagebuilder hinzufügen) */
.wfs_wsf_container_border {
  border: 1px solid #e8e9ec;
  border-radius: 5px;
  padding: 1.25rem 1.25rem 1.5625rem;
}

/* GDPR Section */
.wfs_wsf_gdpr_section > div > div:not(:first-child) {
  margin-bottom: 0;
}

/* Checkbox */
.wfs_wsf_checkbox .wsf-label:first-child {
  margin-bottom: 0.5rem;
}

/* Checkbox horizontal */
.wfs_wsf_checkbox > div {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.5rem;
}

@media only screen and (max-width: 768px) {
  .wfs_wsf_checkbox > div {
    flex-direction: column;
  }
}

/*
Sonderpreis Badge Dämmertörn
*/
.wfs_badge_container {
  background-color: rgba(86, 146, 206, 0.8);
  color: white;
  border: 1px solid white;
  border-radius: 8px;
  display: flex;
  width: fit-content;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto;
  line-height: 1.25;
  font-weight: 600;
  position: relative;
}
.wfs_badge_container :is(span) > a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.wfs_badge_wrapper .wfs_badge_container a,
.wfs_badge_wrapper .wfs_badge_container a:hover {
  color: white;
  text-decoration: none;
}
.wfs_badge_container span {
  padding: 0 0.5rem;
}
.wfs_badge_price {
  font-weight: 700;
  font-size: 2.5rem;
  background-color: white;
  color: #5692ce;
}

.jadato_accordion--preisliste table {
  font-size: 1rem;
  border-color: unset;
  margin: 0;
}

.jadato_accordion--preisliste table tr:not(:first-child) {
  border-top: #eeeeee 1px solid;
}

.jadato_accordion--preisliste table td,
.jadato_accordion--preisliste table th {
  border: unset;
  padding: 9px 0;
}

.jadato_accordion--preisliste table td:last-child,
.jadato_accordion--preisliste table th:last-child {
  text-align: right;
  white-space: nowrap;
  padding-left: 0.5rem;
}

.jadato_accordion--preisliste table tbody > tr:nth-child(odd) > td,
.jadato_accordion--preisliste table tbody > tr:nth-child(odd) > th,
.jadato_accordion--preisliste table tbody tr:hover > td,
.jadato_accordion--preisliste table tbody tr:hover > th {
  background-color: transparent;
}

/*
WFS Kontakt Icon Liste
*/
.wfs_contact_wrapper dl {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.wfs_contact_dlitem {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.5rem;
  border-radius: 5px;
  position: relative;
  transition: 0.3s ease-in-out;
}

.wfs_contact_dlitem:hover,
.wfs_contact_dlitem:focus-within {
  translate: 0 -0.25em;
}

.wfs_contact_dlitem :is(dt) > a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.wfs_contact_dlitem:focus-within {
  box-shadow: 0 0 0 2px var(--primary-color);
}

.wfs_contact_dlitem:focus-within :focus {
  box-shadow: none !important;
  outline: none !important;
}

.wfs_contact_dlicon {
  border: 1px solid var(--primary-color);
  border-radius: 50%;
  height: 3.625em;
  width: 3.625em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wfs_contact_wrapper dl i {
  font-size: 1.75em;
  color: var(--primary-color);
}

.wfs_contact_wrapper dt {
  margin: 0;
  font-size: 1.5rem;
  color: var(--primary-color);
  font-family: "Montserrat", Sans-serif;
}

.wfs_contact_wrapper dd {
  margin: 0;
  line-height: 1.75;
}

.wfs_textblock {
  max-width: 80ch;
  margin: auto;
}

.wfs_textblock ul {
  margin-block-end: 0.9rem;
}

/*
WFS Woocommerce Ticket Daten Liste
*/
.wfs_ticket_data_container {
  display: flex;
  justify-content: center;
}

.wfs_ticket_data_container ul {
  list-style-type: none;
  padding: 0;
  margin: 0.5rem 0 0;
  display: flex;
  column-gap: 1.5rem;
  row-gap: 0.75rem;
  flex-wrap: wrap;
  font-size: 1.25rem;
}

.wfs_ticket_data_container li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.wfs_ticket_data_container i {
  color: var(--primary-color);
  font-size: 1.125rem;
}

/*
WFS Frontpage Hero Button Group
*/
  .wfs_starthero_button_group {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    flex-wrap: wrap;
  }

  .wfs_button_link {
    border: none;
    padding: 0.375rem 1.75rem;
    background: var(--primary-color);
    color: #fff !important;
    border-radius: 1.875rem;
    font-size: 1.25rem;
    text-transform: uppercase;
    transition: background-color 0.3s ease, color 0.3s ease;
  }

  .wfs_button_link:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
  }

  .wfs_button_link:hover {
    background-color: #fff;
    color: var(--primary-color) !important;
  }