@import 'normalize.min.css';
@import 'hamburgers.min.css';
@import 'fonts.css';
body {
  font-family: "Maven Pro", sans-serif, arial;
  font-weight: 400;
}
body.page-template-default .header-hamburger {
  display: none !important;
}

p, ul {
  font-size: 1.15rem;
  line-height: 2rem;
}
@media screen and (min-width: 1200px) {
  p, ul {
    font-size: 1.45rem;
    line-height: 2.65rem;
  }
}

* {
  box-sizing: border-box;
}

h1, h2 {
  font-size: 1.75rem;
}
@media screen and (min-width: 370px) {
  h1, h2 {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 1200px) {
  h1, h2 {
    font-size: 3.25rem;
  }
}
h1 span, h2 span {
  font-weight: 200;
  color: #1D6295;
  display: none;
}
@media screen and (min-width: 480px) {
  h1 span, h2 span {
    display: inline-block;
  }
}

h3 {
  font-size: 1.5rem;
  line-height: 2.15rem;
}
@media screen and (min-width: 767px) {
  h3 {
    font-size: 1.825rem;
    line-height: 2.5rem;
  }
}

input, textarea {
  width: 100%;
  max-width: 100%;
}

.dscf7captcha input {
  margin-top: 1rem;
}

.dscf7_captcha_icon {
  max-width: 20px;
  margin-bottom: -4px;
}

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

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

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

.container {
  max-width: 1738px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding: 0 1rem;
}
@media screen and (min-width: 767px) {
  .container {
    padding: 0 2rem;
  }
}

.btn {
  display: inline-block;
  padding: 5px 10px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
}
.btn.standard {
  background-color: #1D6295;
  color: #ffffff;
  transition: 0.2s ease-in-out;
}
.btn.standard:hover {
  background-color: #ffffff;
  color: #1D6295;
}
.btn.secondary {
  background-color: #ffffff;
  color: #1D6295;
  transition: 0.2s ease-in-out;
}
.btn.secondary:hover {
  background-color: #1D6295;
  color: #ffffff;
}

#intro {
  height: 100vh;
  width: 100%;
  background-color: #ffffff;
  position: relative;
  padding: 0;
}
#intro .swiper-button-prev, #intro .swiper-button-next {
  background-color: #1D6295;
  opacity: 1;
  transition: 0.2s ease-in-out;
  height: 45px;
  width: 24px;
}
#intro .swiper-button-prev:after, #intro .swiper-button-next:after {
  font-size: 1rem;
}
@media screen and (min-width: 992px) {
  #intro .swiper-button-prev:after, #intro .swiper-button-next:after {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 992px) {
  #intro .swiper-button-prev, #intro .swiper-button-next {
    height: 82px;
    width: 63px;
  }
}
#intro .swiper-button-prev:after, #intro .swiper-button-next:after {
  color: #ffffff;
}
#intro .swiper-button-prev:hover, #intro .swiper-button-next:hover {
  opacity: 0.8;
}
#intro .swiper-button-prev {
  left: 0;
}
#intro .swiper-button-next {
  right: 0;
}
#intro .swiper-slide {
  height: 100vh;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
#intro .caption {
  max-width: 700px;
  margin: 0 auto;
  left: 0;
  right: 0;
  position: absolute;
  bottom: 30px;
}
#intro .caption .caption-inner {
  background-color: #dfe1de;
  padding: 2rem;
}
#intro .caption .caption-inner .btn {
  font-weight: 500;
}
@media screen and (min-width: 992px) {
  #intro .caption .caption-inner .btn {
    font-size: 1.5rem;
  }
}
#intro .caption .caption-inner h2 {
  margin: 0;
  font-weight: 600;
  margin-bottom: 1rem;
}
@media screen and (min-width: 480px) {
	#intro .caption .caption-inner h2 {
		padding-right: 100px;
	}
}
@media screen and (min-width: 480px) {
  #intro .caption .caption-inner .caption-action {
    position: absolute;
    width: 100%;
    right: 0;
    bottom: 0;
    text-align: right;
    padding: 3.25rem 2rem;
  }
}

