@font-face {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 200;
    font-stretch: 75%;
    font-display: block;
    src: url('../fonts/nunito_sans.woff2') format('woff2');
}

@font-face {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 300;
    font-stretch: 75%;
    font-display: block;
    src: url('../fonts/nunito_sans.woff2') format('woff2');
}

@font-face {
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 400;
    font-stretch: 75%;
    font-display: block;
    src: url('../fonts/nunito_sans.woff2') format('woff2');
}

* {
    padding: 0px;
    margin: 0px;
    border-spacing: 0px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@-ms-viewport {
    width: device-width;
}

img {
    border: none;
}

.hidden {
    display: none;
}

html {
    height: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: 'Nunito Sans', sans-serif;    
    font-weight: 300;
    font-stretch: 75%;
    line-height: 150%;
    color: #0c2d69;
    position: relative;
    height: 100%;
    background: #333;
    font-size: 24px;
}

body.noscroll {
    overflow: hidden;
    padding-right: var(--sbw);
}

#mainwrapper {
    position: relative;
    background: #fff;
    width: 100%;
    max-width: 2560px;
    margin: 0 auto;
    height: auto;
    min-height: 100%;
    
    /* For Zoom Mobile */
    overflow: hidden;
}

a {
    color: #0c2d69;
    text-decoration: none;
}

a:hover {
    color: #f7961d;
}

b, strong {
    font-weight: 400;
}

p {
    margin-bottom: 14px;
}

p:last-child, p.lil_gap {
    margin-bottom: 0;
}



small, .small {
    font-size: 21.1px;

}

.text_centered {
        text-align: center;
}

#menubar {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 60px;
    cursor: pointer;
    background: #0c2d69;
    transition: background 0.3s ease-in;
    z-index: 20;
    border-right: 2px solid #fff;
}

#menubar:hover, #menubar.menu_active {
    background: #f7961d;
}


#menulabel {
    height: 60px;
    line-height: 60px;
    color: #fff;
    transform: rotate(90deg);
    padding-left: 20px;
}


#menuicon {
    position: absolute;
    left: 10px;
    bottom: 30px;
}


#menuicon > div {
    display: block;
    width: 40px;
    height: 1px;
    background: rgba(255,255,255,1);
    position: relative;
    transition: background 0s 0.15s;
}

#menuicon.menu_active > div {
    background: rgba(255,255,255,0);
}

#menuicon > div:before {
    content: '';
    display: block;
    position: absolute;
    width: 40px;
    height: 1px;
    background: rgba(255,255,255,1);
    position: absolute;
    top: -12px;
    transition: top 0.15s ease-in 0.15s, transform 0.15s ease-in 0s;
}
    
#menuicon > div:after {
    content: '';
    display: block;
    position: absolute;
    width: 40px;
    height: 1px;
    background: rgba(255,255,255,1);
    position: absolute;
    top: 12px;
    transition: top 0.15s ease-in 0.15s, transform 0.15s ease-in 0s;
}
    
#menuicon.menu_active > div:before {
    top: 0px;
    transition: top 0.15s ease-in 0s, transform 0.15s ease-in 0.15s;
    transform: rotate(135deg);
}
    
#menuicon.menu_active > div:after {
    top: 0px;
    transition: top 0.15s ease-in 0s, transform 0.15s ease-in 0.15s;
    transform: rotate(-135deg);
}






#menuwrapper {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 0;
    z-index: 10;
    overflow: hidden;
    transition: width 0s 0.75s;

}

#menuwrapper.menu_active {
    width: 100vw;
    width: var(--mww);
    transition: width 0s;
}

#menu {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100vw;
    width: calc(var(--mww) / 2);
    background: #eee;
    z-index: 10;
    transform: translateX(-100%);
    transform: translateX(calc((var(--mww) / 2) * -1));
    transition: transform 0.75s ease;
}



#menu.menu_active {
    transform: translateX(0);
}

#menu > div {
    position: absolute;
    left: 62px;
    right: 0;
    top: 0;
    bottom: 0;
    overflow-y: scroll;
    display: flex;
    align-items: center;
    flex-direction: column; /* For IE */
}



#menu > div > div {
    position: relative;
    margin: auto;
    padding-top: 50px;
    padding-bottom: 50px;
}


#menu4clone {
    display: none;
}

#menu ul li {
    list-style: none;
    transition: opacity 0.25s ease-in, transform 0.25s ease-in;
    display: block;
}



#menu ul li.animate_out {
    transform: translateX(-50px);
    opacity: 0;
    transition: opacity 0.25s ease-out, transform 0.25s ease-out;
}

#menu ul li a {
    display: inline-block;
    font-size: 55px;
    line-height: 180%;
    font-weight: 200;
    text-align: left;
    position: relative;
    white-space: nowrap;
}

#menu ul li a:hover, #menu ul li.active a {
    color: #f7961d;
}

#menu ul li.menuheadline {
    display: inline-block;
    font-size: 85px;
    color: #f7961d; 
    line-height: 180%;
    font-weight: 200;
    text-align: center;
    position: relative;
    white-space: nowrap;
    padding-right: 80px;
}

#menu ul li.menuheadline a.menuback {
    display: block;
    position: absolute;
    top: 62px;
    right: 0;
    width: 50px;
    height: 50px;
    background: url(../images/icon_menu_back.svg?v2);
    background-size: cover;
}

#menu ul li.menuheadline a.menuback img {
    width: 50px;
    height: 50px;
    position: absolute;
    right: 0;
    bottom: 47px;
}


#menu ul > li.deeper > a:before {
    content: '';
    display: block;
    position: absolute;
    width: 16px;
    height: 16px;
    top: 10px;
    right: -17px;
    background: url(../images/icon_menu_deeper);
    background-size: cover;
}

#menu ul li.close {
    position: absolute;
    right: -50px;
    top: -50px;
}




#webpage {
    position: relative;
    padding-left: 62px;
    z-index: 5;
}

#wrapper {
    position: relative;
    width: 100%;
    transition: transform 0.75s ease;
    padding-bottom: 1150px;
}

#wrapper.no_transition {
    transition: transform 0s ease;
}

#wrapper.menu_active {
   transform: scale(var(--webpage_scale));
}











#header {
    position: relative;
    width: 100%;
    background-image: url(../images/noise.png), url(../images/teamslider_bg.svg), url(../images/team_bg.jpg);
    background-position: center center, center right, bottom left;
    background-repeat: repeat, no-repeat , no-repeat;
    background-size: 200px auto, contain, cover;
    margin-bottom: 150px;
    overflow: hidden;
}

#header #logo {
    position: absolute;
    top: 22px;
    width: 248px;
    height: auto;
    left: 50%;
    margin-left: -124px;
    filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.2)); 
    z-index: 99999;
}

#header .login_icons {
    position: absolute;
    left: 40px;
    top: 49px;
    display: flex;
    z-index: 99999;
}

#header .login_icons a {
    display: block;
    margin-right: 20px;
}

#header .login_icons a img {
    display: block;
    height: 32px;
    filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.2)); 
}

#header .login_icons a:nth-child(1) img {
    width: 83px;
}

#header .login_icons a:nth-child(2) img {
    width: 134px;
}

#header .sm_icons {
    position: absolute;
    right: 40px;
    top: 45px;
    display: flex;
    z-index: 99999;
}

#header .sm_icons a {
    display: block;
    margin-left: 18px;
}

#header .sm_icons a img {
    display: block;
    width: 40px;
    height: 40px;
    filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.2)); 
}

#header_wrapper_container {
    position: relative;
    margin: 0 auto;
    width: 1600px;
}

#header_wrapper {
    position: relative;
    width: 1600px;
    height: 1000px;
}

#header #header_stage {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1400px;
    max-width: 100%;
    left: 50%;
    transform: translateX(-50%);
}

#header #person {
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
}

#header #person img {
    display: block;
    height: 920px;
    width: auto;
}

#header .newspic {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 920px;
    width: auto;
}

#header .header_info {
    position: absolute;
    left: 0;
    top: 220px;
}

#header h1 {
    width: auto;
    text-align: left;
    font-size: 60px;
    line-height: 140%;
    color: #fff;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
    margin-bottom: 0;
    max-width: none;
}

#header .uebersicht {
    margin-top: 60px;
}

#header .uebersicht p {
    line-height: 150%;
    color: #fff;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
    font-size: 38px;
}

#header ul {
    color: #fff;
    list-style: none;
}

#header ul li {
    font-size: 38px;
    margin-bottom: 30px;
    position: relative;
    padding-left: 60px;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
    line-height: 130%;
}

#header ul li:before {
    content: "\00A0\2713"; 
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    font-size: 46px;
    color: #f7961d;
}



#header .button, .teamslider.frontpage .button {
    position: relative;
    display: inline-flex;
    margin-top: 40px;
    box-shadow: 1px 1px 1px rgba(0,0,0,0.3);
    cursor: pointer;
}


#header .button span:first-child, .teamslider.frontpage .button span:first-child {
    display: block;
    width: 50px;
    height: 50px;
    background: #0c2d69;
    position: relative;
    overflow: hidden; 
}

#header .button span:first-child:before, .teamslider.frontpage .button span:first-child:before {
    content: '';
    left: 6px;
    right: 6px;
    top: 6px;
    bottom: 6px;
    display: block;
    background: url(../images/k.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    z-index: 5;
    filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.1)); 
}

#header .button span:first-child:after, .teamslider.frontpage .button span:first-child:after {
    content: '';
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: block;
    background: #f7961d;
    position: absolute;
    border-radius: 50%;
    transform: translateX(-25px) translateY(-25px) scale(0);
    transition: transform 0.3s ease-out;
}

#header .button:hover span:first-child:after, .teamslider.frontpage .button:hover span:first-child:after {
    transform: translateX(-25px) translateY(-25px) scale(3.2);
}

#header .button span:last-child, .teamslider.frontpage .button span:last-child {
    background: rgba(255,255,255,0.5);
    text-shadow: 1px 1px 1px rgba(0,0,0,0.4);
    color: #0c2d69;
    display: block;
    height: 50px;
    line-height: 50px;
    padding: 0 15px;
    font-size: 30px;
    transition: background 0.3s ease-out;
}

#header .button:hover span:last-child, .teamslider.frontpage .button:hover span:last-child {
    background: rgba(255,255,255,0.8);
}



.slider {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.slider_readmore {
    background-image: url(../images/slider_readmore.svg) !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: auto 100% !important;
}







.slider p, .slider .slider_readmore {
  /*  font-weight: 200 !important; */
}

#header video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#header video::-webkit-media-controls {
    display: none !important;
 }

#header video::-webkit-media-controls-enclosure {
    display: none !important;
}

#header video::-webkit-media-controls-play-button {
    display: none !important;
}

#header video::-webkit-media-controls-fullscreen-button {
    display: none !important;
}

h1 {
    font-size: 84px;
    text-wrap: balance;
    color: #f7961d;
    text-align: center;
    max-width: 96%;
    margin: 0 auto 90px;
    position: relative;
    line-height: 130%;
    font-weight: 200;
}

h2.big {
    font-weight: 200;
    font-size: 76px;
    margin-bottom: 60px;
    color: #f7961d;
    line-height: 130%;
    text-align: center;
}

h2, .clm2 h3, .video .clm2 h3 {
    font-weight: 300;
    font-size: 30.7px;
    margin-bottom: 20px;
    color: #f7961d;
    line-height: 130%;
    text-align: left;
}

h2.medium {
    font-size: 38.4px;
}


h2.blue {
    margin-bottom: 50px;
    color: #0c2d69;
}

h3, h2.likeh3, .accordion > div h3 {
    font-weight: 300;
    font-size: 26px;
    margin-bottom: 5px;
    color: #f7961d;
    text-align: left;
    line-height: 130%;
    margin-top: 0;
    padding-left: 0;
}

h4 {
    font-weight: 300;
    font-size: 25px;
    margin-bottom: 5px;
    color: #f7961d;
    text-align: left;
}

.centered, .page-header {
    width: 1400px;
    text-align: justify;
    margin: 0 auto;
}

.centered .clm2 {
    text-align: left;
}

#kanzleinews, #was_wir_machen, #spezialthemen, #video_tipps, #kontakt {
    margin-bottom: 150px;
}

#counter, #aktuelle_news, #sm_news, #newsmenu, #map {
    margin-bottom: 250px;
}

.kontaktformular {
    margin-top: 250px;
    margin-bottom: 150px;
}

#team_frontpage {
    margin-bottom: 450px;
}

ul.list, .kknews ul {
    list-style: none;
    margin-bottom: 10px;
}

ul.list li, .kknews ul li {
    padding-left: 17px;
    position: relative;
    line-height: 140%;
    margin-bottom: 5px;
}

ul.list li:last-child, .kknews ul li:last-child {
    margin-bottom: 0;
}

ul.list li:before, .kknews ul li:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 14px;
    width: 6px;
    height: 6px;
    background: #f7961d;
}

ul.list li ul {
    margin-top: 5px;
}


