@charset "UTF-8";

/* reset */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
article,aside,footer,header,main,nav,section,figure {display:block;}
body {line-height:1;}
ol,ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before,blockquote:after,q:before,q:after {content:'';content:none;}
table {border-collapse:collapse;border-spacing:0;}



/* source-sans-3-200 - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 200;
  src: url('../../files/fonts/source-sans-3-v15-latin-200.woff2') format('woff2');
}
/* source-sans-3-200italic - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 200;
  src: url('../../files/fonts/source-sans-3-v15-latin-200italic.woff2') format('woff2');
}
/* source-sans-3-300 - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 300;
  src: url('../../files/fonts/source-sans-3-v15-latin-300.woff2') format('woff2');
}
/* source-sans-3-300italic - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 300;
  src: url('../../files/fonts/source-sans-3-v15-latin-300italic.woff2') format('woff2');
}
/* source-sans-3-regular - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/fonts/source-sans-3-v15-latin-regular.woff2') format('woff2');
}
/* source-sans-3-italic - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 400;
  src: url('../../files/fonts/source-sans-3-v15-latin-italic.woff2') format('woff2');
}
/* source-sans-3-500 - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 500;
  src: url('../../files/fonts/source-sans-3-v15-latin-500.woff2') format('woff2');
}
/* source-sans-3-500italic - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 500;
  src: url('../../files/fonts/source-sans-3-v15-latin-500italic.woff2') format('woff2');
}
/* source-sans-3-600 - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  src: url('../../files/fonts/source-sans-3-v15-latin-600.woff2') format('woff2');
}
/* source-sans-3-600italic - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 600;
  src: url('../../files/fonts/source-sans-3-v15-latin-600italic.woff2') format('woff2');
}
/* source-sans-3-700 - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  src: url('../../files/fonts/source-sans-3-v15-latin-700.woff2') format('woff2');
}
/* source-sans-3-700italic - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 700;
  src: url('../../files/fonts/source-sans-3-v15-latin-700italic.woff2') format('woff2');
}
/* source-sans-3-800 - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 800;
  src: url('../../files/fonts/source-sans-3-v15-latin-800.woff2') format('woff2');
}
/* source-sans-3-800italic - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 800;
  src: url('../../files/fonts/source-sans-3-v15-latin-800italic.woff2') format('woff2');
}
/* source-sans-3-900 - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 900;
  src: url('../../files/fonts/source-sans-3-v15-latin-900.woff2') format('woff2');
}
/* source-sans-3-900italic - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 900;
  src: url('../../files/fonts/source-sans-3-v15-latin-900italic.woff2') format('woff2');
}



:root {
--std-color:#666;
--blau:#396e86;
--blau-heller:#396e86;
--blau-dunkler:#1d5772;
--link-color:#936118; 
--nav-link-color:#fff; 
--body-bg-col:#e9ebea; 
--std-bg-col:#fff;
--intro-border:#ccc;
--acc-border:#cdcdcd;
--kontakt-box-bg:#ebe6e1;
--kontakt-box-link-color:#936118; 
}

/* dark mode */
@media (prefers-color-scheme:dark) {
    :root {
      --std-color:#919191;
      --blau:#4d8199;
      --blau-heller:#6096af;
      --blau-dunkler:#1d5772;
      --link-color:#a26c1a; 
      --nav-link-color:#fff; 
      --body-bg-col:#161415; 
      --std-bg-col:#000;
      --intro-border:#444;
      --acc-border:#444;
      --kontakt-box-bg:#1a2833;
      --kontakt-box-link-color:#bf801f;
    }
    
    .show-mobile-nav #header:before {opacity:0.975 !important;}
}


* {box-sizing:border-box;}
html {position:relative; height:100%; min-height:100%; min-width:320px;}
body {position:relative; height:100%; width:100%; display:table; table-layout:fixed; font-family:"Source Sans 3", sans-serif; font-size:1.125em; font-weight:400; font-style:normal; line-height:133.333%; letter-spacing:0.0085em; color:var(--std-color); background:var(--body-bg-col); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;}

