/*!
* Web Fonts from Fontspring.com
*
* All OpenType features and all extended glyphs have been removed.
* Fully installable fonts can be purchased at https://www.fontspring.com
*
* The fonts included in this stylesheet are subject to the End User License you purchased
* from Fontspring. The fonts are protected under domestic and international trademark and
* copyright law. You are prohibited from modifying, reverse engineering, duplicating, or
* distributing this font software.
*
* (c) 2010-2025 Fontspring
*
*
*
*
* The fonts included are copyrighted by the vendor listed below.
*
* Vendor:      Dharma Type
* License URL: https://www.fontspring.com/licenses/dharma-type/webfont
*
*
*/
@font-face {
  font-family: "Gomme-Sans";
  src: url("fonts/gommesans-bold-webfont.woff2") format("woff2"), url("fonts/gommesans-bold-webfont.woff") format("woff");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Gomme-Sans";
  src: url("fonts/gommesans-extrabold-webfont.woff2") format("woff2"), url("fonts/gommesans-extrabold-webfont.woff") format("woff");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "Gomme-Sans";
  src: url("fonts/gommesans-regular-webfont.woff2") format("woff2"), url("fonts/gommesans-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Facto";
  src: url("fonts/raneltenormbold-webfont.woff2") format("woff2"), url("fonts/raneltenormbold-webfont.woff") format("woff");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Facto";
  src: url("fonts/raneltenormregular-webfont.woff2") format("woff2"), url("fonts/raneltenormregular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
/***************************************************************
FRAMEWORK VARIABLES
****************************************************************/
/****************************************************************
Widths
****************************************************************/
/****************************************************************
Colors
****************************************************************/
/* COLOR DEFINITON */
/* MenueColors */
/***************************************************************
MOBILE MIXINS
****************************************************************/
/***************************************************************
OTHER MIXINS
****************************************************************/
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  height: 24px;
  width: 32px;
  display: block;
  float: left;
  cursor: pointer;
  background: red;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
  padding: 0;
}

.hamburger:hover {
  opacity: 0.8;
}

.hamburger-box {
  width: 100%;
  height: 100%;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  width: 100%;
  height: 4px;
  background-color: #323232;
  border-radius: 0;
  position: absolute;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}

.hamburger-inner::before {
  top: -10px;
}

.hamburger-inner::after {
  bottom: -10px;
}

/*
 * Collapse
 */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.15s;
  transition-delay: 0.15s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse .hamburger-inner::after {
  top: -20px;
  transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

.hamburger--collapse .hamburger-inner::before {
  transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
  transform: translate3d(0, -10px, 0) rotate(-45deg);
  transition-delay: 0.32s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--collapse.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.27s linear;
}

.hamburger--collapse.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1);
}

body {
  margin: 0;
  padding: 0;
}

section {
  padding: 3rem 1.5rem;
  overflow: hidden;
}
@media (min-width: 600px) {
  section {
    padding: 5rem 1.5rem;
  }
}
@media (min-width: 901px) {
  section {
    padding: 8rem 1.5rem;
  }
}

article {
  max-width: 71.25rem;
  margin: 0 auto;
  padding: 0;
}
@media (min-width: 901px) {
  article {
    padding: 0;
  }
}
article.padding {
  padding: 0;
}
@media (max-width: 599px) {
  article.padding {
    padding: 0;
  }
}

header article {
  display: flex;
  padding: 1rem;
  padding-left: 0rem;
  padding-right: 0rem;
  align-items: center;
}
header article nav {
  display: flex;
  align-items: center;
  font-size: 0.6rem;
  font-size: clamp(0.6rem, 0.1290697674rem + 1.2558139535vw, 0.9375rem);
}
header article nav .navLinks {
  display: flex;
  align-items: center;
}
@media (max-width: 599px) {
  header article nav .navLinks {
    display: none;
  }
}
header article nav a {
  display: block;
  text-decoration: none;
}

section article img {
  max-width: 100%;
}

.overflowHidden {
  overflow: hidden;
  touch-action: none;
}

.buttons {
  display: flex;
  gap: 1rem;
}

.button, #mobilenav nav.topnav ul li:nth-child(5) {
  font-size: 1rem;
  font-size: clamp(1rem, 0.8255813953rem + 0.4651162791vw, 1.125rem);
  line-height: 1.375rem;
  line-height: clamp(1.375rem, 1.375rem + 0vw, 1.375rem);
  border-radius: 0.375rem;
  padding: 0.5rem 1rem;
  padding-bottom: 0.8rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  text-decoration: none;
  color: #EC6602;
  font-weight: 800;
  width: 100%;
  text-align: center;
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  text-transform: uppercase;
  border: none;
  letter-spacing: 0.03125rem;
  background-color: #fff;
  width: 100%;
}
@media (min-width: 600px) {
  .button, #mobilenav nav.topnav ul li:nth-child(5) {
    max-width: fit-content;
    font-size: 1.25rem;
    line-height: 1.625rem;
    padding: 0.75rem 1.5rem;
    width: fit-content;
  }
}
.button:focus, #mobilenav nav.topnav ul li:focus:nth-child(5) {
  text-decoration: none;
}
.button.full, #mobilenav nav.topnav ul li.full:nth-child(5) {
  background-color: #EC6602;
  color: #fff;
}
.button.big, #mobilenav nav.topnav ul li.big:nth-child(5) {
  padding: 1rem 2.6rem;
  padding-bottom: 1.1125rem;
  font-size: 1.5rem;
}
.button.white, #mobilenav nav.topnav ul li:nth-child(5) {
  background: #fff;
  color: #EC6602;
  border: 2px solid #fff;
}
.button.white.trans, #mobilenav nav.topnav ul li:nth-child(5) {
  background: none;
  color: #fff;
}
.button.pink, #mobilenav nav.topnav ul li.pink:nth-child(5) {
  background: rgb(177, 0, 97);
  background: linear-gradient(0deg, rgb(177, 0, 97) 0%, rgb(229, 0, 125) 100%);
  color: #fff;
}
.button.centeredMargin, #mobilenav nav.topnav ul li.centeredMargin:nth-child(5) {
  margin-left: auto;
  margin-right: auto;
}
.button.pinnedRight, #mobilenav nav.topnav ul li.pinnedRight:nth-child(5) {
  margin-left: auto;
  margin-right: 0;
}
.button.small, #mobilenav nav.topnav ul li.small:nth-child(5) {
  padding: 0.5rem 1rem;
  font-size: 0.8rem;
  line-height: 1.2rem;
}

.button:hover, #mobilenav nav.topnav ul li:hover:nth-child(5) {
  text-decoration: none;
}

a {
  color: #EC6602;
  text-decoration: none;
}
a:hover, a:focus {
  text-decoration: none;
  color: #EC6602;
}

body.template h1, body.template h2, body.template h3, body.template h4, body.template h5, body.template h6 {
  margin-top: 3rem;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
  gap: 1.5rem;
}
.grid .item {
  display: flex;
  align-items: center;
  justify-content: center;
}
.grid.threecol {
  grid-template-columns: 1fr 1fr 1fr;
}
.grid.fourcol {
  grid-template-columns: 1fr;
}
@media (min-width: 600px) {
  .grid.fourcol {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.bgPrimaryColor {
  background-color: #EC6602;
  color: #fff;
}

.bgLightBlue {
  background-color: #82D0F5;
}

.lightBlue {
  color: #82D0F5;
}

.bgBlue {
  background-color: #0067B1;
}

.blue {
  color: #0067B1;
}

.lightBlueGradient {
  background: linear-gradient(287.7deg, rgba(0, 159, 227, 0.15) 19.79%, rgba(0, 159, 227, 0) 81.25%), #FFFFFF;
}

.bgDarkPink {
  background: rgb(177, 0, 97);
  background: linear-gradient(0deg, rgb(177, 0, 97) 0%, rgb(229, 0, 125) 100%);
}

.primaryColor {
  color: #EC6602;
}

.bgBlack {
  background-color: #1A1A18;
  color: #fff;
}
.bgBlack * {
  color: #fff;
}

.bgSecondaryColor {
  background-color: #E5007D;
  color: #fff;
}

.white, #mobilenav nav.topnav ul li:nth-child(5) {
  color: #fff;
}

.black {
  color: #1A1A18;
}

.noPaddingTop {
  padding-top: 0;
}

.noPaddingBottom {
  padding-bottom: 0;
}

.noPaddingV {
  padding-top: 0;
  padding-bottom: 0;
}

.textLessWidth:first-child {
  position: relative;
}

.imageOverFlow {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 901px) {
  .imageOverFlow img {
    position: absolute;
    max-width: 480px;
  }
}

.desktop {
  display: none;
}
@media (min-width: 901px) {
  .desktop {
    display: block;
  }
}

.mobile {
  display: block;
}
@media (min-width: 901px) {
  .mobile {
    display: none;
  }
}

.tablet-up {
  display: none;
}
@media (min-width: 600px) {
  .tablet-up {
    display: block;
  }
}

.tablet {
  display: none;
}
@media (min-width: 600px) and (max-width: 900px) {
  .tablet {
    display: block;
  }
}

.phone {
  display: none;
}
@media (max-width: 599px) {
  .phone {
    display: block;
  }
}

.desktop-only {
  display: none;
}
@media (min-width: 1200px) {
  .desktop-only {
    display: block;
  }
}

.spaceLeft {
  margin-left: 40%;
}
@media (max-width: 599px) {
  .spaceLeft {
    margin-left: 0;
  }
}

.spaceRight {
  margin-right: 40%;
}
@media (max-width: 599px) {
  .spaceRight {
    margin-right: 0;
  }
}

.mobileBlock {
  display: inline;
}
@media (max-width: 599px) {
  .mobileBlock {
    display: block;
  }
}

.desktopBlock {
  display: block;
}
@media (max-width: 599px) {
  .desktopBlock {
    display: inline;
  }
}

h1.display {
  font-size: 3rem;
  font-size: clamp(3rem, 0.2093023256rem + 7.4418604651vw, 5rem);
  line-height: 3rem;
  line-height: clamp(3rem, -0.488372093rem + 9.3023255814vw, 5.5rem);
  font-weight: 800;
}

h1 {
  font-size: 1.875rem;
  font-size: clamp(1.875rem, 0.3052325581rem + 4.1860465116vw, 3rem);
  line-height: 2.125rem;
  line-height: clamp(2.125rem, 0.2063953488rem + 5.1162790698vw, 3.5rem);
  font-weight: 800;
}

h2 {
  font-size: 1.875rem;
  font-size: clamp(1.875rem, 0.3052325581rem + 4.1860465116vw, 3rem);
  line-height: 2.125rem;
  line-height: clamp(2.125rem, 0.2063953488rem + 5.1162790698vw, 3.5rem);
  margin-bottom: clamp(0.875rem, 0.12rem + 2.35vw, 1rem);
  font-weight: 400;
}

h3 {
  font-size: 1.625rem;
  font-size: clamp(1.625rem, 0.7529069767rem + 2.3255813953vw, 2.25rem);
  line-height: 2rem;
  line-height: clamp(2rem, 0.6046511628rem + 3.7209302326vw, 3rem);
  font-weight: 700;
}

h4 {
  font-size: 1.375rem;
  font-size: clamp(1.375rem, 1.375rem + 0vw, 1.375rem);
  line-height: 1.25rem;
  line-height: clamp(1.25rem, 0.726744186rem + 1.3953488372vw, 1.625rem);
  font-weight: 800;
}

h5 {
  font-size: 0.875rem;
  font-size: clamp(0.875rem, 0.875rem + 0vw, 0.875rem);
  line-height: 1.375rem;
  line-height: clamp(1.375rem, 1.375rem + 0vw, 1.375rem);
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: bold;
}

h6 {
  font-size: 0.75rem;
  font-size: clamp(0.75rem, 0.5755813953rem + 0.4651162791vw, 0.875rem);
  line-height: 1rem;
  line-height: clamp(1rem, 1rem + 0vw, 1rem);
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: bold;
}

.pretitle {
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.7761627907rem + 0.9302325581vw, 1.375rem);
  line-height: 1.25rem;
  line-height: clamp(1.25rem, 0.726744186rem + 1.3953488372vw, 1.625rem);
  font-weight: 700;
}

.teaser.big {
  font-size: 1.25rem;
  font-size: clamp(1.25rem, 0.2034883721rem + 2.7906976744vw, 2rem);
  line-height: 1.5rem;
  line-height: clamp(1.5rem, 0.3174418605rem + 3.1534883721vw, 2.3475rem);
  margin-bottom: clamp(1.25rem, 0.12rem + 2.35vw, 2rem);
}

.teaser {
  font-size: 1.25rem;
  font-size: clamp(1.25rem, 0.726744186rem + 1.3953488372vw, 1.625rem);
  line-height: 1.5rem;
  line-height: clamp(1.5rem, 0.4534883721rem + 2.7906976744vw, 2.25rem);
  margin-bottom: clamp(1rem, 0.12rem + 2.35vw, 1.5rem);
  color: #323232;
}

.p.subheadline {
  font-size: 1.25rem;
  font-size: clamp(1.25rem, 0.726744186rem + 1.3953488372vw, 1.625rem);
  line-height: 1.5rem;
  line-height: clamp(1.5rem, 0.4534883721rem + 2.7906976744vw, 2.25rem);
  margin-bottom: clamp(1rem, 0.12rem + 2.35vw, 1.5rem) !important;
  color: #323232;
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif !important;
}

p, div.p {
  font-size: 1.1875rem;
  font-size: clamp(1.1875rem, 1.0130813953rem + 0.4651162791vw, 1.3125rem);
  line-height: 1.6875rem;
  line-height: clamp(1.6875rem, 1.3386627907rem + 0.9302325581vw, 1.9375rem);
  margin-bottom: clamp(1rem, 0.12rem + 2.35vw, 2rem);
  letter-spacing: 0.05rem;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
}
p:last-child, div.p:last-child {
  margin-bottom: 0;
}

p.small, div.small {
  font-size: 0.9375rem;
  font-size: clamp(0.9375rem, 0.7630813953rem + 0.4651162791vw, 1.0625rem);
  line-height: 1.25rem;
  line-height: clamp(1.25rem, 0.988372093rem + 0.6976744186vw, 1.4375rem);
  margin-bottom: clamp(1rem, 0.06rem + 1.18vw, 1.5rem);
  letter-spacing: 0.8px;
}
@media (max-width: 599px) {
  p.small, div.small {
    letter-spacing: 0.7px;
  }
}

p.verysmall {
  font-size: 0.6rem;
  font-size: clamp(0.6rem, 0.2162790698rem + 1.023255814vw, 0.875rem);
  line-height: 0.9rem;
  line-height: clamp(0.9rem, 0.6209302326rem + 0.7441860465vw, 1.1rem);
  margin-bottom: clamp(0.5rem, 0.06rem + 1.18vw, 1rem);
}

caption, .caption {
  font-size: 0.875rem;
  font-size: clamp(0.875rem, 0.7005813953rem + 0.4651162791vw, 1rem);
  line-height: 1.375rem;
  line-height: clamp(1.375rem, 1.2005813953rem + 0.4651162791vw, 1.5rem);
}

.quote {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.375rem;
  font-size: clamp(1.375rem, 0.851744186rem + 1.3953488372vw, 1.75rem);
  line-height: 2rem;
  line-height: clamp(2rem, 1.3023255814rem + 1.8604651163vw, 2.5rem);
}

.button, #mobilenav nav.topnav ul li:nth-child(5) {
  -webkit-transition: -webkit-transform 400ms ease-in-out;
  transition: -webkit-transform 400ms ease-in-out;
  transform: scale(1, 1);
}

.button:hover, #mobilenav nav.topnav ul li:hover:nth-child(5) {
  transform: scale(1.05, 1.05);
  z-index: 10;
}

input:-webkit-autofill,
input:-webkit-autofill:focus {
  transition: background-color 600000s 0s, color 600000s 0s;
}

