:root {
    --background-color-03:#4a0225;
    --background-color-02:#690030;
    --background-color-05:#414d5e;
     --background-color-01:#0a285b;
     --background-color-01:#1b2e4d;
     --background-color-01: #ede2de;
     --background-color-01: #f0f1f5;
     --background-color-01:#d6e0e7;
    # --background-color-01:#f3ebeb;
     
    --background-color-04:rgba(255,255,255,0.85);
    --background-image-01:linear-gradient(to bottom, transparent 0%, transparent 50%, var(--background-color-02) 50.1%, var(--background-color-02) 75%, transparent 75.1%, transparent 100%);
    --color-light:#ffffff;
    --text-color-dblue:#305784;
}

html {
    height:101%;
}

body {
    height:100%;
    min-height:300px;
    background-color:var(--background-color-01);
    background-position:left top;
    background-repeat:no-repeat;
    font-family:"Roboto","Arial Std Rounded Regular",Arial,Helvetica,sans-serif;
    line-height:150%;
   
    background-attachment: fixed;
     font-size:calc(0.75em + (20 - 12) * (100vw - 480px) / (1600 - 480));
}

#wrapper {
    width:100%;
    min-width:320px;

}
#header {
    width:100%;

}
#header.sticky {
    position:fixed;
    /*margin-bottom:5em;*/
    background-color:var(--background-color-01);
    background-attachment:fixed; 
    z-index:12;
    height: 6em;
}

#heading.sticky {
    position:fixed;
    margin-bottom:5em;
    z-index:2000;
    top: 5em;
  font-size: 0.8em
}

#heading.sticky h1{

  padding: 0.5em;
  margin: 0;
}

header.sticky nav {
  transform: translateY(-1.25em);
  margin: 0;
  padding: 0;
  line-height: 1;
  font-size: 1.1em;
}

#header .inside {
    width:90vw;
    max-width:1400px;
    margin:0 auto;
    transition:transform ease-in-out 0.5s;
    display:flex;
}
#header .logo {
    position:relative;
    margin-top:1.5em;
    margin-right:auto;
    margin-bottom:1em;
    padding-top:0;
    padding-bottom:0;
    transition: ease-in-out 0.5s; transform: rotate(0deg) translate(0em, 0em);z-index:2000;
}
#header.sticky .logo {
    position:absolute;
    position: relative;
    clear:none;
    margin-top:0;
    margin-bottom:0;
    padding-top:0;
    transition: ease-in-out 0.5s; 
    /*transform: rotate(-90deg) translate(-9em, -7.5em);*/
    transform: scale(0.6) translateY(-2.1em) translatex(-2em);
    z-index:2000;
}

header.sticky nav {
  transform: translateY(-1.25em);
  margin: 0;
  padding: 0;
  line-height: 1;
  font-size: 1.1em;
}

header.sticky #heading {
    z-index:99;
}

.sticky + #container {
  padding-top: 11.5em;
}

#header .logo img {
    width:6em;
    border-radius: 10px;
    padding:0.3em;
    background-color:rgb(105 0 63);
}
.referencess #header .logo img {
    -webkit-box-shadow:0 0 0 0;
    box-shadow:0 0 0 0;
    border-bottom:0;
    text-decoration:none;
}
#header .contao_partner {
    max-width:40%;
    float:right;
    display:block;
    margin:1em auto;
    padding-top:.1em;
    text-align:right;
    line-height:1.5em;
    transition: transform ease-in-out 0.3s;
    overflow: hidden;
}
#header.sticky .contao_partner {
    right:0;
    position:absolute;
    margin-top:0;
    margin-left:75%;
    transform: scale(0.9em) translate(0.45em, -0.5em); transition: transform ease-in-out 0.5s;
}
#header.sticky .contao_partner img {
    width:7em;
    transform:translate(70%, 0.1em); transition: transform ease-in-out 0.5s;
}
#header.sticky + #container #main {
    padding-top:8em;
}
#header.sticky + .custom {
    padding-top:8em;
}
#header .contao_partner figure {
    width:8em;
    float:right;
}
nav,
.mobile_nav {
    clear:both;
    font-size:1.1em;
    line-height:1.5;
}
nav {

    font-size: 1.4em;
  align-content: center;
  
  margin-bottom: 0.2em;
}
.min768 {
    display:block;
}
.max767 {
    display:none;
}