.button_fw {
        display: inline-block;
        text-align: center;
        color: #fff;
        padding: 8px 15px;
        font-size: 30px;
        position: relative;
}

.button_fw:hover {
        color: #fff;
}

.button_fw span {
    position: relative;
    z-index: 10;
}

.button_fw:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #0c2d69;
}

.button_fw:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #f7961d;
    transform: scaleX(0);
    transition: transform 0.3s ease-out;
    transform-origin: right;
}

.button_fw:hover:after {
    transform: scaleX(1);
    transform-origin: left;
}

/* Accordion */

.accordion > div {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in;
    max-height: 0px;
    height: auto;
}

.accordion.open > div {
    max-height: none;
}

.accordion.animating > div, .accordion.open.animating > div {
    max-height: 5000px;
    max-height: var(--acc_height);
}

.accordion > div > div {
    padding: 20px 0 100px 75px;
    font-size: 24px;
}

.accordion > a {
    display: block;
    width: 100%;
    border: none;
    cursor: pointer;
    padding: 0;
    text-align: left;
}

.accordion.open > a, .accordion.animating > a, .accordion.open.animating > a {
    color: #a40600;
}


.accordion h2, .accordion h3 {
    position: relative;
    font-size: 36.5px;
    text-align: left;
    margin-top: 50px;
    padding-left: 75px;
    text-align: left;
    font-weight: 300;
    color: #0c2d69;
    transition: color 0.15s ease-out;
    line-height: 130%;
}

.accordion h2 > span, .accordion h3 > span {
    position: absolute;
    left: 0;
    top: 0;
    width: 50px;
    height: 50px;
    background: #f7961d;
    border-radius: 50%;
    transition: transform 0.15s ease-out;
}

.accordion a:hover h2 > span, .accordion a:hover h3 > span, .accordion.animating a h2 > span, .accordion.animating a h3 > span, .accordion.open a h2 > span, .accordion.open a h3 > span {
    /* transform: scale(1.15); */
}

.accordion a:hover h2, .accordion a:hover h3, .accordion.animating a h2, .accordion.animating a h3, .accordion.open a h2, .accordion.open a h3 {
    color: #f7961d;

}

.accordion h2 span:before, .accordion h3 span:before {
    content: '';
    display: block;
    position: absolute;
    height: 4px;
    width: 34px;
    left: 8px;
    top: 23px;
    background: #fff;
    transition: transform 0.2s ease-in;
}

.accordion.open h2 span:before, .accordion.animating h2 span:before, .accordion.open h3 span:before, .accordion.animating h3 span:before {
   transform: rotate(-180deg);

}

.accordion h2 span:after, .accordion h3 span:after {
    content: '';
    display: block;
    position: absolute;
    width: 4px;
    height: 34px;
    top: 8px;
    left: 23px;
    background: #fff;
    transition: transform 0.2s ease-in;
}

.accordion.open h2 span:after, .accordion.animating h2 span:after, .accordion.open h3 span:after, .accordion.animating h3 span:after {
   transform: rotate(-90deg);
}







/* Teamslider */

.teamslider {
    background-image: url(../images/noise.png), url(../images/teamslider_bg.svg), url(../images/team_bg.jpg);
    background-position: center center, 10% center, bottom left;
    background-repeat: repeat, no-repeat, no-repeat;
    background-size: 200px auto, contain, cover;
    width: 100%;
    height: 800px;
    position: relative;
    margin-top: 200px;
}


.teamslider_stage {
    width: 1120px;
    height: 700px;
    padding-top: 100px;
    margin-left: 100px;
}

.teamslider .slide {
    width: 1120px;
    height: 700px;
    position: absolute;
    opacity: 0;
    transition: opacity 0.5s ease-out;
}

.teamslider .slide .imageframe {
    height: 700px;
    width: 420px;
    position: absolute;
    left: 0;
    bottom: 0;
}

.teamslider .slide .imageframe img {
    height: 700px;
    width: auto;
    display: block;
    margin: 0 auto;
    position: relative;
}

.teamslider .float_right {
    float: right;
}

.teamslider .slide h3 {
    position: absolute;
    left: 450px;
    top: 70px;
    font-size: 50px;
    font-weight: 200;
    opacity: 0;
    color: #fff;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
    transition: opacity 0.5s ease-out;
}

.teamslider .slide .name {
    position: absolute;
    left: 450px;
    bottom: 50px;
    font-size: 24px;
    color: #fff;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
    line-height: 140%;
}


.teamslider .slide .name strong {
    font-size: 34px;
    color: #f7961d;
    font-weight: 400;
}

.teamslider .slide .name small {
    font-size: 20px;
}

.teamslider .slide.active {
    opacity: 1;
}

.teamslider .slide.active h3 {
    opacity: 1;
}

.slidernav_middle, .slidernav_small, .slidernav_tablet, .slidernav_smartphone {
    display: none;
}

.slidernav {
    position: absolute;
    width: 770px;
    top: 0;
    right: 100px;
    z-index: 10;
    height: 800px;
}

.slidernav ul {
    display: flex;
    width: 580px;
    list-style: none;
    position: absolute;
    flex-wrap: wrap;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
}

.slidernav ul.active {
    z-index: 20;
    pointer-events: auto;
}

.slidernav ul li {
    cursor: pointer;
    text-align: center;
    width: 100px;
    margin-bottom: 25px;
    margin-right: 20px;
} 

.slidernav ul li:nth-child(5n) {
    margin-right: 0;
}



.slidernav ul li p {
    margin-top: 10px;
    line-height: 120%;
    font-size: 19px;
    color: #fff;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
    transition: opacity 0.2s linear;
    opacity: 0;
    height: 46px;
}

.slidernav ul li.visible p {
    opacity: 1;
}



.slidernav ul li img {
    display: block;
    width: 86px;
    height: 86px;
    border-radius: 50%;   
    image-rendering: optimizeQuality;
    image-rendering: high-quality;
}

.slidernav .button {
    position: absolute;
    top: 382px;
    width: 30px;
    height: 36px;
    z-index: 99999;
    background-size: contain;
    opacity: 0.5;
}

.slidernav .button_left {
    left: 20px;
    background: url(../images/nav_white_left.svg) center center no-repeat;
}

.slidernav .button_right {
    right: 20px;
    background: url(../images/nav_white_right.svg) center center no-repeat;
}

.slidernav .button_left.active, .slidernav .button_right.active {
    opacity: 1;
    cursor: pointer;
}

.ccircle-wrap {
    transform: scale(0);
    transform: rotateY(-180deg);
    box-shadow: 0px 0px 2px rgba(0,0,0,0.2);
    transition: transform 0.6s ease;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;

}

.slidernav ul li.visible .ccircle-wrap {
    transform: scale(1);
    transform: rotateY(0);

}

.ccircle-wrap .circle .mask, .ccircle-wrap .circle .fill {
    width: 100px;
    height: 100px;
    position: absolute;
    border-radius: 50%;
}
    
.ccircle-wrap .circle .mask {
    clip: rect(0px, 100px, 100px, 50px);
}
    
    
.ccircle-wrap .circle .mask .fill {
    clip: rect(0px, 50px, 100px, 0px);
    background-color: #f7961d;
}
       
.ccircle-wrap .circle .mask.full, .ccircle-wrap .circle .fill {
    transition: transform 0.5s ease-in;
}
    
    
.slidernav ul li:hover .ccircle-wrap .circle .mask.full, .slidernav ul li:hover .ccircle-wrap .circle .fill, .slidernav ul li.active .ccircle-wrap .circle .mask.full, .slidernav ul li.active .ccircle-wrap .circle .fill {
    transform: rotate(180deg);
}
    
.ccircle-wrap {
    width: 100px;
    height: 100px;
    background: #0c2d69;
    border-radius: 50%;
}
    
    
.ccircle-wrap .inside-circle {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: #fff;
    margin-top: 4px;
    margin-left: 4px;
    position: absolute;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}
    
    
    
/* Teamslider Frontpage */

 
.teamslider.frontpage h2.big {
    text-align: center;
    color: #fff;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
    font-size: 85px;
    margin-bottom: 50px;
}
 
.teamslider.frontpage {
    background-position: center center, 40% center, bottom left;
    height: 951px;
    margin-top: 0;
    margin-bottom: 250px;
}

 .teamslider_stage.frontpage {
    margin-left: auto;
    margin-right: auto;
    padding-top: 90px;
    height: 845px;
}


.teamslider.frontpage .slidernav_small {
    display: block !important;
}


.teamslider.frontpage .slidernav {
    width: 100%;
    left: 0;
    right: 0;
    height: 210px;
    background: #f5f5f5;
    bottom: -210px;
    top: auto;

}


.teamslider.frontpage .slidernav ul {
    width: 95%;
    top: 30px;
}

.teamslider.frontpage .slidernav ul li:nth-child(5n) {
    margin-left: calc((100% - 800px) / 16);
    margin-right: calc((100% - 800px) / 16);
}

.teamslider.frontpage .slidernav ul li:nth-child(3n) {
    margin-left: calc((100% - 800px) / 16);
    margin-right: calc((100% - 800px) / 16);
}

.teamslider.frontpage .slidernav ul li {
    margin-left: calc((100% - 800px) / 16);
    margin-right: calc((100% - 800px) / 16);
}
    
.teamslider.frontpage .slidernav ul li p {
    text-shadow: none;
    color: #0c2d69;
}

.teamslider.frontpage .button {
    position: absolute;
    right: 100px;
    bottom: 56px;
    z-index: 100;
}






.ansprechpartner {
    background-image: url(../images/noise.png), url(../images/team_bg.jpg);
    background-position: center center, bottom left;
    background-repeat: repeat, no-repeat;
    background-size: 200px auto, cover;
    width: 100%;
    height: 520px;
    margin-top: 200px;
    position: relative;
}

.ansprechpartner > div {
    width: 900px;
    height: 520px;
    margin: 0 auto;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}



.ansprechpartner > div > div.teamfoto {
    border-radius: 50%;
    border: 7px solid #f7961d;
    box-shadow: 0px 0px 5px rgba(0,0,0,0.2);
    display: block;
}

.ansprechpartner > div > div.teamfoto > span {
    display: block;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    border: 5px solid #fff;
}

.ansprechpartner > div > div.teamfoto > span > span {
    display: block;
    height: 0;
    padding-bottom: 100%;
}


.ansprechpartner img {
    display: block;
    border-radius: 50%;
    width: 310px;
    height: auto;
}

.ansprechpartner > div > div.text {
    color: #fff;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
    margin-left: 80px;
}

.ansprechpartner > div > div.text strong {
    font-size: 34px;
    color: #f7961d;
}

.ansprechpartner > div > div.text a {
    color: #fff;
}



/* Magic Counter */

.parallax {
    padding: 100px 0;
    background-position: center center;
    background-size: cover;
}

.parallax.magiccounter_wrapper {
    background-image: url(../images/bg_magiccounter.jpg);
}

.parallax.menu_aktuelles_wrapper {
    background-image: url(../images/bg_menu_aktuelles.jpg);
}


#magiccounter {
    display: flex;
    justify-content: space-around;
    width: 1400px;
    margin: 0 auto;
}

#magiccounter > div {
    width: 15%;
    text-align: center;
    font-size: 26px;
}


.circle-wrap {
    margin: auto;
    width: 150px;
    height: 150px;
    background: #ddd;
    border-radius: 50%;
    margin-bottom: 15px;
}
    
.circle-wrap .circle .mask, .circle-wrap .circle .fill {
    width: 150px;
    height: 150px;
    position: absolute;
    border-radius: 50%;
}
    
.circle-wrap .circle .mask {
    clip: rect(0px, 150px, 150px, 75px);
}
    
.circle-wrap .circle .mask .fill {
    clip: rect(0px, 75px, 150px, 0px);
    background-color: #f7961d;
}

.circle-wrap.animate .circle .mask.full, .circle-wrap.animate .circle .fill {
    transform: rotate(180deg);
    animation: fill ease-in-out 1.5s;
}
     
@keyframes fill {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(180deg);
    }
}
    
.circle-wrap .inside-circle {
    width: 134px;
    height: 134px;
    border-radius: 50%;
    background: #fff;
    line-height: 134px;
    text-align: center;
    margin-top: 8px;
    margin-left: 8px;
    position: absolute;
    z-index: 100;
    font-weight: 400;
    font-size: 52px;
}

#magiccounter > div:first-child .circle-wrap .inside-circle {
    font-size: 28px;
}




