/*
Theme Name: GymRay
Theme URI: jacor.de
Description: Theme für GymRay
Author: jacor.de
Author URI: jacor.de
Template: Divi
Version: v1.1
*/

/*---------- STATIC DESKTOP MENU ----------*/

@media (min-width: 1250px) {
  header.et-l.et-l--header { position: fixed; z-index: 999999; width:100%; margin-top:-92px; }
  #et-main-area { margin-top:92px; }
}

/*---------- ENDE STATIC DESKTOP MENU ----------*/

@media (min-width: 1px) {
  /* Overlay + Grundzustand (geschlossen) */
  #mobile_menu1.et_mobile_menu {
  	border-top:0px !important;
    position: fixed;
    inset: 0;
    width: 100vw;
    min-height: 100dvh;
    min-height: -webkit-fill-available;
    padding: calc(24px + env(safe-area-inset-top))
             calc(24px + env(safe-area-inset-right))
             calc(24px + env(safe-area-inset-bottom))
             calc(24px + env(safe-area-inset-left));
    z-index: 99999;
    display: flex !important;
    flex-direction: row;          
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    align-items: center;
    gap: 6px;
    padding: 24px;
    margin: 0;
    overflow-y: auto;
    opacity: 0;
    transform: translateY(-16px);
    visibility: hidden;
    pointer-events: none;
    transition: opacity .4s ease, transform .4s ease, visibility 0s linear .4s;
    background-color:rgba(0,0,0,.95) !important;
    --contact-delay: 1.05s; /* Zeitpunkt, ab dem Divider + Kontakt erscheinen */
  }

  /* Geöffnet (sichtbar) */
  .opened #mobile_menu1.et_mobile_menu,
  #mobile_menu1.et_mobile_menu[style*="display: block"] {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
    transition: opacity .4s ease, transform .4s ease, visibility 0s;
  }

  /* Menüeinträge: Basis + Stagger */
  #mobile_menu1.et_mobile_menu li { 
    list-style: none; 
    margin: 0; 
    border: 0; 
    text-align: center;
    flex: 0 0 100%;
    order: 1;                    
  }

  #mobile_menu1.et_mobile_menu li a:before,
  #mobile_menu1.et_mobile_menu li:before {
    display: none !important;
    content: none !important;
  }

  #mobile_menu1.et_mobile_menu li a {
    display: inline-block;
    padding: 14px 8px;
    font-size: 22px;
    line-height: 1.3;
    color: #ffffff;
    text-decoration: none;
    width: 100%;
    max-width: 600px;
    border-bottom:1px solid #3d3d3d;
  }

  #mobile_menu1.et_mobile_menu li a:hover,
  #mobile_menu1.et_mobile_menu li.current-menu-item > a {
    color: #9B2322;
  }

  .et_mobile_menu li li {
  	padding-left:0px;
  }

    /* Toggle */
  .et_pb_menu .mobile_menu_bar,
  .mobile_menu_bar {
    z-index: 100001;
    pointer-events: auto;
  }
  .mobile_menu_bar:before {
    content: "\2630";
    font-size: 32px;
    line-height: 1;
    color: #1d1d1d;
    transition: transform .2s ease, opacity .2s ease;
  }
  .opened .mobile_menu_bar:before {
    content: "\00d7";
    font-size: 64px !important;
    padding-right: 0px;
    top:8px !important;
  }

  .opened header, 
  .opened .et-l--header { pointer-events: none; }
  .opened .mobile_menu_bar { pointer-events: auto; }
}

@media(max-width:980px) {
	.opened .mobile_menu_bar:before {
		top:-6px !important;
	}
}

@media(max-width:767px) {
	#mobile_menu1.et_mobile_menu li a {
		font-size:18px;
		padding:8px 8px;
	}
}

/*---------- COLLAPSE SUB-MENUS ----------*/