.skip {position:absolute; display:block; top:-10em; width:50%; padding:0.5em; font-size:1em; font-weight:500; text-align:center; text-transform:uppercase; text-decoration:none; letter-spacing:0.05em; z-index:999; text-decoration:none; border:1px solid var(--std-color); border-radius: 0.25em; color:var(--std-color);background:var(--std-bg-col);}
.skip:focus {top:1.0em; left:25%; outline:none; text-decoration:none;}

/* hyphens */
#main p, #main li, #main dl, .handorgel__header__button {-webkit-hyphens:auto; -webkit-hyphenate-limit-before:5; -webkit-hyphenate-limit-after:3; hyphens:auto; hyphenate-limit-chars:9 5 3; hyphenate-limit-lines:2;}

@media screen and (max-width:420px)
{
	#main * {overflow-wrap:break-word;}   
	#main h1, #main h2, #main h3, #main h4 {-webkit-hyphens:auto; -webkit-hyphenate-limit-before:5; -webkit-hyphenate-limit-after:3; hyphens:auto; hyphenate-limit-chars:7 4 3; hyphenate-limit-lines:2;} 
}

#main .no-hyphens {-webkit-hyphens:none; hyphens:none;}

h1 {margin:0 0 1em 0; font-size:1.555em; line-height:118.5%; font-weight:400; letter-spacing:0.02em; color:var(--blau);}
h2 {margin:0 0 1.4em 0; font-size:1.333em; font-weight:300; line-height:140%; letter-spacing:0.02em; color:var(--blau-heller);}
h1 + div > h2 {margin-top:-1em;} 
h1 + div > * + h2 {margin-top:0;} 
.no-subhead h2 {margin:0 0 0 0; font-size:1em; font-weight:600; color:var(--std-col);}
.dsgvo h2 {font-size:1.333em; font-weight:300; line-height:140%; letter-spacing:0.02em; color:var(--blau-heller);}
.dsgvo * + h2 {padding-top:0.7em;} 
h3 {margin:0 0 0.5em 0; padding:0.5em 0 0 0; font-size:1.25em; line-height:120%; font-weight:600;}
.content-accordion h3 {margin:0 0 1em 0; margin:0; font-size:1em; line-height:118.5%; font-weight:400; color:var(--blau);}
h2 + h3 {padding:0.25em 0 0 0;}
.no-subhead h3 {margin:0 0 0 0; font-size:1em; line-height:122%; font-weight:400; color:var(--std-col);}
.dsgvo h3 {margin:0 0 0.5em 0; padding:0.5em 0 0 0; font-weight:600;}
h4,h5,h6 {margin:0; font-size:1.0em; line-height:120%; font-weight:600;}
h5,h6 {font-weight:400;}

p, ol, ul {margin:0 0 0.75em 0;}

ol {list-style:decimal; padding:0 0 0 0.25em;}

#main li {margin:0 0 0.35em 1em;}
#main ul li:before {content:""; position:absolute; width:4px; height:4px; margin:0.5em 0 0 -0.75em; border-radius:50%; background:var(--std-color);}

blockquote {font-weight:500; font-style:italic; color:var(--blau); line-height:122.222%; padding:0.875em 0;}
blockquote p:last-child {margin-bottom:0;}
h2 + blockquote {margin:0 0 2.125em 0; padding:0;}
blockquote + p {padding:0.875em 0 0 0;}

strong {font-weight:600;}

#main a {font-weight:600; color:var(--link-color); font-style:normal; text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 2px; text-underline-offset: 0.15em; transition: text-decoration-color .5s ease;}
#main a:focus, #main a:hover {text-decoration-color:inherit; outline:none;}

img{max-width:100%; height:auto; display:block; margin:0;}
button {font-family:"Source Sans 3", sans-serif; outline:none;}

*.hidden, .invisible {position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); margin:-1px; padding:0; border:0;}
.extra-padding-top {padding-top:0.7em;}


#main a:focus-visible, nav button:focus-visible, #logo a:focus-visible {outline:1px solid var(--std-color); outline-offset:0.2em; border-radius:0.025em;}
nav a:focus-visible, .show-mobile-nav nav button:focus-visible {outline: 1px solid var(--nav-link-color); padding-left:0 !important;}