input[data-autocompleted] {
  background-color: transparent !important;
}

.slider {
  margin-top: 3rem;
}
.slider .slick-slide {
  margin: 0 1rem;
}
@media (max-width: 599px) {
  .slider .slick-slide:last-child {
    margin-right: 1.5rem;
  }
  .slider .slick-slide:first-child {
    margin-left: 1.5rem;
  }
}
.slider .slick-list {
  margin: 0 -1rem;
}
@media (max-width: 599px) {
  .slider .slick-list {
    margin: 0 -0.5rem 0 -1.5rem;
  }
}
@media (max-width: 599px) {
  .slider.fullright {
    width: calc(100vw - 30px);
  }
}

.posrel {
  position: relative;
}

header article {
  display: flex;
}
header article #logo {
  display: block;
  margin-right: 2rem;
}
header article .hamburger {
  display: inline-block;
}
@media (min-width: 901px) {
  header article .hamburger {
    display: none;
  }
}
header article .hamburger {
  height: 16px;
  width: 36px;
}
header article .hamburger .hamburger-inner {
  width: 36px;
  color: #fff;
}
@media (max-width: 900px) {
  header {
    background-color: #fff !important;
  }
}

@media (max-width: 900px) {
  #header {
    margin-top: 3rem;
  }
}

nav {
  letter-spacing: 1px;
  line-height: 1rem;
  font-size: 1rem;
  line-height: 1.2rem;
}
nav a {
  color: #1A1A18;
}
nav a:hover {
  text-decoration: none;
  color: #004e85;
}
nav a:focus {
  text-decoration: none;
}
nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
}
nav > ul {
  position: relative;
}
nav > ul li {
  padding: 0.5rem;
  padding-left: 0;
  padding-right: 0;
}
nav > ul li ul {
  position: absolute;
  flex-direction: column;
  display: none;
  background: #fff;
  border: 1px solid #ddd;
  margin-top: 0.5rem;
}
nav > ul li ul li {
  padding: 0.5rem;
  white-space: nowrap;
}
nav > ul li:hover ul {
  display: block;
}

#rightnav {
  display: flex;
  align-items: center;
  gap: 1rem;
}

nav#language {
  transition: 0.8s ease-in-out;
  z-index: 1;
  position: relative;
}
nav#language ul.showlang {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav#language ul.showlang > li {
  padding: 1rem 0;
}
nav#language ul.showlang li:hover ul.lang {
  opacity: 1;
  left: -1rem;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
nav#language ul.lang {
  border: 1px solid #dbdbdb;
  background: #fff;
  position: absolute;
  z-index: 1;
  top: 3rem;
  left: -9999px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  opacity: 0;
  z-index: 999;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
nav#language ul.lang li {
  display: block;
  padding: 0.3rem 3rem 0.3rem 1rem;
}
nav#language ul.lang li a {
  color: #333;
}
nav#language ul.lang li a:hover {
  text-decoration: none;
  color: #005eb8;
}
nav#language ul.lang li.active {
  color: #005eb8;
  background: #f7f7f7;
}

html {
  scroll-padding-top: 160px; /* height of sticky header */
}

body {
  color: #555;
  background: #fff;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6, .teaser, .pretitle {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
}

.fixed-position {
  overflow: hidden;
}

section.anchor {
  display: block;
  position: relative;
  top: -250px;
  visibility: hidden;
}

header {
  position: fixed;
  width: 100%;
  z-index: 20;
  top: 0;
  transition: background-color 0.3s ease-in-out;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 901px) {
  header {
    height: 10rem;
  }
}
@media (max-width: 900px) {
  header {
    height: 5rem;
  }
}
header .mobileoverlayContainer {
  display: none;
  position: absolute;
  left: 0;
  top: auto;
  right: 0;
  bottom: auto;
  height: calc(100vh - 80px);
  margin: 0rem;
  padding-top: 6rem;
  z-index: 10;
  background-color: #0267B2;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 7rem;
  width: 100%;
  flex-direction: column;
  justify-content: space-between;
}
header .mobileoverlayContainer .mobileoverlay {
  width: 100%;
  /*
  @include for-tablet{
   max-width: 70%;
   margin-left: auto;
   margin-right: auto;
  }*/
}
header .mobileoverlayContainer .mobileoverlay .button, header .mobileoverlayContainer .mobileoverlay #mobilenav nav.topnav ul li:nth-child(5), #mobilenav nav.topnav ul header .mobileoverlayContainer .mobileoverlay li:nth-child(5) {
  min-width: 250px;
  margin: 0 auto 1rem auto;
}
@media (max-width: 599px) {
  header .mobileoverlayContainer .mobileoverlay .button, header .mobileoverlayContainer .mobileoverlay #mobilenav nav.topnav ul li:nth-child(5), #mobilenav nav.topnav ul header .mobileoverlayContainer .mobileoverlay li:nth-child(5) {
    width: 100%;
    max-width: none;
  }
}
header .mobileoverlayContainer .menuecontainer {
  display: flex;
  flex-direction: column;
}
@media (min-width: 600px) and (max-width: 900px) {
  header .mobileoverlayContainer .menuecontainer {
    align-items: center;
  }
}
header .mobileoverlayContainer .menuecontainer .mobilelink {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 26px;
  line-height: 32px;
  color: #FFFFFF;
  margin-bottom: 2rem;
  text-decoration: none;
  letter-spacing: 0.8px;
}
header .mobileoverlayContainer .menuecontainer .linktext {
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 17px;
  line-height: 23px;
  letter-spacing: 0.8px;
}
header .bottomtext {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
}
header .bottomtext a {
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  color: #FFFFFF;
  text-decoration: none;
}
header article {
  height: 100%;
  max-width: 71.25rem;
  display: flex;
  margin: 0 auto;
  align-items: center;
  padding: 0;
}
@media (max-width: 900px) {
  header article {
    justify-content: space-between;
  }
}
header article nav.main a {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}
header article #logo {
  font-size: 1.625rem;
  line-height: 1.75rem;
  color: #EC6602;
  z-index: 100;
}
@media (max-width: 900px) {
  header article #logo {
    border-radius: 0.375rem;
  }
}
@media (max-width: 900px) {
  header article #logo {
    background-color: white;
  }
}
header article #logo a {
  text-decoration: none;
}
header article #logo a .logoText {
  position: relative;
  top: 3px;
}
header article #logo a img {
  max-height: 5rem;
}
@media (max-width: 599px) {
  header article #logo a img {
    max-height: 3rem;
  }
}
header #hamburger {
  z-index: 100;
}

.navbox {
  display: none;
  height: 100%;
}
@media (min-width: 901px) {
  .navbox {
    display: block;
  }
}

#topnav {
  margin-bottom: 2.8rem;
}
#topnav nav.main ul li {
  padding: 0.625rem 1.5rem;
  border-left: 1px solid #fff;
}
#topnav nav.main ul li.active {
  border: 1px solid #fff;
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-top: 0;
}
#topnav nav.main ul li.active + li {
  border-left: none;
}
#topnav nav.main ul li a {
  font-size: 14px;
  line-height: 14px;
  letter-spacing: 0.8px;
}

#mainnav {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 25px;
  margin-top: 4.75rem;
}
#mainnav nav.main ul {
  gap: 2.5rem;
}
#mainnav nav.main ul li:hover a, #mainnav nav.main ul li.active a {
  color: #323232;
}

#rightnav {
  display: none;
  position: fixed;
  z-index: 20;
  right: 0;
  background: #fff;
  border-bottom-left-radius: 0.5rem;
}
@media (min-width: 901px) {
  #rightnav {
    display: block;
  }
}
#rightnav nav.main ul li {
  padding: 0.625rem 0.75rem;
}
#rightnav nav.main ul li a {
  color: #323232;
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 14px;
}
#rightnav nav.main ul li:first-child {
  padding-left: 1.5rem;
}
#rightnav nav.main ul li:nth-child(4) {
  padding-right: 1.5rem;
}
#rightnav nav.main ul li:last-child {
  background: #EC6602;
  padding-left: 1.5rem;
}
#rightnav nav.main ul li:last-child > a {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.8px;
  position: relative;
  padding-left: 1.5rem;
  gap: 0.5rem;
  font-weight: 800;
  color: #fff;
}
#rightnav nav.main ul li:last-child > a::before {
  content: "";
  position: absolute;
  background: url("/img/mail-icon.svg") no-repeat;
  background-size: 1rem;
  width: 1rem;
  height: 1rem;
  left: 0;
}
#rightnav nav.main ul li:last-child:hover {
  background: #EC6602;
}
#rightnav nav.main ul li:last-child:hover a {
  color: #fff;
}
#rightnav nav.main ul li:last-child ul {
  background: #EC6602;
  border: none;
  width: 100%;
  margin-left: -1.5rem;
}
#rightnav nav.main ul li:last-child ul li {
  padding-left: 1.5rem;
}
#rightnav nav.main ul li:last-child ul li a {
  color: #fff;
}
#rightnav nav.main ul li:last-child ul li:hover a {
  color: #EC6602;
}
#rightnav nav.main ul li:hover a {
  color: #EC6602;
}
#rightnav nav.main ul li.active a {
  color: #EC6602;
}

section.backgroundLightBlue {
  background: rgba(130, 208, 245, 0.2);
}

#mobilenav {
  position: fixed;
  top: 0;
  left: 100vw;
  display: block;
  width: 100vw;
  bottom: 0;
  overflow-y: auto;
  background: #EC6602;
  color: #fff;
  z-index: 99;
  transition: left 0.5s ease-in-out;
  text-align: left;
  border-top: 80px solid white;
  padding: 8rem 1.5rem 0 1.5rem;
}
@media (min-width: 901px) {
  #mobilenav {
    display: none;
  }
}
@media (max-width: 599px) {
  #mobilenav {
    padding-top: 3rem;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  #mobilenav {
    padding-top: 8rem;
  }
}
#mobilenav hr {
  opacity: 1;
  margin-bottom: 2rem;
  margin-top: 0;
}
#mobilenav.open {
  display: block;
  left: 0;
}
@media (min-width: 600px) and (max-width: 900px) {
  #mobilenav.open {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
#mobilenav nav ul {
  flex-direction: column;
}
#mobilenav nav ul li {
  margin-bottom: 1rem;
}
@media (max-width: 599px) {
  #mobilenav nav ul li {
    margin-bottom: 0rem;
  }
}
#mobilenav nav ul li a {
  color: #fff;
  text-transform: uppercase;
}
#mobilenav nav ul li.active a {
  color: #323232;
}
#mobilenav .webmail, #mobilenav nav.topnav ul li:nth-child(5) {
  margin: 0 auto;
  margin-bottom: 1.5rem;
  max-width: none;
}
@media (min-width: 600px) and (max-width: 900px) {
  #mobilenav .webmail, #mobilenav nav.topnav ul li:nth-child(5) {
    width: 15.5rem;
  }
}
#mobilenav nav.mainnav {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  color: #fff;
  font-size: 1.375rem;
  line-height: 1.5rem;
  font-weight: 700;
}
@media (min-width: 600px) and (max-width: 900px) {
  #mobilenav nav.mainnav {
    display: flex;
    justify-content: center;
  }
  #mobilenav nav.mainnav ul {
    align-items: center;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  #mobilenav nav.topnav ul {
    align-items: center;
  }
}
#mobilenav nav.topnav ul li {
  margin-bottom: 0.5rem;
}
#mobilenav nav.topnav ul li:nth-child(5) {
  margin-bottom: 1rem;
  margin-top: 1rem;
}
#mobilenav nav.topnav ul li:nth-child(5) a {
  position: relative;
  padding-left: 2rem;
  color: #fff;
}
#mobilenav nav.topnav ul li:nth-child(5) a::before {
  content: "";
  position: absolute;
  background: url("/img/mail.svg") no-repeat;
  background-size: 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
  left: 0;
}
#mobilenav nav.footernav {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 0;
}
#mobilenav nav.footernav ul {
  flex-direction: row;
  margin-left: 2rem;
  justify-content: center;
}
#mobilenav nav.footernav ul li {
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.0625rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.4375rem; /* 135.294% */
  letter-spacing: 0.05rem;
  margin-right: 2rem;
}
#mobilenav nav.footernav ul li a {
  text-transform: none;
}

section {
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center top;
}

section#header {
  background-image: url(/img/hero-main-mobile.webp);
  background-size: cover;
  color: #fff;
  background-color: #EC6602;
}
@media (max-width: 599px) {
  section#header {
    height: 100vh;
  }
}
@media (max-width: 900px) {
  section#header {
    padding: 8rem 1.5rem;
  }
}
@media (max-width: 599px) {
  section#header {
    padding: 4rem 1.5rem;
  }
}
@media (min-width: 600px) {
  section#header {
    background-image: url(/img/hero-main-tablet.webp);
  }
}
@media (max-width: 320px) {
  section#header h1 {
    font-size: 2rem;
    line-height: 2.2rem;
  }
}
@media (min-width: 901px) {
  section#header {
    height: 900px;
    background-image: url(/img/hero-main.webp);
    padding-top: 10rem;
  }
}
section#header article {
  display: flex;
  height: 100%;
  flex-direction: column;
  padding-top: 0rem;
}
@media (min-width: 901px) {
  section#header article {
    justify-content: center;
  }
}
section#header h2, section#header h3, section#header .teaser {
  color: #fff;
}
section#header .stoerer {
  -webkit-filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.5));
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.5));
}
@media (max-width: 599px) {
  section#header .stoerer {
    position: absolute;
    bottom: 0;
  }
}
section#header .stoerer img {
  -webkit-transition: -webkit-transform 1000ms ease-in-out;
  transition: -webkit-transform 1000ms ease-in-out;
  transform: scale(1, 1) rotate(-0.05turn);
}
@media (max-width: 599px) {
  section#header .stoerer img {
    max-width: 10rem;
  }
}
@media (min-width: 414px) and (max-width: 599px) {
  section#header .stoerer img {
    max-width: 12rem;
  }
}
@media (min-width: 600px) {
  section#header .stoerer img {
    max-width: 15rem;
  }
}
@media (min-width: 901px) {
  section#header .stoerer img {
    max-width: unset;
  }
}
section#header .stoerer img:hover {
  z-index: 10;
}

section#missing {
  padding-top: 15rem;
}
section#missing article {
  text-align: center;
}

section#availability {
  padding: 3rem 1.5rem;
  background: rgb(177, 0, 97);
  background: linear-gradient(0deg, rgb(177, 0, 97) 0%, rgb(229, 0, 125) 100%);
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 2rem;
  color: #fff;
}
@media (max-width: 900px) {
  section#availability {
    padding: 2rem 1.5rem;
  }
}

section#pakete {
  padding: 3rem 1.5rem;
}
section#pakete .twocol {
  align-items: center;
}

@media (min-width: 901px) {
  section#gemeindeinfo {
    background-image: url(/img/gemeindeinfo.webp);
  }
}

#projekt img {
  border-radius: 6px;
}

section#grubingerHeader {
  padding-top: 10rem;
  background-image: url(/img/hero-grubinger-v1.webp);
  background-color: #0067B1;
}
@media (min-width: 901px) {
  section#grubingerHeader {
    padding-top: 8rem;
  }
}
section#grubingerHeader h1, section#grubingerHeader .teaser {
  color: #ffffff;
}

