/*
 Theme Name:   Hello Elementor Child
 Description:  RP07
 Author:       RP07
 Author URI:   https://www.rp07.de
 Template:     hello-elementor
 Version:      1.0
 Text Domain:  hello-elementor
*/

/****************************************************************************************************************/
/*************************************************** ALLGEMEIN **************************************************/
/****************************************************************************************************************/

html
{
    scroll-behavior: smooth;
}

body{
	display: flex;
	flex-flow:column;
	min-height:100vh;
}

.elementor-location-header + * {
  	flex-grow: 1;
}

table {
	text-align:center;
}
table th, table td {
	vertical-align:baseline;
}

.elementor-button{
	width:100%;
}

.jet-listing-grid .jet-listing-grid__slider .jet-slick-dots li {
  border-radius: 0;
}

.checkbox_rental{
	accent-color:var( --e-global-color-accent );
	height:16px;
	width:16px;
	margin-left: calc( 10px/2 );
	margin-right: calc( 10px/2 );
}

/*button {
    color: black;
    font-size: 1rem;
    font-weight: 700;
    border: 2px solid #FFCC00;
    background-color: #fff;
    cursor: pointer;
    letter-spacing: 0.6px;
    padding: 10px;
}

button:hover {
    background-color: #FFCC00;
	color: black;
}*/

#inventory-table {
	text-align:center;
}

.hidden-row {
    display: none;
}

/****************************************************************************************************************/
/*************************************************** MOBILE *****************************************************/
/****************************************************************************************************************/

.elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 1600px;
}

p:last-of-type{
    margin-bottom: 0;
}

.elementor .rp_grid_2 > div,
.elementor .rp_grid_3 > div,
.elementor .rp_grid_4 > div{
	gap: 2rem;
    display: grid;
    grid-template-columns: 1fr;
}

.elementor .rp_grid_2 > div > div,
.elementor .rp_grid_3 > div > div,
.elementor .rp_grid_4 > div > div{
    width: 100%;
}

.elementor .rp_flexgrow .elementor-widget-wrap{
    flex-flow: column;
}

.elementor .rp_flexgrow .elementor-widget-text-editor{
    flex-grow: 1;
}

.elementor .elementor-top-section:not(.elementor-section-full_width),
.elementor .elementor-section-full_width .elementor-inner-section{
	padding-left: 1rem;
	padding-right: 1rem;
}

.elementor .elementor-top-section .elementor-top-section{
	padding-left: unset;
	padding-right: unset;
}

.elementor-fit-aspect-ratio .elementor-video-iframe{
	background-color: var( --e-global-color-text );
}

/****************************************************************************************************************/
/*************************************************** TABLET *****************************************************/
/****************************************************************************************************************/

@media only screen and (min-width: 768px){
	.elementor .rp_grid_3 > div,
	.elementor .rp_grid_4 > div{
		gap: 4rem;
		grid-template-columns: 1fr 1fr;
	}
	
	.elementor .rp_headline_2lines h2{
		min-height: 2.6em;
	}
	
	.elementor .elementor-top-section:not(.elementor-section-full_width),
	.elementor .elementor-section-full_width .elementor-inner-section{
		padding-left: 4rem;
		padding-right: 4rem;
	}
	
	.elementor .elementor-top-section .elementor-top-section{
		padding-left: unset;
		padding-right: unset;
	}
}

/******************************************************************************************************/
/******************************************** LAPTOP **************************************************/
/******************************************************************************************************/

@media only screen and (min-width: 1200px){	
	.elementor .rp_grid_2 > div{
		gap: 4rem;
		grid-template-columns: 1fr 1fr;
	}
	
	.elementor .rp_grid_3 > div{
		gap: 4rem;
		grid-template-columns: 1fr 1fr 1fr;
	}
	
	.elementor .elementor-button{
		padding: 1rem 1.5rem;
	}
}

/****************************************************************************************************************/
/*************************************************** DESKTOP ****************************************************/
/****************************************************************************************************************/

