


.gebflex > div { min-width: 50px; }

.angebotemenu { transition: all 0.2s; }

.kurscontainer select,
.kurscontainer button,
.kurscontainer input[type=text],
.kurscontainer input[type="number"],
.kurscontainer input[type="email"],
.kurscontainer input[type="tel"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0px;
    background: none;
    text-overflow: ellipsis;
}


.kurscontainer label { display: none; }
.kurscontainer input[type="range"]:focus
{
  outline: none;
}


.kurscontainer .choose-multiple {
  display: none;
  position: sticky;
  background: #FFF;
  left: 0px;
  bottom: 0px; width: 100%; padding: 18px 20px;
  z-index: 1000;
  text-align: center;
  background: #d71019;
  color: #FFF;
  font-size: 1.35em;
  font-family: 'Oswald';
  text-transform: uppercase;
 }

 .chooseprogram .arow.active {
   background: #e8e8e9; transition: all 0.3s; padding-left: 20px!important; padding-right: 20px!important;
 }

.kurscontainer .wpcf7-form::before {
  content:""; background: rgb(247, 247, 247);
  position: absolute; z-index: -1;
  width: 100%; height: 80px;
  top: 0px; left: 0px;
}

 .buchungsform-container .anmeldung p {
line-height: 1.44em;
margin: 2px 0px; }

 .choose-multiple:hover {
   background: #0d0d0d; cursor: pointer;
  }

 .plus, .minus {
  width: 30px; height: 30px;
  padding: 12px; background-color: #23396b;
}
.plus:hover, .minus:hover {
  cursor: pointer; background-color: #d71019;
}
.delete_address, .gutscheindelete {
  width: 25px; height: 25px; margin-left: 15px;
  background: #23396b;
  border-radius: 100%;
  background-image: url("../img/icon_del_white.svg");
  background-size: 25px 25px;
  background-repeat: no-repeat;
}

.delete_address:hover, .gutscheindelete:hover {
  background-color: #d71019; cursor: pointer;
}

.trainername, .tmail a, .tphone{ line-height: 1.1em; color: #8a8a8a; }
.gutscheindelete, .gutscheinanzeige { margin-bottom: 14px; }
.gutscheinproof { margin-bottom: 4px; }
.kurscontainer .gutscheinanzeige { margin-left: 1rem; }
.mb-s { margin-bottom: 15px; }
.mb-m { margin-bottom: 35px; }
.mr-m { margin-right: 1rem; }
.w-full { width: 100%; }
.items-end { align-items: flex-end; }
.space-between { justify-content: space-between; }
.minus {
  background-image: url("../img/icon_minus_white.svg");
  background-size: 30px 30px;
  background-repeat: no-repeat;
}
.plus {
  background-image: url("../img/icon_plus_white.svg");
  background-size: 30px 30px;
  background-repeat: no-repeat;
}
.segmented-control { margin: 20px 0px; }
 input[type="range"]{
  -webkit-appearance:none;
  display: inline-block;
  width: calc(100% - 60px);
  height:1px!important;
  background: none;
  margin: 0px 20px;
  border-radius:5px;
  border: 1px solid #d71019;
  outline: none;
}
.range input::-webkit-slider-thumb{
	-webkit-appearance:none;
	width:10px;
	height:20px;
	border-radius:50%;
	background-color:#0d0d0d;
}
&::-webkit-slider-thumb {
		-webkit-appearance: none;
    background: #d71019;
	}

 .buchungsform-container select {
  border: 1px solid #0d0d0d;
  padding: 12px 60px 12px 20px;
}

.buchungsform-container .wpcf7-submit {
  background: #d71019;
  color: #FFF;
  text-align: center;
  font-family: Oswald,sans-serif;
  text-transform: uppercase;
  transition: background-color .2s ease-out;
}

.buchungsform-container .wpcf7-submit:hover {
  background: #23396b;
  cursor: pointer;
}

.kurscontainer .hidden { display: none; }
.buchungsform-container input[type="number"] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}
.buchungsform-container input[type=number]::-webkit-inner-spin-button,
.buchungsform-container input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

 input[type="checkbox"] {
  border: 1px solid #000; border-radius: 0px!important; display: grid;
}
.wpcf7-radio input[type="radio"]:checked + label {
  color: #000;
}

