/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-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
*/

/**
 * Resets 
 **/

p:last-child, 
.elementor-widget:last-child,
.site-content ul:last-child, 
.site-content ol:last-child, 
.site-footer ul:last-child, 
.site-footer ol:last-child {
   margin-bottom: 0 !important;
}

/* Fix Google Search Console "mobile usability issues" */
:where(body, iframe, pre, img, svg, video, canvas, select) {
	max-width: 100%;
	overflow: auto;
	word-break: break-word;
}

/* Header */
.rit-header .uael-nav-menu li.menu-item a {
	
}

/* Footer */
.rit-footer a {
	color: #fff !important;
	font-weight: 400 !important;
}

.rit-footer a:hover {
	color: #03773D !important;
}

/* Headlines, Emphasizes, Pseudo-Elements */
em {
  font-family: 'Schibsted Grotesk', serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: -2px;
	line-height: 1em;
}

.rit-h2::after {
  content: '';
  display: block;
  position: relative;
  width: 2rem;
  height: 3px;
  background-color: #142418;
  left: calc(100% + .5rem);
  top: -0.9rem;
}

.rit-h2--accent::after {
  content: '';
  display: block;
  position: relative;
  width: 2rem;
  height: 3px;
  background-color: #142418;
  left: 0;
  top: 1rem;	
}

.banner-circle {
  transition: all .5s ease-in-out;	
}

.banner-circle:hover {
  transform: rotate(-5deg);
  transition: all .5s ease-in-out;	
}

.rit-ticket-container .elementor-icon svg {
  transition: all .5s ease-in-out;
}

.rit-ticket-container:hover .elementor-icon svg {
  transform: rotate(-45deg);
  transition: all .5s ease-in-out;
}

#rit-ticket .rit-ticket-container em {
  font-size: 38px;
  letter-spacing: -2px;
}

#rit-programm .rit-programm-headline::after {
  content: '';
  display: block;
  position: relative;
  width: 100%;
  height: 2px;
  background-color: #142418;
  right: 0;
  top: -0.9rem;	
}

#rit-programm .rit-programm-headline.freitag::after {
	/*
  left: 6rem;
  width: calc(100% - 6rem);
	*/
  left: 14.5rem;
  width: calc(100% - 14.5rem);
}

#rit-programm .rit-programm-headline.samstag::after {
	/*
  left: 7.5rem;
  width: calc(100% - 7.5rem);
	*/
	
  left: 16rem;
  width: calc(100% - 16rem);
}

#rit-programm .rit-programm-headline.sonntag::after {
	/*
  left: 7.5rem;
  width: calc(100% - 7.5rem);
	*/
  left: 14rem;
  width: calc(100% - 14rem);
}


#rit-hero .rit-hero--accent-headline::after {
  content: '';
  display: block;
  position: relative;
  width: calc(100% - 134px);
  height: 1px;
  background-color: #fff;
  left: 134px;
  top: -7px;
}

/* Logo */
body.home .elementor-widget-theme-site-logo {
  opacity: 0;
}

body.home .rit-header {
  height: 6rem;
}

/* Off-Canvas Menu */
.rit-off-canvas li {
  text-align: center;
}

.rit-off-canvas li a {
  font-weight: 400 !important;
}

#menu-hauptmenue-1 {
  padding-top: 2rem;
  padding-left: 0;
}

/* Webshop - Übersicht */
.elementor-wc-products ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;	
}

.elementor-wc-products ul.products li.product .button {
  width: fit-content !important;
}

.product p.wc-gzd-additional-info {
  display: none;
}

/* Webshop Detail */
.shop-detail--kategorie .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text a {
  font-weight: 400;
}

.shop-detail--text p {
  padding-bottom: 1rem;
}

.shop-detail--text ul {
  list-style: none;
  padding: 0;
}

