@import url(fonts.css);
:root {
  --text-color: #0a0a0a;
  --text-color-hover: #3A7E96;
  --bs-heading-color: #0a0a0a;
  --section-color: #5ea0b8;
  --primary-color: #f6f6f6;
  --secondary-color: #fff;
  --tertiary-color: #e60101;
  --quartiary-color: #fccf41;
  --bs-primary: #4b94ff; }

section {
  background: var(--primary-color);
  color: var(--text-color); }
  section.p-3 {
    padding-left: 2em !important; }
  section#mood {
    position: relative;
    padding: 0 !important; }
    section#mood .container-xxl {
      max-width: none !important;
      padding: 0 !important; }
      section#mood .container-xxl .frame {
        padding: 0 !important; }
        section#mood .container-xxl .frame .teaser-img-wrapper {
          position: inherit; }
          section#mood .container-xxl .frame .teaser-img-wrapper .teaser-img {
            object-position: center; }
  section#kontakt .background-map {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center; }
  section .frame {
    /* make room for the nav bar */ }
  section .divider {
    box-shadow: 0 1px 0 rgba(var(--secondary-color), 0.25); }

.kontakt section {
  background-color: transparent;
  height: auto;
  padding: 0; }
  .kontakt section .frame {
    /* make room for the nav bar */
    padding-top: 0;
    margin-top: 0; }

#content > section:nth-child(even) {
  background: var(--secondary-color);
  text-decoration: none; }
  #content > section:nth-child(even) .divider {
    box-shadow: 0 1px 0 rgba(var(--tertiary-color), 0.25); }
  #content > section:nth-child(even) a {
    text-decoration: none;
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
    position: relative;
    color: var(--text-color);
    color: var(--tertiary-color); }
    #content > section:nth-child(even) a::after {
      content: "";
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0%;
      border-bottom: 2px solid black;
      transition: width .5s ease; }
    #content > section:nth-child(even) a:hover::after, #content > section:nth-child(even) a:focus::after {
      width: 100%; }
    #content > section:nth-child(even) a:hover {
      color: var(--text-color-hover);
      color: var(--secondary-color);
      color: var(--bs-primary); }
    #content > section:nth-child(even) a.active {
      color: var(--secondary-color);
      color: var(--quartiary-color);
      background-color: transparent; }

#pid19 #content > section:first-of-type {
  background-position: center top;
  background-size: cover; }

.signet {
  margin-top: -1em; }

header {
  margin-bottom: 2em; }
  header.navbar {
    height: 10em;
    background-color: var(--secondary-color);
    z-index: 10000; }

#navbar {
  font-family: "HankenGrotesk";
  background-color: var(--secondary-color);
  color: var(--tertiary-color);
  border-width: 0 0 1px 0; }
  #navbar .navbar-brand {
    zoom: 0.3;
    zoom: 0.4; }
  #navbar .navbar-toggler {
    color: rgba(255, 255, 255, 0.55);
    border-color: transparent;
    padding: 0;
    zoom: 0.25; }
    #navbar .navbar-toggler:focus {
      box-shadow: unset; }
  #navbar.shadow {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); }
  #navbar .nav-link {
    padding-top: 0;
    padding-top: 0.85em; }
  #navbar a {
    font-weight: 200;
    color: var(--tertiary-color);
    font-size: 1.25em;
    letter-spacing: 1px;
    letter-spacing: 0.025em;
    color: red; }
    #navbar a.first {
      font-size: 1.5em;
      line-height: 1;
      font-weight: bold; }
  #navbar a:hover {
    color: var(--secondary-color);
    color: var(--bs-primary); }
  #navbar a.active {
    color: var(--tertiary-color);
    text-decoration: underline;
    background-color: transparent; }

#pid1 div:not(.kontakt) p:not(.text-justify):first-of-type:first-letter {
  margin-left: 1em; }
  #pid1 div:not(.kontakt) p:not(.text-justify):first-of-type:first-letter:before {
    content: "_";
    width: 2em; }

mark {
  --mark-color: var(--bs-primary);
  --mark-skew: 0.25em;
  --mark-height: 1.25em;
  --mark-overlap: 0.3em;
  margin-inline: calc(var(--mark-overlap) * -1);
  padding-inline: var(--mark-overlap);
  background-color: transparent;
  background-image: linear-gradient(to bottom right, transparent 50%, var(--mark-color) 50%), linear-gradient(var(--mark-color), var(--mark-color)), linear-gradient(to top left, transparent 50%, var(--mark-color) 50%);
  background-size: var(--mark-skew) var(--mark-height), calc(100% - var(--mark-skew) * 2 + 1px) var(--mark-height), var(--mark-skew) var(--mark-height);
  background-position: left center, center, right center;
  background-repeat: no-repeat;
  color: inherit; }

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

span.icon {
  display: inline-block;
  width: 1.8em;
  font-family: "OpenSans";
  font-size: 1.2em;
  text-align: center;
  vertical-align: 0.08em; }
  span.icon.icon-arrow {
    margin-left: -1em; }

.ce-bodytext {
  column-count: 2;
  column-width: 5em;
  column-gap: 10em;
  text-align: justify; }

