@font-face {
  font-family: Blinker;
  src: url("../../../../../packages/rasch/themes/rasch/css/build/fonts/Blinker-Regular.ttf") format("truetype");
  font-weight: 400;
}
@font-face {
  font-family: Blinker;
  src: url("../../../../../packages/rasch/themes/rasch/css/build/fonts/Blinker-Bold.ttf") format("truetype");
  font-weight: 700;
}
/* Theme variables. */
:root {
  --white: #ffffff;
  --black-cow: #484848;
  --black-cow-transparent: rgba(72, 72, 72, 0.47);
  --bright-red: #F40707;
  --cerulean-blue: #3F51B5;
  --padding-narrow-container: 10%;
  --ft-size-base: 16px;
  --space: 1.875em;
  --padding-standard: clamp(10px, calc(( 100vw * 0.00326797 ) + 8.725490199999999px), 18.52941176px);
  --padding-block-top: calc(var(--padding-standard) * 2);
  --padding-block-bottom: calc(var(--padding-standard) * 2);
  --image-slider-overlay-opacity: 0.54;
  --margin-standard: clamp(10px, calc(( 100vw * 0.00326797 ) + 8.725490199999999px), 18.52941176px);
  --margin-small: clamp(5px, calc(( 100vw * 0.00196078 ) + 4.23529412px), 10.11764706px);
  --margin-block-top: calc(var(--margin-standard) * 5);
  --margin-block-bottom: calc(var(--margin-standard) * 5);
  --footer-image: calc(5.5 * var(--space));
  --seperator-width: 3px;
  --content-margin: calc(var(--space) * 2);
  --content-margin-mobile: var(--space);
  --concrete-edit-panel-height: 48px;
  --logo-width: clamp(150px, calc(( 100vw * 0.11111111 ) + 106.66666667px), 440px);
  --font-family-blinker: 'Blinker', sans-serif;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  --font-family: var(--font-family-blinker);
  --font-size-body: clamp(16px, calc(( 100vw * 0.00718954 ) + 13.19607843px), 34.76470588px);
  --line-heigt-body: clamp(20px, calc(( 100vw * 0.00784314 ) + 16.94117647px), 40.47058824px);
  --font-size-p: clamp(16px, calc(( 100vw * 0.00718954 ) + 13.19607843px), 34.76470588px);
  --line-height-p: clamp(20px, calc(( 100vw * 0.00784314 ) + 16.94117647px), 40.47058824px);
  --font-size-h1: clamp(40px, calc(( 100vw * 0.01960784 ) + 32.35294118px), 91.17647058999999px);
  --line-height-h1: clamp(60px, calc(( 100vw * 0 ) + 60px), 60px);
  --font-size-h2: clamp(20px, calc(( 100vw * 0.02614379 ) + 9.80392157px), 88.23529412000001px);
  --line-height-h2: clamp(20px, calc(( 100vw * 0.02614379 ) + 9.80392157px), 88.23529412000001px);
  --font-size-h2-alt: clamp(40px, calc(( 100vw * 0.0130719 ) + 34.90196078px), 74.11764706px);
  --line-height-h2-alt: clamp(40px, calc(( 100vw * 0.0130719 ) + 34.90196078px), 74.11764706px);
  --font-size-h3: clamp(20px, calc(( 100vw * 0.0130719 ) + 14.90196078px), 54.11764706px);
  --line-height-h3: clamp(20px, calc(( 100vw * 0.0130719 ) + 14.90196078px), 54.11764706px);
  --font-size-h4: clamp(18px, calc(( 100vw * 0.01176471 ) + 13.41176471px), 48.70588235px);
  --line-height-h4: clamp(19px, calc(( 100vw * 0.0124183 ) + 14.15686275px), 51.41176471px);
  --font-size-a: clamp(16px, calc(( 100vw * 0.00718954 ) + 13.19607843px), 34.76470588px);
  --line-height-a: clamp(19px, calc(( 100vw * 0.008496729999999999 ) + 15.68627451px), 41.17647059px);
  --image-slider-font-size-big: clamp(40px, calc(( 100vw * 0.03267974 ) + 27.25490196px), 125.29411765px);
  --image-slider-font-size-small: clamp(20px, calc(( 100vw * 0.02026144 ) + 12.09803922px), 72.88235294px);
  --image-slider-line-heigt-big: clamp(40px, calc(( 100vw * 0.03267974 ) + 27.25490196px), 125.29411765px);
  --image-slider-line-heigt-small: clamp(20px, calc(( 100vw * 0.02026144 ) + 12.09803922px), 72.88235294px);
  --font-size-footer-bottom: clamp(12px, calc(( 100vw * 0.00522876 ) + 9.960784309999999px), 25.64705882px);
  --line-height-footer-bottom: clamp(13px, calc(( 100vw * 0.00588235 ) + 10.70588235px), 28.35294118px);
  --font-size-footer-uppercase: clamp(20px, calc(( 100vw * 0.0130719 ) + 14.90196078px), 54.11764706px);
  --line-height-footer-uppercase: clamp(22px, calc(( 100vw * 0.01568627 ) + 15.88235294px), 62.94117647px);
  --back-arrow-padding: clamp(4px, calc(( 100vw * 0.00196078 ) + 3.23529412px), 9.117647059999999px);
  --back-arrow-border-width: clamp(1.5px, calc(( 100vw * 0.00098039 ) + 1.11764706px), 4.05882353px);
}
/* Our style rules - namespace so as not to collide with the core app styles */
html {
  background: white;
}
body {
  font-size: var(--ft-size-base);
  margin: 0;
  font-family: var(--font-family-blinker);
}
@media screen and (max-width: 768px) {
  .ccm-page {
    overflow-x: hidden;
  }
}
.ccm-page.is-logged .logged-info {
  display: block;
}
.ccm-page.is-logged .after-signup {
  display: block;
}
.lb-img-wrapper {
  position: relative;
  overflow: hidden;
}
.lb-img-wrapper img.lb-object-fit {
  width: 100%;
  height: 100%;
}
.lb-img-wrapper img.lb-object-absolute {
  position: absolute;
  top: 0;
}
.lb-object-fit-fill {
  object-fit: fill;
}
.lb-object-fit-cover {
  object-fit: cover;
}
.lb-object-fit-contain {
  object-fit: contain;
}
.lb-object-fit-none {
  object-fit: none;
}
.lb-object-fit-scale-down {
  object-fit: scale-down;
}
.ccm-page header h1,
.ccm-page main h1,
.ccm-page footer h1,
.ccm-page header .h1-style,
.ccm-page main .h1-style,
.ccm-page footer .h1-style {
  font-family: var(--font-family-blinker);
  color: var(--black-cow);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  display: block;
  word-wrap: break-word;
  hyphens: manual;
  text-align: center;
}
.ccm-page header h2,
.ccm-page main h2,
.ccm-page footer h2,
.ccm-page header .h2-style,
.ccm-page main .h2-style,
.ccm-page footer .h2-style {
  font-family: var(--font-family-blinker);
  color: var(--black-cow);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  display: block;
  word-wrap: break-word;
  hyphens: manual;
  text-align: center;
}
.ccm-page header h3,
.ccm-page main h3,
.ccm-page footer h3,
.ccm-page header .h3-style,
.ccm-page main .h3-style,
.ccm-page footer .h3-style {
  font-family: var(--font-family-blinker);
  color: var(--black-cow);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  display: block;
  word-wrap: break-word;
  hyphens: manual;
  text-transform: uppercase;
}
.ccm-page header h4,
.ccm-page main h4,
.ccm-page footer h4,
.ccm-page header .h4-style,
.ccm-page main .h4-style,
.ccm-page footer .h4-style {
  font-family: var(--font-family-blinker);
  color: var(--black-cow);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  display: block;
  word-wrap: break-word;
  hyphens: manual;
}
.ccm-page header h5,
.ccm-page main h5,
.ccm-page footer h5,
.ccm-page header .h5-style,
.ccm-page main .h5-style,
.ccm-page footer .h5-style {
  font-family: var(--font-family-blinker);
  color: var(--black-cow);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  hyphens: manual;
}
.ccm-page header h6,
.ccm-page main h6,
.ccm-page footer h6,
.ccm-page header .h6-style,
.ccm-page main .h6-style,
.ccm-page footer .h6-style {
  font-family: var(--font-family-blinker);
  color: var(--black-cow);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  hyphens: manual;
}
.ccm-page header p,
.ccm-page main p,
.ccm-page footer p,
.ccm-page header address,
.ccm-page main address,
.ccm-page footer address,
.ccm-page header label,
.ccm-page main label,
.ccm-page footer label,
.ccm-page header blockquote,
.ccm-page main blockquote,
.ccm-page footer blockquote {
  font-family: var(--font-family-blinker);
  color: var(--black-cow);
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-p);
  line-height: var(--line-height-p);
}
.ccm-page header a,
.ccm-page main a,
.ccm-page footer a,
.ccm-page header a:focus,
.ccm-page main a:focus,
.ccm-page footer a:focus,
.ccm-page header a:active,
.ccm-page main a:active,
.ccm-page footer a:active,
.ccm-page header a:visited,
.ccm-page main a:visited,
.ccm-page footer a:visited,
.ccm-page header a:hover,
.ccm-page main a:hover,
.ccm-page footer a:hover {
  font-family: var(--font-family-blinker);
  color: var(--black-cow);
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-a);
  line-height: var(--line-height-a);
}
.ccm-page header hr,
.ccm-page main hr,
.ccm-page footer hr {
  color: var(--cerulean-blue);
  margin-top: calc(var(--margin-small) * 5);
  margin-bottom: calc(var(--margin-small) * 2);
}
.ccm-page header ul,
.ccm-page main ul,
.ccm-page footer ul,
.ccm-page header li,
.ccm-page main li,
.ccm-page footer li {
  font-family: var(--font-family-blinker);
  color: var(--black-cow);
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-p);
}
.ccm-page header strong,
.ccm-page main strong,
.ccm-page footer strong {
  font-size: var(--font-size-p);
  font-weight: 700;
}
.ccm-page .button a,
.ccm-page .button a:visited {
  display: inline-block;
  padding: 0.6rem 0.9rem;
  color: var(--white);
  background-color: var(--cerulean-blue);
  text-decoration: none;
  font-weight: 700;
  text-align: center;
}
.ccm-page .button a:active,
.ccm-page .button a:visited:active,
.ccm-page .button a:hover,
.ccm-page .button a:visited:hover,
.ccm-page .button a:focus,
.ccm-page .button a:visited:focus {
  display: inline-block;
  padding: 0.6rem 0.9rem;
  color: var(--white);
  background-color: var(--bright-red);
  text-decoration: none;
  font-weight: 700;
  text-align: center;
}
.ccm-page .button.button-second a {
  color: var(--cerulean-blue);
  background-color: var(--white);
}
.ccm-page .button.button-second a:active,
.ccm-page .button.button-second a:hover,
.ccm-page .button.button-second a:focus {
  color: var(--white);
  background-color: var(--bright-red);
}
.ccm-page .back {
  margin-left: 5%;
}
.ccm-page .back a,
.ccm-page .back a:active,
.ccm-page .back a:hover,
.ccm-page .back a:focus,
.ccm-page .back a:visited {
  color: var(--cerulean-blue);
  text-decoration: none;
}
.ccm-page .back::before {
  content: " ";
  border: solid var(--cerulean-blue);
  border-width: 0 var(--back-arrow-border-width) var(--back-arrow-border-width) 0;
  display: inline-block;
  padding: var(--back-arrow-padding);
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  margin-left: 3px;
  margin-bottom: 1px;
  margin-right: 15px;
}
.ccm-page header {
  text-align: center;
}
.ccm-page header .main-logo {
  width: var(--logo-width);
  margin-top: calc(var(--margin-standard) * 3);
  margin-bottom: calc(var(--margin-standard) * 3);
}
.ccm-page header .header-image .lb-img-wrapper {
  padding-top: 65%;
}
.ccm-page header .header-image .lb-img-wrapper img {
  position: absolute;
  top: 0;
  object-fit: cover;
  left: 0;
}
@media (min-width: 576px) {
  .ccm-page header .header-image .lb-img-wrapper {
    padding-top: 40%;
  }
}
@media (min-width: 768px) {
  .ccm-page header .header-image .lb-img-wrapper {
    padding-top: 30%;
  }
}
@media (min-width: 992px) {
  .ccm-page header .header-image .lb-img-wrapper {
    padding-top: 25%;
  }
}
@media (min-width: 1200px) {
  .ccm-page header .header-image .lb-img-wrapper {
    padding-top: 20%;
  }
}
.ccm-page footer {
  margin-top: var(--space);
}
.ccm-page footer .footer-uppercase {
  font-size: var(--font-size-footer-uppercase);
  line-height: var(--line-height-footer-uppercase);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}
