@charset "UTF-8";
/*
Theme Name: Gridpilot
Author: STUDIOHORN
Author URI: https://studio-horn.de
Description: Das globale Gridpilot Theme
[...]
Template: twentytwentyfive
[...]
*/
/*== General SCSS ==*/
/*== General ==*/
@font-face {
  font-family: "Frutiger Next Pro";
  src: url("assets/fonts/FrutigerNextPro-Light.eot");
  src: url("assets/fonts/FrutigerNextPro-Light.eot?#iefix") format("embedded-opentype"), url("assets/fonts/FrutigerNextPro-Light.woff2") format("woff2"), url("assets/fonts/FrutigerNextPro-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Frutiger Next Pro";
  src: url("assets/fonts/FrutigerNextPro-Regular.eot");
  src: url("assets/fonts/FrutigerNextPro-Regular.eot?#iefix") format("embedded-opentype"), url("assets/fonts/FrutigerNextPro-Regular.woff2") format("woff2"), url("assets/fonts/FrutigerNextPro-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Frutiger Next Pro";
  src: url("assets/fonts/FrutigerNextPro-Medium.eot");
  src: url("assets/fonts/FrutigerNextPro-Medium.eot?#iefix") format("embedded-opentype"), url("assets/fonts/FrutigerNextPro-Medium.woff2") format("woff2"), url("assets/fonts/FrutigerNextPro-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Frutiger Next Pro";
  src: url("assets/fonts/FrutigerNextPro-Bold.eot");
  src: url("assets/fonts/FrutigerNextPro-Bold.eot?#iefix") format("embedded-opentype"), url("assets/fonts/FrutigerNextPro-Bold.woff2") format("woff2"), url("assets/fonts/FrutigerNextPro-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
main {
  margin-top: 0 !important;
}
h1, h2, h3, h4, h5, h6 {
  font-family: "Frutiger Next Pro", sans-serif !important;
  font-weight: 700;
  font-style: normal;
  letter-spacing: unset !important;
  margin-bottom: var(--wp--preset--spacing--20);
}
p, a, li, div {
  font-family: "Frutiger Next Pro", sans-serif !important;
  letter-spacing: unset !important;
  -webkit-hyphens: auto;
  font-size: var(--fs-p);
  line-height: 1.5em;
  font-weight: 500;
}
strong {
  font-weight: 700 !important;
}
h1 {
  font-size: var(--fs-h1);
}
h2 {
  font-size: var(--fs-h2);
}
h3 {
  font-size: var(--fs-h3);
}
h4 {
  font-size: var(--fs-h4);
}
h5 {
  font-size: var(--fs-h5);
}
a {
  text-decoration: none !important;
  cursor: pointer;
  font-size: inherit;
  font-weight: inherit !important;
  color: inherit !important;
}
:where(.wp-site-blocks *:focus) {
  outline: none;
}
.fs-h4 {
  font-size: var(--fs-h4);
  line-height: 1.25em !important;
}
.fs-30 {
  font-size: var(--fs-h5);
}
.fs-20 {
  font-size: var(--fs-20);
}
:root {
  --primary: #00476C;
  --secondary: #00B0E8;
  --red: #F72B1D;
  --dark-blue: #00476C;
  --cyan: #00B0E8;
  --warmgrey-light-2: #EEEAE8;
  --coolgrey-dark: #6C8794;
  /* Bitte Schriftgrößen nun in diesem Format anlegen */
  --fs-display: clamp(42px, 2.625rem + ((1vw - 3.2px) * 1.25), 62px);
  --fs-h1: var(--fs-display);
  --fs-h2: clamp(32px, 2rem + ((1vw - 3.2px) * 0.813), 45px);
  --fs-h3: clamp(28px, 1.75rem + ((1vw - 3.2px) * 0.625), 38px);
  --fs-h4: clamp(22px, 1.375rem + ((1vw - 3.2px) * 0.5), 30px);
  --fs-h5: clamp(18px, 1.125rem + ((1vw - 3.2px) * 0.25), 22px);
  --fs-20: clamp(16px, 1rem + ((1vw - 3.2px) * 0.25), 20px);
  --fs-p-small: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.156), 16px);
  --fs-p: clamp(16px, 1rem + ((1vw - 3.2px) * 0.375), 22px);
  --fs-p-big: clamp(22px, 1.375rem + ((1vw - 3.2px) * 0.5), 30px);
  --fs-nav: clamp(16px, 1rem + ((1vw - 3.2px) * 0.5), 24px);
  --fs-step-number: clamp(45px, 2.813rem + ((1vw - 3.2px) * 1.25), 65px);
}
/* Hiermit können die responsive Spacings von Wordpress angepasst werden

@media(max-width: 1200px) {
  body {
    --wp--preset--spacing--10: 1rem !important;
    --wp--preset--spacing--30: min(1.5rem, 2.0vw) !important;
    --wp--preset--spacing--40: min(2rem, 3vw) !important;
    --wp--preset--spacing--50: min(4.5rem, 6vw) !important;
    --wp--preset--spacing--60: min(6.5rem, 8vw) !important;
  }
} */
.responsive-padding-x {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}
@media (min-width: 768px) {
  .responsive-padding-x {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
}
@media (min-width: 992px) {
  .responsive-padding-x {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
}
.img-w-100 img {
  width: 100% !important;
}
.wp-block-cover {
  overflow: hidden;
}
.fw-blod, .fw-bold {
  font-weight: 700 !important;
}
.fw-semibold {
  font-weight: 500 !important;
}
.fw-regular {
  font-weight: 400 !important;
}
.fw-medium {
  font-weight: 500 !important;
}
.fw-light {
  font-weight: 300 !important;
}
.text-primary {
  color: var(--primary) !important;
}
.text-secondary {
  color: var(--secondary) !important;
}
.text-red {
  color: var(--red) !important;
}
.text-dark-blue {
  color: var(--dark-blue) !important;
}
.text-right {
  text-align: right;
}
.text-left {
  text-align: left;
}
.wp-site-blocks {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  max-width: 100vw;
  overflow: hidden;
}
.hyphens-auto {
  hyphens: auto !important;
  -webkit-hyphens: auto !important;
}
.wp-site-blocks .alignfull, .wp-site-blocks > .wp-block-group.has-background, .wp-site-blocks > .wp-block-cover, .wp-site-blocks > .wp-block-template-part > .wp-block-group.has-background, .wp-site-blocks > .wp-block-template-part > .wp-block-cover, body > .is-root-container > .wp-block-cover, body > .is-root-container > .wp-block-template-part > .wp-block-group.has-background, body > .is-root-container > .wp-block-template-part > .wp-block-cover, .is-root-container .wp-block[data-align="full"] {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: unset;
}
.border-primary {
  border-color: var(--primary) !important;
}
.border-secondary {
  border-color: var(--secondary) !important;
}
.entry-content {
  margin-top: 0 !important;
}
@media (max-width: 992px) {
  .center-animated-text-group .spacer-10vw {
    height: 20vw !important;
  }
  .center-animated-text-group .spacer-18vw {
    height: 30vw !important;
  }
}
.mw-unset {
  max-width: unset;
}
.mw-unset img {
  max-width: unset;
}
.wp-block-button__link.has-primary-color {
  transition: 0.25s;
}
.wp-block-button__link.has-primary-color:hover {
  background-color: var(--primary) !important;
  color: white !important;
  border-color: var(--primary) !important;
}
/*== Layout ==*/
table td {
  padding-left: 0 !important;
  padding-right: 0.25em !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
table * {
  font-size: var(--fs-p);
}
/*== Layout END ==*/
/*== z-index Styling ==*/
.z-99 {
  z-index: 99 !important;
  position: relative;
}
.z-98 {
  z-index: 98 !important;
  position: relative;
}
.z-97 {
  z-index: 97 !important;
  position: relative;
}
.z-96 {
  z-index: 96 !important;
  position: relative;
}
.z-95 {
  z-index: 95 !important;
  position: relative;
}
.z-94 {
  z-index: 94 !important;
  position: relative;
}
/*== WPForms Styling ==*/
.wpforms-container input, .wpforms-container textarea {
  border-color: var(--secondary) !important;
  border-radius: 0px !important;
}
.wpforms-container legend, .wpforms-container label {
  color: var(--secondary) !important;
}
.wpforms-container button {
  padding: 10px 15px !important;
  border-radius: 0 !important;
  border: solid 1px var(--primary) !important;
  background-color: var(--primary) !important;
  color: white !important;
  font-family: "Frutiger Next Pro", sans-serif;
  font-weight: 700 !important;
  transition: 0.25s;
  font-size: 20px !important;
}
.wpforms-container button:hover {
  transform: scale(1.1);
}
/*== WPForms Styling END ==*/
.grecaptcha-badge {
  opacity: 0 !important;
}
/*== General END ==*/
/*== Navigation ==*/
.topnav a:hover {
  text-decoration: underline !important;
}
/*== Navigation END ==*/
/*== Header ==*/
@media (max-width: 781px) {
  header .header-cols {
    gap: 0;
  }
  header .header-cols .wp-block-column:first-child {
    height: 50vh !important;
  }
  header .header-cols .wp-block-column:first-child .wp-block-cover {
    padding-top: 0 !important;
    min-height: 50vh !important;
  }
  header .header-cols .wp-block-column:first-child .wp-block-cover .logo-fade {
    margin-top: 15vh;
  }
  header .header-cols .wp-block-column:first-child img:not(.logo-image img) {
    height: 50vh !important;
  }
  header .header-cols .wp-block-column:nth-child(2) {
    height: 50vh !important;
    padding-top: 2rem !important;
    padding-bottom: 3rem !important;
  }
  header .header-cols .wp-block-column:nth-child(2) .topnav {
    gap: 1rem;
  }
  header .header-cols .wp-block-column:nth-child(2) .topnav a {
    font-size: 22px;
  }
}
/*== Header END ==*/
/*== Site specific SCSS ==*/
/*== content ==*/
.numbers {
  width: 140px;
  height: 90px;
}
.stabs {
  height: 189px !important;
}
.full-height-100 {
  height: 100% !important;
  min-height: 100% !important;
}
.text-gradient {
  background: linear-gradient(90deg, var(--cyan) 0%, var(--dark-blue) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  font-weight: 700 !important;
}
/* Contact icon alignment */
.wp-block-column.is-vertically-aligned-stretch.full-height-100 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  height: auto !important;
  min-height: auto !important;
}
.wp-block-column.is-vertically-aligned-stretch.full-height-100 > .wp-block-group.full-height-100 {
  flex: 1 1 auto;
  width: 100%;
}
.wp-block-group.full-height-100 > .wp-block-columns.full-height-100 {
  align-items: stretch;
  column-gap: clamp(2rem, 4vw, 3.5rem);
  flex: 1 1 auto;
  justify-content: flex-end;
  width: 100%;
}
.wp-block-columns.full-height-100 > .wp-block-column.full-height-100 {
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  height: auto !important;
  width: auto;
}
@media (min-width: 782px) {
  .wp-block-columns.full-height-100 > .wp-block-column.full-height-100 {
    min-height: 100% !important;
  }
}
.wp-block-columns.full-height-100 > .wp-block-column.is-vertically-aligned-top {
  justify-content: flex-start;
}
.wp-block-columns.full-height-100 > .wp-block-column.is-vertically-aligned-bottom {
  justify-content: flex-end;
}
.wp-block-columns.full-height-100 > .wp-block-column.is-vertically-aligned-bottom .wp-block-image {
  margin-top: auto;
}
.wp-block-columns.full-height-100 > .wp-block-column:last-child .wp-block-image {
  margin-left: auto;
}
.contact-sticky-floater {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 90;
  transform: translateY(-50%);
  cursor: pointer;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
@media (max-width: 781px) {
  .contact-sticky-floater {
    max-width: 100px;
  }
}
.contact-sticky-floater.is-hidden {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}
.contact-sticky {
  --sidebar-shadow: -3px 5px 6px 0 rgba(0, 0, 0, 0.25);
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 100;
  width: min(600px, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
  box-shadow: var(--sidebar-shadow);
  opacity: 0;
  pointer-events: none;
  transform: translate(100%, -50%);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  visibility: hidden;
}
.contact-sticky.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translate(0, -50%);
  visibility: visible;
}
.contact-sticky .contact-sticky-close {
  cursor: pointer;
  position: relative;
  z-index: 2;
}
.gridpilot-cf7-form {
  --form-border: var(--cyan);
  --form-gap-x: 20px;
  --form-gap-y: 18px;
  font-size: 16px;
  line-height: 22px;
}
.gridpilot-cf7-form p {
  margin: 0 !important;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.gridpilot-cf7-form .form-row {
  margin-bottom: var(--form-gap-y);
}
.gridpilot-cf7-form .form-row > p {
  display: contents;
}
.gridpilot-cf7-form .form-row label {
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
.gridpilot-cf7-form .form-row label > br {
  display: none;
}
.gridpilot-cf7-form .form-row span {
  display: block;
}
.gridpilot-cf7-form .form-row label > span:not(.wpcf7-form-control-wrap) {
  margin-bottom: 6px;
}
.gridpilot-cf7-form .form-row--two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--form-gap-x);
}
.gridpilot-cf7-form .form-row--half {
  max-width: 260px;
}
.gridpilot-cf7-form input, .gridpilot-cf7-form select, .gridpilot-cf7-form textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  border: 1px solid var(--form-border);
  border-radius: 0;
  background: #fff;
  color: #0f0e0e;
  font-family: "Frutiger Next Pro", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
}
.gridpilot-cf7-form .wpcf7-form-control-wrap {
  display: block;
}
.gridpilot-cf7-form input, .gridpilot-cf7-form select {
  height: 35px;
  padding: 5px 10px;
}
.gridpilot-cf7-form textarea {
  height: 180px;
  padding: 8px 10px;
  resize: vertical;
}
.gridpilot-cf7-form .form-privacy {
  margin: 0 0 48px;
}
.gridpilot-cf7-form .form-privacy .wpcf7-list-item {
  margin: 0;
}
.gridpilot-cf7-form .form-privacy label {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 16px;
  line-height: 22px;
}
.gridpilot-cf7-form .form-privacy input[type="checkbox"] {
  width: 15px;
  height: 15px;
  padding: 0;
  margin: 0;
  appearance: none;
}
.gridpilot-cf7-form .form-submit input {
  width: 260px;
  height: 35px;
  border: 1px solid var(--cyan);
  background: var(--cyan);
  padding: 8px 10px 5px 10px;
  color: #fff;
  font-size: 22px;
  font-weight: 500;
  line-height: 22px;
  cursor: pointer;
}
@media (max-width: 640px) {
  .gridpilot-cf7-form .form-row--two {
    grid-template-columns: 1fr;
  }
  .gridpilot-cf7-form .form-row--half, .gridpilot-cf7-form .form-submit input {
    max-width: none;
    width: 100%;
  }
}
@media (max-width: 781px) {
  .text-gradient {
    hyphens: auto;
    font-size: 30px !important;
  }
}
/*== content END ==*/
/*== Blog Stying ==*/
/*== Module specific SCSS ==*/
/*== Footer ==*/
@media (max-width: 781px) {
  footer .contact-icons .wp-block-column {
    width: 28% !important;
    height: 140px !important;
    min-height: 140px !important;
  }
}
/*== Footer END ==*/