#wrapper {margin:0 auto; width:100%; max-width:1280px; height:100%; min-height: 100vH; background:var(--std-bg-col); position:relative;}

#header {position:absolute; top:0; left:0; z-index:999; width:100%; max-width:none;}
#header .inside {position:relative;}
#header nav {position:absolute; width:100%; width:50%;}

#container,#main, #main .inside, .mod_article, .rs-columns {height:100%; display:flex; flex-direction:column; align-items:stretch;}


#logo {margin:37px 56px 5.25em 0; text-align:right;}
#logo a {display:inline-block; margin:0 -6px 0 0;}
#logo img {max-width:191px;}


.rs-columns:after{content:""; clear:both; position:relative; display:table; height:0;}
.rs-column {width:50%; float:left;}
.rs-columns > .rs-column:first-of-type {display:flex; align-items:stretch;}
.rs-columns > .rs-column:first-of-type > div {display:flex; width:100%;}
.rs-columns > .rs-column:first-of-type figure {display:flex; width:100%; min-height:100%; max-height:100vH;}
.rs-columns > .rs-column:first-of-type figure img { display:flex; object-fit:cover; width:auto; min-width:100%; height:auto; min-height:100%;}

.portrait .rs-columns > .rs-column:first-of-type figure img {object-position:0 0;  object-position:50% 50%;}
.links-oben .rs-columns > .rs-column:first-of-type figure img {object-position:0 50%;}

.rs-column .ce_text {padding:3em;}
.rs-columns .-large-first {position:fixed; top:0; bottom:0; width:50%; max-width:640px;}
.rs-columns .-large-last {margin-left:50%; padding:224px 55px 20px 55px;}


/* navigation */
nav button {position:fixed; top:1.8em; width:54px; border:none; background:none; margin:0; 
margin: 0 0 0 1.5em;
padding:0; text-align:center; cursor:pointer; z-index:999;}
nav button span.inner {position:relative; width:48px; height:48px; display:inline-block; border-radius:50%; color:var(--nav-link-color); background:var(--blau); transition:all 1.0s ease;}
nav button span.menu {display:inline-block; font-size:1.5em; font-weight:600; text-transform:uppercase; color:var(--blau); transition:all 0.5s ease;}

#toggle span.inner span {position:absolute; top:14px; right:0; left:9px; right:auto; width:28px; height:4px; background:var(--nav-link-color); transition:transform 250ms cubic-bezier(.215,.61,.355,1) .12s; }
#toggle span.inner span.middle-bar {top:23px; width:19px;}
#toggle span.inner span.bottom-bar {top:32px;}

.show-mobile-nav #toggle span.inner {color:var(--link-color); background:var(--std-bg-col);}
.show-mobile-nav #toggle span.inner span {left:14px; height:3px; width:19px; background:var(--link-color);}

.show-mobile-nav #toggle span.inner span.top-bar {top:23px; transform:rotate(45deg);}
.show-mobile-nav #toggle span.inner span.middle-bar {transition:opacity 75ms ease 0s; opacity:0;}
.show-mobile-nav #toggle span.inner span.bottom-bar {top:23px; transform:rotate(-45deg);}
.show-mobile-nav #toggle span.menu {color:var(--std-bg-col);}

nav ul {margin:0; text-transform:uppercase;}
nav > ul {position:fixed; display:none; width:50%; max-width:640px; height:100vH; overflow-y:auto; padding:40px 0 0 128px;}
nav ul ul {margin:0 0 0 0.65em; text-transform:none;}
nav ul li {margin-bottom:0.5em;}
nav ul li:nth-child(7) {margin-bottom:1.5em;}
nav ul ul li {margin-bottom:0.125em;}
nav, nav a {color:var(--nav-link-color);}
nav a {display:inline-block; text-decoration:none; transition:padding 0.5s ease;}
nav a:focus, nav a:hover {padding-left:0.65em;}
nav a.trail, nav strong.active {position:relative; padding-left:0.65em; font-weight:600;}
nav a.trail:before, nav strong.active:before {content:""; display:block; position:absolute; width:0.175em; top:0.325em; bottom:0.4em; left:0; background-color:var(--nav-link-color);}
nav ul ul strong.active {padding-left:0;}
nav ul ul strong.active:before {content:none;}