.img-responsive {
  display: block;
  width: 100%;
  object-fit: cover;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1rem;
}
.row.justify-center {
  justify-content: center;
}
.row.justify-between {
  justify-content: space-between;
}
.row.align-center {
  align-items: center;
}
.row .half {
  width: 100%;
  flex: 0 0 100%;
  padding: 0 1rem;
}
@media screen and (min-width: 767px) {
  .row .half {
    width: 50%;
    flex: 0 0 50%;
  }
}
.row .flex {
  flex: 1;
  padding: 0 1rem;
}

.headline h1, .headline h2 {
  margin: 0;
}

main section {
  padding: 55px 0;
}

.select-service-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 4rem -1rem;
}
.select-service-wrapper .select-service-item {
  padding: 0 1rem;
}
.select-service-wrapper .select-service-item .select-trigger {
  background-color: #ffffff;
  color: #0C0C0C;
  border: 0 none;
  padding: 7px;
  font-weight: 500;
  border-bottom: 5px solid transparent;
  font-size: 1.45rem;
  line-height: 2rem;
  cursor: pointer;
}
.select-service-wrapper .select-service-item .select-trigger:hover, .select-service-wrapper .select-service-item .select-trigger.active {
  border-bottom: 5px solid #1D6295;
  color: #1D6295;
}
.select-service-wrapper .select-service-item .select-trigger.active {
  cursor: initial;
}

.select-description-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  position: relative;
  max-width: 400px;
}
@media screen and (min-width: 1200px) {
  .select-description-wrapper {
    max-width: 100%;
    margin: 0 auto;
    flex-wrap: nowrap;
  }
}
.select-description-wrapper:after {
  display: block;
  content: "";
  height: 100%;
  width: 1px;
  top: 0;
  border-right: 1px dotted #707070;
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  z-index: 1;
}
@media screen and (min-width: 1200px) {
  .select-description-wrapper:after {
    top: 50%;
    transform: translateY(-50%) rotate(0);
    width: calc(100% - 4rem);
    height: 1px;
    border-top: 1px dotted #707070;
  }
}
.select-description-wrapper .select-description-button {
  flex: 0 0 100%;
  padding: 0 2rem;
  z-index: 2;
  margin-top: 1.5rem;
  position: relative;
}
@media screen and (min-width: 1200px) {
  .select-description-wrapper .select-description-button {
    padding: 0 1rem;
  }
}
@media screen and (min-width: 1600px) {
  .select-description-wrapper .select-description-button {
    padding: 0 2rem;
  }
}
@media screen and (min-width: 1200px) {
  .select-description-wrapper .select-description-button.active:after {
    background-color: #DFE1DE;
    content: "";
    display: block;
    position: absolute;
    bottom: -3rem;
    height: 51px;
    width: 51px;
    margin: 0 auto;
    left: 0;
    right: 0;
    margin-bottom: -26px;
    transform: rotate(45deg);
    z-index: -1;
  }
}
.select-description-wrapper .select-description-button:first-child {
  margin-top: 0;
}
@media screen and (min-width: 1200px) {
  .select-description-wrapper .select-description-button {
    flex: 1;
    margin-top: 0;
  }
}
.select-description-wrapper .select-description-button button {
  border: 4px solid #1D6295;
  background-color: #ffffff;
  color: #0C0C0C;
  width: 100%;
  min-height: 55px;
  transition: 0.2s ease-in-out;
  font-size: 1.15rem;
  line-height: 2rem;
  font-weight: 500;
  cursor: pointer;
}
@media screen and (min-width: 1200px) {
  .select-description-wrapper .select-description-button button {
    font-size: 1.45rem;
    line-height: 2rem;
  }
}
.select-description-wrapper .select-description-button button:not(.active).animation {
  box-shadow: 0 0 0 0 #1D6295;
  transform: scale(1);
  animation: pulse 2s 3;
}
@media screen and (min-width: 767px) {
  .select-description-wrapper .select-description-button button {
    min-height: 106px;
  }
}
.select-description-wrapper .select-description-button button:hover, .select-description-wrapper .select-description-button button.active {
  background-color: #1D6295;
  color: #ffffff;
}