/* Grundzustand: Pfeil/Plus anzeigen */
ul.et_mobile_menu li.menu-item-has-children > a::after,
ul.et_mobile_menu li.page_item_has_children > a::after {
  content: "\25BC"; /* ▼ Standard Pfeil nach unten */
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  font-size: 0.8em;
  color: #fff455!important;
  transition: transform 0.3s ease, color 0.3s ease;
  pointer-events: none; /* Klick bleibt auf dem Link */
}

/* Platz für das Symbol schaffen */
ul.et_mobile_menu li.menu-item-has-children > a,
ul.et_mobile_menu li.page_item_has_children > a {
  position: relative;
  padding-right: 40px;
}

/* Beim Öffnen Pfeil drehen */
ul.et_mobile_menu li.dt-open > a::after {
  transform: translateY(-50%) rotate(180deg);
  color: #fff455!important; /* optional Farbe ändern */
}

/* Submenüs standardmäßig versteckt */
ul.et_mobile_menu li.menu-item-has-children > .sub-menu,
ul.et_mobile_menu li.page_item_has_children > .children {
  display: none !important;
}

/* Sichtbar, wenn .dt-open aktiv ist */
ul.et_mobile_menu li.dt-open > .sub-menu,
ul.et_mobile_menu li.dt-open > .children {
  display: block !important;
  padding-bottom:0px;
}


/*---------- ENDE COLLAPSE SUB-MENUS ----------*/

/*---------- TIMETABLE ----------*/

.tt_wrapper .tt_navigation_wrapper {
	display:none !important;
}

.tt_wrapper {
	background-color:#e1e1e1;
	padding:30px;
	font-family:'Barlow',Helvetica,Arial,Lucida,sans-serif;
	font-size:20px !important;
}

.tt_timetable h3 {
	font-weight:600;
}

.tt_timetable.small .tt_items_list li {
	margin-left:20px !important;
}

.tt_timetable.small .tt_items_list {
	border-bottom:2px solid #d3d3d3;
}

.tt_timetable.small .tt_items_list:last-child {
	border-bottom:none;
}

.tt_responsive .tt_timetable.small .box_header {
	font-size: 20px !important;
}

.tt_timetable.small .tt_items_list {
	font-size:18px;
}

/*---------- ENDE TIMETABLE ----------*/

/*---------- SINGLE POST ----------*/

.et_pb_post_content p {
	font-weight:400;
}


/*---------- ENDE SINGLE POST ----------*/

/*---------- TEAMMEMBER ----------*/

.gr_teammember {
  display: flex !important;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 30px; /* Abstand zwischen Bild und Beschreibung */
  flex-wrap: nowrap;
}

.gr_teammember .et_pb_team_member_image {
  flex: 0 0 35%;
  max-width: 35%;
}

.gr_teammember .et_pb_team_member_description {
  flex: 1;
  max-width: 65%;
}

.gr_teammember .et_pb_team_member_description li {
	color:#666666;
}

.et_pb_member_position {
	font-size:16px;
	padding-bottom:10px !important;
	color:#000000 !important;
}

ul {
	padding-left:0px !important;
}

ul li {
	font-family: 'Barlow', Helvetica, Arial, Lucida, sans-serif;
  font-weight:400;
  color:#000000;
  line-height:1.3em;
  list-style-type: none !important;
  padding-bottom:5px;
}

ul li:before {
	content:"+";
	font-family: 'Barlow', Helvetica, Arial, Lucida, sans-serif;
	font-weight: 700;
	color:#e1b71b;
	font-size:30px;
	position: relative;
	margin-top:2px;
	margin-right:5px;
}

.gr_teammember .et_pb_team_member_description li {
  padding-left:30px;
}

.gr_teammember .et_pb_team_member_description li:before {
  margin-left:-20px;
  top:3px;
}


