/*  ALLGMEIN ANFANG  ----------------------------------------------------------------------------------  */

section.dark {
    background: #828282; 
}

section.dark.green {
    background: #67a83c; 
}

section.dark * {
    color: #fff;
}

*:first-child {
    margin-top: 0;
}

*:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

.maplink:before {
    content: "\e062";
    font-weight: normal;
    font-size: inherit;
    margin-right: 3px;
    text-decoration: none;
    font-family: 'Glyphicons Halflings';
    color: #67a83c;
}

ul {
    margin-bottom: 2rem;
    padding-left: 2rem;
}

.home h2 {
    width: 65%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4rem;
    text-align: center;
}      

.home .accordion-panel .panel-body > ul {
    padding-left: 0;
}

.home .accordion-panel li {
    list-style-type: none;
    text-align: center;    
}

.home .accordion-panel .panel-body {
    padding: 3rem;
}

nav ul.topmenu li.menu-item-208 a {
    background-color: #67a83c;
    color: #fff;
    line-height: 2.5;
    border-radius: 4px;
    border: 1px solid #67a83c;
    display: inline-block;
}

nav ul.topmenu li.menu-item-208:hover a {
    background-color: #fff;
    color: #67a83c;
    line-height: 2.5;
    border-radius: 4px;
    border: 1px solid #67a83c;
    display: inline-block;
}

nav ul.topmenu li.menu-item-208:hover a {
    background-image: none;

}

a.btn-secondary {
    display: inline-block;
    color: #343434;
    background: white;
    border: 1px solid;
    white-space: normal;
    border-radius: 4px;
    font-size: inherit;
    transition: all 0.2s ease-in-out;    
}

.btn-secondary:hover {
    background: #fff;
    color: #67a83c;
    border: 1px solid;
}

@media (min-width: 992px) {

.home .content p {
    text-align: center;
    margin: 0 auto;
    width: 65%;
    line-height: 2;
}

.home h2 {
    width: 65%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4rem;
}

.home .accordion-panel {
    width: 65%;
    margin: 0 auto 3rem auto;
    border: 1px solid #67a83c;
}

.home .accordion-panel .panel-body > * {
    width: 100%;
}

}

@media (min-width: 768px) {

div.grid-ul {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr auto 1fr;
    grid-template-columns: 1fr auto 1fr;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    margin-bottom: 3rem;
}

div.grid-ul > ul {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1 / 2;
}

}

/*  ALLGMEIN ENDE  ----------------------------------------------------------------------------------  */

/*  Sprechzeitentrenner ENDE  ----------------------------------------------------------------------------------  */

.sprechzeitentrenner {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    grid-template-rows: 1fr;
    align-items: stretch;
    padding: 0;
}

.sprechzeitentrenner:before, .sprechzeitentrenner:after {
    display: none;
}

.sprechzeitentrenner .hintergrund {
    background: #fff;
    height: 100%;
    align-self: center;
}