.ccm-page footer .footer-uppercase a,
.ccm-page footer .footer-uppercase a:active,
.ccm-page footer .footer-uppercase a:focus,
.ccm-page footer .footer-uppercase a:visited {
  font-size: var(--font-size-footer-uppercase);
  line-height: var(--line-height-footer-uppercase);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}
.ccm-page footer .footer-top,
.ccm-page footer .footer-bottom {
  padding: var(--padding-block-top) 0 var(--padding-block-bottom);
}
.ccm-page footer .footer-top .lb-container,
.ccm-page footer .footer-bottom .lb-container {
  margin-top: 0;
  margin-bottom: 0;
}
.ccm-page footer .footer-top {
  background: var(--cerulean-blue);
}
.ccm-page footer .footer-bottom {
  background: var(--black-cow);
  padding: var(--padding-standard) 0 var(--padding-standard);
}
.ccm-page footer .footer-bottom p {
  font-size: var(--font-size-footer-bottom);
  line-height: var(--line-height-footer-bottom);
}
.ccm-page footer .footer-bottom a,
.ccm-page footer .footer-bottom a:active,
.ccm-page footer .footer-bottom a:focus,
.ccm-page footer .footer-bottom a:visited {
  font-size: var(--font-size-footer-bottom);
  line-height: var(--line-height-footer-bottom);
}
.ccm-page footer p,
.ccm-page footer a,
.ccm-page footer a:active,
.ccm-page footer a:focus,
.ccm-page footer a:visited {
  font-weight: var(--font-weight-normal);
  color: var(--white);
}
.ccm-page footer a:hover {
  color: var(--white);
}
@media screen and (max-width: 768px) {
  .ccm-page footer .footer-top,
  .ccm-page footer .footer-bottom {
    padding: 0.5rem 0 0.5rem;
  }
  .ccm-page footer p,
  .ccm-page footer a,
  .ccm-page footer a:active,
  .ccm-page footer a:focus {
    padding-bottom: 0.5rem;
  }
}
.ccm-page .lb-container {
  position: relative;
  max-width: 90%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: var(--margin-block-top);
  margin-bottom: var(--margin-block-bottom);
}
.ccm-page .two-col {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space);
}
.ccm-page .margin-bottom-0 {
  margin-bottom: 0;
}
.ccm-page .margin-top-0 {
  margin-top: 0;
}
@media (min-width: 576px) {
  .ccm-page .lb-container {
    max-width: 60%;
  }
}
@media (min-width: 992px) {
  .ccm-page .two-col {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .ccm-page .lb-container {
    max-width: 42%;
  }
}
.ccm-page .header-image .ccm-image-slider-container h1 {
  font-size: var(--image-slider-font-size-big);
  line-height: var(--image-slider-line-heigt-big);
  color: var(--white);
  margin-bottom: 0;
}
.ccm-page .header-image .ccm-image-slider-container h2 {
  font-size: var(--image-slider-font-size-small);
  line-height: var(--image-slider-line-heigt-small);
  color: var(--white);
  font-weight: var(--font-weight-normal);
  margin-bottom: 5rem;
  margin-top: 0;
}
.ccm-page .header-image .ccm-image-slider-container .overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: var(--black-cow-transparent);
}
.ccm-page .header-image .ccm-image-slider-container .ccm-image-slider-text {
  top: 50%;
  transform: translateY(-50%);
}
.ccm-page .header-image .ccm-image-slider-container .ccm-image-slider-text-inner {
  width: 80%;
}
.ccm-page .header-image .ccm-image-slider-container .lb-img-wrapper {
  padding-top: 80%;
}
@media screen and (min-width: 768px) {
  .ccm-page .header-image .ccm-image-slider-container .lb-img-wrapper {
    padding-top: 50%;
  }
}
@media screen and (min-width: 992px) {
  .ccm-page .header-image .ccm-image-slider-container h2 {
    font-weight: var(--font-weight-bold);
  }
  .ccm-page .header-image .ccm-image-slider-container .lb-img-wrapper {
    padding-top: 40%;
  }
}
.ccm-page .lb-page-list {
  margin-top: var(--space);
}
.ccm-page .lb-page-list .ccm-block-page-list-pages {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space);
}
.ccm-page .lb-page-list .lb-img-wrapper {
  padding-top: 45%;
}
.ccm-page .lb-page-list .lb-img-wrapper img {
  position: absolute;
  top: 0;
}
.ccm-page .lb-page-list .ccm-block-page-list-page-entry-horizontal {
  position: relative;
}
.ccm-page .lb-page-list .ccm-block-page-list-page-entry-horizontal .ccm-block-page-list-page-entry-text {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.ccm-page .lb-page-list .ccm-block-page-list-page-entry-horizontal .ccm-block-page-list-page-entry-text .ccm-block-page-list-title {
  height: 100%;
}
.ccm-page .lb-page-list .ccm-block-page-list-page-entry-horizontal .ccm-block-page-list-page-entry-text a {
  display: block;
  width: 100%;
  height: 100%;
}
.ccm-page .lb-page-list .ccm-block-page-list-page-entry-horizontal .ccm-block-page-list-page-entry-text a h2 {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  color: var(--white);
  font-size: var(--font-size-h2-alt);
  line-height: var(--line-height-h2-alt);
}
@media screen and (min-width: 768px) {
  .ccm-page .lb-page-list .lb-img-wrapper {
    padding-top: 50%;
  }
}
@media screen and (min-width: 992px) {
  .ccm-page .lb-page-list .ccm-block-page-list-pages {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.ccm-page .products {
  position: relative;
  padding-bottom: calc(2 * var(--space));
  padding-top: calc(2 * var(--space));
}
.ccm-page .products h1 {
  color: var(--cerulean-blue);
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  text-align: left;
  text-transform: uppercase;
  margin-top: 0;
}
.ccm-page .products h3 {
  margin-top: 0;
  margin-bottom: calc(var(--margin-small) * 1);
}
.ccm-page .products p {
  margin-top: calc(var(--margin-small) * 2);
  margin-bottom: calc(var(--margin-small) * 2);
}
.ccm-page .products .product-item {
  position: relative;
}
.ccm-page .products .product-item:not(:last-child) {
  padding-bottom: calc(4 * var(--space));
}
.ccm-page .products .product-item:not(:last-child):after {
  content: "";
  width: 100%;
  height: 2px;
  left: 0;
  display: block;
  clear: both;
  background-color: var(--cerulean-blue);
  position: absolute;
  bottom: calc(2 * var(--space));
}
.ccm-page .products .product-item .image {
  margin-bottom: calc(3 * var(--margin-standard));
}
.ccm-page .products .product-item .lb-img-wrapper img {
  max-height: 450px;
  max-width: 100%;
  width: auto;
}
@media (min-width: 576px) {
  .ccm-page .products .product-item:not(:last-child) {
    padding-bottom: calc(6 * var(--space));
  }
  .ccm-page .products .product-item:not(:last-child):after {
    bottom: calc(3 * var(--space));
  }
}