@media (max-width: 767px) {
  .gr_teammember {
    flex-direction: column;
    align-items: center;
  }

  .gr_teammember .et_pb_team_member_image,
  .gr_teammember .et_pb_team_member_description {
    max-width: 100%;
    flex: 0 0 100%;
  }

  .gr_teammember .et_pb_team_member_description {
    text-align: center;
  }
}
.gr_teammember .et_pb_team_member_description h2 {
	color:#000000;
}

.gr_name {
	font-family: 'Barlow Condensed',Helvetica,Arial,Lucida,sans-serif;
	font-weight:600;
}

.gr_name .et_pb_text_inner p {
	font-weight:600 !important;
}

.gr_name .et_pb_text_inner p:before  {
	content: "//";
	background-color: #e1b71b;
	color: #000000;
	font-weight: 600;
	top: 6px;
  font-size: 30px;
  margin-right:5px;
}

.gr_ausbildung {
	font-family: 'Barlow', Helvetica, Arial, Lucida, sans-serif;
	font-weight: 400;
  font-size: 14px;
  margin-top: 10px;
  padding-top: 5px;
  display: block;
  border-top: 2px solid #000000;
}

.gr_teammember .et_pb_team_member_description{
  position: relative;
  max-height: 250px;
  overflow: hidden;
  transition: max-height .6s ease;
}

.gr_teammember .et_pb_team_member_description::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  margin-bottom:-1px;
  height: 140px;
  font-weight:400;
  background: linear-gradient(
	  to bottom,
	  rgba(255, 255, 255, 0) 0%,
	  rgba(255, 255, 255, 0.9) 80%,
	  #fff 100%
	);
  pointer-events:none;
  transition: opacity .3s ease;
}


.gr_teammember.is-expanded .et_pb_team_member_description{
  max-height: 2000px; 
}
.gr_teammember.is-expanded .et_pb_team_member_description::after{
  opacity:0;
}

.gr_tm_toggle{
  position: absolute;
  left: 0; right: 0; bottom: 5px;
  width: fit-content;
  color:#000000;
  font-family: 'Barlow', Helvetica, Arial, Lucida, sans-serif;
  font-weight:500;
  cursor: pointer;
  z-index: 2;
  text-decoration: underline;
}
.gr_teammember.is-expanded .gr_tm_toggle{
  position: absolute;
  margin-top: 10px;
  display:block;
  left: 0; right: 0; bottom: 0px;
}


@media (max-width: 767px){
  .gr_teammember .et_pb_team_member_description{ max-height: 260px; }
  .gr_tm_toggle{margin:0 auto;}
}

/*---------- ENDE TEAMMEMBER----------*/

@media (max-width: 980px){
	.ti-widget[data-layout-id='109'][data-set-id='light-minimal'][data-pid='6415443567b96984966602a8bc2'] {
		text-align:center !important;
	}
}


.rank-math-contact-info a {
	color:#000000;
}

.rank-math-contact-info a:hover {
	text-decoration:underline;
}


.et_pb_menu.custommenu .et_pb_menu__menu {
	display:none !important;
}

.et_pb_menu.custommenu .et_mobile_nav_menu {
	display:block !important;
}

.et_pb_menu.custommenu .et_pb_menu__wrap {
	justify-content:flex-end;
}

.et_pb_menu.custommenu .mobile_menu_bar:before {
	top:23px;
	font-size:40px;
}

@media(max-width:980px) {
	.et_pb_menu.custommenu .mobile_menu_bar:before {
		top:-3px;
	}
}

.et_pb_menu.custommenu .et_pb_menu__logo-wrap {
	padding-top:20px;
	padding-bottom:20px;
}

.et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before, .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__search-button, .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__close-search-button, .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__cart-button {
	color:#ffffff !important;
}

.cta_fo {
	background-color:#fbcd22;
	color:#000000;
	padding:20px 20px;
	font-family: 'Barlow Condensed',Helvetica,Arial,Lucida,sans-serif;
	font-weight:600;
	font-size:25px;
	line-height: 1em !important;
	text-transform: uppercase;
	letter-spacing: .1em;
	display: inline-block;
	position: relative;
	overflow: hidden;
	transition: all .2s ease;
}

