@charset "UTF-8";
/* Colors
-------------------------------------------------- */
/* Fonts
-------------------------------------------------- */
/* Basics
-------------------------------------------------- */
* {
  padding: 0;
  margin: 0; }

html {
  overflow-y: scroll;
  overflow-x: hidden;
  background: #343758; }

body {
  font-family: "NuOrder", Arial, sans-serif;
  font-size-adjust: 0.5;
  font-weight: 300;
  font-style: normal;
  font-size: 17px;
  line-height: 1.6;
  color: #777;
  background: #f2f2f2 url(../images/back.png); }

a {
  border: none;
  color: #343758;
  text-decoration: none;
  -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s; }

a:hover {
  color: #e51762; }

p img {
  width: 80%;
  max-width: 520px; }

img {
  border: 0; }

.float--left {
  float: left; }

.float--right {
  float: right; }

/* Button Down
-------------------------------------------------- */
.hero .down {
  position: absolute;
  bottom: 40px;
  right: 5%;
  z-index: 2000;
  background: #fff url(../images/arrow.down.png) no-repeat center center;
  background: rgba(225, 25, 100, 0.95) url(../images/arrow.down.png) no-repeat center center;
  text-indent: -6000px;
  width: 50px;
  height: 50px;
  display: none;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.hero .down {
  -webkit-animation: move 1s infinite linear;
  -moz-animation: move 1s infinite linear;
  -ms-animation: move 1s infinite linear;
  -o-animation: move 1s infinite linear;
  animation: move 1s infinite linear;
  -webkit-transition: move 0s ease 0s;
  -moz-transition: move 0s ease 0s;
  -ms-transition: move 0s ease 0s;
  -o-transition: move 0s ease 0s;
  transition: move 0s ease 0s; }

@-moz-keyframes move {
  0% {
    bottom: 40px; }
  50% {
    bottom: 35px; }
  100% {
    bottom: 40px; } }

@-o-keyframes move {
  0% {
    bottom: 40px; }
  50% {
    bottom: 35px; }
  100% {
    bottom: 40px; } }

@-ms-keyframes move {
  0% {
    bottom: 40px; }
  50% {
    bottom: 35px; }
  100% {
    bottom: 40px; } }

@-webkit-keyframes move {
  0% {
    bottom: 40px; }
  50% {
    bottom: 35px; }
  100% {
    bottom: 40px; } }

@keyframes move {
  0% {
    bottom: 40px; }
  50% {
    bottom: 35px; }
  100% {
    bottom: 40px; } }

/* Main Page
-------------------------------------------------- */
.main {
  min-height: 500px;
  padding: 40px 2.5% 100px 2.5%; }

.main .content p a {
  color: #e51762;
  border-bottom: 1px dotted #e51762; }

.main ul {
  margin-left: 17px; }

.main ol {
  margin-left: 24px; }

.main ul li {
  list-style: square; }

.main .styled-list {
  margin-left: 0;
  margin-top: -5px; }

.main .styled-list li {
  position: relative;
  list-style: none;
  padding-left: 20px; }

.main .styled-list li:before {
  position: absolute;
  content: "";
  width: 9px;
  height: 9px;
  left: 0;
  top: 8px;
  background: url(../images/box.png) no-repeat center center; }

.main .styled-list li a {
  color: #e51762; }

.main .styled-list li a:hover {
  color: #343758; }

.main .map {
  border: 4px solid #fff;
  margin-bottom: 20px; }

.column.text img.extra-image {
  display: block;
  max-height: 650px;
  margin: 0 auto; }

/* Individual Pages
-------------------------------------------------- */
.columns {
  overflow: hidden; }

.branchen, .leistungen, .schwerpunkte {
  overflow: hidden;
  padding-top: 8px; }

.branchen ul, .leistungen ul, .schwerpunkte ul {
  margin: 0 -1% 0 0 !important; }

.branchen li, .leistungen li, .schwerpunkte li {
  position: relative;
  overflow: hidden;
  background: #fff;
  padding: 10px 0;
  margin: 0 1% 1% 0;
  border-radius: 2px;
  z-index: 0; }

.schwerpunkte li {
  min-height: 200px; }

.branchen li .more, .leistungen li .more, .schwerpunkte li .more {
  position: absolute;
  text-indent: -6000px;
  top: 0;
  bottom: 0;
  right: 0;
  width: 50px;
  background: url(../images/arrow.right.png) no-repeat center center; }

.branchen li h2, .leistungen li h2, .schwerpunkte li h2 {
  margin-left: 20px; }

.branchen li figure .image, .leistungen li figure .image, .schwerpunkte li figure .image {
  width: 50px;
  float: left;
  margin: 0 20px; }

.branchen li figure img, .leistungen li figure img, .schwerpunkte li figure img {
  width: 100%;
  overflow: hidden; }

.branchen li figure figcaption, .leistungen li figure figcaption, .schwerpunkte li figure figcaption {
  float: left; }

.branchen li figure figcaption strong, .leistungen li figure figcaption strong, .schwerpunkte li figure figcaption strong {
  display: block; }

.biographie {
  margin-bottom: 0; }

/* Footer
-------------------------------------------------- */
.footer {
  position: relative;
  background: #343758;
  min-height: 100px;
  color: #fff;
  padding: 20px 2.5% 60px; }
.footer .signet img {
  height:223px; 
  width:auto;
  margin-right:20px; }
.footer .copyright {
  margin-top: 40px;
  width: 100%;
  font-size: 14px;
  margin-bottom: 40px; }

.footer a {
  color: #fff; }

.footer a:hover {
  color: #e51762; }

.footer .sitemap {
  overflow: hidden;
  width: 100%;
  float: left;
  padding-bottom: 40px; }

.footer .sitemap ul {
  margin-right: 0;
  min-width: 100%; }

.footer .sitemap > ul {
  margin-bottom: 20px; }

.footer .sitemap li, .footer .contact li {
  list-style: none; }

.footer .sitemap li ul a {
  color: #adafbc;
  font-size: 14px;
  border-bottom: 1px solid #606279; }

.footer .sitemap li ul a:hover {
  color: #fff; }

.footer .contact {
  width: 100%;
  font-size: 14px;
  float: left;
  padding-bottom: 80px; }

.footer .signet img {
  max-width: 150px;
  margin-bottom: 2em; }

.footer .contact h1 {
  color: #adafbc;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: normal; }

.footer .contact a {
  border-bottom: 1px solid #606279; }

.footer .contact p {
  margin-bottom: 20px; }

/* Forms
-------------------------------------------------- */
.contactform .alert {
  margin-bottom: 20px;
  color: #e51762; }

.contactform fieldset {
  border: 0;
  width: 100%;
  padding-bottom: 32px; }

.contactform label {
  display: block; }

.contactform label small {
  display: none; }

.contactform .field {
  margin-bottom: 10px; }

.contactform .checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.contactform .checkbox-input {
  margin-right: 1.5em;
  margin-top: -5px; }

.contactform .actions {
  font-size: 14px; }

.contactform .hide {
  display: none; }

.contactform-button {
  width: 9.0em;
  height: 2.5em;
  background: #e51762;
  color: #fff;
  border: 0;
  font-size: 14px;
  border-radius: 0.125em;
  cursor: pointer;
  -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s; }

.contactform-button:hover {
  background: #3d405f; }

.contactform input[type=text], textarea {
  outline: none;
  background: #fff;
  border: 0;
  width: 100%;
  padding: 5px 10px;
  font-family: "NuOrder Light", Arial, sans-serif;
  font-size-adjust: 0.5;
  font-weight: 200;
  font-style: normal;
  font-size: 16px;
  line-height: 1.6; }

.contactform textarea {
  height: 200px; }

.field p {
  font-size: .8em; }

/* Header
-------------------------------------------------- */
header {
  position: relative; }

.logo {
  position: fixed;
  top: auto;
  right: 2.5%;
  bottom: 0;
  background: #fff;
  border-top: 2px solid #e51762;
  width: 86px;
  height: 66px;
  z-index: 2; }

.logo a {
  display: block;
  text-indent: -6000px;
  height: 100%;
  background: url(../images/logo.small.png) no-repeat center bottom;
  -webkit-transition: none;
  -moz-transition: none;
  -ms-transition: none;
  -o-transition: none;
  transition: none; }

.page {
  background: #f2f2f2 url(../images/back.png); }

/* Headings & Text
-------------------------------------------------- */
.main h1 a, .main h2 a, .main h3 {
  color: inherit; }

.main h1 {
  color: #343758;
  font-size: 26px;
  font-weight: 300;
  margin-bottom: 16px;
  line-height: 34px; }

.main h2 {
  /* Rosa & Großbuchstaben */
  color: #e51762;
  font-weight: 300;
  text-transform: uppercase;
  font-size: 17px;
  margin-bottom: 16px; }

.main h3 {
  /* Dunkelblau & Standard */
  font-size: 17px;
  font-weight: 400;
  color: #343758;
  margin-bottom: 8px; }

.main h4 {
  /* Bildunterschrift */
  font-size: 10px;
  font-weight: 400;
  color: #343758;
  margin-bottom: 32px;
  margin-top: -16px; }

.main strong {
  /* Magenta & Standard */
  color: #e51762;
  font-weight: 300; }

.main ol, .main p {
  margin-bottom: 16px; }

.main ul {
  margin-bottom: 32px; }

.separated {
  margin-bottom: 0; }

.separated-intro {
  margin-bottom: 16px; }

.text p {
  margin-bottom: 16px; }

.text p + h2 {
  margin-top: 32px; }

.column.first {
  padding-top: 59px;
  margin-bottom: 16px; }

.column.last {
  margin-right: 0; }

.column.last-no-img {
  margin-right: 0;
  padding-top: 0; }

.column {
  margin-bottom: 32px; }

.column.two {
  margin-bottom: 0; }

.column.two.last {
  margin-bottom: 32px; }

.column-three-wrapper {
  width: 100%;
  height: 100%;
  overflow: hidden;
  margin-bottom: 20px; }

.column-three {
  width: 100%;
  height: 100%;
  overflow: hidden;
  float: left;
  margin-bottom: 40px; }

.column img {
  max-width: 100%;
  margin-bottom: 10px; }

.tpl--home .main {
  padding-top: 70px; }
  .tpl--home .main h2 {
    font-size: 1em; }
  .tpl--home .main .column.two-thirds h2 {
    font-size: 1.25em;
    line-height: auto; }

/* Hero
-------------------------------------------------- */
.hero {
  position: relative;
  background: #f2f2f2;
  background-size: 80%;
  -webkit-box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 6px;
  box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 6px;
  line-height: 0;
  margin-top: -2px;
  z-index: 3; }

.hero img {
  border: none;
  height: auto;
  max-width: 100%;
  width: auto; }

.fotorama .fotorama__img {
  top: auto !important;
  left: auto !important;
  right: 0 !important;
  bottom: 0 !important; }

img[usemap] {
  border: none;
  height: auto;
  max-width: 100%;
  width: auto; }

.hero .info {
  position: absolute;
  font-size: 15px;
  z-index: 2000;
  max-width: 400px;
  right: 5%;
  bottom: 40px;
  line-height: 1.6;
  text-align: right; }

.hero .info a {
  color: #e51762; }

.hero .info a:hover {
  color: #343758; }

.hero .slogan {
  position: absolute;
  bottom: 40px;
  left: 2.5%;
  margin-bottom: 0;
  font-size: 30px;
  font-style: italic;
  font-weight: 300;
  line-height: 1.2;
  color: #343758;
  background: #fff;
  background: rgba(255, 255, 255, 0.95);
  padding: 15px 30px 20px 25px;
  display: none; }

.hero .slogan:after {
  position: absolute;
  content: '';
  width: 50px;
  right: -50px;
  top: 0;
  bottom: 50px;
  background: #fff;
  background: rgba(255, 255, 255, 0.95); }

.hero .slogan span {
  display: inline-block; }

.tpl--home .hero-headlines {
  width: 70%;
  position: absolute;
  bottom: 40px;
  left: 0; }

.tpl--home .hero .slogan {
  position: absolute;
  bottom: 0;
  left: 300px; }

.tpl--home .hero .signet {
  bottom: 0; }

.tpl--home .hero .signet img {
  width: 100%;
  height: auto; }

.hero .signet {
  position: absolute;
  width: 70px;
  bottom: 40px;
  left: 2.5%; }

.hero .signet--widescreen {
  display: none; }

.hero .signet-digital {
  position: absolute;
  right: 5%;
  bottom: calc(40px + 120px + 40px);
  width: 120px;
  height: 120px; }

@media screen and (max-width: 1000px) {
  .hero .signet-digital {
    bottom: 120px; }
  .tpl--home .hero .signet,
  .hero .signet {
    width: 25%; }
    .tpl--home .hero .signet img,
    .hero .signet img {
      bottom: 0;
      width: calc(45% - 10px);
      float: left;
      margin-right: 10px; }
    .tpl--home .hero .signet img:nth-child(2),
    .hero .signet img:nth-child(2) {
      width: calc(45% - 2.5% - 3px); } }

@media screen and (max-width: 800px) {
  .tpl--home .hero .signet,
  .hero .signet {
    width: 45%; }
    .tpl--home .hero .signet img,
    .hero .signet img {
      bottom: 0;
      width: calc(45% - 10px);
      float: left;
      margin-right: 10px; }
    .tpl--home .hero .signet img:nth-child(2),
    .hero .signet img:nth-child(2) {
      width: calc(45% - 2.5% - 3px); } }

@media screen and (max-width: 560px) {
  .hero .signet-digital {
    width: 80px;
    bottom: 20px; } }

@media screen and (max-width: 480px) {
  .hero .signet-digital {
    width: 40px;
    bottom: -10px !important; } }

/* Homepage USPs & News
-------------------------------------------------- */
.usp-wrapper {
  width: 100%;
  height: 100%;
  overflow: hidden;
  margin-bottom: 20px; }

.usp-box {
  width: 100%;
  height: 100%;
  overflow: hidden;
  float: left;
  background: #fff;
  border-radius: 2px;
  padding-bottom: 0;
  margin-bottom: 40px; }

.usp-headline {
  width: 100%;
  min-height: 70px; }

@media screen and (max-width: 946px) {
  .usp-headline {
    min-height: 100px; } }

.usp-box ul {
  margin: 0 !important; }

.usp-box li {
  position: relative;
  padding: 20px;
  margin: 0 1% 1% 0; }

.usp-box li .more {
  position: absolute;
  text-indent: -6000px;
  top: 0;
  bottom: 0;
  right: 0;
  width: 50px;
  background: url(../images/arrow.right.png) no-repeat center center; }

.usp-box li figure .usp-image {
  width: 100%;
  display: block;
  margin-bottom: 20px; }

.usp-box li figure figcaption {
  margin-bottom: 20px; }

.column.three.news {
  background: #fff;
  padding: 1.5%; }

/* Links
-------------------------------------------------- */
a.styled {
  position: relative;
  color: #e51762;
  padding-left: 20px;
  border-bottom: none !important; }

a.styled:before {
  position: absolute;
  content: "";
  width: 9px;
  height: 9px;
  left: 0;
  top: 5px;
  background: url(../images/box.png) no-repeat center center; }

a.styled:hover {
  color: #343758; }

.pdf_icon:before {
  content: '\232A';
  font-size: .8em;
  padding-right: 10px; }

.pdf_icon:after {
  content: url("../images/pdf.icon.png");
  padding-left: 10px; }

/* Hero
-------------------------------------------------- */
.hero .menu {
  margin-left: 80px; }

.hero .menu__item li a {
  color: #343758; }

.hero .menu__item li a:hover,
.hero .menu__item li a.active {
  color: #e51762;
  background: none; }

.hero .menu {
  position: absolute;
  top: 3px;
  background: none; }

/* Navigation
-------------------------------------------------- */
.menu {
  font-size: 17px;
  background: #343758;
  margin-left: 100px; }

.menu .social {
  top: 8px;
  display: none; }

.menu__item {
  text-align: right !important;
  margin-right: 0; }

.menu__item li {
  position: relative;
  list-style: none;
  height: 41px;
  border-bottom: 1px solid #606279; }

.menu__item li:last-child {
  border: none; }

.menu__item li a {
  display: block;
  color: #fff;
  line-height: 41px;
  text-transform: uppercase;
  text-align: left;
  padding: 0 20px;
  border-right: 1px solid #606279; }

.menu__item li a:hover {
  background: #3d405f; }

.menu__item li a.active {
  background: #606279; }

/* Subnavigation
-------------------------------------------------- */
.submenu__item {
  position: absolute;
  z-index: 1;
  display: none; }

.submenu__item li {
  width: 100% !important;
  min-width: 190px;
  height: auto; }

.submenu__item li a {
  font-size: .8em;
  line-height: 1.5em;
  color: #fff !important;
  background: #3d405f !important;
  padding: .5em 1em .5em 1em !important;
  text-transform: none; }

.submenu__item li a:hover,
.submenu__item li a.active {
  background: #606279 !important; }

@media screen and (min-width: 320px) {
  .menu__item > li:hover ul.submenu__item {
    display: block; } }

.menu-item-home {
  display: none; }

@media screen and (max-width: 1004px) {
  .menu-item-home {
    display: none; } }

/* Mobiles Menü
-------------------------------------------------- */
.slicknav_btn {
  position: relative;
  display: block;
  vertical-align: middle;
  float: right;
  padding: 0.438em 0.625em 0.438em 0.625em;
  line-height: 1.125em;
  cursor: pointer; }

.slicknav_menu .slicknav_menutxt {
  display: block;
  line-height: 1.188em;
  float: left; }

.slicknav_menu .slicknav_icon {
  float: left;
  margin: 0.188em 0 0 0.438em; }

.slicknav_menu .slicknav_no-text {
  margin: 0; }

.slicknav_menu .slicknav_icon-bar {
  display: block;
  width: 1.125em;
  height: 0.125em;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px; }

.slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar {
  margin-top: 0.188em; }

.slicknav_nav ul,
.slicknav_nav li {
  display: block; }

.slicknav_nav .slicknav_arrow {
  font-size: 0.8em;
  margin: 0 0 0 0.4em; }

.slicknav_nav .slicknav_item {
  cursor: pointer; }

.slicknav_nav .slicknav_row {
  display: block; }

.slicknav_nav a {
  display: block; }

.slicknav_nav .slicknav_item a,
.slicknav_nav .slicknav_parent-link a {
  display: inline; }

.slicknav_menu:before,
.slicknav_menu:after {
  content: " ";
  display: table; }

.slicknav_menu:after {
  clear: both; }

/* IE6/7 support */
.slicknav_menu {
  *zoom: 1; }

/* 
    User Default Style
    Change the following styles to modify the appearance of the menu.
*/
.slicknav_menu {
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  font-size: 1em;
  width: 100%; }

/* Button */
.slicknav_btn {
  position: absolute;
  top: 5px;
  right: 2.5%;
  text-decoration: none;
  cursor: pointer;
  z-index: 10; }

.slicknav_btn.slicknav_open {
  background: url("../images/hamburger_.png") center center no-repeat;
  background-size: 30px 30px; }

.slicknav_btn.slicknav_collapsed {
  background: url("../images/hamburger.png") center center no-repeat;
  background-size: 30px 30px; }

.slicknav_nav {
  background-color: #3d405f;
  opacity: .9;
  display: block; }

.slicknav_nav,
.slicknav_nav ul {
  list-style: none;
  overflow: hidden; }

.slicknav_nav ul {
  padding: 0; }

.slicknav_nav li {
  padding: .25em 3em;
  border-bottom: 1px solid #606279; }

.slicknav_nav li > ul {
  width: 100%;
  position: relative; }

.slicknav_nav li > ul li {
  border-bottom: none;
  padding: 0 !important; }

.slicknav_nav li > ul li a {
  border-bottom: none;
  padding: .5em !important; }

.slicknav_nav a {
  display: block;
  color: #fff;
  text-decoration: none; }

.slicknav_nav a:hover {
  color: #e51762; }

.slicknav_nav .slicknav_item a,
.slicknav_nav .slicknav_parent-link a {
  padding: 0;
  margin: 0; }

.slicknav_menu {
  display: none; }

@media screen and (max-width: 1004px) {
  #menu {
    display: none; }
  .slicknav_menu {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 6; } }

/* Social Links
-------------------------------------------------- */
.social {
  position: absolute;
  left: 2.5%;
  top: 20px; }

.social ul {
  margin-left: -8px; }

.social li {
  float: left;
  list-style: none;
  margin-left: 8px; }

.social li a {
  display: block;
  text-indent: -6000px;
  width: 22px;
  height: 22px; }

.social li a:hover {
  opacity: .5;
  filter: alpha(opacity= "50"); }

.social li a.facebook {
  background: url(../images/facebook.png) no-repeat center center; }

.social li a.xing {
  background: url(../images/xing.png) no-repeat center center; }

/* Tables
-------------------------------------------------- */
table {
  background-color: #f2f2f2;
  font-size: 12px;
  letter-spacing: 0;
  padding: 0;
  margin: 0 0 40px 0;
  border-top: 1px dashed #777;
  border-right: 1px dashed #777;
  border-left: 1px dashed #777; }

th {
  border-bottom: 1px dashed #343758;
  color: #343758;
  text-align: center;
  padding-bottom: 2px; }

td {
  text-align: center;
  border-right: 1px dashed #777;
  border-bottom: 1px dashed #777;
  padding: 2px 10px 2px 10px; }

td:last-child {
  border-right: 0; }

/* Optional: Testimonials
-------------------------------------------------- */
.testimonial {
  overflow: hidden;
  margin-bottom: -40px;
  color: #343758; }

.testimonial figure {
  position: relative;
  float: right;
  margin-right: -30px;
  font-size: 26px;
  padding: 50px 90px 70px 50px;
  max-width: 400px; }

.testimonial figure p {
  position: relative;
  z-index: 1;
  font-style: italic; }

.testimonial figcaption {
  position: relative;
  z-index: 1;
  font-size: 17px;
  text-align: right;
  padding-top: 10px; }

.testimonial figure:before {
  position: absolute;
  content: "";
  background: #fff;
  top: 20px;
  right: 20px;
  bottom: 20px;
  left: 20px;
  z-index: 0;
  -webkit-transform: rotate(-2deg);
  -moz-transform: rotate(-2deg);
  -o-transform: rotate(-2deg);
  -ms-transform: rotate(-2deg);
  transform: rotate(-2deg); }
