/** colors **/
/* fonts */
/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/roboto-v20-latin-regular.eot");
  /* IE9 Compat Modes */
  src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v20-latin-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v20-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v20-latin-regular.woff") format("woff"), url("../fonts/roboto-v20-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v20-latin-regular.svg#Roboto") format("svg");
  /* Legacy iOS */ }
/* roboto-500 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/roboto-v20-latin-500.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-v20-latin-500.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v20-latin-500.woff2") format("woff2"), url("../fonts/roboto-v20-latin-500.woff") format("woff"), url("../fonts/roboto-v20-latin-500.ttf") format("truetype"), url("../fonts/roboto-v20-latin-500.svg#Roboto") format("svg");
  /* Legacy iOS */ }
/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/roboto-v20-latin-700.eot");
  /* IE9 Compat Modes */
  src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v20-latin-700.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v20-latin-700.woff2") format("woff2"), url("../fonts/roboto-v20-latin-700.woff") format("woff"), url("../fonts/roboto-v20-latin-700.ttf") format("truetype"), url("../fonts/roboto-v20-latin-700.svg#Roboto") format("svg");
  /* Legacy iOS */ }
@media (min-width: 768px) {
  .container {
    max-width: 100%; } }
@media (min-width: 1172px) {
  .container {
    max-width: 1172px; } }
/** gutter **/
.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px; }

.row {
  margin-right: -15px;
  margin-left: -15px; }

.row > div[class^="col-"] {
  padding-right: 15px;
  padding-left: 15px; }

body {
  background-color: #fff;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 19px;
  letter-spacing: 0em;
  color: #000000;
  word-wrap: break-word;
  display: flex;
  min-height: 100vh;
  flex-direction: column; }

main {
  margin-top: 65px;
  flex: 1; }

/** video **/
.background-video {
  width: 100%;
  height: 100%;
  pointer-events: none;
  max-width: 100%;
  overflow: hidden;
  background-size: cover;
  background-position: top center;
  top: 0;
  left: 0; }

.background-video video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  max-width: 100%; }

#video {
  background-color: #E4E4E4; }

#video .video-col {
  position: relative;
  min-height: 421px;
  width: 100%; }

@media (max-width: 1172px) {
  .container {
    max-width: 100%; }

  #video .video-col {
    position: relative;
    min-height: 421px;
    width: 100%; }

  #video .row {
    margin-right: -20px;
    margin-left: -20px; }

  #video .row > div[class^="col-"] {
    padding-right: 0px;
    padding-left: 0px; } }
@media (max-width: 767px) {
  #video .row {
    margin-right: -15px;
    margin-left: -15px; } }
@media (max-width: 576px) {
  #video .video-col {
    min-height: 371px; } }
@media (max-width: 480px) {
  #video .video-col {
    min-height: 321px; } }
@media (max-width: 420px) {
  #video .video-col {
    min-height: 321px; } }
@media (max-width: 375px) {
  #video .video-col {
    min-height: 280px; } }
@media (max-width: 320px) {
  #video .video-col {
    min-height: 251px; } }
/** header and navigation **/
/* Icon 1 */
.animated-icon2 {
  width: 24px;
  height: 20px;
  position: relative;
  margin: 0px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer; }

.animated-icon2 span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  border-radius: 7px; }

.animated-icon2 span {
  background: #4b4b4b; }

.animated-icon2 span:nth-child(1) {
  top: 0px; }

.animated-icon2 span:nth-child(2), .animated-icon2 span:nth-child(3) {
  top: 8px; }

.animated-icon2 span:nth-child(4) {
  top: 16px; }

.animated-icon2.open span:nth-child(1) {
  top: 9px;
  width: 0%;
  left: 50%; }

.animated-icon2.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

.animated-icon2.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.animated-icon2.open span:nth-child(4) {
  top: 11px;
  width: 0%;
  left: 50%; }

#mobileNav:focus {
  outline: 0; }

#mainheader {
  position: relative;
  height: 110px;
  z-index: 2;
  -webkit-box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.18);
  -moz-box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.18);
  box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.18);
  transition: height 0.1s ease-in-out; }

#mainheader.sticky {
  position: fixed;
  width: 100%;
  background-color: #FFFFFF;
  height: 65px;
  z-index: 1111111;
  top: 0; }

#mainheader.sticky .mainlogo img {
  height: 35px;
  width: auto; }

#Mainnavbar {
  position: relative; }