.cta_fo:hover {
	background-color: #ffc900; /* leichter Hintergrund-Shift beim Hover */
}

.cta_fo:before {
	content: "";
	position: absolute;
	top: 0;
	left: -75%;
	width: 80%;
	height: 100%;
	background: linear-gradient(
		120deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(0, 0, 0, 0.04) 50%, /* sehr dezenter dunkler Glanz */
		rgba(255, 255, 255, 0) 100%
	);
	transform: skewX(-25deg);
}

.cta_fo:hover::before {
	animation: shine_fo 0.8s ease forwards;
}

@keyframes shine_fo {
	100% {
		left: 125%;
	}
}

.cta_so {
	background-color:transparent;
	border:3px solid #000000;
	color:#000000;
	padding:17px 17px;
	font-family: 'Barlow Condensed',Helvetica,Arial,Lucida,sans-serif;
	font-weight:600;
	font-size:25px;
	line-height: 1em !important;
	text-transform: uppercase;
	letter-spacing: .1em;
	display: inline-block;
	position: relative;
	overflow: hidden;
	transition: all .2s ease;
}

.cta_so:hover {
	background-color: #f1f1f1; /* leichter Hintergrund-Shift beim Hover */
}

.cta_so:before {
	content: "";
	position: absolute;
	top: 0;
	left: -75%;
	width: 80%;
	height: 100%;
	background: linear-gradient(
		120deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(0, 0, 0, 0.04) 50%, /* sehr dezenter dunkler Glanz */
		rgba(255, 255, 255, 0) 100%
	);
	transform: skewX(-25deg);
}

.cta_so:hover::before {
	animation: shine_so 0.8s ease forwards;
}

@keyframes shine_so {
	100% {
		left: 125%;
	}
}

@media(max-width:767px) {
	.cta_fo {
		font-size:20px;
	}
	.cta_so {
		font-size:20px;
	}
}

.et_pb_text_inner p, .et_pb_toggle_content p, .et_pb_text_inner li {
	font-weight:400 !important;
	line-height:1.5em !important;
}

.et_pb_text_inner h2 {
	padding-bottom:20px;
}

.h2_top {
	color:#e1b71b;
	text-transform: uppercase;
	font-weight:600;
	line-height: 1em;
	font-size:20px;
	padding-bottom:0px;
}

.divider_cta_before:before {
	content:"";
	background-color:#e1b71b;
	position: absolute;
	left:0px;
	top:-80px;
	bottom:-80px;
	width:2px;
}

.et_pb_with_border .et_pb_image {
  position: relative;
  overflow: hidden;
}

.et_pb_with_border .et_pb_image img {
  transition: transform 1s ease;
  transform-origin: center center;
}

.et_pb_with_border:hover .et_pb_image img {
  transform: scale(1.25) rotate(-2deg);
}

.gr_custommap .et_pb_code_inner {
	line-height: 0;
}

.gr_footer {
	color:#ffffff;
	font-family: 'Barlow', Helvetica, Arial, Lucida, sans-serif;
	font-size:16px;
}

.gr_footer li {
	padding-left:0px;
}

.gr_footer li:before {
	content:none;
}

.gr_footer a {
	color:#ffffff;
}

.gr_footer_h {
	font-family: 'Barlow Condensed', Helvetica, Arial, Lucida, sans-serif;
    text-transform: uppercase;
    font-size: 30px;
    color: #ffffff !important;
}

.gr_footer_menu li {
	list-style: none;
}

.gr_footer_menu ul {
	padding-left:0px;
}

.et_pb_blog_grid h2 {
	text-transform: uppercase;
    font-size: 24px;
    line-height: 1.2em;
    color: #000000;
    font-weight: 500;
}

.gr_sub_blog article {
	margin-bottom:10px;
}

.gr_sub_blog article a {
	text-decoration: none;
	transition: all .3s ease;
}

