/*
Theme Name: Jadato Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Jadato Child 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
*/

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

.templatesection {
    padding: 0;
}

h1, h2 {
    text-align: center;
}

.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;
}

/**
 * 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_4c1r {
    display: grid; 
    gap: 40px 40px;
    grid-template-columns: 3fr 3fr 3fr 3fr;
}

.wfs_startgrid_item {
    border: 1px solid #E8E9EC;
    border-radius: 5px;
    box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.1);
    padding: 20px;
}

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

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

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

.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: 1025px) {
.wfs_startgrid_h3_hidden {
    display: none;
}
}

/*
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
*/
.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;
}

.wfstable-scrollable {
    width: 100%;
    overflow-y: auto;
    margin: 0;
}
  
  .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, .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;
 }

/*
Elementor Accordion
*/
.wfs_elementor-accordion .wfs_elementor-accordion-item {
     margin: 10px 0;
     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;
}

.wfs_elementor-accordion .wfs_elementor-tab-title{
    padding: 14px 20px !important;
}

.wfs_elementor-accordion .wfs_elementor-tab-content {
    border-top-color: #E8E9EC  !important;
}

.wfs_elementor-accordion .wfs_elementor-tab-content p {
    margin-bottom: 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;
  }

.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 {
      font-weight: 600;
  }
  
  .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;
  }

 /*
Shop Menu
*/
.wfsshopmenu {
    color: #5692CE;
    margin-right: 0.5rem;
    font-size: 0.875rem;
}

 /*
Payments
*/

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

.wfs_payment .fab {
}

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

/*
Start - Icon Box
*/
.wfsiconflexcontainer {
    display: flex;
    column-gap: 2.5em;
}
.wfsiconflexboxleft, .wfsiconflexboxright {
    width: 50%;
}

@media (max-width: 767px) {
    .wfsiconflexcontainer {
        flex-direction: column;
    }
    .wfsiconflexboxleft, .wfsiconflexboxright {
        width: 100%;
    }
}

.wfsiconbox {
    display: flex;
    margin-bottom: 1.5em;
}

.wfsiconbox-icon {
    background-color: #5692ce;
    color: #fff;
    padding: 12px;
    border-radius: 50%;
    font-size: 1.5rem;
}

.wfsiconbox-left {
    margin-right: 1rem;
    margin-top: 1.25em;
}

p.wfsiconbox-headline {
    font-size: 1.5rem;
    margin-bottom: 0;
}

p.wfsiconbox-subline {
    margin-bottom: 0;
    line-height: 1.5rem;
}

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

.wfspricedesc {
    font-size: 0.875rem;
}

.wfspricesection {
    margin-bottom: 30px;
}

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;
}

/*
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: 30px 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;
}
.wfscountdownlabels {
    font-size: 1rem;
    margin-bottom: 0;
    line-height: 1rem;
}
@media (max-width: 768px) {
    #days, #hours, #minutes, #seconds {
        font-size: 3rem;
        line-height: 2.5rem;
    }
    .wfscountdownlabels {
        font-size: 0.9rem;
        line-height: 0.9rem;
    }
}
.wfscountdowntext_topdown {
    margin: 15px 0;
}
.wfscountdowntext_topdown p {
    font-size: 2rem;
    color: #5692ce;
    text-align: center;
    margin-bottom: 0;
}

/*
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 {
    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;
}

.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 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;
    }
}

.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;
}