/*
Theme Name: CPPD
Theme URI: http://avf-works.com
Description: Responsive Bootstrap Theme
Author: avf works mediastudio | Alex v. Falkenhausen
Author URI: https://avf-works.com
Version: 2.1
Tags: responsive, bootstrap
*/
@font-face {
  font-family: "Surt Regular";
  font-style: normal;
  font-weight: 400;
  src: url("fonts/Surt-Regular.eot"); /* IE9 Compat Modes */
  src: local("Surt Regular"), local("Surt-Regular"),
  url("fonts/Surt-Regular.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */ url("fonts/Surt-Regular.woff2") format("woff2"),
    /* Super Modern Browsers */ url("fonts/Surt-Regular.woff") format("woff"),
    /* Modern Browsers */ url("fonts/Surt-Regular.otf") format("otf"); /* Legacy iOS */
}
@font-face {
  font-family: "Surt SemiBold";
  font-style: normal;
  font-weight: 500;
  src: url("fonts/Surt-SemiBold.eot"); /* IE9 Compat Modes */
  src: local("Surt SemiBold"), local("Surt-SemiBold"),
  url("fonts/Surt-SemiBold.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */ url("fonts/Surt-SemiBold.woff2") format("woff2"),
    /* Super Modern Browsers */ url("fonts/Surt-SemiBold.woff") format("woff"),
    /* Modern Browsers */ url("fonts/Surt-SemiBold.otf") format("otf"); /* Legacy iOS */
}

@font-face {
  font-family: "Surt Bold";
  font-style: normal;
  font-weight: 900;
  src: url("fonts/Surt-Bold.eot"); /* IE9 Compat Modes */
  src: local("Surt Bold"), local("Surt-Bold"),
  url("fonts/Surt-Bold.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */ url("fonts/Surt-Bold.woff2") format("woff2"),
    /* Super Modern Browsers */ url("fonts/Surt-Bold.woff") format("woff"),
    /* Modern Browsers */ url("fonts/Surt-Bold.otf") format("otf"); /* Legacy iOS */
}

@font-face {
  font-family: "Surt UltraBoldExtended";
  font-style: normal;
  font-weight: 900;
  src: url("fonts/Surt-UltraBoldExtended.eot"); /* IE9 Compat Modes */
  src: local("Surt UltraBoldExtended"), local("Surt-UltraBoldExtended"),
  url("fonts/Surt-UltraBoldExtended.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */ url("fonts/Surt-UltraBoldExtended.woff2") format("woff2"),
    /* Super Modern Browsers */ url("fonts/Surt-UltraBoldExtended.woff")
  format("woff"),
    /* Modern Browsers */ url("fonts/Surt-UltraBoldExtended.otf") format("otf"); /* Legacy iOS */
}
:root{
  --color:#000000;
  --highlight:#AD1380;
}
html,
body {
  width: 100%;
  max-width: 100% !important;
  font-family: "Surt Regular", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  /*line-height: 150%;*/
  overflow-x: hidden !important;
  overflow-y: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}
body {
  background-color: #ffffff;
  color: #000000;
}
.container-fluid, .container-xxl {
  max-width: 1440px !important;
}
header .container-fluid, footer .container-fluid{
  max-width:100% !important;
}
.wider{
  max-width:1720px !important;
}
::-webkit-scrollbar {
  width: 0;
}

p {
  font-size: 1.2rem;
  line-height: 1.4;
}

*::selection {
  background: var(--highlight);
  color: #ffffff;
}
*::-moz-selection {
  background: var(--highlight);
  color: #ffffff;
}
a{
  text-decoration:none;
  color:#000000;
  display:inline-block;
}
.menu a, .main-menu a{
  border-bottom: 3px solid transparent;
}
p a {
  border-bottom: 3px solid black;
  pointer-events: all !important;
  color: #000000;
}
a:hover{
  color: var(--highlight);
}
hr{
  border-top:4px solid #000000;
  opacity: 1;
}
h3 a {
  color: #000000;
}
p a:hover, .menu a:hover, .main-menu a:hover {
  border-bottom: 3px solid var(--highlight);
  color: var(--highlight);
}
a:hover > img{
  opacity: .8;
}
h1,h2,h3{
  font-family: "Surt UltraBoldExtended", sans-serif;
}
h1 {
  font-size: 68px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
}
h2 {
  font-size: 40px;
  font-style: normal;
  font-weight: 900;
  line-height: 46px;
}
h3 {
  font-size: 29px;
  line-height: 40px;
  font-weight: 900;
  width: auto;
  hyphens: auto;
}
h4 {
  font-size: 26px;
  font-style: normal;
  font-weight: 300;
  line-height: 20px;
  color:var(--highlight);
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
  /*margin-bottom: 2rem;*/
}
.headline {
  padding-bottom:5px;
  /* border-bottom: 5px solid var(--highlight);*/
  margin:2rem 0;
  padding-left: 0 !important;
  width:100%;
}
img {
  max-width: 100%;
  height: auto;
}
.imagecaption {
  font-size: 12px;
}
img.aligncenter{
  margin:auto;
}
.darkened::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5); /* 50% transparentes Schwarz */
}
/*+++++++++++++++++++++++BUTTONS+++++++++++++++++++++++++*/
.btn-standard{
  color:#000000;
  background-color:var(--highlight);
  border-radius:25px;
  padding:10px 15px;
  text-align:center;
  border:none !important;
  letter-spacing: normal !important;
  font-size:.9rem;
}
.btn-standard:hover{
  color:#111111;
  text-decoration:none;
}
.btn-standard:hover:focus{
  background-color:#008996;
}
.light-button.large {
  font-size: 1.4rem;
  margin-top: 15px;
}
.alm-load-more-btn.done{
  display:none;
}

.learn-more-wrapper{
  margin-top:15px;
}
.alm-btn-wrap{
  text-align:center;
  padding-top:25px;
}
.alm-load-more-btn{
  width:25%;
  border-left:none;
  border-right:none;
  background-color:#ffffff;
}
.alm-load-more-btn:after{
  content:none;
}
.alm-load-more-btn.done{
  pointer-events:none;
}
.banner {
  position: relative;
}
.banner, .main-title{
  min-height:300px;
}
.banner .light-button {
  color: #ffffff !important;
  white-space: nowrap;
  line-height: 1.2rem;
  font-size: 1rem;
  letter-spacing: normal;
}
.banner .light-button:hover {
  color: #ffffff !important;
  white-space: nowrap;
  font-size: 1rem;
  letter-spacing: normal;
}

.main-subtitle-link {
  right: 0;
  /* bottom: -0.5vw; */
  /* bottom: 0.25vw; */
  bottom: -0.5vw;
}
.light-button.bordered {
  border: 1px solid var(--highlight) !important;
  border-radius: 0.375rem !important;
  background: transparent !important;
  padding: 0.375rem 30px 0.375rem 0.75rem !important;
  font-size: 1rem !important;
}
.light-button.bordered:hover {
  padding-right: 10px;
}
/************************Header***************************/
header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color:#ffffff;
}
header .header-logo-green{
  display:none;
}
header.has-border {
  background-color:rgba(255,255,255, 1);
}
header.has-border .header-logo-green{
  display:block;
}
header.has-border .header-logo-white{
  display:none;
}
.header-content {
  margin-top: 60px;
}
header .progressbar {
  position: absolute;
  left: 0;
  bottom: -5px;
  background-color: var(--highlight);
  height: 5px;
  width: 0;
}
.navigation-bar {
  min-height: 95px;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  display: flex;
  align-items: center;
}
header .logo-area {

}
.logo-link{
  display:block;
  padding:10px;
}
.logo-area img {
  max-height: 70px;
  width: auto;
}
header .nav-area {
  width: 80%;
}
header .ls-area {
  width: 10%;
}
header .ls-toggle {
  font-size: 1.3rem;
}
.ls-toggle a {
  color: #000000;
}
.ls-toggle .active {
  color: var(--highlight);
}
.header-icon{
  font-size: 28px;
  color: #ffffff;
  margin-right: 25px;
}
.has-border .header-icon{
  color:#000000;
}
/*++++++++++++FRONTPAGE++++++++++++++*/
header.header-frontpage{
  background-color: rgba(255,255,255,0);
  transition: background-color .3s;
}
section.frontpage.first {
  padding-top: 0
}
@media screen and (max-width: 1199px) {
  header .logo-area {
    /*width: 49%;*/
  }
  .logo-area img {
    max-height: 75px;
    width: auto;
  }
  header .nav-area {
    width: 1%;
  }
  header .ls-area {
    width: 49%;
  }
}
body.customize-support .navigation-bar {
  top: 32px;
}

.navigation-bar .main-menu li {
  display: inline-block;
}

.menubutton {
  text-align: right;
  font-size: 20px;
  text-transform: uppercase;
  font-weight: 700;
  pointer-events: all;
}
.menubutton i {
  margin-left: 5px;
}
.menubutton a {
  color: #fff;
  text-decoration: none;
}
.menubutton.blue a {
  color: #002878;
}
.menubutton.hide {
  display: none;
}
#menu-label{
  font-weight:700;
}
#menu-label:hover{
  text-decoration:none;
  color:#000000;
}
a#menu-icon {
  display: inline-block;
  padding: 10px;
}
a#menu-icon .bar {
  margin: 5px;
  width: 35px;
  height: 3px;
  background: #000;
  border-radius: 0;

  /* same as above but with prefixes added */
  -webkit-transition: margin 0.2s, -webkit-transform 0.2s;
  transition: margin 0.2s, -webkit-transform 0.2s;
  -o-transition: margin 0.2s, transform 0.2s;
  transition: margin 0.2s, transform 0.2s;
  transition: margin 0.2s, transform 0.2s, -webkit-transform 0.2s;
}
a#menu-icon:not(.close):hover {
  padding: 6px 10px;
}
a#menu-icon:not(.close):hover .bar,  .menu-icon-container:hover a#menu-icon:not(.close) .bar{
  margin: 10px 5px;
}
a#menu-icon.close .bar:first-child {
  -webkit-transform: translateY(4px) rotate(45deg);
  -ms-transform: translateY(4px) rotate(45deg);
  transform: translateY(4px) rotate(45deg);
}
a#menu-icon.close .bar:last-child {
  -webkit-transform: translateY(-4px) rotate(-45deg);
  -ms-transform: translateY(-4px) rotate(-45deg);
  transform: translateY(-4px) rotate(-45deg);
}
/*++++++++++++++++++++++++MENU++++++++++++++++++++++++++++++*/
.thebigmenu {
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  position: fixed;
  background-color: #fff;
  color: #000000;
  top: -101%;
  left: 0;
  transition: top 0.5s;
  z-index: 3;
  padding-top: 150px;
  padding-bottom: 100px;
  text-align: left;
}
.thebigmenu.show {
  top: 0;
}
a.menu-close,
a.panel-close {
  color: var(--highlight);
  text-transform: uppercase;
  font-weight: 400;
  cursor: pointer;
}
a.menu-close:hover,
a.panel-close:hover {
  color: var(--highlight);
}
.thebigmenu ul {
  list-style-type: none;
  text-align: left;
  font-family: 'Surt SemiBold', sans-serif;
  font-weight: 500;
  font-size:1.9rem;
  text-transform: uppercase;
}
.thebigmenu ul .menu-smaller{
  font-size:1.1rem;
  text-transform:none;
}