.clm2list {
    margin-top: 30px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.clm2list > div {
    width: 48%;
    text-align: left;
    margin-bottom: 45px;
    border: 1px solid #ccc;
    padding: 14px 20px 7px;
    box-sizing: border-box;
    background: #fbfbfb;
}





.clm2, .clm3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.clm2 > div {
    width: 46%;
    position: relative;
}

.clm3 > div {
    width: 28%;
}

.clm2 > div, .clm3 > div {
    margin-bottom: 120px;
    position: relative;
}

.clm2 > div .image, .clm3 > div .image {
    height: 0;
    overflow: hidden;
    padding-bottom: 66.666666%;
    margin-bottom: 40px;
}

.video .clm2 > div .iframe_video {
    height: 0;
    position: relative;
    padding-bottom: 56.25%;
    width: 100%;

}

.video .clm2 .text {
    margin-top: 40px;
}

video {
    cursor: pointer;
}

.clm2 > div .iframe_video iframe, .clm2 > div .iframe_video video {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    border: none;

}

.clm2 > div .text, .clm3 > div .text {
    margin-bottom: 20px;
}

.clm2 > div .image img, .clm3 > div .image img {
    display: block;
    width: 100%;
    height: auto;
}

.clm2 ul.nav, .clm3 ul.nav {
    list-style: none;
}

.clm2 ul.nav li, .clm3 ul.nav li {
    margin-bottom: 5px;
}

a.link, .clm2 ul.nav a, .clm3 ul.nav a {
    padding-left: 20px;
    padding-right: 5px;
    position: relative;
    transition: padding 0.3s ease-in;
    text-align: left;
    display: block;
    line-height: 130%;
}

a.link:hover, .clm2 ul.nav a:hover, .clm3 ul.nav a:hover {
    padding-left: 25px;
    padding-right: 0;
    position: relative;
}

a.link:before, .clm2 ul.nav a:before, .clm3 ul.nav a:before {
    content: '';
    display: block;
    position: absolute;
    border-left: 10px solid #f7961d;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    top: 10px;
    left: 0;
}




.newsmenu_wrapper {
    background: #dce0e9;
    height: 600px;
}

.newsmenu_wrapper .centered {
    height: 600px;
    position: relative;
}

.newsmenu {
    display: flex;
    padding-top: 80px;
}

.newsmenu ul {
    list-style: none;
    margin-right: 100px;
    position: relative;
    z-index: 100;
}

.newsmenu ul li {
    margin-bottom: 35px;
}

.newsmenu ul li a {
    display: flex;
    align-items: center;
    font-size: 26.9px;
}

.newsmenu ul li a span {
    display: block;
    width: 60px;
    height: 60px;
    background: #0c2d69;
    border-radius: 50%;
    margin-right: 20px;
    transition: background 0.2s ease-in;
}

.newsmenu ul li a:hover span {
    background: #f7961d;
}

.newsmenu ul li a:hover {
    color: #0c2d69;
}

.newsmenu ul li a span img {
    display: block;
    width: 60px;
    height: auto;
}

.newsmenu_box {
    position: absolute;
    width: 400px;
    right: 160px;
    bottom: 29px;
}

.newsmenu_guy {
    position: absolute;
    right: 0;
    bottom: 40px;
    height: 500px;
    display: block;
    width: auto;
}




/* SM Slider */

#sm_news div.moduletable {
    background: #dce0e9;
    padding: 40px 0;
}

.sm_slider {
    width: 1400px;
    height: 733px;
    background: url(../images/sm_slider.png?v2) no-repeat center right;
    background-size: contain;
    position: relative;
}

#sm_slider_time {
    position: absolute;
    right: 294px;
    top: 52px;
    font-size: 12px;
    color: #fff;
    font-weight: 400;
}

.sm_slider .sm_slider_content {
    position: absolute;
    right: 118px;
    width: 642px;
    box-sizing: border-box;
    top: 142px;
    height: 484px;
    overflow: hidden;
    padding: 40px 0;
    text-align: left;
}

.sm_slider .sm_slider_content h3 {
    font-size: 30.7px;
}


.sm_slider .sm_slider_content .news {
    position: absolute;
    /* transition: opacity 0.4s ease-in; */
    display: none;
}

.sm_slider .sm_slider_content .news.visible {
    /*transform: translateY(0); */  
    display: block;
}

.sm_slider .sm_slider_content .news.from_top { animation: from_top 0.5s ease-in forwards;}
.sm_slider .sm_slider_content .news.to_bottom { animation: to_bottom 0.5s ease-in forwards;}
.sm_slider .sm_slider_content .news.from_bottom { animation: from_bottom 0.5s ease-in forwards;}
.sm_slider .sm_slider_content .news.to_top { animation: to_top 0.5s ease-in forwards;}

@keyframes from_top {
  from {transform: translateY(-200%)}
  to {transform: translateY(0)}
}

@keyframes to_bottom {
  from {transform: translateY(0)}
  to {transform: translateY(200%)}
}

@keyframes to_top {
  from {transform: translateY(0)}
  to {transform: translateY(-200%)}
}

@keyframes from_bottom {
  from {transform: translateY(200%)}
  to {transform: translateY(0)}
}

/*
.sm_slider .sm_slider_content .news.leaving {
    transform: translateY(-200%);
    opacity: 1;
}
*/
.sm_slider .sm_slider_buttons a {
    width: 100px;
    height: 100px;
    background: #0c2d69;
    position: absolute;
    border-radius: 50%;
    position: absolute;
    display: block;
    transition: transform 0.15s ease-in, background 0.15s ease-in;
}

.sm_slider .sm_slider_buttons a:nth-child(1) {
    left: 84px;
    top: 136px;
}

.sm_slider .sm_slider_buttons a:nth-child(2) {
    left: 8px;
    top: 273px;
}

.sm_slider .sm_slider_buttons a:nth-child(3) {
    left: 8px;
    top: 428px;
}

.sm_slider .sm_slider_buttons a:nth-child(4) {
    left: 84px;
    top: 565px;
}

.sm_slider .sm_slider_buttons a:hover, .sm_slider .sm_slider_buttons a.active {
    transform: scale(1.16);
}

.sm_slider .sm_slider_buttons a:nth-child(1):hover, .sm_slider .sm_slider_buttons a:nth-child(1).active {
    background: #0a66c2;
}

.sm_slider .sm_slider_buttons a:nth-child(2):hover, .sm_slider .sm_slider_buttons a:nth-child(2).active {
    background: #1da1f2;
}

.sm_slider .sm_slider_buttons a:nth-child(3):hover, .sm_slider .sm_slider_buttons a:nth-child(3).active {
    background: #4867aa;
}

.sm_slider .sm_slider_buttons a:nth-child(4):hover, .sm_slider .sm_slider_buttons a:nth-child(4).active {
    background: #006567;
}


.sm_slider .sm_slider_buttons img {
    display: block;
    width: 100%;
    height: auto;
}

.sm_slider .button {
    position: absolute;
    background-color: #0c2d69;
    background-size: contain;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: block;
    top: 84px;
    transition: background 0.2s ease-in;
}

.sm_slider .button:hover {
    background-color: #f7961d;
}

.sm_slider .button.button_left {
    right: 547px;
    background-image: url(../images/button_left.svg);
}

.sm_slider .button.button_right {
    right: 492px;
    background-image: url(../images/button_right.svg);
}



.full_width {
    display: block;
    width: 100%;
    height: auto;
    margin: 250px auto;
}

.seperator {
    width: 100%;
    height: 500px;
    background-size: cover;
    background-position: center center;
    margin: 150px auto;
}




/* Kontaktformular */

.kontaktformular {
    display: flex;
    justify-content: space-between;
}

.kontaktformular > div {
    width: 46%;
}

.kontaktformular > div:last-child {
    padding-top: 9px;
}

.kontaktformular > div .headline {
    position: relative;
}

.kontaktformular > div .headline:before {
    content: '';
    display: block;
    left: 0;
    right: 0;
    height: 1px;
    background: #f7961d;
    top: calc(50% - 4px);
    position: absolute;
}

.kontaktformular > div h2 {
    font-size: 67px;
    font-weight: 200;
    display: inline-block;
    padding-right: 30px;
    position: relative;
    z-index: 10;
    background: #fff;
}

input, textarea {
    border: none;
    font-family: 'Nunito Sans', sans-serif;  
    font-size: 28.8px;
    font-weight: 200;
    color: #0c2d69;
    padding: 5px 0;
    max-width: 100% !important;
    width: 100% !important;
    outline: none;
}

textarea#ff_elem7 {
    height: 250px;
}

.bfElemWrap {
    position: relative;
    margin-bottom: 70px !important;
}

#bfElemWrap7 {
    margin-bottom: 40px !important;
}

/*
#newrecaptcha {
    margin-top: 40px;
}
*/

.bfElemWrap label {
    position: absolute;
    top: 5px;
    pointer-events: none;
    transition: transform 0.3s ease-out;
    transform-origin: left top;
    width: 100% !important;
}

#bfElemWrap1 label.focus, #bfElemWrap6 label.focus, #bfElemWrap7 label.focus {
    transform: scale(0.75) translateY(-40px);
}

.bfElemWrap > div {
    position: relative;
    width: 100%;
}



#bfElemWrap1 > div:before, #bfElemWrap6 > div:before, #bfElemWrap7 > div:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1px;
    height: 1px;
    background: #0c2d69;
    transition: transform 0.5s linear;   
    transform-origin: left;
}

#bfElemWrap7 > div:before {
    bottom: -3px;
}

#bfElemWrap1 > div.focus:before, #bfElemWrap6 > div.focus:before, #bfElemWrap7 > div.focus:before {
    transform: scaleX(1);
    transform-origin: right;
}



#bfElemWrap1 > div:after, #bfElemWrap6 > div:after, #bfElemWrap7 > div:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1px;
    height: 1px;
    background: #f7961d;
    transition: transform 0.5s linear;   
    transform-origin: right;
    transform: scaleX(0);
}

#bfElemWrap7 > div:after {
    bottom: -3px;
}

#bfElemWrap1 > div.focus:after, #bfElemWrap6 > div.focus:after, #bfElemWrap7 > div.focus:after {
    transform: scaleX(1);
    transform-origin: left;
}

#bfLabel32 {
    position: relative;
    top: auto;
    line-height: 120%;
    padding-left: 26px;
    box-sizing: border-box;
    text-align: left;
    pointer-events: auto;
}

#bfLabel32 small {
    font-size: 20px;
    font-family: 'Nunito Sans', sans-serif;  
}

#bfLabel32 a {
    color: #0c2d69;
}

input#ff_elem32 {
    width: auto !important;
    position: absolute;
    top: 9px;
    left: 0;
    font-size: 20px;
}


.bfPage .form-inline {
    position: relative;
}




.bfError {
    margin-bottom: 30px;
    font-size: 22px;
}

button#bfSubmitButton, a.bewerbungsbutton {
    float: left;
    margin-top: -20px;
    display: block;
    position: relative;
    padding: 7px 15px 5px;
    font-size: 22px;
    color: #fff;
    text-align: center;
    overflow: hidden;
    font-family: 'Nunito Sans', sans-serif;  
    cursor: pointer;
    border: none;
}

a.bewerbungsbutton {
    font-size: 28px;
    margin: 0;
}

button#bfSubmitButton span, a.bewerbungsbutton span {
    position: relative;
    z-index: 10;
}

button#bfSubmitButton:before, a.bewerbungsbutton:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #0c2d69;
}

button#bfSubmitButton:after, a.bewerbungsbutton:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #f7961d;
    transform: scaleX(0);
    transition: transform 0.3s ease-out;
    transform-origin: right;
}

button#bfSubmitButton:hover:after, a.bewerbungsbutton:hover:after {
    transform: scaleX(1);
    transform-origin: left;
}

#map {
    height: 700px;
    color: #333;
    background: #dce0e9;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

#map #copyright {
    position: absolute;
    right: 0;
    bottom: 0;
    background: rgba(255,255,255,0.85);
    z-index: 99999;
    padding: 3px 8px;
    color:#333;
}

#map #copyright a {
    color: #333; 
}

.mapboxgl-map, .maplibregl-map {
    font-family: 'Nunito Sans', sans-serif !important;    
    font-weight: 400 !important;
    font-size: 15px !important;
}

.mapboxgl-popup-close-button, .maplibregl-popup-close-button {
	outline: none;
}


#gmaps {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

 
#footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1000px;
    background: #212121;
}

#footer > div {
    padding-top: 110px;
    height: 1000px;
    box-sizing: border-box;
    width: 1400px;
    margin: 0 auto;
    color: #fff;
    position: relative;
}

#footer > div h2 {
    text-align: center;
    color: #fff;
    font-size: 43px;
}

#footer > div strong {
    color: #f7961d;
}

#footer > div a, #footer > div a:hover {
    color: #fff;
}

#footer > div .kontaktdaten {
    margin-top: 160px;
    display: flex;
    justify-content: space-between;
}

#footer > div .kontaktdaten .phone_number_compressed, #footer > div .kontaktdaten .phone_number_compressed2 {
        display: none;
}

#footer > div .icons {
    display: flex;
    justify-content: space-between;
    margin-top: 80px;
}

#footer > div .icons > div {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}

#footer > div .icons > div:nth-child(1) {
    width: 254px;
}

#footer > div .icons > div:nth-child(2) {
    width: 1030px;
}

#footer > div .icons > div:nth-child(1) img {
    width: 36px;
    height: auto;
    display: block;
}

