
blockquote,
body,
button,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
li,
ol,
p,
pre,
td,
textarea,
th,
ul {
  margin: 0;
  padding: 0
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

fieldset,
img {
  border: 0
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: 400
}

ol,
ul {
  list-style: none
}

caption,
th {
  text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 400
}

q::beforem q:after {
  content: ""
}

abbr,
acronym {
  border: 0
}

.clearfix:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden
}

*+html .clearfix {
  display: inline-block
}

* html .clearfix {
  height: 1%
}

button::-moz-focus-inner {
  border: 0;
  padding: 0
}

/* montserrat-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/montserrat-v31-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v31-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/montserrat-v31-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/montserrat-v31-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/montserrat-v31-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/montserrat-v31-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/montserrat-v31-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:focus-visible {
    outline-color: var(--focus-outline-color, currentColor);
    outline-style: solid;
    outline-width: var(--focus-outline-width, 2px);
    outline-offset: var(--focus-outline-offset, 2px);
}

.visually-hidden:not(:focus):not(:active) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

html {
  scrollbar-gutter: stable;
  scroll-behavior: smooth;
}

html:has(dialog[open]) {
  overflow: hidden;
}

body,
html {
  min-height: 100%
}

body,
input,
textarea {
  font-family: "Montserrat", sans-serif;
  font-weight: 300
}

body {
  background: #fff;
  font-size: 15px;
  line-height: 1.45em;
  overflow-x: hidden;
  text-align: center
}

a,
body {
  color: #595d60;
}

a {
  text-decoration: underline
}

.textbox a {
  color: #fff;
  text-decoration: none
}

a.disabled,
span.disabled {
  cursor: default;
  opacity: .3
}

.blub .blub,
.zulu .blub .blub {
  color: red
}

h1 {
  font-weight: 700;
  font-size: 60px;
  line-height: 60px
}

section h1 {
  font-size: 20px;
  line-height: 20px;
  margin-bottom: 5px;
  margin-top: 1px
}

footer section h1,
section section h1 {
  font-size: 16px;
  font-weight: 300;
  line-height: 17px;
  text-transform: uppercase
}

section footer section h1,
section section section h1 {
  font-size: 18px;
  line-height: 19px;
  margin-bottom: 0;
  padding-bottom: 3px
}

section section footer section h1,
section section section section h1 {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 0;
  text-transform: none;
  padding-bottom: 0
}

section section *+section {
  margin-top: 30px
}

section section section *+section {
  margin-top: 10px
}

h2 {
  font-size: 14px;
  line-height: 19px
}

p {
  margin-bottom: .8em
}

strong {
  font-weight: 700
}

hr {
  height: 0;
  border-top: 1px solid #c4c8cb;
  border-bottom: 1px solid #f1f3f4;
  border-left-width: 0;
  border-right-width: 0;
  margin: 10px 0
}

ol {
  margin-top: 10px
}

ul.bullets {
  list-style-type: disc;
  margin-bottom: 15px;
  margin-left: 10px;
  padding-left: 10px
}

ul.bullets li {
  padding-bottom: 5px
}

dl dt {
  font-weight: 700
}

dl dd {
  padding-bottom: 5px
}

.fw-strong {
  font-weight: 700
}

.fw-light,
.fw-strong {
  text-transform: uppercase
}

.fw-light {
  font-weight: 300
}

.fw-space {
  width: 0;
  overflow: hidden;
  display: inline-block
}

.icons-dl dd,
.icons-dl dt {
  padding-left: 60px
}

.icons-dl .icon {
  float: left;
  margin-left: -60px;
  width: 45px;
  height: 45px
}

.nojs .nojs-hidden {
  display: none
}

.optional-block,
.optional-inline {
  display: none !important
}

.subtitle {
  display: block;
  font-style: italic;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.45em
}

.disabled {
  cursor: default
}

.nobreak {
  white-space: nowrap
}

.textbox {
  background: #c41834;
  padding: 10px 20px;
  color: #fff
}

.textbox.year {
  background: none;
  font-size: 15px
}

.textbox h1 {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 24px;
  line-height: 26px;
  margin-bottom: 3px
}

.textbox p {
  font-size: 14px;
  line-height: 15px;
  margin-bottom: 0
}

.textbox .line {
  display: block;
  white-space: nowrap
}

td.contract {
  width: 1%
}

td.expand {
  width: 100%
}

input.disabled,
input[disabled=disabled],
textarea.disabled,
textarea[disabled=disabled] {
  background-color: #f2f4f5;
  border-color: #dcdcdc
}

button.disabled,
button[disabled=disabled] {
  opacity: .3;
  cursor: default
}

.text-input,
.textarea {
  margin-bottom: 7px;
  padding: 0 14px;
  border: 1px solid #cfcece;
  background: #fff
}

.text-input input,
.textarea textarea {
  border: none;
  background: none;
  display: block;
  font-size: 16px;
  height: 37px;
  width: 100%;
  line-height: 37px
}

input:invalid {
  box-shadow: none
}

.placeholders {
  color: #595d60;
  opacity: .7
}

::-webkit-input-placeholder {
  color: #595d60;
  opacity: .7
}

::-moz-placeholder {
  color: #595d60;
  opacity: .7
}

:-ms-input-placeholder {
  color: #595d60;
  opacity: .7
}

input:-moz-placeholder {
  color: #595d60;
  opacity: .7
}

.textarea {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-right: 5px
}

.textarea textarea {
  line-height: 21px;
  height: 170px;
  resize: vertical;
  overflow: auto
}

form .upload-progress {
  clear: both;
  border-left: 1px solid #c4c8cb;
  border-right: 1px solid #f1f3f4;
  height: 8px;
  background: #dee1e3
}

form .upload-progress .progress-bar {
  height: 8px;
  width: 0;
  background: #a2a4a6;
  background: linear-gradient(180deg, #a2a4a6 0, #848688);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#a2a4a6", endColorstr="#848688", GradientType=0)
}

form .error-msg {
  color: #c41834;
  font-size: 13px;
  line-height: 13px;
  margin-bottom: 3px;
  margin-top: 11px
}

button.submit {
  border: none;
  background: none;
  float: right
}

button.send span {
  display: block;
  background: url(../images/submit-btn.png) 100% no-repeat;
  border-radius: 4px;
  height: 31px;
  text-transform: uppercase;
  font-weight: 700;
  color: #fff;
  font-size: 15px;
  line-height: 30px;
  padding: 0 35px 0 25px;
  text-shadow: -1px -1px 0 rgba(0, 0, 0, .4);
  cursor: pointer
}

#layout-indicator {
  position: absolute;
  left: -1000px;
  top: -1000px;
  visibility: hidden;
  width: 10px;
  height: 10px
}

@-webkit-keyframes a {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
  }

  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn)
  }
}

@keyframes a {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
  }

  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn)
  }
}

#page-loader {
  -webkit-animation: a .6s ease-in-out infinite;
  animation: a .6s ease-in-out infinite;
  background: url(../images/fuw-page-loader.png) 50% no-repeat;
  display: none;
  height: 50px;
  left: 50%;
  margin: -25px;
  position: fixed;
  top: 50%;
  width: 50px;
  z-index: 1000
}

#main-wrap {
  -webkit-backface-visibility: hidden;
  background: #fff;
  left: 0;
  position: relative;
  top: 0;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s
}

.nav-main-open #main-wrap {
  height: 100vh;
  overflow: hidden;
  position: relative;
  -webkit-transform: translateX(-87%);
  -ms-transform: translateX(-87%);
  transform: translateX(-87%)
}

#content {
  text-align: left;
  position: relative;
  z-index: 1;
  padding-bottom: 30px;
  -webkit-backface-visibility: hidden
}

#tel-overlay {
  white-space: nowrap;
  color: #fff;
  font-weight: 700;
  background: #c41834;
  height: 100%;
  text-align: center;
  width: 100%;
  opacity: .95;
  max-width: none;
  max-height: none;
  border: none;
  margin: 0;
  padding: 0;
}

#tel-overlay[open] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#tel-overlay .tel {
  font-size: 37px;
  display: block;
  color: #fff;
  text-decoration: none
}

#tel-overlay .tel .tel-icon {
  height: 28px;
  width: auto
}

#tel-overlay .close-btn {
  --focus-outline-color: #fff;
  color: #c41834;
  background: #fff;
  top: 1rem;
  right: 1rem;
  border: 0;
}

@media screen and (max-width:320px) {
  body {
    width: 320px
  }
}

@media screen and (min-width:768px) {
  .optional-inline {
    display: inline !important
  }

  .optional-block {
    display: block !important
  }

  #layout-indicator {
    width: 20px;
    height: 20px
  }

  #tel-overlay .tel {
    font-size: 60px
  }

  #tel-overlay .tel .tel-icon {
    height: auto
  }

  .stage-textbox {
    background: #c41834;
    padding: 15px 30px;
    color: #fff
  }

  .stage-textbox h3 {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 24px;
    line-height: 24px;
    margin-bottom: 10px
  }

  .stage-textbox,
  .textbox {
    position: absolute
  }

  .stage-textbox p,
  .textbox p {
    font-size: 15px;
    line-height: 19px;
    margin-bottom: 0
  }

  section section h1 {
    font-size: 20px;
    line-height: 20px;
    padding-bottom: 6px
  }

  .textbox {
    position: absolute;
    background: #c41834;
    padding: 15px 20px;
    color: #fff
  }

  .textbox h3 {
    text-transform: uppercase;
    font-size: 27px;
    line-height: 29px;
    margin-bottom: 8px
  }

  .stage-textbox dt,
  .textbox dt {
    font-size: 20px
  }

  .two-columns {
    float: left;
    width: 100%
  }

  .two-columns .column {
    float: left;
    width: 46%
  }

  .two-columns .first-column {
    margin-right: 8%
  }
}

@media screen and (min-width:1011px) {
  #layout-indicator {
    width: 30px;
    height: 30px
  }

  .textbox {
    position: absolute;
    background: #c41834;
    padding: 15px 25px;
    color: #fff
  }

  .textbox h3 {
    text-transform: uppercase;
    font-size: 35px;
    line-height: 38px;
    margin-bottom: 8px;
    letter-spacing: 1px
  }

  .stage-textbox p,
  .textbox p {
    font-size: 17px;
    line-height: 22px
  }
}

@media screen and (min-width:1331px) {
  #layout-indicator {
    width: 40px;
    height: 40px
  }
}

@media screen and (min-width:1651px) {
  #layout-indicator {
    width: 50px;
    height: 50px
  }
}

.legal-text {
  word-break: break-word
}

.legal-text h1 {
  font-size: 28px;
  margin-bottom: 30px;
  margin-top: 20px
}

.legal-text h2 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 15px;
  margin-top: 25px
}

.legal-text h3 {
  font-size: 16px;
  margin-bottom: 10px;
  margin-top: 20px;
  text-transform: uppercase
}

.legal-text p {
  line-height: 1.6
}

.legal-text ol {
  margin-left: 30px
}

.legal-text ol li {
  position: relative
}

.legal-text ol .list-num {
  display: inline-block;
  left: -30px;
  position: absolute;
  text-align: right;
  width: 25px
}

.text-container {
  margin: 0 auto;
  max-width: 950px;
  padding: 20px
}

@media screen and (min-width:768px) {
  .text-container {
    padding: 30px 50px 40px
  }
}

@media screen and (min-width:1011px) {
  .text-container {
    padding: 40px 50px
  }
}

.main-header {
  background: #fff;
  height: auto;
  position: relative;
  z-index: 2
}

@media screen and (min-width:768px) and (max-width:1010px) {
  .main-header.fixed {
    background: hsla(0, 0%, 100%, .9)
  }
}

.main-header .header-inner {
  padding: 11px;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  max-width: 1200px;
}

@media screen and (min-width:768px) {
  .main-header .header-inner {
    padding: 1rem 2rem;
  }
}

@media screen and (min-width:1011px) {
  .main-header .header-inner {
    margin: 0 auto;
    padding-top: 19px;
    position: relative;
    text-align: left;
  }
}

.main-header .logo {
  background: url(../images/FUW-Logo_Bildmarke_red-black_wide.svg) 0 0 no-repeat;
  background-size: contain;
  height: 40px;
  position: relative;
  width: 87%;
  z-index: 1;
  display: block;
}

@media screen and (min-width:768px) {
  .main-header .logo {
    background-position: 0 0;
    background-size: 100% auto;
    height: 47px;
    max-width: 280px;
  }
}

@media screen and (min-width:1011px) {
  .main-header .logo {
    height: 53px;
    margin: 0;
    width: 314px
  }
}

.main-header .logo a {
  display: block;
  font-size: 1px;
  height: 100%;
  line-height: 1px
}

@media screen and (min-width:768px) and (max-width:1010px) {
  #main-header #navigation-main {
    height: 58px;
    overflow: hidden
  }

  #main-header.fixed #navigation-main {
    background: hsla(0, 0%, 100%, .95);
    left: 0;
    margin-top: -2px;
    position: fixed;
    top: 0;
    width: 100%;
    -webkit-backface-visibility: hidden
  }
}

.main-stage {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background: linear-gradient(180deg, #cfd2d4 0, #e6eaec 40px);
  clear: both;
  margin: 20px 0;
  padding: 50px 0;
  position: relative;
  width: 100%
}

@media screen and (min-width:768px) {
  .main-stage {
    padding-bottom: 60px
  }
}

@media screen and (min-width:1011px) {
  .main-stage {
    padding-bottom: 70px
  }
}

.main-stage .bottom {
  background: linear-gradient(180deg, #e6eaec 0, #cfd2d4);
  bottom: 0;
  height: 190px;
  left: 0;
  position: absolute;
  width: 100%
}

.main-stage h1 .overline {
  display: block;
  font-size: 16px;
  font-weight: 300;
  margin-bottom: 5px
}

.main-stage h1 .headline {
  display: block;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: .4px;
  line-height: 25px;
  margin-bottom: 10px;
  text-transform: uppercase
}

@media screen and (min-width:768px) {
  .main-stage h1 .headline {
    display: block;
    font-size: 35px;
    line-height: 36px
  }
}

.main-stage .slide-indicator {
  display: none;
  height: 6px;
  position: absolute;
  right: -8px;
  top: 0;
  width: 6px
}

@media screen and (min-width:768px) {
  .main-stage .slide-indicator {
    height: 17px;
    right: -24px;
    top: 0;
    width: 17px
  }
}

.main-stage .slide-indicator svg {
  display: block;
  height: 100%;
  width: 100%
}

.main-stage .slide-indicator .pacman {
  fill: #595d60;
  stroke-width: 0
}

.main-stage .stage-content {
  margin: 0 auto;
  opacity: 1;
  position: relative;
  transition: opacity .4s;
  width: 300px;
  z-index: 1
}

@media screen and (min-width:768px) {
  .main-stage .stage-content {
    left: 50%;
    margin-left: -315px;
    width: 630px
  }
}

@media screen and (min-width:1011px) {
  .main-stage .stage-content {
    margin-left: -475px;
    width: 950px
  }
}

.main-stage .chapter-subcontent {
  padding-top: 20px;
  position: relative;
  z-index: 2
}

.main-stage .stage-chapters-container {
  position: relative
}

.main-stage .stage-chapters {
  height: 210px;
  overflow: hidden;
  position: relative
}

@media screen and (min-width:768px) {

  .main-stage .stage-chapters,
  .main-stage .stage-slides {
    height: 430px
  }
}

@media screen and (min-width:1011px) {

  .main-stage .stage-chapters,
  .main-stage .stage-slides {
    height: 480px
  }
}

.main-stage .chapter {
  -webkit-backface-visibility: hidden;
  height: 100%;
  opacity: 1;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 300px
}

.main-stage .chapter .loader {
  display: none;
  height: 100%;
  left: 0;
  margin: 0;
  top: 0;
  width: 100%
}

.main-stage .chapter.loading .chapter-content {
  opacity: 0
}

.main-stage .chapter.loading .loader {
  display: block
}

@media screen and (min-width:768px) {

  .main-stage .chapter,
  .main-stage .slide {
    width: 630px
  }
}

@media screen and (min-width:1011px) {

  .main-stage .chapter,
  .main-stage .slide {
    width: 950px
  }
}

.main-stage .chapter-content {
  height: 100%;
  transition: opacity .5s
}

.main-stage .chapter-content .slide,
.main-stage .chapter-content .slides {
  height: 100%;
  width: 100%
}

.main-stage .loader {
  background: url(../images/ajax-loader-fw.gif) 50% no-repeat;
  display: none;
  height: 50px;
  left: 50%;
  margin-left: -25px;
  margin-top: -25px;
  position: absolute;
  top: 0;
  width: 50px
}

.main-stage .chapter-loader {
  background: #cd073b url(/style/images/ajax-loader_red.gif) 50% no-repeat;
  border-radius: 30px;
  box-shadow: 0 0 15px rgba(0, 0, 0, .2);
  display: none;
  height: 60px;
  left: 50%;
  margin: -30px;
  position: absolute;
  top: 50%;
  width: 60px
}

@media screen and (min-width:768px) {

  .main-stage .chapter-description h2,
  .main-stage .slide-description h2 {
    font-size: 24px;
    line-height: 27px
  }
}

@media screen and (min-width:768px) {
  .main-stage .case-description {
    width: 100%
  }
}

@media screen and (min-width:1011px) {
  .main-stage .case-description {
    width: 950px
  }
}

.main-stage.loading .loader {
  display: block
}

.main-stage.loading .stage-content {
  opacity: 0;
  transition: none;
  visibility: hidden
}

.main-stage.loading .chapter.loading {
  opacity: 1
}

.main-stage.loading .chapter-content {
  transition: none
}

.main-stage #nextBtnOver,
.main-stage #prevBtnOver {
  background: url(../images/stage_prev-next_2.png) -900px -900px no-repeat;
  cursor: pointer;
  height: 100%;
  opacity: 0;
  position: absolute;
  text-indent: -999em;
  top: 0;
  transition: opacity .2s;
  width: 60px
}

.main-stage #nextBtnOver {
  right: 0
}

.main-stage #nextBtnOver.disabled {
  display: none
}

.main-stage #nextBtnOver:hover {
  background-position: -100px;
  opacity: 1
}

.main-stage #prevBtnOver {
  left: 0
}

.main-stage #prevBtnOver:hover {
  background-position: 0;
  opacity: 1
}

.close-btn {
  background: #cd073b;
  border-radius: 17px;
  color: hsla(0, 0%, 100%, .9);
  cursor: pointer;
  font-size: 30px;
  font-weight: 700;
  height: 34px;
  letter-spacing: .2px;
  line-height: 34px;
  padding: 0;
  position: absolute;
  right: 20px;
  text-align: center;
  text-decoration: none;
  top: 13px;
  transition: -webkit-transform .2s ease-out;
  transition: transform .2s ease-out;
  transition: transform .2s ease-out, -webkit-transform .2s ease-out;
  width: 34px
}

.close-btn:hover {
  color: #fff;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg)
}

.stage-chapter-slider {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%
}

.stage-chapter-slider.transition {
  -webkit-transform: translate(-2040px) scale(1);
  -ms-transform: translate(-2040px) scale(1);
  transform: translate(-2040px) scale(1);
  -webkit-transform-origin: 0 0 0;
  -ms-transform-origin: 0 0 0;
  transform-origin: 0 0 0;
  transition-duration: 601ms;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  transition-timing-function: cubic-bezier(.785, 0, .29, 1)
}

.textbox-overlay {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1
}

.nojs .textbox-overlay {
  display: none
}

.slide-container {
  height: 100%;
  width: 100%
}

.slide .textbox {
  font-size: 15px;
  font-weight: 700;
  line-height: 15px;
  padding: 3px 5px;
  position: absolute;
  text-transform: uppercase
}

@media screen and (min-width:768px) {
  .slide .textbox {
    font-size: 32px;
    line-height: 33px;
    padding: 8px 18px
  }
}

@media screen and (min-width:1011px) {
  .slide .textbox {
    font-size: 36px;
    line-height: 38px;
    padding: 10px 15px 5px;
    letter-spacing: 1px
  }
}

.slide .textbox.year {
  font-weight: 300
}

@media screen and (min-width:768px) {
  .slide .textbox.year {
    font-size: 34px;
    line-height: 34px;
    padding: 0
  }
}

@media screen and (min-width:1011px) {
  .slide .textbox.year {
    font-size: 40px;
    line-height: 40px;
    padding: 0
  }
}

.image-slide {
  height: 100%;
  width: 100%
}

.image-slide img,
.slideshow-chapter img {
  display: block;
  height: 100%;
  left: -19.4%;
  position: absolute;
  width: auto
}

@media screen and (min-width:768px) {

  .image-slide img,
  .slideshow-chapter img {
    left: -17.3%
  }
}

@media screen and (min-width:1011px) {

  .image-slide img,
  .slideshow-chapter img {
    left: 0
  }
}

.vplayer {
  background: #1c2125;
  height: 100%;
  margin-top: -1000px;
  position: relative;
  width: 100%;
  z-index: 0
}

.vplayer video {
  left: 0;
  position: absolute;
  top: 0;
  z-index: 0
}

.stage-navigation {
  font-weight: 700;
  height: 20px;
  line-height: 24px;
  margin: 17px 0 0;
  position: relative;
  text-align: center
}

.stage-navigation .next,
.stage-navigation .prev {
  color: #1c2125;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 700;
  height: 20px;
  line-height: 24px;
  position: relative;
  text-decoration: none
}

.nojs .stage-navigation .next,
.nojs .stage-navigation .prev {
  display: none
}

.stage-navigation .next:after,
.stage-navigation .next:before,
.stage-navigation .prev:after,
.stage-navigation .prev:before {
  background: #1c2125;
  border-radius: 10px;
  content: "";
  height: 3px;
  position: absolute;
  top: 9px;
  -webkit-transform-origin: 1.5px 1.5px;
  -ms-transform-origin: 1.5px 1.5px;
  transform-origin: 1.5px 1.5px;
  width: 12px
}

.stage-navigation .next .icon,
.stage-navigation .prev .icon {
  background: #1c2125 url(../images/stage_prev-next.png) no-repeat;
  border-radius: 10px;
  display: none;
  height: 20px;
  position: absolute;
  top: 0;
  width: 20px
}

.stage-navigation .prev {
  float: left;
  margin-right: 15px;
  padding-left: 15px
}

.stage-navigation .prev:after,
.stage-navigation .prev:before {
  left: 0;
  -webkit-transform-origin: 1.5px 1.5px;
  -ms-transform-origin: 1.5px 1.5px;
  transform-origin: 1.5px 1.5px
}

.stage-navigation .prev:before {
  -webkit-transform: rotate(55deg);
  -ms-transform: rotate(55deg);
  transform: rotate(55deg)
}

.stage-navigation .prev:after {
  -webkit-transform: rotate(-55deg);
  -ms-transform: rotate(-55deg);
  transform: rotate(-55deg)
}

.stage-navigation .prev .icon {
  left: 0
}

.stage-navigation .next {
  float: right;
  margin-left: 15px;
  padding-right: 15px;
  text-align: left
}

.stage-navigation .next:after,
.stage-navigation .next:before {
  right: 0;
  -webkit-transform-origin: 10.5px 1.5px;
  -ms-transform-origin: 10.5px 1.5px;
  transform-origin: 10.5px 1.5px
}

.stage-navigation .next:before {
  -webkit-transform: rotate(55deg);
  -ms-transform: rotate(55deg);
  transform: rotate(55deg)
}

.stage-navigation .next:after {
  -webkit-transform: rotate(-55deg);
  -ms-transform: rotate(-55deg);
  transform: rotate(-55deg)
}

.stage-navigation .next .icon {
  background-position: -20px 0;
  right: 0
}

.stage-navigation .disabled {
  cursor: default
}

.stage-navigation a.next,
.stage-navigation a.prev {
  display: none
}

.nojs .stage-navigation a.next,
.nojs .stage-navigation a.prev {
  display: block
}

.stage-navigation .chapter-counter,
.stage-navigation .slide-counter {
  height: 20px;
  left: 50%;
  margin-left: -30px;
  position: absolute;
  width: 60px
}

.stage-navigation .sep {
  border-top: 1px solid #c4c8ca;
  display: none;
  height: 0;
  margin-top: 10px;
  width: 33%
}

@media screen and (min-width:768px) {
  .stage-navigation .sep {
    display: block;
    width: 32%
  }
}

@media screen and (min-width:1011px) {
  .stage-navigation .sep {
    width: 36%
  }
}

.stage-navigation .sep-left {
  float: left
}

.stage-navigation .sep-right {
  float: right
}

.audio-slide .background {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%
}

.audio-slide .background img {
  display: block;
  height: 100%;
  margin-left: -19.4%;
  width: auto
}

@media screen and (min-width:768px) {
  .audio-slide .background img {
    margin-left: -17.3%
  }
}

@media screen and (min-width:1011px) {
  .audio-slide .background img {
    margin-left: 0
  }
}

.audio-slide .audio-container {
  margin-left: 80px;
  padding-top: 98px
}

@media screen and (min-width:768px) {
  .audio-slide .audio-container {
    margin-left: 76px;
    padding-top: 203px
  }
}

@media screen and (min-width:1011px) {
  .audio-slide .audio-container {
    margin-left: 203px;
    padding-top: 224px
  }
}

@media screen and (min-width:1011px) {
  .audio-slide .audio-container .current {
    height: 101px;
    margin-top: -38px;
    width: 101px
  }
}

.audio-slide .audio-item {
  float: left;
  height: 21px;
  margin-right: 7px;
  width: 21px
}

@media screen and (min-width:768px) {
  .audio-slide .audio-item {
    height: 35px;
    width: 35px
  }
}

@media screen and (min-width:1011px) {
  .audio-slide .audio-item {
    clear: none;
    height: 35px;
    padding-right: 0;
    width: 35px
  }
}

.audio-slide .audio-item .controls {
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%
}

@media screen and (min-width:768px) {
  .audio-slide .audio-item .controls {
    opacity: 1
  }
}

@media screen and (min-width:1011px) {
  .audio-slide .audio-item .controls {
    opacity: 1;
    transition: opacity .3s, -webkit-transform .3s;
    transition: transform .3s, opacity .3s;
    transition: transform .3s, opacity .3s, -webkit-transform .3s
  }

  .audio-slide .audio-item .controls:hover {
    -webkit-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3)
  }
}

.audio-slide .audio-item audio {
  display: none;
  height: 0
}

.audio-slide .audio-item .pause-btn,
.audio-slide .audio-item .play-btn {
  background: #1c2125;
  background: rgba(28, 33, 37, .8);
  border-radius: 50%;
  cursor: pointer;
  display: none;
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%
}

.audio-slide .audio-item .pause-btn img,
.audio-slide .audio-item .play-btn img {
  height: 50%;
  left: 34%;
  opacity: .8;
  position: absolute;
  top: 25%;
  width: auto
}

@media screen and (min-width:1011px) {

  .audio-slide .audio-item .pause-btn img,
  .audio-slide .audio-item .play-btn img {
    height: 50%;
    left: 34%;
    top: 25%;
    width: auto
  }
}

.audio-slide .audio-item .pause-btn .icon,
.audio-slide .audio-item .play-btn .icon {
  left: 11px;
  top: 9px;
  -webkit-transform: scale(.4);
  -ms-transform: scale(.4);
  transform: scale(.4);
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0
}

.audio-slide .audio-item .pause-btn img {
  height: 40%;
  left: 30%;
  top: 30%
}

@media screen and (min-width:1011px) {
  .audio-slide .audio-item .pause-btn img {
    height: 40%;
    left: 30%;
    top: 30%
  }
}

.audio-slide .audio-item .pause-btn,
.audio-slide .audio-item:hover .pause-btn {
  background: #c41834;
  display: none
}

.audio-slide .audio-item:hover .play-btn {
  background: #1c2125
}

@media screen and (min-width:1011px) {
  .audio-slide .audio-item:hover .title-container {
    color: #1c2125
  }
}

.audio-slide .audio-item.playing .pause-btn,
.audio-slide .audio-item.playing .play-btn {
  display: block
}

.audio-slide .audio-item .title-container {
  bottom: 20px;
  color: #1c2125;
  display: none;
  font-weight: 700;
  left: 0;
  position: absolute;
  text-align: center;
  width: 300px
}

@media screen and (min-width:768px) {
  .audio-slide .audio-item .title-container {
    bottom: 110px;
    left: 76px;
    text-align: left;
    white-space: nowrap;
    width: auto;
    bottom: 124px;
    left: 203px
  }
}

.audio-slide .audio-item .title-container .medium {
  display: none;
  font-size: 16px;
  font-weight: 300
}

@media screen and (min-width:768px) {
  .audio-slide .audio-item .title-container .medium {
    display: inline;
    font-size: 16px
  }
}

.audio-slide .audio-item .title-container .title {
  background: #c41834;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 16px;
  padding: 2px 6px
}

@media screen and (min-width:768px) {
  .audio-slide .audio-item .title-container .title {
    background: none;
    color: #595d60;
    padding: 0
  }
}

@media screen and (min-width:768px) {
  .audio-slide .audio-item .title-container span {
    display: inline
  }
}

@media screen and (min-width:1011px) {
  .audio-slide .audio-item .current .controls {
    transition: none
  }

  .audio-slide .audio-item .current .controls:hover {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
  }
}

.audio-slide .audio-item.current {
  height: 59px;
  margin-top: -19px;
  width: 59px
}

@media screen and (min-width:768px) {
  .audio-slide .audio-item.current {
    height: 101px;
    margin-top: -38px;
    width: 101px
  }
}

.audio-slide .audio-item.current .title-container {
  display: block
}

#contact-icons {
    display: flex;
    align-items: center;
    gap: 0;
  }

#email-icon,
#tel-icon {
  width: 40px;
  height: 40px;
  background: url(../images/tel-email-icons.png) no-repeat;
  background-size: auto 100%;
}

#tel-icon {
  --focus-color:#1c2125;
  border: none;
  background-position: 0 0;
}

#email-icon {
  background-position: 33.33% 0;
}

@media screen and (min-width:768px) {

  #contact-icons {
    height: 45px;
    gap: 10px;
  }

  #email-icon,
  #tel-icon {
    width: 45px;
    height: 45px;
  }
}

.hero {
  overflow: hidden;
  position: relative
}

@media screen and (min-width:768px) {
  .hero {
    background: #fff;
    height: 420px
  }
}

@media screen and (min-width:1011px) {
  .hero {
    height: 500px;
    overflow: hidden
  }
}

.hero.loading {
  background: url(../images/ajax-loader-fw.gif) 50% no-repeat
}

.hero .textbox {
  margin-top: -1px
}

.text-hero {
  background: #cd073b;
  color: #fff;
  padding: 40px 20px;
  text-align: center
}

@media screen and (min-width:768px) {
  .text-hero {
    padding-bottom: 60px;
    padding-top: 60px
  }
}

@media screen and (min-width:1011px) {
  .text-hero {
    padding-bottom: 80px;
    padding-top: 80px
  }
}

@media screen and (min-width:768px) {
  .text-hero h1 {
    font-size: 31px;
    line-height: 1.1
  }
}

@media screen and (min-width:1331px) {
  .text-hero h1 {
    font-size: 36px
  }
}

.hero-img {
  display: block;
  height: auto;
  left: 50%;
  margin-left: -400px;
  position: relative;
  width: 800px
}

@media screen and (min-width:768px) {
  .hero-img {
    height: auto;
    left: 50%;
    margin-left: -1010px;
    position: absolute;
    width: 2020px
  }
}

@media screen and (min-width:1011px) {
  .hero-img {
    height: 500px;
    left: 50%;
    margin-left: -1200px;
    position: absolute;
    width: 2400px
  }
}

.hero-container {
  background: #fff;
  height: 100%;
  position: relative;
  z-index: 2
}

@media screen and (min-width:768px) {
  .hero-container {
    margin: 0 auto;
    width: 630px
  }
}

@media screen and (min-width:1011px) {
  .hero-container {
    width: 950px
  }
}

.loading .hero-container {
  visibility: hidden
}

.hero-bg {
  background: url(../images/stage-bg.png) bottom no-repeat;
  bottom: -460px;
  height: 723px;
  left: 0;
  position: absolute;
  width: 100%
}

#hero-moin .hero-img {
  margin-left: -680px;
  width: 1200px
}

.clp-hero {
  left: 50%;
  margin-left: -2px;
  top: 26px
}

.clp-hero,
.clp-hero ul {
  position: absolute
}

.clp-hero ul {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.clp-hero .mask {
  height: 171px;
  overflow: hidden;
  position: relative;
  width: 97px;
}

.clp-hero .shadow {
  box-shadow: inset 0 0 4px rgba(0, 0, 0, .4);
  height: 171px;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 97px;
}

.clp-hero li {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  height: 171px;
  width: 100%;
  opacity: 0;
  font-size: 1px;
  line-height: 1px;
  overflow: hidden;
}

.clp-hero li.active {
  opacity: 1;
}

.clp-hero :is(img, video) {
  display: block;
  width: 100%;
  height: 100%;
}

.clp-hero img {
  object-fit: cover;
}

.clp-hero video {
  object-fit: contain;
}

.clp-hero noscript img {
  margin-top: -178px
}

@media screen and (min-width:768px) {
  #hero-moin .hero-img {
    width: 2020px;
    margin-left: -1010px
  }

  #hero-moin .textbox {
    left: 10px;
    top: 80px;
    padding-top: 15px
  }

  #hero-moin #clp {
    left: 447px;
    top: 45px;
    margin-left: 0
  }

  #hero-moin #clp .mask,
  #hero-moin #clp .shadow,
  #hero-moin #clp img,
  #hero-moin #clp li {
    width: 163px;
    height: 287px
  }

  #clp noscript img {
    margin-top: -300px
  }
}

@media screen and (min-width:1011px) {
  #hero-moin .hero-img {
    width: 2400px;
    margin-left: -1200px
  }

  #hero-moin .textbox {
    left: 90px;
    top: 90px;
    left: auto;
    right: 430px
  }

  #hero-moin #clp {
    left: 633px;
    top: 54px
  }

  #hero-moin #clp .mask,
  #hero-moin #clp .shadow,
  #hero-moin #clp img,
  #hero-moin #clp li {
    width: 192px;
    height: 340px
  }

  #clp noscript img {
    margin-top: -357px
  }
}

#hero-jobs,
#hero-jobs .hero-container {
  background: #686d6f
}

#hero-jobs .hero-img {
  width: 1200px;
  margin-left: -624px
}

#hero-jobs .textbox .line {
  display: inline;
  white-space: normal
}

@media screen and (min-width:768px) {
  #hero-jobs .textbox .line {
    display: block;
    white-space: nowrap
  }

  #hero-jobs .hero-img {
    width: 2020px;
    margin-left: -1010px
  }

  #hero-jobs .textbox {
    top: 51px;
    left: -60px
  }
}

@media screen and (min-width:1011px) {
  #hero-jobs .hero-img {
    width: 2400px;
    margin-left: -1200px
  }

  #hero-jobs .textbox {
    top: 53px;
    left: -9px;
    width: auto
  }
}

@media screen and (min-width:1331px) {
  #hero-jobs .textbox {
    left: -135px
  }
}

#hero-udo,
#hero-udo .hero-container {
  background: #c51834
}

#hero-udo .textbox .line {
  display: inline;
  white-space: normal
}

#hero-udo .hero-img {
  width: 100%;
  height: auto;
  left: 9px;
  margin-left: 0
}

#hero-udo .textbox,
#hero-udo .textbox .bg {
  background: #fff
}

#hero-udo .textbox .line {
  color: #c41834
}

@media screen and (min-width:768px) {
  #hero-udo .textbox .line {
    display: block;
    white-space: nowrap
  }

  #hero-udo .hero-img {
    width: auto;
    height: 100%;
    margin-left: 325px
  }

  #hero-moinmoin .textbox,
  #hero-udo .textbox {
    top: 50px;
    left: -20px
  }
}

@media screen and (min-width:1011px) {
  #hero-udo .hero-img {
    width: auto;
    height: 100%;
    margin-left: 441px
  }

  #hero-udo .textbox {
    top: 72px;
    left: 20px;
    bottom: auto
  }
}

#hero-contact #couch {
  position: absolute;
  right: 10px;
  bottom: 20px
}

#hero-contact .hero-img {
  margin-left: -620px;
  width: 1220px
}

#hero-contact .textbox .line {
  display: inline;
  white-space: normal
}

#hero-contact .tel-textbox {
  padding: 4px 9px 3px;
  position: absolute
}

#hero-contact .tel-textbox span.line {
  display: block;
  font-weight: 700;
  color: #fff
}

#hero-contact .tel-textbox span.name {
  font-weight: 300
}

#hero-contact .tel-textbox .email {
  display: none
}

#hero-contact .tel-textbox .tel {
  font-size: 15px;
  line-height: 17px
}

#hero-contact #tb-timofrahm {
  left: 20px;
  top: 162px
}

#hero-contact #tb-ralfwandelt {
  right: 20px;
  left: auto;
  top: 162px
}

@media screen and (min-width:768px) {
  #hero-contact .textbox .line {
    display: block;
    white-space: nowrap
  }

  #hero-contact .textbox {
    left: 260px;
    top: 40px
  }

  #hero-contact .hero-img {
    height: 100%;
    margin-left: -1184px;
    width: auto
  }

  #hero-contact #tb-contact {
    background: none;
    color: #c41834;
    font-size: 39px;
    left: 50%;
    margin-left: -117px;
    top: 69px
  }

  #hero-contact #tb-contact h1 {
    color: #c41834;
    font-size: 27px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 28px
  }

  #hero-contact .tel-textbox {
    top: auto;
    bottom: 20px;
    padding: 11px 15px 8px
  }

  #hero-contact .tel-textbox span.line {
    display: block;
    font-weight: 700;
    text-align: justify;
    text-align-last: justify;
    height: 1em;
    line-height: 1em;
    position: relative
  }

  #hero-contact .tel-textbox span.name {
    display: none
  }

  #hero-contact .tel-textbox span.line:after {
    content: "";
    display: inline-block;
    width: 100%
  }

  #hero-contact .tel-textbox .email {
    display: block;
    font-size: 15px;
    line-height: 15px;
    padding-top: 28px;
    margin-top: -28px;
    background: url(../images/blank.gif);
    position: relative
  }

  #hero-contact .tel-textbox .email span {
    font-weight: 300
  }

  #hero-contact .tel-textbox .tel {
    font-size: 33px;
    line-height: 28px
  }

  #hero-contact #tb-timofrahm {
    top: auto;
    left: auto;
    margin-right: 40px;
    right: 50%
  }

  #hero-contact #tb-ralfwandelt {
    top: auto;
    left: 50%;
    right: auto;
    margin-left: 40px
  }
}

@media screen and (min-width:1011px) {
  #hero-contact .hero-img {
    margin-left: -1400px;
    width: auto
  }

  #hero-contact #tb-contact {
    margin-left: -135px
  }

  #hero-contact #tb-contact h1 {
    font-size: 31px;
    line-height: 32px
  }

  #hero-contact .tel-textbox {
    bottom: 30px;
    padding: 11px 15px 8px
  }

  #hero-contact .tel-textbox span.line {
    display: block;
    font-weight: 700
  }

  #hero-contact .tel-textbox .email {
    font-size: 15px;
    line-height: 15px
  }

  #hero-contact .tel-textbox .tel {
    font-size: 33px;
    line-height: 28px
  }

  #hero-contact #tb-timofrahm {
    left: auto;
    margin-right: 40px;
    right: 50%
  }

  #hero-contact #tb-ralfwandelt {
    left: 50%;
    margin-left: 40px
  }
}

.hero-ostern-2017 .textbox,
.hero-ostern-2017 .textbox .bg {
  background: #87bb34
}

.hero-ostern-2017 .textbox {
  max-width: 380px
}

@media screen and (min-width:768px) {
  .hero-ostern-2017 .textbox {
    margin-top: 42px;
    padding-top: 20px !important;
    padding-bottom: 20px !important
  }

  .hero-ostern-2017 .textbox:after {
    content: "";
    width: 104px;
    height: 92px;
    background: url(/style/images/Osterhasen-Ohren-2017.png) no-repeat;
    position: absolute;
    left: 50%;
    top: -92px;
    margin-left: -52px
  }
}

.teaser-container {
  margin: 0 auto;
  padding-top: 5px;
  width: 300px;
  opacity: 0.5;
  pointer-events: none;
}

.teaser-container-inner {
  margin: 0 -5px;
  position: relative
}

.case-teaser-container .stage,
.teaser-container .stage {
  margin: 0 -10px
}

.teaser-container .teaser {
  margin: 5px;
  position: relative;
  width: 300px;
  height: 318px;
  overflow: hidden;
  background: #e6eaec
}

.teaser-container .teaser.loading {
  background: #e6eaec url(../images/ajax-loader-fw.gif) center 100px no-repeat
}

.teaser-container .teaser img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  right: auto;
  opacity: 0.4;
}

.teaser-container .image-align-center img {
  left: 50%;
  margin-left: -155px
}

.teaser-container .teaser-full img {
  height: 100%;
  width: auto
}

@media screen and (min-width:768px) {
  .teaser-container .teaser-full img {
    width: 100%;
    height: auto
  }
}

.teaser-container .teaser-full.image-align-center img {
  left: -34.31818181818182%;
  right: auto
}

.teaser-container .image-align-right img {
  left: auto;
  right: 0
}

.teaser-container .teaser a,
.teaser-container .teaser a:visited {
  color: #595d60
}

.teaser-container .teaser a:visited h3 {
  color: #595d60
}

.teaser-container .teaser h3 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #e6eaec;
  background: rgba(230, 234, 236, .9);
  margin: 0
}

.teaser-container .teaser h3   .headline {
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  padding: 3px 15px 7px;
  text-transform: uppercase;
  letter-spacing: 0;
  display: block
}

.teaser-container .teaser h3 .overline {
  font-size: 14px;
  line-height: 18px;
  padding: 10px 15px 0;
  display: block;
  font-weight: 300
}

.teaser-container .hidden {
  display: none
}

.teaser-container .teaser .visited-indicator {
  background: hsla(0, 0%, 100%, .9);
  display: none;
  font-size: 13px;
  font-weight: 700;
  height: 15px;
  line-height: 17px;
  position: absolute;
  right: -75px;
  text-align: center;
  text-transform: uppercase;
  top: 25px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: 50% 0;
  -ms-transform-origin: 50% 0;
  transform-origin: 50% 0;
  width: 200px
}

.teaser-container .teaser.visited .visited-indicator {
  display: block
}

@media screen and (min-width:768px) {
  .teaser-container {
    width: 630px
  }

  .teaser-container-inner {
    width: 640px
  }

  .teaser-container-inner .teaser {
    width: 310px;
    margin: 5px;
    float: left
  }

  .teaser-container-inner .teaser-full {
    width: 630px;
    height: 396px
  }

  .teaser-container-inner .teaser-full img {
    height: auto;
    width: 100%
  }

  .teaser-container-inner .teaser-full h3 {
    bottom: 12px;
    left: 12px;
    width: 70%;
    border: 3px solid rgba(230, 234, 236, .9);
    background-clip: content-box
  }


  .teaser-container-inner .teaser-full h3 .headline {
    font-size: 28px;
    line-height: 1.1;
  }
}

@media screen and (min-width:1011px) {
  .teaser-container {
    width: 950px
  }

  .teaser-container-inner {
    width: 960px
  }

  .max-cols-1 {
    width: 310px
  }

  .max-cols-1 .teaser-container-inner {
    width: 320px
  }

  .max-cols-2,
  .max-cols-2-4 {
    width: 630px
  }

  .max-cols-2 .teaser-container-inner,
  .max-cols-2-4 .teaser-container-inner {
    width: 640px
  }

  .mouse .teaser-container-inner .teaser img {
    opacity: .2;
    transition: all .2s
  }

  .mouse .teaser-container-inner .teaser a:hover img {
    opacity: 1
  }
}

@media screen and (min-width:1331px) {
  .teaser-container {
    width: 1270px
  }

  .teaser-container-inner {
    width: 1280px
  }

  .max-cols-1 {
    width: 310px
  }

  .max-cols-1 .teaser-container-inner {
    width: 320px
  }

  .max-cols-2,
  .max-cols-2-4 {
    width: 630px
  }

  .max-cols-2 .teaser-container-inner,
  .max-cols-2-4 .teaser-container-inner {
    width: 640px
  }

  .max-cols-3 {
    width: 950px
  }

  .max-cols-3 .teaser-container-inner {
    width: 960px
  }
}

@media screen and (min-width:1651px) {
  .teaser-container {
    width: 1590px
  }

  .teaser-container-inner {
    width: 1600px
  }

  .max-cols-1 {
    width: 310px
  }

  .max-cols-2 {
    width: 630px
  }

  .max-cols-3 {
    width: 950px
  }

  .max-cols-3 .teaser-container-inner {
    width: 960px
  }

  .max-cols-2-4,
  .max-cols-4 {
    width: 1270px
  }

  .max-cols-2-4 .teaser-container-inner,
  .max-cols-4 .teaser-container-inner {
    width: 1280px
  }
}

.load-more {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 25px;
  overflow: hidden;
  position: relative
}

.load-more:after {
  background: url(../images/ajax-loader-fw.gif) 50% no-repeat;
  background-size: 100%;
  content: "";
  height: 36px;
  left: -100%;
  margin-left: -18px;
  margin-top: -18px;
  position: absolute;
  top: 50%;
  visibility: hidden;
  width: 36px
}

.loading .load-more:after {
  left: 50%;
  visibility: visible
}

.load-more a {
  border: 1px solid #cd073b;
  border-radius: 50px;
  color: #cd073b;
  display: block;
  font-weight: 700;
  padding: 9px 70px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .25s
}

.load-more a:hover {
  border-color: #595d60;
  color: #595d60;
  text-decoration: none
}

.loading .load-more a {
  text-indent: -9999em
}

#slide-leistungsspektrum {
  background: #c41834;
  height: 100%
}

#slide-leistungsspektrum img.logo {
  -webkit-clip-path: polygon(0 0, 43% 0, 43% 100%, 0 100%);
  clip-path: polygon(0 0, 43% 0, 43% 100%, 0 100%);
  position: absolute;
  left: 50%;
  top: 50%;
  width: 50px;
  height: 50px;
  margin: -25px;
  display: none
}

#slide-leistungsspektrum li {
  position: absolute;
  background: #fff;
  padding: 4px 7px;
  height: 16px
}

#slide-leistungsspektrum li span {
  color: #c41834;
  font-size: 15px;
  line-height: 15px;
  text-transform: uppercase;
  font-weight: 700;
  white-space: nowrap
}

#tb-classic,
#tb-design,
#tb-digital,
#tb-media,
#tb-pr,
#tb-prepress,
#tb-strategy {
  right: 12px;
  text-align: right
}

#tb-strategy {
  top: 10px
}

#tb-classic {
  top: 66px
}

#tb-prepress {
  top: 122px
}

#tb-design {
  top: 38px
}

#tb-digital {
  top: 94px
}

#tb-media {
  top: 150px
}

#tb-pr {
  top: 178px
}

#chapter_subcontent_223 h2 {
  font-size: 16px;
  line-height: 17px;
  padding-bottom: 10px;
  font-weight: 300;
  text-transform: uppercase;
  padding-top: 30px
}

#chapter_subcontent_223 .services-box {
  position: relative
}

#chapter_subcontent_223 .service-cats {
  position: relative;
  background: hsla(0, 0%, 100%, .5);
  padding: 15px
}

#chapter_subcontent_223 .service-cats h3 {
  height: 29px;
  line-height: 29px;
  margin-bottom: 2px;
  padding: 0 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  font-weight: 700;
  background: url(../images/service-toggle-arrows.png) right -29px no-repeat
}

#chapter_subcontent_223 .service-cats h3:hover {
  background-position: right -58px
}

#chapter_subcontent_223 .service-cats h3.active,
#chapter_subcontent_223 .service-cats h3.active:hover {
  background-color: #c41834;
  color: #fff;
  background-position: right 0
}

#chapter_subcontent_223 .service-cats ul {
  padding: 10px 15px 15px
}

#chapter_subcontent_223 .service-cats li {
  min-height: 20px;
  list-style-type: disc;
  margin-left: 15px;
  line-height: 20px;
  padding: 3px 0 6px
}

#chapter_subcontent_223 .contact-box {
  padding: 15px;
  position: relative;
  margin-top: 15px;
  background: #fff url(/style/images/timo-frahm-contact_1703.png) 100% 100% no-repeat
}

#chapter_subcontent_223 .contact-box h2 {
  color: #c71330;
  font-size: 23px;
  font-weight: 700;
  line-height: 25px;
  padding-top: 8px;
  padding-right: 60px;
  text-transform: uppercase
}

#chapter_subcontent_223 .contact-box ul {
  display: table;
  list-style: none
}

#chapter_subcontent_223 .contact-box li {
  display: table-row
}

#chapter_subcontent_223 .contact-box a {
  position: relative;
  background: #e6eaec;
  height: 30px;
  display: block;
  color: #595d60;
  text-decoration: none;
  font-weight: 700;
  line-height: 32px;
  margin-bottom: 9px;
  padding-left: 44px;
  padding-right: 15px;
  font-size: 14px
}

#chapter_subcontent_223 .contact-box a:hover {
  color: #000
}

#chapter_subcontent_223 .contact-box a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 30px;
  height: 30px;
  border-right: 1px solid #fff;
  background: url(/style/images/contact-icons_30x30.png) no-repeat
}

#chapter_subcontent_223 .contact-box a.tel {
  font-size: 18px;
  line-height: 35px;
  cursor: default
}

#chapter_subcontent_223 .contact-box a.tel:before {
  background-position: 0 0
}

#chapter_subcontent_223 .contact-box a.tel:hover:before {
  background-position: 0 -30px
}

#chapter_subcontent_223 .contact-box a.email:before {
  background-position: -30px 0
}

#chapter_subcontent_223 .contact-box a.email:hover:before {
  background-position: -30px -30px
}

#chapter_subcontent_223 .contact-box a.contact-form:before {
  background-position: -60px 0
}

#chapter_subcontent_223 .contact-box a.contact-form:hover:before {
  background-position: -60px -30px
}

@media screen and (min-width:768px) {
  #chapter_subcontent_223 .contact-box {
    height: auto;
    padding-left: 25px;
    padding-right: 25px;
    background-position: 100% 0
  }

  #chapter_subcontent_223 .contact-box h2 {
    font-size: 32px;
    line-height: 37px
  }

  #chapter_subcontent_223 .contact-box li {
    display: table-cell;
    vertical-align: top
  }

  #chapter_subcontent_223 .contact-box a {
    border: 2px solid #fff;
    margin: -2px 10px 12px -2px
  }
}

@media screen and (min-width:1011px) {
  #chapter_subcontent_223 .contact-box {
    position: absolute;
    right: 0;
    top: 0;
    width: 270px;
    height: 248px;
    margin-top: 0;
    background-position: 100% 100%
  }

  #chapter_subcontent_223 .contact-box h2 {
    font-size: 25px;
    line-height: 28px;
    padding-right: 0
  }

  #chapter_subcontent_223 .contact-box li {
    display: table-row
  }

  #chapter_subcontent_223 .contact-box a {
    margin-right: 0;
    border: none
  }
}

@media screen and (min-width:768px) {
  #slide-leistungsspektrum img.logo {
    display: block;
    height: auto;
    margin: -122px 0 0 35px;
    opacity: .6;
    width: 570px
  }

  #slide-leistungsspektrum li {
    padding: 11px;
    height: 15px
  }

  #slide-leistungsspektrum li span {
    font-size: 18px;
    line-height: 18px
  }

  #tb-strategy {
    right: 220px;
    top: 38px
  }

  #tb-classic {
    right: 276px;
    top: 92px
  }

  #tb-prepress {
    right: 316px;
    top: 254px
  }

  #tb-design {
    right: 329px;
    top: 200px
  }

  #tb-digital {
    right: 316px;
    top: 146px
  }

  #tb-media {
    right: 237px;
    top: 362px
  }

  #tb-pr {
    right: 295px;
    top: 308px
  }

  #chapter_subcontent_223 h2 {
    font-size: 20px;
    line-height: 20px
  }

  #chapter_subcontent_223 .service-cats {
    width: 260px;
    height: 248px
  }

  #chapter_subcontent_223 .service-cats ul {
    background: hsla(0, 0%, 100%, .5);
    position: absolute;
    top: 0;
    height: 248px;
    overflow: auto;
    left: 305px;
    width: 295px;
    padding: 15px
  }
}

@media screen and (min-width:1011px) {
  #slide-leistungsspektrum img.logo {
    width: 732px;
    height: auto;
    margin-left: 97px;
    margin-top: -190px;
    opacity: .5;
    -webkit-transform: rotate(-8deg);
    -ms-transform: scale(1) rotate(-8deg);
    transform: scale(1) rotate(-8deg)
  }

  #slide-leistungsspektrum ul {
    position: absolute;
    left: 53%;
    top: 17px;
    -webkit-transform: rotate(-8deg);
    -ms-transform: rotate(-8deg);
    transform: rotate(-8deg)
  }

  #slide-leistungsspektrum li {
    line-height: 25px;
    padding: 12px;
    height: 23px
  }

  #slide-leistungsspektrum li span {
    font-size: 26px;
    line-height: 27px
  }

  #tb-strategy {
    right: 0;
    top: 0
  }

  #tb-classic {
    right: 0;
    top: 130px
  }

  #tb-prepress {
    right: 0;
    top: 260px
  }

  #tb-design {
    right: 0;
    top: 65px
  }

  #tb-digital {
    right: 0;
    top: 195px
  }

  #tb-media {
    right: 0;
    top: 390px
  }

  #tb-pr {
    right: 0;
    top: 325px
  }

  #chapter_subcontent_223 h2 {
    font-size: 20px;
    line-height: 20px
  }

  #chapter_subcontent_223 .service-cats {
    width: 238px
  }

  #chapter_subcontent_223 .services-box {
    margin-top: 66px
  }

  #chapter_subcontent_223 .service-cats ul {
    left: 283px;
    width: 245px;
    padding: 15px 73px 15px 15px
  }
}

.logo-slide {
  margin-right: -4px
}

.logo-slide img.logo {
  display: block;
  height: 100%;
  width: auto;
  margin: 0 auto
}

.logo-slide .floatlist li {
  float: left;
  width: 72px;
  height: 38px;
  margin: 0 4px 5px 0;
  background: #fff
}

#logos-more .logo1 {
  opacity: .95
}

#logos-more .logo2 {
  opacity: .9
}

#logos-more .logo3 {
  opacity: .85
}

#logos-more .logo4 {
  opacity: .8
}

#logos-more .logo5 {
  opacity: .75
}

#logos-more .logo6 {
  opacity: .7
}

#logos-more .logo7 {
  opacity: .65
}

#logos-more .logo8 {
  opacity: .6
}

#logos-more .logo9 {
  opacity: .55
}

#logos-more .logo10 {
  opacity: .5
}

#logos-more .logo11 {
  opacity: .45
}

#logos-more .logo12 {
  opacity: .4
}

#logos-more .logo13 {
  opacity: .35
}

#logos-more .logo14 {
  opacity: .3
}

#logos-more .logo15 {
  opacity: .25
}

#logos-more .logo16 {
  opacity: .2
}

#logos-more .logo17 {
  opacity: .15
}

#logos-more .logo18 {
  opacity: .1
}

#logos-more .logo19 {
  opacity: .05
}

#logos-more .logo20 {
  opacity: 0
}

@media screen and (min-width:768px) {
  .logo-slide {
    margin-right: -10px
  }

  .logo-slide .floatlist li {
    width: 150px;
    height: 78px;
    margin: 0 10px 10px 0
  }
}

@media screen and (min-width:1011px) {
  .logo-slide .floatlist li {
    width: 182px;
    height: 111px;
    margin: 0 10px 12px 0
  }
}

.team-slide,
.team-slide ul {
  width: 100%;
  height: 100%
}

.team-slide li {
  float: left;
  width: 72px;
  height: 103px;
  margin: 0 4px 4px 0;
  position: relative;
  overflow: hidden
}

.team-slide li.ma4,
.team-slide li.ma8 {
  margin-right: 0
}

.team-slide li.ma5,
.team-slide li.ma6,
.team-slide li.ma7,
.team-slide li.ma8 {
  margin-bottom: 0
}

.team-slide li .textbox {
  display: none
}

.team-slide li img {
  position: absolute;
  width: auto;
  height: 100%;
  left: 0;
  top: 0;
  margin-left: -10px
}

@media screen and (min-width:768px) {
  .team-slide li {
    float: left;
    width: 25%;
    height: 50%;
    margin: 0;
    overflow: visible
  }

  .team-slide li img {
    width: 134px;
    height: 160px;
    left: 50%;
    margin-left: -67px
  }

  .team-slide li .textbox {
    display: block;
    bottom: 10px;
    font-size: 15px;
    left: 5px;
    line-height: 15px;
    padding: 7px 11px 4px;
    top: auto
  }

  .team-slide li .textbox .field {
    display: block;
    font-weight: 300;
    text-transform: none
  }

  .team-slide .ma1 img {
    -webkit-transform: rotate(-3deg);
    -ms-transform: rotate(-3deg);
    transform: rotate(-3deg);
    top: 5px
  }

  .team-slide .ma1 .textbox {
    bottom: 45px;
    left: 14px
  }

  .team-slide .ma2 img {
    -webkit-transform: rotate(2.2deg);
    -ms-transform: rotate(2.2deg);
    transform: rotate(2.2deg);
    top: 25px
  }

  .team-slide .ma2 .textbox {
    bottom: 27px;
    left: 12px
  }

  .team-slide .ma3 img {
    -webkit-transform: rotate(-2.2deg);
    -ms-transform: rotate(-2.2deg);
    transform: rotate(-2.2deg);
    top: 7px
  }

  .team-slide .ma3 .textbox {
    bottom: 45px;
    left: 12px
  }

  .team-slide .ma4 img {
    -webkit-transform: rotate(1.7deg);
    -ms-transform: rotate(1.7deg);
    transform: rotate(1.7deg);
    top: 20px
  }

  .team-slide .ma4 .textbox {
    bottom: 27px;
    left: 12px
  }

  .team-slide .ma5 img {
    -webkit-transform: rotate(2.4deg);
    -ms-transform: rotate(2.4deg);
    transform: rotate(2.4deg);
    top: 2px
  }

  .team-slide .ma5 .textbox {
    bottom: 27px;
    left: auto;
    right: 7px
  }

  .team-slide .ma6 img {
    -webkit-transform: rotate(-3.2deg);
    -ms-transform: rotate(-3.2deg);
    transform: rotate(-3.2deg);
    top: 22px
  }

  .team-slide .ma6 .textbox {
    bottom: 45px;
    left: auto;
    right: 7px
  }

  .team-slide .ma7 img {
    -webkit-transform: rotate(1.5deg);
    -ms-transform: rotate(1.5deg);
    transform: rotate(1.5deg);
    top: -7px
  }

  .team-slide .ma7 .textbox {
    bottom: 27px;
    left: auto;
    right: 7px
  }

  .team-slide .ma8 img {
    -webkit-transform: rotate(-1.9deg);
    -ms-transform: rotate(-1.9deg);
    transform: rotate(-1.9deg);
    top: 25px
  }

  .team-slide .ma8 .textbox {
    bottom: 45px;
    left: auto;
    right: 7px
  }
}

@media screen and (min-width:1011px) {
  .team-slide li img {
    width: 182px;
    height: 217px;
    margin-left: -91px
  }

  .team-slide .ma1 img {
    top: 5px
  }

  .team-slide .ma1 .textbox {
    bottom: 45px;
    left: 14px
  }

  .team-slide .ma2 img {
    top: 5px
  }

  .team-slide .ma2 .textbox {
    bottom: 27px;
    left: 12px
  }

  .team-slide .ma3 img {
    top: 7px
  }

  .team-slide .ma3 .textbox {
    bottom: 45px;
    left: 12px
  }

  .team-slide .ma4 img {
    top: 3px
  }

  .team-slide .ma4 .textbox {
    bottom: 27px;
    left: 12px
  }

  .team-slide .ma5 img {
    top: 2px
  }

  .team-slide .ma5 .textbox {
    bottom: 27px;
    left: auto;
    right: 7px
  }

  .team-slide .ma6 img {
    top: 3px
  }

  .team-slide .ma6 .textbox {
    bottom: 45px;
    left: auto;
    right: 7px
  }

  .team-slide .ma7 img {
    top: 8px
  }

  .team-slide .ma7 .textbox {
    bottom: 27px;
    left: auto;
    right: 7px
  }

  .team-slide .ma8 img {
    top: 4px
  }

  .team-slide .ma8 .textbox {
    bottom: 45px;
    left: auto;
    right: 7px
  }
}

.jobs-slide {
  background-color: #c41834
}

.job-form {
  margin-top: 30px
}

.job-form form.locked {
  opacity: .5
}

.job-form .file-upload {
  position: relative;
  height: 25px;
  overflow: hidden;
  float: left
}

.job-form .file-upload-btn {
  background: none;
  border: none;
  display: block;
  width: 100%;
  cursor: pointer;
  position: relative;
  z-index: 0
}

.job-form .file-upload-btn>span {
  display: block;
  height: 25px;
  border: none;
  color: #fff;
  text-shadow: -1px -1px 0 #6a6e70;
  font-size: 12px;
  line-height: 25px;
  padding: 0 20px;
  cursor: pointer;
  border-radius: 4px;
  background: #a4aaad;
  background: linear-gradient(180deg, #a4aaad 0, #80888c);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#a4aaad", endColorstr="#80888c", GradientType=0)
}

.job-form .file-upload input {
  cursor: pointer;
  font-size: 130px;
  opacity: 0;
  position: absolute;
  right: -10px;
  top: -10px;
  z-index: 2;
  width: auto
}

.job-form .attachements {
  clear: both;
  padding: 10px 0;
  border-bottom: 1px solid #c4c8cb
}

.job-form .attachements .label {
  float: left;
  margin: 0
}

.job-form .attachements .file {
  margin-bottom: 7px;
  height: 19px;
  line-height: 19px
}

.job-form .disabled .file {
  opacity: .3
}

.job-form .attachements .file table {
  width: 100%
}

.job-form .attachements .file .filename {
  white-space: nowrap;
  padding-left: 6px
}

.job-form .attachements .file td.ruler {
  vertical-align: top
}

.job-form .attachements .file td.ruler span {
  height: 9px;
  border-bottom: 1px dashed #c4c8cb;
  display: block;
  margin: 0 10px
}

.job-form .attachements .file .delete-file-btn {
  float: right;
  width: 15px;
  height: 15px;
  text-indent: -9999em;
  cursor: pointer;
  margin-top: 2px;
  background: url(../images/close.png) 1px 1px no-repeat;
  margin-right: 5px
}

.job-form .attachements .file .delete-file-btn:hover {
  background-position: 1px -14px
}

.job-form .form-submit {
  clear: both;
  border-top: 1px solid #f1f3f4;
  padding-top: 10px
}

.job-form button.submit {
  border: none;
  background: none;
  float: right
}

.job-form button.submit span {
  display: block;
  background: url(../images/submit-btn.png) 100% no-repeat;
  border-radius: 4px;
  height: 31px;
  text-transform: uppercase;
  font-weight: 700;
  color: #fff;
  font-size: 15px;
  line-height: 33px;
  padding: 0 35px 0 25px;
  text-shadow: -1px -1px 0 rgba(0, 0, 0, .4);
  cursor: pointer
}

.job-form .selected-files input {
  display: none
}

.jobs-slide .tb-jobs {
  background: none;
  font-size: 70px;
  left: 38px;
  line-height: 65px;
  padding: 0;
  top: 36px;
  -webkit-transform: rotate(-8deg);
  -ms-transform: rotate(-8deg);
  transform: rotate(-8deg)
}

.job-form .success {
  min-height: 18px;
  padding-left: 24px;
  background: url(../images/checkmark-red.png) no-repeat;
  color: #c41834;
  font-weight: 700
}

#tb-wort-akrobat {
  font-size: 50px;
  left: 28px;
  line-height: 48px;
  top: 50px
}

#tb-berater-herz {
  left: 29px;
  top: 55px;
  font-size: 53px;
  line-height: 50px
}

#tb-detail-verliebt {
  left: 26px;
  top: 55px;
  font-size: 50px;
  line-height: 47px
}

#tb-kontaktfreudiges-wesen {
  font-size: 45px;
  left: 34px;
  line-height: 43px;
  top: 37px
}

#tb-gute-fee {
  font-size: 80px;
  left: 47px;
  line-height: 72px;
  top: 28px
}

@media screen and (min-width:768px) {
  .jobs-slide .tb-jobs {
    font-size: 140px;
    left: 93px;
    line-height: 127px;
    padding: 0;
    top: 77px
  }

  #tb-wort-akrobat {
    left: 48px;
    top: 103px;
    font-size: 110px;
    line-height: 100px
  }

  #tb-berater-herz {
    font-size: 120px;
    left: 47px;
    line-height: 110px;
    top: 100px
  }

  #tb-detail-verliebt {
    font-size: 105px;
    left: 52px;
    line-height: 98px;
    top: 107px
  }

  #tb-kontaktfreudiges-wesen {
    font-size: 95px;
    left: 67px;
    line-height: 86px;
    top: 79px
  }

  #tb-gute-fee {
    font-size: 160px;
    left: 105px;
    line-height: 147px;
    top: 60px
  }
}

@media screen and (min-width:1011px) {
  .job-description {
    width: 660px;
    float: left
  }

  .job-form {
    float: left;
    width: 425px;
    margin-left: 105px;
    margin-top: 0
  }

  .jobs-slide .tb-jobs {
    font-size: 166px;
    left: 200px;
    line-height: 146px;
    top: 72px
  }

  #tb-wort-akrobat {
    font-size: 146px;
    left: 119px;
    line-height: 136px;
    top: 80px
  }

  #tb-berater-herz {
    left: 99px;
    top: 87px;
    font-size: 160px;
    line-height: 140px
  }

  #tb-detail-verliebt {
    font-size: 152px;
    left: 85px;
    line-height: 136px;
    top: 85px
  }

  #tb-kontaktfreudiges-wesen {
    font-size: 132px;
    left: 133px;
    line-height: 120px;
    top: 48px
  }

  #tb-gute-fee {
    font-size: 190px;
    left: 225px;
    line-height: 168px;
    top: 62px
  }
}

#iphone-map {
  display: none
}

#map {
  width: 100%;
  height: 340px;
  margin-bottom: 10px
}

.map-slide {
  height: 100%;
  background: hsla(0, 0%, 100%, .5)
}

.map-slide .activate-map-msg {
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0 10px;
  text-align: center
}

.map-slide .activate-map-msg p {
  font-size: 12px;
  line-height: 1.3
}

@media screen and (min-width:768px) {
  .map-slide .activate-map-msg p {
    font-size: 15px;
    line-height: 1.45em;
    max-width: 600px
  }
}

.map-slide button.map-activate {
  border: 0;
  background-color: #cd073b;
  border-radius: 50px;
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  margin-top: 4px;
  max-width: 80%;
  padding: 4px 14px
}

.map-slide button.map-activate:hover {
  background-color: #1c2125
}

@media screen and (min-width:768px) {
  .map-slide button.map-activate {
    font-size: 18px;
    margin-top: 10px;
    padding: 10px 25px
  }
}

#map-address {
  border-bottom: 1px solid #c4c8cb;
  padding-bottom: 20px
}

#route-calc {
  border-top: 1px solid #f1f3f4;
  padding-top: 20px
}

#route-calc label {
  float: left;
  margin: 0 10px 2px 0
}

.route-calc-input {
  position: relative;
  clear: both
}

.route-calc-input .text-input {
  margin-right: 46px;
  padding-top: 0;
  padding-bottom: 0
}

.route-calc-input .text-input input {
  height: 31px;
  line-height: 31px
}

.route-calc-input button {
  border: none;
  background: none;
  position: absolute;
  width: 46px;
  height: 33px;
  right: 0;
  top: 0
}

.route-calc-input button span {
  padding: 0;
  display: block;
  width: 46px;
  height: 33px;
  color: #fff;
  line-height: 36px;
  text-transform: uppercase;
  font-weight: 700;
  text-shadow: -1px -1px 0 rgba(0, 0, 0, .5);
  font-size: 14px;
  border-radius: 0 4px 4px 0;
  background: #d55b6f;
  background: linear-gradient(180deg, #d55b6f 0, #ab152d);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#d55b6f", endColorstr="#ab152d", GradientType=0)
}

.geoBtn {
  background: url(../images/geo-icon.png) 50% no-repeat;
  height: 33px;
  overflow: hidden;
  position: absolute;
  right: 46px;
  text-indent: -999em;
  top: 0;
  width: 33px;
  cursor: pointer
}

.adp-placemark {
  background: none;
  border: 0 solid #cfcece;
  border-bottom-width: 1px;
  color: #595d60
}

.adp-text {
  padding-left: 10px
}

.adp-step,
.adp-substep {
  border-top: 1px solid #cfcece;
  border-bottom: 1px solid #cfcece
}

@media screen and (min-width:768px) {
  #map {
    width: 640px;
    height: 425px
  }

  #iphone-map {
    display: block;
    float: right;
    height: 100px;
    width: auto
  }
}

@media screen and (min-width:1011px) {
  #directions-panel {
    margin-top: 20px
  }

  #map {
    width: 100%;
    height: 480px
  }

  #iphone-map {
    float: right;
    height: auto;
    width: 120px
  }

  #map-address {
    float: left
  }

  #map-address,
  #route-calc {
    width: 400px;
    border: none;
    padding: 0
  }

  #route-calc {
    float: right
  }

  #directions-panel {
    clear: both;
    padding-top: 20px
  }

  .adp-directions {
    width: 100%
  }
}

#email-contact .success {
  padding-left: 24px;
  background: url(../images/checkmark-red.png) no-repeat;
  color: #c41834;
  font-weight: 700
}

@media screen and (min-width:768px) {
  #stage #chapter_subcontent_41 {
    padding: 0
  }

  #email-contact {
    height: 400px;
    margin-top: -430px;
    padding-left: 30px;
    padding-top: 30px;
    width: 300px
  }

  #contact-form-container {
    width: 100%
  }

  #email-contact textarea {
    height: 200px
  }

  #email-contact .success {
    margin-top: -5px;
    min-height: 26px
  }

  #contactform .text-input {
    border: none;
    border-radius: 3px;
    margin-bottom: 11px
  }

  #contactform .error .text-input {
    margin-top: -5px
  }

  #contactform .text-input input {
    height: 41px
  }

  #contactform .error-msg {
    color: #fff;
    background-color: #c41834;
    padding: 3px 7px;
    display: inline-block;
    margin: 0 0 0 -7px
  }
}

@media screen and (min-width:1011px) {
  #email-contact {
    height: 430px;
    margin-top: -480px;
    padding-left: 30px;
    padding-top: 50px;
    width: 450px
  }

  #email-contact textarea {
    height: 230px
  }

  #email-contact .success {
    margin-top: -18px
  }
}

#main-footer {
  clear: both;
  padding: 0 10px 40px;
  text-align: left;
  font-size: 15px;
  line-height: 21px;
  position: relative;
  z-index: 2;
  background: #c41834;
  color: #edbac2
}

#main-footer .footer-inner {
  padding-top: 30px;
  width: 300px;
  margin: 0 auto
}

#main-footer .top-link {
  display: none
}

#main-footer h1 {
  font-size: 18px;
  line-height: 20px;
  margin-bottom: 10px
}

#main-footer a,
#main-footer a:visited {
  text-decoration: none;
  color: #edbac2;
  font-weight: 400
}

#main-footer a:hover {
  color: #fff;
  text-decoration: underline
}

#main-footer #address-footer,
#main-footer #sitelinks-footer {
  text-align: center;
  margin-bottom: 30px
}

#address-footer .address-line,
#contact-footer span {
  display: block
}

#main-footer #sitelinks-footer .optional {
  display: none
}

#main-footer #call-to-action {
  background: #fff;
  width: 202px;
  padding: 15px 83px 15px 15px;
  position: relative;
  text-align: left;
  margin-bottom: 30px
}

#main-footer #call-to-action h1 {
  color: #c41834;
  text-transform: uppercase;
  font-size: 30px;
  margin: 0;
  line-height: 30px;
  position: relative;
  z-index: 1;
  font-weight: 700
}

#main-footer #call-to-action p {
  color: #595d60;
  margin: 0;
  line-height: 16px;
  position: relative;
  z-index: 1
}

#main-footer #call-to-action p.tel {
  line-height: 28px
}

#main-footer #call-to-action img#tel-contact {
  position: absolute;
  right: 10px;
  bottom: 0;
  z-index: 0
}

#main-footer #call-to-action .line {
  display: block
}

#main-footer #call-to-action .tel span,
#main-footer #call-to-action .tel span:hover {
  font-size: 21px;
  color: #595d60;
  font-weight: 700;
  text-decoration: none;
  display: block;
  padding-left: 15px;
  background: url(../images/tel-icon-footer.gif) left 3px no-repeat
}

#main-footer #call-to-action .tel-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent: -9999em;
  z-index: 2
}

#main-footer #brand-footer {
  margin-bottom: 25px;
  clear: both;
  text-align: center;
  border-top: 1px solid #d3d5d7;
  padding-top: 25px;
  border-top: 1px solid #da7081
}

#main-footer #brand-footer svg {
  display: block;
  height: auto;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 250px
}

#main-footer #copyright {
  clear: both;
  font-size: 11px;
  line-height: 11px;
  padding: 28px 0 9px;
  text-align: center
}

@media screen and (min-width:768px) {
  #main-footer .footer-inner {
    width: 610px;
    padding-top: 30px
  }

  #main-footer #address-footer,
  #main-footer #sitelinks-footer {
    text-align: left;
    margin-bottom: 0;
    float: left
  }

  #main-footer #address-footer {
    margin-right: 70px
  }

  #main-footer #copyright {
    text-align: left
  }

  #main-footer #call-to-action {
    position: absolute;
    top: 30px;
    left: 63%;
    width: auto;
    padding-right: 73px
  }

  #main-footer #call-to-action img#tel-contact {
    right: 3px
  }

  #main-footer #call-to-action .tel-link {
    display: none
  }
}

@media screen and (min-width:1011px) {
  #main-footer .footer-inner {
    width: 950px;
    position: relative;
    padding-top: 40px
  }

  #main-footer #sitelinks-footer .optional {
    display: block
  }

  #main-footer #address-footer {
    float: left;
    width: auto;
    margin-right: 60px
  }

  #main-footer #sitelinks-footer ul {
    float: left;
    margin-right: 60px
  }

  #main-footer #call-to-action {
    top: 43px;
    left: auto;
    right: 0;
    padding-right: 83px
  }

  #main-footer #call-to-action img#tel-contact {
    left: auto;
    right: 7px
  }
}

.back-to-top {
  -webkit-backface-visibility: hidden;
  bottom: 15px;
  height: 50px;
  position: fixed;
  right: -60px;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease, -webkit-transform .3s ease;
  width: 50px;
  z-index: 100
}

.nav-main-open .back-to-top {
  display: none;
  z-index: -1
}

.back-to-top a {
  background: #c41834;
  border-radius: 25px;
  display: block;
  -webkit-filter: drop-shadow(0 0 4px hsla(0, 0%, 100%, .5));
  filter: drop-shadow(0 0 4px rgba(255, 255, 255, .5));
  height: 100%;
  position: relative;
  text-indent: -9999em;
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease, -webkit-transform .3s ease;
  width: 100%
}

.back-to-top:hover a {
  -webkit-transform: translateY(-10px);
  -ms-transform: translateY(-10px);
  transform: translateY(-10px)
}

.back-to-top a:after,
.back-to-top a:before {
  content: "";
  width: 17px;
  height: 5px;
  position: absolute;
  top: 20px;
  background: #fff;
  border-radius: 3px
}

.back-to-top a:before {
  right: 24px;
  -webkit-transform-origin: 15px 0;
  -ms-transform-origin: 15px 0;
  transform-origin: 15px 0;
  -webkit-transform: rotate(-25deg);
  -ms-transform: rotate(-25deg);
  transform: rotate(-25deg)
}

.back-to-top a:after {
  left: 24px;
  -webkit-transform-origin: 2px 0;
  -webkit-transform: rotate(25deg);
  -ms-transform-origin: 2px 0;
  -ms-transform: rotate(25deg);
  transform-origin: 2px 0;
  transform: rotate(25deg)
}

.scrolled-down .back-to-top {
  -webkit-transform: translateX(-75px);
  -ms-transform: translateX(-75px);
  transform: translateX(-75px);
  -webkit-transform: translate3d(-75, 0, 0);
  -ms-transform: translateY(-75px);
  transform: translate3d(-75px, 0, 0)
}

.stage-visible .back-to-top {
  -webkit-transform: translateZ(0);
  -ms-transform: translateY(0);
  transform: translateZ(0)
}

.cc_container .cc_message {
  line-height: 1.4 !important;
  max-width: 1400px;
  text-align: left
}

.cc_container .cc_btn,
.cc_container .cc_btn:active,
.cc_container .cc_btn:hover,
.cc_container .cc_btn:visited {
  background-color: #cd073b !important;
  color: #fff !important
}

.cc_container a,
.cc_container a:active,
.cc_container a:hover,
.cc_container a:visited {
  color: #cd073b !important
}

.cc_container a:active,
.cc_container a:hover {
  text-decoration: underline
}



.cta  {
  height: 100dvh;
  position: sticky;
  top: 0;
  width: 100vw;
  overflow: visible;
  display: grid;
  place-items: center;
  z-index: 1;
  
}
  
.cta-content {
  --page-padding: clamp(1.125rem, -0.4602rem + 7.0455vw, 5rem);
  background-color: #fff;
  width: calc(100% - 2 * var(--page-padding));  
  max-width: 1200px;
  border: 4px solid #c41834;
  /* font-size: clamp(1.125rem, 1.0227rem + 0.4545vw, 1.375rem); */
  font-size: clamp(1rem, 0.8977rem + 0.4545vw, 1.25rem);;
  color: #c41834;
  padding-block: clamp(0.75rem, 0.1364rem + 2.7273vw, 2.25rem);
  padding-inline: clamp(1rem, 0.1818rem + 3.6364vw, 3rem);
  max-width: fit-content;

  max-height: calc(100% - 2rem);
  overflow: auto;
  box-sizing: border-box;
}

.cta + .teaser-container {
  margin-top: -100dvh;
}

.cta-content > * + * {
  margin-top: var(--flow-space, 1.5rem);
}

.cta h1 {
  font-size: clamp(2.625rem, 2.3693rem + 1.1364vw, 3.25rem);
  color: #c41834;
  line-height: 1.1;
  text-transform: uppercase;
  font-weight: 800;
}

.cta h1 + p {
  --flow-space: 1rem;
}

.cta p {
  --flow-space: 0.5em;
  max-width: 66ch;
  color: #595d60;
  line-height: 1.45;
  text-wrap: pretty;
  max-width: 44ch;
  font-weight: 400;
}

.cta .cta-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.cta a {
  display: inline-flex;
  align-items: center;
  gap: 0;
  text-decoration: none;
  font-weight: 800;
}

.cta a:hover {
  color: #cd073b;
}

.cta .tel-icon, .cta .email-icon {
  height: 1.5em;
  width: 1.5em;
  overflow: hidden;
}

.cta .tel-icon {
  rotate: 10deg;
}

.cta .email-link {
  gap: 0.25em;
}