section#grubinger h2 {
  line-height: 2.125rem;
  line-height: clamp(2.125rem, 0.2063953488rem + 5.1162790698vw, 3.5rem);
}
section#grubinger .grubingerCol, section#grubinger .topcol {
  margin-bottom: 3rem;
}
@media (min-width: 901px) {
  section#grubinger .grubingerCol, section#grubinger .topcol {
    margin-bottom: 5rem;
  }
}
section#grubinger .grubingerCol.noMarginBottom, section#grubinger .topcol.noMarginBottom {
  margin-bottom: 0rem;
}
section#grubinger .teaser {
  color: #6F6F6F;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.1875rem;
  font-size: clamp(1.1875rem, 1.0130813953rem + 0.4651162791vw, 1.3125rem);
  line-height: 1.6875rem;
  line-height: clamp(1.6875rem, 1.3386627907rem + 0.9302325581vw, 1.9375rem);
  margin-bottom: clamp(1rem, 0.12rem + 2.35vw, 2rem);
  letter-spacing: 0.8px;
}
section#grubinger img {
  margin-bottom: 0.5rem;
}
section#grubinger .small {
  color: #1A1A18;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.25rem;
  margin-bottom: 3rem;
}
@media (min-width: 1200px) {
  section#grubinger .small {
    margin-bottom: clamp(1rem, 0.06rem + 1.18vw, 1.5rem);
  }
}
section#grubinger .p {
  font-size: 1rem;
  font-size: clamp(1rem, 0.738372093rem + 0.6976744186vw, 1.1875rem);
  line-height: 1.6875rem;
  line-height: clamp(1.6875rem, 1.3386627907rem + 0.9302325581vw, 1.9375rem);
  color: #1A1A18;
}
section#grubinger .lastBlock .small {
  margin-bottom: 3rem;
}

section.blue {
  background-color: #EC6602;
}

@media (max-width: 599px) {
  section#info1 {
    padding-bottom: 22.5rem;
    background-image: url(/img/glasfaserinternet-frau-mobile.webp), linear-gradient(287.7deg, rgba(0, 159, 227, 0.15) 19.79%, rgba(0, 159, 227, 0.0225) 81.25%);
    background-size: auto 340px, auto;
    background-position: bottom;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#info1 {
    padding-bottom: 22.5rem;
    background-image: url(/img/glasfaserinternet-frau-mobile.webp), linear-gradient(287.7deg, rgba(0, 159, 227, 0.15) 19.79%, rgba(0, 159, 227, 0.0225) 81.25%);
    background-size: auto 340px, auto;
    background-position: bottom;
  }
}
@media (min-width: 901px) {
  section#info1 {
    background-image: url(/img/glasfaserinternet-frau.webp);
    padding-bottom: 8rem;
  }
}
section#info1 .p {
  margin-bottom: 2rem;
  color: #6F6F6F;
}
@media (min-width: 600px) {
  section#info1 .p {
    margin-bottom: 3rem;
  }
}
section#info1 .teaser {
  color: #1A1A18;
}

section#zukunft {
  background-color: #0267B2;
}
@media (max-width: 599px) {
  section#zukunft {
    padding-bottom: 23rem;
    background-image: url(/img/zukunft-mann-vr-brille-mobile.webp);
    background-size: auto 650px;
    background-position: bottom;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#zukunft {
    padding-bottom: 21rem;
    background-image: url(/img/zukunft-mann-vr-brille-mobile.webp);
    background-size: auto 650px;
    background-position: bottom;
  }
}
@media (min-width: 901px) {
  section#zukunft {
    background-image: url(/img/zukunft-mann-vr-brille.webp);
    padding-bottom: 8rem;
  }
}
section#zukunft .teaser {
  margin-bottom: 3rem;
}
section#zukunft h3 {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.7761627907rem + 0.9302325581vw, 1.375rem);
  line-height: 1.25rem;
  line-height: clamp(1.25rem, 0.726744186rem + 1.3953488372vw, 1.625rem);
  color: #FFFFFF;
  margin-bottom: 0.5rem;
}
section#zukunft .item > img {
  margin-bottom: 1.5rem;
  max-width: 48px;
}

section#ftth {
  position: relative;
  background-position: bottom;
  background-image: url(/img/ftth-mobile.webp), linear-gradient(287.7deg, rgba(0, 159, 227, 0.15) 19.79%, rgba(0, 159, 227, 0) 81.25%);
  padding-bottom: 20rem;
  background-position: center bottom;
  background-size: auto 18rem, cover;
  background-repeat: no-repeat;
}
@media (min-width: 901px) {
  section#ftth {
    background-image: url(/img/ftth.webp);
    padding-bottom: 8rem;
    background-size: auto 100%;
  }
}
section#ftth .infobutton {
  position: absolute;
  right: 0;
  bottom: 0;
}
@media (min-width: 600px) {
  section#ftth .infobutton {
    right: 2rem;
    bottom: 2rem;
  }
}

section#glasfaser2 {
  background-position: bottom;
  background-image: url(/img/alle-moeglichkeiten-mobile.webp);
  padding-bottom: 22rem;
  background-position: center bottom;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 901px) {
  section#glasfaser2 {
    background-image: url(/img/alle-moeglichkeiten.webp);
    padding-bottom: 8rem;
    background-size: auto 100%;
  }
}

section#wachstum {
  background-position: bottom;
  background-image: url(/img/zukunft-mobile.webp);
  padding-bottom: 20rem;
  background-position: center bottom;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 901px) {
  section#wachstum {
    background-image: url(/img/zukunft.webp);
    padding-bottom: 8rem;
    background-size: auto 100%;
  }
}

section#projekte {
  background-position: bottom;
  background-image: url(/img/aktuell-aktiv-mobile.webp);
  background-position: center bottom;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 901px) {
  section#projekte {
    background-image: url(/img/aktuell-aktiv.webp);
    background-size: auto 100%;
  }
}
section#projekte .slider .slick-list {
  padding-bottom: 1.5rem;
}

body.home section#projekte {
  border-top: 1px solid #fff;
}

@media (max-width: 900px) {
  .slider {
    width: calc(100vw - 30px);
  }
}

section#angebote {
  background-color: #0067B1;
}
@media (max-width: 599px) {
  section#angebote {
    background-color: #0067B1;
  }
}
@media (max-width: 599px) {
  section#angebote {
    background-image: url(/img/packages-mobile.webp);
    background-position: 55% 1.5rem;
  }
}
@media (min-width: 320px) and (max-width: 414px) {
  section#angebote {
    background-image: url(/img/packages-mobile.webp);
    background-position: 55% 1.5rem;
  }
}
@media (max-width: 320px) {
  section#angebote {
    background-image: url(/img/packages-mobile.webp);
    background-position: 55% center;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#angebote {
    background-image: url(/img/packages-tablet.webp);
    background-position: 70% center;
  }
}
@media (min-width: 901px) {
  section#angebote {
    background-image: url(/img/packages.webp);
    padding-bottom: 8rem;
  }
}
section#angebote .info {
  color: #fff;
}
section#angebote .info * {
  color: #fff;
}
section#angebote h2, section#angebote .teaser, section#angebote .p {
  color: #fff;
}
section#angebote .carditem h2 {
  color: #0067B1;
}
section#angebote .carditem li {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
}
section#angebote .p {
  margin-bottom: 11rem;
}
@media (min-width: 320px) and (max-width: 414px) {
  section#angebote .p {
    margin-bottom: 14rem;
  }
}
@media (min-width: 414px) and (max-width: 599px) {
  section#angebote .p {
    margin-bottom: 12rem;
  }
}
@media (min-width: 901px) {
  section#angebote .p {
    margin-bottom: 6rem;
  }
}
section#angebote h3.info {
  margin-bottom: 1rem;
}
section#angebote .small.info {
  margin-bottom: 0;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.4375rem;
}

section#exklusiv {
  background-image: linear-gradient(to right, #fff, #e0f4fb);
}
@media (min-width: 901px) {
  section#exklusiv {
    background-image: url(/img/section-5-angebot-with-background.webp);
  }
}
section#exklusiv .teaser {
  color: #1A1A18;
}
section#exklusiv .mobile {
  position: relative;
}
@media (max-width: 599px) {
  section#exklusiv .mobile {
    display: flex;
    position: relative;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#exklusiv .mobile {
    display: flex;
    position: relative;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
  }
}
section#exklusiv .mobile h2 {
  align-self: start;
}
section#exklusiv .mobile a.button.pink {
  align-self: start;
}
section#exklusiv .teaser {
  margin-bottom: 2rem;
}
@media (min-width: 901px) {
  section#exklusiv .teaser {
    margin-bottom: 3rem;
  }
}
section#exklusiv .button.pink, section#exklusiv #mobilenav nav.topnav ul li.pink:nth-child(5), #mobilenav nav.topnav ul section#exklusiv li.pink:nth-child(5) {
  margin-bottom: 3rem;
}
@media (min-width: 901px) {
  section#exklusiv .button.pink, section#exklusiv #mobilenav nav.topnav ul li.pink:nth-child(5), #mobilenav nav.topnav ul section#exklusiv li.pink:nth-child(5) {
    margin-bottom: 0;
  }
}
section#exklusiv .carditem {
  position: relative;
  margin: 0;
  max-width: 360px;
}
@media (max-width: 320px) {
  section#exklusiv .carditem {
    max-width: 240px;
  }
}
@media (min-width: 320px) and (max-width: 414px) {
  section#exklusiv .carditem {
    max-width: 280px;
  }
}
@media (min-width: 414px) and (max-width: 599px) {
  section#exklusiv .carditem {
    max-width: 280px;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#exklusiv .carditem {
    max-width: 300px;
  }
}
section#exklusiv .carditem .body {
  position: relative;
}
section#exklusiv .carditem .small {
  letter-spacing: 0.7px;
  font-size: 0.9375rem;
  line-height: 1.25rem;
  color: #1A1A18;
}
section#exklusiv .carditem h2 {
  margin: 0;
}
section#exklusiv .carditem h3 {
  color: #EC6602;
  margin: 0;
  margin-bottom: 0;
}
@media (max-width: 599px) {
  section#exklusiv .carditem h3 {
    margin-bottom: 1rem;
  }
}
section#exklusiv .carditem h3:nth-child(3) {
  position: relative;
  display: inline-block;
}
section#exklusiv .carditem h3:nth-child(3):after {
  content: "";
  background: url(/img/preis-durchstrich.svg) no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: 100%;
}
@media (min-width: 901px) {
  section#exklusiv .carditem {
    margin: 0 auto;
  }
}
section#exklusiv .stoerer {
  transform: rotate(-0.05turn);
  max-width: 200px;
  position: absolute;
  bottom: 10%;
  right: -20%;
}
@media (max-width: 599px) {
  section#exklusiv .stoerer {
    max-width: 150px;
    position: absolute;
    right: -30px;
    bottom: 44%;
  }
}
@media (max-width: 320px) {
  section#exklusiv .stoerer {
    max-width: 120px;
    position: absolute;
    bottom: 52%;
    right: -20px;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#exklusiv .stoerer {
    max-width: 150px;
    position: absolute;
    bottom: 50%;
    right: -30px;
  }
}
section#moeglichkeiten {
  background-color: #0067B1;
  background-position: bottom;
}
@media (max-width: 599px) {
  section#moeglichkeiten {
    padding-bottom: 21rem;
    background-image: url(/img/zusatzangebote-mobile.webp);
    background-size: auto 450px;
    background-position: bottom;
    background-color: #0067B1;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#moeglichkeiten {
    padding-bottom: 21rem;
    background-image: url(/img/zusatzangebote-mobile.webp);
    background-size: auto 450px;
    background-position: bottom;
    background-color: #0067B1;
  }
}
@media (min-width: 901px) {
  section#moeglichkeiten {
    background-image: url(/img/zusatzangebote.webp);
    padding-bottom: 8rem;
    background-color: #0067B1;
    background-size: auto 92%;
    background-position: 47% bottom;
  }
}
@media (max-width: 599px) {
  section#moeglichkeiten .teaser {
    margin-bottom: 2rem;
  }
}
@media (max-width: 599px) {
  section#moeglichkeiten h2 {
    margin-bottom: 0.875rem;
  }
}
@media (min-width: 600px) {
  section#moeglichkeiten .parentContainer .twocol {
    grid-template-columns: 1fr 1fr;
  }
}

section#faqs .faqs {
  margin-bottom: 4rem;
}
@media (min-width: 901px) {
  section#faqs .topcol {
    width: 50%;
  }
}
section#faqs .teaser {
  color: #1A1A18;
}
section#faqs h4 {
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.9505813953rem + 0.4651162791vw, 1.25rem);
  line-height: 1.75rem;
  line-height: clamp(1.75rem, 1.5755813953rem + 0.4651162791vw, 1.875rem);
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
}
section#faqs .imageFaqContainer {
  display: flex;
  gap: 2rem;
  flex-direction: row;
  padding: 0.5rem;
}
@media (max-width: 599px) {
  section#faqs .imageFaqContainer {
    flex-wrap: wrap;
    gap: 2rem;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#faqs .imageFaqContainer {
    flex-wrap: wrap;
    gap: 2rem;
  }
}
section#faqs .faq.image {
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
  width: 48%;
}
@media (max-width: 599px) {
  section#faqs .faq.image {
    width: 100%;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#faqs .faq.image {
    width: 100%;
  }
}
section#faqs .faq.image.big {
  max-width: none;
  width: 100%;
}

section#zuhause {
  background-color: #0267B2;
}
@media (max-width: 599px) {
  section#zuhause {
    padding-bottom: 21rem;
    background-image: url(/img/zuhause-mobile.webp);
    background-size: auto 500px;
    background-position: bottom;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#zuhause {
    padding-bottom: 21rem;
    background-image: url(/img/zuhause-mobile.webp);
    background-size: auto 580px;
    background-position: bottom;
  }
}
@media (min-width: 901px) {
  section#zuhause {
    background-image: url(/img/zuhause.webp);
    padding-bottom: 8rem;
  }
}
section#zuhause .p {
  margin-bottom: 2rem;
}
@media (min-width: 901px) {
  section#zuhause .p {
    margin-bottom: 3rem;
  }
}

h1 {
  margin-bottom: 1rem;
}

h2 {
  color: #EC6602;
  font-weight: 800;
}

.dark * {
  color: #fff;
}
.dark .carditem .body h4, .dark .carditem .body sup, .dark .carditem .body i, .dark .carditem .body h4 span, .dark .carditem .body .text, .dark .carditem .body .small, .dark .carditem .body .p, .dark .carditem .body span {
  color: #555;
}

.tabcontent .offer {
  gap: 0;
}
.tabcontent .offer .carditem:first-child {
  position: relative;
  left: -0.7rem;
}
.tabcontent .offer h4 {
  font-size: 1.25rem;
}
.tabcontent .offer h3 span {
  font-size: 1rem;
  font-weight: normal;
}

.cardsliderbox, .moduleSliderBox {
  padding: 0 0 2rem 0;
}
@media (max-width: 1200px) {
  .cardsliderbox, .moduleSliderBox {
    padding: 0 3rem 2rem 3rem;
  }
}
@media (max-width: 900px) {
  .cardsliderbox, .moduleSliderBox {
    padding: 0 0 2rem 0;
  }
}
.cardsliderbox .carditem:first-child, .moduleSliderBox .carditem:first-child {
  margin-left: 0;
}

