/* ==========================================================================
   Variables
   ========================================================================== */
/* ==========================================================================
   Helpers
   ========================================================================== */
.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

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

/* ==========================================================================
   Base
   ========================================================================== */
*,
:after,
:before {
  box-sizing: border-box;
}

/* ==========================================================================
   Typography
   ========================================================================== */
body {
  margin: 0;
  padding: 0;
  font-family: "Helvetica Neue", Helvetica, Calibri, Arial, sans-serif;
  font-size: 10pt;
  line-height: 1.5;
}

@media screen {
  body {
    background-color: #f8f8f8;
  }
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 500;
  color: #002d62;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.5rem;
}

h3 {
  font-size: 1.25rem;
}

h4 {
  font-size: 1.125rem;
}

h5 {
  font-size: 1rem;
}

p {
  margin: 0 0 1rem;
}

a,
a:visited {
  color: #002d62;
  text-decoration: underline;
}

a[href]:after {
  content: " (" attr(href) ")";
}

/* ==========================================================================
   Header
   ========================================================================== */
/* ==========================================================================
   Menu
   ========================================================================== */
/* ==========================================================================
   Content
   ========================================================================== */
.frame-layout-1,
.two-column {
  text-align: justify;
  hyphens: auto;
  column-count: 2;
  column-gap: 1.5cm;
}
@media screen {
  .frame-layout-1,
  .two-column {
    column-gap: 1.9875cm;
  }
}
@media screen and (max-width: 767px) {
  .frame-layout-1,
  .two-column {
    column-count: 1;
  }
}

.grey-box {
  background-color: #e6e6e6;
  padding: 1em;
}

.d-flex {
  display: flex;
}

.justify-content-between {
  justify-content: space-between;
}

@media screen {
  .page-break {
    height: 1cm;
    margin: 2cm -2.65cm;
    background-color: #f8f8f8;
  }
}
/* media group */
.media-group {
  display: flex;
  margin-bottom: 1cm;
}

.media-group .media-item {
  width: 65%;
}

.media-group .media-item > * {
  margin-bottom: 0;
}

.media-group .media-text {
  text-align: justify;
  width: 35%;
  padding-left: 0.5cm;
}

.media-group .media-text {
  display: flex;
  flex-direction: column;
}

.media-group .media-text-body {
  flex-grow: 1;
}

/* ==========================================================================
   Footer
   ========================================================================== */
@page {
  @bottom-right {
    content: counter(page);
  }
}
/* ==========================================================================
   Table
   ========================================================================== */
table {
  border-spacing: 2px;
  border-width: 0;
  width: 100%;
  margin-bottom: 1rem;
}

table th,
table td {
  text-align: left;
  font-weight: normal;
  padding: 0.75em 1em;
  hyphens: auto;
}

table.equal-columns th,
table.equal-columns td {
  /* for equal columns */
  max-width: 0;
}

table th {
  color: white;
  background-color: #263564;
}

table td {
  background-color: #b5c8e6;
}

table td.bg-green {
  background-color: #d2ffaa;
}

table tr th p {
  margin: 0;
}

/* ==========================================================================
   Table Light - Preisspiegel - Price Comparison List
   ========================================================================== */
table.light-table {
  border-spacing: 0;
  width: 100%;
  margin-bottom: 1rem;
  font-size: 0.675em;
  color: #4a5156;
  page-break-after: always !important;
  table-layout: fixed;
}

table.light-table th {
  text-align: center;
  font-weight: 500;
  padding: 0.75em;
  color: inherit;
}

table.light-table td {
  text-align: right;
  font-weight: normal;
  padding: 0.75em;
  color: inherit;
}

/* align first column left */
table.light-table th:first-child,
table.light-table td:first-child {
  text-align: left;
  width: 22%;
}

table.light-table thead th,
table.light-table thead td {
  background-color: rgba(180, 200, 230, 0.375) !important;
}

table.light-table thead tr + tr th,
table.light-table thead tr + tr td {
  border-top: 1px solid white;
}

