/* oxygen-300 - latin */
@font-face {
  font-family: "Oxygen";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/oxygen-v8-latin-300.woff2") format("woff2"), url("../fonts/oxygen-v8-latin-300.woff") format("woff");
}
/* oxygen-regular - latin */
@font-face {
  font-family: "Oxygen";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/oxygen-v8-latin-regular.woff2") format("woff2"), url("../fonts/oxygen-v8-latin-regular.woff") format("woff");
}
/* oxygen-700 - latin */
@font-face {
  font-family: "Oxygen";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/oxygen-v8-latin-700.woff2") format("woff2"), url("../fonts/oxygen-v8-latin-700.woff") format("woff");
}
:root {
  --font-fallback-default: BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  --neutral-000: hsl(0, 0%, 100%);
  --neutral-050: hsl(0, 0%, 98%);
  --neutral-100: hsl(0, 0%, 96%);
  --neutral-200: hsl(0, 0%, 93%);
  --neutral-300: hsl(0, 0%, 88%);
  --neutral-400: hsl(0, 0%, 74%);
  --neutral-500: hsl(0, 0%, 62%);
  --neutral-600: hsl(0, 0%, 46%);
  --neutral-700: hsl(0, 0%, 38%);
  --neutral-800: hsl(0, 0%, 26%);
  --neutral-900: hsl(0, 0%, 13%);
  --neutral-1000: hsl(0, 0%, 0%);
  --primary-100: hsl(216, 75%, 95%);
  --primary-200: hsl(216, 75%, 82.5%);
  --primary-300: hsl(216, 75%, 70%);
  --primary-400: hsl(216, 75%, 60%);
  --primary-500: hsl(216, 75%, 50%);
  --primary-600: hsl(216, 75%, 40%);
  --primary-700: hsl(216, 75%, 30%);
  --primary-800: hsl(216, 75%, 17.5%);
  --primary-900: hsl(216, 75%, 7.5%);
  --accent-100: hsl(336, 75%, 95%);
  --accent-200: hsl(336, 75%, 82.5%);
  --accent-300: hsl(336, 75%, 70%);
  --accent-400: hsl(336, 75%, 60%);
  --accent-500: hsl(336, 75%, 50%);
  --accent-600: hsl(336, 75%, 40%);
  --accent-700: hsl(336, 75%, 30%);
  --accent-800: hsl(336, 75%, 17.5%);
  --accent-900: hsl(336, 75%, 7.5%);
}

@layer reset {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  body,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  figure,
  dl,
  dd {
    margin: 0;
  }
  ul:where([class]),
  ol:where([class]) {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  img,
  picture,
  svg {
    display: block;
    max-width: 100%;
    height: auto;
  }
  button,
  input,
  optgroup,
  select,
  textarea {
    font: inherit;
  }
  html {
    scroll-behavior: smooth;
  }
  a {
    color: inherit;
  }
  button {
    all: unset;
    cursor: pointer;
    font: inherit;
  }
  button:focus {
    outline: 5px solid lime;
  }
  button:focus:not(:focus-visible) {
    outline: unset;
  }
  button:focus-visible {
    outline: 3px solid black;
    outline-offset: 3px;
    box-shadow: 0 0 0 9px white;
    border-radius: 0.125rem;
  }
}
.mce-content-body {
  background-image: none;
  margin: 0;
  padding: 0.5rem;
  font-family: "Oxygen", var(--font-fallback-default);
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--neutral-700);
}
.mce-content-body > * + * {
  margin-block-start: 1em;
}
.mce-content-body p {
  max-width: unset;
}

html {
  height: 100%;
  font-size: 100%;
  overflow-y: scroll;
}