@media (max-width: 900px) {
  .cardslider, .moduleSlider {
    margin: 0 -1.5rem 0 -1.5rem;
  }
  .cardslider .carditem:first-child, .cardslider .item:first-child, .moduleSlider .carditem:first-child, .moduleSlider .item:first-child {
    margin-left: 1.5rem;
  }
}
.cardslider .slick-list, .moduleSlider .slick-list {
  padding: 1rem 0;
}
.twocol {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (max-width: 599px) {
  .twocol.desktop {
    display: none;
  }
}
@media (min-width: 600px) {
  .twocol.desktop {
    display: none;
  }
}
@media (min-width: 901px) {
  .twocol.desktop {
    display: grid;
  }
}
@media (min-width: 901px) {
  .twocol {
    grid-template-columns: 1fr 1fr;
  }
}
.twocol.center {
  align-items: center;
}
.twocol.twocol4060 {
  grid-column: 1;
  grid-template-columns: 1fr;
}
@media (min-width: 901px) {
  .twocol.twocol4060 {
    grid-template-columns: 0.4fr 0.6fr;
  }
}
@media (max-width: 599px) {
  .twocol.twocol4060.revert > :first-child {
    grid-column: 1;
  }
  .twocol.twocol4060.revert > :last-child {
    grid-column: 1;
  }
}
@media (min-width: 901px) {
  .twocol.twocol4060.revert {
    grid-template-columns: 0.6fr 0.4fr;
  }
}
@media (min-width: 901px) {
  .twocol.revert {
    grid-auto-flow: dense;
  }
  .twocol.revert > :first-child {
    grid-column: 2;
  }
  .twocol.revert > :last-child {
    grid-column: 1;
  }
}
.twocol.vcenter {
  align-items: center;
}
.twocol.vtop {
  align-items: start;
}
.twocol.vbottom {
  align-items: end;
}
@media (min-width: 901px) {
  .twocol.textLessWidth {
    grid-template-columns: 0.75fr 1fr;
  }
}
.twocol.twocol75 {
  grid-template-columns: 1fr;
}
@media (min-width: 901px) {
  .twocol.twocol75.portrait {
    grid-template-columns: 0.7fr 0.5fr;
  }
}
@media (min-width: 901px) {
  .twocol.twocol75 {
    grid-template-columns: 0.7fr 0.5fr;
  }
}
@media (min-width: 901px) {
  .twocol.twocol75.revert {
    grid-template-columns: 0.5fr 0.7fr;
  }
}
.twocol.twocol57 {
  grid-template-columns: 1fr;
}
@media (min-width: 901px) {
  .twocol.twocol57 {
    grid-template-columns: 0.5fr 0.7fr;
  }
}
@media (min-width: 901px) {
  .twocol.twocol57.revert {
    grid-template-columns: 0.7fr 0.5fr;
  }
}
.twocol.twocol84 {
  grid-template-columns: 1fr;
}
@media (min-width: 901px) {
  .twocol.twocol84 {
    grid-template-columns: 0.8fr 0.4fr;
  }
}
@media (min-width: 901px) {
  .twocol.twocol48 {
    grid-template-columns: 0.4fr 0.8fr;
  }
}
.twocol > div {
  position: relative;
}
.twocol.article {
  gap: 2rem;
  align-items: flex-start;
}
@media (min-width: 901px) {
  .twocol.article {
    gap: 7.5rem;
  }
}
@media (min-width: 901px) {
  .twocol.largegap {
    gap: 7.5rem;
  }
}

.newslist {
  display: grid;
  gap: 1.5rem;
}
@media (min-width: 600px) {
  .newslist {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 901px) {
  .newslist {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.newslist .item {
  margin-bottom: 1rem;
}
.newslist .item:hover {
  text-decoration: none;
}
.newslist .item img {
  border-radius: 6px;
}
.newslist .item .txt {
  padding-top: 1.5rem;
}
.newslist .item .txt h3 {
  font-size: 1.375rem;
  line-height: 1.625rem;
  margin-bottom: 0.5rem;
  color: #0067B1;
}
.newslist .item .txt p {
  color: #1A1A18;
  font-size: 1rem;
  margin-bottom: 1rem;
}
.newslist .item img {
  max-width: 100%;
}

.newsdetail img, .newsdetail video {
  max-width: 100%;
  margin-bottom: 0.5rem;
}
.newsdetail h3 {
  color: #0067B1;
  margin-bottom: 1rem;
}
@media (max-width: 599px) {
  .newsdetail h3 {
    margin-bottom: 0.8rem;
  }
}
@media (min-width: 901px) {
  .newsdetail .doubleimage > div img {
    object-fit: cover;
    height: 100%;
    width: 100%;
    object-fit: cover;
    max-width: none;
  }
  .newsdetail .twocol.doubleimage {
    margin-bottom: 0.5rem;
    gap: 1.5rem;
  }
  .newsdetail .twocol {
    gap: 5rem;
  }
}
.newsdetail > div {
  margin-bottom: 5rem;
}
.newsdetail .gallery {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  flex-wrap: wrap;
  gap: 1rem;
}
.newsdetail .gallery .thumbnail img {
  width: 100%;
}
.newsdetail .quoteimg .twocol {
  align-items: center;
}
.newsdetail .quoteimg .quote {
  color: #0067B1;
  margin-bottom: 0.75rem;
}
.newsdetail .quoteimg .name {
  font-size: 1rem;
  font-size: clamp(1rem, 0.6511627907rem + 0.9302325581vw, 1.25rem);
}

.videoWrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  padding-top: 25px;
  height: 0;
  margin-bottom: 30px;
}

.embedWrapper > * {
  margin-left: auto;
  margin-right: auto;
}

.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.offer {
  position: relative;
}
.offer h2, .offer h3 {
  color: #0067B1;
  margin-bottom: 0;
}
.offer h2:last-child {
  margin-bottom: 1rem;
}

.slick-prev:before {
  content: url("/img/arrow-left-blue.svg");
}

.slick-next:before {
  content: url("/img/arrow-right-blue.svg");
}

.dark .slick-prev:before {
  content: url("/img/arrow_left.svg");
}
.dark .slick-next:before {
  content: url("/img/arrow_right.svg");
}

.slick-prev {
  position: absolute;
  left: -5%;
  top: 50%;
}

.slick-next {
  position: absolute;
  right: -5%;
  top: 50%;
}

.slick-slider {
  position: relative;
}

.slick-prev, .slick-next {
  width: 40px;
  height: 60px;
}

.slick-track {
  display: flex !important;
}

.slick-slide {
  height: inherit !important;
}

.carditem {
  background: #fff;
  margin: 0 0.75rem;
  border-radius: 0px 6px 6px 6px;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.4);
}
.carditem .p {
  margin: 0;
}
.carditem .header {
  padding: 1rem;
  background: #E5007D;
  color: #fff;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  border-top-right-radius: 6px;
  background-size: cover;
}
.carditem .header .p {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 1.625rem;
  font-size: clamp(1.625rem, 0.7529069767rem + 2.3255813953vw, 2.25rem);
  line-height: 2rem;
  line-height: clamp(2rem, 0.6046511628rem + 3.7209302326vw, 3rem);
  margin-bottom: 0 !important;
}
.carditem .header h3 {
  margin-bottom: 0 !important;
}
.carditem .body {
  padding: 1rem;
}
.carditem .body h2 span {
  color: #1A1A18;
  font-size: 0.875rem;
  font-weight: normal;
}
.carditem .body h4 {
  margin-bottom: 1.5rem;
  color: #6F6F6F;
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.7761627907rem + 0.9302325581vw, 1.375rem);
  line-height: 1.375rem;
  line-height: clamp(1.375rem, 1.0261627907rem + 0.9302325581vw, 1.625rem);
}
.carditem .body h4 span {
  font-size: 0.875rem;
  line-height: 1.25rem;
  line-height: clamp(1.25rem, 1.0755813953rem + 0.4651162791vw, 1.375rem);
}
@media (max-width: 599px) {
  .carditem .body h4 span {
    font-size: 0.7rem;
  }
}
.carditem .body h4:first-of-type {
  margin-bottom: 0.625rem;
}
.carditem .body .fa-angle-down:before, .carditem .body .fa-angle-up:before {
  margin-right: 0.5rem;
}
.carditem .body ul {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}
.carditem .body li {
  padding-left: 1em;
  text-indent: -1em;
  color: #1A1A18;
  font-size: 1rem;
  line-height: 1.375rem;
}
.carditem .body li:before {
  content: url("/img/bullet.svg");
  padding-right: 0.5rem;
  vertical-align: text-bottom;
}
.carditem:first-child .header {
  background-image: url(/img/packages/package-1.svg);
}
.carditem:nth-child(2) .header {
  position: relative;
  background-image: url(/img/packages/package-2.svg);
}
.carditem:nth-child(2) .header::after {
  position: absolute;
  content: url("/img/packages/topseller.svg");
  top: 0.5rem;
  right: 0;
}
@media (max-width: 599px) {
  .carditem:nth-child(2) .header::after {
    content: url("/img/packages/topseller_mobile.svg");
  }
}
.carditem:nth-child(3) .header {
  background-image: url(/img/packages/package-3.svg);
}
.carditem:nth-child(4) .header {
  background-image: url(/img/packages/package-4.svg);
}
.carditem:nth-child(5) .header {
  background-image: url(/img/packages/package-5.svg);
}

.parentContainer {
  display: flex;
  position: relative;
  flex-direction: column;
}

.parentContainer > .tabcontent {
  display: block; /* undo "display: none;" */
  visibility: hidden;
  width: 100%;
}

/* Style the tab */
.tab {
  overflow: hidden;
  background-color: transparent;
  border-radius: 6px;
  display: flex;
  justify-content: space-around;
}

#tab2 {
  position: absolute;
  top: 0;
}

/* Style the buttons that are used to open the tab content */
.tab button {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 14px 16px;
  transition: 0.3s;
  width: 100%;
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.7761627907rem + 0.9302325581vw, 1.375rem);
  line-height: 1.375rem;
  line-height: clamp(1.375rem, 1.0261627907rem + 0.9302325581vw, 1.625rem);
  text-align: center;
  background-color: transparent;
  color: #fff;
}

/* Change background color of buttons on hover */
.tab button:hover {
  background-color: #fff;
  color: #0067B1;
}

/* Create an active/current tablink class */
.tab button.active {
  background-color: #fff;
  color: #0067B1;
}

.tabcontentMobile {
  display: none;
}

/* Style the tab content */
.tabcontent, .tabcontentMobile {
  border-top: none;
  padding-top: 2rem;
}
.tabcontent .twocol.marginBottom, .tabcontentMobile .twocol.marginBottom {
  margin-bottom: 2rem;
}
.tabcontent > h3, .tabcontentMobile > h3 {
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.9375rem;
  font-size: clamp(0.9375rem, 0.5886627907rem + 0.9302325581vw, 1.1875rem);
  line-height: 1.25rem;
  line-height: clamp(1.25rem, 0.4651162791rem + 2.0930232558vw, 1.8125rem);
  color: #FFFFFF;
  margin-bottom: 2rem;
  letter-spacing: 0.8px;
}
@media (max-width: 599px) {
  .tabcontent > h3, .tabcontentMobile > h3 {
    margin-bottom: 1.5rem;
  }
}
.tabcontent ul, .tabcontentMobile ul {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  margin-bottom: 0;
}
.tabcontent li, .tabcontentMobile li {
  padding-left: 1em;
  text-indent: -1em;
  color: #fff;
  font-size: 1rem;
  line-height: 1.375rem;
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  margin-bottom: 0.3rem;
}
.tabcontent li:before, .tabcontentMobile li:before {
  content: url(/img/bullet.svg);
  padding-right: 0.5rem;
  vertical-align: text-bottom;
}
.tabcontent strong.bigger, .tabcontentMobile strong.bigger {
  font-size: 22px;
  line-height: 26px;
}
.tabcontent .textAdd, .tabcontentMobile .textAdd {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 1rem;
  font-size: clamp(1rem, 0.8255813953rem + 0.4651162791vw, 1.125rem);
  line-height: 1.25rem;
  line-height: clamp(1.25rem, 0.5523255814rem + 1.8604651163vw, 1.75rem);
  color: #FFFFFF;
}
.tabcontent .priceBig, .tabcontentMobile .priceBig {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 800;
  font-size: 1.875rem;
  font-size: clamp(1.875rem, 0.3052325581rem + 4.1860465116vw, 3rem);
  line-height: 2.125rem;
  line-height: clamp(2.125rem, 0.5552325581rem + 4.1860465116vw, 3.25rem);
  color: #FFFFFF;
  margin-bottom: 0.5rem;
}
.tabcontent .textSmall, .tabcontentMobile .textSmall {
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.9375rem;
  line-height: 1.25rem;
  letter-spacing: 0.7px;
  color: #FFFFFF;
}
.tabcontent .textSmall strong, .tabcontentMobile .textSmall strong {
  font-weight: 700;
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.9375rem;
  line-height: 1.25rem;
}
.tabcontent .tab-content > .active, .tabcontentMobile .tab-content > .active {
  visibility: visible;
}

.tabcontentMobile ul {
  margin-bottom: 1.5rem;
}
.tabcontentMobile .textSmall.marginBottom {
  margin-bottom: 1.5rem;
}

body.impressum header, body.agb header, body.datenschutz header, body.infos header {
  background-color: #EC6602 !important;
}
body.impressum h1, body.agb h1, body.datenschutz h1, body.infos h1 {
  color: #EC6602;
  margin-bottom: 6rem;
}
body.impressum .button.pink:hover, body.impressum #mobilenav nav.topnav ul li.pink:hover:nth-child(5), #mobilenav nav.topnav ul body.impressum li.pink:hover:nth-child(5), body.impressum .button.pink:focus, body.impressum #mobilenav nav.topnav ul li.pink:focus:nth-child(5), #mobilenav nav.topnav ul body.impressum li.pink:focus:nth-child(5), body.agb .button.pink:hover, body.agb #mobilenav nav.topnav ul li.pink:hover:nth-child(5), #mobilenav nav.topnav ul body.agb li.pink:hover:nth-child(5), body.agb .button.pink:focus, body.agb #mobilenav nav.topnav ul li.pink:focus:nth-child(5), #mobilenav nav.topnav ul body.agb li.pink:focus:nth-child(5), body.datenschutz .button.pink:hover, body.datenschutz #mobilenav nav.topnav ul li.pink:hover:nth-child(5), #mobilenav nav.topnav ul body.datenschutz li.pink:hover:nth-child(5), body.datenschutz .button.pink:focus, body.datenschutz #mobilenav nav.topnav ul li.pink:focus:nth-child(5), #mobilenav nav.topnav ul body.datenschutz li.pink:focus:nth-child(5), body.infos .button.pink:hover, body.infos #mobilenav nav.topnav ul li.pink:hover:nth-child(5), #mobilenav nav.topnav ul body.infos li.pink:hover:nth-child(5), body.infos .button.pink:focus, body.infos #mobilenav nav.topnav ul li.pink:focus:nth-child(5), #mobilenav nav.topnav ul body.infos li.pink:focus:nth-child(5) {
  color: #ffffff;
}
body.impressum .companyAddress a:hover, body.impressum .companyAddress a:focus, body.agb .companyAddress a:hover, body.agb .companyAddress a:focus, body.datenschutz .companyAddress a:hover, body.datenschutz .companyAddress a:focus, body.infos .companyAddress a:hover, body.infos .companyAddress a:focus {
  color: #ffffff;
}
body.impressum, body.datenschutz, body.infos {
  padding-top: 10rem;
}
body.impressum h2, body.datenschutz h2, body.infos h2 {
  margin-bottom: 2rem;
}
body.datenschutz a, body.infos a {
  word-break: break-all;
}

.footerLegals a:hover, .footerLegals a:focus {
  color: #ffffff;
  text-decoration: none;
}

.shakeButton {
  animation: shake 1.2s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
  transform: translate3d(0, 0, 0);
  perspective: 1000px;
}

@keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }
  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }
  30%, 50%, 70% {
    transform: translate3d(-2px, 0, 0);
  }
  40%, 60% {
    transform: translate3d(2px, 0, 0);
  }
}
@keyframes fadeInScaleAndRotate {
  0% {
    opacity: 0;
    transform: scale(0.5) rotate(-15deg);
  }
  20% {
    opacity: 1;
    transform: scale(1) rotate(-15deg);
  }
  40% {
    transform: rotate(-20deg);
  }
  60% {
    transform: rotate(-10deg);
  }
  80% {
    transform: rotate(-18deg);
  }
  100% {
    transform: rotate(-15deg);
  }
}
.roundBadge {
  border-radius: 50%;
  animation: fadeInScaleAndRotate 3s ease-in-out both;
}

.slick-dots li.slick-active button:before {
  opacity: 0.75;
  color: #ffffff;
}

.slick-track {
  margin-left: 0;
}