/* Table header border */
table.light-table thead tr:last-child th,
table.light-table thead tr:last-child td {
  border-bottom: 2px solid rgba(180, 200, 230, 0.5);
}

/* Table Head spacer */
table.light-table thead th.table-heeader-spacer {
  border: none !important;
  background: none !important;
}

/* align first row left */
table.light-table thead tr:first-child th,
table.light-table thead tr:first-child td {
  text-align: right;
}

/* align second row center */
table.light-table thead tr:nth-child(2) th,
table.light-table thead tr:nth-child(2) td {
  text-align: right;
}

/* align second row center */
table.light-table thead tr:nth-child(3) th,
table.light-table thead tr:nth-child(3) td {
  text-align: right;
}

/* smaller font size of first header row */
table.light-table thead tr:nth-child(1) th p,
table.light-table thead tr:nth-child(1) td p {
  font-size: 0.875em;
}

/* smaller font size of second header row */
table.light-table thead tr:nth-child(2) th p,
table.light-table thead tr:nth-child(2) td p {
  font-size: 0.75em;
  line-height: 1.2;
}

table.light-table tr:nth-child(2) th:first-child,
table.light-table tr:nth-child(2) td:first-child {
  text-align: left;
}

table.light-table tbody tr:nth-child(even) th,
table.light-table tbody tr:nth-child(even) td {
  background-color: rgba(180, 200, 230, 0.25);
}

table.light-table tbody tr:nth-child(odd) th,
table.light-table tbody tr:nth-child(odd) td {
  background-color: #fff;
}

table.light-table tbody tr td:only-child {
  background-color: #fff;
  font-size: 1.25em;
  font-weight: 500;
  padding-top: 2em;
  padding-bottom: 1em;
  color: #002d62;
  page-break-inside: avoid !important;
  page-break-after: avoid !important;
  display: block;
}

table.light-table tbody tr td:only-child + tr,
table.light-table tbody tr td:only-child + tr td {
  page-break-inside: avoid !important;
}

/* border right */
table.light-table .border-right {
  border-right: 1px solid rgba(180, 200, 230, 0.5);
}

/* Arrows */
.tendency-arrow {
  display: inline-block;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background-color: #002d62;
  background-image: url("../Icons/arrow_forward_white.svg");
  background-size: 0.6rem;
  background-position: center;
  vertical-align: middle;
}

.tendency-arrow-red {
  background-color: #f44336;
}

.tendency-arrow-green {
  background-color: #4caf50;
}

.tendency-arrow-rotate-plus-45 {
  transform: rotate(45deg);
}

.tendency-arrow-rotate-plus-90 {
  transform: rotate(90deg);
}

.tendency-arrow-rotate-minus-45 {
  transform: rotate(-45deg);
}

.tendency-arrow-rotate-minus-90 {
  transform: rotate(-90deg);
}

/* ==========================================================================
   Table of Content
   ========================================================================== */
@media screen {
  div.ro-toc a {
    color: gray;
  }
}
@media print {
  div.ro-toc a {
    color: black;
    text-decoration: none;
  }
  div.ro-toc a:after {
    content: leader(dotted) target-counter(attr(href url), page);
  }
}
.ro-toc-heading:before {
  content: none;
}

div.ro-toc {
  margin-bottom: 2cm;
}

div.ro-toc > h2 {
  break-before: avoid;
}

div.ro-toc div {
  margin-bottom: 1.5pt;
}

div.ro-toc-acc {
  -ro-pdf-tag-type: none;
}

div.ro-toc-acc > div {
  -ro-pdf-tag-type: "TOC";
}

div.ro-toc-acc > div div {
  -ro-pdf-tag-type: "TOCI";
}

div.ro-toc-acc > div div div {
  -ro-pdf-tag-type: "Reference";
}

/* ==========================================================================
   page bottom
   ========================================================================== */
.float-bottom {
  float: footnote;
  margin-bottom: 0 !important;
}

.toc-imprint {
  font-size: 9pt;
  break-after: page;
}