#footer > div:nth-child(1) .icons > div a:nth-child(6) img {
    width: 111px;
    height: auto;
    margin-top: 30px;
}

#footer > div .icons > div:nth-child(2) img {
    width: auto;
    display: block;
}

#footer > div .icons > div:nth-child(2) img:nth-child(1) { height: 94px; }
#footer > div .icons > div:nth-child(2) img:nth-child(2) { height: 86px; }
#footer > div .icons > div:nth-child(2) img:nth-child(3) { height: 72px; }
#footer > div .icons > div:nth-child(2) img:nth-child(4) { height: 98px; }
#footer > div .icons > div:nth-child(2) img:nth-child(5) { height: 98px; }

#footer > div .kontaktdaten2 {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 30px;
    line-height: 200%;
    text-align: center;
}

#footer > div .kontaktdaten2 .small {
    font-size: 19px;
}





@media(max-width: 2560px) {

    #menu ul li a {
        font-size: 2.135vw;
    }

    #menu ul li.menuheadline {
        font-size: 3.1vw;
        padding-right: 3.125vw;
    }

    #menu ul > li.deeper > a:before {
        width: 0.625vw;
        height: 0.625vw;
        top: 0.391vw;
        right: -0.664vw;
    }

    #menu ul li.menuheadline a.menuback {
        top: 2vw;
        width: 1.9vw;
        height: 1.9vw;
    }

}

@media (max-width: 2250px) {

    .teamslider_stage {
        margin-left: 50px;
    }


    .slidernav_middle {
        display: block;
    }

    .slidernav_big {
        display: none;
    }


    .slidernav {
        width: 530px;
        right: 50px;
    }


    .slidernav ul {
        width: 340px;
    }

    .slidernav ul li:nth-child(5n) {
        margin-right: 20px;
    }

    .slidernav ul li:nth-child(3n) {
        margin-right: 0;
    }

}


@media(max-width: 1850px) {

    .slidernav_middle {
        display: none;
    }

    .slidernav_small {
        display: block;
    }


    .slidernav {
        width: 100%;
        left: 0;
        right: 0;
        height: 210px;
        background: #f5f5f5;
        bottom: -210px;
        top: auto;

    }


    .slidernav ul {
        width: 90%;
        top: 30px;
    }

    .slidernav ul li:nth-child(5n) {
        margin-left: calc((100% - 800px) / 16);
        margin-right: calc((100% - 800px) / 16);
    }

    .slidernav ul li:nth-child(3n) {
        margin-left: calc((100% - 800px) / 16);
        margin-right: calc((100% - 800px) / 16);
    }

    .slidernav ul li {
        margin-left: calc((100% - 800px) / 16);
        margin-right: calc((100% - 800px) / 16);
    }




    .teamslider_stage {
        padding-top: 50px;
        margin: 0 auto;
    }
    
    .teamslider {
        height: 750px;
        margin-bottom: 420px;
    }


    .slidernav .button {
        top: 85px;
    }

    .slidernav .button_left {
        background: url(../images/nav_blue_left.svg) center center no-repeat;
    }

    .slidernav .button_right {
        background: url(../images/nav_blue_right.svg) center center no-repeat;
    }

    .slidernav ul li p {
        color: #0c2d69;
        text-shadow: none;
    }
    
}



@media(max-width: 1742px) {

    #header {
        margin-bottom: 130px;
    }

    #header_wrapper_container {
        width: 1300px;
    }

    #header_wrapper {
        width: 1300px;
        height: 850px;
    }

    #header #person img, #header .newspic {
        height: 780px;
    }

    #header .header_info {
        top: 187px;
    }

    #header h1 {
        font-size: 51px;
    }

    #header .uebersicht {
        margin-top: 51px;
    }

    #header .uebersicht p {
        font-size: 32px;
    }

    #header ul li {
        font-size: 32px;
        margin-bottom: 25px;
        padding-left: 51px;
    }

    #header ul li:before {
        font-size: 39.1px;
    }


    #header .button, .teamslider.frontpage .button {
        margin-top: 34px;
    }



    #header .button span:first-child, .teamslider.frontpage .button span:first-child {
        width: 46px;
        height: 46px;
    }

    #header .button span:first-child:before, .teamslider.frontpage .button span:first-child:before {
        left: 6px;
        right: 6px;
        top: 6px;
        bottom: 6px;
    }


    #header .button span:last-child, .teamslider.frontpage .button span:last-child {
        height: 46px;
        line-height: 46px;
        padding: 0 14px;
        font-size: 27px;
    }




    .centered, .page-header {
        width: 1300px;
    }

    #magiccounter {
        width: 1300px;
    }
    
    
    
    .sm_slider {
        width: 1300px;
    }
    
    .sm_slider .sm_slider_buttons a {
        width: 90px;
        height: 90px;
    }
    
    .sm_slider .sm_slider_buttons a:nth-child(1) {
        left: 8px;
        top: 136px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(2) {
        left: 8px;
        top: 293px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(3) {
        left: 8px;
        top: 448px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(4) {
        left: 8px;
        top: 605px;
    }
    
    #footer > div {
        width: 1300px;
    }
    
    #footer > div h2 {
        font-size: 42px;
    }
    
    #footer > div .icons > div:nth-child(2) {
        width: 962px;
    }

}

@media(max-width: 1600px) {


    body {
        font-size: 22px;
    }
    
    p {
        margin-bottom: 13px;
    }
    
    small, .small {
        font-size: 19.2px;
    }
    
    #menubar {
        width: 51px;
    }
    
    #menulabel {
        height: 51px;
        line-height: 51px;
        padding-left: 18px;
    }
    
    #menuicon {
        left: 8px;
        bottom: 27px;
    }
    
    #menuicon > div {
        width: 35px;
    }

    #menuicon > div:before {
        width: 35px;
    }
    
    #menuicon > div:after {
        width: 35px;
    }
    
    #menu > div {
        left: 51px;
    }
    
    #menu > div > div {
        padding-top: 45px;
        padding-bottom: 45px;
    }
    
    #webpage {
        padding-left: 51px;
    }
    
    #wrapper {
        padding-bottom: 1035px;
    }


    #header {
        margin-bottom: 110px;
    }

    #header #logo {
        top: 22px;
        width: 224px;
        margin-left: -112px;
    }
    
    #header .login_icons {
        left: 36px;
        top: 45px;
    }

    #header .login_icons a {
        margin-right: 18px;
    }

    #header .login_icons a img {
        height: 29px;
    }

    #header .login_icons a:nth-child(1) img {
        width: 75px;
    }

    #header .login_icons a:nth-child(2) img {
        width: 121px;
    }
    
    #header .sm_icons {
        right: 36px;
        top: 40px;
    }

    #header .sm_icons a {
        margin-left: 16px;
    }


    #header .sm_icons a img {
        width: 36px;
        height: 36px;
    }

    #header_wrapper_container {
        width: 1080px;
    }

    #header_wrapper {
        width: 1080px;
        height: 720px;
    }

    #header #person img, #header .newspic {
        height: 620px;
    }

    #header .header_info {
        top: 170px;
    }

    #header h1 {
        font-size: 43px;
    }

    #header .uebersicht {
        margin-top: 43px;
    }

    #header .uebersicht p {
        font-size: 27px;
    }

    #header ul li {
        font-size: 27px;
        margin-bottom: 21px;
        padding-left: 42px;
    }

    #header ul li:before {
        font-size: 33px;
    }


    
    #header .button span:first-child, .teamslider.frontpage .button span:first-child {
        width: 42px;
        height: 42px;
    }


    #header .button span:last-child, .teamslider.frontpage .button span:last-child {
        height: 42px;
        line-height: 40px;
        padding: 0 13px;
        font-size: 25px;
    }

    h1 {
        font-size: 75.6px;
        margin: 0 auto 81px;
    }

    h2.big {
        font-size: 68.4px;
        margin-bottom: 54px;
    }

    h2, .clm2 h3, .video .clm2 h3 {
        font-size: 28px;
        margin-bottom: 18px;
    }

    h2.medium {
        font-size: 34.6px;
    }

    h2.blue {
        margin-bottom: 45px;
    }

    h3, h2.likeh3, .accordion > div h3 {
        font-size: 23px;
    }

    h4 {
        font-size: 23px;
    }


    .centered, .page-header {
        width: 1080px;
    }
    
    #kanzleinews, #was_wir_machen, #spezialthemen, #video_tipps, #kontakt {
        margin-bottom: 135px;
    }

    #counter, #aktuelle_news, #sm_news, #newsmenu, #map {
        margin-bottom: 225px;
    }

    .kontaktformular {
        margin-top: 225px;
        margin-bottom: 135px;
    }

    #team_frontpage {
        margin-bottom: 405px;
    }
    
    ul.list, .kknews ul {
        margin-bottom: 9px;
    }

    ul.list li, .kknews ul li {
        padding-left: 15px;
        margin-bottom: 5px;
    }
    
    ul.list li:before, .kknews ul li:before {
        top: 13px;
        width: 6px;
        height: 6px;
    }

    .button_fw {
        padding: 7px 14px;
        font-size: 27px;
    }

    .accordion > div > div {
        padding: 18px 0 90px 68px;
        font-size: 22px;
    }
    
    .accordion h2, .accordion h3 {
        font-size: 32.6px;
        margin-top: 45px;
        padding-left: 68px;
    }
    
    .accordion h2 > span, .accordion h3 > span {
        width: 46px;
        height: 46px;
    }
    
    .accordion h2 span:before, .accordion h3 span:before {
        width: 30px;
        left: 8px;
        top: 21px;
    }
    
    .accordion h2 span:after, .accordion h3 span:after {
        height: 30px;
        top: 8px;
        left: 21px;
    }
    
    .teamslider {
        height: 675px;
        margin-bottom: 380px;
        margin-top: 180px;
    }  
    
    .teamslider_stage {
        padding-top: 45px;
        height: 630px;
        width: 1080px;
        margin: 0 auto;
    }
    
    .teamslider .slide {
        width: 1080px;
        height: 630px;
    }
    
    .teamslider .slide .imageframe {
        height: 630px;
        width: 378px;
    }
    
    .teamslider .slide .imageframe img {
        height: 630px;
    }
    
    .teamslider .slide h3 {
        left: 405px;
        top: 63px;
        font-size: 45px;
    }
    
    .teamslider .slide .name {
        left: 405px;
        bottom: 45px;
        font-size: 22px;
    }
    
    .teamslider .slide .name strong {
        font-size: 30px;
    }

    .teamslider .slide .name small {
        font-size: 18px;
    }
    
    
    .slidernav {
        height: 190px;
        bottom: -190px;
    }


    .slidernav ul {
        top: 27px;
    }
    
    .slidernav ul li:nth-child(5n) {
        margin-left: calc((100% - 720px) / 16);
        margin-right: calc((100% - 720px) / 16);
    }

    .slidernav ul li:nth-child(3n) {
        margin-left: calc((100% - 720px) / 16);
        margin-right: calc((100% - 720px) / 16);
    }
    
    .slidernav ul li {
        width: 90px;
        margin-bottom: 23px;
        margin-left: calc((100% - 720px) / 16);
        margin-right: calc((100% - 720px) / 16);
    }


    .slidernav .button {
        top: 79px;
        width: 27px;
        height: 32px;
    }

    .slidernav .button_left {
        left: 18px;
    }

    .slidernav .button_right {
        right: 18px;
    }

    .slidernav ul li p {
        font-size: 17px;
        height: 42px;
    }
    
    .slidernav ul li img {
        width: 78px;
        height: 78px;
    }
    
    .ccircle-wrap .circle .mask, .ccircle-wrap .circle .fill {
        width: 90px;
        height: 90px;
    }
    
    .ccircle-wrap .circle .mask {
        clip: rect(0px, 90px, 90px, 45px);
    }

    .ccircle-wrap .circle .mask .fill {
        clip: rect(0px, 45px, 90px, 0px);
    } 
    
    .ccircle-wrap {
        width: 90px;
        height: 90px;
    }
    
    
    .ccircle-wrap .inside-circle {
        width: 84px;
        height: 84px;
        margin-top: 3px;
        margin-left: 3px;
    }
    
    /* Teamslider Frontpage */


    .teamslider.frontpage h2.big {
        font-size: 81px;
        margin-bottom: 45px;
    }
 
    .teamslider.frontpage {
        height: 860px;
        margin-bottom: 225px;
    }

     .teamslider_stage.frontpage {
        padding-top: 80px;
        height: 780px;
    }



    .teamslider.frontpage .slidernav {
        height: 190px;
        bottom: -190px;
    }


    .teamslider.frontpage .slidernav ul {
        top: 27px;
    }

    .teamslider.frontpage .slidernav ul li:nth-child(5n) {
        margin-left: calc((100% - 720px) / 16);
        margin-right: calc((100% - 720px) / 16);
    }

    .teamslider.frontpage .slidernav ul li:nth-child(3n) {
        margin-left: calc((100% - 720px) / 16);
        margin-right: calc((100% - 720px) / 16);
    }

    .teamslider.frontpage .slidernav ul li {
        margin-left: calc((100% - 720px) / 16);
        margin-right: calc((100% - 720px) / 16);
    }

    .teamslider.frontpage .button {
        right: 90px;
        bottom: 50px;
    }
    
   
   
   
   
   
   
   
    .ansprechpartner {
        height: 470px;
        margin-top: 180px;
    }

    .ansprechpartner > div {
        width: 810px;
        height: 470px;
    }



    .ansprechpartner > div > div.teamfoto {
        border: 6px solid #f7961d;
    }

    .ansprechpartner > div > div.teamfoto > span {
        border: 4px solid #fff;
    }


    .ansprechpartner img {
        width: 264px;
    }

    .ansprechpartner > div > div.text {
        margin-left: 72px;
    }

    .ansprechpartner > div > div.text strong {
        font-size: 30.5px;
    }   
    
    .parallax {
        padding: 90px 0;
    }
    
    #magiccounter {
        width: 1080px;
    }

    #magiccounter > div {
      font-size: 24px;
    }




    .circle-wrap {
        width: 136px;
        height: 136px;
        margin-bottom: 14px;
    }

    .circle-wrap .circle .mask, .circle-wrap .circle .fill {
        width: 136px;
        height: 136px;
    }

    .circle-wrap .circle .mask {
        clip: rect(0px, 136px, 136px, 68px);
    }


    .circle-wrap .circle .mask .fill {
        clip: rect(0px, 68px, 136px, 0px);
    }



    .circle-wrap .inside-circle {
        width: 122px;
        height: 122px;
        line-height: 122px;
        margin-top: 7px;
        margin-left: 7px;
        font-size: 47px;
    }

    #magiccounter > div:first-child .circle-wrap .inside-circle {
        font-size: 25px;
    }
    
    .clm2list {
        margin-top: 27px;
    }

    .clm2list > div {
        margin-bottom: 40px;
        padding: 12px 18px 6px;
    }
    
    .clm2 > div, .clm3 > div {
        margin-bottom: 108px;
    }
    
    .video .clm2 .text {
        margin-top: 36px;
    }
    
    .clm2 > div .text, .clm3 > div .text {
        margin-bottom: 18px;
    }  
    
    a.link, .clm2 ul.nav a, .clm3 ul.nav a {
        padding-left: 18px;
    }

    a.link:hover, .clm2 ul.nav a:hover, .clm3 ul.nav a:hover {
        padding-left: 23px;
    }
    
    a.link:before, .clm2 ul.nav a:before, .clm3 ul.nav a:before {
        border-left: 9px solid #f7961d;
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
        top: 10px;
    }




    .newsmenu_wrapper {
        height: 540px;
    }

    .newsmenu_wrapper .centered {
        height: 540px;
    }

    .newsmenu {
        padding-top: 72px;
    }

    .newsmenu ul {
        margin-right: 90px;
    }

    .newsmenu ul li {
        margin-bottom: 31px;
    }

    .newsmenu ul li a {
        font-size: 25px;
    }

    .newsmenu ul li a span {
        width: 54px;
        height: 54px;
        margin-right: 18px;
    }

    .newsmenu ul li a span img {
        width: 54px;
    }

    .newsmenu_box {
        width: 320px;
        right: 144px;
        bottom: 26px;
    }

    .newsmenu_guy {
        bottom: 36px;
        height: 450px;
    }