#Mainnavbar:before {
  content: '';
  position: absolute;
  height: 5px;
  top: -5px;
  left: -15px;
  right: -15px;
  -webkit-box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.59);
  -moz-box-shadow: 0px 2px 3px -2px rgba(0, 0, 0, 0.59);
  box-shadow: 0px 2px 3px -2px rgba(0, 0, 0, 0.59);
  background: #fff; }

#mainheader .container, #mainheader .row {
  height: 100%; }

#mainheader .navbar {
  padding: 0rem 0rem;
  height: 100%; }

#mainheader .navbar {
  padding: .5rem 0rem; }

#mainheader .mainlogo img {
  height: 65px;
  width: auto;
  transition: height 0.1s ease-in-out; }

#Mainnavbar {
  position: absolute;
  top: 65px;
  left: 0;
  width: 100vw;
  background: #fff;
  right: 0;
  margin-left: -15px;
  margin-right: -15px;
  padding-left: 15px;
  padding-right: 15px;
  -webkit-box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.18);
  -moz-box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.18);
  box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.18); }

#Mainnavbar .nav-item a.nav-link {
  position: relative;
  color: #000000;
  font-size: 16px;
  line-height: 24px;
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 0.8px; }

#Mainnavbar .nav-item a.nav-link:hover, #Mainnavbar .nav-item a.nav-link:active, #Mainnavbar .nav-item a.nav-link:focus, #Mainnavbar .nav-item.active a.nav-link {
  color: #CB0132;
  font-weight: 700; }

h1 {
  font-style: normal;
  font-weight: 700;
  font-size: 26px;
  line-height: 32px;
  color: #CB0132;
  text-transform: uppercase;
  margin-bottom: 0; }

h2 {
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
  line-height: 26px;
  color: #000000;
  margin-bottom: 0; }

h3 {
  font-style: normal;
  font-weight: bold;
  font-size: 18px;
  line-height: 24px;
  color: #000000;
  margin-bottom: 0; }

.graybg {
  background-color: #E4E4E4; }

/** main **/
main a {
  color: #2889D6;
  text-decoration: none; }

main a:hover, main a:focus, main a:active {
  color: #2889D6;
  text-decoration: underline; }

main img {
  max-width: 100%; }

/** frontpage **/
section.frontpage h2 {
  font-style: normal;
  font-weight: 400;
  font-size: 26px;
  line-height: 26px;
  color: #CB0132;
  text-transform: uppercase;
  margin-bottom: 0; }

section.frontpage header {
  padding-bottom: 30px; }

section.frontpage {
  padding-top: 55px;
  padding-bottom: 55px; }

#video.frontpage {
  padding-top: 0;
  padding-bottom: 0; }

/** page **/
section.page {
  padding-top: 55px;
  padding-bottom: 55px; }

section.page .entry-header {
  margin-bottom: 35px; }

/** projekte **/
.projekte-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: 36px 20px; }

.projekte-grid .project-item a {
  color: #000000; }

.projekte-grid a.projektshow {
  cursor: pointer; }

.projekte-grid .project-item a:hover figure figcaption {
  -webkit-transform: rotateX(0deg);
  transform: rotateX(0deg);
  opacity: 1; }

.projekte-grid .project-item a figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  -webkit-perspective: 364px;
  -moz-perspective: 364px;
  perspective: 364px; }

.projekte-grid .project-item a figure:before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%; }

