:root {
  /* brand color */
  --brand-color: #4faf32;
}

body {
  background-color: #fff;
}


.msetechnik {
    position: absolute;
    font-weight: 200;
    font-size: 10px;
    color: #ffffffcc;
    margin: -9px 0px 0px -2px;
    text-shadow: 1px 1px 2px rgb(0 0 0 / 11%), -1px -1px 2px rgb(255 255 255 / 0%);
}

.footer .box .logo img {
  width: 13rem;
}

.title {
  font-size: 26px;
}

.title-2 {
  color: var(--title-2-color);
  font-size: 26px;
  font-weight: bold;
  position: relative;
}

.pretitle {
	text-transform: capitalize;
	color: #48ab33;
}

.black {
	position: absolute;
	width: 100%; 
	height: 100%; 
	background: #000; 
	opacity: 0.25;
	display: none;
}


.q-block .calc-btn span {
	min-height: 53px;
    padding-top: 5px;
	display: inline-flex;
    justify-content: center;
    align-items: center;
}

.text-calendar {
    font-size: 18px;
    width: 100%;
    display: inline-flex;
    justify-content: center;
    padding-bottom: 10px;
}

.calendar .calendar-app {
    padding: 35px 30px;
}

.portfolio-btn {
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
    color: #6f6f6f;
    border: none;
    padding: 4px 12px 4px 12px;
    background-color: #eff0ef;
    border-radius: 5px;
}

	.dropdown-menu {
		padding: 0;
	}

.portfolio-btn .active {
	color: #fff;
	background-color: #4faf32;
}


.portfolio-btn:focus {
    color: #fff;
    background-color: #4faf32;
}

.portfolio-btn:hover {
	color: #000000;
	background-color: #4faf32;
}

.first_title {
	max-width: 750px;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.0));
    padding: 0px 10px 10px 10px;
	position: absolute;
    top: 20%;
}

.first-btn {
	
}
.first_title p {
	
}

.first_title span {
	
}

.first_title strong {
	line-height: 36px;
}

.box.box-hover::before {
	background: linear-gradient(45deg, rgba(49, 161, 57, 1)  0%, rgba(167, 213, 28, 1) 100%);
}
.box.box-hover:hover > p {
  color: #fff;
}

.btn,
.btn-sec {
	border: none;
    background: #ffffff;
    color: #000000;
    border-radius: 6px;
    padding: 3px 22px;
}


.form-calculating {
	margin-top: 45px;
}

.btn_menu {
	font-size: 16px;
	font-weight: 600;
	border: none;
    background: #00000066;
    color: #ffffff;
    border-radius: 6px;
    padding: 3px 15px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
	cursor: pointer;
    z-index: 1;
}

.btn_menu:hover {
    background: #000000a8;
    color: #ffffff;
}

.btn_top {
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    border: none;
    background: #85bd18;
    color: #ffffff;
    border-radius: 6px;
    padding: 12px 25px 10px 25px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    cursor: pointer;
    z-index: 1;
}

.btn_top:hover {
    background: #70a900;
    color: #ffffff;
}


.next-back-btn {
    font-size: 22px;
    font-weight: normal;
    border: none;
    background: #408e29;
    color: #ffffff;
    border-radius: 2px;
    padding: 5px 20px 5px 20px;
    cursor: pointer;
    z-index: 1;
	margin-left: 10px;
}

.next-back-btn:hover {
    background: #50ae34;
    color: #ffffff;
}

.book-btn {
    font-size: 22px;
    font-weight: normal;
    border: none;
    background: #408e29;
    color: #ffffff;
    border-radius: 2px;
    padding: 5px 20px 5px 20px;
    cursor: pointer;
    z-index: 1;
	margin-left: 10px;
}

.book-btn:hover {
    background: #50ae34;
    color: #ffffff;
}


.next-step-btn {
    font-size: 22px;
    font-weight: normal;
    border: none;
    background: #408e29;
    color: #ffffff;
    border-radius: 2px;
    padding: 5px 20px 5px 20px;
    cursor: pointer;
    z-index: 1;
	margin-left: 10px;
}

