/* STYLING ANPASSUNGEN - OLLI - 11.11.2021 START */

/* menu */
body > header > .menubar nav > ul > li.sub .opener {
    border-left: 0.3rem solid transparent;
    border-right: 0.3rem solid transparent;
    border-top: 0.4rem solid #000;
}
body > header > .menubar nav > ul > li.sub .opener:hover {
    border-top: 0.4rem solid #EC6095;
    border-top: 0.4rem solid #ec6095;
}
body > header > .menubar nav > ul > li.sub .sublevel {background: #f4f7f6;}
/* footer */

body > footer .footer-top,
body > footer .footer-bottom {
  background: #e8eaea;
  color: #4a4a4a;
}
body > footer .footer-top h4 {
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.imagemapping .map .marker {
    position: absolute;
    width: auto;
    height: auto;
    background-color: #ec6095;
    line-height: 1;
    border-radius: 50px;
    padding: 10px 15px 8px 15px;
    font-size: .8rem;
    transition: all .25s ease-in-out;
}
.imagemapping .map .marker.active,
.imagemapping .map .marker:hover {
    background-color: #ffd800;
    color: #4a4a4a;
    transform: scale(1.1);
}
.imagemapping .map .marker.active::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    position: absolute;
    background: #ffd800;
    bottom: -5px;
    transform: rotate(45deg);
    left: calc(50% - 5px);
}
.imagemapping .content p {
    line-height: 1.5;
    font-size: 16px;
}
.imagemapping .content,
.imagemapping .content::after {
    background: #f4f7f6;
    border-radius: 1rem;
}  
.imagemapping .content a {
    color: #ec6095;
    font-weight: bold;
    white-space: nowrap;
}
.imagemapping .content .region {
    color: #EC6095;
    margin-top: .5rem;
    font-size: 1.2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #dadada;
    margin-bottom: 1.5rem !important;
}
.imagemapping .content h4 {
    margin-top: 1rem;
    display: inline-block;
    width: auto;
    background: #9d9d9d;
    color: #fff;
    padding: .5rem 1rem;
    font-size: 0.9rem;
    margin-bottom: -1px;
    border-radius: 5px 5px 0 0;
}
.imagemapping .content .contact {
    margin-top: 0;
    padding-top: 1.5rem;
}
/* teaserbox text-over-image */

.teaserbox.text-over-image .info {
    right: 2rem;
}
.teaserbox.text-over-image .more-link {
    margin-top: 0rem;
    display: inline-block;
    border-bottom: 2px solid;
}
.teaserbox .info .text {
    margin-top: .5rem;
    margin-bottom: 1rem;
}
.teaserbox.text-over-image .info .header {
    margin-bottom: 0.5rem;
}
.teaserbox .layover {
    background: linear-gradient(180deg,transparent,rgba(0,0,0,0.3) 50%,rgba(0,0,0,0.5));
}
.teaserbox .info h2 {
    font-size: 2rem;
}

/* carousel slides */

.carousel .slide p{
  font-size: 15px;
}
.carousel .slide h3{
    font-size: 20px;
}

/* youtube iframe */

.youtube {
    position: relative;
    padding-bottom: 43.55%;
    border-radius: 4px;
    overflow: hidden;
    height: 0;
    margin-left: 8rem;
    margin-right: 8rem;
}
.youtube iframe {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
}

/* buttons & links */
.textmedia .actions .button {line-height: 1.5;
    font-size: 18px;
}
/*.teaserbox.text-over-image .more-link:hover {
    border-bottom: 2px solid #ec6095;
    text-shadow: 0px 0px 20px #000 !important;
}*/
.teaserbox.text-over-image .more-link,
.teaserbox.text-above-image.colors-brand-1 .button {
    transition: all .15s ease-in-out;
}
.teaserbox.text-above-image.colors-brand-1 .button:hover {
    background: #fff;
    color: #ec6095;
}

/* termine */

.calendarize.calendarize-latest > .entry {
    box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.05);
}
.calendarize .state .time,
.calendarize .state > .date{
    font-size: .9rem;
    padding: 0.6rem .8rem .5rem 2.4rem;
}
.calendarize.calendarize-latest > .entry > .image > .date,
.calendarize.calendarize-list > .entry > .image > .date{
    padding: 1rem 1.25rem 0rem 1.25rem;
}
.calendarize.calendarize-latest > .entry .header{
    font-size: 17px;
    /*font-size: 1.5rem;*/
    margin-top: .5rem;
    line-height: 1.3;
}
.calendarize.calendarize-detail > .info {
  margin-top: 4rem;
}
.calendarize .text {
  font-size: 15px;
}
.calendarize.calendarize-list > .entry {
    border-radius: 20px;
}
.calendarize.calendarize-list > .entry .header{
    font-size: 1.8rem;
}
.calendarize.calendarize-latest > .entry > .image > .date > .month {
    text-align: center;
}
/* audio player */