@page toc {
  @footnote {
    border: none;
  }
}
#table-of-content {
  page: toc;
  position: relative;
}

/* ==========================================================================
   Typo3 Content-Elements Fluid
   ========================================================================== */
.ce-image,
.ce-textpic {
  clear: both;
  overflow: hidden;
}
.ce-image.ce-center .ce-gallery,
.ce-textpic.ce-center .ce-gallery {
  text-align: center;
}
.ce-image.ce-right .ce-gallery,
.ce-textpic.ce-right .ce-gallery {
  text-align: right;
}
.ce-image.ce-left .ce-gallery,
.ce-textpic.ce-left .ce-gallery {
  text-align: left;
}
.ce-image.ce-intext.ce-left .ce-gallery,
.ce-textpic.ce-intext.ce-left .ce-gallery {
  max-width: 50%;
}
@media screen and (min-width: 768px) {
  .ce-image.ce-intext.ce-left .ce-gallery,
  .ce-textpic.ce-intext.ce-left .ce-gallery {
    float: left;
    margin-right: 2em;
  }
}
@media screen and (max-width: 767px) {
  .ce-image.ce-intext.ce-left .ce-gallery,
  .ce-textpic.ce-intext.ce-left .ce-gallery {
    max-width: 100%;
    float: none;
    margin-right: 0;
  }
}
.ce-image.ce-intext.ce-left .ce-gallery img,
.ce-textpic.ce-intext.ce-left .ce-gallery img {
  max-width: 100%;
  height: auto;
}
.ce-image.ce-intext.ce-right .ce-gallery,
.ce-textpic.ce-intext.ce-right .ce-gallery {
  max-width: 50%;
}
@media screen and (min-width: 768px) {
  .ce-image.ce-intext.ce-right .ce-gallery,
  .ce-textpic.ce-intext.ce-right .ce-gallery {
    float: right;
    margin-left: 2em;
  }
}
@media screen and (max-width: 767px) {
  .ce-image.ce-intext.ce-right .ce-gallery,
  .ce-textpic.ce-intext.ce-right .ce-gallery {
    max-width: 100%;
    float: none;
    margin-left: 0;
  }
}
.ce-image.ce-intext.ce-right .ce-gallery img,
.ce-textpic.ce-intext.ce-right .ce-gallery img {
  max-width: 100%;
  height: auto;
}
.ce-image.ce-intext .ce-bodytext > *:first-child,
.ce-textpic.ce-intext .ce-bodytext > *:first-child {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .ce-image.ce-intext .ce-media,
  .ce-textpic.ce-intext .ce-media {
    max-width: 120px;
  }
}
.ce-image.ce-intext.ce-nowrap .ce-bodytext,
.ce-textpic.ce-intext.ce-nowrap .ce-bodytext {
  overflow: hidden;
}
.ce-image .ce-gallery .ce-row,
.ce-textpic .ce-gallery .ce-row {
  overflow: hidden;
  margin: 0 0 1em 0;
  margin: 0;
  margin-left: -1em;
  margin-right: -1em;
}
.ce-image .ce-gallery .ce-row .ce-column,
.ce-textpic .ce-gallery .ce-row .ce-column {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
  padding: 0 1em;
  margin: 0 0 1em 0;
}
.ce-image .ce-gallery .ce-row .ce-column figure,
.ce-textpic .ce-gallery .ce-row .ce-column figure {
  margin: 0;
}
.ce-image .ce-gallery .ce-row .ce-column figure figcaption,
.ce-textpic .ce-gallery .ce-row .ce-column figure figcaption {
  margin: 0.25em 0 1em 0;
}
.ce-image .ce-media img,
.ce-image .ce-gallery img,
.ce-textpic .ce-media img,
.ce-textpic .ce-gallery img {
  max-width: 100%;
  height: auto;
}
.ce-image figure figcaption,
.ce-textpic figure figcaption {
  text-align: left;
  font-style: italic;
  color: #999;
  font-size: 9pt;
}
@media screen and (min-width: 768px) {
  .ce-image .ce-gallery[data-ce-columns="1"] .ce-row .ce-column,
  .ce-textpic .ce-gallery[data-ce-columns="1"] .ce-row .ce-column {
    width: 100%;
  }
  .ce-image .ce-gallery[data-ce-columns="2"] .ce-row .ce-column,
  .ce-textpic .ce-gallery[data-ce-columns="2"] .ce-row .ce-column {
    width: 50%;
  }
  .ce-image .ce-gallery[data-ce-columns="3"] .ce-row .ce-column,
  .ce-textpic .ce-gallery[data-ce-columns="3"] .ce-row .ce-column {
    width: 33.33%;
  }
  .ce-image .ce-gallery[data-ce-columns="4"] .ce-row .ce-column,
  .ce-textpic .ce-gallery[data-ce-columns="4"] .ce-row .ce-column {
    width: 25%;
  }
  .ce-image .ce-gallery[data-ce-columns="5"] .ce-row .ce-column,
  .ce-textpic .ce-gallery[data-ce-columns="5"] .ce-row .ce-column {
    width: 20%;
  }
  .ce-image .ce-gallery[data-ce-columns="6"] .ce-row .ce-column,
  .ce-textpic .ce-gallery[data-ce-columns="6"] .ce-row .ce-column {
    width: 16.66%;
  }
  .ce-image .ce-gallery[data-ce-columns="7"] .ce-row .ce-column,
  .ce-textpic .ce-gallery[data-ce-columns="7"] .ce-row .ce-column {
    width: 14.28%;
  }
  .ce-image .ce-gallery[data-ce-columns="8"] .ce-row .ce-column,
  .ce-textpic .ce-gallery[data-ce-columns="8"] .ce-row .ce-column {
    width: 12.5%;
  }
}