.select-description-text {
  background-color: #DFE1DE;
  padding: 1rem 2rem;
  display: none;
  margin-top: 3rem;
}
.select-description-text#text-0 {
  display: block;
}

#mobile-menu {
  background-color: #ffffff;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  padding: 1.5rem;
  display: none;
}
@media screen and (min-width: 767px) {
  #mobile-menu {
    display: none !important;
  }
}
#mobile-menu .mobile-menu-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
}
#mobile-menu .mobile-menu-inner ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  list-style: none;
}
#mobile-menu .mobile-menu-inner ul li {
  margin: 0.45rem 0;
}
#mobile-menu .mobile-menu-inner ul li a {
  background-color: #ffffff;
  color: #0C0C0C;
  font-weight: 500;
  text-decoration: none;
  font-size: 2rem;
  line-height: 2.25rem;
  padding-left: 5px;
  padding-right: 5px;
}
#mobile-menu .mobile-menu-inner ul li a:hover {
  background-color: #1D6295;
  color: #ffffff;
}

#header {
  position: fixed;
  width: 100%;
  background-color: #ffffff;
  z-index: 999;
  padding: 1rem 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  top: 0;
}
@media screen and (min-width: 767px) {
  #header .header-hamburger {
    display: none;
  }
}
#header .header-logo {
  display: flex;
  align-items: center;
}
#header .header-logo img {
  max-width: 120px;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 992px) {
  #header .header-logo img {
    max-width: 197px;
  }
}
#header .header-logo .btn {
  margin-left: 2rem;
}
#header .header-logo .menu-hauptmenue-container {
  margin-left: 1.5rem;
  display: none;
}
@media screen and (min-width: 767px) {
  #header .header-logo .menu-hauptmenue-container {
    display: block;
  }
}
#header .header-logo .menu-hauptmenue-container ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  margin: 0 -0.5rem;
}
#header .header-logo .menu-hauptmenue-container ul li {
  padding: 0 0.5rem;
}
#header .header-logo .menu-hauptmenue-container ul li.active a {
  background-color: #1D6295;
  color: #ffffff;
}
#header .header-logo .menu-hauptmenue-container ul li a {
  padding: 2px 7px;
  text-decoration: none;
  font-weight: 500;
  background-color: #ffffff;
  color: #1D6295;
  font-size: 1.15rem;
}
@media screen and (min-width: 1200px) {
  #header .header-logo .menu-hauptmenue-container ul li a {
    font-size: 1.45rem;
  }
}
#header .header-logo .menu-hauptmenue-container ul li a:hover {
  background-color: #1D6295;
  color: #ffffff;
}

#kiProjekte .service-wrapper ul li {
  background: url("../images/add-circle-white.svg") no-repeat left 8px;
}

.service-wrapper {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1rem;
  margin-top: 4rem;
}
.service-wrapper .service-item {
  width: 100%;
  padding: 0 1rem;
  margin-top: 2rem;
}
.service-wrapper .service-item:first-child {
  margin-top: 0;
}
@media screen and (min-width: 767px) {
  .service-wrapper .service-item {
    flex: 1;
    margin-top: 0;
  }
}
@media screen and (min-width: 992px) {
  .service-wrapper .service-item {
    flex: 0 0 100%;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 1200px) {
  .service-wrapper .service-item {
    flex: 1;
    margin-top: 0;
  }
}
.service-wrapper .service-item .service-inner {
  background-color: #ffffff;
  color: #0C0C0C;
  padding: 2rem;
  height: 100%;
}
.service-wrapper .service-item .service-inner ul {
  padding: 0;
}
.service-wrapper .service-item .service-inner ul li {
  font-size: 1.15rem;
  line-height: 2rem;
  list-style-type: none;
  background: url("../images/add-circle.svg") no-repeat left 8px;
  padding-left: 2.5rem;
}
@media screen and (min-width: 992px) {
  .service-wrapper .service-item .service-inner ul li {
    font-size: 1.75rem;
    line-height: 2.5rem;
  }
}
.service-wrapper .service-item .service-inner h4 {
  margin: 0;
  font-size: 1.5rem;
}
@media screen and (min-width: 992px) {
  .service-wrapper .service-item .service-inner h4 {
    font-size: 2.75rem;
  }
}

.team-description {
  display: none;
}
.team-description .team-description-inner {
  background-color: #DFE1DE;
  padding: 0.5rem 2rem;
  max-width: 1408px;
  margin: 0 auto;
}

#page {
  margin-top: 90px;
}
@media screen and (min-width: 767px) {
  #page {
    margin-top: 60px;
  }
}
@media screen and (min-width: 992px) {
  #page {
    margin-top: 65px;
  }
}

