/* >= 768px */
@media screen and (min-width: 768px) {
  :root {
    --font-size-h1-big: 7.5vw;
    --font-size-h1: 5.1vw;
    --font-size-h4: 3.4vw;
  }
  .fillout-button button,
  a.button,
  a.button:active,
  a.button:focus,
  a.button:link,
  a.button:visited,
  button.button,
  button.button:active,
  button.button:link,
  button.button:visited,
  input.form-submit,
  input.form-submit:focus {
    font-size: var(--font-size-default);
    line-height: var(--line-height-default);
    padding: 10px 40px;
  }
  .fillout-button button:has(i),
  a.button:has(i),
  a.button:active:has(i),
  a.button:focus:has(i),
  a.button:link:has(i),
  a.button:visited:has(i),
  button.button:has(i),
  button.button:active:has(i),
  button.button:link:has(i),
  button.button:visited:has(i),
  input.form-submit:has(i),
  input.form-submit:focus:has(i) {
    padding: 10px 20px;
  }
  .fillout-button button {
    font-size: var(--font-size-default) !important;
    line-height: var(--line-height-default) !important;
    padding: 10px 40px !important;
    width: auto !important;
  }
  #coming-soon .banner {
    padding: 50px 30px 30px 30px;
  }
  #coming-soon .banner .label {
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
    left: 30px;
  }
  #coming-soon .banner .wrapper {
    margin-bottom: 100px;
  }
  #coming-soon .banner .wrapper i {
    font-size: 35px;
    line-height: 35px;
  }
  #coming-soon .banner .wrapper .button-wrapper {
    align-items: flex-start;
  }
  #coming-soon .banner .image {
    margin-right: -30px;
  }
  #cta .items .item {
    font-size: var(--font-size-default);
    line-height: var(--line-height-default);
  }
  #cta .button-wrapper {
    flex-direction: row;
  }
  #header {
    margin-top: 30px;
  }
  #header > .section #navigation .table .table-cell .main #block-custom-main-menu > ul.menu > li:has(ul) > a:after {
    font-size: 3vw;
    line-height: 3vw;
    top: calc(50% - 1.5vw);
  }
  #header > .section #navigation .table .table-cell .secondary .support .button-wrapper {
    padding-right: 50%;
  }
  #footer .kontakt .adresse {
    font-size: var(--font-size-default);
    line-height: var(--line-height-default);
  }
  #footer .kontakt .phone-mail a {
    font-size: var(--font-size-default);
    line-height: var(--line-height-default);
  }
  #footer .oeffnungszeiten {
    font-size: var(--font-size-default);
    line-height: var(--line-height-default);
  }
  #footer .button-wrapper .button {
    width: auto;
  }
}
/* >= 1024px */
@media screen and (min-width: 1024px) {
  #toolbar-administration {
    display: block !important;
  }
  a.edit-link,
  a.node-preview-backlink {
    display: block;
  }
  :root {
    --font-size-h1-big: 5.1vw;
    --font-size-h1: 3.4vw;
    --font-size-h4: 26px;
  }
  #coming-soon .banner {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  #coming-soon .banner .wrapper {
    margin-bottom: 0;
  }
  #coming-soon .banner .image {
    align-self: end;
  }
  #cta .items {
    flex-direction: row;
    justify-content: center;
    gap: 30px;
  }
  #cta .button-wrapper {
    margin-top: 50px;
  }
  #cta .button-wrapper .button {
    padding: 13px 70px;
  }
  #header > .section .region-header {
    display: block;
    padding: 0 30px;
  }
  #header > .section #navigation .table {
    display: flex;
  }
  #header > .section #navigation .table .table-cell {
    width: 100%;
    display: grid;
    grid-template-columns: 3fr 2fr;
    min-height: 100%;
  }
  #header > .section #navigation .table .table-cell .main {
    padding: 200px 50px 100px 7vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #header > .section #navigation .table .table-cell .main #block-custom-main-menu > ul.menu > li:has(ul) > a:after {
    font-size: 2vw;
    line-height: 2vw;
    top: calc(50% - 1vw);
  }
  #header > .section #navigation .table .table-cell .main .social-media .social-media-item {
    font-size: 26px;
    line-height: 26px;
  }
  #header > .section #navigation .table .table-cell .secondary {
    padding: 100px 7vw 100px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #header > .section #navigation .table .table-cell .secondary .support .button-wrapper {
    padding: 0;
  }
  #header .header-small-sizer {
    height: 80px;
  }
  html.menu-open #header > .section #navigation .table .table-cell .secondary .support .label {
    transition: opacity 0.3s ease 0.3s;
  }
  html.menu-open #header > .section #navigation .table .table-cell .secondary .support .button-wrapper .button {
    transition: opacity 0.3s ease 0.4s;
  }
  html.menu-open #header > .section #navigation .table .table-cell .secondary .support .button-wrapper .button:nth-of-type(2) {
    transition-delay: 0.5s;
  }
  html.menu-open #header > .section #navigation .table .table-cell .secondary .block-system-menu-blockfooter ul.menu li {
    transition: opacity 0.3s ease 0.6s;
  }
  html.menu-open #header > .section #navigation .table .table-cell .secondary .block-system-menu-blockfooter ul.menu li:nth-of-type(2) {
    transition-delay: 0.7s;
  }
  html.menu-open #header > .section #navigation .table .table-cell .secondary .block-system-menu-blockfooter ul.menu li:nth-of-type(3) {
    transition-delay: 0.8s;
  }
  html.menu-open #header > .section #navigation .table .table-cell .secondary .block-system-menu-blockfooter ul.menu li:nth-of-type(4) {
    transition-delay: 0.9s;
  }
  html.menu-open #header > .section #navigation .table .table-cell .secondary .block-system-menu-blockfooter ul.menu li:nth-of-type(5) {
    transition-delay: 1s;
  }
  html.menu-open #header > .section #navigation .table .table-cell .secondary .block-system-menu-blockfooter ul.menu li:nth-of-type(6) {
    transition-delay: 1.1s;
  }
  html.menu-open #header > .section #navigation .table .table-cell .secondary .block-system-menu-blockfooter ul.menu li:nth-of-type(7) {
    transition-delay: 1.2s;
  }
  html.menu-open #header > .section #navigation .table .table-cell .secondary .block-system-menu-blockfooter ul.menu li:nth-of-type(8) {
    transition-delay: 1.3s;
  }
  #footer #block-custom-footer ul.menu {
    display: flex;
    align-items: center;
    gap: 15px;
  }
}
/* >= 1248px */
@media screen and (min-width: 1248px) {
  :root {
    --image-aspect-ratio: 2.25;
    --font-size-default: 18px;
    --font-size-small: 16px;
  }
  article ul li,
  .ui-dialog ul li {
    padding: 0 0 20px 30px;
  }
  #main > .section {
    padding: 200px 0 150px;
  }
  .fillout-button button,
  a.button,
  a.button:active,
  a.button:focus,
  a.button:link,
  a.button:visited,
  button.button,
  button.button:active,
  button.button:link,
  button.button:visited,
  input.form-submit,
  input.form-submit:focus {
    padding: 10px 60px;
  }
  .fillout-button button {
    padding: 10px 60px !important;
  }
  #header > .section #logo {
    height: 70px;
    width: 70px;
  }
  #header > .section #logo i {
    font-size: 70px;
    line-height: 70px;
  }
  #header > .section .region-header ul.menu li a {
    line-height: 40px;
    font-size: var(--font-size-small);
    border-radius: 12px;
  }
  #header > .section #menu-icon {
    height: 40px;
    width: 40px;
  }
  #header > .section #menu-icon .line {
    width: 26px;
    top: 15px;
    left: 7px;
  }
  #header > .section #menu-icon .line.second {
    bottom: 15px;
  }
  #header > .section #menu-icon.is-active .line.second {
    top: 18px;
  }
  #header > .section #menu-icon.is-active .line.first {
    top: 18px;
    bottom: auto;
  }
  #header .header-small-sizer {
    height: 100px;
  }
  #footer .section .button-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    margin-bottom: 0;
    padding-bottom: 0;
    margin-top: 0;
    border-bottom: none;
    display: flex;
    margin-left: auto;
    align-items: start;
  }
  #footer .section .social-media {
    margin-top: auto;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 20px;
    margin-top: -30px;
  }
  #footer .section .social-media .social-media-item {
    font-size: 25px;
    line-height: 25px;
  }
  #footer .section #block-custom-footer {
    margin-top: 30px;
  }
  #footer .section #block-custom-footer ul.menu {
    justify-content: flex-end;
  }
  #cta {
    padding: 150px 0;
  }
  #cta .h1 {
    padding: 0 7vw;
  }
  #coming-soon .banner {
    grid-template-columns: 3fr 2fr;
    display: block;
    padding-right: 40%;
  }
  #coming-soon .banner .image {
    position: absolute;
    right: 0;
    bottom: 30px;
    width: 50%;
    margin-right: 0;
  }
  #coming-soon .banner .wrapper .button-wrapper {
    flex-direction: row;
    gap: 30px;
  }
  .swiper-container .swiper-navigation .prev,
  .swiper-container .swiper-navigation .next {
    height: 40px;
    width: 40px;
    font-size: 40px;
    line-height: 40px;
  }
  .newsbeitrag .content,
  .use-case .content {
    padding: 30px 80px 30px 30px;
    padding-right: 80px;
    --content-height: calc( (var(--font-size-small) * var(--line-height-small) * 2 ) + (var(--font-size-default) * var(--line-height-default)) + (60px) );
    height: var(--content-height);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .newsbeitrag .content .icon-angle-right,
  .use-case .content .icon-angle-right {
    font-size: 40px;
    line-height: 40px;
    top: calc(50% - 20px);
    right: 30px;
  }
}
