/****** VARIABLES ******/

//@plugin "less-plugin";
//@ui-icon-plus: ui-icon-plus();
@transition_duration: 0.25s;


/****** HTML, BODY ******/

body {
	overflow-x: hidden !important;
	-webkit-text-size-adjust: none;
}

* {
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
}

.ready/* , .pace-done */ {
	background: white;
	overflow-y: auto;

	[data-elementor-type="header"], [data-elementor-type="archive"], [data-elementor-type="product"], [data-elementor-type="single-page"], [data-elementor-type="footer"], [data-elementor-type="error-404"], [data-elementor-type="search-results"], #content {
		opacity: 1;
	}
}


/****** TYPOGRAPHY ******/

h1, h2, h3, h4, h5, p {
	cursor: text;
}


/****** MIXINS ******/

.mixin_typography_big_headline() {
	font-family: var(--e-global-typography-e69bdae-font-family ), Sans-serif;
    font-size: var(--e-global-typography-e69bdae-font-size );
    font-weight: var(--e-global-typography-e69bdae-font-weight );
    text-transform: var(--e-global-typography-e69bdae-text-transform );
    font-style: var(--e-global-typography-e69bdae-font-style );
    -webkit-text-decoration: var(--e-global-typography-e69bdae-text-decoration );
            text-decoration: var(--e-global-typography-e69bdae-text-decoration );
    letter-spacing: var(--e-global-typography-e69bdae-letter-spacing );
    word-spacing: var(--e-global-typography-e69bdae-word-spacing );
}

.mixin_typography_primary() {
	font-family: var(--e-global-typography-primary-font-family ), Sans-serif;
    font-size: var(--e-global-typography-primary-font-size );
    font-weight: var(--e-global-typography-primary-font-weight );
    text-transform: var(--e-global-typography-primary-text-transform );
    font-style: var(--e-global-typography-primary-font-style );
    -webkit-text-decoration: var(--e-global-typography-primary-text-decoration );
            text-decoration: var(--e-global-typography-primary-text-decoration );
    letter-spacing: var(--e-global-typography-primary-letter-spacing );
    word-spacing: var(--e-global-typography-primary-word-spacing );
}

.mixin_typography_secondary() {
	font-family: var(--e-global-typography-secondary-font-family ), Sans-serif;
    font-size: var(--e-global-typography-secondary-font-size );
    font-weight: var(--e-global-typography-secondary-font-weight );
    text-transform: var(--e-global-typography-secondary-text-transform );
    font-style: var(--e-global-typography-secondary-font-style );
    -webkit-text-decoration: var(--e-global-typography-secondary-text-decoration );
            text-decoration: var(--e-global-typography-secondary-text-decoration );
    letter-spacing: var(--e-global-typography-secondary-letter-spacing );
    word-spacing: var(--e-global-typography-secondary-word-spacing );
}

.mixin_typography_text() {
	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 );
    text-transform: var(--e-global-typography-text-text-transform );
    font-style: var(--e-global-typography-text-font-style );
    -webkit-text-decoration: var(--e-global-typography-text-text-decoration );
            text-decoration: var(--e-global-typography-text-text-decoration );
    letter-spacing: var(--e-global-typography-text-letter-spacing );
    word-spacing: var(--e-global-typography-text-word-spacing );
}

/* .mixin_typography_small_text() {
	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 );
    text-transform: var(--e-global-typography-text-text-transform );
    font-style: var(--e-global-typography-text-font-style );
    -webkit-text-decoration: var(--e-global-typography-text-text-decoration );
            text-decoration: var(--e-global-typography-text-text-decoration );
    letter-spacing: var(--e-global-typography-text-letter-spacing );
    word-spacing: var(--e-global-typography-text-word-spacing );
} */

