@import url(fonts.css);

*{
  margin: 0;
  padding: 0;
  text-decoration: none;
  box-sizing: border-box;
  color: var(--black);
}

html, body{
  overflow-x: hidden;
}

:root{
  --main: #bea689;
  --main_gruen: #1D4B47;
  --blau: #B89D79;
  --white: #FFFFFF;
  --darkWhite: #fafafa;
  --black: #282828;
  --btnHoverWhite: #fafafa;
  --grau: #F7F7F8;
  --gruen: rgb(140,181,56);
  --hell: rgb(120, 235, 20);
  --gelb: #d7e255;
  --rot: #e28055;
}

h1, h2, h3, h4, h5, h6, p, h2 span{
  margin: 0;
  padding: 0;
  font-family: 'Cormorant Garamond' !important;
  line-height: 1.5;
  color: var(--black);
}

h2{
    font-size: 36px;
}

h2.small{
    font-size: 16px;
    font-family: 'Raleway' !important;
    letter-spacing: 10px;
    margin-top: -50px;
    position: relative;
    z-index: 2;
}

.zahl{
    font-size: 130px;
    color: var(--main);
    font-family: 'Cormorant Garamond' !important;
    line-height: 1;
    display: block;
    margin-top: -20px;
    opacity: 0.7;
}

p{
    font-family: 'Raleway' !important;
    color: var(--black);
}

.clr_main{
    color: var(--main) !important;
}

.clr_white{
    color: var(--white) !important;
}

h1, h2, h3, h4, h5, h6{
  text-transform: uppercase;
}

p{
  font-size: 16px;
}

a{
  text-decoration: none;
  font-family: 'Cormorant Garamond' !important;
}
.btn, .btn:visited, .btn:focus{
  background-color: transparent;
  padding: 15px 30px;
  border-radius: 0px;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  display: inline-block;
  color: var(--main) !important;
  border: 1px solid var(--main);
  text-transform: uppercase;
  margin-top: 40px;
  cursor: pointer;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: all 0.3s ease-in-out;
}

.btn:hover{
  transform: scale(1.1);
  color: var(--main) !important;
  border-color: var(--main);
}

.immo_detail:hover{
  transform: scale(1);
}

.immo_detail{
  margin-top: 0px;
  width: 100%;
  cursor: inherit;
}

.immo_detail h3{
  font-size: 16px;
  margin: 0;
}

.immo_detail p{
  font-size: 20px;
  margin: 0;
}

.container{
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0px 0px;
}

.immobilie_content .container{
  max-width: 960px;
}

section{
    padding: 100px 0px;
    position: relative;
}

section p{
    margin-top: 20px;
    hyphens: auto;
}


