/* Base */
* {
  border: 0;
  margin: 0;
  padding: 0; }

html {
  /*
   * Prevent iOS and IE text size adjust after device orientation change,
   * without disabling user zoom.
   *
   */
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow-y: scroll;
  overscroll-behavior: none;
  scroll-behavior: smooth; }

*, *::before, *::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

body {
  background: #fff;
  color: #353534;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  -moz-font-feature-settings: "liga" on;
  overflow-x: hidden; }

a, .link {
  background: inherit;
  color: #ff1d8e;
  -webkit-text-decoration-skip: ink;
  text-decoration-skip: ink;
  text-decoration: underline; }
  a.pluslink::before, .link.pluslink::before {
    content: '+\00A0'; }
  a:hover, .link:hover, a:active, .link:active {
    outline: none; }
  a:hover, .link:hover, a:focus, .link:focus, a:active, .link:active {
    background: inherit;
    color: #353534; }

* + p {
  margin: 1rem 0 0; }

img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%; }
  .auto img {
    width: auto; }

figcaption {
  padding-top: 0.25rem; }

ul {
  list-style: square inside; }
  .text ul, .services-tab__list-content ul {
    list-style: none; }
    .text ul li, .services-tab__list-content ul li {
      position: relative;
      padding-left: 1rem; }
      .text ul li::before, .services-tab__list-content ul li::before {
        content: " ";
        background-image: url(../../../../netzplusservice/Website/icon-aufzaehlung-hellblau.svg);
        width: 1rem;
        height: 1rem;
        color: #e900e9;
        font-size: 0.5em;
        position: absolute;
        left: 0;
        line-height: 1;
        top: 0.25rem;
        background-size: 100%;
        background-repeat: no-repeat;
        background-position: center center;
        transform: rotate(30deg); }
  * + ul {
    margin: 1rem 0 0; }

.lightblue-box li::before, .lightblue li::before, .blue-box li::before, .blue li::before {
  background-image: url(../../../../netzplusservice/Website/icon-aufzaehlung-weiss.svg) !important; }

ol {
  list-style: decimal inside; }
  .text ol {
    list-style: none;
    counter-reset: step; }
    .text ol li {
      position: relative;
      margin-left: 1rem;
      padding-left: 1rem; }
      .text ol li::before {
        counter-increment: step;
        content: counter(step) ".";
        color: #e900e9;
        position: absolute;
        left: -1em; }
  * + ol {
    margin: 1rem 0 0; }

small {
  font-size: 0.889em;
  line-height: 1.563; }

sup {
  font-size: 0.889em;
  line-height: 1.563;
  position: relative;
  top: -0.25rem;
  vertical-align: baseline; }

b, strong {
  font-weight: 700; }

i, em {
  font-style: italic; }

u, ins {
  text-decoration: underline;
  -webkit-text-decoration-skip: ink;
  text-decoration-skip: ink; }

del {
  text-decoration: line-through; }

mark {
  background: #ff0;
  color: inherit; }

pre, code, kbd {
  font-size: 0.889em;
  line-height: 1.563;
  font-family: monospace, monospace;
  background: #f8f8f8;
  color: #919191; }

code {
  padding-top: 0.25em;
  padding-bottom: 0.25em; }
  code::before, code::after {
    letter-spacing: -0.25rem;
    content: "\00a0"; }

pre {
  padding: 1rem;
  overflow: auto; }
  * + pre {
    margin-top: 1rem; }

blockquote {
  margin-left: calc(1em / 2); }
  @media screen and (min-width: 43.75em) {
  blockquote {
    margin-left: 2rem; } }
  * + blockquote {
    margin-top: 1rem; }

blockquote p, q {
  font-style: italic;
  quotes: '\201E' '\201C'; }
  :lang(en) blockquote p, :lang(en) q {
    quotes: '\201C' '\201D'; }
  :lang(fr) blockquote p, :lang(fr) q {
    quotes: '\00AB' '\00BB'; }
  blockquote p::before, q::before {
    content: open-quote;
    display: inline-block; }
  blockquote p::after, q::after {
    content: close-quote;
    display: inline-block; }

blockquote p::before {
  text-indent: calc((1em / 2) * -1); }
  @supports (hanging-punctuation: first) {
    text-indent: 0;
    hanging-punctuation: first; }

cite {
  font-size: 0.9em;
  text-align: right;
  display: block; }
  cite::before {
    content: '\2014\0020'; }

hr {
  border-top: 1px solid #ebebeb;
  position: relative;
  max-width: 50%;
  margin: 0 auto; }
/*
 * TYPO3 RTE
 *
 */
.align-center, .text--center {
  text-align: center; }

.align-right, .text--right {
  text-align: right; }

.align-left, .text--left {
  text-align: left; }

.align-justify, .text--justify {
  text-align: justify; }

.text--light {
  font-weight: 300; }

.text--bold {
  font-weight: 700; }

.text--uppercase {
  text-transform: uppercase; }

.text--small {
  font-size: 0.778em;
  line-height: 1.5;
  display: inline-block; }

.lazyload, .lazyloading {
  opacity: 0; }

.lazyloaded, .flickity-lazyloaded {
  opacity: 1;
  -webkit-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear; }

.wrapper {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 100%;
  -ms-grid-rows: auto 1fr auto;
  grid-template-columns: 100%;
  grid-template-rows: auto 1fr auto;
  min-height: 100vh; }

.top {
  background-color: #9bb3cd;
  color: #fff;
  position: fixed;
  right: 2rem;
  bottom: 4rem;
  width: 2rem;
  height: 2rem;
  z-index: 6; }
  .top:active, .top:hover {
    background-color: #ff1d8e; }

a, area, button, [role="button"], input:not([type=range]), label, select, summary, textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation; }

table {
  width: 100%;
  text-align: left; }
  table tr {
    display: table-row; }
  table td, table th {
    display: table-cell;
    padding: 0.25rem 0.5rem;
    min-width: 4rem; }
  table th {
    font-weight: 700; }
  * + table {
    margin-top: 1rem; }
  table tbody tr:nth-child(odd) {
    background-color: #e5e5e5; }
  table thead th {
    vertical-align: top;
    position: relative; }
