* {
    box-sizing: border-box;
}

*:before,
*:after {
    box-sizing: border-box;
}

body,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
img,
form,
fieldset,
blockquote {
    border: 0;
    margin: 0;
    padding: 0;
}

body {
    background: #ffffff;
    color: #000000;
    font: 20px Raleway, Arial, Helvetica, Sans-Serif;
    min-width: 270px;
    overflow-x: hidden;
    line-height: 1.5em;
}

a {
    color: #808080;
    outline: none;
    text-decoration: none;
    transition: .2s All;
}

a:hover {
    color: #808080;
    text-decoration: underline;
}

input,
select,
textarea {
    border: #999999 1px solid;
    color: #333333;
    font: 22px Raleway, Arial, Helvetica, sans-serif;
    padding: 10px;
}

li {
    list-style: none;
}

h1 {
    font: bold 106px/1.3 Georgia;
    margin: 0 0 1em;
    color: #ffffff;
}

h2 {
    color: #000000;
    font: bold 48px Georgia;
    margin: 0 0 1em;
}

h2.nummer {
    font-size: 160px;
    margin: -44px 0 0 38px;
    font-weight: normal;
}

h3 {
    font: bold 26px/1.4 georgia;
    margin: 0 0 1em;
}

h3 {
    font: bold 28px/1.4 georgia;
    margin: 0 0 1em;
}

.CCSS327 h3,.CCSS324 h3{
  text-align:center;
    margin: 1em 0 0.4em 0;
}

h4 {
    font-size: 1em;
    line-height: 1.6;
    margin-bottom: 1em;
}

h5,
h6 {
    font-size: 1em;
    font-weight: normal;
}

p {
    line-height: 1.6em;
    padding: 0 0 1.4em;
}

table {
    border-collapse: collapse;
    width: 100%;
}

img {
    display: block;
}

/*=== Layout ===*/

.page-container,
.page-header {
    margin: 0 auto;
    max-width: 1280px;
    padding: 0 40px;
}

.page-container {
    padding-bottom: 40px;
    position: relative;
}

.page-frame {
    background: #d9d9d9;
    padding: 120px 40px 100px;
}

.page-top-bar {
    background: #fff;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 100
}

.page-top-bar+.page-title {
    margin-top: 175px;
}

.overflow-fill{
    background: #fff;
    position: relative;
    z-index: 10
}

/*=== Page Header ===*/

.page-header {
    align-items: center;
    display: flex;
    height: 175px;
    justify-content: center;
    position: relative;
}

.header-logo img{
   width: 87%
}

/*- Title / SLider  -*/

.page-title-fill {
    margin: 0 calc(50% - 50vw)  45px /*0*/ !important;
    position: relative;
    z-index: 10;
    float: none !important;
    width: initial !important;
    clear: both;
}

.page-title-main {
    height: 900px;
    margin-bottom: 65px;
    position: relative;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: 100% !important;
}


.page-title-small {
    align-items: center;
    background-color: #4d4d4d;
    display: flex;
    height: 470px;
    margin-bottom: 100px;
    text-align: center;
    background-position: top center !important;
    background-repeat: no-repeat !important;
    background-size: 100% !important;

}
.page-title-main {
    display: grid;
    align-items: end;
}
.titelstartseite{
    margin: 0;
    top: 0;
    /*margin-left: 50%;*/
    margin-bottom: 42px;
}


.title-headline {
    font-size: 5.5vw;
    margin: 0;
    text-align: center;
}

.title-main-headline {
    font-size:60px;
    text-align: right;
    padding-right: 3vw;
    margin: 0;
}
.title-holder{
    height: 135px;
    align-items: baseline;
    display: grid;
}

.titel1, .titel14, .titel15{
    width: 70%;
    margin: 0 auto;
}


.titel14 .title-headline, .titel15 .title-headline {
    font-size: 5.0vw;
    text-align: center;
    opacity: 0.5;
}

.titel1 .title-headline {
    font-size: 5.0vw;
    margin: 0;
    text-align: left;
    opacity: 0.8;
}