.mixin_typography_accent() {
	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 );
    text-transform: var(--e-global-typography-accent-text-transform );
    font-style: var(--e-global-typography-accent-font-style );
    -webkit-text-decoration: var(--e-global-typography-accent-text-decoration );
            text-decoration: var(--e-global-typography-accent-text-decoration );
    letter-spacing: var(--e-global-typography-teaccentxt-letter-spacing );
    word-spacing: var(--e-global-typography-accent-word-spacing );
}

.mixin_typography_big_button_label() {
	font-family: var(--e-global-typography-6bb8d6c-font-family ), Sans-serif;
    font-size: var(--e-global-typography-6bb8d6c-font-size );
    font-weight: var(--e-global-typography-6bb8d6c-font-weight );
    text-transform: var(--e-global-typography-6bb8d6c-text-transform );
    font-style: var(--e-global-typography-6bb8d6c-font-style );
    -webkit-text-decoration: var(--e-global-typography-6bb8d6c-text-decoration );
            text-decoration: var(--e-global-typography-6bb8d6c-text-decoration );
    letter-spacing: var(--e-global-typography-6bb8d6c-letter-spacing );
    word-spacing: var(--e-global-typography-6bb8d6c-word-spacing );
}


/****** KACHELN ******/

body {
	.mixin_tennis_tile_button() {
		.mixin_typography_accent();
		display: inline-block;
		padding: 12px 30px;
		border: thin solid currentColor;
		border-radius: 0;
		margin-top: 10px;
		margin-bottom: 65px;
		transition: all @transition_duration;

		&:hover {
			margin-top: 8px;
			margin-left: -2px;
			background: yellow;
			border: thin solid yellow;
			box-shadow: 2px 2px 0px 0px black;
		}

		&:active {
			box-shadow: none;
			margin-top: 10px;
			margin-left: 0;
		}
	}


	.tennis_tiles_outercontainer {

		.tennis_tiles_inner_container {

			display: flex;
			flex-wrap: wrap;
			gap: 70px;

			

			&.alternating {

				display: flex;
				flex-wrap: wrap;
				gap: 70px;

				.tennis_tile_outer_container {
					

					.tennis_tile_inner_container {
						background: white;
						padding: 40px;
						text-align: center;

						* {
							text-align: center;
							color: var( --e-global-color-accent );
						}
						
						.tennis_tile_content_container {
							.tennis_tile_subtitle {
								.mixin_typography_accent();
								margin-bottom: 0px;
							}
							.tennis_tile_headline {
								.mixin_typography_secondary();
							}
							.tennis_tile_excerpt {
								.mixin_typography_accent();
							}
							.tennis_tile_button {
								.mixin_tennis_tile_button();
							}
						}

						.tennis_tile_image_container {
							margin: 0 -40px -40px -40px;
							padding-top: 80%;
							position: relative;

							.tennis_tile_image {
								position: absolute;
								top: 0;
								left: 0;
								width: 100%;
								height: 100%;
								object-fit: cover;
							}
						}
					}

					&:nth-of-type( 3n - 2 ), &:nth-of-type( 3n - 1 ) {
						width: calc( 50% - 35px);
					}

					&:nth-of-type( 3n ) {

						width: 100%;

						.tennis_tile_inner_container {
							display: flex;
							.tennis_tile_content_container {
								width: 40%;
							}

							.tennis_tile_image_container {
								padding-top: 50%;
								margin: -40px -40px -40px 40px;
								width: 60%;
								position: relative;

								.tennis_tile_image {
									position: absolute;
									top: 0;
									left: 0;
									width: 100%;
									height: 100%;
									object-fit: cover;
								}
							}
						}
					}
				}

			}

			&.small {

				display: flex;
				flex-wrap: wrap;
				gap: 70px;

				.tennis_tile_outer_container {
					
					width: calc( 50% - 35px);

					.tennis_tile_inner_container {
						background: white;
						padding: 40px;
						text-align: center;

						* {
							text-align: center;
							color: var( --e-global-color-accent );
						}
						
						.tennis_tile_content_container {
							.tennis_tile_subtitle {
								.mixin_typography_accent();
								margin-bottom: 0px;
							}
							.tennis_tile_headline {
								.mixin_typography_secondary();
							}
							.tennis_tile_excerpt {
								.mixin_typography_accent();
							}
							.tennis_tile_button {
								.mixin_tennis_tile_button();
							}
						}

						.tennis_tile_image_container {
							margin: 0 -40px -40px -40px;
							padding-top: 80%;
							position: relative;

							.tennis_tile_image {
								position: absolute;
								top: 0;
								left: 0;
								width: 100%;
								height: 100%;
								object-fit: cover;
							}
						}
					}
				}

			}

			&.wide {

				display: flex;
				flex-wrap: wrap;
				gap: 20px;

				.tennis_tile_outer_container {

					width: 100%;

					.tennis_tile_inner_container {
						background: white;
						padding: 40px;
						text-align: center;
						display: flex;

						* {
							text-align: center;
							color: var( --e-global-color-accent );
						}
						
						.tennis_tile_content_container {
							width: 40%;

							.tennis_tile_subtitle {
								.mixin_typography_accent();
								margin-bottom: 0px;
							}
							.tennis_tile_headline {
								.mixin_typography_secondary();
							}
							.tennis_tile_excerpt {
								.mixin_typography_accent();
							}
							.tennis_tile_button {
								.mixin_tennis_tile_button();
							}
						}

						.tennis_tile_image_container {
							padding-top: 50%;
								margin: -40px -40px -40px 40px;
								width: 60%;
								position: relative;

							

							.tennis_tile_image {
								position: absolute;
								top: 0;
								left: 0;
								width: 100%;
								height: 100%;
								object-fit: cover;
							}
						}
					}
				}
			}
		}
	}

	&[data-elementor-device-mode="tablet"] {
		.tennis_tiles_outercontainer {

			.tennis_tiles_inner_container {
	
				display: flex;
				flex-wrap: wrap;
				gap: 30px;

				&.alternating {
	
					.tennis_tile_outer_container {
	
						&:nth-of-type( 3n - 2 ), &:nth-of-type( 3n - 1 ) {
							width: calc( 50% - 15px);
						}
					}
				}

				&.wide {
					gap: 30px;
				}
			}
		}
	}

	&[data-elementor-device-mode="mobile"] {
		.tennis_tiles_outercontainer {
			.tennis_tiles_inner_container {
				display: block;

				&.alternating, &.wide, &.small {
					.tennis_tile_outer_container {
						width: 100%;
						margin-bottom: 30px;

						.tennis_tile_inner_container {
							display: block;
							padding: 20px;

							.tennis_tile_content_container {
								width: 100%;
							}

							.tennis_tile_image_container {
								width: calc( 100% + 40px );
								margin: 0 -20px -20px -20px;
								padding-top: 80%;
							}
						}
					}
				}
			}
		}
	}
}