.navigation-bar .thebigmenu ul li {
  margin-bottom: 5px;
  display: block;
  line-height: 1.4;
}
.thebigmenu ul a {
  color: #000000;
}
.thebigmenu a:hover {
  color: var(--highlight);
  text-decoration: none;
}
.thebigmenu .ls-toggle {
  padding-left: 16px;
  margin-top: 16px;
  font-size: 1.5rem;
}
nav ul a {
  font-family: "Surt Regular", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
  color: #ffffff;
  transition: font-weight 0.4s ease-in-out;
}
.has-border nav ul a {
  color:#000000;
}
nav ul a:hover,
nav ul li.current-menu-item a,
nav ul li.current_page_item a {
  color: var(--highlight);
}
.menu-item-has-children > a {
  position: relative; /* necessary for proper positioning of ::after pseudo-element */
  display:inline-block;
  padding-right:25px;
}
.menu-item-has-children > a::after{
  content: "";
  background: url("img/black_arrow.svg") no-repeat center; /* add SVG as background */
  background-size: contain; /* ensure the SVG fits within its box */
  display: block; /* give it layout */
  width: 15px; /* set desired width */
  height: 15px; /* set desired height */
  position: absolute;
  right: 0; /* for example, position it on the right side of the 'a' element. Adjust these properties according to your needs */
  top: 50%;
  transform: translateY(-40%) rotate(180deg); /* center vertically and rotate */
  transition: transform .5s;
}
footer .menu-item-has-children > a::after{
  width:10px;
  height:10px;
}
.menu-item-has-children.open > a::after{
  transform: translateY(-40%) rotate(360deg); /* center vertically and rotate */
  transition: transform .5s;
}
.sub-menu {
  display:none;
  overflow: hidden;
  font-size: 1rem;
  padding-left: 0;
  padding-top:10px;
  line-height:1.6;
}
.thebigmenu .sub-menu {
  font-size: 1.1rem;
  text-transform:none;
  margin:15px 0;
}
footer .sub-menu{
  font-size: .7rem;
  padding-top:5px;
}
.thebigmenu .social-icons-container {
  padding-left: 16px;
  margin-top: 32px;
}
.thebigmenu .social-icons-container a {
  color: black;
}
.thebigmenu .social-icons-container a:hover {
   color: var(--highlight);
}
.additional-links-container{

  margin-top:35px;
  font-size: .8rem;
}
/*-----Top Menu----*/
nav ul {
  margin-top: 1rem;
}
nav li {
  padding: 4px 15px;
  text-align: center;
}
nav li > a:hover {
  /*border-bottom:1px solid red;*/
  text-decoration: none;
}