/*
img:hover {
	animation: shake 0.5s;
	animation-iteration-count: 5ms;
}

@keyframes shake {
	0% { transform: translate(1px, 1px) rotate(0deg); }
	10% { transform: translate(-1px, -2px) rotate(-1deg); }
	20% { transform: translate(-3px, 0px) rotate(1deg); }
	30% { transform: translate(3px, 2px) rotate(0deg); }
	40% { transform: translate(1px, -1px) rotate(1deg); }
	50% { transform: translate(-1px, 2px) rotate(-1deg); }
	60% { transform: translate(-3px, 1px) rotate(0deg); }
	70% { transform: translate(3px, 1px) rotate(-1deg); }
	80% { transform: translate(-1px, -1px) rotate(1deg); }
	90% { transform: translate(1px, 2px) rotate(0deg); }
	100% { transform: translate(1px, -2px) rotate(-1deg); }
}
*/
.button.trans.white, #mobilenav nav.topnav ul li.white:nth-child(5), #mobilenav nav.topnav ul li.trans:nth-child(5), #mobilenav nav.topnav ul li.button:nth-child(5), #mobilenav nav.topnav ul ul li:nth-child(5) {
  cursor: pointer;
}

.marginBottomFaq {
  margin-bottom: 1rem;
}

.faqs .item {
  margin: 0;
  overflow: hidden;
  padding: 0.5rem 0;
  border-bottom: 1px solid #1A1A18;
}
.faqs .item h3 {
  font-size: 22px;
  line-height: 26px;
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  margin-bottom: 15px;
  margin-top: 15px;
  position: relative;
  padding-right: 30px;
  cursor: pointer;
}
@media (max-width: 599px) {
  .faqs .item h3 {
    font-size: 18px;
    line-height: 24px;
  }
}
.faqs .item h3::after {
  content: url("/img/arrow-orange-down.svg");
  position: absolute;
  right: 10px;
  top: 0;
  font-size: 30px;
  width: 20px;
}
.faqs .item div.small {
  display: none;
}
.faqs .item.open h3::after {
  content: url("/img/arrow-orange-up.svg");
}
.faqs .item ul li {
  padding: 0.2rem 0;
}

.buttonbox {
  padding: 0.5rem;
}

.dark .faqs .item {
  border-bottom: 1px solid #fff;
}
.dark .faqs .item h3::after {
  content: url("/img/down-white.svg");
}
.dark .faqs .item.open h3::after {
  content: url("/img/up-white.svg");
}

.headerbadge {
  position: absolute;
  right: 0;
}

.downloadBox {
  padding: 2rem 0;
  display: grid;
  border-bottom: 1px solid #0067B1;
}
@media (min-width: 901px) {
  .downloadBox {
    grid-template-columns: 1fr 4fr;
  }
}
.downloadBox .cat {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  font-size: 1.625rem;
  line-height: 2.25rem;
}
@media (max-width: 900px) {
  .downloadBox .cat {
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
  }
}
.downloadBox .downloads {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media (min-width: 600px) {
  .downloadBox .downloads {
    grid-template-columns: repeat(4, 1fr);
  }
}
.downloadBox .downloads > div a {
  color: #1A1A18;
}
.downloadBox .downloads > div a:hover {
  text-decoration: none;
}
.downloadBox .downloads > div a img {
  display: block;
  border: 0.5px solid #6F6F6F;
  margin-bottom: 0.5rem;
}
.downloadBox .downloads .filesize {
  color: #808080;
}
.downloadBox .downloads .icon {
  background: url("/img/download.svg") no-repeat;
  padding-left: 1.5rem;
}
.downloadBox .downloads .title {
  word-break: break-word;
}

section#newsHeader {
  background-color: #0067B1;
  padding-top: 13rem;
}
@media (max-width: 599px) {
  section#newsHeader {
    background-size: cover;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#newsHeader {
    padding-top: 26rem;
    background-size: cover;
  }
}
section#newsHeader.dark {
  color: #fff;
}
section#newsHeader.dark h1, section#newsHeader.dark h2, section#newsHeader.dark h3 {
  color: #fff;
}
@media (min-width: 901px) {
  section#newsHeader .topcol {
    width: calc(50% - 0.75rem);
  }
}

section#glasfasernetzwerk {
  background-color: #0267B2;
}
@media (max-width: 599px) {
  section#glasfasernetzwerk {
    padding-bottom: 23rem;
    background-image: url(/img/glasfaser-netzwerk-mobile.webp);
    background-size: auto 650px;
    background-position: bottom;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#glasfasernetzwerk {
    padding-bottom: 21rem;
    background-image: url(/img/glasfaser-netzwerk-mobile.webp);
    background-size: auto 650px;
    background-position: bottom;
  }
}
@media (min-width: 901px) {
  section#glasfasernetzwerk {
    background-image: url(/img/glasfaser-netzwerk.webp);
    padding-bottom: 8rem;
  }
}

@media (max-width: 1200px) {
  section#downloads .twocol75 {
    gap: 0;
  }
}

.availabilityBox {
  align-items: center;
}
@media (min-width: 600px) {
  .availabilityBox {
    display: flex;
    justify-content: space-between;
  }
}
@media (min-width: 901px) {
  .availabilityBox {
    font-size: 2.25rem;
    line-height: 2.625rem;
  }
}
@media (max-width: 900px) {
  .availabilityBox .button, .availabilityBox #mobilenav nav.topnav ul li:nth-child(5), #mobilenav nav.topnav ul .availabilityBox li:nth-child(5) {
    font-size: 1rem;
  }
}
.availabilityBox .button, .availabilityBox #mobilenav nav.topnav ul li:nth-child(5), #mobilenav nav.topnav ul .availabilityBox li:nth-child(5) {
  white-space: nowrap;
}

@media (max-width: 599px) {
  #availability .availabilityBox > div:first-child {
    margin-bottom: 2.75rem;
  }
}

.statusBox {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 2rem;
  color: #fff;
}
@media (max-width: 900px) {
  .statusBox {
    display: none;
  }
}
.statusBox > div {
  font-weight: 400;
  border-right: 1px solid #fff;
  text-align: center;
}
.statusBox > div.active {
  font-weight: 700;
  position: relative;
}
.statusBox > div.active::after {
  content: url(/img/status_active.svg);
  position: absolute;
  bottom: -3.3rem;
  left: 50%;
  margin-left: -16px;
}
.statusBox > div:last-child {
  border: none;
}

@media (min-width: 901px) {
  .mobileStatusBox {
    display: none;
  }
}
.mobileStatusBox span {
  font-weight: 400;
}

section#shortfaqs .button, section#shortfaqs #mobilenav nav.topnav ul li:nth-child(5), #mobilenav nav.topnav ul section#shortfaqs li:nth-child(5) {
  margin-top: 2rem;
}
@media (min-width: 901px) {
  section#shortfaqs .button, section#shortfaqs #mobilenav nav.topnav ul li:nth-child(5), #mobilenav nav.topnav ul section#shortfaqs li:nth-child(5) {
    margin-top: 3rem;
  }
}

section#shareArticle {
  padding-top: 3rem;
  padding-bottom: 1.5rem;
}
section#shareArticle .twocol {
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 599px) {
  section#shareArticle .twocol {
    justify-content: start;
    justify-items: start;
    grid-template-columns: 1fr;
  }
}
section#shareArticle .socialShare {
  display: flex;
  justify-content: flex-end;
  gap: 2rem;
}
section#shareArticle .socialShare .socialshareButtons {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
}
section#shareArticle .socialShare h4 {
  font-weight: 700;
}

.backLink {
  font-size: 1rem;
  font-size: clamp(1rem, 0.6511627907rem + 0.9302325581vw, 1.25rem);
  line-height: 1.375rem;
  line-height: clamp(1.375rem, 0.851744186rem + 1.3953488372vw, 1.75rem);
  text-decoration: none;
  text-align: center;
  letter-spacing: 0.8px;
  color: #555;
}

.backLink:hover {
  text-decoration: none;
}

.backLink:before {
  content: url(/img/arrow-left.svg);
  margin-right: 0.5rem;
}

@media (min-width: 600px) and (max-width: 900px) {
  .ueber-uns #header .mobile {
    max-width: 50%;
  }
}

@media (max-width: 599px) {
  section#testimonials {
    padding-bottom: 8rem;
  }
}

#impressum article {
  margin-bottom: 2rem;
}

@media (max-width: 599px) {
  section#fritzbox {
    padding-bottom: 29rem;
    background-image: url(/img/fritzbox-background-mobile.webp);
    background-size: auto 650px;
    background-position: bottom;
  }
}
@media (min-width: 901px) {
  section#fritzbox {
    background-image: url(/img/fritzbox-background.webp);
    padding-bottom: 8rem;
  }
}
@media (min-width: 901px) {
  section#fritzbox article.fritzboxinfo {
    margin-bottom: 6rem;
  }
}
section#fritzbox .items.fritzbox h3 {
  display: flex;
  align-items: center;
  padding-left: 1.5rem;
  color: #fff;
  font-size: 22px;
  line-height: 26px;
  min-height: 5.5rem;
  height: auto;
  margin-bottom: 0;
  padding: 1rem;
  background: rgb(177, 0, 97);
  background: linear-gradient(0deg, rgb(177, 0, 97) 0%, rgb(229, 0, 125) 100%);
  border-top-right-radius: 6px;
  border-top-left-radius: 6px;
}
section#fritzbox .items.fritzbox .list {
  padding: 1.5rem;
}
section#fritzbox .items.fritzbox .list > div {
  border-bottom: 1px solid #f1f1f1;
  display: flex;
  padding: 0.5rem 0;
  justify-content: space-between;
  align-items: center;
}
section#fritzbox .items.fritzbox .list > div img {
  margin-left: 0.75rem;
  display: inline;
}

.redinfobox {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  border-radius: 0.375rem;
  background: var(--gradient-pink, linear-gradient(0deg, #B10061 0%, #E5007D 100%));
  padding: 0.75rem 1rem;
  margin: 1rem 0 1.5rem 0;
}
.redinfobox img {
  float: right;
}

body.bbooe header {
  height: 6rem;
  position: fixed;
  width: 100%;
  z-index: 10;
  top: 0;
  transition: background-color 0.3s ease-in-out;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
body.bbooe header .mobileoverlayContainer {
  display: none;
  position: absolute;
  left: 0;
  top: auto !important;
  right: 0;
  bottom: auto;
  height: calc(100vh - 80px);
  margin: 0rem;
  padding-top: 6rem;
  z-index: 10;
  background-color: #0267B2;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 7rem;
  width: 100%;
  flex-direction: column;
  justify-content: space-between;
}
body.bbooe header .mobileoverlayContainer .mobileoverlay {
  width: 100%;
  /*
  @include for-tablet{
  	max-width: 70%;
  	margin-left: auto;
  	margin-right: auto;
  }*/
}
body.bbooe header .mobileoverlayContainer .mobileoverlay .button, body.bbooe header .mobileoverlayContainer .mobileoverlay #mobilenav nav.topnav ul li:nth-child(5), #mobilenav nav.topnav ul body.bbooe header .mobileoverlayContainer .mobileoverlay li:nth-child(5) {
  min-width: 250px;
  margin: 0 auto 1rem auto;
}
@media (max-width: 599px) {
  body.bbooe header .mobileoverlayContainer .mobileoverlay .button, body.bbooe header .mobileoverlayContainer .mobileoverlay #mobilenav nav.topnav ul li:nth-child(5), #mobilenav nav.topnav ul body.bbooe header .mobileoverlayContainer .mobileoverlay li:nth-child(5) {
    width: 100%;
    max-width: none;
  }
}
body.bbooe header .mobileoverlayContainer .menuecontainer {
  display: flex;
  flex-direction: column;
}
@media (min-width: 600px) and (max-width: 900px) {
  body.bbooe header .mobileoverlayContainer .menuecontainer {
    align-items: center;
  }
}
body.bbooe header .mobileoverlayContainer .menuecontainer .mobilelink {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 26px;
  line-height: 32px;
  color: #FFFFFF;
  margin-bottom: 2rem;
  text-decoration: none;
  letter-spacing: 0.8px;
}
body.bbooe header .mobileoverlayContainer .menuecontainer .linktext {
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 17px;
  line-height: 23px;
  letter-spacing: 0.8px;
}
body.bbooe header .bottomtext {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
}
body.bbooe header .bottomtext a {
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  color: #FFFFFF;
  text-decoration: none;
}
body.bbooe header article {
  height: 100%;
  max-width: 71.25rem;
  display: flex;
  margin: 0 auto;
  align-items: center;
  justify-content: space-between;
}
body.bbooe header article nav a {
  color: #1A1A18;
  padding-top: 3px;
}
body.bbooe header article #logo {
  font-size: 1.625rem;
  line-height: 1.75rem;
  color: #EC6602;
}
body.bbooe header article #logo a {
  text-decoration: none;
}
body.bbooe header article #logo a .logoText {
  position: relative;
  top: 3px;
}
body.bbooe header article #logo a img {
  max-height: 48px;
  margin-right: 1.25rem;
}
body.bbooe header article #rightnav {
  background: none;
  display: flex;
  align-items: center;
  gap: 1rem;
  position: static;
}
body.bbooe header article #rightnav a {
  display: none;
  white-space: nowrap;
  font-weight: bold;
  flex-direction: row;
  gap: 0.5rem;
  align-content: center;
  align-items: center;
}
@media (min-width: 901px) {
  body.bbooe header article #rightnav a {
    display: flex;
  }
}
body.bbooe header article #rightnav a span.phone {
  letter-spacing: 0.25px;
  display: block;
}

.cardcontainer {
  display: none;
  margin-top: 3rem;
  align-items: start;
  grid-auto-rows: 1fr;
}
@media (min-width: 901px) {
  .cardcontainer {
    display: grid;
  }
}
.cardcontainer .item {
  flex-direction: column;
  height: 100%;
  justify-content: flex-start;
}
.cardcontainer .item img {
  border-top-left-radius: 0.375rem;
  border-top-left-radius: 0.375rem;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.4);
}
@media (max-width: 900px) {
  .cardcontainer .item img {
    min-height: 180px;
    box-shadow: none;
  }
}

.projects {
  margin-top: 0;
  align-items: start;
  grid-auto-rows: 1fr;
}
.projects .slick-track {
  display: flex !important;
}
.projects .slick-slide {
  height: inherit !important;
}
.projects .item {
  flex-direction: column;
}
.projects .item img {
  border-top-left-radius: 0.375rem;
  border-top-left-radius: 0.375rem;
  box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.4);
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
@media (max-width: 900px) {
  .projects .item img {
    box-shadow: none;
  }
}
.projects .item .cardMain {
  margin-bottom: 0.5rem;
}
.projects .button, .projects #mobilenav nav.topnav ul li:nth-child(5), #mobilenav nav.topnav ul .projects li:nth-child(5) {
  margin-top: auto;
}
.projects .slick-track {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
@media (min-width: 901px) {
  .projects {
    display: none;
  }
}

.cardMain {
  padding: 1.5rem;
  background-color: #EC6602;
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: flex-start;
  box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.4);
  height: 100%;
  border-bottom-left-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}
.cardMain .headline {
  justify-content: flex-start;
  height: unset;
}
.cardMain h3 {
  color: #fff;
}
.cardMain .cardtext {
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.05rem;
  font-size: 1.0625rem;
  font-size: clamp(1.0625rem, 0.8880813953rem + 0.4651162791vw, 1.1875rem);
  line-height: 1.4375rem;
  line-height: clamp(1.4375rem, 0.914244186rem + 1.3953488372vw, 1.8125rem);
  margin-bottom: 2.31rem !important;
  color: #fff;
}
@media (max-width: 900px) {
  .cardMain .cardtext {
    margin-bottom: 1.56rem !important;
  }
}

section#glasfaser {
  padding-bottom: 20rem;
  background-image: url(/img/cn-teaser-mobile.webp);
  background-size: cover;
}
section#glasfaser h2 {
  margin-bottom: 2rem;
}
@media (min-width: 600px) {
  section#glasfaser {
    background-image: url(/img/cn-teaser-tablet.webp);
    padding-bottom: 8rem;
  }
}
@media (min-width: 901px) {
  section#glasfaser {
    background-image: url(/img/cn-teaser.webp);
    padding-bottom: 8rem;
    background-size: cover;
  }
  section#glasfaser h2 {
    margin-bottom: 3rem;
  }
}