div#visual {position:relative;}
div#visual:before {content:""; width:100%; position:absolute; top:0; height:100%; transition:opacity 500ms ease; background:var(--blau); opacity:0; z-index:99;}
.show-mobile-nav div#visual:before {opacity:0.8;}
div#visual img {filter:grayscale(0); transition:filter 1.5s ease;}
.show-mobile-nav div#visual img {filter:grayscale(1);}


@media only screen and (max-width:840px) {
	#container,#main, #main .inside, .mod_article, .rs-columns {display:block;}
	.rs-columns {flex-wrap:wrap;}
	.rs-column {width:100%; float:none;}
	.rs-columns > .rs-column:first-of-type figure {display:block; width:100%; max-height:none;}
  .rs-columns > .rs-column:first-of-type figure img { width:100%;}
  .rs-columns > .rs-column {width:100%; margin:0; position:static; max-width:none;}
  .rs-columns .-large-last {padding:2.25em 17px 6px 17px;}

  #header {position: static; height:104px;}  
  #header nav {position:relative; z-index:99; height:104px; padding:18px 0 0 20px; overflow-y:auto;}
  #header nav button {position:absolute; top:12px; left:11px; margin:0; transform:scale(0.835); z-index:999;}
  nav > ul {position:static; width:100%; height:auto; overflow-y:hidden; padding:90px 0 3em 18px;}

  div#visual:before {content:none;}
  #header:before {content: ""; width:100%; position:absolute; top:0; transition:opacity 500ms ease; background:var(--blau-dunkler); opacity:0;}
  .show-mobile-nav #header {width:auto;}
  .show-mobile-nav #header:before {min-height:100%; z-index:99;opacity:0.8;}
  .show-mobile-nav #header nav {position:absolute; width:100%; height:100%; min-height:100vH;}
  body.show-mobile-nav {position:fixed; width:100%; overflow-y:scroll; display:block;}

  #logo { position:absolute; top:15px; right:16px; margin:0;}  
  #logo a {margin:0;}
  #logo img {width:160px;}
}


/* intro */
.intro {font-size:1.11em; line-height:130%; margin:0 0 0.45em 0;}
.fett {font-weight:600;}
.kursiv {font-size:0.9em; font-style:italic;}
.intro p.fett {margin:0 0 0.7em 0;}
.intro p.kursiv {margin:0 0 1.2em 0;}
.intro > div {position:relative; padding-left:0.75em;}
.intro > div:before {content:""; display:block; position:absolute; width:0.2em; top:0.2em; bottom:0.4em; left:0; background-color:var(--intro-border);}
.intro > div *:last-child {margin-bottom:0;}
.intro > div {margin-bottom:1.4em;}