#focus {
  padding-bottom: 0;
  margin-bottom: -78px;
  position: relative;
  z-index: 2;
}
#focus .headline {
  margin-bottom: 2rem;
}
@media screen and (min-width: 767px) {
  #focus .headline {
    margin-bottom: 4rem;
  }
}

#praxis {
  padding: 2rem 0;
  position: relative;
  z-index: 1;
  padding-top: 120px;
}
#praxis:after {
  background-color: rgba(223, 225, 222, 0.85);
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  content: "";
  display: block;
  z-index: 1;
}
#praxis .container {
  z-index: 2;
}

.focus-wrapper {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1rem;
}
.focus-wrapper .focus-item {
  flex: 0 0 50%;
  width: 100%;
  padding: 0 1rem;
  margin-top: 2rem;
}
.focus-wrapper .focus-item:nth-child(-n+2) {
  margin-top: 0;
}
@media screen and (min-width: 767px) {
  .focus-wrapper .focus-item {
    flex: 0 0 33.3333%;
    width: 33.3333%;
    width: auto;
  }
  .focus-wrapper .focus-item:nth-child(-n+3) {
    margin-top: 0;
  }
}
@media screen and (min-width: 1200px) {
  .focus-wrapper .focus-item {
    flex: 1;
    margin-top: 0;
  }
}
.focus-wrapper .focus-item .focus-inner {
  background-color: #1D6295;
  color: #ffffff;
  text-align: center;
  font-weight: 600;
  min-height: 150px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 0.875rem;
  padding: 0.5rem;
}
@media screen and (min-width: 350px) {
  .focus-wrapper .focus-item .focus-inner {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1400px) {
  .focus-wrapper .focus-item .focus-inner {
    min-height: 277px;
    font-size: 2rem;
  }
}

#focus .focusContainer {
  padding: 0 1rem;
}

#kiStrategie {
  background-color: #1D6295;
  color: #ffffff;
  padding: 90px 0;
}

#kiProjekte {
  background-color: #ffffff;
  color: #0C0C0C;
}
#kiProjekte .service-wrapper .service-item .service-inner {
  background-color: #1D6295;
  color: #ffffff;
}

#text .row {
  flex-direction: column-reverse;
}
@media screen and (min-width: 767px) {
  #text .row {
    flex-direction: row;
  }
}
#text .row .flex {
  flex: 0 0 100%;
}
@media screen and (min-width: 767px) {
  #text .row .flex {
    flex: 1;
  }
}