.bg-radial-orange {
  background: radial-gradient(33.72% 69.16% at 26.77% 50%, #E3A417 0%, rgba(227, 164, 23, 0) 100%), #EC6602;
}
.bg-radial-orange h2, .bg-radial-orange .subheadline, .bg-radial-orange .p, .bg-radial-orange a:not(.button) {
  color: white;
}
.bg-radial-orange a:not(.button) {
  text-decoration: underline;
}
.bg-radial-orange .imgPadded {
  padding-left: 4.5rem;
  padding-right: 4.5rem;
}
.bg-radial-orange .mobile img {
  margin-top: 2rem;
}

.twocol57 {
  gap: 2rem;
  align-items: center;
}
@media (min-width: 600px) and (max-width: 900px) {
  .twocol57 {
    grid-template-columns: 0.9fr 1.1fr !important;
  }
}
@media (min-width: 600px) {
  .twocol57 {
    gap: 7.62rem;
  }
}

.twocol75 {
  gap: 2rem;
  align-items: center;
}
@media (min-width: 600px) {
  .twocol75 {
    gap: 7.62rem;
  }
}

.video {
  position: relative;
}
.video video {
  max-width: 100%;
  cursor: pointer;
}
@media (min-width: 600px) {
  .video video {
    margin-top: 3rem;
  }
}

.flexed-row {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

section#aktuell .mobile img {
  margin-top: 2rem;
}

.bg-light-smooth {
  background: var(--Additional-light-orange, #FEF5EB);
}

#service li, #telefonie li, #tarife .twocol75 li {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5rem;
  color: #323232;
}
@media (max-width: 599px) {
  #service li, #telefonie li, #tarife .twocol75 li {
    font-size: 1rem;
    line-height: 1.375rem;
  }
}
#service ul, #telefonie ul, #tarife .twocol75 ul {
  list-style-type: none;
  padding-left: 0;
}
#service ul li, #telefonie ul li, #tarife .twocol75 ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
}
#service ul li .small, #telefonie ul li .small, #tarife .twocol75 ul li .small {
  font-size: 1.0625rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.4375rem; /* 135.294% */
  letter-spacing: 0.05rem;
  color: #555;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
}
@media (max-width: 599px) {
  #service ul li .small, #telefonie ul li .small, #tarife .twocol75 ul li .small {
    margin-bottom: 0;
  }
}
#service ul li::before, #telefonie ul li::before, #tarife .twocol75 ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background-color: #EC6602;
}

#vor-ort {
  background-image: url(/img/benefits-section.webp);
  background-size: cover;
}
#vor-ort .twocol57 {
  gap: 0;
}
@media (max-width: 900px) {
  #vor-ort {
    padding-bottom: 70%;
    background-image: url(/img/benefits-section-mobile.webp);
    background-size: 100% auto;
    background-position: bottom;
  }
  #vor-ort .twocol {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 599px) {
  #vor-ort {
    background-color: #EC6602;
  }
  #vor-ort .twocol {
    grid-template-columns: 1fr;
  }
}
#vor-ort h2, #vor-ort .p {
  color: #fff;
}

#vor-ort .item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
}
#vor-ort .item .p {
  font-weight: 700;
}

#planung-beratung .p, #haustechnik .p, #gebaeudeinstallation .p, #blitzschutz .p, #alarmanlagen .p, #photovoltaik .p {
  color: #727272;
}

#kabel-tv .twocol.twocol57, #kabel-tv .twocol.twocol75, #telefonie .twocol.twocol57, #telefonie .twocol.twocol75 {
  align-items: start;
}
#kabel-tv .button.full, #kabel-tv #mobilenav nav.topnav ul li.full:nth-child(5), #mobilenav nav.topnav ul #kabel-tv li.full:nth-child(5), #telefonie .button.full, #telefonie #mobilenav nav.topnav ul li.full:nth-child(5), #mobilenav nav.topnav ul #telefonie li.full:nth-child(5) {
  margin-bottom: 4rem;
}
#kabel-tv .infoLineContainer, #telefonie .infoLineContainer {
  padding-bottom: 1rem;
  border-bottom: 1px solid #F1F1F1;
  margin-bottom: 1rem;
}
#kabel-tv .infoLineContainer .item, #telefonie .infoLineContainer .item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
}
#kabel-tv .infoLineContainer .item .p.infoLine, #telefonie .infoLineContainer .item .p.infoLine {
  color: #323232;
  font-style: normal;
  font-weight: 700;
  margin-bottom: 0;
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.7761627907rem + 0.9302325581vw, 1.375rem);
  line-height: 1.375rem;
  line-height: clamp(1.375rem, 1.0261627907rem + 0.9302325581vw, 1.625rem);
}
#kabel-tv .infoLineContainer .item .p.price, #telefonie .infoLineContainer .item .p.price {
  display: flex;
  gap: 1rem;
  flex-direction: row;
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  align-items: flex-end;
  color: #EC6602;
  font-size: 1.625rem;
  font-size: clamp(1.625rem, 0.7529069767rem + 2.3255813953vw, 2.25rem);
  line-height: 2rem;
  line-height: clamp(2rem, 1.1279069767rem + 2.3255813953vw, 2.625rem);
}
#kabel-tv .infoLineContainer .item .p.price .small, #telefonie .infoLineContainer .item .p.price .small {
  margin-bottom: 0;
  color: #727272;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: 0.04375rem;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
}
#kabel-tv .mobile img, #telefonie .mobile img {
  margin-top: 2rem;
}
#kabel-tv ul li::before, #telefonie ul li::before {
  top: 10px;
}

#telefonie .infoLineContainer .item {
  justify-content: flex-start;
  gap: 1rem;
}

.link.orange {
  font-size: 1.375rem;
  font-style: normal;
  font-weight: 700;
  line-height: 2rem;
  font-size: 1rem;
  font-size: clamp(1rem, 0.476744186rem + 1.3953488372vw, 1.375rem);
  line-height: 1.625rem;
  line-height: clamp(1.625rem, 1.101744186rem + 1.3953488372vw, 2rem);
  margin-right: 2rem;
}
@media (max-width: 900px) {
  .link.orange {
    display: block;
    margin-bottom: 1rem;
    margin-right: 0;
  }
}

img {
  border-radius: 0.375rem;
}

section#anfragen {
  padding-bottom: 20rem;
  background-image: url(/img/expert-cta-mobile.webp);
  background-size: cover;
  background-position: center;
}
section#anfragen h2 {
  margin-bottom: 2rem;
}
@media (min-width: 600px) and (max-width: 900px) {
  section#anfragen {
    background-image: url(/img/expert-cta-tablet.webp);
    padding-bottom: 20rem;
    background-size: cover;
  }
  section#anfragen h2 {
    margin-bottom: 3rem;
  }
}
@media (min-width: 901px) {
  section#anfragen {
    background-image: url(/img/expert-cta.webp);
    padding-bottom: 8rem;
    background-size: cover;
  }
  section#anfragen h2 {
    margin-bottom: 3rem;
  }
}

section#glasfaserinternet {
  padding-bottom: 30rem;
  background-image: url(/img/business-internet-mobile.webp);
  background-size: cover;
  background-position: bottom;
}
section#glasfaserinternet .subheadline, section#glasfaserinternet .p, section#glasfaserinternet h2 {
  color: #fff;
}
section#glasfaserinternet h2 {
  margin-bottom: 2rem;
}
@media (min-width: 600px) and (max-width: 900px) {
  section#glasfaserinternet {
    background-image: url(/img/business-internet.webp);
    padding-bottom: 8rem;
  }
  section#glasfaserinternet .twocol75 {
    grid-template-columns: 0.7fr 0.5fr;
  }
}
@media (min-width: 901px) {
  section#glasfaserinternet {
    background-image: url(/img/business-internet.webp);
    padding-bottom: 8rem;
    background-size: cover;
  }
  section#glasfaserinternet h2 {
    margin-bottom: 3rem;
  }
}

section#service-links .twocol75 {
  margin-bottom: 2rem;
  gap: 0;
}
@media (min-width: 600px) {
  section#service-links .twocol75 {
    margin-bottom: 3rem;
  }
}
section#service-links .item {
  justify-content: flex-start;
  flex-direction: column;
  align-items: flex-start;
}
section#service-links .item img {
  margin-bottom: 1rem;
  margin-top: 1rem;
}
@media (min-width: 600px) {
  section#service-links .item img {
    margin-bottom: 1.5rem;
    margin-top: 0;
  }
}
section#service-links .item h3 {
  color: #EC6602;
}
section#service-links .item .button, section#service-links .item #mobilenav nav.topnav ul li:nth-child(5), #mobilenav nav.topnav ul section#service-links .item li:nth-child(5) {
  margin-top: auto;
}
section#service-links .item .smallest {
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.4375rem;
  letter-spacing: 0.05rem;
  margin-bottom: 1rem;
}
@media (max-width: 599px) {
  section#service-links .grid.threecol {
    grid-template-columns: 1fr;
  }
}

section#experten-service .button.full, section#experten-service #mobilenav nav.topnav ul li.full:nth-child(5), #mobilenav nav.topnav ul section#experten-service li.full:nth-child(5) {
  flex-direction: row;
  display: block;
  margin-bottom: 2rem;
}
@media (min-width: 600px) {
  section#experten-service .button.full, section#experten-service #mobilenav nav.topnav ul li.full:nth-child(5), #mobilenav nav.topnav ul section#experten-service li.full:nth-child(5) {
    margin-bottom: 0;
  }
}
@media (max-width: 1200px) {
  section#experten-service img:not(.callIcon) {
    margin-top: 2rem;
  }
}

section#speed-test {
  padding-bottom: 50%;
  background-image: url(/img/speedtest-section-mobile.webp);
  background-size: cover;
  background-position: center;
}
section#speed-test .subheadline, section#speed-test .p, section#speed-test h2 {
  color: #fff;
}
section#speed-test h2 {
  margin-bottom: 2rem;
}
@media (min-width: 600px) {
  section#speed-test {
    background-image: url(/img/speedtest-section.webp);
    padding-bottom: 8rem;
  }
}
@media (min-width: 901px) {
  section#speed-test {
    background-image: url(/img/speedtest-section.webp);
    padding-bottom: 8rem;
    background-size: cover;
  }
  section#speed-test h2 {
    margin-bottom: 3rem;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#speed-test .twocol {
    grid-template-columns: 1fr 1fr;
  }
}

ol li .small {
  margin-bottom: 0;
}

ol {
  list-style: none;
  counter-reset: custom-counter;
}

ol li {
  counter-increment: custom-counter;
  margin-bottom: 0.75rem;
}

ol li::before {
  content: counter(custom-counter) ". ";
  color: #EC6602;
  font-weight: bold;
  position: absolute;
  width: 1em;
  margin-left: -1em;
}

section#header.kontakt .button.white.trans, section#header.kontakt #mobilenav nav.topnav ul li.trans:nth-child(5), #mobilenav nav.topnav ul section#header.kontakt li.trans:nth-child(5), section#header.kontakt #mobilenav nav.topnav ul li.white:nth-child(5), #mobilenav nav.topnav ul section#header.kontakt li.white:nth-child(5), section#header.kontakt #mobilenav nav.topnav ul li.button:nth-child(5), #mobilenav nav.topnav ul section#header.kontakt li.button:nth-child(5), section#header.kontakt #mobilenav nav.topnav ul ul li:nth-child(5), #mobilenav nav.topnav ul ul section#header.kontakt li:nth-child(5) {
  flex-direction: row;
}
@media (min-width: 600px) {
  section#header.kontakt .button.white.trans, section#header.kontakt #mobilenav nav.topnav ul li.trans:nth-child(5), #mobilenav nav.topnav ul section#header.kontakt li.trans:nth-child(5), section#header.kontakt #mobilenav nav.topnav ul li.white:nth-child(5), #mobilenav nav.topnav ul section#header.kontakt li.white:nth-child(5), section#header.kontakt #mobilenav nav.topnav ul li.button:nth-child(5), #mobilenav nav.topnav ul section#header.kontakt li.button:nth-child(5), section#header.kontakt #mobilenav nav.topnav ul ul li:nth-child(5), #mobilenav nav.topnav ul ul section#header.kontakt li:nth-child(5) {
    width: 100%;
    max-width: 28rem;
  }
}
section#header.kontakt .button.white.trans:first-of-type, section#header.kontakt #mobilenav nav.topnav ul li.trans:first-of-type:nth-child(5), #mobilenav nav.topnav ul section#header.kontakt li.trans:first-of-type:nth-child(5), section#header.kontakt #mobilenav nav.topnav ul li.white:first-of-type:nth-child(5), #mobilenav nav.topnav ul section#header.kontakt li.white:first-of-type:nth-child(5), section#header.kontakt #mobilenav nav.topnav ul li.button:first-of-type:nth-child(5), #mobilenav nav.topnav ul section#header.kontakt li.button:first-of-type:nth-child(5), section#header.kontakt #mobilenav nav.topnav ul ul li:first-of-type:nth-child(5), #mobilenav nav.topnav ul ul section#header.kontakt li:first-of-type:nth-child(5), section#header.kontakt .button.white.trans:nth-of-type(2), section#header.kontakt #mobilenav nav.topnav ul li.trans:nth-of-type(2):nth-child(5), #mobilenav nav.topnav ul section#header.kontakt li.trans:nth-of-type(2):nth-child(5), section#header.kontakt #mobilenav nav.topnav ul li.white:nth-of-type(2):nth-child(5), #mobilenav nav.topnav ul section#header.kontakt li.white:nth-of-type(2):nth-child(5), section#header.kontakt #mobilenav nav.topnav ul li.button:nth-of-type(2):nth-child(5), #mobilenav nav.topnav ul section#header.kontakt li.button:nth-of-type(2):nth-child(5), section#header.kontakt #mobilenav nav.topnav ul ul li:nth-of-type(2):nth-child(5), #mobilenav nav.topnav ul ul section#header.kontakt li:nth-of-type(2):nth-child(5) {
  margin-bottom: 1rem;
}

.callIcon {
  margin-right: 0.75rem;
}

#anliegen .button.full, #anliegen #mobilenav nav.topnav ul li.full:nth-child(5), #mobilenav nav.topnav ul #anliegen li.full:nth-child(5) {
  flex-direction: row;
}

.highlight {
  color: #EC6602;
  font-weight: 700;
}

section#anfahrt {
  padding-bottom: 20rem;
  background-image: url(/img/anfahrts-skizze-mobile.webp);
  background-size: cover;
}
section#anfahrt .subheadline, section#anfahrt .p, section#anfahrt h2 {
  color: #fff;
}
section#anfahrt h2 {
  margin-bottom: 2rem;
}
@media (min-width: 600px) {
  section#anfahrt {
    background-image: url(/img/anfahrts-skizze.webp);
    padding-bottom: 8rem;
    background-size: cover;
    height: 35rem;
  }
}
@media (min-width: 901px) {
  section#anfahrt {
    background-image: url(/img/anfahrts-skizze.webp);
    height: 35rem;
    background-size: cover;
  }
  section#anfahrt h2 {
    margin-bottom: 3rem;
  }
}

#technik-pionier .item.slick-slide {
  box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.4);
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
  margin-bottom: 0.5rem;
  background-color: white;
}
#technik-pionier .item.slick-slide h3 {
  background-image: url("/img/box-header.svg");
  background-repeat: no-repeat;
  color: #fff;
  border-top-right-radius: 0.375rem;
  padding: 1.5rem;
}
#technik-pionier .item.slick-slide .p {
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
  background-color: white;
  padding: 1rem;
}
#technik-pionier .slick-next:before {
  content: url(/img/arrow-slide-orange-right.svg);
}
#technik-pionier .slick-prev:before {
  content: url(/img/arrow-slide-orange-left.svg);
}