.audioplayer .transcription p{
  font-size: 16px;
}
.grid_2col .audioplayer .player {
    width: 100% !important;
}

/* accordion tabs */

.has-background .accordion::before {
    background-color: transparent;
}
.accordion.tabs{
  margin-left: -3rem;
  margin-right: -3rem;
}
.accordion.tabs .wrapper {
  box-shadow: none;
}  
.accordion.tabs nav {
    background: #ffd800;
    border-radius: 50px;
}
.accordion.tabs nav ul{
    border-bottom: none;
}
.accordion.tabs nav ul li.open {
    color: #fff;
    border: none;
    background: #ec6095;
    margin-bottom: 0;
}  
.accordion.tabs nav ul li:first-child.open {
    border-radius: 20px 0px 0px 20px;
}
.accordion.tabs nav ul li:last-child.open {
    border-radius: 0 20px 20px 0;
}
.accordion.tabs nav ul li {
    text-align: center;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
}
.accordion.tabs nav ul li:hover {
    background: #ec6095;
    color: #fff;
}
.accordion.tabs nav ul li.open:hover{
    background: #ec6095;
}
.accordion.tabs nav ul li:first-child:hover {
    border-radius: 20px 0px 0px 20px;
}
.accordion.tabs nav ul li:last-child:hover {
    border-radius: 0 20px 20px 0;
}

.accordion.tabs .wrapper {padding: 3.5rem;}
.accordion.tabs dl {
    margin-bottom: 0;
    margin-top: 2rem;
    margin-right: 4rem;
}
.accordion.tabs dl dd { font-size: calc(var(--text-size) * var(--font-scale-lg) * 1);}

/* textmedia */
.textmedia .actions .button .label {
    font-size: 1rem;
}
.textwrap {
  width: 100%;
}
/* typography */
body{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.secondary.h5 {
  margin-top: 0.25rem;
  color: #ec6095;
  font-size: 18px;
  line-height: 1.25;
  margin-bottom: 1rem;
  border-bottom: 1px solid #dadada;
  padding-bottom: 0.7rem;
}


@media (max-width: 768px){
  .accordion.tabs{
    margin-left: 0rem;
    margin-right: 0rem;
  }
  .accordion.tabs .wrapper {padding: 2rem;}
  .accordion.tabs dl {
    margin-bottom: 0;
    margin-top: 1rem;
    margin-right: 0rem;
  }
  .youtube {
    position: relative;
    padding-bottom: 56.55%;
    border-radius: 4px;
    overflow: hidden;
    height: 0;
    margin-left: 0rem;
    margin-right: 0rem;
}
}

/* adjustments by olli - 10.12.2021 */
h2 + small {
    line-height: 1.3;
    margin-top: 1rem;
}
body > header > .menubar nav > ul li.active > a{
  font-weight: bold;
}
#c168 .locator > h2, #c168 .locator > p {
    display: none;
}
#c168 .locator .inner{
    margin-top: -2rem;
}
/*#c169 .item > * + * {margin-top: 0rem;}*/
/*
#page-14 .sublevel,
#page-15 .sublevel {
    display: block !important;
}
#page-14 .sublevel svg,
#page-15 .sublevel svg{
    display: none !important;
}
#page-14 main > section:first-of-type,
#page-15 main > section:first-of-type{
    margin-top: 3.5rem !important;
}
*/
#page-15 main .has-background header {
    margin-bottom: 3rem !important;
}
/*#page-15 main .grid_3col.has-background{
    padding-bottom: 0rem !important;
    margin-bottom: -0.5rem;
}*/
#page-15 main .grid_3col.has-background:last-of-type {
    margin-bottom: 0 !important;
    padding-bottom: 5rem !important;
}
#c196 .tile-3{
  display: none;
}
#c180 .flex .lg-4, #c180 .item .lg-4 {
    width: 33.33333%;
    padding: 0px 1rem /*0 calc(var(--grid-space-small) * .75) !important*/;
}

section#c103 > header {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
    max-width: 70%;
    margin: 0 auto;
}
.list{
    padding: 3rem;
    background: #fff;
    border-radius: 20px;
}

