.pp-row {
	overflow: hidden;
	margin: 0 -20px;
}

[class^='pp-col-'] {
	float: left;
	box-sizing: border-box;
	padding: 0 20px;
	min-height: 1px;
	position: relative;
}

.vertical-center {
	display: flex;
	align-items: center;
}

.horizontal-center {
	justify-content: center;
}

.only-mobile {
	display: none !important;
}

.pp_error {
	color: #DC1216 !important;
}

.pp_link {
	color: #000;
	text-decoration: underline;
}

.pp_link:hover {
	opacity: 0.8;
	color: inherit !important;
}

.float-right {
	float: right;
	margin-left: auto;
}

.offset-left {
	margin-left: 10%;
}

.align-right {
	text-align: right;
}

.pp_form_table {
	display: table;
	width: 100%;
}

.pp_form_tr {
	display: table-row;
}

.pp_form_td {
	display: table-cell;
	padding: 4px;
}

.pp_form_td_label {
	font-weight: bold;
}

.pp_form_td_input {}

.pp-col-1 {
	width: 8.33%
}

.pp-col-2 {
	width: 16.66%
}

.pp-col-3 {
	width: 25%
}

.pp-col-4 {
	width: 33.33%
}

.pp-col-5 {
	width: 41.66%
}

.pp-col-6 {
	width: 50%;
}

.pp-col-7 {
	width: 58.33%;
}

.pp-col-8 {
	width: 66.66%;
}

.pp-col-9 {
	width: 75%;
}

.pp-col-10 {
	width: 83.33%;
}

.pp-col-11 {
	width: 91.66%;
}

.pp-col-12 {
	width: 100%;
}

/*
.pp_wrapper {max-width: 800px; margin:0 auto; overflow: hidden;}
*/

.pp_headline {
	line-height: 1.3em;
}

h3.pp_headline {
	font-size: 26px;
}

h3.pp_headliner {
	font-size: 26px;
	background-color: #22abc5;
	padding: 5px 0px 5px 5px;
}

h4.pp_headliner {
	font-size: 16px;
	background-color: #22abc5;
	padding: 5px 5px 5px 5px;
	display: inline;
}

.pp_group_element {
	padding: 20px;
	margin-top: 20px;
	overflow: hidden;
	background: #f6f6f6;
	border: 1px;
	border-radius: 7px;
}

.pp_button {
	/* background: #eb6b46; */
	background: #22abc5 !important;
	color: #fff !important;
	border-color: #22abc5 !important;
	padding: 20px !important;
	display: inline-block;
	float: right;
	text-align: center;
	border: 1px solid;
	font-size: 16px;
	line-height: 1.3em;
	cursor: pointer !important;
	border-radius: 3px !important;
}

.pp_button_small {
	padding: 7px 20px !important;
}

.pp_button:hover {
	opacity: 0.8;
	text-decoration: none;
}

.pp_button.pp_grey:hover {
	background: #222222;
	color: #fff !important;
}

.pp_amount_button {
	/*background: #dedede;*/
	background: white;
	display: inline-block;
	font-size: 30px;
	line-height: 38px;
	text-align: center;
	cursor: pointer;
	width: 38px;
	height: 38px;
	color: #000;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	/*border-radius: 2px;*/
	border: 1px solid #dedede !important;
	border-radius: 4px;
}

.pp_grey {
	background: #f6f6f6;
	color: #222222 !important;
	border: 1px solid;
	border-radius: 3px;
}

.pp_disabled {
	background: #ccc !important;
	padding: 20px 16px !important;
}

.pp_price {
	margin-right: 20px;
}

.pp_tax_notice {
	font-size: 12px;
	color: #5c5c5c;
	text-align: right;
}

.pp_location_img {
	max-width: 100%;
	height: 80px;
	display: block;
	border: 1px solid #353535;
}

.pp_bottom_navigation {
	margin-top: 20px;
	overflow: hidden;
}

.pp_bottom_navigation .pp_button {
	padding: 10px 40px;
}

.pp_form_select {
	width: 130px !important;
	text-align: center;
	display: inline-block !important;
	border: 1px solid #dedede !important;
	color: #222222 !important;
	background: white !important;
	/*border: none !important;
	color: #222222 !important;
	background: #dedede !important;*/
	margin: 0 10px !important;
	height: 38px !important;
	border-radius: 5px !important;
}

.pp_form_text {
	display: inline-block !important;
	border: 1px solid #dedede !important;
	color: #222222 !important;
	background: white !important;
	margin: 0 0px !important;
	height: 38px !important;
	border-radius: 5px !important;
}

