@charset "UTF-8";
body {
  margin: 0px;
  padding: 0px; }

body, td, input[type=text], textarea {
  font-family: "Segoe UI", "Arial";
  font-weight: normal;
  font-size: 90%;
  line-height: 1.8em;
  color: #777; }

h1, h2, h3, h4, h5 {
  font-weight: normal; }

img {
  max-width: 100%; }

a {
  text-decoration: none;
  color: #555; }

ul, li {
  margin: 0px;
  padding: 0px;
  list-style: none; }

.masthead {
  background-color: #FFF; }
  .masthead.masthead-fixed {
    position: fixed;
    margin: 0;
    padding-top: 20px;
    padding-left: 20px;
    left: 0;
    top: 0;
    height: 80px;
    width: calc(100% - 20px);
    z-index: 1001;
    -webkit-box-shadow: 0px 0 20px 0 rgba(0, 0, 0, 0.09);
    -moz-box-shadow: 0px 0 20px 0 rgba(0, 0, 0, 0.09);
    box-shadow: 0px 0 20px 0 rgba(0, 0, 0, 0.09); }
  .masthead.masthead-hiding {
    position: relative;
    padding: 16px 0 10px 0;
    border-radius: 0 0 30px 30px;
    z-index: 1000;
    margin: 0;
    height: 52px;
    width: 100%;
    top: 99px;
    -webkit-box-shadow: 0px 20px 30px -12px rgba(0, 0, 0, 0.09);
    -moz-box-shadow: 0px 20px 30px -12px rgba(0, 0, 0, 0.09);
    box-shadow: 0px 20px 30px -12px rgba(0, 0, 0, 0.09); }
    @media only screen and (max-width: 640px) {
      .masthead.masthead-hiding {
        display: none; } }
  .masthead .masthead-logo {
    display: block;
    width: fit-content; }
    .masthead .masthead-logo h1, .masthead .masthead-logo h2 {
      margin: 0px; }
      @media only screen and (max-width: 640px) {
        .masthead .masthead-logo h1, .masthead .masthead-logo h2 {
          font-size: 4.2vw; } }
    .masthead .masthead-logo span {
      font-weight: normal; }
    .masthead .masthead-logo h1 {
      color: #4e96e7;
      text-transform: uppercase; }
      @media only screen and (max-width: 640px) {
        .masthead .masthead-logo h1 {
          font-size: 5.5vw;
          margin-bottom: -6px; } }
    .masthead .masthead-logo h2 {
      font-size: 20px; }
  .masthead .masthead-nav {
    text-align: center; }
    .masthead .masthead-nav li {
      display: inline-block;
      padding: 0px 12px; }
      @media only screen and (max-width: 640px) {
        .masthead .masthead-nav li {
          padding: 0 8px; } }
      .masthead .masthead-nav li.current a, .masthead .masthead-nav li.current i, .masthead .masthead-nav li:hover a, .masthead .masthead-nav li:hover i {
        color: #4e96e7; }
      .masthead .masthead-nav li i {
        display: block;
        margin: 0px;
        color: #777; }
  .masthead .masthead-telephone {
    position: absolute;
    right: 40px;
    top: 35px;
    font-size: 22px;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    color: #4e96e7; }
    @media only screen and (max-width: 640px) {
      .masthead .masthead-telephone {
        display: none; } }
    .masthead .masthead-telephone.more-left {
      right: 90px; }
    .masthead .masthead-telephone i {
      position: relative;
      bottom: -5px; }
  .masthead .masthead-menu {
    position: absolute;
    right: -40px;
    top: 25px;
    cursor: pointer;
    font-size: 40px;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    user-select: none; }
    @media only screen and (max-width: 640px) {
      .masthead .masthead-menu {
        right: 15px !important;
        top: 15px; } }
    .masthead .masthead-menu.more-left {
      right: 30px; }
    .masthead .masthead-menu::after {
      content: "Menü";
      font-family: "Segoe UI", "Arial";
      position: relative;
      left: 2px;
      text-transform: uppercase;
      display: block;
      font-size: 12px; }

.side-nav {
  width: 250px;
  height: calc(100vh - 100px);
  z-index: 1000;
  background: #FFF;
  position: fixed;
  top: 90px;
  right: 0px;
  -webkit-transition: right 0.1s;
  transition: right 0.1s;
  -webkit-box-shadow: 0px 0 20px 0 rgba(0, 0, 0, 0.09);
  -moz-box-shadow: 0px 0 20px 0 rgba(0, 0, 0, 0.09);
  box-shadow: 0px 0 20px 0 rgba(0, 0, 0, 0.09); }
  .side-nav.side-nav-hidden {
    right: -260px; }
  .side-nav:focus-within {
    right: 0; }
  .side-nav li {
    margin: 26px;
    text-align: right;
    font-size: 18px; }
    .side-nav li.current a, .side-nav li.current i, .side-nav li:hover a, .side-nav li:hover i {
      color: #4e96e7; }
  .side-nav a {
    color: #777; }
  .side-nav i {
    position: relative;
    left: 2px;
    bottom: -5px; }

.breadcrumbs {
  margin-top: calc(100px + 20px);
  margin-left: 20px; }
  .breadcrumbs span:after {
    content: ">";
    color: #BBB;
    padding-left: 6px;
    padding-right: 6px; }

.tabs {
  text-align: center;
  width: 88%;
  margin: 0 auto;
  padding: calc(26px * 2); }
  @media only screen and (max-width: 640px) {
    .tabs {
      padding: 0;
      width: auto; } }
  @media only screen and (min-width: 641px) and (max-width: 1050px) {
    .tabs {
      margin: calc(26px * 2);
      width: auto;
      padding: 0;
      border-radius: 20px;
      overflow: hidden;
      -webkit-box-shadow: 0px 20px 30px 0px rgba(0, 0, 0, 0.09);
      -moz-box-shadow: 0px 20px 30px 0px rgba(0, 0, 0, 0.09);
      box-shadow: 0px 20px 30px 0px rgba(0, 0, 0, 0.09); } }
  .tabs .set-tab {
    display: inline-block;
    position: relative;
    bottom: -4px;
    font-size: 18px;
    margin: 0px 16px;
    padding: 12px 24px;
    cursor: pointer;
    text-align: center;
    -webkit-transition: color 0.2s;
    transition: color 0.2s; }
    @media only screen and (max-width: 640px) {
      .tabs .set-tab {
        margin: 0;
        border-radius: 0;
        background: #FFF;
        padding: 12px 0;
        width: calc(100% - 8px);
        border-left: 8px solid #FFF;
        font-size: 16px;
        text-align: left;
        padding-left: 15px;
        box-sizing: border-box; } }
    @media only screen and (min-width: 641px) and (max-width: 1050px) {
      .tabs .set-tab {
        margin: 0;
        border-radius: 0;
        font-size: 22px;
        background: #FFF;
        padding: 12px 0;
        width: calc(100% - 8px);
        border-left: 8px solid #FFF; } }
    .tabs .set-tab.active {
      color: #4e96e7;
      border-bottom: 4px solid #4e96e7; }
      @media only screen and (max-width: 640px) {
        .tabs .set-tab.active {
          border-bottom: none;
          border-left: 8px solid #4e96e7; } }
      @media only screen and (min-width: 641px) and (max-width: 1050px) {
        .tabs .set-tab.active {
          border-bottom: none;
          border-left: 8px solid #4e96e7; } }
    .tabs .set-tab:hover {
      color: #4e96e7; }
  .tabs .tabs-tab {
    text-align: left;
    background: #FFF;
    border-radius: 20px;
    -webkit-box-shadow: 0px 20px 30px 0px rgba(0, 0, 0, 0.09);
    -moz-box-shadow: 0px 20px 30px 0px rgba(0, 0, 0, 0.09);
    box-shadow: 0px 20px 30px 0px rgba(0, 0, 0, 0.09);
    padding: 20px;
    padding-bottom: 34px;
    display: none; }
    @media only screen and (max-width: 640px) {
      .tabs .tabs-tab {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-top: 4px solid #DDD; } }
    @media only screen and (min-width: 641px) and (max-width: 1050px) {
      .tabs .tabs-tab {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        box-shadow: none;
        border-top: 4px solid #DDD; } }
    .tabs .tabs-tab.active {
      display: block; }
    .tabs .tabs-tab blockquote {
      margin: 0;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 20px;
      align-items: center; }
      .tabs .tabs-tab blockquote strong {
        display: block;
        font-size: 18px;
        margin-bottom: 5px; }
      @media only screen and (max-width: 640px) {
        .tabs .tabs-tab blockquote {
          grid-template-columns: 1fr; } }
    .tabs .tabs-tab img {
      width: 200px;
      position: relative;
      display: block;
      border-radius: 50%;
      overflow: hidden;
      height: 200px;
      object-fit: cover; }
    .tabs .tabs-tab h3, .tabs .tabs-tab h2, .tabs .tabs-tab h1 {
      color: #4e96e7; }
    .tabs .tabs-tab video {
      text-align: center;
      display: flex;
      width: 80%;
      margin: 16px auto; }
      @media only screen and (max-width: 640px) {
        .tabs .tabs-tab video {
          width: 90vw; } }
      @media only screen and (min-width: 641px) and (max-width: 1050px) {
        .tabs .tabs-tab video {
          width: 70vw; } }

.mitarbeiter-container {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  margin: 0 10vw;
  margin-top: 50px; }
  .mitarbeiter-container .mitarbeiter {
    flex-basis: 30%;
    text-align: center;
    display: -webkit-flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    background: #FFF;
    border-radius: 20px;
    padding: 12px;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    box-shadow: 0px 9px 20px -6px rgba(0, 0, 0, 0.07); }
    .mitarbeiter-container .mitarbeiter:nth-of-type(1) {
      flex-basis: 95%; }
    .mitarbeiter-container .mitarbeiter:nth-of-type(2), .mitarbeiter-container .mitarbeiter:nth-of-type(3) {
      flex-basis: 46.3%; }
    @media only screen and (max-width: 640px) {
      .mitarbeiter-container .mitarbeiter {
        flex-basis: 100% !important; } }
    @media only screen and (min-width: 641px) and (max-width: 1050px) {
      .mitarbeiter-container .mitarbeiter {
        flex-basis: 100% !important; } }
    .mitarbeiter-container .mitarbeiter:hover {
      padding: 16px;
      box-shadow: 0px 9px 30px -6px rgba(0, 0, 0, 0.05); }
    .mitarbeiter-container .mitarbeiter h4 {
      margin: 12px 0;
      font-size: 24px;
      color: #4e96e7; }
    .mitarbeiter-container .mitarbeiter .img-container {
      border-radius: 100%;
      width: 200px;
      height: 200px;
      margin: auto;
      overflow: hidden; }
      .mitarbeiter-container .mitarbeiter .img-container img {
        width: inherit; }

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

.mitarbeiter-container-home {
  position: relative;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  justify-content: center;
  max-width: 1000px; }
  @media only screen and (min-width: 641px) and (max-width: 1050px) {
    .mitarbeiter-container-home {
      grid-template-columns: 1fr 1fr 1fr 1fr; } }
  @media only screen and (max-width: 640px) {
    .mitarbeiter-container-home {
      grid-template-columns: 1fr 1fr;
      width: 300px; } }
  .mitarbeiter-container-home .mitarbeiter {
    margin: 10px auto;
    max-width: 130px;
    text-align: center; }
    .mitarbeiter-container-home .mitarbeiter:nth-of-type(1) {
      grid-column: 1/2; }
    .mitarbeiter-container-home .mitarbeiter:nth-of-type(2) {
      grid-column: 2/4; }
    .mitarbeiter-container-home .mitarbeiter:nth-of-type(3) {
      grid-column: 4/5; }
    .mitarbeiter-container-home .mitarbeiter h4 {
      max-width: 130px;
      margin-top: 2px; }
    @media only screen and (max-width: 640px) {
      .mitarbeiter-container-home .mitarbeiter {
        margin: 10px auto;
        grid-column: auto !important; }
        .mitarbeiter-container-home .mitarbeiter:first-of-type, .mitarbeiter-container-home .mitarbeiter:last-of-type {
          grid-column: 1/3 !important; }
        .mitarbeiter-container-home .mitarbeiter:nth-of-type(2), .mitarbeiter-container-home .mitarbeiter:nth-of-type(3) {
          grid-column: auto !important; } }
  .mitarbeiter-container-home img {
    width: 100px;
    height: 100px;
    border-radius: 50%; }
  .mitarbeiter-container-home .wrapper {
    text-align: center;
    height: auto !important;
    width: auto !important;
    background: none !important;
    -webkit-box-shadow: 0px 20px 30px -12px rgba(0, 0, 0, 0) !important;
    -moz-box-shadow: 0px 20px 30px -12px rgba(0, 0, 0, 0) !important;
    box-shadow: 0px 20px 30px -12px rgba(0, 0, 0, 0) !important; }
    @media only screen and (max-width: 640px) {
      .mitarbeiter-container-home .wrapper {
        margin: 0 !important; } }

.ui-widget {
  width: 100%;
  bottom: 38px !important;
  text-align: center;
  background: #FFF !important;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px; }
  .ui-widget::before {
    content: "Feld bearbeiten";
    color: #777;
    padding-right: 10px;
    font-size: 18px; }

.ui-button {
  border-radius: 10px !important;
  background: #4e96e7 !important;
  color: #FFF !important;
  border: none !important; }
  .ui-button:hover {
    background: #609ee4 !important;
    color: #FFF !important; }

#footer {
  position: relative;
  border-radius: 20px 20px 0 0;
  margin: 0 0 -20px 0;
  padding: 20px;
  background-color: #FFF;
  -webkit-box-shadow: 0px -10px 20px -5px rgba(0, 0, 0, 0.09);
  -moz-box-shadow: 0px -10px 20px -5px rgba(0, 0, 0, 0.09);
  box-shadow: 0px -10px 20px -5px rgba(0, 0, 0, 0.09); }

.footer-element {
  display: inline-block;
  line-height: normal;
  margin-right: 34px;
  vertical-align: top; }
  .footer-element a {
    color: #4e96e7; }
  .footer-element h3 {
    margin-top: 0px;
    color: #4e96e7; }
  .footer-element strong {
    font-weight: 600;
    text-transform: uppercase; }
  .footer-element em {
    font-style: normal; }

.slider-info .footer-element:nth-of-type(3) tr:nth-of-type(3) {
  display: none; }

.footer-siegel {
  display: block;
  width: 130px;
  margin-top: 20px; }

html, body {
  width: 100vw; }

body {
  background: #F2F2F2;
  font-weight: normal !important; }

.link {
  color: #4e96e7; }

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

h2 {
  margin-bottom: 30px;
  font-size: 30px; }

.greeting {
  position: absolute;
  z-index: 999;
  top: 0px;
  right: 30px;
  text-align: right;
  font-size: 18px; }
  .greeting img {
    width: 200px;
    display: block;
    margin-left: auto;
    margin-top: 10px; }
  .greeting h1 {
    margin-bottom: 0px;
    font-size: 36px;
    color: #4e96e7; }

@media only screen and (min-width: 641px) and (max-width: 1050px) {
  .greeting {
    position: relative;
    font-size: 16px;
    margin-bottom: 40px; }
    .greeting h1 {
      margin: 0;
      font-size: 28px; } }

@media only screen and (max-width: 640px) {
  .greeting {
    position: relative;
    font-size: 16px;
    margin-bottom: 40px; }
    .greeting h1 {
      margin: 0;
      font-size: 28px; } }

.swiper-container {
  position: relative;
  top: 80px;
  z-index: -1 !important;
  height: 450px;
  width: calc(80vw - 80px); }
  @media only screen and (max-width: 640px) {
    .swiper-container {
      width: 100%;
      height: 300px; } }
  @media only screen and (min-width: 641px) and (max-width: 1050px) {
    .swiper-container {
      width: 100%;
      height: 400px; } }
  @media only screen and (min-width: 1051px) {
    .swiper-container {
      max-width: 1080px; } }
  .swiper-container .slide {
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-size: cover !important; }

.slider-info-container {
  position: relative;
  margin-top: 30px;
  width: 100%;
  margin-bottom: 120px; }

.slider-info {
  position: relative;
  border-radius: 20px;
  margin: auto;
  padding: 20px;
  height: 230px;
  min-width: 1100px;
  width: calc(72vw - 40px);
  background: #FFF;
  -webkit-box-shadow: 0px 20px 30px -12px rgba(0, 0, 0, 0.09);
  -moz-box-shadow: 0px 20px 30px -12px rgba(0, 0, 0, 0.09);
  box-shadow: 0px 20px 30px -12px rgba(0, 0, 0, 0.09); }
  @media only screen and (max-width: 640px) {
    .slider-info {
      height: auto;
      min-width: 0;
      width: calc(100vw - 40px); } }
  @media only screen and (min-width: 641px) and (max-width: 1050px) {
    .slider-info {
      min-width: 700px;
      height: auto;
      width: calc(90vw - 40px); } }
  .slider-info .footer-element {
    text-align: left;
    margin: 12px; }
    .slider-info .footer-element h3 {
      font-size: 24px; }

.content {
  padding: 20px;
  min-height: 60vh; }

.content-normal-height {
  min-height: 0 !important; }

.home-content {
  text-align: center;
  position: relative;
  margin: 0 auto; }
  .home-content h3 {
    font-size: 28px;
    margin-top: 0px; }
  .home-content .services {
    min-height: 0 !important; }

.service {
  height: auto;
  overflow: visible;
  padding: 20px;
  padding-top: 16px; }
  .service h4 {
    font-size: 18px;
    hyphens: auto; }
    @media only screen and (max-width: 640px) {
      .service h4 {
        font-size: 18px !important; } }

.services {
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  min-height: 90vh; }
  .services.services-light {
    justify-content: center; }
  .services .service-light {
    position: relative;
    overflow: hidden;
    cursor: default;
    margin: 10px;
    text-align: center;
    background: #FFF;
    border-radius: 20px;
    font-size: 18px;
    box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.08);
    height: auto; }
    @media only screen and (max-width: 640px) {
      .services .service-light {
        margin: 5px;
        font-size: 16px;
        flex-grow: 1; } }
    .services .service-light h4 {
      margin: 10px; }
      @media only screen and (max-width: 640px) {
        .services .service-light h4 {
          margin: 7px; } }

.service {
  position: relative;
  flex-grow: 1;
  min-width: 400px;
  cursor: default;
  margin: 20px;
  padding: 16px;
  text-align: center;
  background: #FFF;
  border-radius: 20px;
  height: 120px;
  -webkit-box-shadow: 0px 20px 30px 0px rgba(0, 0, 0, 0.09);
  -moz-box-shadow: 0px 20px 30px 0px rgba(0, 0, 0, 0.09);
  box-shadow: 0px 20px 30px 0px rgba(0, 0, 0, 0.09); }
  @media only screen and (max-width: 640px) {
    .service {
      min-width: 0; } }
  .service.on-home {
    margin: 0 auto;
    width: 88%;
    overflow: hidden; }
    .service.on-home::after {
      display: none !important; }
  .service::after {
    content: "checkmark";
    display: block;
    position: absolute;
    left: -10px;
    top: -10px;
    width: 30px;
    height: 30px;
    background: #fff;
    border-radius: 50%;
    color: #4e96e7;
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 22px;
    padding-left: 3px;
    padding-top: 3px;
    box-sizing: border-box; }
  .service:not(.two-col) {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center; }
  .service.service-js {
    flex-basis: 100%; }
  .service:not(.service-js) .wrapper {
    justify-content: center; }
  .service:not(.service-js) h4 {
    margin: 0 !important; }
  .service.two-col {
    display: flex; }
    .service.two-col .wrapper {
      min-width: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column; }
      .service.two-col .wrapper .summary {
        text-align: left; }
    .service.two-col img {
      width: 50%;
      flex-basis: 70%;
      object-fit: cover;
      margin: -16px;
      border-top-right-radius: 20px;
      border-bottom-right-radius: 20px;
      margin-left: 20px;
      flex-grow: 1; }
  .service.service__expanded, .service:focus.service-js {
    height: auto; }
    @media only screen and (max-width: 640px) {
      .service.service__expanded.two-col, .service:focus.service-js.two-col {
        flex-direction: column-reverse; }
      .service.service__expanded img, .service:focus.service-js img {
        margin-bottom: 20px;
        margin-left: -16px;
        width: calc(100% + 32px);
        max-width: inherit;
        border-radius: 0 !important; } }
    .service.service__expanded .summary, .service:focus.service-js .summary {
      display: block; }
    .service.service__expanded .services-toggle__more, .service:focus.service-js .services-toggle__more {
      display: none; }
    .service.service__expanded .services-toggle__less, .service:focus.service-js .services-toggle__less {
      display: block; }
  .service h4 {
    margin: 0 auto;
    margin-bottom: 20px;
    font-size: 24px; }
  .service .summary {
    position: relative;
    font-size: 18px;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    display: none;
    width: 100%; }

.services-toggle {
  text-align: center;
  cursor: pointer;
  text-transform: uppercase;
  color: #4e96e7; }
  .services-toggle::before {
    content: "› "; }
  .services-toggle.services-toggle__more {
    display: block; }
  .services-toggle.services-toggle__less {
    display: none; }

hr {
  margin: 12px 0;
  border: none;
  border-bottom: 1px solid #DDD; }

.hidden {
  display: none !important; }

@media only screen and (max-width: 640px) {
  .desktop {
    display: none; } }

@media only screen and (min-width: 641px) and (max-width: 1050px) {
  .desktop {
    display: none; } }

@media only screen and (min-width: 1051px) {
  .mobile {
    display: none; } }

@media only screen and (min-width: 641px) and (max-width: 1050px) {
  .mobile {
    display: none; } }

@media only screen and (min-width: 1051px) {
  .tablet {
    display: none; } }

@media only screen and (max-width: 640px) {
  .tablet {
    display: none; } }

@media only screen and (max-width: 640px) {
  .desktop-tablet {
    display: none; } }

.contact-selector {
  width: 100%;
  position: relative;
  display: flex;
  top: 84px;
  height: 90px; }
  .contact-selector .contact-selector-tab {
    align-items: center;
    position: relative;
    flex-grow: 1;
    cursor: pointer;
    background: #F2F2F2;
    text-align: center;
    border-bottom: 5px solid #BBB;
    -webkit-transition: all 0.2s;
    transition: all 0.2s; }
    .contact-selector .contact-selector-tab h3 {
      position: absolute;
      width: 0%;
      font-size: 24px;
      left: calc(50% - 35px);
      top: 10px; }
    .contact-selector .contact-selector-tab.active, .contact-selector .contact-selector-tab:hover {
      border-bottom: 8px solid #4e96e7;
      background: #FFF;
      color: #4e96e7; }

.contact {
  top: 84px;
  height: 1100px;
  position: relative; }
  @media only screen and (max-width: 640px) {
    .contact {
      height: 800px; } }

.contact-tab {
  opacity: 0;
  position: absolute;
  left: 0px;
  top: 0;
  width: 100%; }
  .contact-tab .contact-tab-info {
    margin: 20px auto;
    padding: 24px;
    width: 70vw;
    background: #FFF;
    font-size: 18px;
    top: -120px;
    position: relative;
    border-radius: 20px;
    text-align: center;
    -webkit-box-shadow: 0px 20px 30px 0px rgba(0, 0, 0, 0.09);
    -moz-box-shadow: 0px 20px 30px 0px rgba(0, 0, 0, 0.09);
    box-shadow: 0px 20px 30px 0px rgba(0, 0, 0, 0.09); }
    @media only screen and (max-width: 640px) {
      .contact-tab .contact-tab-info {
        width: calc(100vw - 24px * 2);
        font-size: 16px; } }
    .contact-tab .contact-tab-info table {
      text-align: left;
      margin: 0 auto; }
  .contact-tab .map {
    left: -30px;
    -webkit-transition: all 0.2s;
    transition: all 0.2s; }
  .contact-tab.active {
    opacity: 1;
    left: 0; }
    .contact-tab.active .map {
      left: 0; }

.map {
  position: relative;
  cursor: pointer;
  text-align: center;
  height: 40vh;
  opacity: 1;
  -webkit-transition: all 0.2s;
  transition: all 0.2s; }
  @media only screen and (max-width: 640px) {
    .map {
      height: 40vh; } }

@media only screen and (min-width: 641px) and (max-width: 1050px) and (orientation: portrait) {
  .map {
    height: 40vh; } }
  .map:hover {
    opacity: 0.7; }

.map .gm-style-iw + div {
  display: none; }

.map h2 {
  margin-bottom: 10px;
  font-size: 20px; }

.map h3 {
  margin: 0; }

.mdl-button {
  border-radius: 60px;
  display: block;
  width: 60px;
  height: 60px;
  position: relative;
  bottom: 30px;
  z-index: 70;
  margin-left: auto;
  margin-right: 34px;
  text-align: center;
  background: #4e96e7;
  color: #FFF;
  -webkit-box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.15); }
  @media only screen and (max-width: 640px) {
    .mdl-button {
      bottom: 70px; } }
  .mdl-button:hover {
    background: #609ee4;
    -webkit-box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.25);
    box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.25); }
  .mdl-button i {
    line-height: 60px;
    font-size: 30px; }

.praxis-images {
  text-align: center; }
  .praxis-images .praxis-image {
    position: relative;
    width: 25vw;
    display: inline-block;
    margin: 20px; }
    @media only screen and (min-width: 641px) and (max-width: 1050px) {
      .praxis-images .praxis-image {
        width: 42vw; } }
    @media only screen and (max-width: 640px) {
      .praxis-images .praxis-image {
        width: 90vw;
        margin: 20px 0; } }
    .praxis-images .praxis-image img {
      width: 100%; }

.logout-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  background: #FFF;
  color: #777;
  padding: 8px 24px;
  width: 100%;
  text-align: left;
  -webkit-box-shadow: 0px 0 20px 0 rgba(0, 0, 0, 0.09);
  -moz-box-shadow: 0px 0 20px 0 rgba(0, 0, 0, 0.09);
  box-shadow: 0px 0 20px 0 rgba(0, 0, 0, 0.09); }
  .logout-bar a {
    color: #4e96e7; }
  .logout-bar .logout-bar-help {
    position: absolute;
    right: 80px;
    top: 8px; }
    @media only screen and (max-width: 640px) {
      .logout-bar .logout-bar-help {
        display: none; } }

.files {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 auto;
  margin-bottom: 50px;
  justify-content: center; }
  @media only screen and (max-width: 640px) {
    .files {
      margin: auto -40px; } }
  .files.files-home {
    width: 60%;
    margin: 0 auto;
    margin-bottom: 80px; }
    .files.files-home .file {
      min-width: 25vw; }
    @media only screen and (max-width: 640px) {
      .files.files-home {
        width: 88%; } }
  .files .file {
    padding: 20px;
    padding-bottom: 10px;
    margin: 20px;
    text-align: center;
    background-color: #FFF;
    border-radius: 10px;
    width: auto;
    transform: scale(1);
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.09);
    -webkit-transition: all 0.2s;
    transition: all 0.2s; }
    .files .file h2 {
      color: #4e96e7;
      font-size: 24px; }
      .files .file h2 span {
        line-height: normal;
        border-bottom: 2px solid #4e96e7; }
    .files .file:hover {
      box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.11); }
    .files .file img {
      width: 50px;
      height: auto; }
    .files .file i {
      font-size: 40px;
      color: #4e96e7; }

iframe {
  max-width: 100%;
  overflow: hidden; }
  iframe .box {
    box-shadow: none; }

.news {
  width: 100%;
  padding: 40px 0;
  background-color: #FFF; }
  .news h2 {
    color: #4e96e7; }
    @media only screen and (max-width: 640px) {
      .news h2 {
        font-size: 24px; } }
  .news .wrapper {
    margin: 0 auto;
    min-width: 1100px;
    width: calc(72vw - 40px); }
    @media only screen and (max-width: 640px) {
      .news .wrapper {
        min-width: 0;
        width: 90%; } }
    @media only screen and (min-width: 641px) and (max-width: 1050px) {
      .news .wrapper {
        min-width: 0;
        width: 90%; } }

.booking-btn {
  padding: 8px 12px;
  background: #4e96e7;
  color: #fff !important;
  border-radius: 8px;
  display: inline-block;
  font-size: initial; }
  footer .booking-btn {
    margin-bottom: 30px; }
  .masthead .booking-btn {
    position: absolute;
    right: 220px;
    top: 30px;
    transition: transform 0.2s; }
    @media only screen and (max-width: 640px) {
      .masthead .booking-btn {
        display: none; } }
    @media only screen and (min-width: 641px) and (max-width: 1050px) {
      .masthead .booking-btn {
        display: none; } }
    .masthead .booking-btn.more-left {
      transform: translateX(-40px); }

.map {
  position: relative;
  height: 45vh;
  width: 100%;
  filter: grayscale(1) brightness(1.1) contrast(1.1);
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 10%; }
  .map iframe {
    width: 140%;
    height: 100%;
    margin-left: -20%;
    max-width: 140%; }
  .map svg {
    position: absolute;
    height: 50px;
    width: 50px;
    margin-bottom: 45px; }
  @media only screen and (max-width: 640px) {
    .map {
      width: calc(100% + 30px);
      margin: 0 -30px;
      border: none; } }