.ce-border figure.image img {
  border: 1pt solid rgba(180, 200, 230, 0.25);
}

/* ==========================================================================
   Typo3 8 Appearance Spaces
   ========================================================================== */
.frame-space-before-small {
  margin-top: 1em;
}

.frame-space-before-medium {
  margin-top: 2em;
}

.frame-space-before-large {
  margin-top: 4em;
}

.frame-space-after-small {
  margin-bottom: 1em;
}

.frame-space-after-medium {
  margin-bottom: 2em;
}

.frame-space-after-large {
  margin-bottom: 4em;
}

.frame.bg-light {
  padding-top: 2em;
  padding-bottom: 1em;
}

/* ==========================================================================
   Typo3 Messages
   ========================================================================== */
.typo3-messages {
  list-style: none;
  padding-left: 0;
  margin-top: 1em;
  margin-bottom: 1em;
}
.typo3-messages p.alert-message {
  margin-bottom: 0;
}
.typo3-messages p.alert-message + p.alert-message {
  margin-top: 1rem;
}

/* ==========================================================================
   FullPageImage
   ========================================================================== */
/* Namned page  */
@page fullpageimage {
  margin: 0;
}
.full-page-image {
  position: relative;
  /* This element is on the named page 'cover' */
  page: fullpageimage;
  /* Move the grid items to the center of the page */
  display: flex;
  align-content: center;
  justify-content: center;
  /* Covers complete page */
  background: #002d62;
}

.full-page-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   Page
   ========================================================================== */
@media screen {
  html {
    background-color: #f8f8f8;
  }
  body {
    background-color: white;
    max-width: 27.825cm;
    padding: 0 2.65cm;
    margin: 0 auto;
  }
}
.page {
  background-color: white;
  max-width: 51rem;
  margin: 1rem auto;
}

.page img {
  max-width: 100%;
  height: auto;
  margin-bottom: 1rem;
}

@media screen {
  .page {
    padding: 3rem 6rem;
  }
}
@page {
  margin: 3cm 2.5cm 2cm;
}
.page-break {
  page-break-before: always;
}