.pp_form_textarea {
	display: inline-block !important;
	border: 1px solid #dedede !important;
	color: #222222 !important;
	background: white !important;
	margin: 0 0px !important;
	border-radius: 5px !important;
}

.pp-form-checkbox label{
	margin-bottom: 0px!important;
}

.pp_form_select option {
	color: #222222 !important;
	text-align: center !important;
	font-size: 1em;
	height: 38px !important;
}

select {
	display: inline-block !important;
	border: 1px solid #dedede !important;
	color: #222222 !important;
	background-color: white !important;
	margin: 0 0px !important;
	height: 38px !important;
	border-radius: 5px !important;
}

input[type=date]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	display: none;
}

input[type=date] {
	display: inline-block !important;
	border: 1px solid #dedede !important;
	color: #222222 !important;
	background-color: white !important;
	margin: 0 0px !important;
	height: 38px !important;
	border-radius: 5px !important;
}

.pp_step_3 .float-right {
	margin-left: auto;
}

.pp_step_3 .pp_price {
	color: #222222;
	display: block;
}

.pp_bottom_navigation .pp_next {
	float: right;
	border-radius: 3px;
}

.pp_step_4 .float-right {
	margin-left: auto;
}

.pp_step_4 .pp_price {
	color: #222222;
	display: block;
}

.page-id-4803 table img {
	border: 1px solid #ccc;
}

.bg_grey {
	background: #f6f6f6;
	border-right: 30px solid #fff !important;
}

.bg_grey:last-child {
	border: none !important;
}

.no_bg {
	background: none;
}

#priceContainer {
	margin-top: 20px;
}

.pp_warenkorb_item {
	background: #f6f6f6;
	margin: 30px 0;
	height: 380px;
	position: relative;
	border-radius: 7px;
}

.pp_warenkorb_item_input {
	text-align: center;
	position: relative;
	height: 50px;
}

.pp_warenkorb_item_preis {
	position: absolute;
	bottom: 10px;
	text-align: center;
	left: 0;
	right: 0;
}

.wpcf7-submit {
	/* background: #eb6b46; */
	margin: 10px 0px !important;
	background: #22abc5 !important;
	color: #fff !important;
	border-color: #22abc5 !important;
	padding: 20px !important;
	display: inline-block !important;
	float: left !important;
	text-align: center !important;
	border: 1px solid !important;
	font-size: 16px !important;
	line-height: 1.3em !important;
	cursor: pointer !important;
	border-radius: 3px !important;
}

.wpcf7-submit:hover {
	opacity: 0.8 !important;
	text-decoration: none !important;
}

.pp_vorkasse_form .pp_form_td_label {
	width: 15%;
	vertical-align: middle;
}

.pp_vorkasse_form .pp_form_td_input {
	width: 85%;
}

.pp_vorkasse_form .pp_form_td_input input {
	margin: 0 !important;
}

.radio_disabled {
	pointer-events: none;
	background-color: #e5e5e5 !important;
}

.pp_wrapper input[type="number"] {
	border-radius: 3px !important;
}

.pp_wrapper input[type=checkbox] {
	position: absolute;
	z-index: -1000;
	left: -1000px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

.pp_wrapper input[type=checkbox]+label {
	padding-left: 55px;
	height: 50px;
	display: inline-block;
	line-height: 50px;
	background-repeat: no-repeat;
	background-position: 0 0;
	font-size: 50px;
	vertical-align: middle;
	cursor: pointer;
	border-radius: 3px;
}

.pp_wrapper input[type=checkbox]:checked+label {
	background-position: 0 -50px;
}

.pp_wrapper label {
	background-image: url(../img/cb.png);
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.pp_wrapper input[type=radio] {
	position: absolute;
	z-index: -1000;
	left: -1000px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

.pp_wrapper input[type=radio]+label.pp_label_radio {
	padding: 20px 20px;
	width: 110px;
	height: 60px;
	display: inline-block;
	font-size: 50px;
	vertical-align: middle;
	cursor: pointer;
	color: #5c5c5c;
	border: 1px solid #ccc;
	border-radius: 3px;
	background-color: white;
}

.pp_wrapper input[type=radio]+label.pp_label_radio:hover {
	background: #dedede;
	opacity: 0.7;
	color: white;
	background-color: #22abc5;
	;
}

.pp_wrapper input[type=radio]:checked+label.pp_label_radio {
	background: #22abc5;
	color: #fff;
	border: 1px solid #22abc5;
}

.pp_wrapper label.pp_label_radio {
	background-image: none;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.pp-stadt-logo {
	height: 50px;
}

.pp-stadt-detail-city {
	min-width: 200px;
}

/* JGA Live Preis Anzeige */

#live-preis {
	color: white;
	position: fixed;
	top: 92%;
	background-color: #3784b5;
	padding: 20px 40px;
	border-radius: 5px;
	z-index: 1;
}

/* JGA */

#contact {
	margin-bottom: 0px !important;
}

#footer {
	position: static;
}

#jga_contact_form_container {
	position: fixed;
	top: 140px;
	z-index: 99;
	background-color: white;
	width: 80%;
	padding: 0px 20px 0px 20px;
}

