/* oxygen-300 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Oxygen';
    font-style: normal;
    font-weight: 300;
    src: url('../Fonts/oxygen-v15-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    url('../Fonts/oxygen-v15-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* oxygen-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Oxygen';
    font-style: normal;
    font-weight: 700;
    src: url('../Fonts/oxygen-v15-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    url('../Fonts/oxygen-v15-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* play-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Play';
    font-style: normal;
    font-weight: 700;
    src: url('../Fonts/play-v19-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    url('../Fonts/play-v19-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

html, body {
    height: 100%;

    background-repeat:repeat-x;
    margin: 0; 
    padding: 0; 
    font-family: Oxygen, arial;
    font-size:24px;
    font-weight:300;

    color:var(--color-2);
}
html{scroll-behavior:smooth}


table, tr, td, th {
    font-family: Oxygen, arial;
    font-size:24px;
}

.text-right,
.align-right {
    text-align:right;

}
.text-center,
.align-center {
    text-align:center;
}
.clear { clear:both; }



* { box-sizing:border-box;    -webkit-font-smoothing: antialiased;   -moz-osx-font-smoothing: grayscale; }

.team .c33,
img,
.frame-30 .text,
.frame-30 header,
.frame-30 header:before,
.top, .top .main, .nav,
.teaser img, input, .nbar, .st0, .st1,
a, li {
    -webkit-transition: all 400ms ease;
  -moz-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease;    
  }
img {
  border:0px;
}


.all {
  width:100%;
  min-width:100%;
  padding-left:40px;
  padding-right:40px;
}
.all.content {  scroll-margin-top: 0px; } /* sticky navi offset */

.main {
  max-width:1600px;
  margin: 0px auto;
  padding:0px;
  position:relative;
  text-align: left;
    z-index: 1;
}
.main:after { content:''; display:table; clear:both; }


.cStage {display: flex;margin:0 -35px;flex-wrap: wrap;}
.cStage > div{padding:0 35px;}

.cStage.f-12 {margin:0 -15px;}
.cStage.f-12 > div{padding:0 15px;}

.cStage.f-13 {margin:0 -75px;}
.cStage.f-13 > div{padding:0 75px;}

.cStage.f-10 {align-items: center}
.cStage.f-11 {align-items: flex-end}

.c33 { -ms-flex: 0 0 33.3333%;flex: 0 0 33.3333%; max-width: 33.3333%; }
.c66 { -ms-flex: 0 0 66.6666%;flex: 0 0 66.6666%; max-width: 66.6666%; }
.c16 { -ms-flex: 0 0 16.6666%;flex: 0 0 16.6666%; max-width: 16.6666%; }
.c30 { -ms-flex: 0 0 30%;flex: 0 0 30%; max-width: 30%; }
.c70 { -ms-flex: 0 0 70%;flex: 0 0 70%; max-width: 70%; }
.c40 { -ms-flex: 0 0 40%;flex: 0 0 40%; max-width: 40%; }
.c20 { -ms-flex: 0 0 20%;flex: 0 0 20%; max-width: 20%;}
.c50 { -ms-flex: 0 0 50%;flex: 0 0 50%; max-width: 50%;}
.c25 { -ms-flex: 0 0 25%;flex: 0 0 25%; max-width: 25%; }
.c75 { -ms-flex: 0 0 75%;flex: 0 0 75%; max-width: 75%; }
.c30 { -ms-flex: 0 0 30%;flex: 0 0 30%; max-width: 30%;}
.c35 { -ms-flex: 0 0 35%;flex: 0 0 35%; max-width: 35%; }
.c60 { -ms-flex: 0 0 60%;flex: 0 0 60%; max-width: 60%; }
.c15 { -ms-flex: 0 0 15%;flex: 0 0 15%; max-width: 15%; }

svg,
img,video {max-width: 100%; height:auto;}

a + p,
.main * > *:first-child {margin-top:0px;}
.main * > *:last-child {margin-bottom:0px;}


a {color:inherit; text-decoration: none}

:root {
    --color-1:#FEC800;
    --color-1-l: rgba(254, 200, 0, 0.3);

    --color-2:#114858;
    --color-3:#E5E5E5;
    --color-4:#F17A1D;
    --color-4-l: rgba(241, 122, 29, 0.3);

    --color-5:#96C100;
    --color-5-l: rgba(150, 193, 0, 0.3);

    --color-6:#01070C;
    --color-6-80: rgba(1, 7, 12, 0.8);

}


a + p,
.main div > *:first-child {margin-top:0px;}


h1,h2 {font-size:75px; font-family: Play, Arial; font-weight:700;}
h3 {font-size:45px; font-family: Play, Arial; font-weight:700;}


