/* Pixel-nahe Korrekturen anhand der Original-Unterseiten */
@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.agi-builder-area .element { padding: 55px 0; }
.agi-builder-area .element__content { width: min(1110px, calc(100% - 40px)); margin: 0 auto; }
.service-copy .element,.legal-page .rich-text .element { padding: 0; }
.service-copy .element__content,.legal-page .rich-text .element__content { width: auto; margin: 0; }
.builder-image-text { padding: 65px 0; }
.builder-style-light { background: #f5f6f8; }
.builder-style-blue { background: #3166fa; color: #fff; }
.builder-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; }
.builder-image-right .builder-image { order: 2; }
.builder-image img { width: 100%; height: auto; }
.builder-copy h2,.builder-cta h2 { margin: 0 0 20px; font-size: 30px; }
.builder-cta { padding: 65px 0; text-align: center; background: #3166fa; color: #fff; }
.builder-button { display: inline-block; margin-top: 20px; padding: 11px 22px; background: #fff; color: #0948f9; text-decoration: none; }

.fa {
  display: inline-block;
  width: 16px;
  font: normal normal normal 16px/1 FontAwesome;
  text-align: center;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.fa-phone::before { content: '\f095'; }
.fa-envelope-o::before { content: '\f003'; }
.fa-home::before { content: '\f015'; }

.contact-section {
  min-height: 306.5px;
  padding: 45px 0;
  background: #3166fa;
  color: #fff;
  font: 400 16px/24px Raleway, sans-serif;
}

.contact-details h3 { font-size: 16px; line-height: 24px; }
.contact-details p { display: grid; grid-template-columns: 28px 1fr; row-gap: 8px; margin: 0; }
.contact-details p > br { display: none; }
.contact-details a { color: #fff; text-decoration: none; }
.contact-details .fa { margin-top: 4px; }
.agi-original-footer {
  min-height: 64px;
  padding: 15px 0;
  background: #0948f9;
  color: #fff;
  font: 400 14px/24px Raleway, sans-serif;
}

.agi-footer-container {
  width: min(1170px, calc(100% - 30px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  align-items: center;
}

.agi-original-footer a { color: #fff; text-decoration: none; }
.agi-footer-links p { margin: 0; text-align: right; }
.original-footer {
  min-height: 62px;
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 14px;
  line-height: 24px;
}

.legal-page {
  min-height: 1080px;
  padding: 62px 0 80px;
}

.legal-page .section-inner {
  width: min(1110px, calc(100% - 40px));
}

.legal-page h1 {
  margin: 20px 0 30px;
  color: #030303;
  font: 500 24px/1.1 Raleway, sans-serif;
}

.legal-page .rich-text {
  color: #363636;
  font: 400 16px/24px Raleway, sans-serif;
}

.legal-page .rich-text p {
  margin: 0 0 10px;
}

.legal-page .rich-text h4 {
  margin: 22px 0 10px;
  color: #363636;
  font: 600 16px/24px Raleway, sans-serif;
}

.legal-page .rich-text ul {
  margin: 0;
  padding-left: 25px;
}

.service-page {
  min-height: 1110px;
  padding: 48px 0 85px;
}

.service-page .section-inner {
  width: min(1110px, calc(100% - 40px));
}

.service-eyebrow {
  margin: 0 0 24px;
  color: #3166fa;
  text-align: center;
  text-transform: uppercase;
  font: 600 34px/1.1 Raleway, sans-serif;
}

.service-title {
  margin: 0 0 38px;
  text-align: center;
  font: 400 42px/1.1 Raleway, sans-serif;
}

.service-layout {
  display: grid;
  grid-template-columns: 545px 1fr;
  gap: 80px;
  align-items: start;
}

.service-gallery {
  position: relative;
  width: 545px;
  height: 505px;
  overflow: hidden;
  border-radius: 4px;
}

.service-gallery img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: agi-gallery 20s infinite;
}

.service-gallery img:first-child { opacity: 1; }
.service-gallery img:nth-child(2) { animation-delay: 5s; }
.service-gallery img:nth-child(3) { animation-delay: 10s; }
.service-gallery img:nth-child(4) { animation-delay: 15s; }

@keyframes agi-gallery {
  0%, 20% { opacity: 1; }
  25%, 95% { opacity: 0; }
  100% { opacity: 1; }
}

.service-copy {
  color: #363636;
  font: 400 16px/24px Raleway, sans-serif;
}

.service-copy h1 {
  margin: 40px 0 20px;
  color: #3166fa;
  text-transform: uppercase;
  font: 600 14px/1.1 Raleway, sans-serif;
}

.service-copy h1:first-child { margin-top: 40px; }
.service-copy h2 { margin-top: 55px; font-size: 24px; }
.service-copy ul { margin: 0 0 65px; padding-left: 25px; }
.service-copy li { margin-bottom: 8px; }

@media (max-width: 900px) {
  .service-layout { grid-template-columns: 1fr; gap: 35px; }
  .service-gallery { width: 100%; height: min(65vw, 505px); }
  .service-eyebrow { font-size: 28px; }
  .service-title { font-size: 36px; }
}

@media (max-width: 600px) {
  .builder-two-column { grid-template-columns: 1fr; gap: 28px; }
  .builder-image-right .builder-image { order: 0; }
  .agi-footer-container { grid-template-columns: 1fr; gap: 8px; }
  .agi-footer-links p { text-align: left; }
  .legal-page .section-inner,
  .service-page .section-inner { width: calc(100% - 28px); }
  .legal-page .rich-text { font-size: 15px; line-height: 23px; }
  .service-page { padding-top: 38px; }
  .service-gallery { height: 68vw; }
  .original-footer { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .service-gallery img { animation: none; opacity: 0; }
  .service-gallery img:first-child { opacity: 1; }
}

/* Complete visual builder */
.builder-flex {
  position: relative;
  box-sizing: border-box;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.builder-flex.has-background-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .22);
}
.builder-flex-inner {
  position: relative;
  z-index: 1;
  width: min(1170px, calc(100% - 40px));
  margin: 0 auto;
}
.builder-width-narrow .builder-flex-inner { max-width: 760px; }
.builder-width-normal .builder-flex-inner { max-width: 1170px; }
.builder-width-wide .builder-flex-inner { max-width: 1440px; }
.builder-width-full .builder-flex-inner { width: 100%; max-width: none; }
.builder-space-none { padding-block: 0; }
.builder-space-small { padding-block: 35px; }
.builder-space-normal { padding-block: 70px; }
.builder-space-large { padding-block: 120px; }
.builder-layout-image-left .builder-flex-inner,
.builder-layout-image-right .builder-flex-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(30px, 6vw, 80px);
  align-items: center;
}
.builder-layout-image-right .builder-flex-image { order: 2; }
.builder-layout-center .builder-flex-inner { max-width: 850px; text-align: center; }
.builder-flex-image img { display: block; width: 100%; height: auto; }
.builder-align-left { text-align: left; }
.builder-align-center { text-align: center; }
.builder-align-right { text-align: right; }
.builder-eyebrow {
  margin-bottom: 12px;
  color: #3166fa;
  text-transform: uppercase;
  letter-spacing: .08em;
  font: 600 14px/1.2 Raleway, sans-serif;
}
.builder-flex h2 { margin: 0 0 24px; color: inherit; }
.builder-flex-content > :first-child { margin-top: 0; }
.builder-flex-content > :last-child { margin-bottom: 0; }
.builder-flex-content .agi-lead,
.rich-text .agi-lead { font-size: 1.25em; line-height: 1.55; }
.builder-flex-content .agi-small-note,
.rich-text .agi-small-note { font-size: .85em; line-height: 1.5; opacity: .8; }
.builder-flex .builder-button { display: inline-block; margin-top: 28px; }

@media (max-width: 760px) {
  .builder-layout-image-left .builder-flex-inner,
  .builder-layout-image-right .builder-flex-inner { grid-template-columns: 1fr; }
  .builder-layout-image-right .builder-flex-image { order: 0; }
  .builder-space-large { padding-block: 75px; }
  .builder-space-normal { padding-block: 50px; }
}

.builder-hero {
  position: relative; display: flex; align-items: center; color: #fff;
  background: #3166fa center/cover no-repeat;
}
.builder-hero::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.35); }
.builder-overlay-none::before { display: none; }
.builder-overlay-light::before { background: rgba(0,0,0,.15); }
.builder-overlay-dark::before { background: rgba(0,0,0,.58); }
.builder-hero-small { min-height: 300px; }
.builder-hero-medium { min-height: 460px; }
.builder-hero-large { min-height: 620px; }
.builder-hero-screen { min-height: calc(100vh - 90px); }
.builder-hero-inner { position: relative; z-index: 1; width: min(1170px, calc(100% - 40px)); margin: auto; }
.builder-hero h1 { margin: 0 0 24px; color: inherit; font-size: clamp(42px, 7vw, 86px); }
.builder-card-section { padding: 80px 0; background: #f5f6f8; }
.builder-card-grid { display: grid; gap: 24px; margin-top: 38px; }
.builder-columns-2 { grid-template-columns: repeat(2, 1fr); }
.builder-columns-3 { grid-template-columns: repeat(3, 1fr); }
.builder-columns-4 { grid-template-columns: repeat(4, 1fr); }
.builder-card { display: block; padding: 32px; color: #363636; background: #fff; box-shadow: 0 8px 30px rgba(0,0,0,.08); text-decoration: none; }
.builder-card h3 { color: #3166fa; }
.builder-quote { padding: 90px 0; color: #fff; background: #3166fa; text-align: center; }
.builder-quote blockquote { max-width: 900px; margin: auto; }
.builder-quote blockquote > p { font-size: clamp(28px, 4vw, 48px); line-height: 1.25; }
.builder-quote footer span { display: block; margin-top: 5px; }
.builder-spacer-small { height: 25px; }.builder-spacer-medium { height: 60px; }
.builder-spacer-large { height: 110px; }.builder-spacer-xlarge { height: 180px; }
@media (max-width: 800px) {
  .builder-columns-3, .builder-columns-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .builder-columns-2, .builder-columns-3, .builder-columns-4 { grid-template-columns: 1fr; }
}

.builder-single-image { width: min(100% - 40px, 1170px); margin: 55px auto; }
.builder-single-image img { display: block; max-width: 100%; height: auto; }
.builder-image-width-small { max-width: 480px; }
.builder-image-width-medium { max-width: 760px; }
.builder-image-width-large { max-width: 1170px; }
.builder-image-width-full { width: 100%; max-width: none; }
.builder-single-image.builder-align-left img { margin-right: auto; }
.builder-single-image.builder-align-center img { margin-inline: auto; }
.builder-single-image.builder-align-right img { margin-left: auto; }
.builder-single-image figcaption,
.builder-gallery figcaption { margin-top: 10px; color: #6b6b6b; font-size: 14px; }
.builder-gallery { padding: 70px 0; }
.builder-gallery-grid { display: grid; gap: 24px; }
.builder-gallery figure { margin: 0; }
.builder-gallery img { display: block; width: 100%; height: auto; }

.agi-live-row-inner { display: flex; width: min(1170px, calc(100% - 40px)); margin: auto; }
.agi-live-column { min-width: 0; padding: 15px; }
.agi-col-1{width:8.333%}.agi-col-2{width:16.666%}.agi-col-3{width:25%}.agi-col-4{width:33.333%}.agi-col-5{width:41.666%}.agi-col-6{width:50%}.agi-col-7{width:58.333%}.agi-col-8{width:66.666%}.agi-col-9{width:75%}.agi-col-10{width:83.333%}.agi-col-11{width:91.666%}.agi-col-12{width:100%}
.agi-live-block img{max-width:100%;height:auto}.agi-live-video{aspect-ratio:16/9}.agi-live-video iframe{width:100%;height:100%;border:0}
@media(max-width:700px){.agi-live-row-inner{display:block}.agi-live-column{width:100%}}
.agi-hide-desktop{display:none!important}
@media(max-width:1024px) and (min-width:701px){.agi-hide-desktop{display:revert!important}.agi-hide-tablet{display:none!important}}
@media(max-width:700px){.agi-hide-desktop{display:revert!important}.agi-hide-mobile{display:none!important}}