/* Checkout */

.checkout_error {
	color: red;
	text-align: right;
	margin-bottom: 5px;
}

.error_notification {
	display: none;
	background-color: red;
	width: 50%;
	height: 50px;
	color: white;
	position: fixed;
	z-index: 1;
	left: 25%;
	text-align: center;
	padding: 13px;
	border: 1px solid red;
	border-radius: 7px;
}

.error_border {
	border: 1px solid red;
	border-color: red !important;
	border-radius: 7px;
}

#paypal_plus_place {
	position: relative;
}

.loading {
	display: none;
	position: absolute;
	z-index: 1000;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: rgba( 255, 255, 255, .8) url('../img/ajax-loader.gif') 50% 50% no-repeat;
}

/* When the body has the loading class, we turn
   the scrollbar off with overflow:hidden */

body.loading-animation .loading {
	overflow: hidden;
}

/* Anytime the body has the loading class, our
   modal element will be visible */

body.loading-animation .loading {
	display: block;
}

.loading_placeholder {
	width: 100%;
	height: 100%;
}

.warenkorb_mobil {
	position: fixed;
	bottom: 0%;
	background: #22abc5;
	padding: 15px 20px;
	left: 0%;
	right: 0%;
	border: 1px;
	border-radius: 3px;
	color: white;
}

.warenkorb_mobil_container {
	display: none;
}

.warenkorb_container {
	display: none;
	position: absolute;
	right: 0%;
	/*bottom: 70px;*/
}

#rabattrow {
	margin-bottom: 0px!important;	
}

#rabattcode {
	margin: auto !important;
	width: 50% !important;
	padding: 10px !important;
	background-color: white !important;
	border: 1px solid lightgray !important;
}

.rabatt_check {
	padding: 6px;
	margin-right: 20px;
}

.zahlart_radio {
	text-align: center;
	width: 100% !important;
}

.checkout_button {
	padding: 18px !important;
	width: 100%;
	height: 60px;
	margin-bottom: 40px;
}

.checkout_button_mobile {
	padding: 18px !important;
	width: 100%;
	height: 60px;
	margin-bottom: 40px;
	display: none;
}

/*paypal popup */

/* The actual popup (appears on top) */

#paypal_notice {
	display: none;
	max-width: 800px;
	background-color: white;
	color: orange;
	text-align: left;
	border-radius: 6px;
	padding: 30px 30px;
	position: fixed;
	z-index: 2;
	bottom: 40%;
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
}

#paypal_notice_background {
	display: none;
	z-index: 1;
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: #5c5c5c;
	opacity: 0.5;
	bottom: 0;
	left: 0;
}

/*Overlay bei JGA Anfrage */

/* to the body element */

.noscroll {
	overflow: hidden;
	margin: 0;
	height: 100%;
}

[aria-hidden="true"] {
	display: none;
}

[aria-hidden="false"] {
	display: block;
}

.overlay {
	position: fixed;
	overflow-y: scroll;
	top: 140px;
	right: 250px;
	bottom: 20px;
	left: 250px;
	padding: 10px 20px 10px 20px;
	z-index: 5;
	background: white;
}

.overlay-background {
	display: none;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 5;
	background: rgba(40, 40, 40, .75) !important;
}

.close-overlay {
	font-size: 25px;
	position: fixed;
	right: 270px;
	z-index: 6;
}

.close-overlay:hover {
	cursor: pointer;
}

#vvk_request_form .cf7sr-g-recaptcha :first-child{
	margin-left: auto !important;
	margin-right: auto !important;
}

#vvk_request_form .wpcf7-submit{
	margin-left: 25% !important;
}


#vvk_request_form select, #vvk_request_form input[type=date], #vvk_request_form input[type=text], #vvk_request_form input[type=number], #vvk_request_form input[type=email] {
	height: 43px !important;
}

/* Popup arrow */