img {
  max-width: 100%;
}
img.header-bg {
  width: 100%;
  height: auto;
  position: absolute;
}
section {
  position: relative;
}
.highlight {
  background-color: var(--highlight);
}
#hero-slider .carousel-item{
  background-size:cover;
  background-repeat:no-repeat;
}
.hero-slider-image{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  position: absolute;
}
.title-field{
  background-color:var(--highlight);
  color:#ffffff;
  min-height:300px;
  padding:40px 0;
  display:flex;
  align-items: center;
}
/*++++++++++++ALL PAGES++++++++++++++++*/
.content-block{
  padding-bottom:3rem;
}
.content-block.hl{
  padding-bottom:1rem;
}
.logo-slider-image{
  text-align:center;
}
.logo-slider-image img{
  max-width:50%;
  max-height:150px;
  width:auto;
  height:auto;
  margin:auto;
}
#logoSlider .carousel-item {
  transition: transform .1s ease, -webkit-transform 1s ease;
}
section.first {
  padding-top: 130px;
}
.link-back{
  color:var(--highlight);
  text-transform:uppercase;
  text-decoration:none !important;
  border-bottom:none;
  font-size:15px;
  margin-top: 35px;
  display:inline-block;
}
.link-back:hover{
  color:#000;
  border-bottom:none;
}
.link-back::before{
  content:url('img/pink_arrow_back.svg');
  margin-right:10px;
}
.link-back:hover::before{
  content:url('img/black_arrow_back.svg');
}
blockquote{
  color:var(--highlight);
  font-size:1.3rem;
  font-weight:700;
  padding:15px 0;
}
.wp-caption-text{
  font-size: .9rem;
}
#search-input{
  border: 3px solid #000000 !important;
  border-radius: 0 !important;
  background-color: #ffffff !important;
  padding: 10px !important;
  font-size: 1.3rem !important;
  line-height: 1.3 !important;
}
/*+++++++++++++EVENTS++++++++++++++++++*/
.month-devider{
  padding:25px 0;
  color:var(--highlight);
  border-top:4px solid #000000;
}
.row.event-list{
  padding:25px 0;
  border-top:4px solid #000000;
}
.ds-weekday{
  font-size: 1.4rem;
  margin-right:15px;
}
.ds-date{
  font-size:40px;
  font-weight:700;
  font-family: "Surt Bold", sans-serif;
}
.event-tag{
  font-size: .8rem;
  text-transform:uppercase;
  color:var(--highlight);
  border:1px solid var(--highlight);
  padding:5px 10px;
  display:inline-block;
}
/*+++++++++++++FORMS+++++++++++++++++++*/
input, textarea{
  font-size:20px !important;
  padding:15px !important;
}
.forminator-row{
  margin-bottom: 15px !important;
}
/*+++++++++++++ACCORDEONS++++++++++++++*/
.accordion-item{
  border: none !important;

  border-radius: 0 !important;
}
.accordion-header{
  border-top:4px solid #000000;
  border-radius: 0;
  padding: 5px 45px 15px 0;
  position:relative;
}