.next-step-btn:hover {
    background: #50ae34;
    color: #ffffff;
}

.change-btn {
    font-size: 16px;
    font-weight: normal;
    border: none;
    background: #eff0ef;
    color: #000000;
    border-radius: 25px;
    border: 2px solid #4faf32;
    padding: 4px 20px 5px 20px;
    cursor: pointer;
    z-index: 1;
    margin-left: 10px;
}

.change-btn:hover {
    background: #50ae34;
    color: #ffffff;
}

.next-step-mobile-btn {
    font-size: 18px;
    font-weight: normal;
    border: none;
    background: #408e29;
    color: #ffffff;
    border-radius: 4px;
    padding: 5px 0px;
    min-width: 100%;
    cursor: pointer;
    z-index: 1;
}

.q-block .calc-btn, .q-block .gender-btn, .q-block .preference-btn {
	padding: 40px 12px;
}

.next-step-mobile-btn:hover {
    background: #50ae34;
    color: #ffffff;
}

.email-btn {
	font-size: 20px;
    font-weight: normal;
    border: none;
    background: #408e29;
    color: #ffffff;
    border-radius: 5px;
    padding: 5px 20px 5px 20px;
}

.email-btn:hover {
    background: #50ae34;
    color: #ffffff;
}


.navbar {
	background: linear-gradient(45deg, rgba(49,161,57,1) 0%, rgba(167,213,28,1) 100%);
	-webkit-box-shadow: 0px 0px 20px 7px rgb(0 0 0 / 35%);
    box-shadow: 0px 0px 20px 7px rgb(0 0 0 / 35%);
	min-height: 64px;
}

.navbar .logo {
  width: 14rem;
}

.navbar.sticky {
  background-color: #fbfbfb;
}

.navbar ul li a {
  font-weight: normal;
  font-size: 16px;
  text-transform: uppercase;
  color: #ffffff !important;
  border-radius: 3px;
}

.navbar .dropdown-menu {
    background: rgba(0, 0, 0, .3) !important;
    border: none;
}


.navbar .dropdown-menu .dropdown-item {
	background: none !important;
}

.navbar .dropdown-item.active,
.navbar .dropdown-item:active {
    background: rgba(0, 0, 0, .3) !important;
}

.navbar .dropdown-item:hover {
    background: rgba(0, 0, 0, .2) !important;
}

.navbar ul li a:hover,
.navbar ul li a.active {
	background: rgba(0, 0, 0, .2);
	color: #fff !important;
}

.hero {
  min-height: 85vh;
  padding-top: 0rem;
}

#particles-js {
  opacity: 0.5;
}

#color-bg {
 background-size: cover;
 background-repeat: no-repeat;
 background-color: #ffffff;
 padding: 30px 0px 90px 0px;
}

#color-bg-faq {
 background-size: cover;
 background-repeat: no-repeat;
 background-color: #f7f7f7;
 padding: 0px 0px 0 0px;
}

.box-service .box-icon i {
  color: #6dbb2a;
 }
 
.portfolio .img-overlay .tags span {
  color: #4faf32;
}

.counter-up {
  padding-bottom: 40px;
}

.nav-item {
	margin-right: 15px;
}

.q-block .calc-btn:hover,
.q-block .calc-btn.active,
.q-block .gender-btn:hover,
.q-block .gender-btn.active,
.q-block .preference-btn:hover,
.q-block .preference-btn.active{
    background-color: #4faf32;
}


.btn-link {
    font-size: 22px;
    text-decoration: none;
    font-weight: normal;
    border: none;
    background: #eff0ef;
    color: #484848;
    border-radius: 2px;
    padding: 5px 20px 5px 20px;
    z-index: 1;
}

.btn-link:hover {
	text-decoration: none;
    background: #50ae34;
    color: #ffffff;
}

.btn-link svg{
    fill: #4faf32;
}

.step-finish{
    background-color: #4faf32;
}

.q-block.step-block .manual-moving .link-action{
    color: #4faf32;
}

.step-progressbar .step-progressbar-line{
    background-color: #4faf32;
}