/* #paypal_notice::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: #22abc5 transparent transparent transparent;
} */

@media only screen and (max-width: 1310px) {
	#jutebeutel_select {
		width: 60px !important;
	}
}

@media only screen and (max-width: 991px) {
	.warenkorb_mobil_container {
		display: block;
	}
	.warenkorb_container {
		position: relative !important;
		right: 0%;
		/*bottom: 0px;*/
	}
	.checkout_button {
		display: none !important;
	}
	.checkout_button_mobile {
		display: block !important;
	}
	.overlay {
		right: 150px;
		left: 150px;
	}
	.close-overlay {
		right: 170px;
	}
}

@media only screen and (max-width: 850px) {
	/*.pp_form_table {display: block;}
.pp_form_tr {display:block; margin-bottom: 20px;}
.pp_form_td {display:inline-block; width:100% !important;}

.basket_table_middle {display: none !important;}
.only-mobile {display: block !important;}

.basket_table_middle .align-right {text-align: left;}
	.basket_table_bottom .align-right, .mobile-visible {text-align: left; display: block !important;}*/
	/*.basket_table_bottom .pp_form_td {display:none;}*/
	#paypal_notice {
		margin-left: 10px;
		margin-right: 10px;
	}
}

@media only screen and (max-width: 767px) {
	/* Add your Mobile Styles here */
	h3.pp_headliner {
		font-size: 20px;
		background-color: #22abc5;
		padding: 5px 0px 5px 5px;
	}
	h3.pp_headline {
		font-size: 20px;
	}
	h4.pp_headline {
		font-size: 16px;
	}
	h4.pp_headliner {
		font-size: 16px;
		background-color: #22abc5;
		padding: 5px 5px 5px 5px;
	}
	.inner-container {
		height: 10%
	}
	#jutebeutel_select {
		width: 40px !important;
	}
	.overlay {
		top: 0xp;
		right: 50px;
		left: 50px;
	}
	.close-overlay {
		right: 70px;
	}
	
	#onlinevvk-customer-contact .pp_form_td_input {
		max-width: 100%!important;
	}
	
}

@media only screen and (max-width: 650px) {
	#jutebeutel_select {
		width: 50% !important;
	}
	.pp_wrapper label.pp_label_radio {
		margin-left: 0 !important;
		margin-right: 20px;
	}
	.offset-left {
		margin-left: 0;
		margin-bottom: 10px;
	}
	.pp_wrapper h1 {
		font-size: 24px;
	}
	[class^='pp-col-'] {
		width: 100% !important;
		float: none !important;
	}
	.pp_step_4 .pp-col-4 {
		margin-bottom: 30px;
	}
	.pp_button {
		width: 100%;
		/*float: none;*/
		padding: 10px 20px;
		display: block;
		margin-top: 10px;
		border: 1px solid;
		border-radius: 3px;
		border-color: #22abc5 !important;
	}
	.pp_price {
		display: block;
	}
	.pp_group_element .vertical-center {
		display: block;
	}
	.pp_bottom_navigation .pp_button {
		margin-left: 0;
	}
	.pp_location_img {
		margin: 0 0 10px 10px;
		float: right;
	}
	.pp_form_select {
		width: 50% !important;
		text-align: center;
		margin: 0 5%!important;
		float: left;
	}
	.pp_amount_button {
		display: inline-block;
		width: 20%;
		float: left;
	}
	.pp-stadt-detail-city {
		min-width: 1px;
	}
	.pp-stadt-detail-table td, .pp-stadt-detail-table tr {
		display: block;
	}
	.pp-stadt-detail-tickets {
		width: 100% !important;
	}
	#rabattcode {
		width: 100% !important;
	}
	.rabatt_check {
		margin-right: 0px;
	}
	.checkbox_mobile {
		text-align: right;
	}
	.pp_warenkorb_item {
		height: 500px;
	}
	.mobile_warenkorb_item_container {
		padding: 0px;
	}
	#paypal_notice {
		right: 0%;
	}
	.pp-form-checkbox {
		display: flex !important;
	}
	.pp-form-checkbox .pp-col-float:first-child{
		flex-basis: 80%;
	}
	.pp-form-checkbox .pp-col-float:last-child{
		flex-basis: 20%;
	}
	
}

@media only screen and (max-width: 400px) {
	.pp_wrapper label.pp_label_radio {
		margin: 0 0 20px 0 !important;
		width: 100%;
		display: block;
		text-align: center;
	}
	.pp_warenkorb_item {
		height: 400px;
	}
}