.top {position: fixed;z-index: 111; background:transparent; top:0; left:0; width:100%;color:#fff; }
.nh .top,
.s .top {background:var(--color-6-80); backdrop-filter: blur(10px)}
.top + .all,
.top + section .all {padding-top:100px;}
.top .main {padding:20px 0;}
.s .top .main {padding:10px 0;}

.top .main > a {display: inline-block; width:550px; }
.s .top .main > a {width:350px; padding-right:50px; }

.top .main a + .nav {display: inline-block; padding-top: 41px;vertical-align: top;width:calc(100% - 550px); text-align: right;  }
.s .top .main a + .nav {padding-top: 5px;width:calc(100% - 350px);   }

.top .main ul {display: flex;    border-bottom:2.5px solid var(--color-1); justify-content: space-evenly; margin:0; padding:0; list-style-type:none;}
.s .top .main ul {border-bottom:1.5px solid var(--color-1); }
.top .main ul li {display: inline-block; }
.top .main ul li a {display: block; padding:10px; font-family: Play, Arial; font-size:24px; font-weight:700;}
.top .main ul li a.active,
.top .main ul li:hover a {color:var(--color-1);}

.header {padding-bottom:200px;font-size:120%;}

.f-20 {
    position: relative;}
.f-20 .particles {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: .5;
}

.content {--main-hl:var(--color-1); --sub-hl:var(--color-1-l);}
.content.l-10 {--main-hl:var(--color-4); --sub-hl:var(--color-4-l);}
.content.l-11 {--main-hl:var(--color-5); --sub-hl:var(--color-5-l);}

.content .main {padding:150px 0; }
.content.image {color:#fff; background-color:var(--color-6); background-size:100% auto !important; background-position: center top !important;}
.content.image.f-image-21 {background-position: center bottom !important;}

.content li::marker {color:var(--main-hl)}
.content li + li {margin-top:10px;}

.content table {border-collapse: collapse; }
.content td,th {padding:10px 10px 10px 20px; border-left:0;}
.content td + td,
.content th + th {border-left:2px solid var(--main-hl)}
.content tr td:first-child,
.content tr th:first-child {padding-left:5px;}
.content tbody tr:nth-child(even)  {background:var(--sub-hl);}
.content tbody tr + tr td {border-top:2px solid var(--main-hl)}

.header .main {overflow: hidden; position: relative;}
.header .text {position: relative}
.header .text:after { content:''; position: absolute; height:5px; margin-top:20px; left:-100px;
    z-index: 0; width:calc(100% + 100px); background:var(--color-1);}
.header .text:before { content:''; position: absolute; height:5px; bottom:-20px; left:calc(-100% - 70px);
    z-index: 0; width:70px; background:var(--color-1);}
.header .pic {background:url(../Images/border-header.svg) center center no-repeat; background-size:100% auto; position: relative;z-index: 1;     padding: 40px 10px;display: inline-block;}


.content .frame + .frame {margin-top:100px;}

.content p,
.content li {line-height:1.5em;}

.first .images3 .cStage,
.first .images4 .cStage {flex-direction: row-reverse}

.first .images3 .text-left,
.first .images4 .text-left {text-align: right}

.images3 svg path,
.images4 svg path {stroke:var(--main-hl)}

.images3 .image img,
.images4 .image img,
.header img {
    mask-image: url(../Images/mask-header.svg);
    mask-size: 100% 100%;
    mask-position: 0% 0%;
    mask-repeat:no-repeat;
}
.images4 .image.i1,
.images3 .image.i1 {background:url(../Images/border-images3.svg) center center no-repeat; background-size:100% auto;     padding: 40px 20px;display: inline-block;}

.l-10 .images4 .image.i1,
.l-10 .images3 .image.i1 {background:url(../Images/border-images3-l10.svg) center center no-repeat; background-size:100% auto;  }

.l-11 .images4 .image.i1,
.l-11 .images3 .image.i1 {background:url(../Images/border-images3-l11.svg) center center no-repeat; background-size:100% auto;  }


.images4 .i2,
.images3 .i2 {padding-bottom:15%;}
.images4 .cStage + .cStage,
.images3 .cStage + .cStage { margin-top:-10%;   justify-content: flex-end;}

.images4 .cStage + .cStage + .cStage,
.images3 .cStage + .cStage + .cStage {margin-top:-5%;}

.h3icon {display: flex;   display: flex;     justify-content: space-between;}
.h3icon h3 {margin:0; padding-right:20px; -ms-flex: 0 0 calc(100% - 135px);flex: 0 0 calc(100% - 135px); max-width: calc(100% - 135px); position: relative}
.h3icon h3:after {content:''; display: block; height:7px; width:calc(100% + 40px); position: absolute; margin-bottom:-10px; left:-40px; background:var(--main-hl)}

.h3icon + div + div,
.h3icon + div + div + div,
.h3icon + div + div + div + div,
.h3icon + div {padding-right:135px}


.textbox {background:#fff; position: relative; border-radius: 20px; padding:40px; border:5px solid var(--main-hl); color:var(--color-2)}
.textbox h3 {width:calc(100% - 115px); border-bottom:5px solid var(--main-hl)}
.textbox img {position: absolute; right:-30px; top:-90px;}

.frame.textbox + .frame.frame-type-image {margin-top:40px; margin-right:-80px;}

.frame-30 header {background: var(--sub-hl); border-bottom:7px solid transparent; cursor: pointer; padding:16px 40px 16px 16px; position: relative}
.frame-30 header * {font-size:24px; display: inline-block}
.frame-30 header:before {content:''; position: relative; display: inline-block; vertical-align: bottom; margin-right:20px; width:37px;height:37px; background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="42" height="42" viewBox="0 0 42 42"><g id="Gruppe_30" data-name="Gruppe 30" transform="translate(-4696.5 1371.5) rotate(-90)"><rect id="Rechteck_15" data-name="Rechteck 15" width="37" height="37" rx="2" transform="translate(1332 4699)" fill="none" stroke="%23114858" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/><line id="Linie_33" data-name="Linie 33" y2="16.277" transform="translate(1350.538 4708.947)" fill="none" stroke="%23114858" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/><path id="Pfad_27" data-name="Pfad 27" d="M6,10l8.242,8.242L22.483,10" transform="translate(1336.297 4707.212)" fill="none" stroke="%23114858" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/></g></svg>') no-repeat center }
.frame-30.show header:before {transform:rotate(90deg);}
.frame-30.show header,
.frame-30:hover header {border-color:var(--main-hl)}
.frame-30 .text { max-height:0px; overflow: hidden; }
.frame-30.show .text {max-height:700px;}
.frame-30 .text .wrap {padding:20px 0;}
.content .frame.frame-30 + .frame.frame-30 {margin-top:10px}

.linkicon {display: block;  font-family: Play, Arial; font-weight:700; font-size:45px;}
.linkicon img {display:inline-block; vertical-align: middle; margin-right:20px; }
.frame.linkicon + .frame.linkicon {margin-top:40px;}


.footer {background:var(--color-6); color:#fff;}
.footer .main {display: flex;align-items: flex-start;  padding:20px 0;  justify-content: space-between;}
.footer img {width:400px;}

.footer ul {margin:0; padding-top:20px; font-size:20px; padding:20px 0 0 0; list-style-type:none}
.footer ul li {display: inline-block;}
.footer ul li a {display: block; padding:5px 15px;}
.footer ul li a:hover {color:var(--color-1);}
.footer .fnav1 {position:relative; }
.footer .fnav1 a {font-weight:700; font-size:24px; font-family: Play, Arial;}
.footer .fnav1:after {content:''; position: absolute; left:0px; bottom:-13px; height:2px; width:100%; background: var(--color-1);}

.ce-gallery[data-ce-columns="3"] .ce-column {
    width:calc(33.3333% - 15px)
}
.ce-gallery[data-ce-columns="2"] .ce-column {
    width:calc(50% - 15px)
}

@media(max-width:1400px) {
    .top .main ul li a,
    td,th,
    html,body {font-size:20px;}

    .top .main a + .nav {padding-top:45px;}
    .s .top .main a + .nav {padding-top:9px;}

    .header {
        font-size: 110%;
    }
    h1, h2 {
        font-size: 55px;

    }
    h3 {
        font-size: 35px;
    }
}

@media (max-width: 1100px) {
	.projects .c25 {width:33.3333%;}
    .ce-textpic.ce-intext .ce-gallery {max-width:50%;}


    .top .main ul li a,
    td,th,
    html,body {font-size:16px;}

    .top .main a + .nav {padding-top:47px;}
    .s .top .main a + .nav {padding-top:11px;}

    .header {
        font-size: 105%;
    }
    h1, h2 {
        font-size: 45px;

    }
    h3 {
        font-size: 25px;
    }

    .h3icon + div + div, .h3icon + div + div + div, .h3icon + div + div + div + div, .h3icon + div {
        padding-right: 0px;
    }
}

/* Only Phones */
@media (max-width: 900px) {

    .c33,
    .c66,
    .c16,
    .c30,
    .c70,
    .c40,
    .c20,
    .c50,
    .c25,
    .c75,
    .c30,
    .c35,
    .c60 { -ms-flex: 0 0 100%;flex: 0 0 100%; max-width: 100%; }

    .frame.cStage > div + div {margin-top:30px;}

    .images .c40 { -ms-flex: 0 0 40%;flex: 0 0 40%; max-width: 40%; }
    .images .c30 { -ms-flex: 0 0 30%;flex: 0 0 30%; max-width: 30%; }
    .images .c50 { -ms-flex: 0 0 50%;flex: 0 0 50%; max-width: 50%; }
    .images .c20 { -ms-flex: 0 0 20%;flex: 0 0 20%; max-width: 20%; }

    .top .main a + .nav {display: none}

    .header .text:after {display: none;}
    .footer .main > a,
    .top .main > a {max-width: 350px; display: block; width:unset}

    .content .main {
        padding: 50px 0;
    }

    .top + .all, .top + section .all {
        padding-top: 150px;
    }

    .header {padding-top:0 !important;}

    .header {padding-bottom:100px;}

    .frame-30 header * {max-width:calc(100% - 57px); font-size:20px;}

    section {
        overflow: hidden;}
    
    .all {padding-left:30px; padding-right:30px;}
    .all .all {padding-left:0; padding-right:0}

    .frame.textbox + .frame {display: none}
    .frame.textbox {margin-bottom:50px;}

    .footer .main {display: block;}
    .footer ul,
    .footer .fnav1 a {font-size:18px;}

    .content .frame + .frame {
        margin-top: 50px;
    }

    .linkicon img {width:50px;}
    .linkicon {font-size:20px;}

    .textbox {padding:30px; border-width: 3px;}
    .textbox h3 {width:100%;}
    .textbox img {
        position: absolute;
        right: 10px;
        top: -60px;
        width: 80px;
    }

    .projects .c25 {width:50%;}

	.footer .c35 {
		font-size: 20px;
		line-height: 32px;
	}

	span.big {
		font-size: 30px;
		line-height: 40px;
	}
}

@media (max-width: 650px) {

    .content .ce-left .ce-gallery,
    .content .ce-right .ce-gallery {
        float: none;
    }
    .content .ce-intext.ce-right .ce-gallery {
        margin-left: 0px;
    }
    .content .ce-intext.ce-left .ce-gallery {
        margin-right: 0px;
    }
    .ce-textpic.ce-intext .ce-gallery {max-width:100%;}

	.c30, .c35 {width:100%; padding-bottom:20px;}
}




/* Formulare */


.frame-type-form_formframework p { font-size:90%; }

input[type="checkbox"] { margin-right:15px; }
.control-label { display:none; }
.form-group input[type="text"],
.form-group textarea,
.csc-form-element-textline input {
  font-family:inherit;
  font-size:inherit;
  color: var(--color-1);
  background:#fff;
  width:100%;
  border:1px solid var(--color-1);
  padding:8px 15px;

  margin-bottom:6px;
}
.form-group input[type="text"]:focus,
.form-group textarea:focus {
  background:#222e59;
}


form .row {display: flex; flex-wrap: wrap; margin:0 -10px;}
form .row .col-1 { --cols: calc( 100% / 12 * 1); }
form .row .col-2 { --cols: calc( 100% / 12 * 2); }
form .row .col-3 { --cols: calc( 100% / 12 * 3); }
form .row .col-4 { --cols: calc( 100% / 12 * 4); }
form .row .col-5 { --cols: calc( 100% / 12 * 5); }
form .row .col-6 { --cols: calc( 100% / 12 * 6); }
form .row .col-7 { --cols: calc( 100% / 12 * 7); }
form .row .col-8 { --cols: calc( 100% / 12 * 8); }
form .row .col-9 { --cols: calc( 100% / 12 * 9); }
form .row .col-10 { --cols: calc( 100% / 12 * 10); }
form .row .col-11 { --cols: calc( 100% / 12 * 11); }
form .row .col-12 { --cols: calc( 100% / 12 * 12); }
form .row > div {-ms-flex: 0 0 var(--cols);flex: 0 0 var(--cols); max-width: var(--cols); padding:0 10px;}

@media (max-width: 1000px) {
    form .row > div {-ms-flex: 0 0 100%;flex: 0 0 100%; max-width: 100%; padding:0 10px;}
}



/* The container */
.form-check-label {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */
.form-check-label input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.form-check-label span {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: transparent;
  border:2px solid  var(--color-1);
}
.form-check-label span.required { position:relative;width:auto; height:auto; border:0px; }

/* On mouse-over, add a grey background color */
.form-check-label:hover input ~ span {
  background-color:  var(--color-1);
}

/* When the checkbox is checked, add a blue background */
.form-check-label input:checked ~ span {
  background-color:  var(--color-1);
}

/* Create the checkmark/indicator (hidden when not checked) */
span:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.form-check-label input:checked ~ span:after {
  display: block;
}

/* Style the checkmark/indicator */
.form-check-label span:after {
  left: 6px;
  top: 3px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