.projekte-grid .project-item a figure figcaption {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 65px;
  background: #FFFFFF;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  opacity: 1;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-origin: center bottom;
  -moz-transform-origin: center bottom;
  transform-origin: center bottom;
  -webkit-transform: rotateX(0deg);
  transform: rotateX(0deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.projekte-grid .project-item a figure figcaption .figcaptiontext {
  width: 100%;
  height: 100%;
  padding: 12px 15px 12px 15px;
  font-size: 20px;
  line-height: 20px;
  font-weight: 500; }

.projekte-grid .project-item a figure figcaption .figcaptiontext div {
  font-size: 16px;
  line-height: 16px;
  font-weight: 400;
  margin-top: 5px; }

.projekte-grid .project-item a figure {
  width: 100%;
  border: 2px solid #8E8E8E; }

.projekte-grid .project-item a figure img {
  width: 100%; }

.project-details {
  max-width: 1000px;
  width: 100%; }

.project-details .project-detail-item {
  margin-bottom: 50px; }

.project-details .project-detail-item figure {
  position: relative;
  margin: 0; }

.project-details .project-detail-item figure:before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  height: 100%;
  width: 100%;
  z-index: 4; }

.project-details .project-detail-item img {
  position: relative;
  max-width: 1000px;
  width: 100%; }

.project-details .project-detail-item article {
  background: #FFFFFF;
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 0px 25px;
  padding: 30px 25px; }

.project-details .project-detail-item article h3 {
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
  color: #000000;
  margin-bottom: 3px; }

.project-details .project-detail-item article ul {
  padding-left: 0;
  margin-bottom: 0; }

.project-details .project-detail-item article ul li {
  margin-left: 1em; }

.project-details .project-detail-item article p:last-child {
  margin-bottom: 0; }

.project-details .leftinfo {
  margin-bottom: 20px; }

.project-details .project-detail-item article .inforow {
  margin-top: 20px; }

a, a:active, a:focus, a:visited {
  color: #2889D6; }

a:hover {
  color: #2889D6;
  text-decoration: underline; }

.project-details .project-detail-item article .inforow:first-child {
  margin-top: 0px; }

.project-details .project-detail-item article .copyrightrow {
  font-size: 11px;
  line-height: 13px;
  color: #8E8E8E;
  padding-top: 20px; }

.project-details .project-detail-item article .copyrightrow ul {
  list-style: none;
  padding-left: 0; }

.project-details .project-detail-item article .copyrightrow ul li {
  margin-left: 0; }

.project-details .project-detail-item video {
  margin: 0;
  outline: none;
  -webkit-box-sizing: unset;
  -moz-box-sizing: unset;
  box-sizing: unset;
  margin-bottom: 0px;
  display: block;
  width: 100%;
  height: auto; }

.project-details .project-detail-item .videoplay {
  background: #FFFFFF;
  position: relative; }

.project-details .project-detail-item .videoplay .video-play-btn {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  display: flex;
  cursor: pointer;
  z-index: 2; }

.project-details .project-detail-item .videoplay .video-play-btn img {
  width: 113px;
  height: auto;
  margin: 0 auto;
  opacity: 0; }

.project-details .project-detail-item .videoplay .video-play-btn.show img {
  opacity: 0.7; }

/** leistungen **/
.leistungen-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: 36px 20px; }

.leistungen-grid .leistung-item {
  position: relative;
  background-color: #FFFFFF;
  margin-top: 20%;
  width: 100%;
  justify-self: center;
  max-width: 364px; }

.leistungen-grid .leistung-item > header {
  position: relative;
  max-width: 140px;
  margin: -70px auto 0 auto; }

.leistungen-grid .leistung-item article {
  padding: 30px; }

.leistungen-grid .leistung-item article > header {
  padding: 0;
  margin-bottom: 20px; }

.leistungen-grid .leistung-item article > header h3 {
  font-size: 20px;
  line-height: 20px;
  font-weight: 500; }

.leistungen-grid .leistung-item article ul {
  padding-left: 0; }

.leistungen-grid .leistung-item article ul li {
  margin-left: 1em; }

.leistungen-grid .leistung-item div.circle {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #E4E4E4;
  border-radius: 50%;
  padding: 25px; }

.leistungen-grid .leistung-item div.circle-outer {
  width: 100%;
  padding-bottom: 100%;
  position: relative; }

/** team **/
.team-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: 0px 20px; }

.team-grid .team-image figure {
  margin: 0; }

.team-grid .team-image img {
  width: 100%;
  height: auto; }

.team-grid .team-info h3 {
  font-size: 20px;
  line-height: 20px;
  font-weight: 500;
  margin: 0; }

.team-grid .team-info ul {
  padding-left: 0; }

.team-grid .team-info ul li {
  margin-left: 1em; }

.team-grid .column-left .team-image figure {
  margin-bottom: 30px; }

.team-grid .column-right .team-image figure {
  margin-bottom: 30px;
  margin-top: 30px; }

.team-grid .column-left {
  border-bottom: 0px solid #000000; }

.team-grid .column-right {
  border-top: 1px solid #000000; }

.team-grid .column-right .team-col {
  display: flex;
  height: 100%;
  flex-wrap: wrap;
  align-content: flex-end; }

.team-grid .column-right .team-image {
  order: 1; }

.team-grid .column-right .team-info {
  order: 2; }

.team-grid .column-left .team-info {
  padding-bottom: 20px; }

/** kontakt **/
#kontakt article p:last-child {
  margin: 0; }

/** footer **/
#mainfooter {
  height: auto;
  -webkit-box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.18);
  -moz-box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.18);
  box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.18);
  padding: 10px 0; }

#mainfooter .container {
  height: 100%; }