@page {
  @top-center {
    /* Fill the content with the running element named 'headerElement'. Use the first
       occurrence if there are multiple defined on the current page. In all other cases the
       latest one is used. */
    content: element(pageHeader, first);
    vertical-align: top;
  }
  @bottom-right {
    border: none;
    content: "";
    background: none;
  }
  @bottom-left {
    content: element(bottomLeft, first);
  }
}
.page-header {
  /* Define header elements as running elements of the name 'headerElement' */
  position: running(pageHeader);
}

.page-bottom-left {
  position: running(bottomLeft);
  font-size: 9pt;
  color: #999;
}

.page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.page-header.layout-style-1 {
  background: #002d62;
  color: white;
  padding: 1cm 2.5cm 0.5cm;
  margin-left: -2.5cm;
  margin-right: -2.5cm;
}
.page-header.layout-style-1 .page-header__logo {
  background-color: white;
  padding: 2px;
}

.page-header.layout-style-2 {
  padding: 1cm 0 0.25cm;
  border-bottom: 1pt solid #002d62;
  margin: 0 0 1cm;
}

.page-header__logo img {
  display: block;
  max-width: 1cm;
  height: auto;
}

.page-header__title {
  font-size: 1.125em;
  font-weight: 500;
  margin-bottom: 0.25em;
  color: #002d62;
}

.page-header__text {
  font-size: 0.75rem;
  color: #666;
}

/* ==========================================================================
   Cover
   ========================================================================== */
/* Namned page 'cover' */
@page cover {
  margin: 0;
  /* Do not count the cover page */
  counter-increment: page 0;
  @bottom-center {
    content: none;
  }
}
#cover {
  /* This element is on the named page 'cover' */
  page: cover;
  /* Move the grid items to the center of the page */
  display: flex;
  align-content: center;
  justify-content: center;
  /* Covers complete page */
  background: #002d62;
}

#cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#cover {
  position: relative;
}

.cover-text {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: white;
  padding: 1cm 2.5cm;
}

.cover-text__logo img {
  display: block;
  max-width: 1cm;
  height: auto;
}

.cover-text__title {
  font-size: 1.125em;
  font-weight: bold;
  margin-bottom: 0.5em;
  color: #002d62;
}

.cover-text__subtitle {
  font-size: 0.75rem;
  font-weight: 500;
  margin-bottom: 0.125em;
  color: #002d62;
}

.cover-text__text {
  font-size: 0.75rem;
  color: #666;
}

/* ==========================================================================
   Empty-page
   ========================================================================== */
/* Namned page */
@page emptypage {
  margin: 0;
  @top-center {
    content: none !important;
  }
}
.empty-page {
  /* This element is on the named page 'cover' */
  page: emptypage;
  position: relative;
}

/* ==========================================================================
   Login
   ========================================================================== */
.frame-type-felogin_login {
  position: relative;
  overflow: hidden;
  padding: 5em 0;
}
.frame-type-felogin_login form {
  margin: 5em 0;
  max-width: 360px;
}
.frame-type-felogin_login fieldset {
  background-color: #f9f9f9;
  border: none;
  padding: 1.5em;
}
.frame-type-felogin_login fieldset > * {
  margin-bottom: 1em;
}
.frame-type-felogin_login legend {
  display: table;
  float: left;
  width: 100%;
}
.frame-type-felogin_login legend + * {
  clear: both;
}
.frame-type-felogin_login legend {
  padding: 0 0 0.5em;
  font-weight: bold;
  margin: 0 0 2em;
  border-bottom: 1px solid #ccc;
}
.frame-type-felogin_login label {
  font-size: 0.875rem;
  color: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.frame-type-felogin_login input[type=text],
.frame-type-felogin_login input[type=password] {
  padding: 0.5em 1em;
  background-color: white;
  border: 1px solid #ccc;
  min-width: 200px;
}
.frame-type-felogin_login input[type=submit] {
  cursor: pointer;
  border: none;
  padding: 0.75em 1.5em;
  color: white;
  background-color: #002d62;
  font-weight: bold;
  margin-top: 1em;
}

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