/* handorgel.min.css?v=1.0.0.1 */
.content-accordion{border-bottom:1px solid #eee}.handorgel__header{display:block; margin:0}.handorgel__header__button{display:block; width:100%; padding:20px 24px; margin:0; border:0; border-top:1px solid #eee; background-color:#fff; border-radius:0; color:inherit; cursor:pointer; font-size:inherit; text-align:left; transition:background-color .2s ease; user-select:none}.handorgel__header__button::-moz-focus-inner{border:0}.handorgel__content{display:none; overflow:hidden; height:0; border-top:1px solid #eee; background-color:#f6f6f6; transition:height .1s ease .1s}.handorgel__content--open{display:block; transition:height .2s ease}.handorgel__content--opened{overflow:visible}.handorgel__content__inner{padding:20px 24px; opacity:0; transition:opacity .1s ease}.handorgel__content--opened .handorgel__content__inner{opacity:1; transition:opacity .3s ease}.handorgel .accordion{display:none; overflow:hidden; height:0; transition:height .2s ease}.handorgel .accordion.open{display:block; transition:height .2s ease}.handorgel .accordion.active{overflow:visible}

/* handorgel mod rcc */
.content-accordion{margin:0 0 0.75em 0; padding:0.875em 0 0 0; border-bottom:1px solid var(--acc-border);}
.handorgel__header__button {position:relative; padding:0.135em 2em 0.135em 0; border-top:1px solid var(--acc-border); background:var(--std-bg-col);}
h3.handorgel__header {margin:0; padding:0;}
.handorgel__content {border-top:1px solid var(--acc-border); border-top:none; background:var(--std-bg-col);}

.handorgel__header__button:after {content:""; position:absolute; top:0.5em; right:0.5em; height:0.5em; display:block; width:.65em; background:no-repeat; background-size:.65em; background-position:50% 0; 
background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='48px' height='40px' viewBox='0 0 48 40' enable-background='new 0 0 48 40' xml:space='preserve'%3E%3Cpath fill='%23396E86' d='M5.094,6.037V5.92h37.812v0.117L24.18,34.08h-0.289L5.094,6.037z'/%3E%3C/svg%3E%0A"); 

transform:scaleY(1); transform:rotate(0deg); transition:transform 150ms ease;}
.handorgel__header__button:focus-visible {outline:none;}
.handorgel__header__button:focus-visible:after,.handorgel__header__button:hover:after {transform:scale(1.1);}
.handorgel__header__button:focus-visible:after {top:0.5em; max-height:16px; border:1px solid var(--std-color); border-radius:0.125em;}
.handorgel__header__button[aria-expanded="true"]:after {transform:rotate(180deg);}
.handorgel__header__button[aria-expanded="true"]:focus-visible:after,.projekt-nav .handorgel__header__button[aria-expanded="true"]:hover:after {transform:rotate(180deg) scale(1.1);}
.handorgel__header__button[aria-expanded="true"] {font-weight:600;}
.handorgel__content__inner {padding:.25em 0 0 0; opacity:0; transition:opacity .1s ease;}


/* kontakt-box */
.ce_rsce_rcc_kontakt-box {margin:2.375em 0 0.7em 0; padding:1em; font-weight:600; background:var(--kontakt-box-bg);}
.entry {display:inline-block;}
#main .ce_rsce_rcc_kontakt-box a {color:var(--kontakt-box-link-color);}
.middot {padding:0 0.25em;} 

@media only screen and (max-width:1180px) {
  .entry {display:block;}
  .middot {display:none;} 
}

@media only screen and (max-width:840px) {
  .entry {display:inline-block;}
  .entry:last-child {display:block;}
  .middot {display:inline-block;} 
}

@media only screen and (max-width:500px) {
  .entry {display:block;}
  .middot {display:none;} 
}

/* faq */

#faq h2 {font-weight:400;margin:0; padding:2em 0 0 0;}
#faq .handorgel__header__button {hyphens:none;}
/*
#faq .handorgel__content__inner {padding: .75em 2em .75em .75em;}
*/
#faq .handorgel__content__inner {padding-right: 2em;}
#faq .content-accordion {padding:0.375em 0 0 0;}

/*
#faq section:nth-child(5n+4) {border-bottom: 1px solid var(--acc-border);margin-bottom:-1px;}
#faq section:nth-child(5n+5) {margin-top:1.25em;}
*/

@media print
{
    body {margin:0 auto; font-size:1em; background:#fff;}
    #wrapper {display:block; margin:0 auto; width:100%; max-width:1024px;}
    #header nav, #visual {display:none;}
    img {width:100%; max-width:none;}
    #logo {margin-top:28px;}
    .portrait #visual {display:block;}
    .portrait .rs-columns {flex-direction:row;}
    .portrait .rs-columns .-large-first {position:static; width:45%; max-width:640px; padding:170px 0 20px 40px;}
    .portrait .rs-columns > .rs-column:first-of-type figure {min-height:0; width:100%;}
    .portrait .rs-columns > .rs-column:first-of-type figure img {display:block; width:100%;}
    .rs-columns .-large-last {width:100%; margin:0; padding:170px 55px 20px 55px;}
    .portrait .rs-columns .-large-last {padding-left:35px;}
    .entry {display:inline-block;}
    .entry:last-child {display:block;}
    .middot {display:inline-block;} 
}