.titel14{
    width: 70%;
    margin: 0 auto;
}



.title-headline {
    font-size: 5.5vw;
    margin: 0;
    text-align: center;
}

.page-title2 {
    align-items: center;
    display: flex;
    height: 650px;
    margin-bottom: 45px;
}

.page-title2-smaller {
    height: 474px;
    justify-content: center;
    margin-bottom: 100px;
    margin-top: 100px;
    z-index: 0;
}

.page-title2-smaller .title2-headline {
    max-width: 600px;
    padding: 0;
}

.title2-headline {
    color: #fff;
    margin: 0;
    padding: 0 10vw;
    text-align: center;
    width: 50%;
      font-size: 60px;
    line-height: 71px;
}

.title3-headline {
    color: #fff;
    margin: 0;
    padding: 0 10vw;
    text-align: center;
    width: 50%;
    font-size: 42px;
line-height: 61px;
}

.page-title3 {
    align-items: center;
    background: #000;
    display: flex;
    height: 650px;
    margin-bottom: 45px;
    z-index: 0;
}

.page-title3-pic {
    height: 100%;
    width: 50%;
}

.page-title4 {
    align-items: center;
    background-color: #4d4d4d;
    display: flex;
    height: 650px;
    margin-bottom: 100px;
    text-align: center;
}

.title4-headline {
    font-size: 5.5vw;
    margin: 0;
}

.page-title5 {
    margin-top: 100px;
}

.title5-headline {
    color: #e4e4e4;
    font-size: 13.3vw;
    line-height: .9;
    margin: 0;
    text-align: center;
    white-space: nowrap;
}

.page-title6 {
    align-items: center;
    background-color: #4d4d4d;
    display: flex;
    height: 560px;
    justify-content: center;
    margin-bottom: 130px;
}

.title6-headline {
    color: #e4e4e4;
    font-size: 14.7vw;
    line-height: .9;
    margin: 0;
    opacity: .25;
    white-space: nowrap;
}

.headline-number {
    background: #000;
    border-radius: 50%;
    color: #fff;
    font: 60px/.8 Georgia;
    height: 62px;
    margin: 0 auto 15px;
    overflow: hidden;
    text-align: center;
    width: 62px;
}
 .headline-number2 {
    background: #000;
    border-radius: 50%;
    color: #fff;
    font: 80px/.8 Georgia;
    height: 80px;
    margin: 20px auto 15px;
    overflow: hidden;
    text-align: center;
    width: 80px;
}
/*- Primary Nav -*/

.nav1 {
    background: #000;
    bottom: 0;
    color: #fff;
    display: none;
    max-height: 100%;
    overflow: auto;
    overflow-y: auto;
    padding: 160px 60px 50px;
    position: fixed;
    right: 0;
    top: 0;
    width: 585px;
}

.nav1 a {
    color: #fff;
}

.nav-main>li {
    font-size: 36px;
    margin-bottom: 35px;
    text-transform: uppercase;
}

.nav-sub {
    font-size: 20px;
    margin: 35px 0 100px;
}

.nav-sub>li {
    margin-bottom: 10px;
    text-transform: none;
}

.nav-contacts dl {
    display: flex;
    font-size: 20px;
    margin-bottom: 10px;
}