.alex-accordion-button{
  position:absolute;
  width:100%;
  height:100%;
  background-color:transparent;
  top:0;
  left:0;
  text-align:right;
  font-weight:900;
  font-size:48px;
  color:#000000;
  padding-right:15px;
  cursor: pointer;
}
.alex-accordion-button:hover{
  color:#111111;
}
.alex-accordion-button i, .alex-accordion-button img{
  transition:transform .3s;
  transform-origin: center center;
}
.alex-accordion-button.collapsed i, .alex-accordion-button.collapsed img{
  transform:rotate(180deg);
  transition:transform .3s;
}
.accordion-body{
  padding:15px 0;
}
/*+++++++++++++CONTENT SLIDER+++++++++++*/
.horizontal-content{
  display:flex;
  align-items: flex-start;
}
.horizontal-content .card {
  flex: 0 0 auto;
}
.counter{
  display: inline-block;
  margin-left: 15px;
}
.counter-gesamt{
  display: inline-block;
  margin-right: 15px;
}
.slider-navigation{
  margin-right:0;
  margin-bottom:10px;
}
.slider-image{
  max-width: 65vW;
  height:auto !important;
}
/*+++++++++++++GALLERIES+++++++++++++++*/
/* Add margin to all gallery items */
.gallery-item {
  width: calc(25% - 30px) !important;
  margin: 15px;
}

.gallery-item img{
  border:none !important;
}
.gallery-icon.portrait img{
  max-height:300px;
  width:auto;
  margin:auto;
}
.gallery-icon.landscape img{
  width:100%;
  height:auto;
}
/*++++++++++++MODALS+++++++++++++++++++*/
.member-details .modal-content{
  border-radius:0 !important;
  overflow-y: auto;
}
.modal-header{
  border-bottom: none !important;
}
.modal-header .close{
  font-size:48px;
  border-bottom: none;
}
.modal-content .small, .modal-content .listing-email{
  display:inline-block;
  margin-bottom:15px;
  font-size:.8rem;
}
.modal-dialog {
  height:90vH;
}
.modal-content{
  height:100%;
}
.modal-body h2{
  margin-bottom:0;
}
.modal-body .small{
  display: inline-block;
  margin-bottom:2rem;
}
/*++++++++++++VIDEOS+++++++++++++++++++*/
.responsive-video {
  position: relative;
  overflow: hidden;
  padding-bottom: 56.25%;
  margin-bottom: 1rem;
}

.responsive-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*++++++++++++FRONT PAGE+++++++++++++++*/

.icon-box{
  margin-top:50px;
  width:100%;
  height:150px;
  text-align:center;
}
@media screen and (min-width: 1650px) {
  .h0 h1 {
    font-size: 6.5rem;
  }
}
@media screen and (max-width: 1199px) {
  .main-title {
    left: 0;
    width: 100%;
    padding: 3rem;
  }
  .h0 h1{
    color: #fff;
    line-height: 1.2em;
    letter-spacing: normal;
    font-size: 3rem;
  }
  h1 {
    letter-spacing: normal;
    line-height: normal;
  }

  .section-headline {
    text-align: center;
  }
}
@media screen and (max-width: 992px) {
  .icon-box{
    height:auto;
  }
}
@media screen and (max-width: 768px) {
  .h0 h1{
    color: #fff;
    line-height: 1.1em;
  }
  .main-subtitle {
    position: absolute;
    bottom: -1.3rem;
    right: 0;
    width: auto;
    font-size: 0.9rem;
  }
}
/******************About us************************/
.team{
  text-align:center;
}
.team img{
  width:300px;
  height:300px;
}
.team-name{
  /*min-height:100px;*/
}
.team-email{
  font-size:14px;
}

.person .col-12 {
  position: relative;
  font-weight: 700;
}
.person .email-small {
  display: block;
  font-size: 0.8rem;
  font-weight: 400;
  position: absolute;
  bottom: 0;
  left: 0;
  padding-left: 15px;
}
.person .bio {
  font-weight: 400;
}
.content > .row {
  min-height: 200px;
}

.card {
  border: none;
}
.card:hover h3 a,
.card:hover p {
  /*color:#A5966E;*/
}
.card:hover .cardimage img {
  /*filter: sepia(100%);*/
}
.cardimage,
.cardimage-programm {
  width: 100%;
  display: inline-block;
  padding-bottom: 66%;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}

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

.postdate {
  display: block;
  font-size: 14px;
  text-transform:uppercase;
  color: var(--highlight);
}
.list-people .card-body{
   padding-left:5%;
   padding-right:5%;
 }
.list-people h3{
  margin-bottom: .8rem;
}
.row-cols-lg-6.list-people h3{
  font-size:26px;
  line-height:28px;
}

.row-cols-lg-6.list-people .card-body p{
  font-size:24px;
}
/*************************LCL Overrides**************************************/
#lcl_thumbs_nav {
  display: none;
}
#lcl_nav_cmd {
  height: 100%;
}
#lcl_nav_cmd .lcl_icon.lcl_play {
  display: none;
}
#lcl_nav_cmd .lcl_icon.lcl_prev {
  background-color: transparent;
  box-shadow: none;
  border: none;
  position: absolute;
  bottom: -2rem;
  left: 0;
}
#lcl_nav_cmd .lcl_icon.lcl_prev::before {
  color: white;
  content: "<<";
  font-size: 2.125rem;
}
#lcl_nav_cmd .lcl_icon.lcl_next {
  background-color: transparent;
  box-shadow: none;
  border: none;
  position: absolute;
  bottom: -2rem;
  right: 0;
  width: unset;
}
#lcl_nav_cmd .lcl_icon.lcl_next::before {
  color: white;
  content: ">>";
  font-size: 2.125rem;
}
#lcl_nav_cmd .lcl_icon.lcl_thumbs_toggle {
  display: none;
}
#lcl_nav_cmd .lcl_icon.lcl_close {
  position: absolute;
  top: -2.5rem;
  left: 0;
  margin-left: 0 !important;
  background-color: transparent;
  box-shadow: none;
  border: none;
}
#lcl_nav_cmd .lcl_icon.lcl_close::before {
  background: transparent;
  content: "";
  width: 100%;
  border-bottom: 2px solid white;
  border-radius: 0;
  transform: rotate(-45deg);
  top: 14px;
  left: 0;
}
#lcl_nav_cmd .lcl_icon.lcl_close::after {
  background: transparent;
  content: "";
  width: 100%;
  border-bottom: 2px solid white;
  border-radius: 0;
  transform: rotate(45deg);
  left: 6px;
  bottom: 9px;
}
#lcl_window {
  margin-top: unset !important;
}
/*++++++++++++++++++++++++++++SLIDERS+++++++++++++++++++++++++++*/
.slider-image{
  height:300px;
  width:auto;
  max-width: inherit;
  margin-right:10px;
}
.horizontal-wrapper{
  width:100vw;
}