/****** HEADER ******/

#header_col {
	height: calc( 100vh - 110px );
}

#header_col_simple {
	height: 60vh;
	min-height: 500px;
}

[data-elementor-device-mode="mobile"] {
	#header_col, #header_col_simple {
		height: calc( 100vh - 60px );
	}
	#header_col_simple {
		
	}
}

[data-elementor-type="header"].elementor-location-header {
	/* position: fixed;
    top: 0;
    left: 0;
	background-color: transparent;
	transition: all 0.3s;
	z-index: 1000; */

	.elementor-widget-ucaddon_fullscreen_navigation_menu {
		z-index: 10000000;
	
		.ue_menu {
			max-width: 550px !important;
			left: unset !important;
			right: 0 !important;

			.ue_inner_menu-box {
				max-width: 550px;
				height: 100%;
				max-height: 650px;
				justify-content: space-between;
				margin-top: 0 !important;

				&>div:nth-of-type(2) {
					display: block !important;
					padding: 20px 70px;
				}

				ul {
					li {
						&:nth-of-type( 4 ) {
							margin-top: 70px;
						}
						&:nth-last-of-type( 2 ) {
							margin-top: 70px;
						}
						&:nth-last-of-type( 2 ), &:last-of-type {
							a {
								.mixin_typography_accent();
								line-height: var(--e-global-typography-accent-line-height );
							}
						}
					}
				}
			}
		}
	}
}