.mod_article:has(.content-swiper) + .mod_article {
    margin-top: -5em;
    position: relative;
    z-index:2;
    padding:0 2em;
     background-color:transparent;
    /*background-image:linear-gradient(to bottom, transparent 0%, transparent 67%, var(--background-color-02) 67%, var(--background-color-02) 100%); */
}
.mod_article .content-revolutionslider,.mod_article .ce_revolutionslider
.mod_article slider {
    margin-right:0;
    margin-left:0;
    font-size:1em;
}
#slider {
    width:90vw;
    max-width:1400px;
    position:relative;
    margin-right:auto;
    margin-left:auto;
    z-index:1;
}

.swiper-button-next, .swiper-button-prev  {
    display:none;
}


#right .inside {
    padding-right:1.75em;
    padding-left:1.75em;
}
form table td {
    padding-right:.5em;
    padding-bottom:.5em;
}
#header.sticky .navbar {
    margin-top:.1em;
    margin-bottom:.5em;
    font-size:1em;
    line-height:120%;
}
.nav {
    height:3vw;
    float:none;
    margin:0;
}
.mobile_nav {
    display:none;
}
.mobile_nav a {
    text-decoration:none;
}
nav ul {
    margin-top:0;
    margin-bottom:0;
    padding:0;
    box-sizing:border-box;
}
nav li {
    display:inline;
    padding-right:.75em;
    list-style-type:none;
}
nav li.last {
    padding-right:0;
}
nav li a,nav li span {
    display:inline-block;
    padding-top:.35em;
    text-decoration:none;
    color:#ccc;
    color:var(--text-color-dblue);
}
nav li:hover > a span,
nav li:hover > a,
nav li strong,
nav li.trail > a span,
nav li.trail > a,
nav li > a:focus span {
    font-weight:normal;
    color:#fd9329;
}
#main strong {
    font-weight: 500;
}
#container {
scroll-padding: 4em;
    margin-right:auto;
    margin-left:auto;

}
#main > .inside {
    min-height:350px;
    padding:0;
    
}

#main .mod_article.fullwidth {
    width:100vw;
    max-width:100%;
    padding:0;
}



.mod_article, .mod_article.fullwidth .inner {
    width:90vw;
    max-width:1400px;
    margin:auto;
    flex-basis:90vw;
    padding:0 2em;
}


#main [class^="content-"],
#main [class^="content-"] img{

   border-radius:10px;

}

[class^="content-text"] {
   background-color:var(--background-color-04); 
   border-radius:10px;
   border:4px solid #cfcfcf;
      padding:1em;
      font-size:1em;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
    margin-top:1em;
    margin-bottom:.5em;
    font-family:"Quicksand","Roboto Slab";
    font-weight:400;
}
h1,
h2 {
    font-weight:normal;
}
h1 {
    font-size:1.602em;
    color:#4A0225;
    color:var(--text-color-dblue);
    flex-basis: 100%;
}
h2 {
    padding-bottom:.5em;

    border-bottom:2px solid #690034;
    font-size:1.4em;

    color: #690034;
    color:var(--text-color-dblue);
  display: flex;
  gap: 0.3em;
  justify-content: flex-start;
}
.home h2 {
    font-size:1.2em;
    border:0;
    margin-top:0.5em;
    
}