/* SM Slider */

    #sm_news div.moduletable {
        padding: 31px 0;
    }

    .sm_slider {
        width: 1080px;
        height: 691px;
    }

    #sm_slider_time {
        right: 280px;
        top: 50px;
        font-size: 11px;
    }

    .sm_slider .sm_slider_content {
        right: 106px;
        width: 610px;
        top: 133px;
        height: 456px;
        padding: 36px 0;
    }

    .sm_slider .sm_slider_content h3 {
        font-size: 27.8px;
    }

    .sm_slider .sm_slider_buttons a {
        width: 46px;
        height: 46px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(1) {
        left: 403px;
        top: 620px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(2) {
        left: 473px;
        top: 620px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(3) {
        left: 543px;
        top: 620px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(4) {
        left: 613px;
        top: 620px;
    }



    .sm_slider .button {
        width: 34px;
        height: 34px;
        top: 76px;
    }

    .sm_slider .button.button_left {
        right: 512px;
    }

    .sm_slider .button.button_right {
        right: 463px;
    }


    .full_width {
        margin: 225px auto;
    }

    .seperator {
        height: 450px;
        margin: 135px auto;
    }




    /* Kontaktformular */

    .kontaktformular > div:last-child {
        padding-top: 8px;
    }

    .kontaktformular > div h2 {
        font-size: 60.5px;
        padding-right: 27px;
    }

    input, textarea {
        font-size: 26px;
        padding: 5px 0;
    }

    textarea#ff_elem7 {
        height: 225px;
    }

    .bfElemWrap {
        margin-bottom: 63px !important;
    }

    #bfElemWrap7 {
        margin-bottom: 36px !important;
    }

    /*
    #newrecaptcha {
        margin-top: 36px;
    }
    */

    .bfElemWrap label {
        top: 5px;
    }

    #bfLabel32 {
        padding-left: 24px;
    }

    #bfLabel32 small {
        font-size: 18px;
    }
    
    input#ff_elem32 {
        top: 8px;
        font-size: 18px;
    }

    .bfError {
        margin-bottom: 27px;
        font-size: 20px;
    }

    button#bfSubmitButton {
        margin-top: -17px;
        padding: 7px 14px 5px;
        font-size: 20px;
    }

    a.bewerbungsbutton {
        font-size: 25px;
        padding: 7px 14px 5px;
    }
    


    #map {
        height: 630px;
    }



 
    #footer {
        height: 900px;
    }

    #footer > div {
        padding-top: 100px;
        height: 900px;
        width: 1080px;
    }

    #footer > div h2 {
        font-size: 34.5px;
    }


    #footer > div .kontaktdaten {
        margin-top: 144px;
    }

    #footer > div .kontaktdaten .phone_number, #footer > div .kontaktdaten .phone_number_compressed2 {
        display: none;
    }

    #footer > div .kontaktdaten .phone_number_compressed {
        display: block;
    }

    #footer > div .icons {
        margin-top: 72px;
    }

    #footer > div .icons > div:nth-child(1) {
        width: 220px;
    }

    #footer > div .icons > div:nth-child(2) {
        width: 795px;
    }

    #footer > div .icons > div:nth-child(1) img {
        width: 32px;
    }

    #footer > div:nth-child(1) .icons > div a:nth-child(6) img {
        width: 96px;
        margin-top: 27px;
    }


    #footer > div .icons > div:nth-child(2) img:nth-child(1) { height: 85px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(2) { height: 77px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(3) { height: 65px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(4) { height: 88px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(5) { height: 88px; }

    #footer > div .kontaktdaten2 {
        bottom: 27px;
    }

    #footer > div .kontaktdaten2 .small {
        font-size: 17.3px;
    }

}




@media (max-width: 1400px) {

    body.noscroll {
        padding-right: 0;
    }

    #menuwrapper.menu_active {
        width: calc(var(--mww) + var(--sbw));
    }

    #menu {
        width: calc(var(--mww) + var(--sbw));
        transform: translateX(calc((var(--mww) + var(--sbw)) * -1));
    }
    
    #menu ul li a {
        font-size: 4.27vw;
    }

    #menu ul li.menuheadline {
        font-size: 6.2vw;
        padding-right: 6.25vw;
    }

    #menu ul > li.deeper > a:before {
        width: 1.25vw;
        height: 1.25vw;
        top: 0.782vw;
        right: -1.328vw;
    }

    #menu ul li.menuheadline a.menuback {
        top: 4vw;
        width: 3.8vw;
        height: 3.8vw;
    }

    #wrapper.menu_active {
       transform: scale(1) translateX(100%);
    }
    
}