#mainfooter .container .row {
  height: 100%; }

#footernav ul {
  display: block; }

#footernav ul li:first-child {
  margin-left: 0px; }

#footernav ul li:lad-child {
  margin-right: 0px; }

#footernav .nav-item {
  margin-left: 0px;
  margin-right: 8px;
  float: left; }

#footernav a.nav-link {
  text-transform: uppercase;
  color: #2889D6;
  position: relative;
  display: block;
  padding: 0;
  font-size: 14px; }

#footernav a.nav-link:hover {
  color: #2889D6;
  text-decoration: underline; }

#footernav.navbar {
  display: block;
  padding: 0; }

#mainfooter .copyright {
  font-size: 14px;
  padding-top: 5px; }

/** backtotop **/
#mainfooter {
  position: relative; }

#backtotop {
  position: fixed;
  bottom: 20px;
  right: 20px; }

#backtotop.bttfixed {
  position: absolute;
  bottom: 80px;
  right: 20px; }

#backtotop a.btt-link {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
  -moz-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
  -ms-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
  -o-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
  transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s; }

#backtotop a.btt-link.show {
  visibility: visible;
  opacity: 0.6; }

#backtotop a.btt-link.show:hover, #backtotop a.btt-link:hover {
  opacity: 1; }

#backtotop img {
  width: 35px;
  height: 35px; }

/** overlay **/
#mj-loading {
  position: fixed;
  bottom: 0;
  right: 0;
  height: 100vh;
  width: 100vw;
  z-index: 10000;
  display: flex;
  justify-content: center;
  display: none; }

#mj-loading svg {
  align-self: center; }

#mjloading {
  -webkit-animation: rotate-90-cw 2.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: rotate-90-cw 2.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation-iteration-count: infinite; }

@-webkit-keyframes rotate-90-cw {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
@keyframes rotate-90-cw {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
#mj-overlay {
  position: fixed;
  background: #8E8E8E;
  opacity: 0.9;
  bottom: 0;
  right: 0;
  height: 100vh;
  width: 100vw;
  z-index: 1000;
  display: none; }

#mj-box {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1001;
  display: none; }

#mj-box .mj-box-inner {
  position: relative;
  height: auto;
  width: 100%;
  max-width: 1000px;
  margin: 65px auto 0; }

#mj-box .mj-close {
  position: fixed;
  top: 75px;
  right: 15px;
  cursor: pointer;
  z-index: 1111111; }

#mj-box .mj-close img {
  width: 44px;
  -webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.75);
  border-radius: 100%; }

#mj-box .mj-up {
  position: fixed;
  bottom: 15px;
  right: 15px;
  cursor: pointer;
  opacity: 0;
  -webkit-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
  -moz-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
  -ms-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
  -o-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
  transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
  z-index: 1111111; }

#mj-box .mj-up.show {
  opacity: 1; }

#mj-box .mj-up img {
  width: 44px;
  -webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.75);
  border-radius: 100%; }

/** media queries **/
@media (min-width: 576px) {
  .projekte-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 36px 20px; }

  .leistungen-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column: 1 / -1;
    grid-gap: 0px 20px; }

  .leistungen-grid .leistung-item:last-child {
    grid-column: span 2;
    margin-top: 15%; }

  .leistungen-grid .leistung-item {
    max-width: calc(100vw / 2); }

  .team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 0px 20px; }

  .team-grid .column-left .team-image figure {
    margin-bottom: 30px; }

  .team-grid .column-right .team-image figure {
    margin-bottom: 0px;
    margin-top: 0px; }

  .team-grid .column-left {
    border-bottom: 1px solid #000000; }

  .team-grid .column-right {
    border-top: 1px solid #000000; }

  .team-grid .column-right .team-col {
    display: flex;
    height: 100%;
    flex-wrap: wrap;
    align-content: flex-end; }

  .team-grid .column-right .team-image {
    order: 2; }

  .team-grid .column-right .team-info {
    order: 1; }

  .team-grid .column-left .team-info {
    padding-bottom: 20px; }

  #backtotop img {
    width: 50px;
    height: 50px; }

  #backtotop.bttfixed {
    position: absolute;
    bottom: 80px;
    right: 20px; }

  .projekte-grid .project-item:last-child {
    grid-column: span 2;
    max-width: 50%;
    margin: 0 auto; } }