h2 .fa,
h2 .fas,
h2 .fal,
h2 .fab,
h2 .far {
    padding-right:.3em;
    flex-basis:1.2em;
    height: 1.2em;
}
h2 .fa:before,
h2 .fas:before,
h2 .fal:before,
h2 .fab:before,
h2 .far:before {
    font-size:1.2em;
}
.fa-contao {
    color:#F47C00;
}
h3 {
    font-size:1.2em;
    color:#690034;
    font-wieght:600;
}
h4 {
    margin-bottom:.25em;
    font-size:1.125em;
    font-weight: 500;
}
h2,
h2 a {
    color:#690034;
    color:var(--text-color-dblue);
}
h1.ce_headline.no-flex {
    padding-left:1.25em;
}
/*p,
li {
    color:#333;
}*/
#footer {
    min-width:200px;
    min-height:100px;
    margin:2px auto 25px;
    padding-bottom:15px;
    font-size:.83em;
    background-color:var(--background-color-02);
    margin-top:2em;
    color:#ccc;
}
#footer p{
    color:#ccc;
}

#footer nav {
    font-size:1em;
}
#footer .inside {
    width:90vw;
    max-width:1400px;
    margin-right:auto;
    margin-bottom:10px;
    margin-left:auto;
    padding-bottom:10px;
   
}
#footer p {
    margin:0 0 10px 10px;
    font-size:.9em;
    line-height:1.35;
}
#main .mod_article.flex ul li {
    margin-left:2em;
}
.sliderh1 {
    margin-top:0;
    padding-top:1.5em;
    padding-bottom:1.2em;
    text-align:center;
    font:3.5em 'Fredericka the Great';
    color:#fff;
    text-shadow: 2px 2px 2px #000;
    animation: fade-in 2s ease-in-out 1;
}
@keyframes fade-in {
    from {opacity:0;}  
    to {opacity:1;}
}
#footer .navbar-header {
    display:none;
}
#footer .container-fluid {
    margin-right:0;
    margin-left:0;
    padding-right:0;
    padding-left:0;
}
#footer nav ul {
    display:inline-block;
    margin-top:10px;
    margin-left:0;
    padding-left:10px;
    list-style-type:none;
}
#footer .mod_customnav {
    width:45%;
    float:left;
    display:inline-block;
}
/*#footer nav a {
    color:#32031A;
}
#footer nav span {
    color:#D6700B;
}*/
#ecg {
    width:200px;
    right:-1px;
    top:15px;
    position:absolute;
    float:right;
    text-align:right;
}
.adresse {
    clear:both;
}
#ecg::after {
    width:100%;
    height:1px;
    display:block;
}
#footer .inside {
    min-height:25px;
}
.toggler {
    display:inline-block;
    padding-top:.3em;
    padding-bottom:.3em;
    font-family:"Quicksand";
    color:#4a0225;
    font-weight:600;
}
#main li {
    margin-left:1.5em;
    list-style-type:disc;
    list-style-position:outside;
}
#main a {
    font-family:"Quicksand";
    text-decoration:underline 2px dotted #4a0225;
    color:#4a0225;
    font-weight:600;
}

#main h2 a {

    text-decoration:none;

}


#main a:hover,
#main a:active {
    border-color:#32031A;
    color:#32031A;
}
.fb_page {
    width:240px;
    margin-top:25px;
    margin-right:10px;
    margin-left:10px;
}
.tp-bannertimer {
    height:2px;
    bottom:0;
    position:absolute;
    background-color:rgba(50,3,26,.01);
}
.tp-banner {
    visibility: hidden;
}
.tp-bullets,
.tp-bullets.hidebullets {
    bottom:0;
    bottom:0 !important;  opacity:1;
}
.tp-bullets.simplebullets.round .bullet {
    width:10px;
    height:10px;
    background-color:rgba(204,204,204,1);
    border-radius:50%;
    background-image:none;
}
.tp-bullets.simplebullets.round .bullet:hover,
.tp-bullets.simplebullets.round .bullet.selected,
.tp-bullets.simplebullets.navbar .bullet:hover,
.tp-bullets.simplebullets.navbar .bullet.selected {
    background-color:#FD932B;
}
.tp-loader {
    display:none;
}
#cboxOverlay {
    background-color:rgba(204,204,204,.08);
    background-color:rgba(180,180,180,0.8) !important;
}
.portfolio [class^="ce_"] figure {
    padding-right:.5vw;
}
#cboxTopLeft,
#cboxTopRight,
#cboxTopCenter,
#cboxTitle,
#cboxCurrent {
    display:none;
    display:none !important;
}
#cboxContent {
    overflow:visible;
    margin-top:0;
    background-color:rgba(254,254,254,.01);
}
.team #cboxLoadedContent {
    overflow:visible;
    padding-top:1em;
    padding-bottom:1em;
    border:0px inset #666;
    background:transparent;
}
#cboxLoadedContent {
    background-color:#fff;
    border:0;
}
.team #cboxLoadedContent img {
    overflow:visible;
    margin:2em;
    box-sizing:content-box;
}
.team .rte {
    flex-basis: calc(100% - 10em);
}