#tarife .twocol75 {
  margin-bottom: 2.5rem;
}
@media (min-width: 600px) {
  #tarife .twocol75 {
    margin-bottom: 4rem;
  }
}
#tarife .twocol.twocol57, #tarife .twocol.twocol75 {
  align-items: start;
}
#tarife .tab {
  border: 2px soldid #FEF5EB;
}
#tarife .tab button:first-of-type {
  border: 2px solid #EC6602;
  color: #EC6602;
  background-color: #FEF5EB;
  border-right: none;
}
#tarife .tab button:first-of-type.active {
  background-color: #EC6602;
  color: #fff;
}
#tarife .tab button:last-of-type {
  border: 2px solid #0067B1;
  color: #0067B1;
  background-color: #FEF5EB;
  border-left: none;
}
#tarife .tab button:last-of-type.active {
  background-color: #0067B1;
  color: #fff;
}
#tarife .parentContainer #tab2 .body li {
  position: relative;
  padding-left: 35px;
  margin-bottom: 10px;
}
#tarife .parentContainer #tab2 .body li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background-color: #82D0F5;
}
#tarife .parentContainer #tab2 .price h2 {
  color: #0067B1 !important;
}
#tarife .parentContainer #tab1 .carditem .header {
  background-color: #727272;
  border-top-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
#tarife .parentContainer #tab1 .carditem .body li {
  position: relative;
  padding-left: 35px;
  margin-bottom: 10px;
}
#tarife .parentContainer #tab1 .carditem .body li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background-color: #EC6602;
}
#tarife .parentContainer #tab1 .carditem:first-child .header {
  background-image: url("/img/tarife-koax-25.svg");
}
#tarife .parentContainer #tab1 .carditem:nth-child(2) .header {
  position: relative;
  background-image: url("/img/tarife-koax-50.svg");
}
#tarife .parentContainer #tab1 .carditem:nth-child(3) .header {
  position: relative;
  background-image: url("/img/tarife-koax-75.svg");
}
#tarife .parentContainer #tab1 .carditem:nth-child(4) .header {
  position: relative;
  background-image: url("/img/tarife-koax-75.svg");
}

#team .twocol.twocol75 {
  margin-bottom: 2rem;
}
@media (min-width: 600px) {
  #team .twocol.twocol75 {
    margin-bottom: 3rem;
  }
}
#team .tab {
  border: 2px soldid #FEF5EB;
}
#team .tab button:first-of-type {
  border: 2px solid #EC6602;
  color: #EC6602;
  background-color: #fff;
  border-right: none;
}
#team .tab button:first-of-type.active {
  background-color: #EC6602;
  color: #fff;
}
#team .tab button:last-of-type {
  border: 2px solid #0067B1;
  color: #0067B1;
  background-color: #fff;
  border-left: none;
}
#team .tab button:last-of-type.active {
  background-color: #0067B1;
  color: #fff;
}
#team .containerJobs .buttonbox {
  padding-left: 0;
}
#team .containerJobs #tab1 .twocol {
  margin-bottom: 2rem;
  margin-top: 2rem;
}
#team .containerJobs #tab1 h4 {
  color: #EC6602;
}
#team .containerJobs #tab1 li {
  position: relative;
  padding-left: 35px;
  color: #555;
}
#team .containerJobs #tab1 li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background-color: #EC6602;
}
#team .containerJobs #tab2 .twocol {
  margin-bottom: 2rem;
  margin-top: 2rem;
}
#team .containerJobs #tab2 h4 {
  color: #0067B1;
}
#team .containerJobs #tab2 .item.open h3::after {
  content: url(/img/up.svg);
}
#team .containerJobs #tab2 h3::after {
  content: url(/img/down.svg);
}
#team .containerJobs #tab2 li {
  position: relative;
  padding-left: 35px;
  color: #555;
}
#team .containerJobs #tab2 li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background-color: #82D0F5;
}

.containerJobs {
  display: flex;
  position: relative;
  flex-direction: column;
}
.containerJobs h4 {
  color: #EC6602;
}
.containerJobs li {
  font-size: 1.1875rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.8125rem; /* 152.632% */
  letter-spacing: 0.05rem;
  color: #727272;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
}
.containerJobs ul {
  margin-top: 1rem;
}

.containerJobs > .tabcontent {
  display: block; /* undo "display: none;" */
  visibility: hidden;
  width: 100%;
}

.fas.fa-angle-right {
  margin-left: 0.5rem;
}

#kontaktform .modal-content {
  background: radial-gradient(100% 100% at 100% 100%, #E3A417 0%, rgba(227, 164, 23, 0) 100%), #EC6602;
}
#kontaktform .modal-header .twocol.desktop {
  grid-template-columns: 1fr;
}

#loesungen .button, #loesungen #mobilenav nav.topnav ul li:nth-child(5), #mobilenav nav.topnav ul #loesungen li:nth-child(5) {
  margin-top: auto;
}

.slick-track {
  display: flex !important;
}

.slick-slide {
  height: inherit !important;
}

.home section#header {
  position: relative;
}
.home .onlineBanner {
  background-color: #fff;
  position: absolute;
  padding: 2rem 3rem 2rem 2rem;
  border-bottom-left-radius: 0.38rem;
  border-top-left-radius: 0.38rem;
  right: 0;
  top: 60%;
}
@media (max-width: 900px) {
  .home .onlineBanner {
    display: none;
  }
}
.home .onlineBanner h3 {
  color: #EC6602 !important;
  font-family: Gomme-Sans;
  font-size: 2rem;
  font-style: normal;
  font-weight: 800;
  line-height: 2rem;
  margin-bottom: 1rem;
}
.home .onlineBanner .textSmall {
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.375rem;
  color: #323232;
  font-family: Gomme-Sans;
}

#topLogo {
  border-radius: 0;
}

#mobilenav nav.topnav {
  font-size: 1.125rem;
}

footer a:focus {
  color: white;
}

#gut-beraten .mobile img {
  margin-top: 2rem;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E") !important;
  background-repeat: no-repeat, repeat !important;
  background-position: right 0.7em top 50%, 0 0 !important;
  background-size: 0.65em auto, 100% !important;
  border: none;
  border-radius: 0px;
  padding: 0em 0em 0em 0.35em;
}

#kontaktform_cn #gdpr:before {
  background: #006DB5 !important;
}

@media (max-width: 900px) {
  .items.cardMain {
    height: 100%;
  }
}

#loesungen .slick-track, #projekte .slick-track, #technik .slick-track {
  display: flex !important;
}
#loesungen .slick-slide, #projekte .slick-slide, #technik .slick-slide {
  height: inherit !important;
  display: flex !important;
}

footer article a {
  word-break: unset !important;
}

@media (max-width: 599px) {
  footer article nav a {
    margin-right: 0.5rem;
  }
}

@media (max-width: 900px) {
  #topLogo {
    width: 85px;
    height: auto;
  }
}

.infoBoxPink {
  border-radius: 0.38rem;
  padding: 2rem;
  border-radius: 0.375rem;
  background: var(--Gradient-Pink, linear-gradient(0deg, #B10061 0%, #E5007D 100%));
  margin-bottom: 2rem;
  position: relative;
  overflow: hidden;
  /* Package Shadow */
  box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.4);
}
.infoBoxPink .textInfo {
  font-style: normal;
  font-weight: 400;
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.7761627907rem + 0.9302325581vw, 1.375rem);
  line-height: 1.375rem;
  line-height: clamp(1.375rem, 1.0261627907rem + 0.9302325581vw, 1.625rem);
  color: white;
}
.infoBoxPink ul {
  list-style: none;
  padding-left: 1.5em;
  margin-bottom: 0;
}
.infoBoxPink ul li {
  position: relative;
  font-style: normal;
  font-weight: 400;
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 0.7761627907rem + 0.9302325581vw, 1.375rem);
  line-height: 1.375rem;
  line-height: clamp(1.375rem, 1.0261627907rem + 0.9302325581vw, 1.625rem);
}
.infoBoxPink ul li::before {
  content: "";
  position: absolute;
  left: -1.5em;
  top: 0.5em;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background-image: url("data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='8' height='8' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.infoBoxPink ul li:first-child {
  margin-bottom: 1rem;
}

section#header article {
  position: relative;
}
@media (min-width: 600px) {
  section#header .twocol {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 600px) {
  section#header .twocol.twocol75 {
    grid-template-columns: 0.7fr 0.5fr;
  }
}
@media (min-width: 600px) {
  section#header .twocol.twocol57 {
    grid-template-columns: 0.5fr 0.7fr;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  section#header .twocol.twocol57 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 599px) {
  section#header .twocol.twocol57 {
    grid-template-columns: 1fr;
  }
}
section#header .twocol > div {
  position: static;
}
section#header .teaser {
  color: #fff;
}

@media (max-width: 599px) {
  body.home section#header {
    padding-top: 5rem;
  }
}

@media (min-width: 1200px) {
  body.service .headerbadge {
    bottom: 0rem;
    right: -9rem;
  }
}
@media (min-width: 901px) {
  body.service .headerbadge {
    bottom: 0rem;
    right: -3rem;
  }
}
@media (max-width: 900px) {
  body.service .headerbadge {
    bottom: -4rem;
    right: 0;
  }
}
@media (max-width: 599px) {
  body.service .headerbadge {
    top: 12rem;
    right: -5rem;
    scale: 0.7;
  }
}
body.service section#header {
  background-image: url(/img/hero-service-mobile.webp);
}
@media (max-width: 599px) {
  body.service section#header {
    background-size: 100% auto;
    height: auto;
    background-position-y: -80px;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  body.service section#header {
    background-image: url(/img/hero-service-tablet.webp);
  }
}
@media (min-width: 901px) {
  body.service section#header {
    background-image: url(/img/hero-service.webp);
  }
}
@media (max-width: 320px) {
  body.service section#header {
    background-position-y: -40px;
  }
}
@media (max-width: 599px) {
  body.service section#header article {
    padding-top: 110%;
  }
}

body.expert-shop section#header {
  background-image: url(/img/hero-expert-shop-mobile.webp);
}
@media (max-width: 599px) {
  body.expert-shop section#header {
    background-size: 100% auto;
    background-position: center top;
    height: auto;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  body.expert-shop section#header {
    background-image: url(/img/hero-expert-shop-tablet.webp);
  }
}
@media (min-width: 901px) {
  body.expert-shop section#header {
    background-image: url(/img/hero-expert-shop.webp);
    background-position: center top;
  }
}
@media (max-width: 599px) {
  body.expert-shop section#header article {
    justify-content: flex-end;
    padding-top: 130%;
  }
}
@media (min-width: 901px) {
  body.expert-shop section#header article .twocol > div:first-child {
    padding-right: 3rem;
  }
}

body.elektroinstallationen section#header {
  background-image: url(/img/hero-elektro-installationen-mobile.webp);
}
@media (max-width: 599px) {
  body.elektroinstallationen section#header {
    background-size: 100% auto;
    height: auto;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  body.elektroinstallationen section#header {
    background-image: url(/img/hero-elektro-installationen-tablet.webp);
    background-position: center;
  }
}
@media (min-width: 901px) {
  body.elektroinstallationen section#header {
    background-image: url(/img/hero-elektro-installationen.webp);
    background-position: center top;
  }
}
@media (max-width: 599px) {
  body.elektroinstallationen section#header article {
    justify-content: flex-end;
    padding-top: 130%;
  }
}
@media (min-width: 901px) {
  body.elektroinstallationen section#header article .twocol > div:first-child {
    padding-right: 3rem;
  }
}

body.karriere section#header {
  background-image: url(/img/hero-karriere-mobile.webp);
}
@media (max-width: 599px) {
  body.karriere section#header {
    background-size: 100% auto;
    height: auto;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  body.karriere section#header {
    background-image: url(/img/hero-karriere-tablet.webp);
  }
}
@media (min-width: 901px) {
  body.karriere section#header {
    background-image: url(/img/hero-karriere.webp);
    background-position: center top;
  }
}
@media (max-width: 599px) {
  body.karriere section#header article {
    justify-content: flex-end;
    padding-top: 130%;
  }
}
@media (min-width: 901px) {
  body.karriere section#header article .twocol > div:first-child {
    padding-right: 3rem;
  }
}

body.tv-internet section#header {
  background-image: url(/img/hero-tv-internet-mobile.webp);
}
@media (max-width: 599px) {
  body.tv-internet section#header {
    background-size: 100% auto;
    height: auto;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  body.tv-internet section#header {
    background-image: url(/img/hero-tv-internet-tablet.webp);
    background-position: 45%;
  }
}
@media (min-width: 901px) {
  body.tv-internet section#header {
    background-image: url(/img/hero-tv-internet.webp);
    background-position: center top;
  }
}
@media (max-width: 599px) {
  body.tv-internet section#header article {
    justify-content: flex-end;
    padding-top: 130%;
  }
}
@media (min-width: 901px) {
  body.tv-internet section#header article .twocol > div:first-child {
    padding-right: 3rem;
  }
}

body.kontakt section#header {
  background-image: url(/img/hero-kontakt-mobile.webp);
}
@media (max-width: 599px) {
  body.kontakt section#header {
    background-size: 100% auto;
    height: auto;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  body.kontakt section#header {
    background-image: url(/img/hero-kontakt-tablet.webp);
  }
}
@media (min-width: 901px) {
  body.kontakt section#header {
    background-image: url(/img/hero-kontakt.webp);
  }
}
@media (max-width: 599px) {
  body.kontakt section#header article {
    padding-top: 130%;
  }
}

body.ueber-uns section#header {
  background-image: url(/img/hero-ueber-uns-mobile.webp);
}
@media (max-width: 599px) {
  body.ueber-uns section#header {
    background-size: 100% auto;
    height: auto;
    background-position-y: -80px;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  body.ueber-uns section#header {
    background-image: url(/img/hero-ueber-uns-tablet.webp);
  }
}
@media (min-width: 901px) {
  body.ueber-uns section#header {
    background-image: url(/img/hero-ueber-uns.webp);
    background-position: center;
  }
}
@media (max-width: 599px) {
  body.ueber-uns section#header article {
    padding-top: 100%;
  }
}

body.aktionen section#header {
  background-image: url(/img/hero-aktionen-mobile.webp);
}
@media (max-width: 599px) {
  body.aktionen section#header {
    background-size: 100% auto;
    height: auto;
    background-position-y: -80px;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  body.aktionen section#header {
    background-image: url(/img/hero-aktionen-tablet.webp);
  }
  body.aktionen section#header .twocol {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 901px) {
  body.aktionen section#header {
    background-image: url(/img/hero-aktionen.webp);
  }
}
@media (max-width: 599px) {
  body.aktionen section#header article {
    padding-top: 100%;
  }
}

footer {
  border-top: 1px solid #fff;
}
footer article {
  padding: 4rem 1.5rem;
  color: #fff;
}
@media (max-width: 900px) {
  footer article {
    padding-bottom: 5rem;
  }
}
footer article .row1 {
  display: grid;
  gap: 2rem;
  row-gap: 3rem;
}
@media (min-width: 901px) {
  footer article .row1 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
footer article .row1 > div:first-child {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
footer article .row1 > div:first-child img.logo {
  display: block;
}
footer article .row1 > div:first-child a {
  margin-right: 1rem;
}
footer article .row1 > div:first-child a:last-child {
  margin: none;
}
footer article .row1 > div:first-child > div:first-child {
  display: flex;
  justify-content: space-between;
}
footer article .row1 > div:nth-child(3) {
  display: grid;
  justify-content: end;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 900px) {
  footer article .row1 .copy {
    position: absolute;
    bottom: 2rem;
  }
}
footer article .row2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
footer article .row2 > div:nth-child(2) {
  display: flex;
  justify-content: flex-end;
}
footer article .row2 nav {
  display: flex;
  gap: 4rem;
}
footer article nav a {
  display: block;
  color: #fff;
  margin-bottom: 1rem;
}
footer article nav a:hover {
  color: #fff;
}

body.missing section#header {
  text-align: center;
  padding-top: 10rem;
}
@media (min-width: 901px) {
  body.missing section#header {
    padding-top: 15rem;
  }
}
body.missing section#header article {
  max-width: 33rem;
}
@media (max-width: 599px) {
  body.missing section#header {
    background-size: 200% auto;
    height: auto;
  }
}
body.missing section#header h1 {
  color: #fff;
  margin-bottom: 2rem;
  font-size: 5rem;
}
body.missing section#header .button, body.missing section#header #mobilenav nav.topnav ul li:nth-child(5), #mobilenav nav.topnav ul body.missing section#header li:nth-child(5) {
  margin: 0 auto;
}