#kontakt {
  background: #1D6295;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #ffffff;
  position: relative;
}
#kontakt:before {
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: rgba(29, 98, 149, 0.79);
  z-index: 1;
  content: "";
  display: block;
  top: 0;
}
#kontakt a {
  color: #ffffff;
}
#kontakt .container {
  z-index: 2;
}
#kontakt h2 {
  text-align: center;
  margin: 0 auto;
  margin-bottom: 2rem;
}
@media screen and (min-width: 767px) {
  #kontakt h2 {
    max-width: 60%;
    margin-bottom: 3rem;
  }
}
#kontakt form {
  margin: 0 auto;
  max-width: 880px;
}
#kontakt form input, #kontakt form textarea {
  width: 100% !important;
  border: 0 none;
  padding: 1rem;
  border-radius: 0;
}
#kontakt form input.btn, #kontakt form textarea.btn {
  width: auto !important;
  font-size: 1.25rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media screen and (min-width: 992px) {
  #kontakt form input.btn, #kontakt form textarea.btn {
    font-size: 1.5rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
#kontakt form p {
  font-size: 0.875rem;
  line-height: 1.15rem;
}
#kontakt form p:last-of-type {
  text-align: center;
}
#kontakt form .btn {
  font-weight: bold;
}

#implementierung {
  display: none;
}

#footer {
  padding: 2rem 0;
}
#footer .row > * {
  flex: 1;
}
#footer .row > *:last-child {
  text-align: right;
}
#footer .footer-menu {
  margin: 2rem 0;
}
@media screen and (min-width: 767px) {
  #footer .footer-menu {
    margin: 0;
  }
}
#footer .footer-logo {
  flex: 0 0 100%;
  text-align: center;
}
@media screen and (min-width: 767px) {
  #footer .footer-logo {
    flex: 1;
    text-align: left;
  }
}
#footer .footer-logo img {
  max-width: 197px;
  width: 100%;
}
#footer .footer-copyright {
  flex: 0 0 100%;
  text-align: center !important;
}
@media screen and (min-width: 767px) {
  #footer .footer-copyright {
    flex: 1;
    text-align: right;
  }
}
#footer .footer-copyright a {
  color: #0C0C0C;
  text-decoration: none;
}
#footer .footer-copyright a:hover {
  text-decoration: underline;
}
#footer ul li {
  padding: 0 0.75rem 0 0.25rem;
  position: relative;
}
#footer ul li:after {
  content: "|";
  position: absolute;
  right: 0;
}
#footer ul li:last-child:after {
  display: none;
}
#footer ul li a {
  text-decoration: none;
  color: #0C0C0C;
}
#footer ul li a:hover {
  text-decoration: underline;
}

.team-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0 -1rem;
  margin-bottom: 2rem;
  margin-top: 2rem;
}
@media screen and (min-width: 767px) {
  .team-wrapper {
    margin-top: 4rem;
    margin-bottom: 3rem;
  }
}
.team-wrapper .team-item {
  flex: 0 0 33.3333%;
  width: 33.3333%;
  text-align: center;
  padding: 0 1rem;
  position: relative;
  margin-top: 1rem;
}
.team-wrapper .team-item:nth-child(-n+3) {
	margin-top: 0;
}
.team-wrapper .team-item.active:after {
  background-color: #DFE1DE;
  content: "";
  display: none;
  position: absolute;
  bottom: -3rem;
  height: 51px;
  width: 51px;
  margin: 0 auto;
  left: 0;
  right: 0;
  margin-bottom: -26px;
  transform: rotate(45deg);
  z-index: -1;
}
@media screen and (min-width: 1332px) {
	.team-wrapper .team-item.active:after {
		display: block;
	}
}
@media screen and (min-width: 767px) {
  .team-wrapper .team-item {
    flex: 1;
  }
}
.team-wrapper .team-item a {
  text-decoration: none;
}
.team-wrapper .team-item img {
  border-radius: 100%;
}
.team-wrapper .team-item .team-name {
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  color: #0C0C0C;
  margin-top: 1rem;
}
@media screen and (min-width: 767px) {
  .team-wrapper .team-item .team-name {
    font-size: 2.5rem;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 767px) {
  .team-wrapper .team-item .img-responsive {
    margin: 0 auto;
    width: auto;
  }
}

.footer-menu nav ul {
  padding: 0;
  margin: 0;
  display: flex;
  list-style: none;
  justify-content: center;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(29, 98, 149, 0.7);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(29, 98, 149, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(29, 98, 149, 0);
  }
}

/*# sourceMappingURL=style.css.map */