.pic_rounded figure {
  flex-basis: 8em;
}

.team .handorgel__header__button {
  background-image: url(../img/pin_lila_03.png);
  background-repeat: no-repeat;
  background-position: left center;
}


#cboxNext {
    width:35px;
    height:35px;
    top:50%;
    background-color:rgba(254,254,254,.5);
    background-image:url("../img/controls_white_lg.png");
    border-radius:50%;
    right:15px; background-position: -68px -10px;
}
#cboxNext:hover {
    background-position: -65px -75px;
}
#cboxPrevious {
    width:35px;
    height:35px;
    background-color:rgba(254,254,254,.5);
    background-image:url("../img/controls_white_lg.png");
    border-radius:50%;
    left:15px; background-position: 5px -10px;
}
#cboxPrevious:hover {
    background-position: 3px -10px;
}
.team #cboxClose {
    width:40px;
    height:40px;
    right:0;
    top:0;
    background-color:rgba(254,254,254,.5);
    background-image:url("../img/controls_white_lg.png");
    border:1px dotted rgba(50,3,26,.5);
    border-radius:50px;
    background-position:center 2px;
}
#cboxClose {
    width:40px;
    height:40px;
    right:1em;
    top:0;
    background-color:rgba(254,254,254,.5);
    background-image:url("../img/controls_white_lg.png");
    border:1px dotted rgba(50,3,26,.5);
    border-radius:50px;
    background-position:center 2px;
}
#cboxClose:hover {
    background-position: center -94px;
}
.team img.cboxPhoto {
    padding:1px;
    background-color:#ccc;
    -webkit-box-shadow:3px 3px 2px rgba(51,51,51,.5);
    box-shadow:3px 3px 2px rgba(51,51,51,.5);
    border:1.5em solid #fefefe;
    transform:rotate(-4deg);
}
.toggler .fas.fa-chevron-circle-down {
    color:#690034;
}
.toggler.active .fas.fa-chevron-circle-down::before {
    content: "\f139";
}
.flex,
.flex .formbody,
.fullwidth.flex .inner{
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    flex-flow: row wrap;
    justify-content:space-between;
    gap:2em
}
/*.home .flex [class^="content-"], .home .flex [class^="ce-"] {
    width:15em;
    min-width:240px;
    margin-right:0;
    margin-left:0;
    padding-right:1.8em;
    padding-left:1.8em;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 1 auto;
     -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;
    -webkit-hyphens:auto;
    -moz-hyphens:auto;
    -ms-hyphens:auto;
    hyphens:auto;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    flex-basis:45%;
    flex-grow:1;
    box-sizing:border-box;
}

*/
.flex [class^="content-"], .flex [class^="ce_"] {
    min-width:240px;
    
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 1 auto;
     -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;
    -webkit-hyphens:auto;
    -moz-hyphens:auto;
    -ms-hyphens:auto;
    hyphens:auto;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: flex-start;
    flex-basis:calc(50% - 4em);
    flex-grow:0;
    gap:2em;
}
.flex [class^="content-"].no-flex, .flex [class^="ce-"].no-flex {
    margin-bottom:0;

}
.flex [class^="mod_"] {
    min-width:240px;
    margin-right:0;
    margin-left:0;
    padding-right:2em;
    padding-left:2em;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 1 auto;
     -ms-flex: 0 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;
    -webkit-hyphens:auto;
    -moz-hyphens:auto;
    -ms-hyphens:auto;
    hyphens:auto;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    flex-basis: calc(50% - 4em);
    flex-grow:1;
}