@media (max-width: 991px) {

    .sprechzeitentrenner {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    
}

/*  Sprechzeitentrenner ENDE  ----------------------------------------------------------------------------------  */

/*  HOME-TEASER ANFANG  -----------------------------------------------------------------------------------  */

.grid.container:before, .grid.container:after  {
    display: none;
}

.home-teaser-box {
    max-width: 630px;
    padding: 1.5rem;
    background: #fff;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;            
}

div.home-teaser-box *:not(a) {
    color: #343434;
}

.home-teaser-box .btn {
    margin-top: 2rem;
    margin-bottom: 0;
    font-size: inherit;
}

.home-teaser-box img {
    width: 100%;
    max-width: 600px;
}

.home-teaser-box h3 {
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    text-align: center;
} 

.home-teaser-box h3:after {
    content: "";
    position: relative;
    background: #67a83c;
    height: 2px;
    width: 100px;
    display: block;
    margin: 0 auto; 
    margin-top: 1.5rem;
}

.home-teaser-box p {
    text-align: center;
}       

.home-teaser-box:before {
    content: "";
    position: absolute;
    left: 51%;
    right: 51%;
    top: 0;
    background: #67a83c;
    height: 2px;
    -webkit-transition-property: left, right;
    transition-property: left, right;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.home-teaser-box:hover:before {
    left: 0;
    right: 0;
}

.home-teaser-box > h3 + div {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
}

@media (min-width: 992px) {   

.home-teaser.grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: 1fr repeat(2, 3rem 1fr);
    -ms-grid-rows: auto 3rem auto;
    grid-template-rows: auto 3rem auto;
}

.home-teaser.grid > *:nth-child(3n-2) {
     -ms-grid-column: 1;
     -ms-grid-column-span: 1;
     grid-column: 1 / 2;    
}

.home-teaser.grid > *:nth-child(3n-1) {
     -ms-grid-column: 3;
     -ms-grid-column-span: 1;
     grid-column: 3 / 4;    
}

.home-teaser.grid > *:nth-child(3n) {
     -ms-grid-column: 5;
     -ms-grid-column-span: 1;
     grid-column: 5 / 6;    
}

.home-teaser.grid > *:nth-child(-n+3) {
     -ms-grid-row: 1;
     -ms-grid-row-span: 1;
     grid-row: 1 / 2;    
}

.home-teaser.grid > *:nth-child(n+4):nth-child(-n+6) {
     -ms-grid-row: 3;
     -ms-grid-row-span: 1;
     grid-row: 3 / 4;    
}

}

@media (min-width: 768px) and (max-width: 991px) {

.home-teaser.grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: 1fr repeat(1, 3rem 1fr);
    grid-template-rows: auto repeat(2, 3rem auto);
}

.home-teaser.grid > *:nth-child(2n-1) {
     -ms-grid-column: 1;
     -ms-grid-column-span: 1;
     grid-column: 1 / 2;    
}

.home-teaser.grid > *:nth-child(2n) {
     -ms-grid-column: 3;
     -ms-grid-column-span: 1;
     grid-column: 3 / 4;    
}

.home-teaser.grid > *:nth-child(-n+2) {
     -ms-grid-row: 1;
     -ms-grid-row-span: 1;
     grid-row: 1 / 2;    
}

.home-teaser.grid > *:nth-child(n+3):nth-child(-n+4) {
     -ms-grid-row: 3;
     -ms-grid-row-span: 1;
     grid-row: 3 / 4;    
}

.home-teaser.grid > *:nth-child(n+5):nth-child(-n+6) {
     -ms-grid-row: 5;
     -ms-grid-row-span: 1;
     grid-row: 5 / 6;    
}

}

@media (max-width: 767px) {

.home-teaser.grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    grid-template-rows: auto repeat(5, 1.5rem auto);
    justify-items: center;
}

.home-teaser.grid > * {
     -ms-grid-column: 1;
     -ms-grid-column-span: 1;
     grid-column: 1 / 2;
}     

.home-teaser.grid > *:nth-child(1) {
     -ms-grid-row: 1;
     -ms-grid-row-span: 1;
     grid-row: 1 / 2;
}

.home-teaser.grid > *:nth-child(2) {
     -ms-grid-row: 3;
     -ms-grid-row-span: 1;
     grid-row: 3 / 4;
}

.home-teaser.grid > *:nth-child(3) {
     -ms-grid-row: 5;
     -ms-grid-row-span: 1;
     grid-row: 5 / 6;
}

.home-teaser.grid > *:nth-child(4) {
     -ms-grid-row: 7;
     -ms-grid-row-span: 1;
     grid-row: 7 / 8;
}

.home-teaser.grid > *:nth-child(5) {
     -ms-grid-row: 9;
     -ms-grid-row-span: 1;
     grid-row: 9 / 10;
}

.home-teaser.grid > *:nth-child(6) {
     -ms-grid-row: 11;
     -ms-grid-row-span: 1;
     grid-row: 11 / 12;
}

}

/*  HOME-TEASER ENDE  ---------------------------------------------------------------------------------------------------------------------  */

/*  FOOTER ANFANG  --------------------------------------------------------------------------------------------------------------------------  */

@media (min-width: 992px) {

footer > div > div > div:nth-of-type(2) .row > div:nth-of-type(odd) {
    text-align: left;
} 

footer > div > div > div:nth-of-type(2) .row > div:nth-of-type(even) {
    text-align: right;
}

}