.grid_3col.has-background .textmedia.imageposition-top .textwrap {
    padding: 2.25rem;
    font-size: 16px;
    position: relative;
    background: #fff;
    border-radius: 0 0 10px 10px;
    margin-top: 0;
}
.grid_3col.has-background .textmedia.imageposition-top .textwrap .text{
   margin-top: 0;
}
.grid_3col.has-background .textmedia.imageposition-top .textwrap strong{
    font-size: 17px;
    color: #EC6095;
}
.grid_3col.has-background .textmedia .image figure picture img {
    border-radius: 10px 10px 0 0;
}
#c180.grid_3col.has-background .textmedia.imageposition-top .textwrap::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: #fff;
    top: -10px;
    transform: rotate(45deg);
    bottom: auto;
    position: absolute;
    left: calc(50% - 10px);
}

#c228 .flex .lg-4{
    width: 25%;
    padding: 0 calc(var(--grid-space-lg) * .75);
}
.grid_2col .grid_2col {
    margin: 0;
}
#c47 .h2 {
    display: none;
}



@media (max-width: 768px){
section#c103 > header {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
    max-width: 100%;
    margin: 0 auto;
}
  #c180 .flex .lg-4, #c180 .item .lg-4 {
  width: 100%;
  padding: 0 1.125rem;
}
  #c180 .textmedia .image {
  margin-bottom: 0rem;
}
  #c228 .flex .lg-4{
    width: 100%;
    padding: 0 calc(var(--grid-space-lg) * .75);
}
  .teaserbox .info .header > * {
    font-size: 1.5rem !important;
  }
  .teaserbox.text-over-image .info {
    padding: 2rem;
    right: 0;
    width: 100% !important;
    bottom: auto;
    top: 55%;
    left: auto;
    text-align: left !important;
  }
}



.teaserbox .layover {
    background: linear-gradient(180deg,transparent,rgba(236, 96, 149,.1) 10%,rgba(236, 96, 149,.9));
}

.teaserbox.text-over-image.colors-brand-2  .info {
    right: 0;
    left: 0;
    bottom: 0;
    padding: 2rem;
    width: 50%;
}
.teaserbox .layover {
    background: none;
}
.teaserbox.text-over-image.colors-brand-2  .info .header > *,
.teaserbox.text-over-image.colors-brand-2 .info .text > *{
    color: #4a4a4a;
}
.teaserbox.text-over-image.colors-brand-2 .more-link {
    color: #ec6095;
    font-weight: bold;
}

.teaserbox.text-over-image.colors-brand-1 .info {
    padding: 2rem;
    right: 0;
    width: 52%;
    bottom: 0;
    left: auto;
    text-align: right;
}
.teaserbox.text-over-image.colors-brand-1 .more-link {
    font-weight: bold;
}
.teaserbox .info .header > * {
    font-size: 2rem;
}


/* individuelle anpassungen */

  /* - - gleiche größe der img's bei "Über uns > Partner" - - */

  #c224 .container.normal {
    width: 100%;
  }

/* adjustments for smaller devices - olli */

