/* 
 Theme Name:   Escoffier
 Theme URI:    
 Description:  Layout
 Author:       conceptstory
 Author URI:   https://conceptstory.de
 Template:     hello-elementor
 Version:      1.0

 /* == Add your own styles below this line ==
--------------------------------------------*/

body { font-family: var( --e-global-typography-accent-font-family ), sans-serif; }

section.elementor-top-section  { padding: 3% 0;}
section.top-padding , .mec-single-event > section { padding: 3% 0 0 0;}
section.bottom-padding { padding: 0 0 3% 0 ;}
section.partner { background: #FFF;}
section.main-header { padding: 0 !important; position: relative; z-index: 999;}
section.elementor-sticky--effects { box-shadow: 0 0px 5px rgba(0,0,0,0.1);}

section.sub-menu, section.sub-menu .elementor-widget-wrap {  padding: 2px !important;}
section.sub-menu .icon.icon-home { height: 30px; top : -8px;}
.copy .elementor-shortcode { color: var( --e-global-color-42b7b3d )}

.user-content { font-family: var( --e-global-typography-accent-font-family ), Sans-serif; font-weight: 300; line-height: 1.6}
.user-content h3 { font-size: 1.4em; font-weight: 700; margin-bottom: 0.5em;}
.region-break h2, .land-break .hes { font-family: var( --e-global-typography-accent-font-family ), Sans-serif;  font-weight: 700; line-height: 1.6; font-size: 1.2em; margin-bottom: 0.5em;}

.esc-menu, .jt-menu { line-height: 1; margin-bottom: 5px !important;}
	
	
.no-padding { padding: 0 !important;}
.center-text .elementor-container { width: 80%; margin: auto; }
.center-text .elementor-column { padding: 2%;}

.navhome a span { display: none;}

p strong { font-weight: 600;}
h4 { color: #000}

.fachjury section > .elementor-container > .elementor-col-50:last-child > .elementor-widget-wrap > .elementor-widget-heading { margin-bottom: 0; }

.bb-grid > :not(.no-gutter), .bb-grid-cell:not(.no-gutter), .container { padding-left: 0; padding-right: 0;}
.content-area { padding-bottom: 0;}

.bb-grid.site-content-grid { display: flex; justify-content: center; gap: 40px;}
.bs-bp-container { max-width: 1360px !important; }

#post-8105 h1.entry-title, #post-1016 h1.entry-title { display:none; /*border: #F00 solid 2px;*/}

#secondary.sm-grid-1-1 { display: none;}
.land-break { min-height: 300px; padding-left: 20px; padding-right: 20px;}
.region-break { position: relative; min-height: 300px;}
.region-break h2 { border-bottom: #000 solid 1px; padding: 10px 0; background: #f4f2ec; position: sticky; top: 84px; z-index:2;   }

.region-break .kanton-break {  border-top: 1px solid #000;}

.region-break .kanton-break:first-of-type {  border-top: none;}

/*.region-break .kanton-break:nth-child(1) {  border: 1px solid #F00;}*/

/*.region-break > .kanton-break:first-child { border: none;}*/
.kanton-break { display: flex; flex-wrap: wrap; position: relative; padding-left: 60px; min-height: 250px;} 
.kanton-break h4 { text-align: right; font-size: 1.4em; font-weight: 700; text-transform: uppercase;  top: 120px;  padding: 10px 0; width: 250px; height: 50px; position: absolute; left: -110px; transform: rotate(270deg); line-height: 1; font-family: var( --e-global-typography-accent-font-family ), Sans-serif;  }

.user-item { position: relative;display: flex; flex: 0 0 33%; margin: 20px 0; gap: 20px; padding-left: 0px;}
.user-item figure { width: 100px;}
.user-content h3 { margin-bottom: 0;}
.user-content .elementor-icon { position: absolute; top: 0; left: 0px;}

ul.user-location { margin: 0; list-style: none;}
i.fas.Rot { color: var( --e-global-color-accent ); }
i.fas.Blau { color: #032091; }
i.fas.Grün { color: #039103; }



.pp-equal-height-yes .pp-post-wrap  {  height: auto !important; align-self: center }


li:not(ul.elementor-nav-menu li, ul.elementor-icon-list-items li) { font-size: 1em; padding: 0.3em 0; border-bottom: rgba(0,0,0,0.1) solid 1px;}
li:not(ul.elementor-nav-menu li, ul.elementor-icon-list-items li, .motto li):last-child { border: none;} 
.container { max-width: inherit;}

ol, ol ul { margin-bottom: 0;}
ol ul li { list-style-type: disc ;}

section.main-header a.elementor-button  { margin: 0 0 0 25px; padding: 0 9px 0 0; font-size: 1em; text-transform: uppercase; color: #000; border-radius: 3px; } 
section.main-header a.elementor-button i::before { font-size: 2em; }
section.main-header .elementor-col-50 .elementor-widget-wrap { display: flex; flex-flow: row; align-items: end; } 
section.main-header .elementor-col-50:last-child .elementor-widget-wrap { padding-bottom: 5px;}

.bb-header-buttons .signin-button  { display: none !important;}
.bb-header-buttons .signup { color: #000; position: relative; top: -3px; text-transform: uppercase; padding-left: 40px;}
.bb-header-buttons .signup::before { content:"\e909"; font-family: "icomoon" !important;  position: absolute; left: 0px; top: 0; font-size: 2em; } 
.bb-header-buttons a.signin-button { font-size: 1em; text-transform: uppercase; background: #f4f2ec !important; padding: 1px 15px 0 40px !important; border-radius: 3px;}
.bb-dash-grid { border: none;}


.elementor-widget-wpml-language-switcher { width: 90px !important; margin-bottom: 0 !important;}
.wpml-ls-legacy-list-horizontal ul { display: flex;}
.wpml-ls li:first-child { border-bottom: none; border-right: #000 solid 1px;}

.header-aside > * { height: 36px !important;}
.elementor-widget-header-bar { margin-bottom: 0 !important;}

.elementor-button-content-wrapper { align-items: center;}


.rotate-90 .elementor-widget-container { position: relative;}
.rotate-90 .elementor-widget-container h3 { position: absolute; transform: rotate(-90deg); left: -120px; width: 350px; height: 100px; top: 100px; text-align: right; }
.president .rotate-90 .elementor-widget-container h3 {	position: absolute; transform: rotate(-90deg); left: -100px; width: 400px; height: 200px; top: 100px; text-align: right; }

.nl-block .elementor-col-50:last-child { padding-left: 5%;}
.nl-block .rotate-90 { position: relative; left: -150px; top: 30px;}

section.newsloop { border-radius: 0 0 5px 5px; }
section.newsloop, .newsloop .elementor-widget-wrap { padding: 0 !important;}
article.post { transition: 0.3s;}
article.post:hover { transform: translate(-2px, -2px); transition: 0.3s; box-shadow: 2px 5px 10px rgba(0,0,0,0.1);}

/* Excludes .default-nav (the mobile burger-menu popup) - Elementor's Popup
   Builder reuses this exact dialog-widget markup for every popup type
   (image/video lightboxes as well as content popups), so without the
   exclusion this was also shrinking and bottom-anchoring the nav popup's
   content area on mobile, cutting part of the menu off with no way to
   scroll to it. See .default-nav .dialog-message below for that popup's
   own fix. */
.dialog-lightbox-widget:not(.default-nav) .dialog-widget-content { height: calc( 100vh - 84px); bottom: 0; }
/*.dialog-lightbox-widget:not(.default-nav) .dialog-widget-content { height: calc( 100vh - 84px); bottom: 0; }*/

.dialog-widget.default-nav,
.dialog-widget.default-nav .dialog-message {
	align-items: flex-start !important;
}
.dialog-widget.default-nav .dialog-message {
	overflow-y: auto !important;
}


/* Mobile nav popup ("Default Nav", opened from the burger icon): Elementor
   vertically centers the popup's content by default. When the menu (all
   its links plus the language switcher) is taller than the screen - the
   normal case on a phone - centering it makes the overflow inaccessible:
   browsers can't scroll up to a centered flex item's clipped starting
   edge, only within whatever fits from wherever it happens to render. Left-
   /top-aligning it instead makes the whole menu reachable by scrolling
   from the top, like a normal scrollable panel. */
.dialog-widget.default-nav,
.dialog-widget.default-nav .dialog-message {
	align-items: flex-start !important;
}
.dialog-widget.default-nav .dialog-message {
	overflow-y: auto !important;
}

.motto .pp-info-list-container { overflow: visible;}
.motto ul { gap: 20px; justify-items: space-around;}
.motto .pp-info-list-item, .motto li { border: #FFF solid 5px; border-radius: 5px; background: #FFF; display: flex; align-items: end;} 
.motto .pp-infolist-content-wrapper { padding: 20px; }
.motto.center .pp-info-list-item { display: flex; }

.line h3 { text-transform: uppercase;}

.elementor-align-right.elementor-widget-button { padding-right: 30px;}

button.gform_button { font-size: 1.4em; font-weight: 700; border: none; }
/* { color: #e82e2f; padding-left: 0; position: relative;}*/

/* Browsers don't inherit font-family into form controls by default (input,
   select, textarea, button use the browser's own UI font unless told
   otherwise), and Gravity Forms' own CSS doesn't set it either - so the
   registrierung form's fields were rendering in a different font than the
   surrounding running text (set on body). Making them inherit brings them
   back in line with it. */
.gform_wrapper input,
.gform_wrapper select,
.gform_wrapper textarea,
.gform_wrapper button,
.gform_wrapper label,
.gform_wrapper .gfield_description,
.gform_wrapper .gform_fields {
	font-family: inherit;
}

#input_11_6 { width: 100px}

/* Gravity Forms confirmation messages ("message" type, shown after
   submitting) are output as raw text with plain <br> line breaks, not
   wrapped in <p> - so they picked up the browser's default paragraph
   styling instead of the site's running-text look used everywhere else
   (e.g. the intro copy above the registration form). Matches the exact
   values of Elementor's global "Text" typography, which that copy uses. */
.gform_confirmation_message,
.gform_confirmation_message p {
	font-family: var( --e-global-typography-text-font-family ), Sans-serif;
	font-size: var( --e-global-typography-text-font-size );
	font-weight: var( --e-global-typography-text-font-weight );
	line-height: var( --e-global-typography-text-line-height );
}

/* Elementor's own frontend.min.css forces .elementor-button to white text,
   and it's enqueued AFTER this stylesheet, so at equal specificity it wins
   the cascade regardless of selector order here - !important is required,
   not a shortcut. Scoped to body content only (Elementor marks its header
   and footer templates with data-elementor-type="header"/"footer"; every
   other content wrapper - wp-page, wp-post, single-post, popup, etc. - is
   left untouched by the :not()s, so this stays future-proof rather than
   allow-listing content types by name), so section.main-header's own
   button color (line 85 above) still applies inside the header. Applies to
   every element with the class, not just <a> ones, so a
   <button class="elementor-button"> (no href) isn't left white either. */
/* [data-elementor-type]:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-button {
	color: #e82e2f !important;
	fill: #e82e2f !important;
} */

/* Links inside running text (paragraphs / Elementor Text Editor widgets) in
   body content, and links inside Gravity Forms field labels/descriptions
   (e.g. a privacy-policy link in a consent checkbox's label text), get this
   Elementor global color. (--bb-primary-color was requested here, but it's
   a BuddyBoss Theme/Platform variable that's undefined now that plugin is
   deactivated.) Scoped the same way as the button color above, so nav/menu/
   button links elsewhere keep their own styling untouched - the
   .gform_wrapper rules aren't scoped that way since forms only ever appear
   in body content anyway. */
[data-elementor-type]:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) p a,
[data-elementor-type]:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-text-editor a,
.gform_wrapper .gfield_label a,
.gform_wrapper .gform-field-label__text a,
.gform_wrapper .gfield_description a,
.gform_wrapper .gfield_checkbox label a,
.gform_wrapper .gfield_radio label a {
	color: var( --e-global-color-42b7b3d );
}

button.pp-submit-button, a.mec-more-info-button, a.with-arrow, a.elementor-button, button.gform_button { position: relative; color: var( --e-global-color-accent ); padding-left: 0 !important; color: #e82e2f;}
button.pp-submit-button::after, a.mec-more-info-button::after, a.with-arrow::after, a.elementor-button::after, button.gform_button::after { content:"\e910"; font-family: "icomoon" !important; font-size: 2em; position: absolute; right: -25px; top: 4px; color: #000; display: block; transition: 0.3s;}

/* Registrierung form ([gravityform id="11"]) submit button: styled like the
   site's solid CTA buttons (e.g. the MEC booking button further below) -
   red fill, white text, right-pointing arrow - rather than the plain
   red-text link style every other gform_button gets from the shared rule
   above. Scoped to #gform_wrapper_11 so it doesn't change other forms
   (Kontakt, event registrations, ...) sitewide. */
#gform_wrapper_11 button.gform_button {
	position: relative;
	color: #FFF !important;
	background: #e82e2f !important;
	border: none !important;
	border-radius: 3px;
	padding: 14px 55px 14px 24px !important;
	text-transform: uppercase;
}
#gform_wrapper_11 button.gform_button::after {
	content: "\e910";
	font-family: "icomoon" !important;
	font-size: 1.6em;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	color: #FFF;
	display: block;
	transition: 0.3s;
}
#gform_wrapper_11 button.gform_button:hover {
	background: #c9241f !important;
	color: #FFF !important;
}
#gform_wrapper_11 button.gform_button:hover::after {
	right: 15px;
}
button.pp-submit-button::after { top: 0px;}

a.elementor-button:hover::after { right: -35px;}
.main-header  a.elementor-button::after { content:"";}
.back a.elementor-button, a.elementor-button.back { padding-left: 40px !important; padding-right: 0; margin: 0; }
.back a.elementor-button::after, a.elementor-button.back::after { content:"\e910"; font-family: "icomoon" !important; font-size: 2em; position: absolute; left: -115px; top: 2px; color: #000; display: block; transition: 0.3s; transform: rotate(180deg);}
.back a.elementor-button:hover::after, a.elementor-button.back:hover::after { left: -145px;}
a.mec-booking-button { border-radius: 3px;}
button.gform_button:hover { background: none; color: var( --e-global-color-accent ) ;}
button.gform_button::after { top: -7px; right: -55px;}
button.gform_button:hover::after { top: -7px; right: -65px;}
button.pp-submit-button:hover::after { right: -35px;}
button.pp-lost-password-button { border: none;}
button.pp-lost-password-button:focus { box-shadow: none; color: #e82e2f;}

a.with-arrow { font-weight: 700;}
a.with-arrow::after { top: 0; right: -40px;}
a.with-arrow:hover::after { top: 0; right: -50px;}

a.mec-more-info-button { font: 700 1.4em "LibreFranklin" !important; color: var( --e-global-color-accent ) !important; }
.single-mec-events .pmpro_content_message a { font: 700 0.85em "LibreFranklin" !important; text-transform: uppercase !important; padding: 5px 15px !important; background: var( --e-global-color-accent ) !important; box-shadow: none !important; }
a.mec-more-info-button::after { top: -6px; right: -50px;}
a.mec-more-info-button:hover::after { top: -6px; right: -60px;}

.mec-book-field-Name:last-child { border: #F00 solid 2px !important; display: none; }

.elementor-button:hover, .elementor-button:visited { color: #e82e2f;}
.nav a.elementor-button::after { content: "" ;}

.gallery { margin-bottom: 0; }
.gallery .elementor-widget-wrap { height: 50vh; position: relative;}
.gallery .elementor-widget-button { position: absolute; bottom: 0; right: 0;}
.gallery .elementor-button { position: absolute; right: -10px; bottom: -15px;}
.gallery .elementor-button-link { background: #FFF !important; border-radius: 0; padding-left: 20px !important; padding-right: 80px !important;}
.gallery a.elementor-button::after { right: 30px;}
.gallery a.elementor-button:hover::after { right: 10px;}

.gtext .elementor-column .elementor-widget-wrap { padding: 8% !important;}
.gtext .elementor-widget-wrap .elementor-element { max-width: 600px; }

.gtext .elementor-widget-button { position: absolute; right: 0px;  bottom: 30px; z-index:2; }
.gtext .elementor-button { position: absolute; background: #FFF !important;  padding: 20px 60px 20px 20px !important; border-radius: 0; right: 0;}
.gtext a.elementor-button::after {right: 5px; top: 11px; }
.gtext a.elementor-button:hover::after {  right: -5px; top: 11px; }


.pp-carousel-item-wrap .pp-carousel-item {  display: flex; align-items: center;}

i.icon-home { height: auto; }
input.pmpro_btn.pmpro_btn-submit { background: var(--e-global-color-accent ) ; font-weight: 700;}



.fachjury h6 { border-bottom: #000 solid 1px; margin-bottom: 20px; padding-bottom: 20px;}
.fachjury .elementor-widget-heading { margin-bottom: 0;} 

.thema h3 { font: 700 3.2em/1 "LibreFranklin", sans-serif; margin: 50px 0 0 0;}

.pp-timeline-item { margin-top: -10%; }

section.banner { max-width: 1920px; margin: auto;}
section.banner .elementor-col-50 { height: 50vh; position: relative;}
section.banner.home { width: 96%;}
section.banner.home .elementor-col-50 { height: 70vh; position: relative;}
section.banner img.size-large { border-radius: 50%;}

section.home .elementor-col-50 .elementor-element { position: absolute; width: 60%;}
section.home .elementor-col-50 .elementor-element:first-child  { left: 0; transition: 1s; } 
section.home .elementor-col-50 .elementor-element:first-child:hover  { z-index: 2; } 
section.home .elementor-col-50 .elementor-element:nth-child(2) { right: 0; transition: 1s;}
section.home .elementor-col-50 .elementor-element:nth-child(2):hover { z-index: 2; }
section.home .elementor-col-50 .elementor-element:last-child { left: 50%; transform: translateX(-50%); background: #FFF; padding: 25px; width: 160px; height: 160px; border-radius: 50%; z-index:3;  } 

section.left .elementor-col-50 .elementor-element, section.right .elementor-col-50 .elementor-element { width: 75%;}
section.left .elementor-col-50:first-child .elementor-element:last-child { background: #FFF; padding: 25px; width: 160px; height: 160px; border-radius: 50%; z-index:3; transform: translateX(-50%);  } 

section.right .elementor-col-50:last-child .elementor-element:first-child { background: #FFF; padding: 25px; width: 160px; height: 160px; border-radius: 50%; z-index:3; transform: translateX(50%); display: flex; align-items: center;  } 

.left-col-small .elementor-col-33:first-child , .left-col-small .elementor-col-50:first-child { width: 20%;}
.left-col-small .elementor-col-33:nth-child(2), .left-col-small .elementor-col-33:nth-child(3) { width: 40%; }
.left-col-small .elementor-col-66, .left-col-small .elementor-col-50:last-child { width: 80%;}

.counter h3 { margin-bottom: 0;}
.counter .elementor-icon { padding: 20px; border-radius: 50%; border: var( --e-global-color-42b7b3d ) solid 2px;}

.c2a-block .elementor-widget-wrap { padding: 10% !important;}

.round-corners .elementor-container { gap: 20px;}
.round-corners .elementor-widget-wrap { border-radius: 15px; padding: 9% !important;} 

.gfield select, .gfield input { border-radius: 0; border: none !important; background: #F4F2EC; padding: 10px 15px !important; font-size: 1.4em !important;}
label.gfield_consent_label { font: 300 1em/1.3 "LibreFranklin", sans-serif !important; margin: -20px 0 0 10px; }
input, textarea, select { height: auto;}


.pp-timeline-card .pp-timeline-card-content h6 { font-weight: 800; position: relative; margin-top: 2em;}
.pp-timeline-card-content h6::after { content: ""; position: absolute; width: 40px; height: 1px; background: black; display: block; bottom: -10px;  }
.pp-timeline-item-left { text-align: right; }
.pp-timeline-item-left h6::after { right: 0; }

.pp-post .rezepte p { margin-bottom: 0;}
.pp-post .rezepte { padding-bottom: 20px; border-bottom: var( --e-global-color-42b7b3d ) solid 1px;}



#cover-image-container, .buddypress-wrap .bp-messages, .pmpro_box table { border: none;}

.zones .elementor-container { flex-wrap: wrap; /*align-content: space-between;*/}
.zones .elementor-column { width: 33.3%; }
.zones .elementor-widget-wrap {background-repeat: no-repeat; padding-top: 15% !important; padding-bottom: 40px !important; position: relative; }
.zones .elementor-widget-button { position: absolute; bottom: 0;}


dl { margin: 0; padding: 24px 0 0 0; }
dt { position: -webkit-sticky; position: sticky; top: 150px;  }
dd { display: flex; gap: 5%; padding: 5% 0; margin: 0;}
dd .sponsor-text { flex: 0 0 75%;}
dt h4 { font-size: 1.2em; text-transform: capitalize; font-weight: 700;}
dd + dd {  border-top: 1px solid #CCC }
dl.sponsor dt h4 { position: relative; left: -220px;}
.single-post:not(.has-sidebar, .elementor-template-full-width) .site-content-grid { max-width: calc(100% - 300px);}


a.sponsor-link { display: block; margin-top: 20px; font-family: var( --e-global-typography-accent-font-family ), Sans-serif; font-size: var( --e-global-typography-accent-font-size ); font-weight: var( --e-global-typography-accent-font-weight ); color: #e82e2f;}


tr td.pp-table-cell:not(:first-child) { width: 13%; font-size: 0.8em; border-left: #00000033 solid 1px;} 
tr td.pp-table-call:first-child { background: white;}

/*********** 
MEC EVENTS 
***********/ 

.newsblock .pp-post { overflow: visible; }
.newsblock .pp-post-meta { background: var( --e-global-color-42b7b3d ); position: absolute; top: -25px; padding: 10px 30px; border-radius: 3px;}
.newsblock .pp-meta-text { font: 700 1.4em var( --e-global-typography-b3dd76d-font-family ), Sans-serif; }
.newsblock .pp-image-overlay, .newsblock .pp-post-thumbnail-wrap img { border-radius: 0 0 5px 5px;}
.pp-post-thumbnail {  margin-bottom: 0 !important;}

/* .pp-post-wrap and .pp-grid-item-wrap are the SAME element (PowerPack
   applies both classes to one outer <div> - confirmed from rendered
   markup, not just source), not parent/child - a descendant selector
   between them never matches anything.
   NOTE: overflow:hidden was tried here to stop a hover box-shadow from
   revealing a "transparent gap" below the card (see prior investigation),
   but it also clipped the .pp-post-meta date badge, which some skins
   position with a negative top offset (line ~350) so it floats above the
   card's top edge - overflow:hidden cuts that off. Rolled back; the gap
   issue is unresolved, but a hidden date badge is worse. */
.newsblock .pp-post-wrap { border-radius: 0 0 5px 5px; transition: 0.3s; margin-bottom: 40px; height: 400px;  }
.newsblock .pp-grid-item-wrap:hover { transform: translate(-3px, -3px); box-shadow: 3px 3px 19px rgba(0,0,0,0.4);}

/*.pp-posts .newsblock .pp-post-wrap { margin-bottom: 40px !important;}*/

.mec-event-article:hover { transform: translate(-3px, -3px);} 
.mec-event-tile-view .row { display: flex; gap: 25px;}
.mec-event-tile-view .col-md-4.col-sm-4 { margin-bottom: 30px; width: 33%;}
.mec-event-tile-view .col-md-4.col-sm-4 .mec-event-article { background-size: cover !important; position: relative; transition: 0.3s;}
.mec-event-tile-view .col-md-4.col-sm-4 .mec-event-article:hover { box-shadow: 3px 3px 19px rgba(0,0,0,0.4);} 
.mec-event-tile-view .col-md-4.col-sm-4 .mec-event-article::before { content:""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.2);}
.mec-event-tile-view .mec-start-date-label { color: #FFF !important;}
.mec-event-tile-view .mec-tile-event-content {  position: relative; z-index: 3; display: flex; flex-flow: column; height: 350px; justify-content: end;}
.mec-event-tile-view .mec-event-title a { font-weight: 600; color: #FFF !important;}
.mec-event-tile-view .mec-event-loc-place, .mec-event-tile-view .mec-labels-normal { color: #FFF;}

.mec-event-tile-view article.mec-tile-item { border-radius: 0 0 5px 5px; box-shadow: none; padding: 20px;}
.mec-event-content { border-radius: 0 0 5px 5px; }
.mec-event-tile-view article.mec-tile-item::before { border-radius: 0 0 5px 5px;}
.event-tile-view-head { background: var( --e-global-color-42b7b3d );}
.mec-event-article .mec-event-time { display: none;}
.mec-event-time { display: none !important; border: #F00 solid 1px; }
.mec-event-month { font: 700 1.4em "LibreFranklin", sans-serif !important; }
.event-tile-view-head { position: absolute !important; top: -25px;}
.mec-event-tile-view article.mec-tile-item .mec-event-title { font-size: 2em;}
.mec-event-tile-view article.mec-tile-item .mec-event-title a:hover { color: #FFF; text-decoration: none;}
.mec-event-cost, .mec-event-more-info, .mec-event-website, .mec-events-meta-date, .mec-single-event-additional-organizers, .mec-single-event-category, .mec-single-event-date, .mec-single-event-label, .mec-single-event-location, .mec-single-event-organizer, .mec-single-event-time { background: none; padding: 0;}
.event-single .elementor-container { align-items: flex-start; }
.mec-single-event-date h3.mec-date, .mec-single-event-location .mec-location, .mec-single-event-time h3, .mec-single-event .mec-event-meta h3, h3.mec-social-single.mec-frontbox-title { text-align: left; font-size: 0.7em !important; font-weight: 500 !important; text-transform: uppercase; padding-left: 0; border-bottom: none; margin-bottom: 0;}
.mec-single-event-date dl, .mec-single-event-date dd, .mec-single-event-location dl, .mec-single-event-location dd { padding: 5px 0;}
.mec-single-event-date dl .mec-holding-status-expired { display: none ;}
/*.mec-single-event-date dl:first-child { border: #F00 solid 5px !important;}*/

.mec-single-event-date, .mec-single-event-location { display: flex; flex-flow: column;}
.mec-single-event-date i, .mec-single-event-location i, .mec-single-event-time i  { position: relative; left: -10px; top: 5px; display: none;}
.mec-single-event .mec-event-meta dd, .mec-event-cost dl, .mec-event-cost dd .mec-single-event-time dl, .mec-single-event-time dd { padding: 0;}
.mec-single-event-location dd + dd { border: none;}
.mec-single-event-time dl { padding: 10px 0;}
.mec-single-event .mec-frontbox { border: none; background: none; padding: 0;}
.mec-single-event .mec-event-sharing { margin: 0;}
.mec-event-schedule dt { height: auto;}
.mec-event-schedule-content dl, .mec-event-schedule-content dl dt.mec-schedule-title { font: 300 16px/24px "LibreFranklin", sans-serif; color: #000; margin-bottom: 0;}
.mec-event-schedule-content dl dt { line-height: 1.4;}
.mec-event-schedule-content dl dt.mec-schedule-title { font-weight: 800;}
.mec-color {  color: #c6b482; }
.mec-event-schedule-content{ margin-top: 0;}
.mec-event-meta i, .mec-event-meta h3, .mec-tile-event-content .mec-shortcode-organizers, .comments-area { display: none;}
.mec-qrcode-details { text-align: left; padding-bottom: 20px;}
.mec-events-meta-group-countdown .countdown-w .label-w { font-size: 10px;}
.mec-countdown-details .countdown-w .clockdiv li p { margin-top: 5px;}
.mec-events-meta-group-countdown .countdown-w .block-w { font-size: 32px;}
.mec-event-sharing ul { margin: 0; text-align: left;}
.colorskin-custom .mec-single-event .mec-frontbox-title::before, h3.mec-event-social.mec-frontbox::before { content: none !important;}
.mec-wrap .mec-single-title { font-size: 2em;}
.mec-wrap abbr, .mec-single-event-location h6, .mec-single-event .mec-event-meta dd { font-family: "LibreFranklin"; font-weight: 500 !important; color: #000;}
.mec-events-event-image { text-align: center;}
.mec-wrap { color: #000 !important;}

.meta .mec-event-social-icon { margin-right: 10px;}
.mec-single-event .mec-event-social a.facebook, .mec-single-event .mec-event-social a.linkedin { background: none !important; border: #b09f72 solid 2px; display: flex !important; justify-content: center; align-items: center; }
i.mec-fa-facebook, i.mec-fa-linkedin { color: #b09f72;}

.mec-single-event .mec-event-social ul { justify-content: start;}
dd.mec-events-event-cost, .mec-single-event .mec-event-meta .mec-events-event-cost { font-size: 1.4em;}
.mec-single-event .mec-single-event-location dd span { padding-left: 0;}
.mec-single-event .mec-event-export-module.mec-frontbox .mec-event-exporting .mec-export-details ul { margin: 0; display: flex; flex-wrap: wrap;}

h4.mec-event-title a { font-family: "LibreFranklin", sans-serif !important; }
.event-tile-view-head { width: auto; display: inline-block; padding: 10px 30px !important; border-radius: 3px;}
article.mec-tile-item::after { box-shadow: none !important; ;}

.mec-events-button { padding: 10px 15px; font-size: 13px;  background: var( --e-global-color-42b7b3d ); border-radius: 3px; color: #FFF !important; font-weight: 500 !important; border: none! important;}
.mec-events-button li a { color: #FFF !important; font-weight: 500px !important;}
.mec-export-details li:not(ul.elementor-nav-menu li, ul.elementor-icon-list-items li) { border: none; padding: 10px 0;}

.mec-book-tickets-reg-fields-container { display: flex;}
.mec-book-form-next-button, #mec_cart_coupon_form button, .mec-book-form-next-button { border-radius: 3px !important; background: var( --e-global-color-42b7b3d ) !important; border: var( --e-global-color-42b7b3d ) solid 1px !important; color: #FFF !important;}
.mec-book-form-next-button, a.mec-cart-checkout-link.button, .lity-content .button  { width: auto !important; border: none !important; background: #e82e2f !important; color: #FFF !important; text-transform: uppercase !important;}
.mec-book-form-next-button:hover { border-radius: 3px; border: none;}
.mec-cart-empty-wrapper .button { width: 260px;}

.lity-content button:not(.owl-dot):not(.gm-control-active):not(.mejs):not(.owl-prev):not(.owl-next) svg path { fill: #FFF !important;}
.lity-content .mec-booking-progress-bar li.mec-active { color: var( --e-global-color-42b7b3d ) !important; }
.lity-content .mec-booking-progress-bar li.mec-active::before, .lity-content .mec-booking-progress-bar li.mec-active::after { background: var( --e-global-color-42b7b3d ) !important;}
.lity-content .mec-booking-progress-bar li.mec-active .progress-index { background: var( --e-global-color-42b7b3d ) !important; border: background: var( --e-global-color-42b7b3d ) solid 1px !important;;}
.lity-content .mec-booking-progress-bar li::before, .lity-content .mec-booking-progress-bar li::after { background: #CCC !important;}
.lity-content .mec-booking-progress-bar li .progress-index { background: #CCC !important; color: #FFF !important;}
.lity-content .mec-events-meta-group-booking ul.mec-book-tickets-reg-fields-container { margin: 0;}

.mec-cart table thead tr th { border-bottom: #f4f2ec solid 1px !important;  }
.mec-cart-empty-wrapper .button, .mec-checkout .mec-checkout-actions .mec-checkout-cart-link.button, .mec-checkout-cart-link.button { background: #CCC !important; border: red solid 2px !important; color: #FFF !important; width: 250px; border: none !important; text-transform: uppercase !important;}

table.mec-profile-bookings { border:none !important; background: #FFF !important;}
.mec-profile .mec-profile-bookings tbody tr td { border: none; border-bottom: #EEE solid 1px;}
tfoot { display: none;}

.vorstand-item {  width: 50%; float: left; display: flex; gap: 20px; padding: 20px 0;}
.vorstand-item figure { max-width : 150px ;}
.vorstand-social { list-style: none; display: flex; margin: 0; padding-left: 0; }
.vorstand-social li { margin-right: 20px; border: none !important;}
.vorstand-social li i { color: #000; font-size: 1.4em; }
h3.vorstand-item-title { margin-bottom: 0;}
h2.vorstand-item-heading { border-bottom: #000 solid 1px; padding-top: 20px; padding-bottom: 10px;}
.vorstand-content {font-weight: 300 !important;}
.vorstand-item-wrapper { clear: both;}
.event-tile-view-head { left: 20px;}
.vorstand-item a.bio_link { color: var( --e-global-color-9f1772d ); font-weight: 700; font-size: 1.2em; position: relative;}
.vorstand-item a.bio_link::after {  content:"\e910"; font-family: "icomoon" !important; font-size: 2em; position: absolute; right: -50px; top: -5px; color: #000; display: block; transition: 0.3s;} 
.vorstand-item a.bio_link:hover::after { right: -60px; }

li.mec-event-social-icon { border-bottom: none !important; }


.elementor-column.elementor-col-33.back { width: 10%;}
.elementor-column.elementor-col-33.meta { width: 25%}
.elementor-column.elementor-col-33.title { width: 65%;}
.elementor-column.elementor-col-66.event-content  { width: 75%; padding-right: 40px;}

.fame .left-col-small p:not(.elementor-heading-title) { font-size: 20px; line-height: 1.4; }
.fame .rang, .fame a { font-size: 16px; }


.elementor-column.elementor-col-33.meta .elementor-element-populated { border-left: var( --e-global-color-1f7ef73 ) solid 1px; padding: 20px 20px 20px 40px; }
.event-single .elementor-widget-wrap { align-content: center; }

p.position_escoffier, p.arbeitgeber { margin: 0.5rem 0;}
/* p.arbeitgeber { margin-bottom: 0;} */

.footer-address p { margin-bottom: 0;}

.burgermenu { display: none;}
.mec-event-info-mobile { display: none;}

.legal p.elementor-heading-title { font-size: 1em !important;}
table { border: none;}

.spacer { margin-top: 50px; padding-top: 50px; border-top: #000 solid 1px;}
.elementor-nav-menu--main .elementor-nav-menu a { padding-left: 13px !important; padding-right: 13px !important; font-size: 0.9em !important;}	


@media only screen and ( max-width: 1440px ) { 

	.banner.left .elementor-col-50:first-child .elementor-widget-wrap, .banner.right .elementor-col-50:last-child .elementor-widget-wrap { flex-wrap: nowrap;}
	.elementor-nav-menu--main .elementor-nav-menu a { font-size: 0.84em !important; padding-left: 10px !important; padding-right: 10px !important;}


}


@media only screen and ( max-width: 1350px ) { 

	.elementor-nav-menu--main .elementor-item { padding-left: 0.6em !important; padding-right: 0.6em !important;  }
	section.lr-padding { padding-left: 20px !important; padding-right: 20px !important;}
	.bp-dir-hori-nav nav#object-nav.bb-single-main-nav--vertical, .bb-profile-grid.bb-grid { padding: 20px;}
	

}


@media only screen and ( max-width: 1280px ) { 

	.banner.home .elementor-container { flex-wrap: wrap; }
	.banner.home .elementor-column.elementor-col-50 { width: 70%; order: 1; margin: auto;}
	.banner.home .elementor-column.elementor-col-25 { width: 50%; order: 2; }
	.banner.home .elementor-column.elementor-col-25 .elementor-widget-wrap { align-items: flex-start;}
	
	.main-header .elementor-column.elementor-col-50:first-child { width: 60%;}
	.main-header .elementor-column.elementor-col-50:last-child { width: 40%;}
	
	.banner h1.elementor-heading-title { font-size: 3.2em !important;}
	section.left .elementor-col-50 .elementor-element, section.right .elementor-col-50 .elementor-element { width: 95%;}
	
	.pp-list-items { flex-wrap: wrap;}
	.pp-info-list-icon-top .pp-list-items .pp-info-list-item { flex: 0 0 49%;}
	
	.no-arrows a.elementor-button { border-radius: 3px;}
	.no-arrows a::after { content:"";}
	
	.burgermenu { display: block;}
	.esc-menu, .jt-menu, .sub-menu { display: none;}
/*	.esc-menu, .jt-menu { display: none;}
	.burgermenu { display: block;}
	.esc-menu, .jt-menu, .sub-menu { display: none;}*/
	


}



@media only screen and ( max-width: 1280px ) and ( min-width: 981px ) {
	
	.jt-icon { width: 200px !important; height: 160px; padding: 25px 15px !important;}
	.jt-icon img { object-fit: contain; border-radius: 0 !important; }
	
}


@media only screen and ( max-width: 1279px ) { 
	
	.mec-event-tile-view .col-md-4.col-sm-4 { width: 50%;}
	.elementor-grid-3 .elementor-grid { grid-template-columns: repeat(2,1fr); }	
}


@media only screen and ( max-width: 1024px ) { 

	.banner.home .elementor-column.elementor-col-50 {height: 60vh;}
	.rotate-90 .elementor-widget-container h3 { left: -130px; font-size: 2.2em !important; }
	.nl-block .rotate-90 .elementor-widget-container h3 { left: -80px ;}
	.nl-block h3, .nl-block p.elementor-heading-title { font-size: 2.4em !important; }
	.center-text .elementor-container { width: 100%;}
	
	.zones .elementor-column { width: 50% !important; }
	
	.banner h1.elementor-heading-title { font-size: 2.8em !important;}
	.pp-post-thumb-content h2.pp-post-title, .mec-event-tile-view article.mec-tile-item .mec-event-title { font-size: 1.6em !important;}
	ul.pp-list-items { display: flex !important; flex-flow: row; flex-wrap: wrap !important; }
	.pp-info-list-icon-top .pp-list-items .pp-info-list-item { flex-basis: 48%; }
	.elementor-section.elementor-section-boxed > .elementor-container { padding-left: 0; padding-right: 0;}
	
	.gtext .elementor-column .elementor-widget-wrap { padding: 20% 10% 10% 10%;}
	.pp-timeline-item-left { text-align: left;}
	.pp-timeline-item-left h6::after { left: 0;}
	.pp-timeline-item { margin-top: 0;}
	
	.rezept-block .elementor-col-33 { width: 20%;}
	.rezept-block .elementor-col-66 { width: 80%; }
	.rezept-block .elementor-grid { grid-template-columns: repeat(1,1fr);}
	

	.default-nav p.elementor-heading-title { font-size: 1.6em !important;}
	.default-nav section.elementor-top-section { padding: 3%; }
	.default-nav li.menu-item a { font-size: 1.2em !important;}
	


}



@media only screen and ( max-width: 980px ) { 
	
	.detail-2col .elementor-col-50 { width: 100%;}
	section.banner .elementor-col-50 { height: auto;}
	section.left .elementor-col-50:first-child .elementor-element:last-child { position: absolute; right: -20px; transform: none; bottom: 20px; }
	section.left .elementor-col-50 .elementor-element, section.right .elementor-col-50 .elementor-element { width: 90%; } 
	section.right .elementor-col-50:last-child .elementor-element:first-child { position: absolute; left: 0px; transform: none; }
	section.left .elementor-col-50:first-child .elementor-widget-wrap { justify-content: flex-start !important;}
	
	.elementor-column.elementor-col-20 { width: 33%;}
	.footer-address { order: 5;}
	
	.left-col-small.president .elementor-col-33:first-child, .left-col-small.president .elementor-col-66 { width: 100%; }
	.left-col-small.president .rotate-90 .elementor-widget-container h3 { position: static; width: auto; height: auto; transform: none; text-align: left;}
	
	.single-head .elementor-col-33:last-child, .single-body .elementor-column.elementor-col-33 { width: 35%; }
	.single-head .elementor-col-33.back { width: 17%;}
	.single-head .elementor-col-33:nth-child(2) { width: 48%;}
	.single-body .elementor-column.elementor-col-66 { width: 65%; }
	.mec-single-event > section { padding: 20px;}
	
	.single-body .elementor-column.elementor-col-33 .elementor-widget-wrap { padding-left: 20px;}
	
	.cross-links .elementor-element.elementor-col-25 { width: 100%;}
	.cross-links .elementor-col-25:nth-child(2) { display: none;}
	
	.plan .elementor-column.elementor-col-25 { width: 50%;}
	
	.mec-event-tile-view .row { display: flex; flex-wrap: wrap; margin-bottom: 30px;}
	.user-item { flex: 0 0 50%;}
	
	ul.pp-list-items { display: flex !important; flex-flow: column; flex-wrap: wrap !important; }
	.pp-info-list-icon-top .pp-list-items .pp-info-list-item { flex-basis: auto !important;}
	
}



@media only screen and ( max-width: 800px ) { 
	
	aside { border: #F00 solid 2px !important; display: none;}
	
}


@media only screen and ( max-width: 768px ) { 
	
	.banner.home .elementor-column.elementor-col-50 { width: 100%; }
	
	.left-col-small .elementor-col-33:first-child { display: none;}
	.left-col-small .elementor-col-33 { width: 50% !important;}
	.left-col-small.president .elementor-col-33:first-child { display: block; width: 100% !important;}
	.single-head .elementor-col-33:last-child, .single-body .elementor-column.elementor-col-33, .single-head .elementor-col-33:nth-child(2), .single-body .elementor-column.elementor-col-66  { width: 100%; padding: 0; /*border: #F60 solid 2px;*/}
	.plan .elementor-column.elementor-col-25 { width: 100%;}
	.single-head .elementor-col-33:last-child .elementor-element-populated, .single-body .elementor-column.elementor-col-33 .elementor-widget-wrap { border: none; padding-left: 10px;}
	.single-body .elementor-element-populated { padding: 5px !important;}
	
	#elementor-popup-modal-8237 .dialog-message, .default-nav .dialog-message { align-items: top !important;}
	.pp-info-list-icon-top .pp-list-items .pp-info-list-item { flex: 0 0 100%;}
	
}


@media only screen and ( max-width: 767px ) { 
	
.nl-block .elementor-col-50:last-child { padding-left: 100px;}	
	
}


@media only screen and ( max-width: 600px ) { 
	
	section.banner.home { width: 100%;}
	section.home .elementor-col-50 .elementor-element:last-child { left: 50%; transform: translateX(-50%); background: #FFF; padding: 10px; width: 130px; height: 130px; border-radius: 50%; z-index: 3; bottom: 50px;}
	.banner.home .elementor-column.elementor-col-50 , .banner.home .elementor-column.elementor-col-25{ width: 100%; }
	.banner.right .elementor-col-50:first-child { order: 3;}
	.banner.right .elementor-col-50:first-child .elementor-widget-wrap { justify-content: flex-start !important;}
	section.left .elementor-col-50:first-child .elementor-element:last-child { padding: 10px; width: 130px; height: 130px;}
	section.right .elementor-col-50:last-child .elementor-element:first-child { left: auto; right: 0; bottom: -20px; width: 130px; height: 130px; padding: 10px;}
	
	section section section .elementor-column .elementor-widget-wrap { padding: 10px 0 !important;}
	
	.elementor-column.elementor-col-20 { width: 50%;}
	.left-col-small .elementor-col-33, .left-col-small .elementor-col-50:last-child { width: 108% !important;}
	.left-col-small .elementor-col-50:first-child { display: none;}
	
	section.left .elementor-col-50:first-child .elementor-element:last-child { right: 0;}
	
	.elementor-column.elementor-col-20 { width: 100%;}
	dl.sponsor dd { padding: 3%; flex-wrap: wrap;}
	dd .sponsor-text { flex: 0 0 100%;}
	
	.banner h1.elementor-heading-title, p.elementor-heading-title, h3.elementor-heading-title, .rotate-90 .elementor-widget-container h3, .nl-block p.elementor-heading-title { font-size: 1.8em !important; text-align: left;}
	.single-body p.elementor-heading-title { font-size: 0.8em; }

	.president .c2a-block .elementor-widget-wrap { padding: 10% !important;}
	.zones .elementor-column { width: 100% !important;}
	
	.c2a-block .elementor-container { flex-flow: column;}
	.c2a-block .elementor-container .elementor-col-50:first-child { height: 50vh; width: 100%;}
	.c2a-block .elementor-container .elementor-col-50:last-child {  width: 100%; }
	
	.nl-block .elementor-col-50:last-child { padding-left: 0;}
	.rotate-90 .elementor-widget-container h3 { position: static; width: auto; height: auto; transform: none; text-align: left;}
	.nl-block .rotate-90 { position: static;}
	
	.gtext .elementor-column .elementor-widget-wrap { padding-left: 6%; padding-right: 5%;}
	
	.vorstand-item , .kanton-break .user-item{ width: 100%; padding-left: 0;}
	
	.sponsor dt { top: 84px; background: #f4f2ec; padding: 0 10px;}
	dl.sponsor dt h4 { position: static;}
	
	.elementor-487 .elementor-element.elementor-element-6c7fab6 .pp-timeline-vertical.pp-timeline-mobile-left .pp-timeline-marker-wrapper {  margin-right: 0 !important;}
	
	.pp-timeline-vertical.pp-timeline-mobile-left .pp-timeline-marker-wrapper { margin-right: 0 !important;}
	
	.main-header .elementor-button .elementor-button-text { display: none;}
	.rezept-block .elementor-col-33  { display: none;}
	.rezept-block .elementor-col-66 { width: 100%;}
	
	a.elementor-button { font-size: 1.2em !important;}
	
	.vorstand-main-wrapper { padding: 10px; font-family: var( --e-global-typography-accent-font-family ), Sans-serif; font-weight: 300; line-height: 1.6}
	
	.single-head .elementor-col-33:last-child, .single-body .elementor-column.elementor-col-33, .single-head .elementor-col-33:nth-child(2), .single-body .elementor-column.elementor-col-66  { width: 100%; padding: 15px; }
	.single-body .elementor-element-populated { padding: 0px !important;}
	
	.bb-template-v2 .header-aside .user-wrap.user-wrap-container { margin-left: 0;}
	.user-item { flex: 0 0 100%;}

	.banner.home .elementor-widget-text-editor, .banner.home .elementor-widget-button { text-align: left;}
	
	.mec-event-tile-view .col-md-4.col-sm-4 { width: 100%;}
	.elementor-grid-3 .elementor-grid { grid-template-columns: repeat(1,1fr); }	
	
	.elementor-location-header .site-header .menu-item-has-children .sub-menu { left: 50%; transform: translateX(-50%);}
	.site-header--elementor .user-wrap > .sub-menu .wrapper .sub-menu-inner { width: 100%;}

}

/* Sponsors & Partners scrolling logo carousel on the homepage (PowerPack
   Posts widget, "classic" skin, carousel layout, querying the `sponsor`
   CPT - scoped via .sponsor, the post-type class WP adds to each item, so
   this doesn't affect any other pp-posts widget on the site). Its
   "Equal Height" setting stretches .pp-post-wrap and .pp-post to fill the
   tallest slide, but nothing then centers each logo *within* that
   stretched space - logos with different natural aspect ratios (e.g. a
   tall round badge next to wide wordmarks) end up sitting at the top
   instead of lining up on a shared center. */
.pp-post-wrap.sponsor .pp-post {
	display: flex;
	align-items: center;
	justify-content: center;
}



/* Member directory: Schärpe colour disc, linking to escoffierch.test/schaerpe/#<colour>.
   A ring (hollow centre), not a filled disc. Colours match the icon widgets
   on that page exactly (Rot = the site's global Accent colour, the others
   are that page's own custom hex values). */
.schaerpe-disc {
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-left: 6px;
	border-radius: 50%;
	vertical-align: middle;
	background-color: transparent;
	border: 5px solid; /* colour set per modifier class below */
}
.schaerpe-disc--rot { border-color: #E82E2F; } /* Elementor global "Accent" colour */
.schaerpe-disc--blau { border-color: #032091; }
.schaerpe-disc--gruen { border-color: #039103; }
.schaerpe-disc--violett { border-color: #B9019D; }
.schaerpe-disc--orange { border-color: #E43E00; }

@media only print {
	
	#BorlabsCookieBoxWidget, .pmpro_actions_nav, section.legal { display: none;}
	.elementor-location-footer .elementor-col-20 { display: none;}
	.elementor-location-footer .elementor-col-20:first-child {display: block;}	
	
	.elementor-location-footer .elementor-col-20 .elementor-element:last-child, .nav-next.alignright {  display: none;}
	.elementor-location-footer { position: absolute; bottom: 0;}
	
	.pmpro_invoice_details	{ flex-flow: row; }
	.pmpro_invoice-billing-address, .pmpro_invoice-payment-method {width: 50%; float: left;}

}