.horizontal-content .card{
  width:25vw;
}

@media screen and (max-width: 992px) {
  .horizontal-content .card{
    width:50vw !important;
  }
}

/*
.alm-load-more-btn {
  background-color: #0a6ef0;
  color: #ffffff;
  padding: 10px;
  border: 1px solid #0a6ef0;
  display: inline-block;
}
.alm-load-more-btn:hover {
  background-color: #00509b;
}
.alm-load-more-btn.done {
  display: none;
}
h3 > .inverted {
  line-height: 2.5rem;
}

 */
/**********************AJAX-GRID*****************************/
.alm-reveal {
  width:100%;

}
/**********************Frontpage*************************/
a.link-overlay {
  display: block;
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.section-headline {
  padding-left: 5%;
}

.navdots {
  position: absolute;
  bottom: 0;
}
ol.carousel-indicators {
  bottom: 0;
  justify-content: flex-end;
  margin-left: 0;
  right: 50px;
  margin-right: 0;
}
.carousel-indicators li {
  width: 10px;
  height: 10px;
  border-radius: 100%;
}
.carousel-item .white-button {
  margin-top: 20px;
  margin-left: 150px;
}
.fullscreen {
  width: 100%;
  height: 100vh;
}

.card,
.card-img,
.card-img-top {
  border-radius: 0;
}
.card-img-top {
  width: 100%;
  margin: auto;
}

.card-body {
  position: relative;
  font-size: 0.9rem;
}
.card-body a.linkwitharrow {
  position: absolute;
  bottom: 0;
  left: 0;
}
section.gold {
  margin-top: -5px;
  padding-top: 50px;
  /*padding-bottom:80px;*/
}
.section-heading {
  margin-top: 45px;
  margin-bottom: 25px;
  width: 100%;
  text-align: center;
}
.section-footer .row {
  height: 200px;
}
.section-footer a {
  color: #fff;
}
.square-link {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000028;
  opacity: 0;
  left: 0;
  top: 0;
}
.square.big .text {
  font-size: 30px;
  line-height: 2.4rem;
}
.square:hover {
  /*-webkit-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.75);
	box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.75);
	transition:box-shadow .2s;*/
}
.four-squares {
  background-color: #fafaf0;
}
.four-squares .col-md-3 {
  line-height: 0;
}
.square-container {
  width: 100%;
  padding-top: 100%; /* Container bleibt quadratisch */
  position: relative;
  overflow: hidden;
  background: #ffffff;
}
.square-container a{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
.square-container a img{
  object-fit:cover;
  width:100%;
  height:100%;
}

.cardimage-programm {
  box-shadow: 0px 3.329106569290161px 32.45878982543945px -6.658213138580322px rgba(0, 0, 0, 0.25);
  margin-bottom: 25px;
}
.center-content {
  position: absolute;
  width: 75%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align:center;
}
.cardimage-programm .center-content {
  width: 50%;
  text-align: center;
}
.cardimage-programm img{
  max-height:300px;
}
.article-teaser{
  line-height:100%;
  color:#000000;
}
.article-teaser h3{

  margin-top:15px;
  margin-bottom:0;
}
.article-teaser h3 a{
  color: var(--highlight);
}
.article-teaser .card-footer{
  border:none;
  padding:0;
  background:none;
}
.article-image-caption{
  color:#ffffff;
  position:absolute;
  font-weight:700;
  top: 50%;
  left: 50%;
  z-index:2;
  white-space:nowrap;
  transform: translate(-50%, -50%);
}
.read-more-button{
  text-transform: uppercase;
  text-decoration: none;
  font-size: 15px;
  color: var(--highlight);
}
.read-more-button:hover{
  color:#000;
}
.read-more-button::after{
  content:url('img/pink_arrow.svg');
  width:8px;
  height:auto;
  margin-left:10px;
}
.read-more-button:hover::after{
  content:url('img/black_arrow_small.svg');
}
.banner-caption {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
/*++++++++++++++CUSTOM FILTER SELECT++++++++++++++++*/
select.filter-select {
  border: 3px solid black;
  border-radius: 0;
  color: black;
  appearance: none;
  background: white url("data:image/svg+xml;utf8,<svg fill='black' xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M7 10l5 5 5-5z'/></svg>") no-repeat right .1rem center;
  background-size: 1.2em;
  font-size: .9rem;
  padding:5px 30px 5px 10px;
}


section.first.fullscreen .carousel-item {
  background-size: cover;
  background-repeat: no-repeat;
}
.carousel-item .container-lg,
.carousel-item .container-lg > .row {
  height: 100%;
}
.carousel-item .container-lg > .row {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  padding-bottom: 100px;
}
.event-listing > .row {
  margin-top: 20px;
}
.event-listing h3 {
  margin-bottom: 3px;
}
section.social-icons {
  width: 100%;
  z-index: 2;
  position: relative;
  pointer-events: none;
}
img.si-background {
  width: 100%;
  height: auto;
  pointer-events: none;
}
section.social-icons .social-icons-container {
  position: absolute;
  top: 50%;
  left: 100px;
  pointer-events: visible;
}
.social-icons-container a {
  color: #fff;
  font-size: 60px;
  margin-right: 50px;
}
.next-headline {
  position: absolute;
  width: 100%;
  bottom: 20px;
  pointer-events: visible;
}
.next-headline .container-fluid {
  text-align: right;
}
.publications {
  margin-top: -5px;
  padding-top: 50px;
  padding-bottom: 200px;
  position: relative;
}
.readmore {
  display: inline-block;
  color: #fff;
  margin-top: 15px;
  font-size: 22px;
}

/***********************************BILDUNGSANGEBOT*******************************/

#carouselQuotes blockquote {
  font-size: 1.3rem;
  font-weight: 700;
}
#carouselQuotes .big-slider-text {
  min-height: 200px;
}
#carouselQuotes button {
  color: #a5966e;
  width: 100px;
  font-size: 2rem;
  opacity: 1;
}
#carouselQuotes .carousel-control-prev {
  margin-left: -100px;
}
.carousel-control-next {
  margin-right: -100px;
}