@media(max-width: 1220px) {


    body {
        font-size: 19.2px;
    }
    
    p {
        margin-bottom: 11px;
    }
    
    small, .small {
        font-size: 16.3px;
    }
    
 
    #wrapper {
        padding-bottom: 880px;
    }


    #header {
        margin-bottom: 94px;
    }

    #header #logo {
        top: 19px;
        width: 190px;
        margin-left: -95px;
    }
    
    
    #header .login_icons {
        left: 30px;
        top: 43px;
    }

    #header .login_icons a {
        margin-right: 15px;
    }





    #header .login_icons a img {
        height: 24px;
    }

    #header .login_icons a:nth-child(1) img {
        width: 64px;
    }

    #header .login_icons a:nth-child(2) img {
        width: 103px;
    }
    
    
    #header .sm_icons {
        right: 30px;
        top: 39px;
    }

    #header .sm_icons a {
        margin-left: 13px;
    }

    #header .sm_icons a img {
        width: 30px;
        height: 30px;
    }

    #header_wrapper_container {
        width: 900px;
    }

    #header_wrapper {
        width: 900px;
        height: 600px;
    }

    #header #person img, #header .newspic {
        height: 520px;
    }

    #header .header_info {
        top: 144px;
    }

    #header h1 {
        font-size: 37px;
    }

    #header .uebersicht {
        margin-top: 36px;
    }

    #header .uebersicht p {
        font-size: 23px;
    }

    #header ul li {
        font-size: 23px;
        margin-bottom: 18px;
        padding-left: 36px;
    }

    #header ul li:before {
        font-size: 28px;
    }


    
    #header .button span:first-child, .teamslider.frontpage .button span:first-child {
        width: 36px;
        height: 36px;
    }


    #header .button span:last-child, .teamslider.frontpage .button span:last-child {
        height: 36px;
        line-height: 34px;
        padding: 0 11px;
        font-size: 21px;
    }

    h1 {
        font-size: 64.4px;
        margin: 0 auto 69px;
    }

    h2.big {
        font-size: 58px;
        margin-bottom: 46px;
    }

    h2, .clm2 h3, .video .clm2 h3 {
        font-size: 23.6px;
        margin-bottom: 15px;
    }

    h2.medium {
        font-size: 29.4px;
    }

    h2.blue {
        margin-bottom: 38px;
    }

    h3, h2.likeh3, .accordion > div h3 {
        font-size: 20.2px;
    }

    h4 {
        font-size: 20.2px;
    }


    .centered, .page-header {
        width: 900px;
    }
    
    #kanzleinews, #was_wir_machen, #spezialthemen, #video_tipps, #kontakt {
        margin-bottom: 115px;
    }

    #counter, #aktuelle_news, #sm_news, #newsmenu, #map {
        margin-bottom: 191px;
    }

    .kontaktformular {
        margin-top: 191px;
        margin-bottom: 115px;
    }

    #team_frontpage {
        margin-bottom: 344px;
    }
    
    ul.list, .kknews ul {
        margin-bottom: 8px;
    }

    ul.list li, .kknews ul li {
        padding-left: 13px;
        margin-bottom: 4px;
    }
    
    ul.list li:before, .kknews ul li:before {
        top: 11px;
        width: 5px;
        height: 5px;
    }

    .button_fw {
        padding: 6px 12px;
        font-size: 23px;
    }

    .accordion > div > div {
        padding: 15px 0 76px 58px;
        font-size: 19.2px;
    }
    
    .accordion h2, .accordion h3 {
        font-size: 27.85px;
        margin-top: 38px;
        padding-left: 58px;
    }
    
    .accordion h2 > span, .accordion h3 > span {
        width: 38px;
        height: 38px;
    }
    
    .accordion h2 span:before, .accordion h3 span:before {
        width: 26px;
        left: 6px;
        top: 17px;
    }
    
    .accordion h2 span:after, .accordion h3 span:after {
        height: 26px;
        top: 6px;
        left: 17px;
    }
    
    .teamslider {
        height: 575px;
        margin-bottom: 323px;
        margin-top: 153px;
    }  
    
    .teamslider_stage {
        padding-top: 40px;
        height: 535px;
        width: 900px;
    }
    
    .teamslider .slide {
        width: 900px;
        height: 535px;
    }
    
    .teamslider .slide .imageframe {
        height: 535px;
        width: 321px;
    }
    
    .teamslider .slide .imageframe img {
        height: 535px;
    }
    
    .teamslider .slide h3 {
        left: 344px;
        top: 53px;
        font-size: 38px;
    }
    
    .teamslider .slide .name {
        left: 344px;
        bottom: 38px;
        font-size: 19px;
    }
    
    .teamslider .slide .name strong {
        font-size: 25.5px;
    }

    .teamslider .slide .name small {
        font-size: 15px;
    }
    
    .slidernav {
        height: 160px;
        bottom: -160px;
    }


    .slidernav ul {
        top: 23px;
    }
    
    .slidernav ul li:nth-child(5n) {
        margin-left: calc((100% - 608px) / 16);
        margin-right: calc((100% - 608px) / 16);
    }

    .slidernav ul li:nth-child(3n) {
        margin-left: calc((100% - 608px) / 16);
        margin-right: calc((100% - 608px) / 16);
    }
    
    .slidernav ul li {
        width: 76px;
        margin-bottom: 19px;
        margin-left: calc((100% - 608px) / 16);
        margin-right: calc((100% - 608px) / 16);
    }


    .slidernav .button {
        top: 66px;
        width: 23px;
        height: 28px;
    }

    .slidernav .button_left {
        left: 15px;
    }

    .slidernav .button_right {
        right: 15px;
    }

    .slidernav ul li p {
        font-size: 14.45px;
        height: 36px;
    }
    
    .slidernav ul li img {
        width: 66px;
        height: 66px;
    }
    
    .ccircle-wrap .circle .mask, .ccircle-wrap .circle .fill {
        width: 76px;
        height: 76px;
    }
    
    .ccircle-wrap .circle .mask {
        clip: rect(0px, 76px, 76px, 38px);
    }

    .ccircle-wrap .circle .mask .fill {
        clip: rect(0px, 38px, 76px, 0px);
    } 
    
    .ccircle-wrap {
        width: 76px;
        height: 76px;
    }
    
    
    .ccircle-wrap .inside-circle {
        width: 70px;
        height: 70px;
        margin-top: 3px;
        margin-left: 3px;
    }
    
    /* Teamslider Frontpage */


    .teamslider.frontpage h2.big {
        font-size: 69px;
        margin-bottom: 38px;
    }
 
    .teamslider.frontpage {
        height: 730px;
        margin-bottom: 190px;
    }

     .teamslider_stage.frontpage {
        padding-top: 68px;
        height: 662px;
    }



    .teamslider.frontpage .slidernav {
        height: 160px;
        bottom: -160px;
    }


    .teamslider.frontpage .slidernav ul {
        top: 23px;
    }

    .teamslider.frontpage .slidernav ul li:nth-child(5n) {
        margin-left: calc((100% - 608px) / 16);
        margin-right: calc((100% - 608px) / 16);
    }

    .teamslider.frontpage .slidernav ul li:nth-child(3n) {
        margin-left: calc((100% - 608px) / 16);
        margin-right: calc((100% - 608px) / 16);
    }

    .teamslider.frontpage .slidernav ul li {
        margin-left: calc((100% - 608px) / 16);
        margin-right: calc((100% - 608px) / 16);
    }

    .teamslider.frontpage .button {
        right: 76px;
        bottom: 42px;
    }
    
   
   
   
   
   
   
   
    .ansprechpartner {
        height: 400px;
        margin-top: 153px;
    }

    .ansprechpartner > div {
        width: 688px;
        height: 400px;
    }



    .ansprechpartner > div > div.teamfoto {
        border: 5px solid #f7961d;
    }

    .ansprechpartner > div > div.teamfoto > span {
        border: 3px solid #fff;
    }


    .ansprechpartner img {
        width: 224px;
    }

    .ansprechpartner > div > div.text {
        margin-left: 61px;
    }

    .ansprechpartner > div > div.text strong {
        font-size: 27px;
    }   
    
    .parallax {
        padding: 76px 0;
    }
    
    #magiccounter {
        width: 900px;
    }

    #magiccounter > div {
      font-size: 20px;
    }




    .circle-wrap {
        width: 116px;
        height: 116px;
        margin-bottom: 12px;
    }

    .circle-wrap .circle .mask, .circle-wrap .circle .fill {
        width: 116px;
        height: 116px;
    }

    .circle-wrap .circle .mask {
        clip: rect(0px, 116px, 116px, 58px);
    }


    .circle-wrap .circle .mask .fill {
        clip: rect(0px, 58px, 116px, 0px);
    }



    .circle-wrap .inside-circle {
        width: 104px;
        height: 104px;
        line-height: 104px;
        margin-top: 6px;
        margin-left: 6px;
        font-size: 40px;
    }

    #magiccounter > div:first-child .circle-wrap .inside-circle {
        font-size: 21px;
    }
    
    .clm2list {
        margin-top: 23px;
    }

    .clm2list > div {
        margin-bottom: 34px;
        padding: 10px 15px 5px;
    }
    
    .clm2 > div, .clm3 > div {
        margin-bottom: 91px;
    }
    
    .video .clm2 .text {
        margin-top: 31px;
    }
    
    .clm2 > div .text, .clm3 > div .text {
        margin-bottom: 15px;
    }  
    
    a.link, .clm2 ul.nav a, .clm3 ul.nav a {
        padding-left: 15px;
    }

    a.link:hover, .clm2 ul.nav a:hover, .clm3 ul.nav a:hover {
        padding-left: 20px;
    }
    
    a.link:before, .clm2 ul.nav a:before, .clm3 ul.nav a:before {
        border-left: 8px solid #f7961d;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        top: 8px;
    }




    .newsmenu_wrapper {
        height: 460px;
    }

    .newsmenu_wrapper .centered {
        height: 460px;
    }

    .newsmenu {
        padding-top: 61px;
    }

    .newsmenu ul {
        margin-right: 76px;
    }

    .newsmenu ul li {
        margin-bottom: 26px;
    }

    .newsmenu ul li a {
        font-size: 20px;
    }

    .newsmenu ul li a span {
        width: 46px;
        height: 46px;
        margin-right: 15px;
    }

    .newsmenu ul li a span img {
        width: 46px;
    }

    .newsmenu_box {
        width: 272px;
        right: 122px;
        bottom: 22px;
    }

    .newsmenu_guy {
        bottom: 31px;
        height: 382px;
    }



/* SM Slider */

    #sm_news div.moduletable {
        padding: 26px 0;
    }

    .sm_slider {
        width: 900px;
        height: 576px;
    }

    #sm_slider_time {
        right: 232px;
        top: 42px;
        font-size: 9px;
    }

    .sm_slider .sm_slider_content {
        right: 85px;
        width: 518px;
        top: 111px;
        height: 381px;
        padding: 30px 0;
    }

    .sm_slider .sm_slider_content h3 {
        font-size: 24px;
    }

    .sm_slider .sm_slider_buttons a {
        width: 38px;
        height: 38px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(1) {
        left: 342px;
        top: 527px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(2) {
        left: 402px;
        top: 527px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(3) {
        left: 462px;
        top: 527px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(4) {
        left: 526px;
        top: 527px;
    }



    .sm_slider .button {
        width: 28px;
        height: 28px;
        top: 65px;
    }

    .sm_slider .button.button_left {
        right: 435px;
    }

    .sm_slider .button.button_right {
        right: 393px;
    }


    .full_width {
        margin: 191px auto;
    }

    .seperator {
        height: 382px;
        margin: 115px auto;
    }




    /* Kontaktformular */

    .kontaktformular > div:last-child {
        padding-top: 7px;
    }

    .kontaktformular > div h2 {
        font-size: 50.7px;
        padding-right: 23px;
    }

    input, textarea {
        font-size: 22px;
        padding: 4px 0;
    }

    textarea#ff_elem7 {
        height: 191px;
    }

    .bfElemWrap {
        margin-bottom: 53px !important;
    }

    #bfElemWrap7 {
        margin-bottom: 31px !important;
    }

    /*
    #newrecaptcha {
        margin-top: 31px;
    }
    */

    .bfElemWrap label {
        top: 4px;
    }

    #bfLabel32 {
        padding-left: 20px;
    }

    #bfLabel32 small {
        font-size: 15px;
    }
    
    input#ff_elem32 {
        font-size: 15px;
        top: 6px;
    }

    .bfError {
        margin-bottom: 23px;
        font-size: 17px;
    }

    button#bfSubmitButton {
        margin-top: -14px;
        padding: 6px 12px 4px;
        font-size: 17px;
    }

    a.bewerbungsbutton {
        font-size: 21.2px;
        padding: 6px 12px 4px;
    }

    #map {
        height: 535px;
    }



 
    #footer {
        height: 765px;
    }

    #footer > div {
        padding-top: 85px;
        height: 765px;
        width: 900px;
    }

    #footer > div h2 {
        font-size: 28.7px;
    }


    #footer > div .kontaktdaten {
        margin-top: 122px;
    }

    #footer > div .icons {
        margin-top: 61px;
    }

    #footer > div .icons > div:nth-child(1) {
        width: 190px;
    }

    #footer > div .icons > div:nth-child(2) {
        width: 666px;
    }

    #footer > div .icons > div:nth-child(1) img {
        width: 27px;
    }

    #footer > div:nth-child(1) .icons > div a:nth-child(6) img {
        width: 82px;
        margin-top: 23px;
    }


    #footer > div .icons > div:nth-child(2) img:nth-child(1) { height: 72px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(2) { height: 65px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(3) { height: 55px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(4) { height: 75px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(5) { height: 75px; }

    #footer > div .kontaktdaten2 {
        bottom: 23px;
    }

    #footer > div .kontaktdaten2 .small {
        font-size: 14.25px;
    }

}
    
    
    
