/* css zu termine *//* MainMenueCSS  *//* ---------------------------------- */
/* ---------- MainMenueCSS ---------- */
/* ---------------------------------- */

#jubaconMenu::before {
  content: '';
  display: inline-block;
  position: absolute;
  width: calc(100% - 841px);
  height: 78px;
  left: 440px;
}

#mainMenu {z-index: 1;}

header input {display: none;}

#jubaconMenu {
	background-color: transparent;
	margin-top: 34px;
	margin-bottom: 68px;
	text-align: right;
}

#jubaconMenu * {
	color: var(--schwarz);
	text-decoration: none;
	list-style: none;
}

#menu_eb_1,
#menu_eb_1 > li,
#jubaconMenuLogo,
#jubaconMenuLogo::after
{display: inline-block;}

#jubaconMenuLogo {
	vertical-align: middle;
	width: calc(100% - 407px);
	text-align: left;
	padding-left: 50px;
}

#jubaconMenuLogo::after {
	content: 'GOLFPERFORMANCE';
	text-align: left;
	font-size: 110%;
  	font-weight: bold;
  	padding: 25px 32px 25px 100px;
	box-sizing: border-box;
	max-width: 400px;
	height: 78px;
	background-color: var(--weiss);
	background-image: url("/bilder/pfc-logo.png");
	background-repeat: no-repeat;
	background-size: contain;
	border-radius: 50px;
	line-height: 110%;
    hyphens: none;
}

#menu_eb_1 > li > a {font-weight: bold;}

@media (min-width: 1025px) {
    #menu_eb_1 {
      max-width: 400px; 
      margin: 0;
      padding-left: 50px;
      width: 100%;
      border-radius: 50px 0 0 50px;
      background-color: var(--weiss);
      vertical-align: middle;
      height: 78px;
      text-align: left;
      position: relative;
  	}

  	#menu_eb_1 > li {
      margin-right: 25px;
      padding: 25px 0;
  	}

  	#menu_eb_2 {
      display: none;
      position: absolute;
      top: calc(100% - 20px);
      right: 0;
      width: 300px;
      background-color: white;
      padding: 25px 10px 10px 20px;
      z-index: 1;
      border-bottom-left-radius: 25px;
  	}

  	#menu_eb_1 > li:hover > #menu_eb_2 {
      display: block;
  	}
}

@media (max-width: 1024px) {
	#jubaconMenuLogo {width: auto;}

	#jubaconMenu {text-align: left;}

	#menu_eb_1 * {color: var(--weiss);}

	label.toggleMenuButton {
		display: block;
		width: 150px;
		height: 78px;
		cursor: pointer;
		position: absolute;
		right: 0;
		transition: right .6s;
		background-color: var(--weiss);
		border-radius: 50px 0 0 50px;
	}

	#menu_eb_1, #menu_eb_1 ul {
		display: block;
		height: 100%;
		width: 300px;
		max-width: 100%;
		font-size: 20px;
		padding: 150px 20px;
		background-color: var(--dunkelgruen);
		right: -300px;
		top: 0;
		z-index: 5;
		transition: right .6s;
		margin: 0;
		color: var(--gruen);
	}

	#menu_eb_1 {position: fixed;}
	#menu_eb_1 ul {position: absolute;}

	#lbl_openMenu span, 
	#lbl_openMenu::after, 
	#lbl_openMenu::before {
		display: block;
		width: 45px;
		height: 4px;
		background-color: var(--schwarz);
		border-radius: 2px;
		transition: all .3s ease-in-out;
		left: 50px;
	}

	#lbl_openMenu::after, 
	#lbl_openMenu::before {
		content: '';
		position: absolute;
	}

	#lbl_openMenu::before { top: 22px; }
	#lbl_openMenu::after { bottom: 22px; }

	#lbl_openMenu { z-index: 201; }

	.lbl_hideSubMenu {
		display: block;
		width: 30px;
		height: 40px;
		position: absolute;
		top: 25px;
		left: 15px;
	}

	#lbl_openMenu span {  position: absolute;top: 37px;}

	#lbl_closeMenu {
		visibility: hidden;
		position: fixed; 
		z-index: 300; 
		top: 34px;
		background-color: transparent;
	}

	#menu_eb_1 li {
		height: auto !important;
		width: auto !important;
		display: block;
		padding: 10px;
		margin-right: 0px;
		text-align: left;
		border-bottom: 2px solid var(--weiss);
		position: static;
	}

	#menu_eb_1 > li > #menu_eb_2 > li {
		border-bottom: 2px solid var(--weiss);
		padding: 10px;
	}

	#menu_eb_2 ~ label {
		display: block;
		height: 53px;
		width: 40px;
		margin-top: -42px;
		position: absolute;
		right: 20px;
	}

	#menu_eb_2 ~ label::after {
		content: "";
		display: block;
		width: 10px;
		height: 10px;
		margin-top: 20px;
		margin-left: 15px;
		border-top: 3px solid var(--weiss);
		border-right: 3px solid var(--weiss);
		transform: rotate(45deg);
	}

	.lbl_hideSubMenu::after {
		content: "";
		display: block;
		width: 10px;
		height: 10px;
		margin-top: 15px;
		margin-left: 10px;
		border-top: 3px solid var(--weiss);
		border-right: 3px solid var(--weiss);
		transform: rotate(225deg);
	}

	#rad1_menuOpen:checked ~ #jubaconMenu > ul#menu_eb_1 {
		right: 0;
		box-shadow: -5px 10px 18px;
	}

	#rad1_menuOpen:checked ~ #jubaconMenu > #lbl_closeMenu {visibility: visible;}
	#menu_eb_1 > li > input[type=radio]:checked ~ ul#menu_eb_2 { right: 0px; }
	#rad1_menuOpen:checked ~ label#lbl_openMenu > span { opacity: 0; }

	#rad1_menuOpen:checked ~ label#lbl_openMenu::after {
		bottom: 12px;
		transform: rotate(45deg);
	}

	#rad1_menuOpen:checked ~ label#lbl_openMenu::before {
		top: 13px;
		transform: rotate(-45deg);
	}

	#rad1_menuOpen:checked ~ label#lbl_openMenu::after {
		bottom: 12px;
		transform: rotate(45deg);
	}

	#rad1_menuOpen:checked ~ label#lbl_openMenu::before {
		top: 13px;
		transform: rotate(-45deg);
	}

	#rad1_menuOpen:checked ~ label#lbl_openMenu::after { bottom: 10px; }
	#rad1_menuOpen:checked ~ label#lbl_openMenu::before { top: 10px; }
	#rad1_menuOpen:checked ~ label#lbl_openMenu > span
	{ opacity: 0; color: var(--weiss);}

	#rad1_menuOpen:checked ~ #jubaconMenu > ul#menu_eb_1
	{box-shadow: -5px 10px 18px;}

	#rad1_menuOpen:checked ~ label#lbl_openMenu::after {
		bottom: 38px;
		transform: rotate(45deg);
	}

	#rad1_menuOpen:checked ~ label#lbl_openMenu::before {
		top: 35px;
		transform: rotate(-45deg);
	}
    
    #jubaconMenu::before {
    width: calc(100% - 591px);
    height: 78px;
    left: 440px;
  }
}

