/*
Theme Name: sophie7 Startquartier
Description: 
Version: 1.0.0
Author: 
Author URI: 
Theme URI: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: Divi
*/

/* ========== Custom CSS from Generator ========== */

html,
body {
  margin: 0;
  height: 100%;
  font-weight: 400;
}

/* Body defaults */
#page-container p,
#page-container span:not(.et-pb-icon, .percent-value, .et_pb_image_wrap),
#page-container li {
  font-size: clamp(1rem, 0.9vw + 0.6rem, 1.125rem); /* 16px – 18px */
  line-height: 1.3;
  font-weight: 400;
}

/* Headings (H1–H6) */
#page-container h1 {
  font-size: clamp(2.25rem, 4.6vw + 0.5rem, 4rem) !important; /* 36px – 64px */
  line-height: 1.05;
}

#page-container h2 {
  font-size: clamp(
    1.75rem,
    3.6vw + 0.4rem,
    2.75rem
  ) !important; /* 28px – 44px */
  line-height: 1.1;
}

#page-container h3 {
  font-size: clamp(
    1.375rem,
    2.6vw + 0.3rem,
    1.875rem
  ) !important; /* 22px – 30px */
  line-height: 1.15;
}

#page-container h4 {
  font-size: clamp(
    1.125rem,
    1.9vw + 0.25rem,
    1.375rem
  ) !important; /* 18px – 22px */
  line-height: 1.2;
}

#page-container h5 {
  font-size: clamp(1rem, 1.3vw + 0.2rem, 1.125rem) !important; /* 16px – 18px */
  line-height: 1.25;
}

#page-container h6 {
  font-size: clamp(
    0.875rem,
    0.9vw + 0.15rem,
    1rem
  ) !important; /* 14px – 16px */
  line-height: 1.3;
}

#main-header,
#main-header.et-fixed-header {
	box-shadow:none!important;
	background:transparent!important;
}

body {
  position: relative;
}

/* Body text & Headlines */
#page-container p,
#page-container span:not(.et-pb-icon),
#page-container h1,
#page-container h2,
#page-container h3,
#page-container h4,
#page-container h5,
#page-container h6,
#page-container li,
#page-container a {
  font-family: "Archivo", sans-serif !important;
}

.home #page-container,
.page-id-262 #page-container,
.page-id-267 #page-container {
	padding-top:0!important;
}

.einrichtungen-carousel img {max-height:50px;width:auto;}

#top-menu li a {
  font-weight: 700 !important;
}

.et_menu_container {
  margin-top: 30px;
  border-radius: 80px;
  box-shadow: 0 1rem 2rem hsl(0 0% 0% / 20%);
  background: white !important;
  width: 90%;
  padding-left: 20px;
  padding-right: 20px;
}

.scrolled {
  background: white;
  box-shadow: 0 1rem 2rem hsl(0 0% 0% / 20%);
  padding-left: 15px;
  padding-right: 15px;
  margin-top: 0;
  border-radius: 0;
  width: 100%;
  max-width: none;
}

.scrolled #top-menu li a:not(.menu-cta a) {
  color: #101010 !important;
}

.scrolled .logo_container img#logo {
  filter: invert(1);
}

.menu-cta a {
  background-color: #142c85;
  color: white !important;
  padding-top: 5px !important;
  padding-right: 15px !important;
  padding-bottom: 5px !important;
  padding-left: 15px !important;
  font-weight: 700 !important;
  border-radius: 22px;
}

.current-menu-item.menu-cta a {
  color: white !important;
}

.et_pb_slides,
.et_pb_slide {
	height:100%;
}

.et_pb_section {
	background-color: #f8f8f8;
}

.percent .percent-value {
  font-size: 3rem !important;
  font-weight: 900 !important;
  color: white !important;
}

.percent .title {
  color: white !important;
}

.et_pb_icon_list .et_pb_icon_list_item.et_flex_module .et-pb-icon {
  margin-top: 0px;
}

/* Force Divi sticky header on mobile */
@media (max-width: 980px) {
  #main-header.et-fixed-header {
    position: fixed !important;
    top: 0;
    width: 100%;
    z-index: 9999;
  }

  /* Optional: prevent content jump when header becomes fixed */
  body.et-fixed-header-active {
    padding-top: 80px; /* adjust to your header height */
  }
}

#top-menu a {
  color: #142c85;
}

.current-menu-item a {
  color: #142c85!important;
}

#mobile_menu a {
  font-size: 1rem;
  font-weight: 700 !important;
  text-align:center;
  border:0;
}
#mobile_menu .menu-cta a {
  display: inline;
  border: 2px solid white;
}
#mobile_menu .menu-cta {
  padding-top: 10px;
  padding-bottom: 10px;
  text-align:center;
}
.et_header_style_left #et-top-navigation .mobile_menu_bar {
  padding-bottom: 16px;
  padding-top: 10px;
}

#mobile_menu {
  border-radius: 24px;
	border:0;
	margin-top: 30px;
}

/*change Divi hamburger menu to X*/
.mobile_nav.opened .mobile_menu_bar:before {
  content: "\4d";
}

.mobile_menu_bar:before {
  transition: all 0.4s ease;
  transform: rotate(0deg);
  display: block;
}
/*rotate the Divi Menu icon on click*/
.mobile_nav.opened .mobile_menu_bar::before {
  transition: all 0.4s ease;
  transform: rotate(90deg);
  display: block;
}

.s7-marker {
    background-color: #142C85;
    display: inline-flex;
    width: 49px;
    height: 49px;
    border-radius: 100px;
    color: white;
    align-items: center;
    justify-content: center;
    animation: solidGlow 1.3s ease-in-out infinite alternate;
	transition: transform 0.3s ease; /* smooth hover scaling */
	font-size:30px;
	font-family:serif;
	font-weight:600;
	cursor:pointer;
}

.s7-marker-inactive {
	animation: none;
	cursor: auto;
}

.s7-marker:hover {
    transform: scale(1.35); /* scale to 115% */
}

.s7-marker-inactive:hover {
    transform: none;
}

.s7-item-logo {
	max-width:140px;
}

@keyframes solidGlow {
    0% {
        outline: 0px solid rgba(20, 44, 133, 0.2);
        outline-offset: 0px;
    }
    100% {
        outline: 16px solid rgba(20, 44, 133, 0.2);
        outline-offset: 0px;
    }
}

.s7-item {
	padding:20px;
	border-radius: 12px;
	box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

@media (max-width: 980px) {
	.et_menu_container {
		margin-top:10px;
		height:70px;
	}
	#et-top-navigation {
		padding-top:9px!important;
	}
	#page-container {
		padding-top: 114px!important;
	}
}

@media (min-width: 981px) {
	#et-top-navigation {
		padding-top:24px!important;
	}
	#et-top-navigation nav>ul>li:not(.menu-cta)>a {
		padding-bottom:32px!important;
	}
	.et-fixed-header #et-top-navigation {
		padding-top:18px!important;
	}
	.et-fixed-header #et-top-navigation nav>ul>li:not(.menu-cta)>a {
		padding-bottom:23px!important;
	}
}

@media (max-width: 767px) {
	.et_menu_container {
		margin-top:10px;
		height:70px;
	}
	#et-top-navigation {
		padding-top:9px!important;
	}
}