.flex.halfs >* {
    flex-basis:calc(50% - (2em*1/2));
    gap:2em;
    box-sizing:border-box;
}

.flex.thirds >*, .mod_article.fullwidth .inner > * {
    flex-basis:calc(33% - (2em*2/3));
    gap:2em;
    box-sizing:border-box;
}
#main:has(+ #left) .flex {
    gap:2em;
}

#main:has(+ #left) .flex [class^="content-"] {
   flex-basis:calc(50% - 2em);
}

.offer h2 {
    flex-basis:100%;

}
.offer h3{
   background-color: var(--background-color-04);
  color: var(--color-light);
  margin: 0;
  border-radius: 0.75em 0.75em 0 0;
  padding: 0.5em;
  text-align: center;
}


.offer .box {
  margin: .2em .2em 2em .2em;


  -webkit-box-shadow: 1px 1px 3px rgba(51,51,51,.5);
  box-shadow: 1px 1px 3px rgba(51,51,51,.5);
  border: 2px solid var(--background-color-02);
  border-radius: 1em;
  box-sizing: border-box;
  flex-basis:calc(33% - 1em);
}

.offer .box .rte {
      padding: 1em 1.5em;
}

.mod_eventlist h3 {
    margin-top:0;
    margin-bottom:0;
    padding-top:1rem;
    border-bottom:1px solid #ccc;
    font:1.125rem/1.266rem Raleway;
    font-weight:bold;
    color:#333;
    box-sizing:border-box;border-top:1px solid transparent;
}
#main .mod_eventlist h3 a {
    border-bottom:0;
    text-decoration:none;
    color:#333;
}
.mod_eventlist .layout_teaser {
    margin-top:0;
    margin-right:0;
    margin-left:3.436rem;
}
.mod_eventlist .layout_teaser.last {
    border-bottom:0;
}
.mod_eventlist .layout_teaser * {
    margin-right:0;
    margin-left:0;
}
.mod_eventreader .layout_full .info,
.mod_eventreader .layout_full .location {
    font-family:Raleway;
    font-weight:normal;
    color:#666;
}
.mod_eventreader .layout_full h2 {
    margin-bottom:1em;
}
.mod_eventreader .layout_full h2 {
    margin-left:0;
    padding-left:0;
    text-indent:0;
}
.mod_eventlist .teaser {
    font-size:.95em;
}
.homepage .flex {
}
.references [class^="content-"].filter-item {
    width:29.33%;
    margin:2%;
    padding:2%;
    font:1.424em Caveat;
    box-sizing:border-box;
}
[class^="content-"].no-flex,
.flex .widget.no-flex,
.flex .widget.headline,
.home [class^="content-"].no-flex {
    flex-basis:100%;
}
.home [class^="content-"].flex2,
[class^="content_"].flex2,
.flex .widget.flex2 {
    flex-basis: 66%;
}
.references figure img {
    border:1px solid #ccc;
}
.portfolio figure figcaption,
.portfolio figure figcaption a {
    position:relative;
    display:block;
    text-align:center;
    font-size:.95em;
    font-weight:normal;
    text-decoration:none;
    color:#333;
}
#main figure > a {
    display:block;
    border-bottom:0;
    line-height:0;
    text-decoration:none;
}
select[name="workshop"] {
    padding-top:.3em;
    padding-bottom:.3em;
    border-radius:5px;
    font-size:.833em;
}
.h_contao h2:before,
.h_networking h2:before {
    margin-right:.2em;
    margin-left:0;
    font-family:FontAwesome;
}
.h_networking h2:before {
    font-family:FontAwesome;
    content:"\f274";
}
.h_contao h2:before {
    content:"\f26d";
}
.pic_rounded {
    position:relative;
    display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.pic_rounded figure img {
    width:7em;
    height:7em;

    border:2px solid rgba(74,2,37,.5);
    border-radius:50%;

}
.pic_rounded.ce_text > * {
    margin-right:7em;
}
.pic_rounded.ce_text > h2 {
    margin-right:5.7em;
}
.pic_rounded.ce_text figure {
    margin-right:0;
}

.pic_rounded + .content-accordion {
  margin-left: 10em;
}
#slider .rte {
    bottom:7%;
    left:0;
    position:absolute;
    padding-right:2em;
    padding-bottom:1em;
    padding-left:2em;
    background-color:rgba(255,255,255,.8);
    border-radius:0 .3em .3em 0;
    padding-left:3.8em
}
#slider h1 {
    font-family:"Quicksand";
    color:#690034;
    font-weight:700;
}
#slider figure {
    font-size:1px;
    line-height:1;
}
#slider p {
    top:60%;
    position:absolute;
    top:calc(50% + 5em);
}
iframe {
    width:100%;
    min-height:40vw;
}
.example {
    margin:1em;
    padding:1em;
    border:2px solid #ff9d55;
    border-radius:.3em;
    margin: 1em 0em;
    padding: 1em;
    border: 2px solid #ff9d55;
    border-radius: .3em;
    box-sizing: border-box;
    display: block;
    font-size: 0.9em;
}
.example h4 {
    margin-top:.5em;
    margin-bottom:1em;
}