/**************************************************************************/
/**************************************************************************/
.genericModal h2 {
  font-family: "Gomme-Sans", "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 800;
  color: #FFFFFF;
  margin-top: 8rem;
}
@media (min-width: 901px) {
  .genericModal h2 {
    margin-top: 0;
  }
}
.genericModal h3 {
  color: #FFFFFF;
  margin-top: 5rem;
}
.genericModal .p {
  color: #FFFFFF;
}
.genericModal #boxError, .genericModal #boxSuccess, .genericModal #boxError2, .genericModal #boxSuccess2 {
  display: none;
}
@media (max-width: 599px) {
  .genericModal #boxError, .genericModal #boxSuccess, .genericModal #boxError2, .genericModal #boxSuccess2 {
    margin-top: 2rem;
  }
}
.genericModal .textheader {
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.1875rem;
  font-size: clamp(1.1875rem, 1.0130813953rem + 0.4651162791vw, 1.3125rem);
  line-height: 1.6875rem;
  line-height: clamp(1.6875rem, 1.3386627907rem + 0.9302325581vw, 1.9375rem);
  color: #FFFFFF;
  letter-spacing: 0.8px;
}
.genericModal .twocol, .genericModal .twoc {
  margin: 4rem 1.5rem;
  margin-bottom: 0;
}
@media (min-width: 901px) {
  .genericModal .twocol, .genericModal .twoc {
    margin: 7.5rem 6rem;
    margin-bottom: 2rem;
  }
}
.genericModal .modal-content {
  background: linear-gradient(287.7deg, rgba(0, 159, 227, 0.7) 21.21%, rgba(0, 159, 227, 0) 75.04%), #0067B1;
}
.genericModal .modal-dialog {
  max-width: 1040px;
}
.genericModal .vertical-alignment-helper {
  pointer-events: none;
}
.genericModal .buttonContainer {
  display: flex;
  gap: 1.5rem;
  flex-wrap: nowrap;
}
@media (max-width: 599px) {
  .genericModal .buttonContainer {
    flex-wrap: wrap;
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  .genericModal .buttonContainer {
    flex-wrap: wrap;
  }
}
.genericModal .modal-header {
  border-bottom: none;
  padding: 0;
}
.genericModal .modal-header .btn-close {
  position: absolute;
  top: 3rem;
  right: 3rem;
  height: 2rem;
  width: 2rem;
  background: url("/img/close-modal-white.svg");
  background-size: cover;
  opacity: 1;
  z-index: 10;
}
@media (max-width: 599px) {
  .genericModal .modal-header .btn-close {
    top: 1.5rem;
    right: 1.5rem;
  }
}
@media (max-width: 900px) {
  .genericModal .modal-header .btn-close {
    height: 1rem;
    width: 1rem;
  }
}
.genericModal .modalStoerer {
  transform: scale(1, 1) rotate(0.05turn);
  -webkit-filter: drop-shadow(0px 0px 16px rgba(0, 0, 0, 0.5));
  filter: drop-shadow(0px 0px 16px rgba(0, 0, 0, 0.5));
}
.genericModal .iconModalMobile {
  max-width: 150px;
  position: absolute;
  right: 12px;
  top: 100px;
  transform: scale(1, 1) rotate(0.05turn);
}
@media (max-width: 599px) {
  .genericModal .iconModalMobile {
    max-width: 120px;
  }
}
.genericModal .modal-body {
  padding: 0;
}
.genericModal .modal-body article {
  margin: 4rem 1.5rem;
  margin-top: 0;
}
@media (min-width: 901px) {
  .genericModal .modal-body article {
    margin: 7.5rem 6rem;
    margin-top: 0;
  }
}
.genericModal .modal-body article #contact_form .form-control {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #fff;
  border-radius: 0;
  padding-left: 6px;
  color: #fff;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.1875rem;
  font-size: clamp(1.1875rem, 1.0130813953rem + 0.4651162791vw, 1.3125rem);
  line-height: 1.6875rem;
  line-height: clamp(1.6875rem, 1.3386627907rem + 0.9302325581vw, 1.9375rem);
  font-size: 21px;
  line-height: 31px;
  margin-bottom: 2rem;
  letter-spacing: 0.8px;
}
.genericModal .modal-body article #contact_form .row.top {
  padding-left: 12px;
  padding-right: 12px;
}
.genericModal .modal-body article #contact_form select {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #fff;
  border-radius: 0;
  padding-left: 0;
  color: #fff;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.1875rem;
  font-size: clamp(1.1875rem, 1.0130813953rem + 0.4651162791vw, 1.3125rem);
  line-height: 1.6875rem;
  line-height: clamp(1.6875rem, 1.3386627907rem + 0.9302325581vw, 1.9375rem);
  margin-bottom: 2rem;
  letter-spacing: 0.8px;
}
.genericModal .modal-body article #contact_form select option {
  color: #1A1A18;
}
.genericModal .modal-body article #contact_form label {
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
}
.genericModal .modal-body article #contact_form label[for=gdpr], .genericModal .modal-body article #contact_form label[for=mobilegdpr] {
  opacity: 1;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  margin: 3rem 0;
  margin-bottom: 2rem;
  display: flex;
  align-items: flex-start;
  max-width: 500px;
  font-size: 0.9375rem;
  font-size: clamp(0.9375rem, 0.7630813953rem + 0.4651162791vw, 1.0625rem);
  line-height: 1.25rem;
  line-height: clamp(1.25rem, 0.988372093rem + 0.6976744186vw, 1.4375rem);
  letter-spacing: 0.8px;
}
.genericModal .modal-body article #contact_form label[for=gdpr] input, .genericModal .modal-body article #contact_form label[for=mobilegdpr] input {
  margin: 0;
  z-index: 9;
  width: 1px;
}
.genericModal .modal-body article #contact_form label[for=gdpr] span, .genericModal .modal-body article #contact_form label[for=mobilegdpr] span {
  margin-left: 1.2rem;
  color: #fff;
}
.genericModal .modal-body article #contact_form label[for=gdpr] span .linkPrivacy, .genericModal .modal-body article #contact_form label[for=mobilegdpr] span .linkPrivacy {
  color: white;
  text-decoration: underline;
}
.genericModal .modal-body article #contact_form label[for=gdpr] {
  position: relative;
}
.genericModal .modal-body article #contact_form #contact_phone, .genericModal .modal-body article #contact_form #contact_mail, .genericModal .modal-body article #contact_form #contact_sms {
  margin-right: 0.5rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  appearance: none;
}
.genericModal .modal-body article #contact_form .inputradiocontainer {
  position: relative;
}
.genericModal .modal-body article #contact_form .inputradiocontainer input[type=checkbox]:before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  background: transparent;
  border: 2px solid #fff;
  border-radius: 3px;
  position: absolute;
  bottom: 5px;
}
.genericModal .modal-body article #contact_form .inputradiocontainer #contact_phone:checked:after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #fff;
  border: 2px solid #fff;
  position: absolute;
  border-radius: 1px;
  left: 4px;
  bottom: 9px;
}
.genericModal .modal-body article #contact_form .inputradiocontainer #contact_mail:checked:after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #fff;
  border: 2px solid #fff;
  position: absolute;
  border-radius: 1px;
  left: 4px;
  bottom: 9px;
}
.genericModal .modal-body article #contact_form .inputradiocontainer #contact_sms:checked:after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #fff;
  border: 2px solid #fff;
  position: absolute;
  border-radius: 1px;
  left: 4px;
  bottom: 9px;
}
.genericModal .modal-body article #contact_form .inputradiocontainer #contact_phone, .genericModal .modal-body article #contact_form .inputradiocontainer #contact_sms, .genericModal .modal-body article #contact_form .inputradiocontainer #contact_mail {
  margin-right: 1rem;
}
.genericModal .modal-body article #contact_form #gdpr {
  position: relative;
  top: 4px;
  margin-right: 0.5rem;
  -moz-appearance: none;
}
.genericModal .modal-body article #contact_form #gdpr:before {
  content: " ";
  display: inline-block;
  width: 13px;
  height: 13px;
  background: #EC6602;
  border: 2px solid #fff;
  border-radius: 3px;
  position: absolute;
  top: 0;
}
.genericModal .modal-body article #contact_form #gdpr:checked:after {
  content: " ";
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #fff;
  border: 2px solid #fff;
  position: absolute;
  border-radius: 1px;
  left: 4px;
  top: 4px;
}
.genericModal .modal-body article #contact_form label[for=contact_phone], .genericModal .modal-body article #contact_form label[for=contact_mail], .genericModal .modal-body article #contact_form label[for=contact_sms] {
  color: #fff;
  font-size: 0.9375rem;
  font-size: clamp(0.9375rem, 0.7630813953rem + 0.4651162791vw, 1.0625rem);
  line-height: 1.25rem;
  line-height: clamp(1.25rem, 0.988372093rem + 0.6976744186vw, 1.4375rem);
  margin-right: 0.75rem;
  position: relative;
  letter-spacing: 0.8px;
}
.genericModal .modal-body article #contact_form .labelText {
  color: #fff;
  font-size: 19px;
  line-height: 29px;
  margin-bottom: 1rem;
  font-size: 1.0625rem;
  font-size: clamp(1.0625rem, 0.8880813953rem + 0.4651162791vw, 1.1875rem);
  line-height: 1.4375rem;
  line-height: clamp(1.4375rem, 0.914244186rem + 1.3953488372vw, 1.8125rem);
  letter-spacing: 0.8px;
}
.genericModal .modal-body article #contact_form select:focus-visible {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #fff;
  border-radius: 0;
}
.genericModal .modal-body article #contact_form ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #fff;
  opacity: 1; /* Firefox */
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
}
.genericModal .modal-body article #contact_form :-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #fff;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
}
.genericModal .modal-body article #contact_form ::-ms-input-placeholder { /* Microsoft Edge */
  color: #fff;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
}

/**************************************************************************/
/**************************************************************************/
#contact_form {
  margin-top: 4rem;
}
#contact_form .form-control {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #1A1A18;
  border-radius: 0;
  padding-left: 6px;
  color: #1A1A18;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.1875rem;
  font-size: clamp(1.1875rem, 1.0130813953rem + 0.4651162791vw, 1.3125rem);
  line-height: 1.6875rem;
  line-height: clamp(1.6875rem, 1.3386627907rem + 0.9302325581vw, 1.9375rem);
  font-size: 21px;
  line-height: 31px;
  margin-bottom: 2rem;
  letter-spacing: 0.8px;
}
#contact_form .row.top {
  padding-left: 12px;
  padding-right: 12px;
}
#contact_form select {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #1A1A18;
  border-radius: 0;
  padding-left: 0;
  color: #1A1A18;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.1875rem;
  font-size: clamp(1.1875rem, 1.0130813953rem + 0.4651162791vw, 1.3125rem);
  line-height: 1.6875rem;
  line-height: clamp(1.6875rem, 1.3386627907rem + 0.9302325581vw, 1.9375rem);
  margin-bottom: 2rem;
  letter-spacing: 0.8px;
}
#contact_form select option {
  color: #1A1A18;
}
#contact_form label {
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
}
#contact_form label[for=gdpr], #contact_form label[for=mobilegdpr] {
  opacity: 1;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  margin: 3rem 0;
  margin-bottom: 2rem;
  display: flex;
  align-items: flex-start;
  max-width: 500px;
  font-size: 0.9375rem;
  font-size: clamp(0.9375rem, 0.7630813953rem + 0.4651162791vw, 1.0625rem);
  line-height: 1.25rem;
  line-height: clamp(1.25rem, 0.988372093rem + 0.6976744186vw, 1.4375rem);
  letter-spacing: 0.8px;
}
#contact_form label[for=gdpr] input, #contact_form label[for=mobilegdpr] input {
  width: fit-content;
  margin: 0;
  z-index: 10;
  width: 1px;
  -webkit-appearance: none;
}
#contact_form label[for=gdpr] span, #contact_form label[for=mobilegdpr] span {
  margin-left: 1.2rem;
  color: #1A1A18;
}
#contact_form label[for=gdpr] {
  position: relative;
}
#contact_form #contact_phone, #contact_form #contact_mail, #contact_form #contact_sms {
  margin-right: 0.5rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  appearance: none;
}
#contact_form .inputradiocontainer {
  position: relative;
}
#contact_form .inputradiocontainer input[type=checkbox]:before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background: transparent;
  border: 1px solid #1A1A18;
  border-radius: 3px;
  border-radius: 3px;
  position: absolute;
  bottom: 5px;
}
#contact_form .inputradiocontainer #contact_phone:checked:after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  background: #1A1A18;
  border: 2px solid #1A1A18;
  border: 2px solid #1A1A18;
  position: absolute;
  border-radius: 1px;
  left: 4px;
  bottom: 9px;
}
#contact_form .inputradiocontainer #contact_mail:checked:after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  background: #1A1A18;
  border: 2px solid #1A1A18;
  position: absolute;
  border-radius: 1px;
  left: 4px;
  bottom: 9px;
}
#contact_form .inputradiocontainer #contact_sms:checked:after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  background: #1A1A18;
  border: 2px solid #1A1A18;
  position: absolute;
  border-radius: 1px;
  left: 4px;
  bottom: 9px;
}
#contact_form .inputradiocontainer #contact_phone, #contact_form .inputradiocontainer #contact_sms, #contact_form .inputradiocontainer #contact_mail {
  margin-right: 1.3rem;
}
#contact_form #gdpr:before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border: 1px solid #1A1A18;
  border-radius: 3px;
  position: absolute;
  top: 4px;
}
#contact_form #gdpr:checked:after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  background: #1A1A18;
  border: 1px solid #1A1A18;
  position: absolute;
  border-radius: 1px;
  left: 4px;
  top: 8px;
}
#contact_form label[for=contact_phone], #contact_form label[for=contact_mail], #contact_form label[for=contact_sms] {
  color: #1A1A18;
  font-size: 0.9375rem;
  font-size: clamp(0.9375rem, 0.7630813953rem + 0.4651162791vw, 1.0625rem);
  line-height: 1.25rem;
  line-height: clamp(1.25rem, 0.988372093rem + 0.6976744186vw, 1.4375rem);
  margin-right: 0.75rem;
  position: relative;
  letter-spacing: 0.8px;
}
#contact_form .labelText {
  color: #1A1A18;
  font-size: 19px;
  line-height: 29px;
  margin-bottom: 1rem;
  font-size: 1.0625rem;
  font-size: clamp(1.0625rem, 0.8880813953rem + 0.4651162791vw, 1.1875rem);
  line-height: 1.4375rem;
  line-height: clamp(1.4375rem, 0.914244186rem + 1.3953488372vw, 1.8125rem);
  letter-spacing: 0.8px;
}
#contact_form select:focus-visible {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #1A1A18;
  border-radius: 0;
}
#contact_form ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #1A1A18;
  opacity: 1; /* Firefox */
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
}
#contact_form :-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #1A1A18;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
}
#contact_form ::-ms-input-placeholder { /* Microsoft Edge */
  color: #1A1A18;
  font-family: Facto, "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
}

#boxError, #boxSuccess, #boxError2, #boxSuccess2 {
  display: none;
  margin-top: 5rem;
}
@media (max-width: 599px) {
  #boxError, #boxSuccess, #boxError2, #boxSuccess2 {
    margin-top: 2rem;
  }
}

/*# sourceMappingURL=screen.css.map */