p {
  max-width: 50rem;
  /*.hyphenate*/
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  text-decoration: none; }
  p.text-right {
    text-align: right; }
  p a {
    text-decoration: none;
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
    position: relative;
    color: var(--text-color);
    color: var(--tertiary-color); }
    p a::after {
      content: "";
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0%;
      border-bottom: 2px solid black;
      transition: width .5s ease; }
    p a:hover::after, p a:focus::after {
      width: 100%; }
    p a:hover {
      color: var(--text-color-hover);
      color: var(--secondary-color);
      color: var(--bs-primary); }
    p a.active {
      color: var(--secondary-color);
      color: var(--quartiary-color);
      background-color: transparent; }

.svg-border {
  border-width: 0 0 10px 0;
  border-image-slice: 20;
  border-style: solid; }

.img-thumbnail {
  border: 2px solid var(--secondary-color);
  box-shadow: 1px 1px 1px 2px var(--primary-color);
  padding: 0.5rem; }

body {
  position: relative;
  color: var(--text-color);
  background-color: var(--primary-color);
  font-family: "OpenSans", sans-serif; }

a {
  text-decoration: none; }
  a a {
    text-decoration: none;
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
    position: relative;
    color: var(--text-color);
    color: var(--tertiary-color); }
    a a::after {
      content: "";
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0%;
      border-bottom: 2px solid black;
      transition: width .5s ease; }
    a a:hover::after, a a:focus::after {
      width: 100%; }
    a a:hover {
      color: var(--text-color-hover);
      color: var(--secondary-color);
      color: var(--bs-primary); }
    a a.active {
      color: var(--secondary-color);
      color: var(--quartiary-color);
      background-color: transparent; }

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  color: var(--text-color-hover);
  background-color: white; }

section h2 {
  font-size: 2.25em;
  font-weight: 500;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto; }
  section h2:before {
    content: "_";
    letter-spacing: -0.05em;
    color: var(--tertiary-color);
    font-size: 2em;
    position: absolute;
    font-weight: bold;
    z-index: 1;
    line-height: 0.5; }
section .blockquote h2:before {
  content: "\"";
  font-style: oblique;
  position: relative;
  line-height: 0em;
  left: -57px;
  top: 20px;
  font-size: 7em;
  vertical-align: middle;
  display: block; }

.text-bg-secondary {
  position: absolute;
  inset: 0;
  height: 200%;
  background: linear-gradient(to bottom, transparent 50%);
  backdrop-filter: blur(16px);
  pointer-events: none;
  color: #fff !important;
  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
  text-shadow: 1px 1px 3px #5b5b5b; }

header {
  margin-bottom: 2em; }

h5 {
  font-size: 1.125em;
  font-weight: bold; }

h2 {
  font-size: 3em;
  font-weight: 800;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto; }

h3 {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto; }

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  text-align: left;
  margin-top: 2em;
  margin-bottom: 2em; }

.teaser-img-wrapper {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0; }
  .teaser-img-wrapper .teaser-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    object-position: center 2em; }

blockquote {
  font-size: 1.1em; }
  blockquote .icon {
    font-family: "HankenGrotesk";
    font-size: 2.6em;
    display: block;
    float: left;
    line-height: 12px;
    width: 0.3em; }

.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #6c757d;
  position: absolute; }

.teaser {
  color: white; }
  .teaser figure {
    margin-top: calc(10em + 50vh) !important; }
    .teaser figure .blockquote {
      font-size: 1em !important; }
  .teaser h1 {
    font-family: "HankenGrotesk";
    font-size: 5em;
    line-height: 0.7em;
    font-weight: 800;
    word-break: break-word; }
  .teaser h2 {
    text-transform: none;
    color: var(--tertiary-color);
    font-family: "Lora";
    margin-right: 5em;
    font-size: 1.125em;
    font-size: 1.25em;
    font-weight: 500;
    line-height: 1.4;
    z-index: 1;
    font-style: italic;
    word-break: break-word;
    letter-spacing: 0.0125em; }
  .teaser.mb-5 {
    margin-bottom: 12rem !important; }

#kontakt {
  position: relative; }

.background-map {
  filter: grayscale(100%) opacity(16%); }

.map-wrapper {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0; }
  .map-wrapper .osm-copy {
    display: block;
    position: absolute;
    bottom: 1em;
    width: 100%;
    text-align: center;
    opacity: 0.25; }
  .map-wrapper .map {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center; }

#typo3-preview-info {
  top: 0 !important;
  border: 0 !important;
  font-size: 10px !important; }

.row {
  --bs-gutter-x: 4rem; }

html {
  scroll-padding-top: 80px; }

body {
  position: relative;
  color: var(--text-color);
  background-color: var(--primary-color);
  font-family: "HankenGrotesk", sans-serif; }

a {
  color: var(--tertiary-color);
  text-decoration: none; }
  a a {
    text-decoration: none;
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
    position: relative;
    color: var(--text-color);
    color: var(--tertiary-color); }
    a a::after {
      content: "";
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0%;
      border-bottom: 2px solid black;
      transition: width .5s ease; }
    a a:hover::after, a a:focus::after {
      width: 100%; }
    a a:hover {
      color: var(--text-color-hover);
      color: var(--secondary-color);
      color: var(--bs-primary); }
    a a.active {
      color: var(--secondary-color);
      color: var(--quartiary-color);
      background-color: transparent; }