@media (max-width: 768px) {
	#jubaconMenuLogo {
		vertical-align: middle;
		text-align: left;
		padding-left: 20px;
	}

  #jubaconMenu::before {
    width: calc(100% - 561px);
    height: 78px;
    left: 410px;
  }
}

@media (max-width: 600px) {
	#jubaconMenuLogo {
		margin-left: 50px;
		background-color: var(--weiss);
		padding: 0;
		border-radius: 50px;
		height: 78px;
	}

	#jubaconMenuLogo::after {
		content: '';
		padding: 0px;
		height: 78px;
		width: 78px;
		background-size: 80%;
		background-position: center;
	}
    
    #jubaconMenu::before {display: none;}
    
    #jubaconMenu {
      margin-top: 22px;
      margin-bottom: 56px;
    }

	#lbl_closeMenu {top: 22px;}
}

@media (max-width: 360px) {
	#jubaconMenuLogo {margin-left: 25px;}
}/* --- --- *//* ------------------------------------------------------- */
/* ----------------- 1010 - BannerSmall ------------------ */
/* ------------------------------------------------------- */

#banner_bg {
  position: absolute;
  width: 100%;
  min-height: calc(100% + 180px);
  top: -180px;
  left: 0;
}
#banner_golfball {
  position: relative;
  object-fit: contain;
  padding: 0 50px;
  bottom: -9px;
}
#bannerText {position: relative;}
#mausIcon {
  width: 25px;
  position: absolute;
  bottom: 15%;
  left: calc(50% - (25px / 2));
  animation: mausScrollSmall 2s infinite;
}
@media (max-width: 768px) {
  #bannerText {font-size: 80%;}
}
@media (max-width: 600px) {
  #bannerText {font-size: 70%;}
}
@media (max-width: 550px) {
  #bannerText {font-size: 60%;}
  #mausIcon {
    width: 20px;
    left: calc(50% - (20px / 2));
  }
}/* --- --- *//* ------------------------------------------------------- */
/* -------------------- 301 - Termine -------------------- */
/* ------------------------------------------------------- */

/* Oeffnungszeiten */
.oeffnungszeitenWrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
	align-items: center;
	hyphens: none;
}

.oeffnungszeitenPic {
	width: 100px;
}


.oeffnungszeitenL {
	width: calc(52% - 50px);
}

.oeffnungszeitenR {
	width: calc(48% - 50px);
}