input[type="radio"] {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  text-align: center;
  top: 0;
  left: 0;
  border: none!important;
  border-radius: 0px!important;
  opacity: 0;
  font-size: 1.1em;
}
.text-center { text-align: center; }
.kurscontainer .gutscheinproof p {
  background: #000; color: #FFF; padding: 12px 20px;
}
.kurscontainer .gutscheinproof p:hover {
  background: #d71019; cursor: pointer;
}


.kurscontainer .wpcf7-radio .wpcf7-list-item {
  position: relative;
  border: 1px solid #000;
  display: inline-block; padding: 12px 30px;
  opacity: 0.25;
}

.kurscontainer .wpcf7-radio .wpcf7-list-item:hover,
.kurscontainer .wpcf7-radio .wpcf7-list-item.active {
  opacity: 1;
  cursor: pointer;
}

.kurscontainer .wpcf7-radio .wpcf7-list-item.active {
  color: #000;
}

.kurscontainer .intro h2 { margin-bottom: 40px; }

.kurscontainer .buchungsform-container h3 {
  margin-bottom: 35px; margin-top: 0px!important;
}
.kurscontainer .buchungsform-container .row {
  margin-bottom: 24px;
}
.kurscontainer .buchungsform-container p.label {
  margin: 0px 0px 6px 0px; font-size: 0.9em; display: block;
}

input[type="radio"]:hover {
  cursor: pointer;
}

.kurscontainer .buchungsform-container .wpcf7-submit {
  font-size: 1.6em; line-height: 1.3em; width: 100%; display:block; padding: 24px 50px;
}

.kurscontainer .buchungsform-container .wpcf7-acceptance .wpcf7-list-item {
  margin: 0 1rem 0 0;
}

.kurscontainer .rgtext {
   padding-top: 10px;
   margin-top: 10px;
   border-top: 1px solid #e8e8e9;
  }

.kurscontainer .buchungsform-container .wpcf7-acceptance input {
margin: 0px;
}