@media (max-width: 1000px) {

    .sh_tbpt {
        display: block !important;
    }

    body {
        font-size: 18.25px;
    }
    
    p {
        margin-bottom: 10px;
    }
    
    small, .small {
        font-size: 14.4px;
    }
    


    #rmenu {
        position: absolute;
        left: 30px;
        top: 42px;
        z-index: 9999999999999999;
        height: 40px;
        cursor: pointer;
        display: block !important;
    }

    #rmenu #rmenu_icon {
        display: block;
        width: 40px;
        height: 1px;
        background: rgba(255,255,255,1);
        position: relative;
        top: 19px;
        transition: background 0s 0.15s;
        /* filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.2)); */
    }

    #rmenu.menu_active #rmenu_icon {
        background: rgba(255,255,255,0);
    }

    #rmenu #rmenu_icon:before {
        content: '';
        display: block;
        position: absolute;
        width: 40px;
        height: 1px;
        background: rgba(255,255,255,1);
        position: absolute;
        top: -12px;
        transition: top 0.15s ease-in 0.15s, transform 0.15s ease-in 0s;
    }

    #rmenu_trigger {
        cursor: pointer;
        display: block;
    }

    #rmenu #rmenu_icon:after {
        content: '';
        display: block;
        position: absolute;
        width: 40px;
        height: 1px;
        background: rgba(255,255,255,1);
        position: absolute;
        top: 12px;
        transition: top 0.15s ease-in 0.15s, transform 0.15s ease-in 0s;
    }

    #rmenu.menu_active #rmenu_icon:before {
        top: 0px;
        transition: top 0.15s ease-in 0s, transform 0.15s ease-in 0.15s;
        transform: rotate(135deg);
    }

    #rmenu.menu_active #rmenu_icon:after {
        top: 0px;
        transition: top 0.15s ease-in 0s, transform 0.15s ease-in 0.15s;
        transform: rotate(-135deg);
    }


    #webpage {
        transition: transform 0.3s ease-out;
    }

    #webpage.menu_active {
        transform: translateX(300px);
    }

    #webpage_overlay {
        position: absolute;
        z-index: 100000;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        background-color: rgba(12,45,105,0.9);
        transition: opacity 0.3s ease-in, visibility 0s 0.3s; 
        visibility: hidden;
        opacity: 0;
    }

    #webpage_overlay.menu_active  {
        visibility: visible;
        opacity: 1;
        transition: opacity 0.3s ease-in, visibility 0s 0s; 
    }


    
    #mmenu {
        background: #eeeeee;
        position: fixed;
        width: 300px;
        padding: 20px 30px;
        left: 0;
        top: 0;
        bottom: 0;
        z-index: 9999999;
        transform: translateX(-300px);
        transition: transform 0.3s ease-out;
        box-sizing: border-box;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        display: block !important;
    }

    #mmenu.menu_active {
        transform: translateX(0); 
    }


    #mmenu ul {
        list-style: none;
        width: 100%;
        margin: 0;
    }

    #mmenu ul li {
        width: 100%;
        border-bottom: 1px dotted rgba(12,45,105,0.2);
        margin: 0;
        position: relative;
    }


    #mmenu ul li:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    #mmenu ul li a {
        color: #0c2d69;
        line-height: 130%;
        display: inline-block;
        padding-top: 8px;
        padding-bottom: 7px;
        font-size: 25px;
        position: relative;
    }

    #mmenu ul > li.deeper > a:before {
        content: '';
        display: block;
        position: absolute;
        width: 9px;
        height: 9px;
        top: 10px;
        right: -14px;
        background: url(../images/icon_menu_deeper);
        background-size: cover;
    }

    #mmenu ul > li.deeper ul > li.deeper > a:before {
        content: '';
        display: block;
        position: absolute;
        width: 7px;
        height: 7px;
        top: 7px;
        right: -10px;
        background: url(../images/icon_menu_deeper);
        background-size: cover;
    }






    #mmenu > ul > li.active > a, #mmenu > ul > li > ul > li.active > a, #mmenu > ul > li > ul > li > ul > li.active > a {
        color: #f7961d;
    }


    #mmenu ul > li.menu_active > a {
        /* color: #f7961d; */
    }


    #mmenu ul li ul {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.2s ease-in;
        /*transition: max-height var(--mmenu_speed) linear;*/
        max-height: 0px;
        height: auto;
    }

    #mmenu ul li.menu_active ul {
        max-height: 2000px;
    }

    #mmenu ul li.menu_active ul li ul {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.2s ease-in;
        /*transition: max-height var(--mmenu_speed) linear;*/
        max-height: 0px;
        height: auto;
    }

    #mmenu ul li.menu_active ul li.menu_active ul {
        max-height: 2000px;
    }

    #mmenu ul li ul li:first-child {
        border-top: 1px dotted rgba(12,45,105,0.2);
    }

    #mmenu ul li ul li a, #mmenu ul > li.current ul li a {
        padding-left: 10px;
        font-size: 21.1px;
        padding-top: 7px;
        padding-bottom: 6px;
    }

    #mmenu ul li ul li ul li a, #mmenu ul > li.current ul li ul li a {
        padding-left: 20px;
        font-size: 19.2px;
    }
    
    #mmenu .login_sm_icons {
        margin-top: 30px;

        /*
        display: flex;
        align-items: center;
        justify-content: space-between;
        */
    }
    
    #mmenu .login_sm_icons .login_icons, #mmenu .login_sm_icons .sm_icons {
        display: flex;
    }

    #mmenu .login_sm_icons .login_icons {
        margin-bottom: 20px;
    }
    
    #mmenu .login_sm_icons .login_icons a, #mmenu .login_sm_icons .sm_icons a {
        display: block;
        margin-right: 17px;
    }
    
    #mmenu .login_sm_icons .sm_icons a {
        /* margin-left: 10px; */
        margin-right: 13px;
    }
    
    #mmenu .login_sm_icons .login_icons a img {
        display: block;
        height: 25px;
        width: auto;
        filter: brightness(0) saturate(100%) invert(8%) sepia(67%) saturate(4891%) hue-rotate(218deg) brightness(92%) contrast(91%);
    }
    
    #mmenu .login_sm_icons .sm_icons a img {
        display: block;
        height: 27px;
        width: auto;
        filter: brightness(0) saturate(100%) invert(8%) sepia(67%) saturate(4891%) hue-rotate(218deg) brightness(92%) contrast(91%);
    }
    
    #mmenu .login_sm_icons .sm_icons {
        display: none;
    }
    
    #wrapper {

    padding-bottom: 650px;

    }



    #header {
        background-image: url(../images/noise.png), url(../images/teamslider_bg.svg), url(../images/team_bg.jpg);
        background-position: center center, center right, bottom left;
        background-repeat: repeat, no-repeat , no-repeat;
        background-size: 200px auto, cover, cover;
        margin-bottom: 60px;
    }
    
    #header #logo {
        width: 200px;
        margin-left: -100px;
        top: 25px;
    }
    
    #header .login_icons {
        display: none;
    }
    
    .header_info {
        display: none;
    }
    
    #header .sm_icons {
        top: 46px;
    }
    
    #header_wrapper_container {
        width: 780px;
    }

    #header_wrapper {
        width: 780px;
        height: 560px;
    }

    #header #person {
        right: 50%;
        transform: translateX(50%);
    }

    #header #person img, #header .newspic {
        height: 450px;
    }


    #menubar {
        display: none;
    }



    #webpage {
        padding-left: 0;
    }

    .centered, .page-header {
        width: 100%;
        padding: 0 30px;
        box-sizing: border-box;
    }
    
    .centered .centered {
        padding: 0;
    }




    .centered h1, .page-header h1, .item-page h1 {
        display: block !important;
        margin-top: -19px;
        font-size: 62.4px;
        margin: 0 auto 50px;
    }

    .intro_hidden {
        display: block !important;
    }

    h2.big {
        font-size: 55.7px;
        margin-bottom: 44px;
    }
    
    
    
    
    #kanzleinews, #was_wir_machen, #spezialthemen, #video_tipps, #kontakt {
        margin-bottom: 40px;
    }

    #counter, #aktuelle_news, #sm_news, #newsmenu, #map {
        margin-bottom: 80px;
    }

    .kontaktformular {
        margin-top: 60px;
        margin-bottom: 30px;
    }

    #team_frontpage {
        margin-bottom: 260px;
    }

    .kontaktformular {
        flex-wrap: wrap;
    }

    .kontaktformular > div {
        width: 100%;
    }

    .kontaktformular > div:first-child {
        margin-bottom: 30px;
    }

    .kontaktformular > div .headline:before {
        display: none;
    }

    .kontaktformular > div:first-child img {
        display: none;
    }





    .clm2 > div {
        width: 47.5%;
        text-align: left;
    }
    
    .clm3 > div {
        width: 30%;
    }

    .clm2 > div, .clm3 > div {
        margin-bottom: 50px;
    }


    ul.list li:before, .kknews ul li:before {
        top: 10px;
        width: 4px;
        height: 4px;
    }

    .button_fw {
        padding: 5px 11px;
        font-size: 21px;
    }

    .accordion > div > div {
        padding: 13px 0 68px 48px;
        font-size: 18.25px;
    }

    .accordion h2, .accordion h3 {
        font-size: 25px;
        margin-top: 20px;
        padding-left: 48px;
    }

    .accordion h2 > span, .accordion h3 > span {
        width: 33px;
        height: 33px;
    }

    .accordion h2 span:before, .accordion h3 span:before {
        width: 21px;
        height: 3px;
        left: 6px;
        top: 15px;
    }

    .accordion h2 span:after, .accordion h3 span:after {
        height: 21px;
        width: 3px;
        top: 6px;
        left: 15px;
    }



    
    
    
    .teamslider {
        height: 460px;
        margin-bottom: 258px;
        margin-top: 122px;
    }
    
    .teamslider_stage {
        padding-top: 32px;
        height: 428px;
        width: 720px;
    }
    
    .teamslider .slide {
        width: 720px;
        height: 428px;
    }
    
    .teamslider .slide .imageframe {
        height: 428px;
        width: 257px;
    }
    
    .teamslider .slide .imageframe img {
        height: 428px;
    }
    
    .teamslider .slide h3 {
        left: 275px;
        top: 42px;
        font-size: 30px;
    }
    
    .teamslider .slide .name {
        left: 275px;
        bottom: 30px;
        font-size: 15px;
    }
    
    .teamslider .slide .name strong {
        font-size: 21.1px;
    }

    .teamslider .slide .name small {
        font-size: 12px;
    }
    
    .slidernav_small {
        display: none;
    }

    .slidernav_tablet {
        display: block;
    }
    
    .slidernav ul li:nth-child(5n) {
        margin-left: calc((100% - 532px) / 14);
        margin-right: calc((100% - 532px) / 14);
    }

    .slidernav ul li:nth-child(3n) {
        margin-left: calc((100% - 532px) / 14);
        margin-right: calc((100% - 532px) / 14);
    }
    
    .slidernav ul li {
        width: 76px;
        margin-bottom: 19px;
        margin-left: calc((100% - 532px) / 14);
        margin-right: calc((100% - 532px) / 14);
    }
    
    
    .teamslider.frontpage h2.big {
        font-size: 49px;
        margin-bottom: 16px;
    }
 
    .teamslider.frontpage {
        height: 576px;
    }

     .teamslider_stage.frontpage {
        padding-top: 68px;
        height: 511px;
    }

    .teamslider.frontpage .button {
        right: 30px;
        bottom: 35px;
    }

    .teamslider.frontpage .button span:first-child {
        width: 32px;
        height: 32px;
    }

    .teamslider.frontpage .button span:last-child {
        height: 32px;
        line-height: 32px;
        padding: 0 10px;
        font-size: 19px;
    }
    
    .ansprechpartner {
        height: 360px;
        margin-top: 80px;
    }

    .ansprechpartner > div {
        width: 688px;
        height: 360px;
    }


    .ansprechpartner > div > div.text strong {
        font-size: 24.6px;
    }  
    
    
    
    .parallax {
        padding: 30px 0 20px;
    }
    
    #magiccounter {
        width: 100%;
    }

    #magiccounter > div {
      font-size: 19px;
    }




    .circle-wrap {
        width: 104px;
        height: 104px;
        margin-bottom: 11px;
    }

    .circle-wrap .circle .mask, .circle-wrap .circle .fill {
        width: 104px;
        height: 104px;
    }

    .circle-wrap .circle .mask {
        clip: rect(0px, 104px, 104px, 52px);
    }


    .circle-wrap .circle .mask .fill {
        clip: rect(0px, 52px, 104px, 0px);
    }



    .circle-wrap .inside-circle {
        width: 94px;
        height: 94px;
        line-height: 94px;
        margin-top: 5px;
        margin-left: 5px;
        font-size: 35px;
    }

    #magiccounter > div:first-child .circle-wrap .inside-circle {
        font-size: 19px;
    }
    
    .clm2list {
        margin-top: 22px;
    }

    .clm2list > div {
        margin-bottom: 32px;
        padding: 10px 15px 5px;
    }

    a.link, .clm2 ul.nav a, .clm3 ul.nav a {
        padding-left: 14px;
    }

    a.link:hover, .clm2 ul.nav a:hover, .clm3 ul.nav a:hover {
        padding-left: 19px;
    }
    
    a.link:before, .clm2 ul.nav a:before, .clm3 ul.nav a:before {
        border-left: 7px solid #f7961d;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        top: 7px;
    }
    
    
    
    
    
    .newsmenu {
        padding-top: 61px;
    }

    .newsmenu ul {
        margin-right: 40px;
    }

    .newsmenu ul li {
        margin-bottom: 26px;
    }

    .newsmenu ul li a {
        font-size: 19.2px;
    }

    .newsmenu ul li a span {
        width: 44px;
        height: 44px;
        margin-right: 12px;
    }

    .newsmenu ul li a span img {
        width: 44px;
    }

    .newsmenu_box {
        width: 240px;
        right: 132px;
    }

    .newsmenu_guy {
        right: 10px;
    }
    
    
    
/* SM Slider */

    #sm_news div.moduletable {
        padding: 21px 0;
    }

    .sm_slider {
        width: 740px;
        height: 474px;
    }

    #sm_slider_time {
        right: 190px;
        top: 34px;
        font-size: 8px;
    }

    .sm_slider .sm_slider_content {
        right: 70px;
        width: 426px;
        top: 91px;
        height: 313px;
        padding: 15px 0;
        font-size: 15.8px;
    }

    .sm_slider .sm_slider_content h3 {
        font-size: 19.7px;
    }

    .sm_slider .sm_slider_buttons a {
        width: 31px;
        height: 31px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(1) {
        left: 280px;
        top: 433px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(2) {
        left: 330px;
        top: 433px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(3) {
        left: 380px;
        top: 433px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(4) {
        left: 430px;
        top: 433px;
    }



    .sm_slider .button {
        width: 23px;
        height: 23px;
        top: 53px;
    }

    .sm_slider .button.button_left {
        right: 357px;
    }

    .sm_slider .button.button_right {
        right: 323px;
    }


    .full_width {
        margin: 191px auto;
    }

    .seperator {
        height: 382px;
        margin: 115px auto;
    }


    #map {
        height: 500px;
    }
    

  #footer {
        height: 560px;
    }

    #footer > div {
        padding-top: 60px;
        height: 560px;
        width: 740px;
    }
    
    #footer > div h2 {
        font-size: 22.9px;
    }
    
    #footer > div .kontaktdaten {
        margin-top: 60px;
    }

    #footer > div .kontaktdaten .phone_number, #footer > div .kontaktdaten .phone_number_compressed {
        display: none;
    }

    #footer > div .kontaktdaten .phone_number_compressed2 {
        display: block;
    }
    
    #footer > div .icons {
        margin-top: 40px;
    }
    
    #footer > div .icons > div:nth-child(1) {
        width: 182px;
    }
    
    #footer > div .icons > div:nth-child(2) {
        width: 528px;
    }
    
    
    #footer > div .icons > div:nth-child(1) img {
        width: 26px;
    }

    #footer > div:nth-child(1) .icons > div a:nth-child(6) img {
        width: 80px;
        margin-top: 22px;
    }
    
    #footer > div .icons > div:nth-child(2) img:nth-child(1) { height: 68px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(2) { height: 62px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(3) { height: 52px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(4) { height: 71px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(5) { height: 71px; }
    
    #footer > div .kontaktdaten2 .small {
        font-size: 13.5px;
    }




}