@media (max-width: 1240px) {
	.oeffnungszeitenWrapper {
		padding-left: var(--abstand_9);
		padding-right: var(--abstand_9);
	}
}

@media (max-width: 1024px) {
	.oeffnungszeitenPic {
		display: none;
	}
	
	.oeffnungszeitenL {
		width: calc(52%);
		padding-left: 0;
	}
	
	.oeffnungszeitenR {
		width: calc(48%);
	}
}

@media (max-width: 768px) {
	.oeffnungszeitenL, .oeffnungszeitenR {
		width: 100%;
	}
	
	.oeffnungszeitenR {
		padding-left: 0;
	}
}



/* Uebersicht */
.termineMonateStrich:last-of-type {
	display: none;
}

#termineUebersichtWrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
	gap: var(--abstand_9);
	hyphens: none;
}

#termineUebersichtWrapper > * {
	width: calc(33.33% -  var(--abstand_9) * 2 / 3);
	text-align: center;
}

#termineUebersichtWrapper .termin_gruen {
	background-color: var(--gruen);
	color: var(--weiss);
}

#termineUebersichtWrapper .termin_grau {
	background-color: var(--grau);
	color: var(--dunkelgruen);
}

#termineUebersichtWrapper > :first-of-type {
	width: 100% !important;
	padding: 0;
}

#termineUebersichtWrapper > :first-of-type .termineUebersichtTerminTitel,
#termineUebersichtWrapper > [data-headline="1"] .termineUebersichtTerminTitel {
	margin-bottom: 0;
}

#termineUebersichtWrapper > :first-of-type .termineUebersichtTerminKurz,
#termineUebersichtWrapper > :first-of-type .termineUebersichtTerminLang,
#termineUebersichtWrapper > :first-of-type .termineUebersichtTerminDatum,
#termineUebersichtWrapper > [data-headline="1"] .termineUebersichtTerminKurz,
#termineUebersichtWrapper > [data-headline="1"] .termineUebersichtTerminLang,
#termineUebersichtWrapper > [data-headline="1"] .termineUebersichtTerminDatum {
	display: none;
}

#termineUebersichtWrapper > [data-headline="1"] {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
}

#termineUebersichtWrapper > [data-headline="1"] .termineUebersichtTerminTitel {
	width: 100%;
}

.termineUebersichtPfeil {
	display: inline-block;
	width: 170px;
}

[data-headline="0"] .termineUebersichtPfeil, #termineUebersichtWrapper > :first-of-type .termineUebersichtPfeil {
	display: none;
}


@media (max-width: 1240px) {
	#termineUebersichtWrapper > * {
		width: calc(50% -  var(--abstand_9) / 2);
	}
}


@media (max-width: 768px) {
	#termineUebersichtWrapper > * {
		width: 100%;
	}
}/* --- --- *//* ---------------------------------------------------------------- */
/* -------------------- 303 - PartnerUndMarken -------------------- */
/* ---------------------------------------------------------------- */
.PartnerUndMarkenCarouselWrapper {
  position: relative;
  height: calc(82px + 2 * var(--abstand_9));
  overflow: hidden;
}

.PartnerUndMarkenCarousel {
  width: max-content;
  display: flex;
}

.carouselRightToLeft {
  animation: infiniteCarouselRtoL 15s linear infinite;
  animation-direction: reverse;
}

.carouselRightToLeft2 {
  animation: infiniteCarouselRtoL 17s linear infinite;
  animation-direction: reverse;
}

.carouselLeftToRight {
  animation: infiniteCarouselLtoR 10s linear infinite;
  animation-direction: reverse;
}

@keyframes infiniteCarouselLtoR {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50.3%); }
}

@keyframes infiniteCarouselRtoL {
  0% { transform: translateX(-50.2%); }
  100% { transform: translateX(0); }
}

.PartnerUndMarkenCarouselPic {
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  background-color: var(--weiss);
  margin-right: var(--abstand_6);
  border-radius: 15px;
}

.PartnerUndMarkenCarouselPic:last-of-type {
  margin-right: 0;
}

.PartnerUndMarkenCarouselPic[href=""] {
  pointer-events: none;
}

.PartnerUndMarkenCarouselPic img {
  display: block;
  height: 150px;
}

.PartnerUndMarkenCarouselPic img[src=""] {
  display: none;
}

@media (max-width: 1024px) {
  .PartnerUndMarkenCarouselPic img { height: 125px; }
  .PartnerUndMarkenCarouselWrapper { height: calc(58px + 2 * var(--abstand_9)); }
}

@media (max-width: 768px) {
  .PartnerUndMarkenCarouselPic img { height: 100px; }
  .PartnerUndMarkenCarouselWrapper { height: calc(32px + 2 * var(--abstand_9)); }
  #markenPic { scale: 80%; }
}/* --- --- */