.kurscontainer .wpcf7 { padding: 0px!important; }
.kurscontainer .wpcf7 fieldset { padding: 40px 60px; }
.kurscontainer .wpcf7 fieldset.rechnung { padding-top: 60px; }
fieldset.rechnung, fieldset.intro {
  background: rgb(247, 247, 247);
}


 .redcolor { color: #d71019; }
.adresswrong { font-size: 0.9em; }
 .perimeteranzeige { margin-left: 10px; display: inline-block; color: #d71019; }
 .locname .adress { color: #8a8a8a; }
.kurscontainer input, .kurscontainer select { display: inline-block; width: 100%; color: #0d0d0d; }
.kurscontainer select { background: url("../img/icon_plus.svg") no-repeat center right; background-size: 32px 32px; }
.kurscontainer input[type="text"], .kurscontainer input[type="number"], .kurscontainer input[type="email"] { border-radius: 0px; border-bottom: 1px solid #0d0d0d; padding: 10px 0px; margin-bottom: 4px; }
 .filterbtn:hover { border: 1px solid #0d0d0d; cursor: pointer; }
 #getlat:hover, .auswahlbtn:hover { background: #d71019; color: #FFF; cursor: pointer;  }
 #getlat:hover .perimeteranzeige, .auswahlbtn:hover .preis, .auswahlbtn:hover .streichpreis { color: #FFF!important; }
 .filterbtn { border: 1px solid #e8e8e9;  }
 #myadress { width: 260px; display: block; font-size: 0.9em; }

 .flex { display: flex; }
 #lat, #lon { text-align:right; }
.kurscontainer #offermap { width:60%;height:60vh;padding:0;margin:0; z-index: 90; }
.kurscontainer #list { flex-shrink: 0; height:60vh; width: calc(40% - 40px); padding-left: 40px; padding-right: 0px; overflow-y: scroll; }

.filterbtn {
    padding: 20px 60px 20px 20px; margin: 20px; color: #d71019;
    background: url("../img/icon_plus.svg") no-repeat center right; background-size: 32px 32px;
    font-family: 'Yantramanav'!important; font-size: 0.9em; line-height: 1em; color: #0d0d0d;
    text-transform: uppercase; letter-spacing: .15em; display: inline-block;
   }

  #datefilter, #plzfilter { border: 1px solid #e8e8e9; }
  #datefilter.filteractive, #plzfilter.filteractive { border: 1px solid #0d0d0d; }
	#datefilter:hover, #plzfilter:hover { cursor: pointer; border: 1px solid #0d0d0d; }
	#filter { position: relative; width: calc(100% -40px); margin-bottom: 30px;  justify-content: center; align-items: center; align-content: center; flex-wrap: wrap; padding: 30px 20px; }
	.kurscontainer .angebot, #pgcalender, #angeboteview, #locationview { display: none; }
	.kurscontainer .locname { padding: 8px 0px; width: calc(100% - 55px); }
	.kurscontainer .ortergebnisse { width:30px; line-height: 30px; height: 30px; border-radius: 50%; margin-right: 25px; background: #FFF; border: 1px solid #e8e8e9; text-align: center; transition: all 0.4s;}
	.bg { display: none; background: rgba(200,200,200,0.8); position: fixed; z-index: 20; top: 0px; left: 0px; height: 100vh; width: 100vw; }
	#popup, .buchungsform-container .innerpopup {
    display: none;
    background: #FFF;
    position: fixed;
    z-index: 22;
    padding: 0px;
    width: 1200px;
    top: 50%;
    left: 50%;
    margin: 10px 0px;
    transform: translate(-50%, -50%);
    overflow-y: scroll;
    max-width: calc(100vw - 20px);
    max-height: calc(100vh - 140px);
  }

  #locationview { margin-top: 40px; }
  #angeboteview, .kurscontainer .wpcf7, #locationview { padding: 0px 60px 60px 60px; }

	.ortbtn { align-items: center; align-content: center; padding: 0px 10px; }
  .close-btn, .closedetail-btn {
    display: block!important;
    position: sticky; margin-left: calc(100% - 85px);
    top: 20px; padding: 20px; z-index: 205;
    width: 30px;height: 30px;transition: all 0.3s;
    background-color: #e8e8e9;
    background-size: 20px; background-repeat: no-repeat; background-position: center;
   }
  .closebtn:hover { background-color: #d71019; }
	.closebtn:hover, .kurscontainer .ortbtn:hover, .arow:hover { cursor: pointer; }
	.ortrow, .arow { border-bottom: 1px solid #e8e8e9; }
  .chooseprogram { border-top: 1px solid #e8e8e9; }
	.ortrow:hover { border-bottom: 1px solid #0d0d0d; }
	.ortrow:hover .ortergebnisse { border: 1px solid #d71019; color: #FFF; background: #d71019; }
	.trainerimg img { display: inline-block; width: 100%; height: auto; vertical-align: middle; }
	.trainerimg { width: 55px; height: 55px; overflow: hidden; vertical-align: middle; border-radius: 100%; margin-right: 20px; }
  .angebotdetailspopup .trainerimg { width: 120px; height: 120px; margin-right: 0px; }
  .angebotdetailspopup p.text-subline { margin-top: 0px; }
	 .arow, .flex.arow { width: 100%; align-items: center; align-content: center; justify-content: space-between; padding: 20px 0px; column-gap: 25px; }
	 .infos { margin-bottom: 20px; }
 .flexcenter { align-items: center; align-content: center; }
	#popup .angebothead { padding-bottom: 8px; border-bottom: 1px solid #e8e8e9; }
	 .chooseprogram .date { width: 250px; color: #0d0d0d; flex-shrink: 0; }
  .arow > .flexcenter {
    width: calc( 100% - 520px);
  }

   .chooseprogram .date {
    width: 250px; font-size: 1em; line-height: 1em;
  }

  .info-btn {
    flex-shrink: 0;
    border: 1px solid #FFF;
  }

	.locname b, #popup b { line-height: 1.1em; margin-bottom: 14px; display: block; }
	#popup .head, #popup b, .locname b {
    font-size: 1.5em!important; line-height: 1.1em; color: #0d0d0d; font-family: 'Oswald'; text-transform: uppercase; letter-spacing: .04em; }

  #popup .tmail:hover a { color: #d71019; }

  .arow .trainerimg, .arow .trainername { display: none!important; }

	.dot { pointer-events: none; position: absolute; width: 100%; height: 500px; z-index: -1; background: url("/themes/custom/mfs_theme/img/dot.png"); }
	#empty { font-size: 18px; line-height: 1.1em; font-weight: 400; margin: 10px 0; letter-spacing: .35em; text-transform: uppercase; color: #d71019; text-decoration: none; }
  #popup .infos h3 { font-size: 1.8em!important; margin-bottom: 10px; }
  #popup br.always { display: block!important; }
  #popup .flex-always { display: flex!important; }
  #popup .route a { color: #0d0d0d; text-decoration: none; }
  .kurscontainer .qodef-icon--plus.icon_plus { width: calc(100% - 580px); background: url("../img/icon_plus.svg") no-repeat center right; height: 32px; background-size: 32px 32px;  }
  #adresswrong, #mylat, #mylon { display: none; }
  #ergebnisse { border: none!important; margin: 20px 40px; }
  .kurscontainer #ergebnisse b { display: inline-block; }
  .kurscontainer .zeitwahl { margin-bottom: 20px; justify-content: center; }
  .kurscontainer .zeitwahl > select, .zeitwahl > span { margin: 0px 20px; }
  #filter > div:first-child { margin-left: 0px!important; }
  .kurscontainer #ergebnisse { margin-right: 0px!important; }
  #zeit, #wochentag, #tag, #alter, #locationfilter { width: 200px; min-width: 200px; font-family: 'Oswald'; font-weight: 600; }

  .kurscontainer .locname span { line-height: 1em; }

  #mfs-extras .wpcf7-radio .wpcf7-list-item.last { display: none!important; }

#getlat, .auswahlbtn {
  color: #0d0d0d; width: calc(100% - 20px); border: 1px solid #d71019; min-width: 300px;
  padding: 30px 10px; text-align: center; margin: 0px 0px 0px 50px; font-size: 1.35em;
  font-family: 'Oswald'; text-transform: uppercase;
}

#popup .auswahlbtn { padding: 15px 10px; width: 340px; min-width: 340px; margin: 0px 0px 0px 20px; font-size: 1.05em; }
#popup .auswahlbtn .preis { color: #d71019; margin-left: 10px; }
#popup .auswahlbtn .streichpreis { margin-left: 10px; }

@media screen and (max-width: 1440px) {
  #filter { margin-bottom: 20px; padding: 0px 0px 20px 0px; }
}

@media screen and (max-width: 1240px) {
   #zeit, #wochentag, #tag, #alter, #locationfilter { width: 180px; min-width: 180px; }
}

@media screen and (max-width: 1024px) {
  .kurscontainer .filterbtn { font-size: 0.9em; }
  #filter { margin-bottom: 15px; padding: 0px 0px 18px 0px; }
  #popup .ortbtn { padding: 0px; }
  .container { max-width: 100%; width:calc(100% - 40px); padding:4% 20px; }
  .chooseprogram .date { width: 160px; }
  .qodef-icon--plus.icon_plus { width: calc(100% - 490px);  }
  #popup, .kurscontainer .wpcf7 { width: calc(100% - 80px); }
  #list { width: 40%; padding-left: 2%; padding-right: 0%; }
  .kurscontainer .filterbtn { padding: 18px 15px; margin: 10px 5px; }
  #ergebnisse { margin: 20px; }

  #popup .head, #popup b, #popup h3 {
  font-size: 1.3em!important;
  }

}

@media screen and (max-width: 800px) {
   #getlat { width: 100%; min-width: 100%; }
   .kurscontainer #myadress { width: calc(100% - 40px); }

  .kurscontainer .arow > .flexcenter { width: 50px; }
  .chooseprogram .date { width: calc(100% - 350px); }
  #locationview > .flex { display: block; }
  #getlat { margin: 25px 0px 10px 0px; }
  .kurscontainer .filterbtn { font-size: 0.8em; }
  .kurscontainer .flexmain { display: flex; flex-wrap: wrap; }
  .kurscontainer #map { height: 40vh; order: 2; }
  .kurscontainer #list { margin: 20px 0px; width: 100%; padding-left: 0%; margin-bottom: 10px; height: auto; order: 1; }
  #popup, .kurscontainer .wpcf7 { width: calc(100% - 80px);}
  #filter { margin-bottom: 10px; padding: 0px 0px 10px 0px; justify-content: space-between; }
  #zeit, #wochentag, #tag, .kurscontainer #ergebnisse, #alter, #locationfilter { width: 100%; min-width: 0px; margin: 8px auto!important; }
  .kurscontainer .filterbtn { padding: 20px 10px; }
  #ergebnisse { margin: 20px auto!important; }
  #ergebnisse b { margin-bottom: 4px; font-size: 1.5rem; }

  #ergebnisse { display: flex; margin-left: 0px; justify-content: center; }
    .kurscontainer .angebotecount { margin-right: 15px; }

  #popup .arow, .kurscontainer .flex.arow { flex-wrap: wrap; }
  #popup #angeboteview .trainerimg { width: 45px; height: 45px; }
  #popup .arow > .flexcenter { width: 100%; }
  #popup .auswahlbtn { width: calc(100% - 20px); margin: 15px 0px 0px 0px; min-width: 100%; }
  .chooseprogram .date { width: 100%; margin-bottom: 15px; }
  #popup .ansprechpartner > div { display: block; }
  #popup .tmail { margin-top: 20px; }

}

@media screen and (max-width: 600px) {

  #popup .arow .trainername { display: none; }

    #popup .buchungsform-container .tphone, #popup .buchungsform-container .tmail, .traininginfos .anmeldung {
      line-height: 1em; font-size: 15px;
     }

     #popup .label { line-height: 1.1em; }

     #popup .buchungsform-container .wpcf7-submit {
       font-size: 1.3em;
     line-height: 1.3em;
     padding: 20px 30px;
    }

  .kurscontainer select, .kurscontainer .buchungsform-container select {
    background-size: 25px 25px;
    padding: 12px 30px 12px 15px;
  }

.kurscontainer .close-btn { margin-left: calc(100% - 65px); }

  .kurscontainer h2 {
    font-size: 2.2rem;
  }

  .kurscontainer .wpcf7-radio .wpcf7-list-item {
  padding: 12px 22px;
}

  .kurscontainer h3 {
    margin-bottom: 30px;
  }

  .kurscontainer .closebtn  {
    margin-left: calc(100% - 55px);
  }

  .kurscontainer .wpcf7 fieldset {
  padding: 25px 50px;
  }
  .kurscontainer .wpcf7 fieldset.rechnung { padding-top: 45px; }

  .kurscontainer h3 {
    margin-bottom: 15px;
  }

  #angeboteview, .kurscontainer .wpcf7, #locationview {
  padding: 20px 20px 50px 20px;
  }

  .childcontainer {
    padding: 40px 30px!important;
    }

}

@media screen and (max-width: 480px) {

  .childcontainer {
    padding: 30px 20px!important;
    }

.kurscontainer .mobblock > div { width: 100%; display: block; }

.kurscontainer .close-btn { margin-left: calc(100% - 55px); }

  .kurscontainer .buchungsform-container .ansprechpartner .flex .flex {
    display: flex;
  }

  .kurscontainer .buchungsform-container .flex .mr-m {
    margin-right: 0rem;
  }

  .kurscontainer .buchungsform-container select {
    background-size: 20px 20px;
    padding: 12px 22px 12px 12px;
  }


  .kurscontainer .buchungsform-container .intro h2 {
  margin-bottom: 25px;
}

.intro .mb-m {
  margin-bottom: 25px;
}
.mobile-hidden { display: none; }


  .kurscontainer .wpcf7 fieldset {
  padding: 20px 30px;
  }
  .kurscontainer .wpcf7 fieldset.rechnung { padding-top: 40px; }

  .kurscontainer .filterbtn { font-size: 0.8em; }
  #popup, .kurscontainer .wpcf7 { width: calc(100% - 40px); }
  .kurscontainer .filterbtn { padding: 22px 10px; margin: 5px 0px; }
  #ergebnisse { margin: 12px 8px 8px 8px; }

  #locationfilter, #ergebnisse, #zeit, #wochentag, #tag, #ergebnisse, #alter { width: 100%; }

}