/***********************************ANMELDEN***************************************/
#dg-subscribe label {
  display: block;
  color: #0a6ef0;
  margin-top: 15px;
  margin-bottom: 2px;
  font-weight: 700;
}
/***********************************SINGLE PAGES***********************************/
section.first.single {
  background-color: #fff;
  padding: 50px;
}
section.first.single .content a,
section.first.single .content a:hover {
}
.single .nav-line {
  margin-bottom: 100px;
}
.prevnext,
.prevnext a,
.prevnext a:hover {
  font-weight: 700;
  color: var(--highlight);
  font-size: 22px;
  text-transform: uppercase;
}
.prevnext i {
  margin: 0 10px;
}
.single-panel {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  top: 0;
  left: -101%;
  transition: left 0.3s;
  z-index: 5;
  overflow-y: auto;
}
.single-panel.show {
  left: 0;
}
.single .bild img {
  max-height: 400px;
  width: auto;
}
/*********************************SHAREBUTTONS**********************************/
.sharebox {
  font-size: 24px;
  margin-top: 35px;
}
.sharebox a i {
  display: inline-block;
  margin-right: 15px;
}
.sharebox .thebuttons {
  border: 1px solid #ccc;
  background-color: #eee;
  padding: 10px;
}
.sharebox .thebuttons .form-row {
  margin-top: 15px;
}
/***********************************GENERAL****************************************/
.dozigrid {
  background-color: #fafaf0;
}
.dozigrid .col-md-6 {
  line-height: 0;
}
.dozigrid .col-md-6.lower {
  margin-top: -2px;
}
.partner-logos {
  display: flex;
  flex-wrap: wrap;
}
.partner-logos > div {
  height:180px;
  width:16%;
}
.partner-logos img{
  max-height:150px;
}
/******************************FORMULARE*************************/
#anmeldung {
  font-size: calc(13px + (18 - 13) * ((100vw - 320px) / (1600 - 320)));
}
#anmeldung .form-control::placeholder {
  color: #3c3c3c;
  opacity: 1;
  font-size: 14px;
}
#anmeldung .row,
#anmeldung .form-row {
  margin-bottom: 15px;
}
/******************************FOOTER*****************************/
footer {
  background-color: #fff;
  border-top: 4px solid #000000;
}
footer p, footer p.has-text{
  font-size:12px;
  text-indent:0 !important;
}
footer .menu {
  font-weight: 400;
  list-style-type: none;
  font-size: 16px;
  line-height: 1.4rem;
  padding-left: 0;
}
footer .footer-text {
  font-size: 14px;
  margin-bottom: 0;
}
footer a {
  color: #000000;
}
.footer-logos a:hover i {
  color: var(--highlight);
}
footer .menu a {
  font-weight: 400;
  transition: font-weight 0.4s ease-in-out;
}
footer .menu a:hover {
  color: var(--highlight);
}
footer .menu .current-menu-item a {
  color: var(--highlight);
}
footer .footer-logo a img {
  max-width: 192px;
}
footer .footer-logos {
  font-size: 0.75rem;
}
footer i {
  margin-right: 1rem;
}
.footer-2 {
  margin-top: 30px;
}
.footer-logos {
  text-align: left;
}
.footer-logos img {
  max-height: 100px;
  width: auto;
  margin-left: 30px;
}