nav {
    font-family:"Quicksand";
}
.invisible:focus {
    width:auto;
    height:auto;
    position:relative;
    color:#fff;
    clip:auto;
}
.mobile_menu_overlay.background {
    display:none;
    background-color:transparent;
    display:none !important;
}
.mod_mobile_menu {
    display:none;
}
.cookiebar {
    background-color:rgba(0,0,0,.8);
}
.mod_eventlist .header {
    padding-top:.5em;
}
.mod_eventlist .header.first {
    padding-top:0;
    border-top:0;
}
.mod_eventlist p.cal {
    width:3em;
    float:left;
    display:inline-block;
    margin-right:1.242rem;
    margin-bottom:.5rem;
    padding-top:0;
    text-align:center;
    -webkit-box-shadow:1px 1px 2px rgba(51,51,51,.7);
    box-shadow:1px 1px 2px rgba(51,51,51,.7);
    border:1px solid #ccc;
    border-radius:.3em .3em .2em 0;
    font:.79rem/1rem Raleway;
    box-sizing:border-box;
}
.mod_eventlist p.time {
    display:block;
    margin-top:0;
    margin-bottom:.5rem;
    padding-top:.1rem;
    font:.79rem/1.125rem Raleway;
}
.mod_eventlist p.more {
    text-align:right;
    font:.79em Raleway;
    font-weight:bold;
}
.mod_eventlist span[class^="cal_"] {
    display:block;
}
.mod_eventlist span.cal_month {
    padding-top:.1rem;
    font-size:.79rem;
    line-height:1.125rem;
}
.mod_eventlist span.cal_year {
    background-color:#ccc;
    font-size:.702rem;
    line-height:1rem;
}
.mod_eventlist span.cal_day,
.mod_eventlist h3 {
    font-size:1.125rem;
    line-height:1.266rem;
    font-weight:bold;
    border-top: 1px solid transparent;
    border-bottom:1px solid transparent;
}

h2.handorgel__header  {
    padding-bottom:0;
}

.offer {
    container-name:offer;
    container-type: inline-size;
    gap:1em
}

@container offer (max-inline-size:767px){
    .box.content-text {
        flex-basis:calc(50% - 1em);
    }
}

@container offer (max-inline-size:480px){
     .box.content-text {
        flex-basis:100%;
    }
}

.media--left figure {
    margin-right:2em;
    margin-top:0.5em;
    margin-bottom:1em;
}

.mod_article {
    container-name:article;
    container-type: inline-size;
}
@container article (max-inline-size:767px){
.media--left figure {
    margin-right:0em;
    float:none;
    text-align:center;
    margin-bottom:1em;
    margin-top:1em;
}
}

    