.img_50_full{
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: calc(50% - 40px);
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.img_50_full_right{
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: calc(50% - 40px);
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.profil{
    object-position: center center;
    width: calc(60% - 40px);
	max-width: 910px;
    left: 50%;
}

.pattern{
    background-image: url('/wp-content/themes/gkisolution/img/pattern1.png');
    background-size: 20%;
    background-position: center center;
}

.line{
  width: 100%;
  height: 1px;
  background-color: var(--main) !important;
  margin: 0px 0px 100px;
}


.imp_data_index{
  position: absolute;
  left: 80px;
  bottom: 40px;
  z-index: 3;
  color: var(--btnHoverWhite);
  font-size: 10px;
}

.imp_data_index a{
  text-transform: uppercase;
  font-size: 10px;
  color: var(--btnHoverWhite);
}

.nav_sub{
  position: fixed;
  width: 100%;
  z-index: 9999;
  padding: 40px 0px;
  transition: all 0.3s ease-in-out;
}

.sticky{
  background-color: rgba(0,0,0, .5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 10px 0px;
  border-bottom: 1px solid var(--main);
  transition: all 0.3s ease-in-out;
}

.bg_blur{
  background-color: rgba(255,255,255, .8);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.nav_inner{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.nav_sub ul{
  list-style: none;
  display: flex;
  margin: 0;
  margin-top: 25px;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 40px;
  padding: 0;
}

.nav_sub ul li{
  position: relative;
}

.nav_sub ul .dropdown{
  position: absolute;
  max-height: 0px;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  left: -70%;
}

.nav_sub ul li.drop:hover .dropdown{
  max-height: 1000px;
  opacity: 1;
}

.nav_sub ul .dropdown ul{
  padding: 20px 20px;
  border-top: 2px solid var(--main);
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: flex-start;
  gap: 10px;
  background-color: rgba(0,0,0, .8);
}

.nav_sub ul li a{
  text-transform: uppercase;
  color: var(--white);
  font-family: 'Raleway';
}

.nav_sub ul .dropdown ul li a{
  text-transform: initial;
}

.logo{
  height: 30px;
  width: auto;
  transition: all 0.3s ease-in-out;
}

.sticky .logo{
    height: 20px;
}

.hamburger{
  display: block;
  width: 15px;
  height: 32px;
  cursor: pointer;
  position: relative;
  left: 0px;
  order: 1;
}

.line_top, .line_bottom{
  position: absolute;
  background-color: var(--main);
  width: 100%;
  height: 1px;
  transition: all 0.2s ease-in-out;
}

.line_top{
  top: 12px;
}

.line_bottom{
  bottom: 13px;
}

.bg_overlay{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0,0,0,.6);
    z-index: 1;
}

.carousel-item {
    overflow: hidden;
    height: 800px;
    position: relative;
  }
  
  .carousel-item img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center center;
    
  }

  .sub .carousel-item{
    height: 600px;
  }

  .carousel_immobilien_imgs{
    margin-bottom: 40px;
  }

  .carousel_immobilien_imgs .carousel-item{
    height: auto;
    width: 100%;
  }

  .carousel_immobilien_imgs .carousel-indicators{
      position: static;

    justify-content: flex-start;
    margin: 0px;
    flex-wrap: wrap;
  }

  .carousel_immobilien_imgs .carousel-indicators [data-bs-target]{
    flex: 0 0 20%;
    height: 150px;
    border: none;
    margin: 0px;
  }

  .carousel_immobilien_imgs .carousel-indicators [data-bs-target] img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
  
  /* Animation: leicht reinzoomen und wieder zurück */
  @keyframes zoomInOut {
    0% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.1);
    }
    100% {
      transform: scale(1);
    }
  }

.carousel-caption{
    z-index: 3;
    bottom: 30%;
    transition: all 0.3s ease-in-out;
}

.carousel-caption h1, .carousel-caption h2{
    color: var(--main);
    font-size: 80px;
    transition: all 0.3s ease-in-out;
    text-shadow: 0 10px 10px black;
}

.sub .carousel-caption{
  bottom: 10%;
}

.sub .carousel-caption h1{
  font-size: 58px;
}

.carousel-caption p{
    color: var(--white);
    font-size: 20px;
    transition: all 0.3s ease-in-out;
}

.carousel-indicators [data-bs-target]{
    background-color: var(--main);
}

.flex{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 80px;
}

.flex_4er{
    flex: 0 0 auto;
    text-align: center;
}

.flex_text{
    flex: 0 0 calc(50% - 40px);
}

.flex_zweispalten{
  gap: 0;
  align-items: flex-start;
}

.zweispalten{
  padding-right: 40px;
  flex: 0 0 50%;
}

.zweispalten:last-child{
  padding-right: 0px;
  padding-left: 40px;
  border-left: 1px solid var(--main);
}

.immobilie_content .flex{
  align-items: start;
}

.immobilie_content .flex_text{
  flex: 0 0 100%;
}

.immobilie_content h2 , .immobilie_content h3{
  margin-top: 40px;
  font-size: 20px;
  font-weight: bold;
}

.flex_text_small{
    flex: 0 0 calc(35% - 40px);
}

.flex_img{
    position: relative;
    flex: 0 0 calc(50% - 40px);
}

.immobilie_content .flex_img{
  position: relative;
  flex: 0 0 calc(30% - 40px);
}

.immobilie_content ul{
  padding: 20px 20px 0px;
  margin: 0px;
  font-family: 'Raleway';
}


.sidbar_content{
  padding: 15px;
  background-size: 50%;
}

.sidbar_content form{
  width: 100% !important;
}

.sidbar_content h2{
  margin-top: 0px;
  margin-bottom: 20px;
}

.immo_details{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 10px;
}

.immo_details .immo_detail{
  flex: 0 0 calc(33.333333% - 14px);
  width: auto;
  text-align: left;
  padding: 15px;
  display: flex;
  gap: 20px;
  align-items: center;
}

.immo_details .immo_detail p{
  text-transform: initial;
  font-size: 18px;
  font-family: 'Raleway';
  font-weight: 600;
}

.immo_details .immo_detail h3{
  margin-top: 0px;
  font-size: 14px;
}

.immo_detail_img{
  border-right: 1px solid var(--main);
  padding-right: 20px;
  flex: 0 0 70px;
}

.immo_detail_img img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.immo_detail.pattern{
  background-size: 0%;
}

.overview{
  padding: 40px;
  margin-bottom: 40px;
  background-size: 30%;
}

.overview:last-child{
  margin-bottom: 0px;
}

.overview h2{
  margin-top: 0px;
  text-align: center;
}

.overview a, .overview a:hover{
  color: var(--main);
  text-align: center;
  width: 100%;
}

.flex_img_big{
    flex: 0 0 calc(65% - 40px);
}

.img2{
    position: absolute;
    right: 0;
    top: 130px;
    width: 70%;
    border-left: 8px solid var(--main);
    z-index: 2;
}

.w_80{
    width: 80%;
}

.pt_100{
    padding: 100px 0 0 0 !important;
}

.pb_100{
    padding: 0 0 100px 0 !important;
}

.bg_dark_white{
    background-color: var(--btnHoverWhite);
}

.bg_main {
    background-image: 
      linear-gradient(to bottom, rgb(250, 250, 250, 0)), 
      url('/wp-content/themes/gkisolution/img/pattern1.png');
    background-size: 20%;
    background-position: center;
  }

  .bg_yellow{
    background-color: var(--main);
    text-align: center;
  }

  .bg_yellow h2, .bg_yellow p{
    color: var(--white) !important;
  }

  .bg_yellow .btn{
    border: 1px solid var(--white);
    color: var(--white) !important;
  }

  .leistungen h2{
    margin-bottom: 80px;
    text-align: center;
  }

.leistungen p{
    font-size: 22px;
    hyphens: auto;
    flex: 0 0 100%;
}

.flex_3er{
    flex: 0 0 calc(33.333333% - 80px);
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.flex_2er{
  flex: 0 0 calc(50% - 80px);
}

.immobilien .flex{
    flex-wrap: wrap;
    gap: 40px;
    justify-content: flex-start;
}

.immobilien .flex_3er{
    flex: 0 0 calc(33.333333% - 30px);
}

.immobilie{
  position: relative;
  width: 100%;
}

.immobilie .pattern{
  background-size: 50%;
}

.immobilie img{
  width: 100%;
  height: 280px;
  object-fit: cover;
  object-position: center;
}

.immobilie .preis{
  position: absolute;
  right: 0;
  top: 20px;
  padding: 10px 20px;
  display: inline-block;
  background-color: var(--main);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  color: var(--white);
}

.immobilie_desc{
  padding: 20px;
}

.immobilie_desc img{
  width: auto;
  height: 20px;
}

.immobilie_desc h2 {
  font-size: 16px;
  color: var(--black);
  margin-bottom: 20px;
  text-align: left;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mt_40{
  margin-top: 40px;
}

.immobilie_desc p{
  color: var(--main);
  font-size: 12px;
  margin: 0;
}

.immobilie_details, .immobilie_detail{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.leistungen img{
    width: auto;
    height: 100px;
    margin-bottom: 20px;
}

.flex_center{
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 80px;
}

.contact_info{
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.contact_info .btn{
  display: flex;
  gap: 20px;
  font-family: 'Cormorant Garamond' !important;
  text-transform: lowercase;
}

.btn svg{
  width: 20px;
  height: 20px;
  fill: var(--black);
}

form{
  width: 90%;
  max-width: 650px;
  margin: 0 auto;
}

.form input, .form textarea, .login-username input, .login-password input{
  width: 100%;
	border: 1px solid var(--main);
	border-radius: 0px !important;
	padding: 20px 20px !important;
	letter-spacing: 0px;
	color: var(--black);
	margin-bottom: 25px;
  font-family: 'Raleway';
  background-color: transparent;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

form textarea{
	height: 250px;
}

form button{
    margin-top: 0px !important;
}

form label{
    color: var(--main);
}

.form-group{
	position:relative;
}

.form-label{
	position: absolute;
	left: 20px;
	top: 18px;
	background-color: transparent;
	z-index: 10;
	transition: transform 150ms ease-out, font-size 150ms ease-out;
	letter-spacing: 0px;
	padding: 0px 10px;
  font-size: 16px;
  font-family: 'Cormorant Garamond' !important;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.form-label span{
	font-size: 10px;
}

.focused .form-label {
	transform: translate(0px, -28px);
}

.form-input {
	position: relative;
	width: 100%;
	outline: none;
}

.form .filter_checkboxen{
    padding: 0px !important;
    margin-bottom: 20px;
}
#response_e{
    margin-bottom: 20px;
}
.mail_custom{
  display: none;
}

#checkbox{
  width: 20px;
}

.filter_checkboxen{
  padding: 20px 0px 0px;
}
.filter_checkboxen h2{
  margin-bottom: 10px;
  font-size: 18px !important;
}
.filter_checkboxen label{
  color: var(--black);
  font-size: 14px;
  cursor: pointer;
  position: relative;
  padding-left: 35px;
  font-family: 'Raleway';
}

.filter_checkboxen label input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

 /* Create a custom checkbox */
 .checkmark {
  position: absolute;
  top: 1px;
  left: 0;
  height: 16px;
  width: 16px;
  background-color: var(--white);
  border-radius: 0px;
  border: 1px solid var(--main);
}

/* On mouse-over, add a grey background color */
.filter_checkboxen label:hover input ~ .checkmark {
  background-color: var(--darkWhite);
}

/* When the checkbox is checked, add a blue background */
.filter_checkboxen label input:checked ~ .checkmark {
  background-image: url('../img/check_w.svg');
  background-color: var(--main);
  background-size: contain;
  background-position: center center;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.filter_checkboxen label input:checked ~ .checkmark:after {
  display: block;
}

.btn_blau{
  background-color: var(--white);
  font-family: 'Cormorant Garamond' !important;
}

.btn_blau:hover{
  color: white;
}

.kontakt_zeile{
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}

.kontakt_zeile:last-child{
  margin-bottom: 0px;
}

.kontakt_zeile img{
  flex: 0 0 50px;
  width: auto;
  height: 50px;
  margin-top: 7px;
  object-fit: contain;
}

.kontakt_desc{
  flex: 0 0 80%
}

.kontakt_desc h3, .kontakt_desc p{
  color: white;
}

.kontakt_desc p{
  hyphens: auto;
  -webkit-hyphens: auto;
}

.kontakt_desc h3{
  font-size: 28px;
  font-weight: 800;
}

.marquee {
    overflow: hidden;
    width: 100%;
    padding: 20px 0;
    border-top: 1px solid var(--main);
    border-bottom: 1px solid var(--main);
    position: relative;
  }
  
  .marquee-track {
    display: flex;
    width: fit-content;
    animation: none;
  }
  
  .marquee-content {
    display: flex;
    white-space: nowrap;
  }
  
  .marquee-content p {
    font-size: 70px;
    font-family: 'Cormorant Garamond' !important;
    white-space: nowrap;
    text-transform: uppercase;
    margin-right: 100px;
  }

  .marquee_sub .marquee-content p{
    font-size: 50px;
    text-transform: initial;
  }
    
  

footer{
    padding: 40px 0px;
    background-color: var(--black);
    color: var(--white);
}

footer .logo{
  height: 20px;
}

footer .line{
  margin: 20px 0px;
  max-width: 138px;
}

footer svg{
  fill: var(--main);
  width: 30px;
  height: 30px;
}

footer p, footer a, footer a:hover, footer a:visited, footer a:focus{
  color: var(--main);
  font-size: 14px;
  font-family: 'Cormorant Garamond' !important;
}

.social_media{
  display: flex;
  gap: 20px;
  align-items: center;
}

.imp_data section{
  padding: 0px;
}

.imp_data, .imp_data a{
  font-size: 12px;
}
.ab_1024{
  display: none;
}

.imp_data h1{
  font-size: 28px;
}

.imp_data h2{
  font-size: 18px;
  margin-bottom: 20px;
  text-align: left;
}

.imp_data h3{
  font-size: 16px;
}

.imp_data h4{
  font-size: 14px;
}

.imp_data p{
  font-size: 12px;
  margin-bottom: 20px;
}

.imp_data ul{
  padding-left: 20px;
  margin-bottom: 20px;
}

.conIcon{
  position: fixed;
  right: 20px;
  bottom: 20px;
  background-color: var(--main);
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
}

.conIcon svg{
  fill: var(--white);
  width: 30px;
  height: 30px;
}

.check_listing, .beschreibung_wp ul {
  list-style: none; /* Standard-Marker entfernen */
  padding-left: 0;  /* optional: Einzug weg */
  margin: 20px;
}

.check_listing li, .beschreibung_wp ul li {
  position: relative;
  padding-left: 40px; /* Platz für das Bild */
  margin-bottom: 20px;
  font-family: 'Raleway';
  font-size: 18px;
}

.check_listing li::before, .beschreibung_wp ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 25px;
  height: 25px;
  background-image: url('/wp-content/themes/gkisolution/img/check-square.svg'); /* 🔁 Hier dein Bildpfad */
  background-size: contain;
  background-repeat: no-repeat;
}

.beschreibung_wp a, .beschreibung_wp a:hover, .beschreibung_wp a:visited{
  color: var(--main);
}

.font_big{
  font-size: 50px;
}

.container_center{
  text-align: center;
}

.accordion {
  width: 100%;
  max-width: 650px;
  margin: 40px auto 0px;
  border: 0px solid var(--main);
  border-radius: 0px;
  overflow: hidden;
}

.accordion-item{
  border: 1px solid var(--darkWhite) !important;
  margin-top: 20px;
  border-radius: 0px !important;
}

.accordion-header {
  padding: 20px;
  display: flex;
  justify-content: space-between;
  cursor: pointer;
  user-select: none;
  background-size: 35%;
}

.accordion-header h3{
  font-size: 22px;
  text-transform: initial;
  color: var(--main);
}

.accordion-item{
  background-color: transparent;
}
.accordion-content {
  overflow: hidden;
  height: 0;
  padding: 0px;
}

.accordion-content p{
  padding: 20px;
  margin: 0;
  text-align: left;
}

.icon {
  transition: transform 0.3s ease;
}

.icon svg{
  width: 20px;
  height: 20px;
  fill: var(--main);
}

.partner .flex{
  flex-wrap: nowrap !important;
  margin-top: 60px;
}

.partner img{
  height: 70px;
  width: auto;
}

.logos {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  position: relative;
}

.marquee_footer .marquee-content{
  gap: 80px;
  flex-wrap: nowrap;
}


.toogle_menu{
  display: none;
}


@media screen and (max-width: 1112px) {
  
  .nav_inner {
    justify-content: center;
    flex-wrap: wrap;
  }

  .nav_sub ul {
    list-style: none;
    display: flex;
    width: 100%;
    justify-content: center;
  }

  .nav_sub ul li a{
    font-size: 14px;
  }

  .sticky .logo{
    height: 30px;
  }
}

@media screen and (max-width: 1024px) {
  .flex{
    flex-wrap: wrap;
  }
  .flex_4er{
    flex: 0 0 calc(50% - 40px);
  }
  .flex_text, .flex_img, .zweispalten {
    flex: 100%;
  }

  .zweispalten:last-child{
    padding-left: 0px;
    margin-top: 40px;
    border-left: none;
  }
  
  .img_50_full, .img_50_full_right{
    position: static;
    width: 100%;
	  max-width: unset;
  }

  .flex_3er {
    flex: 0 0 calc(50% - 40px);
  }
  .img_50_full_right{
    margin-bottom: 40px;
  }
  .immobilien .flex_3er {
    flex: 0 0 calc(50% - 20px);
  }
  form {
    width: 100%;
    max-width: unset;
    margin: 0 auto;
  }
  form.mt_40{
    margin-top: 0px;
  }

  .sub .carousel-caption h1 {
    font-size: 38px;
  }
}



@media screen and (max-width: 768px) {
  .toogle_menu{
    display: inline-block;
  }

  .logo{
    height: 15px;
    width: auto;
  }

  .sticky .logo{
    height: 15px;
}

  .nav_sub{
    background-color: rgba(0,0,0, .5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 10px 0px 10px;
  }

  .nav_sub ul{
    position: relative;
    z-index: -1;
    opacity: 0;
    display: block;
    max-height: 0;
    pointer-events: none;
    margin: 0;
    transition: all 0.3s ease-in-out;
  }

  .nav_sub ul.active{
    opacity: 1;
    z-index: 2;
    max-height: 100vh;
    pointer-events: inherit;
  }

  .nav_sub ul li {
    margin-left: 0px;
    width: 100%;
    text-align: left;
    text-decoration: unset;
    
  }

  .nav_sub ul li a {
    font-size: 14px;
    display: block;
    padding: 10px;
  }

  .nav_sub ul .dropdown{
    position: static;
    max-height: unset;
    opacity: 1;
    gap: 0;
  }

  .nav_sub ul .dropdown ul{
    border: none;
    background-color: transparent;
    padding: 0px 20px;
  }

  .nav_inner{
    justify-content: space-between;
  }

  form {
    flex: 0 0 100%;
  }
  .kontakt_info {
    flex: 0 0 100%;
    width: 100%;
    max-width: 480px;
    margin: 80px auto 0px;
  }

  .immo_details .immo_detail {
    flex: 0 0 calc(50% - 10px);
  }
}


@media screen and (max-width: 480px) {
  section{
    padding: 40px 0px;
  }
  .mmt_50{
    margin-top: 50px;
  }
  section h2{
    margin-bottom: 40px;
    hyphens: auto;
    font-size: 30px;
  }
  
  .leistungs_item h3 {
    max-width: 100%;
  }
  .imp_data_index{
    top: 40px;
    bottom: auto;
    left: 60px;
  }

  .carousel-caption h1, .carousel-caption h2 {
    font-size: 40px;
    margin-bottom: 30px;
    hyphens: auto;
}


.marquee-content p {
  font-size: 28px !important;
  margin-right: 50px;
}

.pt_100{
  padding: 40px 0px 0px 0px !important;
}

.flex{
  gap: 40px;
}

.flex_4er, .flex_3er, .immobilien .flex_3er {
  flex: 100%;
}

.contact_info{
  margin-top: 40px;
}

.contact_info .btn{
  margin-top: 0px;
}

.footer-copy .flex, .footer-copy .flex div{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.pattern {
  background-size: 50%;
}

.sub .carousel-item{
  height: 450px;
}

.sub .carousel-caption h1 {
  font-size: 22px;
  hyphens: auto;
}

.carousel_immobilien_imgs .carousel-indicators [data-bs-target] {
  flex: 0 0 25%;
  height: 60px;
}

.immo_details .immo_detail {
  flex: 0 0 100%;
}

.overview {
  padding: 40px 20px;
}

.overview h2 {
  margin-bottom: 20px;
}

.conIcon{
  width: 40px;
  height: 40px;
}

.conIcon svg{
  width: 15px;
  height: 15px;
}

.font_big {
  font-size: 28px;
}

.partner img{
  height: 45px;
}

.marquee_footer .marquee-content{
  gap: 40px;
}
	
	.mmt_100{
		margin-top:100px
	}
  
}