.subnavigation section {
  height: 100% !important; }

span.icon {
  display: inline-block;
  width: 1.8em;
  font-family: "HankenGrotesk";
  font-size: 1.2em;
  text-align: center;
  vertical-align: 0.08em; }
  span.icon.icon-arrow {
    margin-left: -1em; }

h3 {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto; }

ol, ul {
  padding-left: 1rem;
  padding-right: 1rem; }

.ce-bodytext {
  column-count: 2;
  column-width: 5em;
  column-gap: 10em; }

:not(.kontakt) p:not(.text-justify):first-of-type:first-letter {
  margin-left: 1em; }
  :not(.kontakt) p:not(.text-justify):first-of-type:first-letter:before {
    content: "_";
    width: 2em; }

p {
  max-width: 50rem;
  /*.hyphenate*/
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  text-decoration: none; }
  p.text-right {
    text-align: right; }
  p a {
    text-decoration: none;
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
    position: relative;
    color: var(--text-color);
    color: var(--tertiary-color); }
    p a::after {
      content: "";
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0%;
      border-bottom: 2px solid black;
      transition: width .5s ease; }
    p a:hover::after, p a:focus::after {
      width: 100%; }
    p a:hover {
      color: var(--text-color-hover);
      color: var(--secondary-color);
      color: var(--bs-primary); }
    p a.active {
      color: var(--secondary-color);
      color: var(--quartiary-color);
      background-color: transparent; }

.svg-border {
  border-width: 0 0 10px 0;
  border-image-slice: 20;
  border-style: solid; }

.img-thumbnail {
  border: 2px solid var(--secondary-color);
  box-shadow: 1px 1px 1px 2px var(--text-color);
  box-shadow: 1px 1px 2px 1px #919191;
  padding: 0.25rem; }

.content {
  padding: 0 4em; }

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  color: var(--text-color-hover);
  background-color: white; }

footer {
  position: relative; }
  footer .nav {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
    margin: 12px;
    opacity: 0.5; }
    footer .nav li a {
      text-decoration: none;
      color: var(--text-color); }
      footer .nav li a:hover {
        color: var(--text-color-hover); }
      footer .nav li a:before {
        content: "\00a0|\00a0"; }
    footer .nav li:first-child a::before {
      content: ""; }

.btn-totop {
  position: fixed;
  padding: 0.1em 0.5em 0;
  bottom: 1.5em;
  right: 1em;
  width: 50px;
  height: 50px;
  z-index: 100;
  font-weight: bold;
  font-size: 2em;
  border: 1px solid;
  border-radius: 1em;
  background-color: white;
  background-color: transparent;
  color: var(--text-color);
  opacity: 0.5; }
  .btn-totop span {
    vertical-align: middle; }
  .btn-totop:hover {
    color: black;
    color: var(--text-color-hover);
    background-color: transparent;
    border-color: var(--bs-btn-hover-border-color);
    border-radius: 1em; }

@media (max-width: 576px) {
  h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
    margin-bottom: 0; }

  .teaser figure {
    margin-top: calc(7em + 55vh) !important; }
    .teaser figure .blockquote {
      font-size: 0.9em !important; }

  section#gebuehren-berufsordnung, section#ueber-mich, section#taetigkeiten {
    height: 130vh !important; }

  .teaser h2 {
    margin: 0; }

  footer {
    display: block !important; }
    footer .nav {
      position: relative;
      transform: inherit !important; }

  #gebuehren-berufsordnung img {
    display: none; }

  .ce-bodytext {
    column-count: 1; }

  .btn-totop {
    right: 0.00125em; } }
@media (min-width: 576px) {
  .teaser h1 {
    font-size: 14em; }

  .teaser h2 {
    margin: 0; }

  .teaser figure {
    margin-top: calc(10em + 0vh) !important;
    margin-left: 54%; }
    .teaser figure .blockquote {
      font-size: 1.25em !important; }

  footer {
    display: block !important; }
    footer .nav {
      position: relative;
      transform: inherit !important; }

  #gebuehren-berufsordnung img {
    display: none; }

  .ce-bodytext {
    column-count: 1; }

  .btn-totop {
    right: 0.25em; }

  .content {
    padding: 0 4em; }

  .subnavigation .content {
    margin-top: 6em; } }
@media (min-width: 768px) {
  .teaser h1 {
    font-size: 10em; }

  section {
    padding: 3em 1em 1em;
    width: 100%;
    height: 100vh; }

  .btn-totop {
    right: 1.25em;
    bottom: 1.25em; } }
@media (min-width: 992px) {
  .signet {
    margin-left: -1em; }

  .divider {
    box-shadow: none !important; }

  .ce-bodytext {
    column-count: 2; } }
@media (min-width: 1200px) {
  .signet {
    margin-left: -2em; } }
@media (min-width: 1400px) {
  .signet {
    margin-left: -2em; } }

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