.step-progressbar .step-progressbar-line::before{
    background-color: #4faf32;
}
.q-block.step-block .manual-moving .link-action{
    color: #4faf32;
}
.step-points .step-circle.active{
    background-color: #4faf32;
}

.calendar .calendar-app .close-calendar{
    color: #4faf32;
}
.calendar .calendar-app .calendar-app-item .flatpickr-calendar-time .time-buttons button{
    border: 1px solid #4faf32;
}
.calendar .calendar-app .calendar-app-item .flatpickr-calendar-time .time-buttons button.active{
    background-color: #4faf32;
}
.card-box{
    padding: 25px 40px;
}
.card-box p{
	padding-top: 10px;
    line-height: 27px;
	font-size: 15px;
	font-weight: 500;
}

.card-box-top .card-box-title {
	font-size: 18px;
}

body.dark-mode .header .navbar,
body.dark-mode .calc-btn,
body.dark-mode .form-control,
body.dark-mode .select2-container--default .select2-selection--single,
body.dark-mode .select2-dropdown,
body.dark-mode .step-progressbar,
body.dark-mode .gender-btn,
body.dark-mode .preference-btn,
body.dark-mode .calendar .calendar-app{
    background-color: #262626;
}
body.dark-mode .navbar .logo {
  width: 17rem;
}
body.dark-mode .calendar .calendar-app .calendar-app-item .flatpickr-calendar-time .time-buttons button.active{
    background-color: #4faf32;
}
.video {
    height: 100%;
    position: absolute;
    left: 0;
    overflow: hidden;
	top: 0px;
	bottom: 0px; 
	width: 100%; 
	min-width: 1320px;
}

.video .videocontent {
	position: relative;
	height: 100%;
	width: 100%;
	z-index: -1;
	/*
	-moz-opacity: 0.5;
	opacity: 0.5;
	*/
}

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

.rotating-style {
	color: #fff;
    font-size: 36px;
    line-height: 1.3;
    font-weight: 600;
	margin-top: -15px;
	hyphens: auto;
}

.rotating-style span {
    width: 100%;
	hyphens: auto;
}

.rotating-text{
    flex-flow:row;
    justify-content:flex-start;
    align-items:center;
    height:5.4rem;
    position:relative
}
.rotating-text.is-h2{
    height:3.7rem
}
.rotating-text.is-h3{
    height:3.2rem
}
.rotating-text.is-h1{
    text-align:center
}
.rotating-headline-test-101024-test{
    justify-content:center;
    align-items:center;
    display:none
}

.rotating-text {
    position: relative;
    display: inline-block;
    vertical-align: bottom;
    overflow: hidden;
  }

  .rotating-text span2 {
    position: absolute;
    left: 0px;
    top: -5px;
    width: 100%;
    right: auto;
    max-width: 100% !important;
    bottom: auto;
    animation-name: rotate;
    animation-duration: 15s;
    animation-iteration-count: infinite;
    opacity: 0;
    /* white-space: nowrap; */
    transform: translateY(100%); /* Beginnt unterhalb des sichtbaren Bereichs */
	hyphens: auto;
  }

  .rotating-text span2:nth-child(1) {
    animation-delay: 0s;
  }

  .rotating-text span2:nth-child(2) {
    animation-delay: 3s;
  }

  .rotating-text span2:nth-child(3) {
    animation-delay: 6s;
  }

  .rotating-text span2:nth-child(4) {
    animation-delay: 9s;
  }
  .rotating-text span2:nth-child(5) {
    animation-delay: 12s;
  }


  @keyframes rotate {
    0% {
      opacity: 0;
      transform: translateY(100%); /* Start unterhalb */
    }
    10% {
      opacity: 1;
      transform: translateY(0); /* Sichtbar von oben nach unten */
    }
    20% {
      opacity: 1;
      transform: translateY(0); /* Bleibt sichtbar */
    }
    30% {
      opacity: 0;
      transform: translateY(-100%); /* Nach oben ausfaden */
    }
    100% {
      opacity: 0;
      transform: translateY(-100%); /* Außer Sicht nach oben */
    }
  }
  
  
	.navbar-nav .lang {
        padding: 2px 6px 2px 6px;
    }
  
  
  .box-p {
	padding: 12px 0px 10px 20px;
	background-color: #ffffff;
	color: #292836;
	font-size: 18px;
	font-weight: normal;
	border-radius: 5px;
    position: relative;
    height: 100%;
    z-index: 1;
    transition: color 300ms ease-in-out;
  }
  
  .my-4-custom {
	  margin-bottom: 10px !important;
  }
  