.gr_sub_blog article a:before {
	content:"➞";
	padding-right:5px;
}

.gr_sub_blog article a:hover {
	text-decoration: underline;
}

.gr_breadcrumb p {
	padding-bottom:0px;
}

.gr_breadcrumb .rank-math-breadcrumb a {
	color:#828282;
}

.et-search-form, blockquote {
	border-color: #e1b71b;
}


@media (max-width: 980px) {
	.et_pb_text_inner, .et_pb_code_inner {
		text-align: center;
	}
	.divider_cta_before:before {
		content:none;
	}
	.divider_cta_before .et_pb_code {
		padding-top:20px;
		padding-bottom:20px;
	}
	.gr_dreibox .et_pb_column_1_3 .et_pb_text_inner {
		padding:20px;
	}
	.gr_footer .et_pb_text_inner, .gr_footer .et_pb_code_inner {
		text-align: left;
	}
}

@media(max-width:767px) {
	.gr_footer .et_pb_text_inner, .gr_footer .et_pb_code_inner {
		text-align: center;
	}
	.gr_footer .et_pb_image_0_tb_footer.et_pb_module {
		margin-left:auto !important;
	}
	.gr_footer .et_pb_column_1_4 {
		width:100% !important;
		margin-right:0px !important;
	}
	.gr_social_footer .et_pb_social_media_follow {
		text-align:center;
	}
}

.gr_quote_text {
	background-color:#ffffff;
	font-family: 'Barlow', Helvetica, Arial, Lucida, sans-serif;
  font-size: 20px;
  font-weight:400;
  color:#000000;
  line-height: 1.5em;
}

.gr_quote_author {
	width:100%;
	display:block;
	font-family: 'Barlow', Helvetica, Arial, Lucida, sans-serif;
	color:#000000;
	font-weight:600;
	padding-top:10px;
}

@media(max-width:767px) {
	.et_pb_text_3 h2, .et_pb_text_3 h3, .et_pb_text_3 h4, .et_pb_text_3 h5, .et_pb_text_3 h6, .et_pb_text_4 h2, .et_pb_text_4 h3, .et_pb_text_4 h4, .et_pb_text_4 h5, .et_pb_text_4 h6, .et_pb_text_5 h2, .et_pb_text_5 h3, .et_pb_text_5 h4, .et_pb_text_5 h5, .et_pb_text_5 h6, .et_pb_text_6 h2, .et_pb_text_6 h3, .et_pb_text_6 h4, .et_pb_text_6 h5, .et_pb_text_6 h6, .et_pb_text_7 h2, .et_pb_text_7 h3, .et_pb_text_7 h4, .et_pb_text_7 h5, .et_pb_text_7 h6, .et_pb_text_8 h2, .et_pb_text_8 h3, .et_pb_text_8 h4, .et_pb_text_8 h5, .et_pb_text_8 h6, .et_pb_text_9 h2, .et_pb_text_9 h3, .et_pb_text_9 h4, .et_pb_text_9 h5, .et_pb_text_9 h6, .et_pb_text_11 h2, .et_pb_text_11 h3, .et_pb_text_11 h4, .et_pb_text_11 h5, .et_pb_text_11 h6, .et_pb_text_12 h2, .et_pb_text_12 h3, .et_pb_text_12 h4, .et_pb_text_12 h5, .et_pb_text_12 h6 {
		font-size:40px !important;
	}
	.et_pb_post_content h2 {
		font-size:40px !important;
	}
}

.rank-math-contact-info .rank-math-contact-map,
.rank-math-contact-info .rank-math-name,
.rank-math-contact-info .rank-math-contact-organization_description,
.rank-math-contact-info .rank-math-contact-hours
 {
	display:none;
}

@media(max-width:767px) {
	.ti-widget.ti-goog .ti-col-1 .ti-reviews-container, .ti-widget.ti-goog .ti-col-1 .ti-footer {
		margin-bottom:0px !important;
	}
}