.nav-contacts dt {
    flex: 1 1 320px;
    margin-right: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nav-contacts dd {
    width: 285px;
}

/*- Secondary Nav -*/

.nav2 {
    color: #c45e42;
    font-size: 19px;
    margin: 0 0 1em;
    text-transform: uppercase;
    z-index: 5;
    margin-top: 80px;
    margin-left: 30px;
}

.nav2.blog{
    text-align:center;
    margin-left: 0px;
}

.nav2.startseite {
    margin-top: 45px;
}

.nav2 p {
    letter-spacing: 1px;
    line-height: 1.7;
    text-align: center;
    text-transform: uppercase;
}

.nav2 a {
    color: #c45e42;
}

.nav2-mobile {
    display: none;
    margin: 50px auto 70px;
    text-align: center;
}

.nav2 li {
    margin: 0 0 8px;
    position: relative;
    text-decoration: none;
}

.nav2 li:hover,
.nav2 li.active {
    font-weight: bold;
}

.nav2-expand {
    cursor: pointer;
}

.nav2-sub {
    background: #000;
    color: #fff;
    font-size: 20px;
    font-weight: normal;
    left: 100%;
    padding: 20px;
    position: absolute;
    text-transform: none;
    top: 0;
    width: 348px;
    z-index: 10;
    line-height: 1.5em;
}

.nav2-sub a {
    color: #fff;
}

.nav2-sub p {
    padding: 0
}

.nav3 {
    margin: 50px 0 130px;
}

.nav3 li {
    font: bold 28px Georgia;
}

.nav3 a {
    display: block;
}

.nav3 h5 {
    color: #c45e42;
    margin-bottom: 1em;
}

.nav3 a {
    color: #000;
    padding-left: 35px;
    position: relative;
    text-decoration: underline;
}

.nav3 a::before {
    content: "\24";
    font: 22px ElegantIcons;
    left: 0;
    position: absolute;
    top: 4px;
}

.nav3 li {
    margin-bottom: .7em;
}

/* Components */

.center-col {
    padding-left: 60px;
    padding-right: 60px;
}

.btn-link-group {
    margin-bottom: 30px;
}

.btn-link {
    color: #808080;
    font-family: Georgia;
    font-style: italic;
}

.btn-top {
    background: url(../images/ico-arrow.svg) no-repeat center;
    display: block;
    height: 74px;
    margin: 0 auto;
    width: 12px;
}

.list-unordered {
    margin-bottom: 100px;
}

.page-frame .list-unordered {
    margin-bottom: 30px;
}

.list-unordered li {
    margin-bottom: 25px;
    padding-left: 32px;
    position: relative;
}

.list-unordered li::before {
    color: #c45e42;
    content: "\4e";
    font: 22px ElegantIcons;
    left: 0;
    position: absolute;
    top: 2px;
}


.list-articles .row {
    display: flex;
    flex-wrap: wrap;
}

.list-articles [class*="col-"] {
    float: none;
}



.article-item {
    margin-bottom: 70px;
}

.article-date {
    font-size: .9em;
    font-weight: 300;
    margin-bottom: .5em;
}

.article-tags {
    font-size: .9em;
    font-weight: 300;
    margin-bottom: 1em;
}

.article-pic {
    margin-bottom: 20px;
}

.article-pic-details {
    margin-bottom: 40px;
}

.article-pic img {
    height: auto;
    width: 100%;
}

.article-headline {
    font-weight: normal;
    margin: 0;
}

.article-description {
    font-weight: 600;
    padding: 0;
}

.article-description .btn-link {
    font-weight: normal;
    font-size: 19px;
    padding-left: 10px;
}

/*=== Page Footer ===*/

.page-footer {
    background: #000;
    color: #fff;
    font-size: 16px;
    padding: 40px;
}

.page-footer a {
    color: #fff;
    text-decoration: none;
}

.page-footer a:hover {
    color: #fff;
}

.nav-footer {
    line-height: 1.5;
    margin-top: 20px;
}

.nav-footer li {
    display: inline-block;
}

.nav-footer li:after {
    content: "|";
    padding: 0 5px 0 10px;
}

.nav-footer li:last-child:after {
    display: none;
}

.soclinks {
    font-size: 26px;
    text-align: right;
}
.soclinkscv a {
    font-size: 26px;
    color: #000;
    text-decoration: none;
}
.soclinkscv a:hover {
    text-decoration: none;
}

/*=== Misc ===*/

hr {
    border: 0;
    border-top: 1px solid #7f7f7f;
    margin-bottom: 30px;
    margin-top: 30px;
}

.vertical-ruler {
    border: none;
    border-left: 1px solid #7f7f7f;
    height: 150px;
    width: 1px;
}

p+.vertical-ruler {
    margin-top: -10px;
}

.vertical-ruler-small {
    height: 60px;
    margin-top: -13px;
}


.pic-responsive img {
    height: auto;
    margin: 0 0 20px;
    width: 100%;
}

.text-center {
    text-align: center;
}

.text-center .btn-link{
    padding-left: 10px
}

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

.menu-label {
    font-size: 14px;
    margin: 0 5px 0 0;
    position: relative;
    text-transform: uppercase;
    top: -4px;
    visibility: hidden;
}

.CCSS325{
  overflow: inherit !important;
  width: 100%;
}

.text li {
    margin-bottom: 11px;
    padding-left: 32px;
    position: relative;
}

.text li::before {
    color: #c45e42;
    content: "\4e";
    font: 22px ElegantIcons;
    left: 0;
    position: absolute;
    top: 2px;
}

.soclinkscv{
  margin-top:24px
}

.linkmitpfeil a {
    display: block;
    font: bold 22px Georgia;
    padding-bottom: 14px;
}


.linkmitpfeil a {
    color: #000;
    position: relative;
    text-decoration: underline;
}
/*
.linkmitpfeil a::before {
    content: "\24";
    font: 22px ElegantIcons;
    left: 0;
    position: absolute;
    top: 4px;
}*/

.btn-download-file{
    margin-top: 20px
}

h5 {
    color: #000;
    margin-bottom: 1em;
    font-weight: bold
}

h6 {
    color: #c45e42;
    font: 22px Raleway, Arial, Helvetica, Sans-Serif;
    font-weight: normal
}


.CCSS324 h2{
  color: #e4e4e4;
font-size: 13.3vw;
margin: 0;
text-align: center;
white-space: nowrap;
}

.CCSS224{
  font: bold 26px Georgia;
}

.CCSS318 {
  overflow: visible  !important;
  margin-top: 100px  !important;
}


.links .CCSS318 .cms_content{
margin-left: calc(50% - 22.6vw);
margin-right: 0;
padding: 0 20px 20px 0;
background: #fff;
}

.rechts  .CCSS318 .cms_content{
margin-right: calc(50% - 22.6vw);
margin-left: 0;
padding: 0 0 20px 20px;
background: #fff;
}



.CCSS326 h2{
  margin: 0 0 14px;
}




.hamburger {
    background-color: transparent;
    border: 0;
    box-shadow: none;
    cursor: pointer;
    outline: none !important;
    overflow: visible;
    padding: 0;
    position: absolute;
    right: 30px;
    top: 120px;
    transition: .2s All;
    transition-duration: 0.15s;
    transition-property: opacity, filter;
    transition-timing-function: linear;
}

.hamburger--slider.is-active {
    position: fixed;
    right: 35px;
    top: 47px;
}

.hamburger::-moz-focus-inner {
    border: 0;
}

.hamburger:hover {}

.hamburger-box {
    display: inline-block;
    height: 35px;
    position: relative;
    width: 45px
}

.hamburger-inner {
    display: block;
    top: 50%
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    background-color: #000000;
    border-radius: 0;
    border-radius: 2px;
    height: 4px;
    position: absolute;
    transition-duration: 0.15s;
    transition-property: transform;
    transition-timing-function: ease;
    width: 45px;
}

.hamburger-inner::before,
.hamburger-inner::after {
    content: "";
    display: block
}

.hamburger--slider .hamburger-inner {
    top: 2px;
}

.hamburger--slider .hamburger-inner::before {
    top: 11px;
    transition-duration: 0.2s;
    transition-property: transform, opacity;
    transition-timing-function: ease;
}

.hamburger--slider .hamburger-inner::after {
    top: 22px;
}

.hamburger--slider.is-active .hamburger-inner {
    background: #fff;
    transform: translate3d(0, 11px, 0) rotate(45deg);
}

.hamburger--slider.is-active .hamburger-inner::before {
    background: #fff;
    opacity: 0;
    transform: rotate(-45deg) translate3d(-5.71429px, -11px, 0);
}

.hamburger--slider.is-active .hamburger-inner::after {
    background: #fff;
    transform: translate3d(0, -22px, 0) rotate(-90deg);
}
.show-mobile{
    display: none;
}