@media (max-width: 991px) {   

footer h3, footer > div > div > div:not(:nth-child(2)) p {
    text-align: center;
}

footer > div > div > div:nth-of-type(2) .row > div:nth-of-type(odd) {
    text-align: right;
} 

footer > div > div > div:nth-of-type(2) .row > div:nth-of-type(even) {
    text-align: left;
}

footer > div > div > div:not(:last-child) {
    margin-bottom: 3rem;
} 

}

/*  FOOTER ENDE  --------------------------------------------------------------------------------------------------------------------------  */

/*  PARALLAX ANFANG  ---------------------------------------------------------------------------------------------------------------------  */

section.parallax {
    background-size: cover;
    background-attachment: fixed;
    background-position: 50% 30%;
    background-repeat: no-repeat;
    height: 100vh;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
}

section.parallax.one {
    background-image: url(/wp-content/uploads/2022/01/Parallax-1-Startseite.jpg);
}

section.parallax.two {
    background-image: url(/wp-content/uploads/2022/01/Parallax-2-Startseite.jpg);
    padding-bottom: 24vh;
}

section.parallax.two > div {
    padding: 10vh 5vw 10vh 5vw;
    background: rgb(103 168 60 / 90%);
    text-align: center;
    position: relative;
    align-self: flex-end;
    max-width: 50%;
}


.parallax.two p {
    color: #fff;
    font-size: 2rem;
    text-align: center;
}

.parallax.two h2 { 
    margin-top: 0rem;
    margin-bottom: 4rem;
    text-align: center;
    color: #fff;
}

.parallax.two a { 
    color: #fff;
    font-size: 2rem;
}

.parallax.two a:hover { 
    color: #fff;
}

.parallax.two .btn {
    margin-bottom: 0rem;
    margin-top: 1.5rem;
    border-color: #fff;
}

.parallax.two .btn:hover {
    color: #67a83c;
}

@media (max-width: 991px) {
    section.parallax {
        background-position: 38% 50%;        
    }

    .parallax.two h2 { 
        text-align: center;
    }  
}

@media (max-width: 991px) {
    
	section.parallax.two > div {
		max-width: 90%;
	}
	
}

@supports (-webkit-touch-callout: none) {
    
     .parallax.two {
        background-image: none !important;
        position:relative;
        background: transparent !important;
    }
    .parallax.two:before {
        content: "";
        background-image: url(/wp-content/uploads/2022/01/Parallax-2-Startseite.jpg);
        position: fixed;
        height: 100%; 
        width: 100%;
        z-index: -1;
        top: 0;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    
 
}

@supports (-webkit-touch-callout: none) {
    
     section.parallax.two {
        background-image: none !important;
        position:relative;
        background: transparent !important;
    }
    
    .parallax.two:before {
        content: "";
        background-image: url(/wp-content/uploads/2021/12/parallax.jpg);
        position: fixed;
        height: 100%; 
        width: 100%;
        z-index: -1;
        top: 0;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    
 
}

/*  PARALLAX ENDE  ---------------------------------------------------------------------------------------------------------------------  */

/*  SIDEBAR ANFANG  ------------------------------------------------------------------------------------------------------------------------  */

aside .accordion .panel {
    border: 1px solid #777;
    border-radius: 0;
}

.panel-body {
    padding: 8px;
}

aside .panel-group > div:nth-child(2) .row > div:nth-child(even) {
    text-align: right;
} 

a.accordion-button.v3:after {
    content: "\e260";
    font-family: 'Glyphicons Halflings';
    font-size: 17px;
    float: right;  
    position: relative;  
    top: 0;
    right: 5px;
    -webkit-transition: all cubic-bezier(0.62, 0.03, 0.5, 1.15) .5s;
    -o-transition: all cubic-bezier(0.62, 0.03, 0.5, 1.15) .5s;
    transition: all cubic-bezier(0.62, 0.03, 0.5, 1.15) .5s;
}

a.accordion-button.v3.collapsed:after {
    transform: rotateZ(180deg);    
}

@media (max-width: 991px) {

aside.willkommen {
    display: none;
}

}

/*  SIDEBAR ENDE  --------------------------------------------------------------------------------------------------------------------------  */

/*  TEAMSEITE ANFANG  ------------------------------------------------------------------------------------------------------------------------   */

section.team {
    padding-top: 0;
    padding-bottom: 0;
}                      

.tb.row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    flex-diretion: row;
}

.umschlag-box-teaser {
    position: relative;
    float: left;
    width: 100%;
    overflow: hidden;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    text-align: center;
}

.umschlag-box-teaser:hover {
    background: #a4a4a4;
}    

.umschlag-box-teaser:before, .umschlag-box-teaser:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    -webkit-transition: all 0.35s;
    -o-transition: all 0.35s;
    transition: all 0.35s;
    opacity: 0;
}