@media (min-width: 768px) {
  #Mainnavbar:before {
    display: none; }

  main {
    margin-top: 110px; }

  .admin-bar main {
    margin-top: 78px; }

  .project-details .leftinfo {
    margin-bottom: 0px; }

  .project-details .project-detail-item article {
    background: #FFFFFF;
    display: grid;
    grid-template-columns: 65% auto;
    grid-gap: 0px 25px;
    padding: 30px 25px; }

  .projekte-grid .project-item a figure figcaption {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 65px;
    background: #FFFFFF;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    opacity: 0;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-origin: center bottom;
    -moz-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-transform: rotateX(120deg);
    transform: rotateX(120deg);
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d; }

  .projekte-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 36px 20px; }

  .leistungen-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 0px 20px; }

  .leistungen-grid .leistung-item {
    max-width: 364px; }

  .leistungen-grid .leistung-item:last-child {
    grid-column: span 2;
    margin-top: 15%; }

  .container {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px; }

  .row {
    margin-right: -20px;
    margin-left: -20px; }

  .row > div[class^="col-"] {
    padding-right: 20px;
    padding-left: 20px; }

  #mainheader.sticky {
    position: fixed;
    width: 100%;
    background-color: #FFFFFF;
    height: 110px;
    z-index: 1111111;
    top: 0; }

  #mainheader.sticky .mainlogo img {
    height: 65px;
    width: auto; }

  #Mainnavbar {
    position: relative;
    top: unset;
    left: unset;
    width: unset;
    background: unset;
    right: unset;
    margin-left: unset;
    margin-right: unset;
    padding-left: unset;
    padding-right: unset;
    -webkit-box-shadow: unset;
    -moz-box-shadow: unset;
    box-shadow: unset; }

  #Mainnavbar .nav-item {
    margin-left: 49px; }

  #Mainnavbar .nav-item a.nav-link {
    position: relative;
    color: #000000;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    font-weight: 400;
    padding: 14px 0 14px 0;
    line-height: 1; }

  #Mainnavbar .nav-item a.nav-link:before {
    display: block;
    content: attr(name);
    font-weight: bold;
    visibility: hidden;
    overflow: hidden;
    height: 0px; }

  #Mainnavbar .nav-item a.nav-link:after {
    bottom: 0;
    content: "";
    display: block;
    height: 2px;
    left: 50%;
    position: absolute;
    background: #CB0132;
    transition: width .3s ease 0s,left .3s ease 0s;
    width: 0px; }

  #Mainnavbar .nav-item a.nav-link:hover:after {
    width: 100%;
    left: 0; }

  #Mainnavbar .nav-item a.nav-link:hover {
    font-weight: 700;
    color: #CB0132; }

  #Mainnavbar .nav-item.active a.nav-link:after {
    bottom: 0;
    content: "";
    display: block;
    height: 2px;
    position: absolute;
    background: #CB0132;
    transition: width .3s ease 0s,left .3s ease 0s;
    width: 100%;
    left: 0; }

  #Mainnavbar .nav-item.active a.nav-link {
    font-weight: 700;
    color: #CB0132; }

  #mainfooter {
    height: 110px;
    -webkit-box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.18);
    -moz-box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.18);
    box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.18);
    padding: 0; }

  #footernav.navbar {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: .5rem 0rem; }

  #footernav ul li:first-child {
    margin-right: 23px; }

  #footernav .nav-item {
    margin-left: 53px;
    margin-right: 0px;
    float: none; }

  #footernav ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row; }

  #footernav ul li:first-child a:after {
    content: '';
    position: absolute;
    margin-left: 5px;
    bottom: 8px;
    width: 20px;
    height: 20px;
    background: url(../img/Acrobat.svg); }

  #footernav ul {
    display: flex;
    margin-left: 0; }

  #footernav a.nav-link {
    text-transform: uppercase;
    color: #2889D6;
    position: relative;
    display: block;
    padding: .5rem 1rem;
    font-size: 16px; }

  #footernav a.nav-link {
    padding: .5rem 0rem .5rem 0rem; }

  #mainfooter .copyright {
    font-size: 16px;
    padding-top: 0px; }

  #backtotop img {
    width: 64px;
    height: 64px; }

  #backtotop {
    position: fixed;
    bottom: 50px;
    right: 50px; }

  #backtotop.bttfixed {
    position: absolute;
    bottom: 160px;
    right: 50px; }

  #mj-box .mj-box-inner {
    position: relative;
    height: auto;
    width: 100%;
    max-width: 1000px;
    margin: 110px auto 0; }

  #mj-box .mj-close {
    position: fixed;
    top: 131px;
    right: 15px;
    cursor: pointer;
    z-index: 1111111; }

  #mj-box .mj-close img {
    width: 64px; }

  #mj-box .mj-up {
    position: fixed;
    bottom: 50px;
    right: 15px;
    cursor: pointer;
    opacity: 0;
    -webkit-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    -moz-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    -ms-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    -o-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    z-index: 1111111; }

  #mj-box .mj-up.show {
    opacity: 1; }

  #mj-box .mj-up img {
    width: 64px; } }