@media (max-width: 780px) {

    .desktop {
        display: none;
    }
    
    .mobil {
        display: block !important;
    }

    p {
        margin-bottom: 8px;
    }

    #rmenu {
        left: 20px;
        top: 32px;
    }

    #webpage.menu_active {
        transform: translateX(270px);
    }

    #mmenu {
        width: 270px;
        transform: translateX(-270px);
        padding: 10px 20px;
    }

    #mmenu .login_sm_icons .sm_icons {
        display: flex;
    }
    
    #wrapper {
        padding-bottom: 1150px;
    }

    
    #header {
        background-image: url(../images/noise.png), url(../images/teamslider_bg.svg), url(../images/team_bg.jpg);
        background-position: center center, center left, bottom left;
        background-repeat: repeat, no-repeat , no-repeat;
        background-size: 200px auto, auto 100%, cover;
        margin-bottom: 30px;
    }
    
    #header #logo {
        width: 170px;
        margin-left: -85px;
        top: 20px;
    }
    #header #person img, #header .newspic {
        height: 365px;
    }
    
    #header_wrapper {
        height: 460px;
        width: 100%;
    }
    
    #header_wrapper_container {
        width: 100%;
    }

    #header .sm_icons {
        display: none;
    }
    
    #header .phone_icon {
        display: block !important;
        position: absolute;
        right: 20px;
        top: 31px;
        z-index: 1;
    }
    
    #header .phone_icon img {
        display: block;
        width: 37px;
        height: auto;
        border: 1px solid #fff;
        border-radius: 50%;
        background: rgba(255,255,255,0.15);
    }
    
    .slider {
        left: 50%;
        transform: translateX(-50%);
        height: 350px;
        width: 362px;

    }
    
    .centered, .page-header {
        text-align: left;
        padding: 0 20px;
    }

    .centered h1, .page-header h1, .item-page h1 {
        text-align: left;
        font-size: 30.7px;
        margin-bottom: 20px;
        max-width: 100%;
    }
    
    .centered h1.desktop, .page-header h1.desktop, .item-page h1.desktop {
        display: none !important;
    }

    h2.big {
        font-size: 43.2px;
        margin-bottom: 30px;
        width: 100%;
        padding: 0 20px;
        box-sizing: border-box;
    }
    
    .centered h2.big {
        padding: 0;
    }
    
    
    
    #kanzleinews, #was_wir_machen, #spezialthemen, #video_tipps, #kontakt {
        margin-bottom: 50px;
    }

    #counter, #aktuelle_news, #sm_news, #newsmenu, #map {
        margin-bottom: 70px;
    }
    
    #team_frontpage {
        margin-bottom: 200px;
    }
    
    #newsmenu {
        display: none;
    }


    
    .clm2 > div {
        width: 100%;
        margin-bottom: 50px;
    }

    .clm2 > div .image, .clm3 > div .image {
        margin-bottom: 30px;
    }




    .accordion > div > div {
        padding: 0px 0 30px 40px;
    }
    
    .clm3 .accordion > div > div {
        padding: 0px 20px 30px 40px;
    }
    
    .accordion h2, .accordion h3 {
        font-size: 22px;
        margin-top: 15px;
        padding-left: 40px;
    }
    
    .clm3 .accordion h2 {
        margin-top: 5px;
    }
    
    .accordion h2 > span, .accordion h3 > span {
        width: 29px;
        height: 29px;
    }
    
    .accordion h2 span:before, .accordion h3 span:before {
        width: 17px;
        left: 6px;
        top: 13px;
        height: 3px;
    }
    
    .accordion h2 span:after, .accordion h3 span:after {
        height: 17px;
        top: 6px;
        left: 13px;
        width: 3px;
    }
    
  


    .slidernav_tablet {
        display: none;
    }

    .slidernav_smartphone {
        display: block;
    }
    
    .slidernav ul li {
        width: 76px;
        margin-bottom: 19px;
        margin-left: 0 !important;
        margin-right: 14px !important;
    }
    
    .slidernav ul li:nth-child(1) {
        margin-left: 20px !important;
    }
    
    .slidernav ul li:last-child {
        margin-right: 20px !important;
    }
    
    .slidernav ul {
        left: auto;
        transform: none;
        flex-wrap: nowrap;
        overflow-x: scroll;
        pointer-events: auto;
        width: 100%;
    }
    
    .slidernav ul li .ccircle-wrap {
        transform: scale(1);
        transform: rotateY(0);
    }

    .slidernav ul li p {
        opacity: 1;
    }

    .teamslider {
        background-image: url(../images/noise.png), url(../images/teamslider_bg.svg), url(../images/team_bg.jpg);
        background-position: center center, top left, bottom left;
        background-repeat: repeat, no-repeat, no-repeat;
        background-size: 200px auto, auto 360px, cover;
        width: 100%;
        position: relative;
        height: 422px;
        margin-top: 72px;
        margin-bottom: 208px;
    }

    .teamslider .slide .imageframe img {
        height: 328px;
    }

    .teamslider .slide .imageframe {
        height: 328px;
    }

    .teamslider_stage {
        width: 100%;
        height: 348px;
        padding-top: 20px;
    }

    .teamslider .slide {
        width: 100%;
        height: 328px;
    }

    .teamslider .slide .imageframe {
        width: 100%;
        position: relative;
    }

    .teamslider .float_right {
        float: none;
    }
    

    .teamslider .slide .slide_info {
        background: #0c2d69;
        height: 74px;
        padding-left: 20px;
        padding-right: 20px;
        display: flex;
        align-items: center;
        box-sizing: border-box;
    }


    .teamslider .slide h3 {
        position: relative;
        left: auto;
        top: auto;
        font-size: 17px;
        opacity: 0;
        color: #fff;
        text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
        transition: opacity 0.5s ease-out;
        margin-bottom: 0;
    }

    .teamslider .slide h3 br {
        display: none;
    }

    .teamslider .slide .name {
        position: absolute;
        left: 0;
        bottom: 25px;
        font-size: 13px;
        margin-top: 10px;
        color: #fff;
        text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
        line-height: 130%;
        background: #f7961d;
        padding: 7px 10px 5px 20px;
    }

    .teamslider .slide .name strong {
        color: #fff;
        font-size: 16.3px;
    }

    .teamslider .slide .name small {
        font-size: 10px;
    }

    .slidernav, .teamslider.frontpage .slidernav {
        height: 134px;
        bottom: -134px;
    }

    .slidernav ul, .teamslider.frontpage .slidernav ul {
        top: 13px;
    }

    .ccircle-wrap {
        width: 66px;
        height: 66px;
    }

    .ccircle-wrap .circle .mask {
        clip: rect(0px, 66px, 66px, 33px);
    }
    .ccircle-wrap .circle .mask, .ccircle-wrap .circle .fill {
        width: 66px;
        height: 66px;
    }

    .ccircle-wrap .circle .mask .fill {
        clip: rect(0px, 33px, 66px, 0px);
    }

    .ccircle-wrap .inside-circle {
        width: 60px;
        height: 60px;
        margin-top: 3px;
        margin-left: 3px;
    }

    .slidernav ul li img {
        width: 56px;
        height: 56px;
    }







    /* Teamslider Frontpage */


    .teamslider.frontpage h2.big {
        font-size: 49px;
        margin-bottom: 16px;
    }
 
    .teamslider.frontpage {
        height: 506px;
        margin-bottom: 90px;
        background-position: center center, 10% center, bottom left;
        background-size: 200px auto, cover, cover;
    }

     .teamslider_stage.frontpage {
        padding-top: 25px;
        height: 485px;
    }
    
    .teamslider.frontpage .slidernav ul {
        width: 100%;
    }


    .teamslider.frontpage .button {
        display: none;
    }
    
    
    
    
    


  
    .ansprechpartner {
        margin-top: 60px;
        height: auto;
    }
    
    .ansprechpartner > div {
        width: 100%;
        height: auto;
    }
    
    .ansprechpartner > div {
        flex-wrap: wrap;
        padding: 44px 0 40px;
        flex-direction: column;
    }
    
    .ansprechpartner > div > div.teamfoto {
        border: 3px solid #f7961d;
    }
    .ansprechpartner > div > div.teamfoto > span {
        border: 2px solid #fff;
    }

    .ansprechpartner > div > div.text {
        margin-left: 0;
        margin-top: 30px;
        max-width: calc(100% - 40px);
    }








    #magiccounter {
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
        flex-wrap: wrap;
    }

    .circle-wrap {
        width: 76px;
        height: 76px;
        margin-bottom: 6px;
    }

    .circle-wrap .circle .mask, .circle-wrap .circle .fill {
        width: 76px;
        height: 76px;
    }

    .circle-wrap .circle .mask {
        clip: rect(0px, 76px, 76px, 38px);
    }


    .circle-wrap .circle .mask .fill {
        clip: rect(0px, 38px, 76px, 0px);
    }



    .circle-wrap .inside-circle {
        width: 68px;
        height: 68px;
        line-height: 68px;
        margin-top: 4px;
        margin-left: 4px;
        font-size: 21px;
    }
    
    .parallax {
        padding: 30px 0;
    }

    #magiccounter > div {
        width: 45%;
        font-size: 16px;
        line-height: 130%;
        margin-bottom: 20px;
    }

    #magiccounter > div:nth-child(4), #magiccounter > div:nth-child(5) {
        margin-bottom: 0;
    }

    #magiccounter > div:first-child .circle-wrap .inside-circle {
        font-size: 15.5px;
    }
    
    
    
    .clm2list {
        display: block;
        margin-top: 15px;
    }

    .clm2list > div {
        width: 100%;
        margin-bottom: 20px;
        padding: 0;
        border: none;
        background: none;
    }
    
    .clm3 {
        display: block;
    }

    .clm3 > div {
        width: 100%;
        margin-bottom: 0px;
    }

    a.link:before, .clm2 ul.nav a:before, .clm3 ul.nav a:before {
        top: 9px;
    }


    .sm_slider {
        width: 100%;
        background: none;
        height: 440px;
    }

    #sm_slider_time {
        display: none;
    }
    
    .sm_slider .button {
        top: 10px;
    }
    
    .sm_slider .button.button_left {
        right: auto;
        left: 50%;
        transform: translateX(-30px);
    } 
    
    .sm_slider .button.button_right {
        right: 50%;
        transform: translateX(30px);
    } 

    .sm_slider .sm_slider_content {
        right: auto;
        width: 100%;
        top: 58px;
        height: 320px;
        padding: 0;
        font-size: 14px;
        line-height: 140%;
    }

    .sm_slider .sm_slider_content h3 {
        font-size: 19.7px;
    }

    .sm_slider .sm_slider_buttons a {
        width: 31px;
        height: 31px;
    }

    .sm_slider .sm_slider_buttons a:nth-child(1) {
        left: 50%;
        top: 400px;
        transform: translateX(-89px);
    }

    .sm_slider .sm_slider_buttons a:nth-child(2) {
        left: 50%;
        top: 400px;
        transform: translateX(-40px);
    }

    .sm_slider .sm_slider_buttons a:nth-child(3) {
        left: auto;
        right: 50%;
        top: 400px;
        transform: translateX(40px);
    }

    .sm_slider .sm_slider_buttons a:nth-child(4) {
        left: auto;
        right: 50%;
        top: 400px;
        transform: translateX(89px);
    }







    #was_wir_machen .desktop {
        display: none;
    }

    #was_wir_machen .mobil {
        display: block !important;
    }

    #was_wir_machen .mobil .image {
        margin-bottom: 20px;
    }

    #was_wir_machen .mobil img {
        display: block;
        width: 100%;
        height: auto;
    }

    /*
    #newrecaptcha {
        margin-top: 70px;
        transform: scale(0.93);
        transform-origin: left top;
    }
    */

    .kontaktformular {
        margin: 50px 0;
    }


    .kontaktformular > div:first-child {
        margin-bottom: 20px;
    }

    .kontaktformular > div h2 {
        font-size: 28.8px;
        padding-right: 0;
    }
    
    #wrapper .bfQuickMode .controls .control-label {
        max-width: 100% !important;
        min-width: 100% !important;
        width: 100% !important;
    }

    #map {
        /* height: 500px; */
    }

  #footer {
        height: 1150px;
    }

    #footer > div {
        padding-top: 40px;
        height: 1150px;
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }
    
    #footer > div h2 {
        font-size: 23.9px;
    }
    
    #footer > div .kontaktdaten {
        margin-top: 40px;
        display: block;
        text-align: center;
    }

    #footer > div .kontaktdaten .phone_number_compressed, #footer > div .kontaktdaten .phone_number_compressed2 {
        display: none;
    }

    #footer > div .kontaktdaten .phone_number {
        display: block;
    }
    
    #footer > div .kontaktdaten > div {
        margin-bottom: 30px;
    }
    
    #footer > div .icons > div:nth-child(1) {
        display: none;
    }
    
    #footer > div .icons > div:nth-child(2) {
        width: 280px;
        justify-content: center;
        margin: 0 auto;
    }
    
    #footer > div .icons > div:nth-child(2) img {
        margin: 0 15px 20px;
    }
    
    #footer > div .icons > div:nth-child(2) img:nth-child(1) { height: 58px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(2) { height: 53px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(3) { height: 44px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(4) { height: 60px; }
    #footer > div .icons > div:nth-child(2) img:nth-child(5) { height: 60px; }
    
    #footer > div .kontaktdaten2 {
        line-height: 160%;
    }

}