body {
  min-height: 100dvh;
  background-image: url("/files/theme/img/bg_1680.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  font-family: "Oxygen", var(--font-fallback-default);
  font-weight: 400;
  font-size: 1rem;
  color: var(--neutral-700);
  line-height: 1.4;
}
@media (width < 30em) {
  body {
    background-image: none;
    line-height: 1.3;
  }
}

a {
  color: hsl(187, 74%, 44%);
  text-decoration: underline;
  text-decoration-color: hsl(187, 74%, 44%);
  text-underline-offset: 3px;
}

a:is(:hover, :focus-visible) {
  color: hsl(204, 55%, 35%);
  text-decoration-color: hsl(204, 55%, 35%);
  text-decoration-thickness: 3px;
}

p {
  margin-block-end: 1.5rem;
  max-width: 71ch;
  hyphens: auto;
  overflow-wrap: break-word;
}
.text-align-center p {
  margin-inline: auto;
  max-width: unset;
}
p.info, p.more, p.back, p.link-style, p.link-button-style {
  margin-block: 0.5lh;
}
p.info a, p.more a, p.back a, p.link-style a, p.link-button-style a {
  display: inline-block;
  padding: var(--link-style-padding, 0.5em 1.25em);
  background-color: var(--link-style-background-color, var(--primary-100));
  border: var(--link-style-border, 1px solid transparent);
  border-radius: var(--link-style-border-radius, 0.25rem);
  font-family: var(--link-style-font-family, "Oxygen", var(--font-fallback-default));
  font-weight: var(--link-style-font-weight, 400);
  font-size: var(--link-style-font-size, 0.875rem);
  color: var(--link-style-color, var(--neutral-700));
  text-decoration: var(--link-style-text-decoration, none);
  text-transform: var(--link-style-text-transform, none);
  transition: 275ms ease;
}
p.info a:is(:hover, :focus-visible), p.more a:is(:hover, :focus-visible), p.back a:is(:hover, :focus-visible), p.link-style a:is(:hover, :focus-visible), p.link-button-style a:is(:hover, :focus-visible) {
  background-color: var(--link-style-hover-background-color, var(--primary-200));
  color: var(--link-style-hover-color, var(--neutral-700));
}
p.info a:active, p.more a:active, p.back a:active, p.link-style a:active, p.link-button-style a:active {
  transform: scale(0.98);
}
p.error {
  font-weight: 700;
  color: crimson;
}
p.error::before {
  content: "";
  display: inline-block;
  margin-inline-end: 0.25rem;
  margin-block-end: -0.25rem;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='crimson' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' class='icon icon-alert lucide lucide-circle-alert-icon lucide-circle-alert'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' x2='12' y1='8' y2='12'/%3E%3Cline x1='12' x2='12.01' y1='16' y2='16'/%3E%3C/svg%3E");
  background-position: left 100%;
  background-repeat: no-repeat;
  color: crimson;
}

:where(.content-text) ul,
:where(.content-text) ol {
  padding-inline-start: 1rem;
  line-height: 1.4;
}
:where(.content-text) ul li,
:where(.content-text) ol li {
  max-width: 65ch;
  overflow-wrap: break-word;
}

:where(h1, h2, h3, h4, h5, h6) {
  font-weight: 700;
  text-wrap: balance;
}

h1 {
  font-size: 1.75rem;
  text-transform: uppercase;
  line-height: 1.3;
}

h2 {
  font-size: 1.5rem;
  line-height: 1.2;
}

.subheadline {
  font-size: 1rem;
  font-weight: 400;
}

h3 {
  font-size: 1.25rem;
  line-height: 1.2;
}

h4, h5, h6 {
  line-height: 1.2;
}

@media (forced-colors: active) {
  svg {
    stroke: canvasText;
    fill: canvasText;
  }
}
.headline {
  margin-block-end: 0.75lh;
}

.rte :where(h1, h2, h3, h4, h5, h6),
[class^=content-] > .headline,
[class^=ce_rsce_] > .headline {
  margin-block-end: 0.75lh;
}

.mod_customnav.service :where(h1, h2, h3, h4, h5, h6) {
  margin-block-end: 0.75lh;
}

.rte p + p {
  margin-block-start: 0.625em;
}
.rte p + :where(h1, h2, h3, h4, h5, h6) {
  margin-block-start: 1.5lh;
}
.rte p.link-style,
.rte p.link-button-style {
  margin-block-start: 1lh;
}

.intro {
  font-size: 1.125rem;
}

.alert {
  font-weight: 700;
  color: crimson;
}

b,
strong {
  font-weight: 700;
}

i,
em {
  font-family: "Oxygen", var(--font-fallback-default);
  font-style: italic;
}

code {
  padding-block: 0.125rem;
  padding-inline: 0.25em;
  border-radius: 0.25em;
  background-color: var(--neutral-700);
  color: var(--neutral-000);
  font-family: monospace;
  font-size: 0.75rem;
  white-space: nowrap;
}

small {
  font-size: 0.75rem;
}

figure {
  inline-size: fit-content;
}

figcaption {
  contain: inline-size;
  font-size: 0.75rem;
  font-family: "Oxygen", var(--font-fallback-default);
  font-style: italic;
}
.image_container figcaption {
  position: absolute;
  contain: unset;
  color: var(--neutral-100);
  text-shadow: 0.0625em 0.0625em 0.0625em hsla(0, 0%, 13%, 0.3), 0.1875em 0.1875em 0.4375em hsla(0, 0%, 13%, 0.8);
  transform: translate(0.5rem, -1.375rem);
}

hr {
  height: 1px;
  margin: 2em auto;
  margin-block-start: 2em;
  border: 0;
  background: var(--neutral-200);
}

sub,
sup {
  display: inline-block;
  line-height: 1;
  font-size: 0.625em;
}

sub {
  transform: translateY(0.25ex);
}

sup {
  transform: translateY(-0.25ex);
}

::selection {
  background-color: var(--accent-300);
  color: var(--accent-800);
}

@media (width > 48.0625em) {
  .mod_mobile_menu {
    display: none;
    position: relative;
  }
}
@media (width < 48em) {
  .nav_main,
  .nav_service {
    display: none;
  }
  .mobile_menu_trigger {
    position: absolute;
    top: 2rem;
    right: 2rem;
    z-index: 10;
    cursor: pointer;
  }
  .mobile_menu_trigger button {
    all: unset;
    padding-inline-start: 0.25rem;
    font-size: 1.125rem;
  }
  .mobile_menu_trigger button svg {
    width: 2rem;
    height: 2rem;
    stroke: hsl(204, 55%, 35%);
    stroke-width: 3;
  }
}
.mobile_menu .inner {
  position: relative;
}
.mobile_menu .inner .closeLink {
  position: absolute;
  right: 1.5rem;
  top: 1rem;
}
.mobile_menu .inner .closeLink a {
  display: flex;
  align-items: center;
}
.mobile_menu .inner .closeLink a svg {
  width: 2rem;
  height: 2rem;
  stroke: hsl(204, 55%, 35%);
  stroke-width: 3;
}

.mobile_menu .inner {
  background-color: white;
  padding: 3rem 2rem;
}
.mobile_menu .inner .nav_main {
  align-items: unset;
}
.mobile_menu .inner li.submenu_hide > ul {
  display: block;
}

footer .inside {
  --padding: 1rem * 2;
  --max-width: 64rem;
  width: min(100% - var(--padding), var(--max-width));
  margin-inline: auto;
  padding-block: 1.5rem;
  background-color: hsl(204, 55%, 35%);
  font-size: 0.875rem;
  color: var(--neutral-100);
}
footer a {
  color: var(--neutral-100);
  text-decoration: none;
}
footer a:is(:hover, :focus-visible) {
  color: var(--accent-300);
  text-decoration: underline;
}
footer .flex {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
}
footer .copyright {
  text-align: center;
}
footer .nav_footer {
  display: flex;
  gap: 1rem;
  font-family: "Oxygen", var(--font-fallback-default);
  font-weight: 400;
  font-size: 0.875rem;
}
footer .nav_footer .level_1 {
  display: flex;
  gap: 1rem;
  width: fit-content;
}
footer .nav_footer a,
footer .nav_footer strong {
  display: inline-block;
  padding: 0.875rem 0.75rem;
}
@media (width > 48em) {
  footer .nav_footer a,
  footer .nav_footer strong {
    display: unset;
    padding: unset;
  }
}
footer .nav_footer a:is(:hover, :focus-visible, .active),
footer .nav_footer strong:is(:hover, :focus-visible, .active) {
  text-decoration: underline;
  text-underline-offset: 3px;
}

header {
  color: var(--neutral-700);
}
header .inside {
  --padding: 1rem * 2;
  --max-width: 64rem;
  width: min(100% - var(--padding), var(--max-width));
  margin-inline: auto;
  padding: 2rem;
  background-color: hsla(0, 0%, 100%, 0.6);
  border-bottom: 2px solid hsl(204, 55%, 35%);
}
header .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header .flex .logo {
  flex-shrink: 0;
}
header p {
  margin-block-end: unset;
  font-size: 0.875rem;
}
@media (width < 33em) {
  header .kontakt {
    display: none;
  }
}

.nav_main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background-color: hsla(195, 68%, 89%, 0.5);
  font-family: "Oxygen", var(--font-fallback-default);
  font-weight: 700;
  font-size: 0.875rem;
}
.nav_main .level_1 {
  width: fit-content;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.nav_main .level_1 > li > a,
.nav_main .level_2 > li > strong {
  font-weight: 700;
}
.nav_main a,
.nav_main strong {
  font-weight: 400;
  color: var(--neutral-700);
  text-decoration: none;
}

.nav_main .level_2 {
  width: auto;
  margin-block-start: 0.25rem;
  padding-inline-start: unset;
}
.nav_main .level_2 > li {
  padding: 0.5rem 0;
  background-color: var(--neutral-000);
  border-radius: 0.25rem;
  white-space: nowrap;
}
.nav_main .level_2 > li a,
.nav_main .level_2 > li strong {
  display: block;
  margin: 0;
  padding-right: 1rem;
  padding-left: 1rem;
}
.nav_main .level_2 > li:hover, .nav_main .level_2 > li.active {
  background-color: hsl(204, 55%, 35%);
}
.nav_main .level_2 > li:hover a,
.nav_main .level_2 > li:hover strong, .nav_main .level_2 > li.active a,
.nav_main .level_2 > li.active strong {
  color: white;
}
.nav_main .level_2 > li:not(:first-of-type) {
  margin-block-start: 0.25rem;
}
.nav_main .level_3 a,
.nav_main .level_3 strong {
  padding-inline-start: 2rem;
  padding-inline-end: 1rem;
}

table {
  table-layout: fixed;
  background-color: var(--neutral-000);
  border: 1px solid var(--neutral-700);
  border-collapse: collapse;
  font-size: 0.875rem;
}

thead {
  background-color: hsl(204, 55%, 35%);
  border-bottom: 1px solid var(--neutral-400);
  color: var(--neutral-000);
}

tfoot {
  background-color: var(--neutral-000);
  border-top: 2px solid var(--neutral-400);
  border-bottom: 2px solid currentColor;
}

td, th {
  padding: 0.5em 0.5rem;
  font-size: 1em;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}

tbody tr:nth-of-type(2n + 1) th,
tbody tr:nth-of-type(2n + 1) td {
  background-color: var(--neutral-200);
}

tbody tr:not(:last-of-type) {
  border-bottom: 1px solid var(--neutral-400);
}

caption {
  padding: 1em;
  background-color: var(--neutral-000);
}

main {
  --padding: 1rem * 2;
  --max-width: 64rem;
  width: min(100% - var(--padding), var(--max-width));
  margin-inline: auto;
  padding: 2rem;
  background-color: var(--neutral-000);
}
main > .inside .nav_main {
  display: none;
}
@media (width > 48.0625em) {
  main > .inside {
    display: grid;
    grid-template-columns: 19rem 1fr;
    grid-column-gap: 3rem;
  }
  main > .inside .nav_main {
    display: block;
  }
}

.mod_article.flow .inside > *:where(:not(:first-child)) {
  --flow-space: 2rem;
  margin-block-start: var(--flow-space, 3rem);
}
.mod_article.flow-x .inside > *:where(:not(:first-child)) {
  --flow-space: x;
  margin-block-start: var(--flow-space, 3rem);
}

[id=wrapper] {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

[id=container] {
  flex: 1 0 auto;
}

*:focus {
  outline: 5px solid lime;
}

*:focus:not(:focus-visible) {
  outline: unset;
}

*:focus-visible {
  outline: 3px solid black;
  outline-offset: 3px;
  box-shadow: 0 0 0 9px white;
  border-radius: 0.125rem;
}

.invisible:not(:focus):not(:active),
.visually-hidden:not(:focus):not(:active) {
  position: absolute;
  width: 1px;
  height: 1px;
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

.flow > *:where(:not(:first-child)),
.flow > .group-inside > *:where(:not(:first-child)) {
  margin-top: var(--flow-space, 3rem);
}

.ce-flow > *:where(:not(:first-child)),
.ce-flow > .group-inside > *:where(:not(:first-child)) {
  margin-top: var(--ce-flow-space, 1rem);
}

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