/****** AKKORDEON ******/

.elementor-accordion {
	.elementor-accordion-item {
		&:not( :last-of-type ) {
			border-bottom: 0.5px solid var( --e-global-color-accent ) !important;
		}

		.elementor-tab-title {
			.elementor-accordion-icon.elementor-accordion-icon-right {
				//margin-right: -30px;

				/* * {
					font-size: 14px;
					font-weight: 700;
				} */

				.fas {
					display: none;
				}

				.elementor-accordion-icon-opened:after {
					content: "-";
					position: absolute;
					right: -10px;
					font-family: 'Poppins';
					font-size: 14px;
					font-weight: 400;
				}

				.elementor-accordion-icon-closed:after {
					content: "+";
					position: absolute;
					right: -10px;
					font-family: 'Poppins';
					font-size: 14px;
					font-weight: 400;
				}
			}
		}
	}
}


/****** FOOTER ******/

#site-footer {
	display: none;
}

[data-elementor-type="footer"] {
	.elementor-icon-list-text {
		display: block !important;

		a, a span {
			.mixin_typography_text();
			&:hover {
				color: black;

				span {
					color: currentColor !important;
				}
			}
		}
	}

	a {
		&:hover {
			.elementor-icon-list-text, .elementor-icon-list-icon i {
				color: currentColor;
			}
		}
	}
	
}


/****** IMPRESSUM / DATENSCHUTZ ******/

.impressum, .datenschutz {
	.erecht24-elementor-widget * {
		color: var( --e-global-color-accent );
	}

	h1 {
		.mixin_typography_secondary();
		font-size: 28px;
	}

	h2 {
		.mixin_typography_secondary();
		font-size: 24px;
		margin-top: 40px;
	}

	h3 {
		.mixin_typography_secondary();
		font-size: 20px;
		margin-top: 20px;
	}

	h4 {
		.mixin_typography_secondary();
		font-size: 16px;
		margin-top: 20px;
	}

	p {
		.mixin_typography_text();
		margin-bottom: 40px;
	}

	ul {
		margin-bottom: 40px;
		li {
			.mixin_typography_text();
		}
	}
}


/****** TRAINER ******/

.elementor-widget-template {

	.e-hotspot__tooltip {

		max-width: 350px;
		width: max-content;

		.hotspot_trainer_name {
			.mixin_typography_secondary();
			font-size: 20px;
			margin-bottom: 5px;
			text-align: center;
		}

		.hotspot_trainer_profile {
			.mixin_typography_text();
			line-height: 1.2em;
			text-align: center;
			margin-bottom: 0.5em !important;
		}

		.hotspot_trainer_name, .hotspot_trainer_profile {
			white-space: normal;
		}
	}
}

.tennis_trainer_outer_container {

	.tennis_trainer_inner_container {
		column-width: 50%;
		column-gap: 0;
		columns: 2;

		.tennis_trainer_single_outer_container {
			margin-bottom: 60px;

			&.padding_top {
				padding-top: 50%;
			}
			.tennis_trainer_single_inner_container {

			}
		}
	}
}

[data-elementor-device-mode="mobile"] {
	.tennis_trainer_inner_container {
		column-width: 100%;
		column-gap: 0;
		columns: 1;

		.tennis_trainer_single_outer_container {
			margin-bottom: 0px;
			
			&.padding_top {
				padding-top: 100px;
			}
		}
	}
}