.umschlag-box-teaser:hover:before, .umschlag-box-teaser:hover:after {
    width: 100%;
    height: 100%;
    opacity: 1;
    -webkit-transition-delay: 200ms;
    -o-transition-delay: 200ms;
    transition-delay: 200ms;
}

.umschlag-box-teaser img {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.umschlag-box-teaser:hover img {
    opacity: 0.3;
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
    -ms-transform: scale(1.2);
}

.umschlag-box-caption {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    flex-direction: column;
    position: absolute;
    top: 15px;
    bottom: 15px;
    right: 15px;
    left: 15px;
    color: #fff;
    border: 1px solid #fff;
    background: rgba(0,0,0,0);
    -webkit-transition: all 0.35s;
    -o-transition: all 0.35s;
    transition: all 0.35s;
    -webkit-box-shadow: 0 0 0 0 rgb(255 255 255 / 0%);
    box-shadow: 0 0 0 0 rgb(255 255 255 / 0%);
    opacity: 0;
    align-items: center;
    justify-content: center;
}

.umschlag-box-caption p {
    color: #fff;
}

.umschlag-box-teaser:hover .umschlag-box-caption {
    -webkit-box-shadow: 0 0 0 30px rgb(255 255 255 / 20%);
    box-shadow: 0 0 0 30px rgb(255 255 255 / 20%);
    opacity: 1;
}

@media (min-width: 992px) {

.team-flex {
    flex-basis: calc(100%/3);    
}

}

@media (max-width: 991px) {

section.team > div {
    flex-direction: row;
}

.team-flex.dark {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

}

@media (min-width: 768px) and (max-width: 991px) {

.team-flex {
    flex-basis: 50%;    
}

}

@media (max-width: 767px) {

.team-flex {
    flex-basis: 100%;    
}

}

/*  TEAMSEITE ENDE  ------------------------------------------------------------------------------------------------------------------------   */

/* Galerie Anfang ----------------------------------------------------------------------------*/

.galerie img {
    width: 100%;
    margin-bottom: 3rem;
}

/* Galerie Ende ----------------------------------------------------------------------------*/

/*  Boxen Standorte Anfang  --------------------------------------------------------------------------------  */

section.boxen-standorte {
    background: #67a83c;
    padding: 10rem 0rem;
}

.boxen-standorte .inner {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.boxen-standorte .inner h2 {
    margin:0;
    flex-basis: 100%;
    text-align: center;
    padding-bottom: 7rem;
    margin-top: 0rem;
    font-size: 3.5rem;
    text-transform: uppercase;
    color: white;
}

.boxen-standorte .inner .trenner {
   display: block;
    flex-basis: 100%;
}

.boxen-standorte .inner .trenner:before {
    right: 53%;
}

.boxen-standorte .inner .trenner:after {
    left: 53%;
}

.boxen-standorte > .inner > div > p {
    margin:0;
    flex: 1 0;
        text-align: center;
}

.boxen-standorte > .inner > div > p:nth-of-type(1) {
    font-size: 3rem;
    padding-top: 1.5rem;
    padding-bottom:0.5rem;
    flex: 0 0;
    text-align: center;
}

.boxen-standorte > .inner > div > p:nth-of-type(1):after {
       content: "";
    position: relative;
    background: #67a83c;
    height: 2px;
    width: 100px;
    display: block;
    margin: 0 auto;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.boxen-standorte .inner .box-standort {
   flex-basis: 32%;
    max-width: 32%;
    background: white;
    margin-bottom: 0rem;
    padding: 2rem;
}

.box-standort {
    padding:1.5rem;
    position: relative;
    display: flex;
    flex-flow: column wrap;
    justify-content: space-between;

}

.boxen-standorte p {
    padding-bottom: 3rem;
}

.box-standort a.telefonlink:before {
    font-size: 1.5rem;
}
.box-standort:before {
        content: "";
    position: absolute;
    left: 51%;
    right: 51%;
    top: 0;
    background: #343434;
    height: 2px;
    -webkit-transition-property: left, right;
    transition-property: left, right;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; 
}
.box-standort:hover:before {
    left: 0;
    right: 0;
}
.box-standort img {
    width: 100%;
    max-width: 50px;
    height: auto;
    margin: 2rem auto 0; 
}

.box-standort a.link-button {
    padding: 1rem;
    background: linear-gradient(45deg, #de0029, #8A0018);
    border: 1px solid transparent;
    color: white;
    border-radius: 5px;    
    display: block;
    margin: 0 auto 2.5rem;
    align-self: flex-end;
    -moz-transition: all .1s ease-in;
    -o-transition: all .1s ease-in;
    -webkit-transition: all .1s ease-in;
    transition: all .1s ease-in;
}
.box-standort a.link-button:hover {
    padding: 1rem;
    background: white;
    border: 1px solid #de0029;
    color: #de0029;
    -moz-transition: all .1s ease-in;
    -o-transition: all .1s ease-in;
    -webkit-transition: all .1s ease-in;
    transition: all .1s ease-in;
}

.box-standort .sprechzeiten > p > a.telefonlink {
    text-align: center;
}

.box-standort > p:last-of-type {
    padding-bottom: 1.5rem;
}


@media (min-width: 992px) and (max-width: 1199px) {
    .boxen-standorte .inner {
        width: 970px !important;
        margin: 0 auto;
        padding-left: 15px;
        padding-right: 15px;
    }
    
}
@media (max-width:767px) {
    .boxen-standorte .inner .box-standort {
        flex-basis: 100%;
        max-width: 100%;
        background: white;
        margin-bottom: 0rem;
        padding: 1.5rem;
    }
    
    .boxen-standorte .inner .box-standort:first-of-type {
        margin-bottom: 7rem;
    }
    
    .boxen-standorte .inner {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

@media (min-width: 992px) {
    .box-standort .sprechzeiten {
        margin: 0 auto;
        width: 80%;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .boxen-standorte .inner .box-standort {
        flex-basis: 50%;
        max-width: 45%;
    }
}

/*  Boxen Standorte Ende  ---------------------------------------------------------------------------------------------------  */

/*  Sprechzeiten Anfang  ---------------------------------------------------------------------------------------------------  */

.sprechzeiten p {
    text-align: left;
    max-width: 250px;
    display: table;
    width: 65%;
    margin: 0 auto;
}

footer .sprechzeiten p {
    width: 100%;
    margin: 0;
    max-width: 100%;
}

aside .sprechzeiten p {
	width: 100%;
	max-width: 350px;
}

.sprechzeiten p > span {
    float: right;
    text-align: right;
    font-size: inherit;
}

.dark.green h3 {
    text-align: center;
    margin-bottom: 2rem;
}

@media (min-width: 992px) and (max-width: 1199px) {
	
	footer .sprechzeiten p {
		margin-left: 0;
	}
	
}

@media (min-width: 768px) and (max-width: 1199px) {
	
	.footercol {
		margin-bottom: 3rem;
	}
	
}

@media (max-width: 767px) {
	
	.row > div:nth-child(1) > .sprechzeiten {
		margin-bottom: 3rem;
	}
	
}

/*  Sprechzeiten Ende  ---------------------------------------------------------------------------------------------------  */

/* Team ANFANG */

div.team-container > div.row > div:nth-of-type(3), div.team-container > div.row > div:nth-of-type(4) {
    margin-top: 7rem;
}

div.team-container p > .btn-secondary {
    margin-right: .4rem;
}

.team-container h2 {
    margin-top: 0rem;
}

.team-container img {
    width: 100%;
    max-width: 500px;
    height: auto;
}

.container .team-container p {
    text-align: left;
    width: 100%;
}

.container .team-container h2 {
    width: 100%;
    text-align: left;
}

@media (min-width: 768px) {
    .team-container .sprechzeiten {
        width: calc(100%/3);
        margin: 0;
    }
}

@media (max-width: 767px) {
    .team-container img {
        width: 100%;
        height: auto;
    }
    
     .team-container .sprechzeiten {
        margin: 0;
    }
}

@media (max-width: 991px) {
    .team-container h2 {
        margin-top: 6rem;
    }
}

/* Team ENDE */