.box-p p { 
	margin: 0;
}

  .faq .box-p h4 {
	color: var(--title-2-color);
	font-size: 16px;
    font-weight: 500;
}
  
  .box-service {
	  background-color: #f6f6f6;
  }
  
  .faq .box h4 {
  color: var(--title-2-color);
	font-size: 18px;
    font-weight: normal;
}

  .faq .box p {
      font-size: 16px;
    font-weight: normal;
}

.faq .box i {
  font-size: 25px;
  color: var(--brand-color);
}

.step-progressbar .step-progressbar-line .step-progressbar-line-text{
    left: calc(100% - 72px);
    font-weight: 500;
}
  
.block_title {
    font-size: 24px;
    padding: 10px 0px 30px 10px;
    font-weight: bold;
    color: #595959;
}

.name_block {
	color: #53b031;
    font-size: 16px;
    font-weight: bold;
}


.step-title {
    font-size: 15px;
    font-weight: 500;
    color: #000000;
    min-height: 50px;
    margin: 5px 0;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    cursor: pointer;
}

.finish-step-title {
	font-size: 24px;
    font-weight: 500;
    color: #ffffff;
    min-height: 50px;
    margin: 5px 0;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    text-align: center;
    height: 200px;
}

.step-container .step-block {
	min-width: 100%;
}
  
  
.rotate-icon {
	position: absolute;
    right: 0px;
}

.faq .box-p h4 {
	max-width: calc(100% - 45px);
}

.faq-quest {
	margin: 5px 0 10px 0px;
	align-items: center;
}

.step-points {
    margin: 25px 0px;
}

.step-container {
	padding: 0;
	margin: 20px 0 20px 0;
}

@media (max-width: 768px) {
	  .video {
		height: 100%;
		position: absolute;
		right: 0;
		overflow: hidden;
		top: 0px;
		bottom: 0px;
		width: 100%;
		min-width: auto;
	  }
	  
	  .card-box {
		    padding: 20px 15px 15px 25px;
	}
	
	.title {
        font-size: 18px;
    }
	
	.language-switcher..on-mobile li .dropdown-menu {
		padding: 2px 7px;
	}
	
	.navbar-nav .lang {
        padding: 2px 6px 2px 6px;
    }
	.navbar ul li a {
		padding-left: 10px;
	}
	
	.btn_menu {
		font-size: 18px;
		margin-top: 5px;
		padding: 5px 20px;
	}
}


@media screen and (max-width: 1200px) {
	
	.block_title {
		font-size: 24px;
		padding: 0px 0px 20px 10px;
		font-weight: bold;
		color: #595959;
	}
	
	.finish-step-title {
		font-size: 18px;
	}
	
    .language-switcher.on-mobile li .dropdown-menu{
        width: 100%;
    }
	
    .q-block {
        justify-content: space-evenly;
    }
	
	.next-step-mobile-btn {
		font-size: 18px;
		padding: 5px 0px;
		min-width: 100px;
	}
	
	.first_title {
        position: absolute;
        border-radius: 0px;
        top: 64px;
		left: 0px;
		padding: 0 2rem;
        min-height: 60%;
        max-height: 80%;
        max-width: 103%;
	}
	
	.first-btn {
		margin-top: 30px;
	}
	
	#color-bg {
		padding: 30px 0px 0px 0px;
	}
	
	.navbar {
		min-height: 50px;
	}
	
	.title {
	  font-size: 18px;
	}
	
	.step-title {
		margin: 15px 0 10px 0px;
	}
	
	.faq-img {
		display: none;
	}
}