@media (min-width: 800px) {
  .leistungen-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 0px 20px; }

  .leistungen-grid .leistung-item:last-child {
    grid-column: span 1;
    margin-top: 20%; }

  .leistungen-grid .leistung-item {
    max-width: 364px; } }
@media (min-width: 992px) {
  .projekte-grid .project-item:last-child {
    grid-column: span 1;
    max-width: unset;
    margin: unset; }

  .projekte-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 36px 20px; }

  .leistungen-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 0px 20px; }

  .leistungen-grid .leistung-item:last-child {
    grid-column: span 1;
    margin-top: 20%; }

  .leistungen-grid .leistung-item {
    max-width: 364px; }

  #mainfooter .copyright {
    padding-right: 0px;
    text-align: left; }

  #footernav ul {
    display: flex;
    margin-left: auto; }

  #footernav.navbar {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: .5rem 0rem; } }
@media (min-width: 1200px) {
  #mj-box .mj-box-inner {
    position: relative;
    height: auto;
    width: 100%;
    max-width: 1000px;
    margin: 110px auto 0; }

  #mj-box .mj-close {
    position: fixed;
    top: 131px;
    right: 15px;
    cursor: pointer;
    z-index: 1111111; }

  #mj-box .mj-close img {
    width: 64px; }

  #mj-box .mj-up {
    position: fixed;
    bottom: 50px;
    right: 15px;
    cursor: pointer;
    opacity: 0;
    -webkit-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    -moz-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    -ms-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    -o-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    z-index: 1111111; }

  #mj-box .mj-up.show {
    opacity: 1; }

  #mj-box .mj-up img {
    width: 64px; } }
@media (min-width: 1360px) {
  #mj-box .mj-box-inner {
    position: relative;
    height: auto;
    width: 100%;
    max-width: 1000px;
    margin: 110px auto 0; }

  #mj-box .mj-close {
    position: fixed;
    top: 131px;
    right: calc((100vw - 1172px)/2 - 96px);
    cursor: pointer;
    z-index: 1111111; }

  #mj-box .mj-close img {
    width: 64px; }

  #mj-box .mj-up {
    position: fixed;
    bottom: 50px;
    right: calc((100vw - 1172px)/2 - 96px);
    cursor: pointer;
    opacity: 0;
    -webkit-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    -moz-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    -ms-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    -o-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    z-index: 1111111; }

  #mj-box .mj-up.show {
    opacity: 1; }

  #mj-box .mj-up img {
    width: 64px; } }
@media (min-width: 1400px) {
  #backtotop {
    position: fixed;
    bottom: 50px;
    right: calc((100vw - 1172px)/2 - 96px); }

  #backtotop.bttfixed {
    position: absolute;
    bottom: 160px;
    right: calc((100vw - 1172px)/2 - 96px); }

  #backtotop a.btt-link {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    -moz-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    -ms-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    -o-transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s;
    transition: all 0.2s ease-in-out, top 0s, left 0s, bottom 0s, width 0s, height 0s; }

  #backtotop a.btt-link.show {
    visibility: visible;
    opacity: 1; }

  #backtotop img {
    width: 64px;
    height: 64px; } }
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) {
  .projekte-grid .project-item a figure figcaption {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 65px;
    background: #FFFFFF;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    opacity: 1;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-origin: center bottom;
    -moz-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-transform: rotateX(0deg);
    transform: rotateX(0deg);
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d; } }
@media only screen and (min-device-width: 768px) and (max-device-width: 1366px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) {
  .projekte-grid .project-item a figure figcaption {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 65px;
    background: #FFFFFF;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    opacity: 1;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-origin: center bottom;
    -moz-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-transform: rotateX(0deg);
    transform: rotateX(0deg);
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d; } }
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2) {
  .projekte-grid .project-item a figure figcaption {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 65px;
    background: #FFFFFF;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    opacity: 1;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-origin: center bottom;
    -moz-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-transform: rotateX(0deg);
    transform: rotateX(0deg);
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d; } }

/*# sourceMappingURL=style.css.map */