.shop-detail--text ul li {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.shop-detail--text ul li::before {
  content: '';
  position: relative;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("/wp-content/uploads/Icon-akar-arrow-right.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

/* Warenkorb */
@media (max-width: 560px) { 
	.woocommerce-message {
		display: flex;
    	flex-direction: column;
		gap: .5rem;
	}
	
	.button.wc-forward {
  		order: 3;
   		width: fit-content;
	}
}
.elementor-menu-cart__product-name {
  align-self: end;
} 

.elementor-menu-cart__product-price {
  align-self: start;	
}

.elementor-menu-cart__footer-buttons {
  display: flex !important;
	flex-direction: column !important;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-mini-cart .elementor-menu-cart__container {
  position: absolute;
  width: auto;
  height: auto;
  overflow: visible;
  top: 100%;
  bottom: auto;
  background: none;
  min-width: 430px;
  right: 0 !important;
  left: auto;
  transform: scale(1);
  transition: background-color .4s, transform 0s;
}

@media (max-width: 767px) {
    .elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-mini-cart .elementor-menu-cart__container {
        min-width: 300px !important;
    }
}

	.elementor-menu-cart__product-image img {
		display: block;
		border-radius: 18px;
	}	

@media (max-width: 767px) {
    .elementor-widget-woocommerce-cart .woocommerce table.cart tr {
        padding: 0;
    }
	
	.elementor-widget-woocommerce-cart .woocommerce table.cart tr:nth-child(1) {
		padding-bottom: 1rem;
	}
	
	.elementor-widget-woocommerce-cart .woocommerce table.cart tr:nth-child(2) {
		padding-top: 1rem;
	}
}

/* Kasse */
.wc-gzd-cart-item-thumbnail {
  display: none;
}

.woocommerce-checkout-review-order-table tfoot tr th {
  font-size: 16px !important;
}

.elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment .payment_methods .payment_box {
  background-color: #f9fafa;
  border-radius: 18px;
}

.elementor-widget-woocommerce-checkout-page .woocommerce .shop_table {
  border-radius: 18px;
}

/* Bestellungseingang */
.woocommerce .woocommerce-customer-details address {
  font-style: normal;
  margin-bottom: 0;
  border: 1px solid rgba(0, 0, 0, .1);
  border-bottom-width: 1px;
  border-right-width: 1px;
  text-align: left;
  width: 100%;
  box-sizing: border-box;
  border-radius: 18px;
  padding: 2rem;
  height: 100% !important;
  font-family: 'Schibsted Grotesk';
  font-size: 16px;
  line-height: 1.4em;
  color: #142418;
}

.woocommerce .woocommerce-customer-details .woocommerce-column__title,
.woocommerce .woocommerce-order-details__title {
  margin-top: 0;
  letter-spacing: -1.5px;
  color: #142418;
}

.elementor-widget-woocommerce-checkout-page .woocommerce .shop_table {
  margin-bottom: 0;
  border: 0;
  font-size: 16px;
  padding: 2rem;
  background-color: #F4F4F4;
  border-radius: 18px !important;
  font-family: 'Schibsted Grotesk';
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details thead tr {
  font-size: 24px;
  border-radius: 18px !important;
  font-family: 'Schibsted Grotesk';	
  color: #142418;
  text-transform: uppercase;
}

@media (max-width: 767px) {
	.elementor-widget-woocommerce-checkout-page .woocommerce .shop_table {
	  font-size: 14px;
	  padding: 1rem;
	}	
	
	.woocommerce .woocommerce-customer-details .woocommerce-column__title,
	.woocommerce .woocommerce-order-details__title {
	  font-size: 24px;
	}
	
	.woocommerce-table.woocommerce-table--order-details.shop_table.order_details thead tr {
    font-size: 16px;
 }
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot tr th,
.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot tr td {
  border-top: 1px solid #dadada;
  color: #142418;
}

.woocommerce-order {
  font-family: 'Schibsted Grotesk';		
}

.woocommerce-order .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
  text-align: center;
  padding-bottom: 3rem;
  font-size: 20px;
  color: #142418;
}

.woocommerce ul.order_details {
  margin: 0 0 3em;
  list-style: none;
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  padding: 0;
}

.woocommerce ul.order_details li {
  float: left;
  margin-right: 0em;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 1;
  border-right: 1px solid #dadada;
  padding-right: 3.5rem;
  margin-left: 0;
  padding-left: 0;
  list-style-type: none;
  color: #142418;
}

@media (max-width: 1230px) {
	.woocommerce ul.order_details li {
	  padding-right: 2rem;
	}	
}

@media (max-width: 1030px) {
	.woocommerce ul.order_details li {
	  padding: 1rem;
	}
	
	.woocommerce ul.order_details {
		justify-content: flex-start;
		flex-wrap: wrap;
	}
}

/* Woocommerce Messages */
.woocommerce-error {
  border-top-color: #000;
}

.woocommerce-error::before {
  content: "\e016";
  color: #000;
}

.woocommerce-message,
.woocommerce-info {
    border-top-color: #03773D;
}

.woocommerce-message::before {
    content: "\e015";
    color: #03773D;
}

.woocommerce-info::before {
    color: #03773D;
}

.woocommerce-page .woocommerce-message .button,
.button.wc-backward {
  font-size: 16px !important;
  border-radius: 18px !important;
  font-family: 'Schibsted Grotesk';	
  color: #fff !important;
  background-color: #000 !important;
  text-transform: uppercase;
  font-weight: 400 !important;
  transition: background-color .3s ease-in-out;
}


.woocommerce-page .woocommerce-message .button:hover,
.button.wc-backward:hover {
  background-color: #03773D !important;
  transition: background-color .3s ease-in-out;
}