@media only screen and (min-width: 1400px){
	.elementor .rp_grid_2 > div{
		gap: 16rem;
	}
	
	.elementor .rp_grid_4 > div{
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
	
	.elementor .elementor-top-section:not(.elementor-section-full_width),
	.elementor .elementor-section-full_width .elementor-inner-section{
		padding-left: 2rem;
		padding-right: 2rem;
	}
	
	.elementor .elementor-top-section .elementor-top-section{
		padding-left: unset;
		padding-right: unset;
	}
}

/****************************************************************************************************************/
/**************************************************** MENU ******************************************************/
/****************************************************************************************************************/

/****************************************************************************************************************/
/*************************************************** MOBILE *****************************************************/
/****************************************************************************************************************/

.widget_menu .menu {
    display: flex;
    flex-flow: row;
    justify-content: flex-end;

	font-family: var( --e-global-typography-6ea6f81-font-family ), Sans-serif;
    font-size: var( --e-global-typography-6ea6f81-font-size );
    font-weight: var( --e-global-typography-6ea6f81-font-weight );
    line-height: var( --e-global-typography-6ea6f81-line-height );
    letter-spacing: var( --e-global-typography-6ea6f81-letter-spacing );
    word-spacing: var( --e-global-typography-6ea6f81-word-spacing );
}

.widget_menu .menu,
.widget_menu .menu ul {
    list-style-type: none;
    padding: 0;
}

.widget_menu li {
    position: relative;
    padding: 0;
}

.widget_menu .menu > li > .sub-menu {
    display: none;
    position: absolute;
    box-shadow: 0px 0px 10px 4px #00000033;
    transition: opacity .3s ease, visibility .1s linear;
}

.widget_menu .menu > li > .sub-menu .sub-menu {
    display: none;
    position: absolute;
    left: 100%;
    top: 0;
    box-shadow: 0px 0px 10px 4px #00000033;
}

.widget_menu .menu > li.menu-hovered > .sub-menu,
.widget_menu .menu > li > .sub-menu li.menu-hovered > .sub-menu {
    display: block;
}

.widget_menu .menu-item{
	margin: 0.5rem 2.5rem;
}

.widget_menu .menu .menu-item a {
	display: inline-block;
	padding: 0.5rem 0;
}

.widget_menu .menu .menu-item a:hover {
	color: var( --e-global-color-accent );
}

/****************************************************************************************************************/
/*************************************************** DESKTOP ****************************************************/
/****************************************************************************************************************/

@media only screen and (min-width: 1220px) {
    .widget_menu .menu-item {
        margin: 0;
    }

	.widget_menu .menu-item:not(:last-child) {
    	margin: 0 2.5rem 0 0;
	}

	.widget_menu .menu-item a{
		border-bottom: 2px solid transparent;
	}
	
	.widget_menu .menu-item a:hover{
		border-bottom: 2px solid var( --e-global-color-primary );
	}

    .widget_menu .menu .menu-item a:hover {
        color: unset;
    }
}

/* Hamburger Menu */

.elementor-shortcode .hamburger-menu-button span.line {
    background-color: var( --e-global-color-primary );
    height: 3px;
    width: 100%;
    position: absolute;
    top: 3px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.elementor-shortcode .hamburger-menu-button span.line + span.line {
    top: 9px;
    opacity: 1;
}

.elementor-shortcode .hamburger-menu-button span.line + span.line + span.line {
    top: 15px;
}

.elementor-shortcode .hamburger-menu-button {
    height: 21px;
    width: 20px;
    position: relative;
    z-index: 1;
    display: none;
	
	margin: 0 5px 0 auto;
    padding: 5px;
    box-sizing: content-box;
	
	cursor: pointer;
}

.elementor-shortcode .hamburger-menu-button:hover span.line {
	background-color: var( --e-global-color-accent );
}

.elementor-shortcode .hamburger-menu-button > div {
	position: relative;
}

@media only screen and (max-width: 1219px) {
    .widget_menu .menu {
        position: fixed;
        flex-flow: column;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: var( --e-global-color-text );
        width: 100vw;
        padding: 70px 0 40px 0;
        transform: translateX(100%);
        transition: transform 0.3s ease;
		justify-content: flex-start;
		overflow-y: auto;
		z-index: 99;
    }

    .open .widget_menu .menu {
        transform: translateX(0%);
        transition: transform 0.3s ease;
		z-index: 999;
    }
	
	.widget_menu li {
		margin: 0.2rem;
	}

    .menu-open {
        overflow: hidden;
    }

    .open .hamburger-menu-button span.line {
        transform: translateY(6px) rotate(45deg);
        transition: transform 0.3s ease, opacity 0.3s ease;
    }
    
    .open .hamburger-menu-button span.line + span.line {
        opacity: 0;
        transform: none;
    }

    .open .hamburger-menu-button span.line + span.line + span.line {
        opacity: 1;
        transform: translateY(-6px) rotate(-45deg);
    }

	.open .hamburger-menu-button {
        z-index: 1000;
		position: fixed;
		top: 20px;
		right: 20px;
		margin: 0;
    }
	
	.elementor-shortcode .hamburger-menu-button {
        display: block;
    }
}

/*************************************************************************************************************************************************************/
/******************************************** SLIDER *********************************************************************************************************/
/*************************************************************************************************************************************************************/

/******************************************************************************************************/
/******************************************** MOBIL ***************************************************/
/******************************************************************************************************/

.slider_widget
{
    overflow: hidden;
    display: flex;
    width: 100vw;
}

.slider_widget .slider_items
{
    display: flex;
    flex-flow: row;
    position: relative;
    top: 0;
    left: -420px;
}

.slider_items.shifting 
{
    transition: left .2s ease-out;
}

.slider_items.shifting.slow{
	transition: left 1s ease;
}

.slider_item 
{
    width: 420px;
    height: auto;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: all 1s;
    position: relative;
    border-radius: 2px;
	padding-right: 2rem;
    justify-content: flex-start;
}

.slider_item .slider_item_content {
	display: flex;
    flex-flow: column;
	flex-grow: 1;
	margin-top: 1rem;
}

.slider_item .slider_item_content p {
	flex-grow: 1;
	margin-bottom: 20px;
}

.slider_item .slider_item_content a {
	
}

.slider_item .slider_img
{
    height: 250px;
}

.slider_item .slider_img img
{
    height: 100%;
    width: 100%;
    object-fit: cover;
}

/******************************************************************************************************/
/******************************************** TABLET **************************************************/
/******************************************************************************************************/

@media only screen and (min-width: 768px){
	.slider_item .slider_img
	{
		height: 300px;
	}
	
	.slider_arrow_navigation.mobile{
		display: none;
	}
}

/******************************************************************************************************/
/******************************************** LAPTOP **************************************************/
/******************************************************************************************************/

@media only screen and (min-width: 1200px){

}

/******************************************************************************************************/
/******************************************** DESKTOP *************************************************/
/******************************************************************************************************/

@media only screen and (min-width: 1400px){
	.slider_item .slider_img
	{
		height: 500px;
	}
}
/****************************************************************************************************************/
/****************************************** SHOPPINGCART TABELLE ************************************************/
/****************************************************************************************************************/

/****************************************************************************************************************/
/*************************************************** MOBILE *****************************************************/
/****************************************************************************************************************/

.shopping_table > tbody > tr > td > button{
	padding: 5px;
  	font-size: 0.8em;
}

.removeFromCart{
	display:none;
}

.removeFromCartMobile{
	display:table-cell;
}

.shopping_table > tbody > tr > td > input{
	padding: 5px;
  	font-size: 1em;
	max-width:60px;
}

.td_quantity{
	width:60px;
}

.shopping_table > thead > tr > th{
	font-size:0.8em;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	padding: 5px;
}

.shopping_table > tbody > tr > td{
	font-size:0.8em;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	padding: 5px;
	vertical-align:middle;
}

.table_btn{
	width:100%;
	margin: 0.5rem 0;
	font-size:0.9em;
}

.popUpCart{
	display:none;
	position: fixed; 
	top: 50%; 
	left: 50%; 
	transform: translate(-50%, -50%); 
	background-color: white; 
	padding: 5px; 
	border: 2px solid var(--e-global-color-accent);
	width: 100%;
	vertical-align:middle;
	text-align:center;
	box-shadow: 2px 2px 10px rgb(0, 0, 0);
}

/****************************************************************************************************************/
/*************************************************** TABLET *****************************************************/
/****************************************************************************************************************/

@media only screen and (min-width: 768px){
	.shopping_table > tbody > tr > td > button{
		padding: 0.5rem 1rem;
		font-size: 1.1em;
	}
	
	.popUpCart{
		display:none; 
		padding: 20px; 
		width: 20%;
	}
	
	#form-page-1 > div {
		display:flex;
		flex-flow:row;
		gap:1rem;
		width:100%;
	}
	
	.td_quantity{
		width:unset;
	}
	
	.removeFromCart{
		display:table-cell;
	}
	
	.removeFromCartMobile{
		display:none;
	}
	
	.shopping_table > tbody > tr > td{
		-webkit-hyphens: none;
		-ms-hyphens: none;
		hyphens: none;
		font-size:1em;
		padding: 15px;
	}
	
	.shopping_table > thead > tr > th{
		font-size:1em;
		-webkit-hyphens: none;
		-ms-hyphens: none;
		hyphens: none;
		padding: 15px;
	}
	
	#form-page-1 > div > button{
		font-size: 1.1em;
		width:320px;
		padding: 1rem 1.5rem;
	}
	
	.addToCart{
		padding: 1rem 1.5rem;
	}
}

/******************************************************************************************************/
/******************************************** LAPTOP **************************************************/
/******************************************************************************************************/

@media only screen and (min-width: 1200px){	
	
}

/****************************************************************************************************************/
/*************************************************** DESKTOP ****************************************************/
/****************************************************************************************************************/

@media only screen and (min-width: 1400px){
	
}