footer .partner-logos img {
  max-height: 80px;
  width: auto;
}
footer a.linked-image{
  border-bottom:none;
}
.partner-logos .textwidget p {
  margin-top: -10px;
  font-size: 0.8rem;
}
.toTop{
  position:fixed;
  bottom:28px;
  right:28px;
  display:flex;
  text-align:center;
  justify-content: center;
  align-items: center;
  opacity:0;
  height:45px;
  width:45px;
  font-size: 1.2rem;
  text-transform:uppercase;
  background-color: #ffffff;
  border: 3px solid #000000;
  transition:opacity .5s;
  color:#000000;
  text-decoration: none;
}
.to-top-arrow{
  width:15px;
  height:15px;
}
.toTop i{
  margin:auto;
}
.toTop:hover{
  color:var(--highlight);
  border: 3px solid var(--highlight);
  text-decoration: none;
}
.toTop.show{
  opacity: .8;
  transition:opacity .5s;
}
/***************************************MEDIA QUERIES***********************************************/
@media screen and (max-width: 1450px) {
  nav li {
    padding: 5px 4px;
    text-align: center;
  }
  nav ul a {
    font-size: 15px;
  }
}
@media screen and (max-width: 1200px) {
  .big-link,
  h1 {
    font-size: 45px;
  }
}
@media screen and (max-width: 992px) {
  p:has(> .light-button){
    width:100% !important;
  }
  h3 {
    font-size: 28px;
  }
  .big-link,
  h1 {
    font-size: 3rem;
  }
  .thebigmenu ul {
    font-size: 44px;
  }
  header {
    background-size: 150% auto;
    background-position: left top;
    top: 0;
  }
  header .logo {
    margin-top: -50px;
    max-width: 40%;
  }
  .logo-area img {
    max-height: 50px;
    width: auto;
  }
  .main-subtitle {
    position: relative;
    bottom: 0;
    right: 0;
    left: 0;
  }
  .banner{
    min-height: 60vH;
  }

  .banner .light-button
    /* .banner .light-button:hover { */ {
    color: #ffffff !important;
    position: absolute;
    right: 15px;
    left: 1rem;
    bottom: 0px;
    white-space: nowrap;
    line-height: 1.3rem;
  }
  .banner .main-title.h0 .light-button{
    position: relative !important;
    margin-top:25px;
    margin-left: 15px;
  }
  .banner .light-button.main-subtitle-link {
    left: unset;
  }
  .logo-top {
    z-index: 5;
  }
  .carousel-item .container-lg > .row {
    padding-bottom: 75px;
  }
  .carousel-control-next,
  .carousel-control-prev {
    margin-right: 0;
    margin-left: 0;
    align-items: start;
    padding-top: 25%;
  }
  .carousel-control-next {
    justify-content: end;
  }
  .carousel-control-prev {
    justify-content: start;
  }
  section.first {

  }
  section.social-icons .social-icons-container {
    left: 60px;
  }
  .social-icons-container a {
    color: #fff;
    font-size: 2.5rem;
    margin-right: 30px;
  }
  .side-fill {
    position: relative;
    width: 100%;
  }
  .square.big .text {
    font-size: inherit;
    line-height: inherit;
  }
  .square-container {
    margin-top: 25px;
  }
  .square-container img {
    max-width: 100%;
    display: block;
    margin: auto;
    width: auto;
  }
  .light-button,
  .alm-btn-wrap .alm-load-more-btn {
    display: block !important;
    color: #000000;
    font-size: 1rem;
    margin:10px 0;
  }
  .organizations-menu .light-button{
    margin-top: -5px;
    margin-bottom:0;
  }
  .big-slider-text {
    height: 400px;
    overflow: hidden;
  }
  .big-slider .light-button {
    position: relative;
    left: 0;
    margin-top: 35px;
  }
  .big-slider .light-button.d-none {
    display: none !important;
  }
  .big-slider .indicator {
    display: none;
  }
  .light-button-arrows {
    display: block;
    margin-top: 10px;
  }

  .light-button.large {
    font-size: 1.4rem;
  }
  .iso-grid-item {
    min-height: 375px;
  }
  .banner.before-footer{
    height:auto;
    min-height:inherit;
  }
  .banner.before-footer .banner-caption{
    padding-bottom:65px;
    padding-left:15px;
  }
  .banner-caption h1 {
    /* font-size: 1.5rem; */
    line-height: 1;
    position: relative;

  }
  .banner-caption a.light-button {
    position: absolute;
    left: 15px;
    bottom: 15px;
  }
  .content-block {
    padding-bottom: 3rem;
  }
  .ds-date{
    font-size:1.7rem;
  }
  footer {
    padding: 25px 0;
  }
  footer .menu {
    padding-left: 0;
    font-size: 1.3rem;
    line-height: 1.4;
  }
  footer .menu .sub-menu{
    font-size: 1rem;
  }
  footer .social-icons i {
    margin: 0 10px;
  }
  footer .footer-logos {
    margin-top: 25px;
  }
  .footer-logos img {
    margin-left: 0;
  }
  footer .textwidget {
    display: block;
    text-align: left;
  }
  footer .textwidget img {
    display: inline-block;
    margin: 10px;
  }
  .gallery-item {
    width: calc( 46.9% - 30px) !important;
  }
  .partner-logos > div {
    height:180px;
    width:49%;
  }
}
@media screen and (max-width: 768px) {
  html,
  body {
    font-size: 1.1rem;
    line-height: 1.1;
  }
  header .logo {
    margin-top: -50px;
    max-width: 50%;
  }
  .header-content {
    margin-top: 30px;
  }
  .thebigmenu .social-icons-container {
    bottom: 100px;
    left: 16px;
  }
  h1 {
    font-size: 2.2rem;
    line-height: 1;
  }
  h2 {
    font-size: 1.7rem;
    line-height: 1.1;
  }
  h3 {
    font-size: 1.4rem;
    line-height: 1;
    hyphens:auto;
  }
  .card h3{
    font-size:1.2rem;

  }
  h3 > .inverted {
    line-height: 1;
    font-size: 16px;
  }
  .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
    margin-bottom: 0;
  }
  .light-button,
  .light-button:after {
    font-size: 1rem;
  }
  .light-button-wrapper {
    bottom: 96px;
  }
  .content > .row {
    min-height: inherit;
  }
  .carousel-item .container-lg > .row {
    padding-bottom: 30px;
  }
  .carousel-item .container-lg > .row > .col-md-8 {
    padding-left: 25%;
  }
  .carousel-item .white-button {
    margin-top: 10px;
    margin-left: 80px;
  }
  ol.carousel-indicators {
    display: none;
  }

  section.first.fullscreen .carousel-item {
    padding-top: 150px;
    padding-bottom: 50px;
  }
  section.first.single {
    padding: 150px 0;
  }
  .thebigmenu {
    padding-top:120px;
  }
  .logo-top {
    z-index: 5;
  }
  .thebigmenu ul {
    padding-left: 15px;
  }
  .thebigmenu ul.sub-menu {
    padding-left:0;
  }
  .inverted {
    line-height: 2rem;
  }
  .readmore {
    font-size: 15px;
  }
  .event-listing .col-3 {
    padding-top: 2px;
  }
  .event-listing .col-3 > span.inverted,
  .event-listing .col-9 > span.inverted {
    font-size: 12px;
    line-height: 1.3rem;
  }
  .thebigmenu ul {
    font-size: 30px;
  }
  .big-link {
    font-size: 18px;
  }
  .horizontal-content .card {
    width: 66vw !important;
  }
  .section-footer .big-link,
  .next-headline {
    bottom: 5px;
  }
  section.social-icons .social-icons-container {
    left: 15px;
  }
  .social-icons-container a {
    color: #fff;
    font-size: 2.5rem;
    margin-right: 15px;
  }
  .filter-button-group {
    position: relative;
    margin-top: 15px;
  }
  .iso-grid-item {
    width: 50%;
  }
  .horizontal-content{
    height:auto !important;
  }
  .prevnext,
  .prevnext a,
  .prevnext a:hover {
    font-size: 16px;
  }
  footer .menu {
    padding-left: 0;
  }
  footer .social-icons i {
    margin: 0 10px;
  }
  footer .footer-logo {
    margin-bottom: 25px;
  }
  footer .footer-logos {
    margin-top: 25px;
  }
  .footer-logos img {
    margin-left: 0;
  }
}
@media screen and (min-width: 577px) and (max-width: 768px) {
}
@media screen and (orientation: portrait) {
  .fullscreen.slider {
    height: 50vh;
  }
}

