@media only screen and (max-width: 1280px) {
  header {
    flex-wrap: wrap;
    gap: 0 2rem;
  }

  header .logo {
    padding: 2rem 0;
    margin: auto;
  }

  header .meta_panel {
    max-width: none;
  }

  .two-line-headline {
    font-size: 4rem !important;
  }

  p, li {
    font-size: 2.1rem;
    line-height: 2.8rem;
  }

  .headline-context {
    width: 100%;
  }

  .facts::after {
    width: 50rem;
    height: 50rem;
    top: 46%;
    left: 46%;
  }

  .services {
    padding: 3rem 5rem 3rem 15rem;
  }

  nav.menu_main {
    justify-content: center;
  }
}

@media only screen and (max-width: 1024px) {
  header.header-wrapper {
    min-height: unset;
    margin: 0 auto;
    flex-wrap: nowrap;
    width: calc(83.3333%);
    padding: 0;
    text-align: center;
  }

  header .logo img {
    max-width: 8rem;
  }

  .content_block.presentation .flex-content {
    flex-direction: column;
  }

  .content_block.presentation .contact-container {
    width: 100%;
  }

  .content_block.presentation .description {
    width: 100%;
    margin: 3rem 0;
    padding: 0;
  }

  .content_block.presentation .service {
    width: 100%;
  }

  .h1 br, .h2 br,
  h1 br, h2 br {
    display: none;
  }

  .two-line-headline strong {
    display: block;
  }

  .content_block.landingpage_facts .intro-text {
    width: 100% !important;
  }

  .content_block.landingpage_facts .wrapper_content {
    height: auto !important;
  }

  .facts::after {
    top: 44%;
    left: 56%;
  }

  .content_block.form_select .form-row.form-row-text {
    margin-bottom: 1rem;
  }

  .content_block.form_select .form-row.form-row-textarea {
    margin-top: 2rem;
  }

  footer nav.nav_special img, footer .footer-wrapper #footer img {
    height: 30px;
  }
}

@media only screen and (max-width: 768px) {
  footer nav.nav_special {
    justify-content: flex-start;
    width: 100%;
    display: flex;

  }

  footer .footer-wrapper #footer {
    flex-direction: column;
    align-items: flex-start;
  }

  footer {
    padding: 3rem;
  }

  footer .footer-wrapper #footer a {
    margin: 0;
    margin-top: 2rem;
  }

  footer .footer-wrapper {
    width: 100%;
  }

  footer .footer-wrapper #footer a {
    font-size: 1.6rem;
  }

  footer .footer-wrapper #footer>div {
    flex-direction: column;
  }

  footer .footer-wrapper #footer .footer-menu {
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
  }

  footer .footer-wrapper #footer .footer-menu a {
    margin-right: 2rem;
  }

  header .h1,
  header h1 {
    font-size: 4rem;
  }

  .content_block .h1,
  .content_block h1 {
    font-size: 4.5rem;
  }

  .pre-line {
    font-size: 2rem !important;
  }

  .content_block.presentation {
    margin-top: 5rem;
  }

  .content_block.presentation .services {
    margin-top: 5rem;
  }

  h2, .h2 {
    font-size: 3rem;
  }

  .mt-10 {
    margin-top: 5rem;
  }

  .facts .fact span {
    max-width: 90%;
  }

  .facts::after {
    top: 44%;
    left: 25%;
  }

  .services {
    padding: 5rem;
  }

  .stripes {
    left: -10rem;
  }

  .stripes .stripe:first-child {
    transform: translateX(calc(-50% + 10rem));
    -webkit-transform: translateX(calc(-50% + 10rem));
    -moz-transform: translateX(calc(-50% + 10rem));
    -ms-transform: translateX(calc(-50% + 10rem));
    -o-transform: translateX(calc(-50% + 10rem));
  }

  .stripes .stripe:nth-child(2) {
    width: calc(50% - 7.5rem + 10rem)
  }

  .services .service p {
    font-size: 1.8rem;
    line-height: 2.6rem;
    margin-bottom: 1rem;
  }

  .services .service::before {
    height: 1.3rem;
    top: 0.6rem;
  }

  .service-logo {
    display: block;
    margin-bottom: 1rem;
  }

  .content_block.presentation::after {
    width: 50rem;
    height: 50rem;
    bottom: -1rem;
    left: -19rem;
  }

  .facts .swiper {
    height: calc(65vh - 18rem)
  }

  .facts .fact .keyword img {
    top: -7rem !important;
    left: 50% !important;
    right: inherit;
    transform: translateX(-50%);
    width: 60px !important;
  }

  .facts .fact:nth-child(11) .keyword img {
    width: 50px !important;
    top: -10rem !important
  }
}

@media only screen and (max-width: 600px) {
  header a img {
    width: 35rem;
  }
}

@media only screen and (max-width: 500px) {
  body {
    font-size: 1.8rem;
  }

  header a img {
    width: 25rem;
  }

  .h1>*,
  h1>*,
  .h2>*,
  h2>*,
  .h3>*,
  h3>*,
  .h4>*,
  h4>*,
  .h5>*,
  h5>*,
  .h6>*,
  h6>* {
    display: inline !important;
  }

  .h1 br, .h2 br,
  h1 br, h2 br {
    display: none !important;
  }

  .content_block.presentation h2.name {
    font-size: 4rem;
  }

  h2, .h2 {
    font-size: 2.2rem;
  }

  .nav_breadcrumb li span {
    font-size: 1.8rem;
  }

  .button {
    text-align: center;
    display: block;
    width: 100%;
  }

  .content_block.landingpage_facts .text-container {
    padding-right: 0;
  }

  .form-row-submit {
    width: 100%
  }
}