@media (max-width: 1080px){
body > header > .menubar nav > ul > li > a {
    font-size: 15px;
}
.teaserbox .info .header > *,
.teaserbox .info h2{
    font-size: 1.5rem;
}
.teaserbox .info .text p {
    font-size: 14px;
}
  .counter .segment {
    margin: 0 10px;
}
}
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : portrait) {
.teaserbox.text-over-image.colors-brand-2  .info {
    right: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    padding: 2rem !important;
    width: 50% !important;
    top: auto !important;
}
.teaserbox.text-over-image.colors-brand-1 .info {
    padding: 2rem !important;
    right: 0 !important;
    width: 52% !important;
    bottom: 0 !important;
    left: auto !important;
    text-align: right !important;
    top: auto !important;
}
  .calendarize.calendarize-latest > .entry {
    width: calc(50% - 20px);
    float: left;
    margin: 10px !important;
}
  .teaserbox.roundcorner-bottom-right .info {
    width: 50%;
    position: absolute;
}
  [class*="grid_"] .item {
    width: 100% !important;
}
  body > footer .footer-top > .container{
    display: block;
  }
  body > footer .footer-top > .container .logos a{
    margin: 0 10px !important;
  }
}  
@media (max-width: 768px){
  
  body{ font-size: 15px;}
  
.teaserbox.text-over-image .info {
    order: 2;
    position: static !important;
    padding-top: 2rem !important;
}
 .teaserbox.colors-brand-2 {
    background-color: #ffd800;
  }  
  .teaserbox.text-above-image .info {
    padding: 2rem;
 }
  #c280 .flex .xs-12 {
    width: 50%;
 }
  #c234 .item,
  #c225 .item{
  width: 50%;
}
  #c224 .container.normal,
  #c225 .container.normal{
  width: 92.5%;
}
    #c224 .container h3,
  #c225 .container h3{
    font-size: 1.25rem;
    text-align: center;
  }
  #c103 h2{
    font-size: 1.35rem;
  }
  #c103 h2 + small {
  font-size: 1rem;
 }
  .imagehero.colors-brand-1 .info .button,
  .teaserbox.text-above-image.colors-brand-1 .button{
  border-color: #fff;
  padding: 0.5rem 1.3rem .6rem 1.3rem;
  font-size: 16px;
}
 h2, .h2{
  font-size: 22px;
}
  h2 + small {
  font-size: 16px;
}
  h3.h2, h3{
  font-size: 22px;
}
  .counter .segment {
  margin: 0;
  border-radius: 0.5rem;
}
  .counter p{
  line-height: 1.2;
  font-size: 15px;
}
  .count {
  margin-right: -4px;
}
.counter .segment .countup {
  font-size: 30px;
}
  .calendarize.calendarize-latest > .entry,
  .calendarize.calendarize-list > .entry {
  box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
}
.calendarize.calendarize-latest > .entry,
  .calendarize.calendarize-list > .entry{
  margin: 1.25rem 0rem;
  border-radius: 0.8rem;
}
  .calendarize .text {
  font-size: 14px;
}
  .calendarize.calendarize-latest > .entry .header,
  .calendarize.calendarize-list > .entry .header{
  font-size: 16px;
}
  .calendarize.calendarize-list > .entry .header{
    line-height: 1.35;
  }
  .calendarize .state .time, .calendarize .state > .date {
  font-size: 14px;
  padding: 0.6rem .8rem 0.6rem 2.4rem;
}
  .calendarize.calendarize-list > .entry > .info {
  padding: 1.5rem;
}
  .calendarize.calendarize-list > .entry > .info > .text {
  margin: 1rem 0;
}
  .calendarize.calendarize-list > .entry > .info > .more {
  border-top: none;
  text-align: right;
  padding-top: 0;
  color: #ec6095;
}
  .textmedia .image {
  margin-bottom: 1rem;
}
  .list {
  padding: 2rem;
  background: #fff;
  border-radius: .5rem;
}
  .list ol li p, .list ul li p {
  line-height: 1.35;
}
  .list ol li > span, .list ul li > span {
  display: block;
  width: 1.3rem;
  font-size: 30px;
  color: #ec6095;
  font-weight: 700;
  line-height: 1;
  flex: none;
}
  .locator .pac-card {
  top: 0.75rem !important;
  left: 0.75rem !important;
  right: 0.75rem !important;
}
  .locator .locator {
  margin-top: 1rem !important;
  height: 30rem;
  border-radius: .5rem !important;
}
  .locator .locator {
  margin-top: 1rem !important;
  height: 30rem;
  border-radius: 0.75rem !important;
  border: 1px solid #eee !important;
}
  .pac-container {
  border-radius: .25rem !important;
  box-shadow: none !important;
  border: 1px solid #dadada !important;
  font-size: 14px !important;
}
  .grid_3col.has-background .textmedia .image figure picture img {
    border-radius: .5rem .5rem 0 0;
  }
  #c180.grid_3col.has-background .textmedia.imageposition-top .textwrap {
    padding: 2rem;
    font-size: 15px;
    border-radius: 0 0  .5rem .5rem !important;
  }
  .grid_3col.has-background .textmedia.imageposition-top .textwrap strong {
    font-size: 16px;
    color: #EC6095;
  }
  .imagemapping .content.active {
  padding: 2rem;
  border-radius: .5rem;
  border: 1px solid #eceaea;
}
.imagemapping .content::after {
  border-radius: 0rem;
  border: 1px solid #eceaea;
  border-bottom: none;
  border-right: none;
}
  .imagemapping .content p {
	  font-size: 15px;
  }
  .imagemapping .map .marker {
  font-size: 11px;
}
  .calendarize.calendarize-detail > .info .h2 {
  font-size: 18px;
  margin-bottom: 0.5rem;
  line-height: 1.35;
}
  .calendarize.calendarize-detail > .info {
  margin-top: 1.5rem;
}
  .calendarize.calendarize-detail > .info p{
    font-size: 15px;
  }
  .calendarize.calendarize-detail > .info > .location {
  font-size: 15px;
  margin-top: 1rem;
  border-top: 1px solid #eee;
  padding-top: 1rem;
}

}