#menu-toggle * {
  transition: 0.25s ease-in-out;
  box-sizing: border-box;
}
#menu-toggle span {
  display: block;
  background: #ffffff;
  border-radius: 0;
}
.has-border #menu-toggle span, #menu-toggle #cross span {
  background: var(--highlight);
}
#menu-toggle:hover span {
  background: #eeeeee;
}
#menu-toggle {
  width: 25px;
  height: 25px;
  margin: 6px 0 4px 0;
  position: relative;
  position: relative;
  cursor: pointer;
  /*background: rgba(255, 255, 255, 0.4);*/
  border-radius: 0;
  z-index: 5;
}

#menu-toggle #hamburger {
  position: absolute;
  right:30px;
  height: 100%;
  width: 100%;
  transform: scale(1.5) translate(0, 2px);
}
#menu-toggle #hamburger span {
  height: 2px;
  position: relative;
  top: 0;
  left: 0;
  margin: 1px 0 4px 0;
}
#menu-toggle #hamburger span:nth-child(1) {
  width: 100%;
  transition-delay: 0.5s;
}
#menu-toggle #hamburger span:nth-child(2) {
  width: 100%;
  transition-delay: 0.625s;
}
#menu-toggle #hamburger span:nth-child(3) {
  width: 100%;
  transition-delay: 0.75s;
}
#menu-toggle #cross {
  position: absolute;
  right:30px;
  height: 100%;
  width: 100%;
  transform: rotate(45deg) scale(1.5);
}
#menu-toggle #cross span:nth-child(1) {
  height: 0%;
  width: 2px;
  position: absolute;
  top: 0;
  left: 11px;
  transition-delay: 0s;
}
#menu-toggle #cross span:nth-child(2) {
  width: 0%;
  height: 2px;
  position: absolute;
  left: 0;
  top: 11px;
  transition-delay: 0.25s;
}

#menu-toggle.open #hamburger span {
  width: 0%;
}
#menu-toggle.open #hamburger span:nth-child(1) {
  transition-delay: 0s;
}
#menu-toggle.open #hamburger span:nth-child(2) {
  transition-delay: 0.125s;
}
#menu-toggle.open #hamburger span:nth-child(3) {
  transition-delay: 0.25s;
}
#menu-toggle.open #cross span:nth-child(1) {
  height: 100%;
  transition-delay: 0.625s;
}
#menu-toggle.open #cross span:nth-child(2) {
  width: 100%;
  transition-delay: 0.375s;
}
#menu-toggle #menu-label,
#menu-toggle #close-label {
  position: absolute;
  display: inline-block;
  left: 30px;
  top: -2px;
  color: #000;
  opacity: 1;
  transition: opacity 1s;
}
#menu-toggle #close-label {
  opacity: 0;
}
#menu-toggle.open #menu-label {
  opacity: 0;
}
#menu-toggle.open #close-label {
  opacity: 1;
}
svg {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.banner svg {
  width: 100%;
  max-width: 100%;
  height: 100%;
  position: absolute;
}
/*++++++++++++++++Link-List++++++++++++++++++++++++*/
ul.link-list {
  list-style: none;
  padding-left: 0;
}
.link-list li {
  margin-bottom: 10px;
  text-align:left;
  padding-left:0;
}
.link-list a {
  color:var(--highlight);
  font-size: 1.2rem;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 3px solid transparent;
}
.link-list a:hover {
  border-bottom-color: var(--highlight);
}
/*++++++++++++++++Experimental+++++++++++++++++++++*/
.content-block .col-12{
  position:relative;
}
@media screen and ( min-width : 993px ) {
  _::-webkit-full-page-media, _:future, :root .horizontal-content {
    /*display: flex;
    align-items:flex-start;*/
  }
}
.accordion {
  --bs-accordion-color: #000000;
}
#plgk-app body{
  overflow-y:hidden;
}
.form-control:focus {
  border-color:
          #ad1380;
  outline:
          0;
  box-shadow: 0 0 0 .25rem rgba(173,19,128,.25);
}