body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}.aspect--9\:16,.responsive.ratio-916{padding-bottom:177.7777%}.aspect--1\:1,.responsive.ratio-11{padding-bottom:100%}
/*!************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs/index.js!./node_modules/flexboxgrid/dist/flexboxgrid.min.css ***!
  \************************************************************************************************************************************************************************************************************************/
.container, .container-fluid {
  margin-right: auto;
  margin-left: auto;
}

.container-fluid {
  padding-right: 2rem;
  padding-left: 2rem;
}

.row {
  box-sizing: border-box;
  display: flex;
  flex: 0 1 auto;
  flex-direction: row;
  flex-wrap: wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

.row.reverse {
  flex-direction: row-reverse;
}

.col.reverse {
  flex-direction: column-reverse;
}

.col-xs, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-offset-0, .col-xs-offset-1, .col-xs-offset-10, .col-xs-offset-11, .col-xs-offset-12, .col-xs-offset-2, .col-xs-offset-3, .col-xs-offset-4, .col-xs-offset-5, .col-xs-offset-6, .col-xs-offset-7, .col-xs-offset-8, .col-xs-offset-9 {
  box-sizing: border-box;
  flex: 0 0 auto;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

.col-xs {
  flex-grow: 1;
  flex-basis: 0;
  max-width: 100%;
}

.col-xs-1 {
  flex-basis: 8.33333333%;
  max-width: 8.33333333%;
}

.col-xs-2 {
  flex-basis: 16.66666667%;
  max-width: 16.66666667%;
}

.col-xs-3 {
  flex-basis: 25%;
  max-width: 25%;
}

.col-xs-4 {
  flex-basis: 33.33333333%;
  max-width: 33.33333333%;
}

.col-xs-5 {
  flex-basis: 41.66666667%;
  max-width: 41.66666667%;
}

.col-xs-6 {
  flex-basis: 50%;
  max-width: 50%;
}

.col-xs-7 {
  flex-basis: 58.33333333%;
  max-width: 58.33333333%;
}

.col-xs-8 {
  flex-basis: 66.66666667%;
  max-width: 66.66666667%;
}

.col-xs-9 {
  flex-basis: 75%;
  max-width: 75%;
}

.col-xs-10 {
  flex-basis: 83.33333333%;
  max-width: 83.33333333%;
}

.col-xs-11 {
  flex-basis: 91.66666667%;
  max-width: 91.66666667%;
}

.col-xs-12 {
  flex-basis: 100%;
  max-width: 100%;
}

.col-xs-offset-0 {
  margin-left: 0;
}

.col-xs-offset-1 {
  margin-left: 8.33333333%;
}

.col-xs-offset-2 {
  margin-left: 16.66666667%;
}

.col-xs-offset-3 {
  margin-left: 25%;
}

.col-xs-offset-4 {
  margin-left: 33.33333333%;
}

.col-xs-offset-5 {
  margin-left: 41.66666667%;
}

.col-xs-offset-6 {
  margin-left: 50%;
}

.col-xs-offset-7 {
  margin-left: 58.33333333%;
}

.col-xs-offset-8 {
  margin-left: 66.66666667%;
}

.col-xs-offset-9 {
  margin-left: 75%;
}

.col-xs-offset-10 {
  margin-left: 83.33333333%;
}

.col-xs-offset-11 {
  margin-left: 91.66666667%;
}

.start-xs {
  justify-content: flex-start;
  text-align: start;
}

.center-xs {
  justify-content: center;
  text-align: center;
}

.end-xs {
  justify-content: flex-end;
  text-align: end;
}

.top-xs {
  align-items: flex-start;
}

.middle-xs {
  align-items: center;
}

.bottom-xs {
  align-items: flex-end;
}

.around-xs {
  justify-content: space-around;
}

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

.first-xs {
  order: -1;
}

.last-xs {
  order: 1;
}

@media only screen and (min-width: 48em) {
  .container {
    width: 49rem;
  }
  .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-offset-0, .col-sm-offset-1, .col-sm-offset-10, .col-sm-offset-11, .col-sm-offset-12, .col-sm-offset-2, .col-sm-offset-3, .col-sm-offset-4, .col-sm-offset-5, .col-sm-offset-6, .col-sm-offset-7, .col-sm-offset-8, .col-sm-offset-9 {
    box-sizing: border-box;
    flex: 0 0 auto;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .col-sm {
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%;
  }
  .col-sm-1 {
    flex-basis: 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-sm-2 {
    flex-basis: 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-sm-3 {
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-sm-5 {
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-sm-6 {
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-sm-8 {
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-sm-9 {
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex-basis: 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-sm-11 {
    flex-basis: 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-sm-12 {
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-sm-offset-0 {
    margin-left: 0;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .start-sm {
    justify-content: flex-start;
    text-align: start;
  }
  .center-sm {
    justify-content: center;
    text-align: center;
  }
  .end-sm {
    justify-content: flex-end;
    text-align: end;
  }
  .top-sm {
    align-items: flex-start;
  }
  .middle-sm {
    align-items: center;
  }
  .bottom-sm {
    align-items: flex-end;
  }
  .around-sm {
    justify-content: space-around;
  }
  .between-sm {
    justify-content: space-between;
  }
  .first-sm {
    order: -1;
  }
  .last-sm {
    order: 1;
  }
}
@media only screen and (min-width: 64em) {
  .container {
    width: 65rem;
  }
  .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-offset-0, .col-md-offset-1, .col-md-offset-10, .col-md-offset-11, .col-md-offset-12, .col-md-offset-2, .col-md-offset-3, .col-md-offset-4, .col-md-offset-5, .col-md-offset-6, .col-md-offset-7, .col-md-offset-8, .col-md-offset-9 {
    box-sizing: border-box;
    flex: 0 0 auto;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .col-md {
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%;
  }
  .col-md-1 {
    flex-basis: 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-md-2 {
    flex-basis: 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-md-3 {
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-md-5 {
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-md-6 {
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-md-8 {
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-md-9 {
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex-basis: 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-md-11 {
    flex-basis: 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-md-12 {
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-md-offset-0 {
    margin-left: 0;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .start-md {
    justify-content: flex-start;
    text-align: start;
  }
  .center-md {
    justify-content: center;
    text-align: center;
  }
  .end-md {
    justify-content: flex-end;
    text-align: end;
  }
  .top-md {
    align-items: flex-start;
  }
  .middle-md {
    align-items: center;
  }
  .bottom-md {
    align-items: flex-end;
  }
  .around-md {
    justify-content: space-around;
  }
  .between-md {
    justify-content: space-between;
  }
  .first-md {
    order: -1;
  }
  .last-md {
    order: 1;
  }
}
@media only screen and (min-width: 75em) {
  .container {
    width: 76rem;
  }
  .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-offset-0, .col-lg-offset-1, .col-lg-offset-10, .col-lg-offset-11, .col-lg-offset-12, .col-lg-offset-2, .col-lg-offset-3, .col-lg-offset-4, .col-lg-offset-5, .col-lg-offset-6, .col-lg-offset-7, .col-lg-offset-8, .col-lg-offset-9 {
    box-sizing: border-box;
    flex: 0 0 auto;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .col-lg {
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%;
  }
  .col-lg-1 {
    flex-basis: 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-lg-2 {
    flex-basis: 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-lg-3 {
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-lg-5 {
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-lg-6 {
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-lg-8 {
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-lg-9 {
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex-basis: 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-lg-11 {
    flex-basis: 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-lg-12 {
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-lg-offset-0 {
    margin-left: 0;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .start-lg {
    justify-content: flex-start;
    text-align: start;
  }
  .center-lg {
    justify-content: center;
    text-align: center;
  }
  .end-lg {
    justify-content: flex-end;
    text-align: end;
  }
  .top-lg {
    align-items: flex-start;
  }
  .middle-lg {
    align-items: center;
  }
  .bottom-lg {
    align-items: flex-end;
  }
  .around-lg {
    justify-content: space-around;
  }
  .between-lg {
    justify-content: space-between;
  }
  .first-lg {
    order: -1;
  }
  .last-lg {
    order: 1;
  }
}
/*!******************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sanitize.css/sanitize.css ***!
  \******************************************************************************************/
/* Document
 * ========================================================================== */

/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Backgrounds do not repeat by default (opinionated).
 */

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  background-repeat: no-repeat; /* 2 */
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */

::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Breaks words to prevent overflow in all browsers (opinionated).
 * 4. Use a 4-space tab width in all browsers (opinionated).
 * 5. Remove the grey highlight on links in iOS (opinionated).
 * 6. Prevent adjustments of font size after orientation changes in iOS.
 */

:where(:root) {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  overflow-wrap: break-word; /* 3 */
  -moz-tab-size: 4; /* 4 */
  tab-size: 4; /* 4 */
  -webkit-tap-highlight-color: transparent; /* 5 */
  -webkit-text-size-adjust: 100%; /* 6 */
}

/* Sections
 * ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

:where(body) {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */

:where(h1) {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */

/**
 * Remove the margin on nested lists in Chrome, Edge, and Safari.
 */

:where(dl, ol, ul) :where(dl, ol, ul) {
  margin: 0;
}

/**
 * 1. Correct the inheritance of border color in Firefox.
 * 2. Add the correct box sizing in Firefox.
 */

:where(hr) {
  color: inherit; /* 1 */
  height: 0; /* 2 */
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */

:where(nav) :where(ol, ul) {
  list-style-type: none;
  padding: 0;
}

/**
 * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
 */

:where(nav li)::before {
  content: "\200B";
  float: left;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Prevent overflow of the container in all browsers (opinionated).
 */

:where(pre) {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
  overflow: auto; /* 3 */
}

/* Text-level semantics
 * ========================================================================== */

/**
 * Add the correct text decoration in Safari.
 */

:where(abbr[title]) {
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

:where(b, strong) {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

:where(code, kbd, samp) {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

:where(small) {
  font-size: 80%;
}

/* Embedded content
 * ========================================================================== */

/*
 * Change the alignment on media elements in all browsers (opinionated).
 */

:where(audio, canvas, iframe, img, svg, video) {
  vertical-align: middle;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */

:where(iframe) {
  border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */

:where(svg:not([fill])) {
  fill: currentColor;
}

/* Tabular data
 * ========================================================================== */

/**
 * 1. Collapse border spacing in all browsers (opinionated).
 * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
 * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */

:where(table) {
  border-collapse: collapse; /* 1 */
  border-color: inherit; /* 2 */
  text-indent: 0; /* 3 */
}

/* Forms
 * ========================================================================== */

/**
 * Remove the margin on controls in Safari.
 */

:where(button, input, select) {
  margin: 0;
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */

:where(button, [type="button" i], [type="reset" i], [type="submit" i]) {
  -webkit-appearance: button;
}

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */

:where(fieldset) {
  border: 1px solid #a0a0a0;
}

/**
 * Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */

:where(progress) {
  vertical-align: baseline;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 3. Change the resize direction in all browsers (opinionated).
 */

:where(textarea) {
  margin: 0; /* 1 */
  resize: vertical; /* 3 */
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */

:where([type="search" i]) {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
 * ========================================================================== */

/*
 * Add the correct styles in Safari.
 */

:where(dialog) {
  background-color: white;
  border: solid;
  color: black;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

:where(dialog:not([open])) {
  display: none;
}

/*
 * Add the correct display in Safari.
 */

:where(details > summary:first-of-type) {
  display: list-item;
}

/* Accessibility
 * ========================================================================== */

/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */

:where([aria-busy="true" i]) {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */

:where([aria-controls]) {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */

:where([aria-disabled="true" i], [disabled]) {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */

:where([aria-hidden="false" i][hidden]) {
  display: initial;
}

:where([aria-hidden="false" i][hidden]:not(:focus)) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/*!****************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs/index.js!./src/scss/app.scss ***!
  \****************************************************************************************************************************************************************************************/
:root {
  --color-white: #FFFFFF;
  --color-gray-20: #FAFAFA;
  --color-gray-50: #A4A7AE;
  --color-gray-60: #E9EAEB;
  --color-gray-65: #D5D7DA;
  --color-gray-70: #717680;
  --color-gray-80: #535862;
  --color-gray-90: #414651;
  --color-gray-100: #181D27;
  --color-black: #000000;
  --color-green-20: #B6EDED;
  --color-green-25: #F3FCFC;
  --color-green-50: #DAF6F6;
  --color-green-60: #52C7C7;
  --color-green-70: #3CDDDD;
  --color-green-80: #36A1A1;
  --color-green-90: #318C8C;
  --color-blue-50: #0BA5EC;
  --color-blue-60: #0086C9;
  --color-blue-70: #026AA2;
  --kalms-gradient: linear-gradient(to right,
          var(--color-green-60),
          var(--color-green-70));
}

:root {
  --corner-m: 64px;
  --corner-ms: 12px;
  --corner-s: 10px;
  --corner-xx: 8px;
  --corner-x: 6px;
  --corner-xs: 4px;
}

:root {
  --ff-default: "Jakarta", serif;
  --ff-headline: "Robotoserif", sans-serif;
  --ff-kalms-icons: "Kalms-icons";
}

@font-face {
  font-display: swap;
  font-family: "Jakarta";
  font-style: normal;
  font-weight: 300;
  src: url(../../files/theme/frontend/dist/fonts/plus-jakarta-sans-v12-latin-300-1e4fa5375345746f70e9.woff2) format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Jakarta";
  font-style: normal;
  font-weight: 400;
  src: url(../../files/theme/frontend/dist/fonts/plus-jakarta-sans-v12-latin-regular-9eb2a7e5bc8f2a766ae0.woff2) format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Jakarta";
  font-style: normal;
  font-weight: 500;
  src: url(../../files/theme/frontend/dist/fonts/plus-jakarta-sans-v12-latin-500-c3130315dfec99bb0ed9.woff2) format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Jakarta";
  font-style: normal;
  font-weight: 600;
  src: url(../../files/theme/frontend/dist/fonts/plus-jakarta-sans-v12-latin-600-7720d76571fb9da9b24d.woff2) format("woff2");
}
@font-face {
  font-family: "kalms-icons";
  src: url(../../files/theme/frontend/dist/fonts/kalms-icons-3188fb8727aedf059b10.woff2) format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.icon,
[class^=icon-],
[class*=" icon-"] {
  font-family: "kalms-icons" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-x::before {
  content: "\f000";
}

.icon-safety::before {
  content: "\f001";
}

.icon-regulatory::before {
  content: "\f002";
}

.icon-mdr::before {
  content: "\f003";
}

.icon-logistic::before {
  content: "\f004";
}

.icon-linkedin::before {
  content: "\f005";
}

.icon-import::before {
  content: "\f006";
}

.icon-facebook::before {
  content: "\f007";
}

.icon-external::before {
  content: "\f008";
}

.icon-euro::before {
  content: "\f009";
}

.icon-dot::before {
  content: "\f00a";
}

.icon-customer::before {
  content: "\f00b";
}

.icon-coldchain::before {
  content: "\f00c";
}

.icon-clinical::before {
  content: "\f00d";
}

.icon-chevron-down::before {
  content: "\f00e";
}

.icon-ch-scale::before {
  content: "\f00f";
}

.icon-ch-regulatory::before {
  content: "\f010";
}

.icon-ch-market::before {
  content: "\f011";
}

.icon-ch-local::before {
  content: "\f012";
}

.icon-calendar::before {
  content: "\f013";
}

.icon-arrow-right::before {
  content: "\f014";
}

.icon-arrow-more::before {
  content: "\f015";
}

.icon-arrow-left::before {
  content: "\f016";
}

.icon-download::before {
  content: "\f017";
}

.icon-menu::before, .mod_header-mobile-nav-toggle::before {
  content: "\f018";
}

.icon-close::before {
  content: "\f019";
}

.icon-kalms {
  background: url(../../files/theme/frontend/dist/img/ic_logoold-6df4524103cce190b233.svg) no-repeat center/55% !important;
}

@font-face {
  font-display: swap;
  font-family: "Robotoserif";
  font-style: normal;
  font-weight: 200;
  src: url(../../files/theme/frontend/dist/fonts/roboto-serif-v17-latin-200-17378811fb9608f71583.woff2) format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Robotoserif";
  font-style: normal;
  font-weight: 300;
  src: url(../../files/theme/frontend/dist/fonts/roboto-serif-v17-latin-300-a18df926dc6694e886af.woff2) format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Robotoserif";
  font-style: normal;
  font-weight: 400;
  src: url(../../files/theme/frontend/dist/fonts/roboto-serif-v17-latin-regular-6e77a537dad0dfaae962.woff2) format("woff2");
}
h2, h1 {
  font-family: var(--ff-headline);
}

h1 {
  font-size: 2.25rem;
  line-height: 3.75rem;
  letter-spacing: -2%;
}

h1 {
  font-weight: 300;
}

h2 {
  font-size: 1.875rem;
  line-height: 2.375rem;
  letter-spacing: 0;
}

h2 {
  font-weight: 300;
}

body {
  font-family: var(--ff-default);
  color: var(--color-gray-80);
  hyphens: none;
  hyphenate-limit-chars: 6 3 3;
}

.center {
  text-align: center;
}

h1 {
  color: var(--color-gray-100);
}

h2 {
  color: var(--color-gray-100);
}

img,
video {
  max-width: 100%;
}

p {
  margin-top: 0;
}

figure {
  position: relative;
}

figure picture {
  position: relative;
  display: block;
}

.image-wrapper {
  position: relative;
  display: block;
}

.image-wrapper picture {
  display: block;
}

.image_container_media {
  position: relative;
  display: block;
  line-height: 0;
}

.ce_image__license {
  position: absolute;
  transform: rotate(90deg);
  font-size: 0.5rem;
  letter-spacing: 2%;
  font-weight: 700;
  margin: 0;
  right: 10px;
  bottom: 4px;
  transform-origin: right center;
  transform: rotateZ(90deg) rotateY(180deg) translateX(100%) rotateX(180deg);
}

.teaser-bg .ce_image__license {
  display: none;
}

.ce_image__license.black {
  color: var(--color-black);
}

.ce_image__license.white {
  color: var(--color-white);
}

.ce_image__license.green {
  color: var(--color-green-60);
}

.cc-inner {
  background: var(--color-gray-20);
  border-radius: 8px;
  border: 1px solid var(--color-gray-60);
}
.cc-inner h4 {
  font-family: var(--ff-headline);
}
.cc-inner p,
.cc-inner .cc-cookie-info {
  font-family: var(--ff-default);
}
.cc-inner a {
  text-decoration: none;
  color: var(--color-green-60);
  transition: all 0.1s ease-in-out;
}
.cc-inner a:hover {
  color: var(--color-green-100);
}

.contao-cookiebar .highlight .cc-btn.success,
.contao-cookiebar .highlight .cc-btn.save,
.contao-cookiebar .highlight .cc-btn.deny {
  transition: all 0.1s ease-in-out;
  border-radius: 8px;
  margin-right: 6px;
}

.contao-cookiebar .cc-group label {
  font-family: var(--ff-headline);
}

.contao-cookiebar .highlight .cc-btn.success {
  background: var(--color-green-60);
  border-color: var(--color-green-60);
  color: var(--color-white);
}

.contao-cookiebar {
  --ccb-checked-clr: var(--color-green-60);
}

.contao-cookiebar input:checked {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 16px;
  height: 16px;
  border: 1px solid var(--color-gray-60);
  border-radius: 5px;
  background-color: var(--color-white);
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.contao-cookiebar .highlight .cc-btn.success:hover {
  background: var(--color-white);
  color: var(--color-green-80);
}

.ce_cookiebarOpener a {
  padding: 10px 20px;
  color: var(--color-white);
  background: var(--color-green-60);
}

.cc-focus:focus-visible {
  outline: 3px dashed var(--color-gray-60);
}

.home #main .inside,
.blog #main .inside, .mod_newsreader .insideblog, .tg_inner, .sc__inner, #main > .inside, #header > .inside, #footer > .inside, .insidefull {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  /* Desktop spacing */
  padding-left: 3rem;
  padding-right: 3rem;
  /* Override with pixel values */
  padding-left: 32px;
  padding-right: 32px;
  padding-bottom: 2px;
}
@media screen and (max-width: 768px) {
  .home #main .inside,
  .blog #main .inside, .mod_newsreader .insideblog, .tg_inner, .sc__inner, #main > .inside, #header > .inside, #footer > .inside, .insidefull {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media screen and (max-width: 540px) {
  .home #main .inside,
  .blog #main .inside, .mod_newsreader .insideblog, .tg_inner, .sc__inner, #main > .inside, #header > .inside, #footer > .inside, .insidefull {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.tg_inner, .sc__inner, #main > .inside, #header > .inside, #footer > .inside, .insidefull {
  max-width: 1280px;
}

.mod_newsreader .insideblog {
  max-width: 720px;
}

.home #main .inside,
.blog #main .inside {
  padding: 0;
  margin: 0;
  max-width: 100%;
}

.insidefull {
  position: relative;
}

#footer {
  color: var(--color-gray-80);
  border-top: 1px solid #D5D7DA;
}
#footer > .inside {
  padding-top: 64px;
  padding-bottom: 48px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
#footer > .inside .mod_footer-logo {
  width: 110px;
  height: 32px;
}
#footer > .inside .mod_customnav ul {
  display: flex;
  gap: 5%;
}
#footer > .inside .mod_customnav ul a {
  color: var(--color-gray-80);
  font-weight: 600;
  transition: all 0.3s ease;
}
#footer > .inside .mod_customnav ul a:hover {
  color: var(--color-green-80);
}
@media screen and (max-width: 720px) {
  #footer > .inside .mod_customnav ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
    gap: 0.5rem 2rem;
  }
}
#footer > .inside .mod_footer-copy {
  color: var(--color-gray-70);
  padding: 2rem 0;
  border-top: 1px solid #D5D7DA;
  display: flex;
  gap: 30px;
}
#footer > .inside .mod_footer-copy a span::before {
  font-size: 1.5rem;
  color: var(--color-gray-50);
  transition: all 0.3s ease;
}
#footer > .inside .mod_footer-copy a:hover span::before {
  font-size: 1.5rem;
  color: var(--color-gray-90);
}
@media screen and (max-width: 480px) {
  #footer > .inside .mod_footer-copy {
    flex-direction: column;
    gap: 2px;
  }
}

.service-flyout__more, .header-extrabutton a, .service-flyout__label, .service-flyout__link-label, .services__tab-title, .tg__subhead, .ch__subhead, .answer__subhead, .sc__subhead, .ce_rsce_intro-left .rsce-intro-subheadline,
.ce_rsce_intro-middle .rsce-intro-subheadline, .mod_newsreader .bloghead .info, .ce_rsce_intro-left p,
.ce_rsce_intro-middle p, .mod_newsreader .bloghead p {
  font-family: var(--ff-default);
}

.ce_rsce_intro-left p,
.ce_rsce_intro-middle p, .mod_newsreader .bloghead p {
  font-size: 1.25rem;
}

.ce_rsce_intro-left p,
.ce_rsce_intro-middle p, .mod_newsreader .bloghead p {
  font-weight: 400;
}

.tg__subhead, .ch__subhead, .answer__subhead, .sc__subhead, .ce_rsce_intro-left .rsce-intro-subheadline,
.ce_rsce_intro-middle .rsce-intro-subheadline, .mod_newsreader .bloghead .info {
  font-size: 1rem;
}

.tg__subhead, .ch__subhead, .answer__subhead, .sc__subhead, .ce_rsce_intro-left .rsce-intro-subheadline,
.ce_rsce_intro-middle .rsce-intro-subheadline, .mod_newsreader .bloghead .info {
  font-weight: 600;
}

.service-flyout__more, .header-extrabutton a, .service-flyout__label, .service-flyout__link-label, .services__tab-title {
  font-size: 0.875rem;
}

.services__tab-title {
  font-weight: 400;
}

.service-flyout__label, .service-flyout__link-label {
  font-weight: 500;
}

.service-flyout__more, .header-extrabutton a {
  font-weight: 600;
}

.content-text {
  color: var(--color-gray-90);
}
.content-text p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
}

.content-text a,
a {
  font-weight: 400;
  color: var(--color-green-60);
  text-decoration: none;
  transition: all 0.3s ease;
}
.content-text a:hover, .content-text a:focus, .content-text a:active,
a:hover,
a:focus,
a:active {
  color: var(--color-green-80);
}

.content-text h5 {
  color: var(--color-green-80);
  text-transform: uppercase;
}

#header {
  background-color: transparent;
  transition: all 0.4s ease;
}
#header.is-scrolled {
  background-color: var(--color-white);
  box-shadow: 0 0.125rem 0.75rem rgba(0, 0, 0, 0.06);
}
#header.is-scrolled > .inside {
  height: 70px;
}
#header.is-white {
  background-color: var(--color-white);
}

#header {
  position: fixed;
  width: 100%;
  z-index: 10;
}
#header > .inside {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100px;
  transition: all 0.4s ease;
}
@media screen and (max-width: 1024px) {
  #header > .inside {
    height: 70px;
  }
}

.hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(to bottom, rgb(0, 0, 0), rgba(0, 0, 0, 0)), linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(0, 0, 0));
  background-repeat: no-repeat;
  background-position: top center, bottom center;
  background-size: 100% clamp(150px, 25%, 250px), 100% clamp(180px, 30%, 296px);
}

html {
  scroll-behavior: smooth;
  scroll-padding-block-start: 70px;
}
@media screen and (max-width: 1024px) {
  html {
    scroll-padding-block-start: 70px;
  }
}

#wrapper {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

#container,
.home #container {
  flex-grow: 1;
}
#container {
  margin-top: 6.25rem;
}

.home #container {
  margin-top: 0;
}

#main {
  margin-top: 60px;
  margin-bottom: 64px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #main {
    margin-top: 32px;
    margin-bottom: 32px;
  }
}
#main > .inside {
  background-color: var(--color-white);
}

.home #main .inside,
.blog #main .inside {
  background-color: var(--color-white);
}

.full {
  width: 100%;
}

hr {
  border: none;
  height: 1px;
  background-color: var(--color-gray-60);
}

@media screen and (max-width: 880px) {
  h1 br,
  h2 br,
  h3 br,
  h4 br,
  h5 br,
  h6 br {
    content: " ";
    display: none;
    white-space: pre;
  }
}
.mod_header-logo a {
  position: relative;
  display: block;
}

.mod_header-logo img {
  display: block;
  transition: opacity 0.3s ease;
  width: 227px;
  transition: all 0.4s ease;
}
@media screen and (max-width: 1024px) {
  .mod_header-logo img {
    width: 170px;
  }
}

.mod_header-logo__white {
  position: absolute;
  inset: 0;
  inline-size: 100%;
}

#header.is-scrolled .mod_header-logo__color {
  opacity: 1;
}
#header.is-scrolled .mod_header-logo__white {
  opacity: 0;
}
#header.is-scrolled .mod_header-logo img {
  width: 170px;
}

.mod_header-logo__color {
  opacity: 1;
}

.mod_header-logo__white {
  opacity: 0;
}

body.home #header:not(.is-scrolled) .mod_header-logo__color {
  opacity: 0;
}
body.home #header:not(.is-scrolled) .mod_header-logo__white {
  opacity: 1;
}

body.home #header.is-white .mod_header-logo__color {
  opacity: 1;
}
body.home #header.is-white .mod_header-logo__white {
  opacity: 0;
}

.mod_header-logo {
  z-index: 52;
}

.header-extrabutton {
  margin-right: 20px;
}

.header-extrabutton a {
  color: var(--color-white);
  border-radius: var(--corner-xs);
  border: 2px solid transparent;
  -o-border-image: linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 100%) 1;
     border-image: linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 100%) 1;
  padding: 0.625rem 0.875rem;
  background: var(--color-green-80);
  text-decoration: none;
  transition: all 0.3s ease;
}
.header-extrabutton a:hover {
  border: 2px solid var(--color-green-60);
  color: var(--color-green-60);
  background: var(--color-white);
}

@media screen and (max-width: 1024px) {
  .mod_navigation .header-extrabutton {
    padding: 2rem;
    display: flex;
    text-align: center;
    justify-content: center;
  }
  .mod_navigation .header-extrabutton a {
    color: var(--color-white) !important;
    width: 100%;
  }
  .mod_navigation .header-extrabutton a:hover {
    color: var(--color-green-80) !important;
    width: 100%;
  }
}
#header .mod_navigation > ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.home #header .mod_navigation li.service a::after {
  color: var(--color-white);
}
@media screen and (max-width: 1024px) {
  .home #header .mod_navigation li.service a::after {
    color: var(--color-gray-50);
  }
}
.home #header .mod_navigation li a,
.home #header .mod_navigation li a:visited,
.home #header .mod_navigation li strong.active {
  color: var(--color-white);
}
@media screen and (max-width: 1024px) {
  .home #header .mod_navigation li a,
  .home #header .mod_navigation li a:visited,
  .home #header .mod_navigation li strong.active {
    color: var(--color-gray-100);
  }
}

#header .mod_navigation {
  flex-grow: 1;
  display: flex;
  padding: 0 64px;
  font-family: var(--ff-default);
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0;
  opacity: 1;
  overflow: visible;
}
@media screen and (max-width: 1024px) {
  #header .mod_navigation {
    position: fixed;
    inset-block-start: 70px;
    inset-block-end: 0;
    block-size: auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    inset-inline: 0;
    z-index: 30;
    background: var(--color-white);
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    display: none;
    width: 100%;
    padding: 20px 0 0;
    line-height: 1;
    border-radius: 0;
    background: var(--color-gray-20);
  }
}
#header .mod_navigation > ul {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 1024px) {
  #header .mod_navigation > ul {
    flex-direction: column;
  }
}
#header .mod_navigation li.service.has-service-flyout:hover .service-flyout, #header .mod_navigation li.service.has-service-flyout:focus-within .service-flyout,
#header .mod_navigation li.active.service.has-service-flyout:hover .service-flyout,
#header .mod_navigation li.active.service.has-service-flyout:focus-within .service-flyout {
  opacity: 1;
  visibility: visible;
  translate: 0 0;
  transition-delay: 0s;
}
#header .mod_navigation li.service::after,
#header .mod_navigation li.active.service::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 100%;
  block-size: 1rem;
}
#header .mod_navigation li.service a::after,
#header .mod_navigation li.service strong::after,
#header .mod_navigation li.active.service a::after,
#header .mod_navigation li.active.service strong::after {
  font-family: var(--ff-kalms-icons);
  content: "\f00e";
  display: inline-block;
  font-size: 1.25rem;
  pointer-events: none;
  transition: all 0.3s ease;
}
#header .mod_navigation li.service a::after,
#header .mod_navigation li.active.service a::after {
  color: var(--color-gray-50);
}
#header .mod_navigation li.service strong::after,
#header .mod_navigation li.active.service strong::after {
  color: var(--color-grreen-80);
}
#header .mod_navigation li.service a:hover,
#header .mod_navigation li.service a:focus,
#header .mod_navigation li.service a:active,
#header .mod_navigation li.service a.trail,
#header .mod_navigation li.service strong.active, #header .mod_navigation li.service:hover > a,
#header .mod_navigation li.service a:hover::after,
#header .mod_navigation li.service a:active::after,
#header .mod_navigation li.service a.focus::after,
#header .mod_navigation li.active.service a:hover,
#header .mod_navigation li.active.service a:focus,
#header .mod_navigation li.active.service a:active,
#header .mod_navigation li.active.service a.trail,
#header .mod_navigation li.active.service strong.active,
#header .mod_navigation li.active.service:hover > a,
#header .mod_navigation li.active.service a:hover::after,
#header .mod_navigation li.active.service a:active::after,
#header .mod_navigation li.active.service a.focus::after {
  color: var(--color-green-80);
}
#header .mod_navigation li {
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 1024px) {
  #header .mod_navigation li {
    display: flex;
    width: 100%;
    text-align: left;
    padding-left: 0;
  }
  #header .mod_navigation li:nth-child(3) {
    border-bottom: none;
  }
}
#header .mod_navigation li a,
#header .mod_navigation li a:visited,
#header .mod_navigation li strong.active {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  flex: 1;
  text-decoration: none;
  font-weight: normal;
  color: var(--color-gray-100);
  transition: all 0.4s ease;
  z-index: 1;
  padding-left: 25px;
}
@media screen and (max-width: 1024px) {
  #header .mod_navigation li a,
  #header .mod_navigation li a:visited,
  #header .mod_navigation li strong.active {
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 600;
    padding: 12px 0 5px;
    display: block;
    width: 100%;
    color: var(--color-gray-100);
  }
}
#header .mod_navigation li a:hover,
#header .mod_navigation li a:focus,
#header .mod_navigation li a:active,
#header .mod_navigation li a.trail,
#header .mod_navigation li strong.active, #header .mod_navigation li:hover > a {
  color: var(--color-green-80);
}

#header.is-scrolled #header-nav.mod_navigation a,
#header.is-scrolled #header-nav.mod_navigation a:visited,
#header.is-scrolled #header-nav.mod_navigation strong.active {
  color: var(--color-gray-100);
}
#header.is-scrolled #header-nav.mod_navigation li.service::after,
#header.is-scrolled #header-nav.mod_navigation a::after {
  color: var(--color-gray-50);
}
#header.is-scrolled #header-nav.mod_navigation a:hover,
#header.is-scrolled #header-nav.mod_navigation a:focus,
#header.is-scrolled #header-nav.mod_navigation a:active,
#header.is-scrolled #header-nav.mod_navigation a.trail,
#header.is-scrolled #header-nav.mod_navigation strong.active, #header.is-scrolled #header-nav.mod_navigation:hover > a,
#header.is-scrolled #header-nav.mod_navigation a:hover::after,
#header.is-scrolled #header-nav.mod_navigation a:active::after,
#header.is-scrolled #header-nav.mod_navigation a.focus::after {
  color: var(--color-green-80);
}

#layout-header .mod_navigation.is-visible {
  opacity: 1;
  visibility: visible;
}

#layout-header .mod_navigation.is-hiding {
  opacity: 0;
  visibility: hidden;
}

body.no-scroll {
  overflow: hidden;
}

@media screen and (max-width: 1024px) {
  #header-nav.mod_navigation > ul {
    padding: 20px 20px 40px;
    border: 1px solid var(--color-gray-60);
    border-radius: var(--corner-ms);
    margin: 0 10px;
  }
  #header-nav.mod_navigation li.service {
    flex-direction: column;
  }
  #header-nav.mod_navigation li.service a {
    display: flex;
    justify-content: space-between;
  }
  #header-nav.mod_navigation li.service a::after {
    color: var(--color-gray-100);
  }
  #header-nav.mod_navigation li.service::before {
    content: none;
  }
  #header-nav.mod_navigation li.service::after {
    content: none;
  }
  #header-nav.mod_navigation li.service .service-flyout__more {
    display: none;
  }
  #header-nav.mod_navigation li.service .service-flyout {
    position: static;
    inline-size: 100%;
    max-inline-size: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: none;
    display: grid;
    grid-template-rows: 0fr;
    visibility: hidden;
    opacity: 1;
    translate: 0;
    transition: grid-template-rows 0.25s ease, visibility 0s linear 0.25s;
  }
  #header-nav.mod_navigation li.service .service-flyout > * {
    overflow: hidden;
  }
  #header-nav.mod_navigation li.service.is-open .service-flyout {
    grid-template-rows: 1fr;
    visibility: visible;
    transition-delay: 0s;
  }
  #header-nav.mod_navigation li.service .service-flyout__inner {
    padding: 1rem 1.25rem;
    border: 1px solid var(--color-gray-60);
    border-radius: var(--corner-ms);
  }
  #header-nav.mod_navigation li.service .service-flyout__list {
    grid-template-columns: auto;
    display: block;
    gap: 0;
  }
  #header-nav.mod_navigation li.service .service-flyout__list a::after {
    display: none;
  }
  #header-nav.mod_navigation li.service .service-flyout__link {
    gap: 0.75rem;
    justify-content: flex-start;
  }
  .service-flyout__link-icon {
    inline-size: 1.75rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
  }
}
.service-flyout {
  position: absolute;
  inset-inline-start: 0;
  top: calc(100% + 1rem);
  z-index: 20;
  inline-size: -moz-max-content;
  inline-size: max-content;
  max-inline-size: min(40rem, 100vw - 2rem);
  background: var(--color-white);
  border: 1px solid var(--color-gray-60);
  border-radius: var(--corner-ms);
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08);
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  translate: 0 -0.5rem;
  transition: opacity 0.2s ease, translate 0.2s ease, visibility 0s linear 0.2s;
}
.service-flyout.is-open {
  opacity: 1;
  visibility: visible;
  translate: 0 0;
  transition-delay: 0s;
}

.has-service-flyout {
  position: relative;
}

.service-flyout__inner {
  padding: 1.5rem;
}

.service-flyout__label {
  margin-block-end: 1rem;
  color: var(--color-green-60);
}

.service-flyout__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  gap: 0.5rem 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.service-flyout__item a::after {
  display: none !important;
}

.service-flyout__link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem;
  color: var(--color-gray-100);
  text-decoration: none;
  border-radius: var(--corner-xs);
}
.service-flyout__link:hover, .service-flyout__link:focus-visible {
  color: var(--color-green-60);
  background: var(--color-gray-20);
}
.service-flyout__link:hover .service-flyout__link-icon, .service-flyout__link:focus-visible .service-flyout__link-icon {
  border-color: var(--color-green-60);
}
.service-flyout__link:hover .service-flyout__link-label, .service-flyout__link:focus-visible .service-flyout__link-label {
  color: var(--color-green-60);
}

.service-flyout__link-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  inline-size: 2.5rem;
  aspect-ratio: 1;
  border: 1px solid var(--color-gray-60);
  border-radius: var(--corner-s);
  font-size: 1.125rem;
  color: var(--color-gray-100);
  background: var(--color-white);
  transition: border-color 0.15s ease;
}

.service-flyout__link-label {
  color: var(--color-gray-100);
  text-wrap: balance;
}
.service-flyout__link-label:hover {
  color: var(--color-green-60);
}

.service-flyout__more {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  width: 100%;
  border-block-start: 1px solid var(--color-gray-60);
  background: var(--color-gray-20);
  color: var(--color-green-80) !important;
  text-decoration: none;
}
.service-flyout__more:hover {
  color: var(--color-green-60) !important;
}
.service-flyout__more::before {
  content: "\f014";
  font-family: var(--ff-kalms-icons);
  color: var(--color-green-60);
}

a.service-flyout__more:after,
a.service-flyout__more:active,
a.service-flyout__more:hover:after {
  display: none !important;
}

.mod_header-mobile-nav-toggle {
  display: none;
}
@media screen and (max-width: 1024px) {
  .mod_header-mobile-nav-toggle {
    display: block;
    margin-right: 16px;
    z-index: 999;
    position: relative;
  }
}
@media screen and (max-width: 720px) {
  .mod_header-mobile-nav-toggle {
    display: block;
    margin-right: 12px;
  }
}
.mod_header-mobile-nav-toggle::before {
  font-family: var(--ff-kalms-icons);
  display: block;
  font-size: 1.5rem;
  color: var(--color-gray-90);
}
.mod_header-mobile-nav-toggle a,
.mod_header-mobile-nav-toggle a:visited {
  color: var(--color-black);
  text-decoration: none;
}

.home .mod_header-mobile-nav-toggle::before {
  color: var(--color-white);
}
@media screen and (max-width: 1024px) {
  .home .mod_header-mobile-nav-toggle.is-active::before {
    content: "\f019";
    font-size: 1.5rem;
    color: var(--color-gray-90);
  }
}

#header.is-scrolled .mod_header-mobile-nav-toggle::before {
  color: var(--color-gray-90);
}

.mod_newslist.blog-list-hero {
  border-radius: var(--corner-xx);
}
.mod_newslist.blog-list-hero a.blog {
  position: relative;
  display: block;
  isolation: isolate;
  overflow: hidden;
  color: var(--color-white);
  text-decoration: none;
}
.mod_newslist.blog-list-hero a.blog:hover .blog__media img {
  transform: scale(1.08);
}
.mod_newslist.blog-list-hero .blog__media {
  position: relative;
  overflow: hidden;
}
.mod_newslist.blog-list-hero .blog__media img {
  inline-size: 100%;
  block-size: 100%;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.5s ease;
}
.mod_newslist.blog-list-hero .blog::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.35) 35%, transparent 65%);
}
.mod_newslist.blog-list-hero .blog__body {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  padding: 2.5rem;
  z-index: 2;
}
.mod_newslist.blog-list-hero .blog__headline {
  margin: 0 0 0.75rem;
  text-wrap: balance;
  color: var(--color-white);
}
.mod_newslist.blog-list-hero .blog__teaser {
  margin: 0 0 2rem;
  max-inline-size: 60rem;
}
.mod_newslist.blog-list-hero .blog__teaser p {
  margin: 0;
}
.mod_newslist.blog-list-hero .blog__meta {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  font-weight: 600;
}
.mod_newslist.blog-list-hero .blog__meta .blog__meta-label {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.mod_newslist.blog-list-hero .blog__arrow {
  position: absolute;
  inset-block-end: 12rem;
  inset-inline-end: 2rem;
  font-size: 1.25rem;
  z-index: 3;
}
@media screen and (max-width: 720px) {
  .mod_newslist.blog-list-hero .blog {
    min-block-size: 26rem;
  }
  .mod_newslist.blog-list-hero .blog__media {
    border-radius: var(--corner-xx);
  }
  .mod_newslist.blog-list-hero .blog__body {
    padding: 1.5rem 0;
    position: relative;
    display: flex;
    flex-direction: column;
  }
  .mod_newslist.blog-list-hero .blog::before {
    display: none;
  }
  .mod_newslist.blog-list-hero .blog__headline {
    order: 2;
    font-family: "Jakarta";
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 700;
  }
  .mod_newslist.blog-list-hero .blog__teaser {
    order: 3;
  }
  .mod_newslist.blog-list-hero .blog__headline,
  .mod_newslist.blog-list-hero .blog__teaser {
    color: var(--color-gray-100);
  }
  .mod_newslist.blog-list-hero .blog__arrow {
    color: var(--color-gray-50);
    inset-block-end: 13.6rem;
  }
  .mod_newslist.blog-list-hero .blog__meta {
    color: var(--color-green-60);
    order: 1;
    margin: 0 0 0.5rem;
  }
  .mod_newslist.blog-list-hero .blog__meta .blog__meta-label {
    display: none;
  }
}

#bloglist.is-loading {
  opacity: 0.5;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

.mod_newslist.blog-list-default {
  margin: 4rem 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.5rem 2rem;
}

.blogcard {
  display: block;
  color: var(--color-gray-100);
  text-decoration: none;
}
.blogcard:hover .blogcard__headline, .blogcard:focus-visible .blogcard__headline {
  color: var(--color-green-60);
}
.blogcard:hover img, .blogcard:focus-visible img {
  scale: 1.03;
}

.blogcard__media {
  margin-block-end: 1rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
.blogcard__media figure,
.blogcard__media picture {
  display: block;
}
.blogcard__media img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  transition: scale 0.3s ease;
}
.blogcard__media figcaption {
  display: none;
}

.blogcard__date {
  margin: 0 0 0.5rem;
  color: var(--color-green-60);
}

.blogcard__headline {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 0.75rem;
  transition: color 0.15s ease;
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.blogcard__arrow {
  flex: 0 0 auto;
  color: var(--color-gray-50);
}

.blogcard__teaser {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blogcard__teaser p {
  margin: 0;
  color: var(--color-gray-80);
}

#bloglist .pagination {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-block-start: 2rem;
  padding-block-start: 2rem;
  border-block-start: 1px solid var(--color-gray-20);
}
#bloglist .pagination p {
  display: none;
}
#bloglist .pagination ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  inline-size: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
#bloglist .pagination li {
  display: flex;
}
#bloglist .pagination a,
#bloglist .pagination span {
  display: grid;
  place-items: center;
  min-inline-size: 2.5rem;
  padding: 0.5rem;
  color: var(--color-gray-100);
  text-decoration: none;
}
#bloglist .pagination a.link {
  background: var(--color-gray-20);
  border-radius: 64px;
  margin-right: 10px;
}
#bloglist .pagination li strong {
  margin-right: 10px;
}
#bloglist .pagination .current {
  background: var(--color-green-05);
  color: var(--color-green-60);
}
#bloglist .pagination .previous,
#bloglist .pagination .next {
  flex: 1;
}
#bloglist .pagination .next {
  justify-content: flex-end;
}
#bloglist .pagination .is-disabled span {
  color: var(--color-gray-30);
  cursor: default;
}
#bloglist .pagination .previous a::before,
#bloglist .pagination .previous span::before {
  content: "\f016";
  font-family: var(--ff-kalms-icons);
  margin-inline-end: 0.5rem;
}
#bloglist .pagination .next a::after,
#bloglist .pagination .next span::after {
  content: "\f014";
  font-family: var(--ff-kalms-icons);
  margin-inline-start: 0.5rem;
}
#bloglist .pagination .previous a,
#bloglist .pagination .next a,
#bloglist .pagination .previous span,
#bloglist .pagination .next span {
  display: inline-flex;
  align-items: center;
}

@media screen and (max-width: 980px) {
  .mod_newslist.blog-list-default {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 720px) {
  .mod_newslist.blog-list-default {
    grid-template-columns: minmax(0, 1fr);
    margin: 0;
  }
}
.blogslider {
  position: relative;
  --edge: max(2rem, calc((100vw - 1280px) / 2 + 2rem));
  padding-inline-start: var(--edge);
  margin-inline: calc(50% - 50vw);
  scroll-padding-inline-start: var(--edge);
}

.blogslider__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 24rem;
  gap: 2rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding-right: 2.5rem;
}
.blogslider__track::-webkit-scrollbar {
  display: none;
}

.blogslider__slide {
  scroll-snap-align: start;
}

.blogslider__nav {
  display: flex;
  gap: 0.75rem;
  margin-block-start: 2rem;
}

.blogslider__arrow {
  display: grid;
  place-items: center;
  inline-size: 3rem;
  aspect-ratio: 1;
  font-size: 1.35rem;
  border: 1px solid var(--color-gray-60);
  border-radius: 50%;
  background: none;
  cursor: pointer;
  color: var(--color-gray-100);
  transition: border-color 0.15s ease, opacity 0.15s ease;
}
.blogslider__arrow:hover:not(:disabled) {
  border-color: var(--color-green-60);
}
.blogslider__arrow:disabled {
  opacity: 0.35;
  cursor: default;
}

@media screen and (max-width: 720px) {
  .blogslider {
    --edge: max(1rem, calc((100vw - 1280px) / 2 + 2rem));
    padding-inline-start: var(--edge);
  }
  .blogslider__track {
    grid-auto-columns: 78%;
    gap: 1rem;
  }
}
.mod_newsreader .insideblog {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mod_newsreader .bloghead {
  text-align: center;
  margin-bottom: 4rem;
}
.mod_newsreader .bloghead .info {
  color: var(--color-green-80);
  margin: 0 0 0.5rem;
}
.mod_newsreader .bloghead h1 {
  font-size: 3rem;
  line-height: 3.75rem;
  margin: 0 0 1.5rem;
}
.mod_newsreader .bloghead p {
  line-height: 1.875rem;
  color: var(--color-gray-80);
  margin: 0;
}
.mod_newsreader .bloghead a {
  text-decoration: underline;
}
@media screen and (max-width: 720px) {
  .mod_newsreader .bloghead {
    margin-bottom: 3.5rem;
  }
  .mod_newsreader .bloghead h1 {
    font-size: 2.5rem;
    line-height: 2.75rem;
  }
}
@media screen and (max-width: 420px) {
  .mod_newsreader .bloghead {
    margin-bottom: 3.125rem;
  }
  .mod_newsreader .bloghead .info {
    font-size: 0.875rem;
  }
  .mod_newsreader .bloghead h1 {
    font-size: 1.875rem;
    line-height: 2.375rem;
  }
  .mod_newsreader .bloghead p {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
.mod_newsreader figure {
  padding: 0 0 6.25rem;
  max-width: 1280px;
  margin: 0 auto;
}
.mod_newsreader figure img {
  border-radius: var(--corner-xs);
}
.mod_newsreader figure figcaption {
  color: var(--color-gray-70);
  font-size: 0.75rem;
  line-height: 1rem;
  margin-top: 0.5rem;
}
@media screen and (max-width: 1290px) {
  .mod_newsreader figure {
    padding: 0 32px 4rem;
  }
}
@media screen and (max-width: 768px) {
  .mod_newsreader figure {
    padding: 0 1.5rem 4rem;
  }
}
@media screen and (max-width: 420px) {
  .mod_newsreader figure {
    padding: 0 1rem 1.5rem;
  }
}
.mod_newsreader .blogcontent {
  border-bottom: 1px solid var(--color-gray-60);
}
.mod_newsreader .blogcontent .content-text {
  color: var(--color-gray-80);
}
.mod_newsreader .blogcontent .content-text a {
  text-decoration: underline;
  color: var(--color-gray-80);
}
.mod_newsreader .blogcontent .content-text a:hover {
  color: var(--color-green-60);
}
.mod_newsreader .blogcontent .content-text li::marker {
  color: var(--color-green-80);
}
.mod_newsreader .blogcontent .content-text h1,
.mod_newsreader .blogcontent .content-text h2,
.mod_newsreader .blogcontent .content-text h3 {
  margin-top: 2rem;
}
.mod_newsreader .blogcontent .content-text h4,
.mod_newsreader .blogcontent .content-text h5,
.mod_newsreader .blogcontent .content-text h6 {
  margin-top: 1.5rem;
}
.mod_newsreader .blogcontent .content-image figure {
  padding: 0 0 4rem;
}
@media screen and (max-width: 1290px) {
  .mod_newsreader .blogcontent .content-image figure {
    padding: 0 0 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .mod_newsreader .blogcontent .content-image figure {
    padding: 0 0 2rem;
  }
}
@media screen and (max-width: 420px) {
  .mod_newsreader .blogcontent .content-image figure {
    padding: 0 0 1.5rem;
  }
}
.mod_newsreader .share {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding-block-start: 2rem;
  margin-bottom: 10rem;
}
.mod_newsreader .share__copy-label {
  font-size: 0.875rem;
  line-height: 1rem;
  color: var(--color-green-80);
  transition: all 0.3s ease;
}
.mod_newsreader .share__button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-inline-size: 3rem;
  justify-content: center;
  padding: 0.75rem 1rem;
  border: 1px solid var(--color-gray-65);
  border-radius: 0.5rem;
  background: none;
  cursor: pointer;
  color: var(--color-gray-50);
  text-decoration: none;
  font: inherit;
  transition: border-color 0.15s ease;
}
.mod_newsreader .share__button:hover, .mod_newsreader .share__button:focus-visible {
  border-color: var(--color-green-60);
  color: var(--color-gray-70);
}
.mod_newsreader .share__button.is-copied {
  border-color: var(--color-green-60);
}

.ce_rsce_intro-left,
.ce_rsce_intro-middle {
  padding: 40px 0 40px;
}
.ce_rsce_intro-left .rsce-intro-subheadline,
.ce_rsce_intro-middle .rsce-intro-subheadline {
  color: var(--color-green-80);
  margin: 0 0 0.5rem;
}
.ce_rsce_intro-left h1,
.ce_rsce_intro-middle h1 {
  line-height: 2.75rem;
  margin: 0 0 1.5rem;
}
.ce_rsce_intro-left p,
.ce_rsce_intro-middle p {
  line-height: 1.875rem;
  color: var(--color-gray-80);
}
@media screen and (max-width: 720px) {
  .ce_rsce_intro-left h1,
  .ce_rsce_intro-middle h1 {
    font-size: 1.875rem;
    line-height: 2.375rem;
  }
  .ce_rsce_intro-left p,
  .ce_rsce_intro-middle p {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}

.ce_rsce_intro-left {
  text-align: left;
}

.ce_rsce_intro-middle {
  max-width: 768px;
  text-align: center;
  margin: 0 auto;
}

.services__nav {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.services__track {
  display: flex;
  gap: 2rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  scroll-behavior: smooth;
  border-block-end: 1px solid var(--color-gray-60);
}
.services__track::-webkit-scrollbar {
  display: none;
}
.services__track {
  --fade: 3rem;
  -webkit-mask-image: linear-gradient(to right, transparent 0, black var(--fade), black calc(100% - var(--fade)), transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, black var(--fade), black calc(100% - var(--fade)), transparent 100%);
}

.services__tab {
  position: relative;
  flex: 0 0 auto;
  scroll-snap-align: center;
  display: grid;
  justify-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  border: 0;
  background: none;
  cursor: pointer;
  color: var(--color-gray-100);
  transition: all 0.3s ease;
}
.services__tab::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: -1px;
  block-size: 2px;
  background: var(--color-green-60);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.services__tab.is-active::after {
  opacity: 1;
}
.services__tab.is-active .services__icon {
  border-color: var(--color-green-60);
}
.services__tab:hover {
  background: var(--color-gray-20);
}

.services__tab-title {
  text-wrap: balance;
}

.services__icon {
  display: grid;
  place-items: center;
  inline-size: 2.5rem;
  aspect-ratio: 1;
  border: 1px solid var(--color-gray-50);
  border-radius: var(--corner-s);
  font-size: 1.25rem;
  color: var(--color-gray-90);
  background: var(--color-white);
  transition: border-color 0.15s ease;
}
.services__icon--large {
  inline-size: 4.75rem;
  font-size: 2rem;
  margin-block-end: 1.5rem;
}

.services__arrow {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  inline-size: 2.5rem;
  aspect-ratio: 1;
  border: 0;
  background: none;
  cursor: pointer;
  color: var(--color-gray-50);
}
.services__arrow:disabled {
  opacity: 0.25;
  cursor: default;
}
.services__arrow .icon-chevron-down {
  display: block;
  transition: rotate 0.15s ease;
  font-size: 1.5rem;
}
.services__arrow--prev .icon-chevron-down {
  rotate: 90deg;
}
.services__arrow--next .icon-chevron-down {
  rotate: -90deg;
}

@media screen and (max-width: 480px) {
  .services__arrow {
    display: none;
  }
  .services__track {
    gap: 1rem;
  }
}
.services__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: start;
  margin: 3rem 0;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.services__panel.is-active {
  opacity: 1;
}
.services__panel[hidden] {
  display: none;
}

.services__panel-text h2 {
  line-height: 2.375rem;
}
.services__panel-text p {
  color: var(--color-gray-80);
  font-size: 1.125rem;
}

.services__panel-image img {
  border-radius: var(--corner-xs);
}

.services__headline {
  margin: 1rem 0;
}

.services__bullets {
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}
.services__bullets li {
  position: relative;
  padding-inline-start: 2rem;
  margin-block-end: 0.75rem;
  min-block-size: 1.5rem;
  color: var(--color-gray-80);
  font-size: 1.125rem;
}
.services__bullets li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  background: url(../../files/theme/frontend/dist/img/check_icon-b22769fc9e0b5d55f277.svg) no-repeat center/contain;
}

@media screen and (max-width: 980px) {
  .services__panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }
}
@media screen and (max-width: 480px) {
  .services__headline {
    font-size: 1.5rem;
    line-height: 2rem;
    margin: 0 0 0.5rem;
  }
  .services__panel-text p,
  .services__bullets li {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .services__panel {
    margin: 2rem 0;
  }
}
.content-rsce-servicestart {
  margin-bottom: 100px;
}

.sc {
  position: relative;
  padding-block: 5rem;
  background-image: none;
}
.sc::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../../files/theme/frontend/dist/assets/f2102fa975131be4cb69.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  opacity: 0.4;
}

.sc__inner {
  position: relative;
  display: block;
}

.sc__subhead {
  margin-block-end: 0.5rem;
  color: var(--color-green-80);
}

.sc__headline {
  margin: 0.5rem 0 1rem;
}

.sc__intro {
  font-size: 1.25rem;
  line-height: 1.875rem;
  margin: 0 0 4rem;
}

.sc__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sc__card {
  display: flex;
  flex-direction: column;
  block-size: 100%;
  padding: 1.5rem;
  border-radius: 0.75rem;
  background: var(--color-white);
  color: var(--color-gray-100);
  text-decoration: none;
  transition: translate 0.2s ease, box-shadow 0.2s ease;
}
.sc__card:hover, .sc__card:focus-visible {
  translate: 0 -0.25rem;
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.08);
}
.sc__card:hover h3,
.sc__card:hover p, .sc__card:focus-visible h3,
.sc__card:focus-visible p {
  color: var(--color-gray-100);
}
.sc__card:hover .sc__icon, .sc__card:focus-visible .sc__icon {
  border-color: var(--color-green-60);
}

.sc__icon {
  display: grid;
  place-items: center;
  inline-size: 4.75rem;
  aspect-ratio: 1;
  margin-block-end: 1.25rem;
  border: 1px solid var(--color-gray-50);
  border-radius: var(--corner-s);
  font-size: 2rem;
  color: var(--color-gray-90);
  background: var(--color-white);
  transition: border-color 0.15s ease;
}

.sc__card-title {
  margin: 0 0 0.5rem;
}

.sc__card-text {
  margin: 0 0 1.25rem;
  color: var(--color-gray-80);
}

.sc__more {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-block-start: auto;
  color: var(--color-green-80);
}
.sc__more span {
  color: var(--color-green-60);
  font-size: 1.25rem;
}

@media screen and (max-width: 980px) {
  .sc__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .content-rsce-servicestart {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 720px) {
  .sc__subhead {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .sc__headline {
    margin: 0.5rem 0 1rem;
    font-size: 1.875rem;
    line-height: 2.375rem;
  }
  .sc__grid {
    grid-template-columns: repeat(9, 78%);
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding-inline: 1.25rem;
    scroll-padding-inline-start: 1.25rem;
    margin-inline: -1.25rem;
  }
  .sc__grid::-webkit-scrollbar {
    display: none;
  }
  .sc__card {
    scroll-snap-align: start;
  }
}
.countup-group {
  padding: 4rem 0;
  border-top: 1px solid var(--color-gray-60);
  border-bottom: 1px solid var(--color-gray-60);
  margin-bottom: 3.75rem;
}
@media screen and (max-width: 980px) {
  .countup-group {
    border-top: none;
    border-bottom: none;
    margin-bottom: 0;
  }
}

.ce_lafli_contao_countup {
  text-align: center;
}
.ce_lafli_contao_countup .counter-box {
  font-family: var(--ff-headline);
  color: var(--color-green-60);
  font-size: 3.75rem;
  line-height: 4.5rem;
  margin-bottom: 0.875rem;
}
.ce_lafli_contao_countup .text-box {
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: var(--color-gray-90);
}
@media screen and (max-width: 980px) {
  .ce_lafli_contao_countup {
    padding: 0 1rem;
    width: 100%;
  }
}

.whychoose {
  position: relative;
  padding: 6.25rem 0;
  background-image: var(--whychoose-bg);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 50% auto;
}

.whychoose__head {
  position: relative;
  z-index: 1;
  max-inline-size: 70%;
}
.whychoose__head p {
  font-size: 1.25rem;
  line-height: 1.875rem;
}

.whychoose__text {
  position: relative;
  z-index: 1;
}

.whychoose__subhead {
  margin-block-end: 0.75rem;
  color: var(--color-green-80);
}

.whychoose__headline {
  margin: 1.5rem 0;
}

.whychoose__list {
  position: relative;
  z-index: 1;
  max-inline-size: 50%;
  margin-block-start: 3rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1.75rem;
}

.whychoose__item {
  padding-inline-start: 1.25rem;
  border-inline-start: 2px solid var(--color-green-60);
}

.whychoose__item-title {
  margin: 0 0 0.375rem;
}

.whychoose__item-text {
  margin: 0;
}

.whychoose__media {
  display: none;
  position: relative;
}
.whychoose__media img {
  inline-size: 100%;
  block-size: auto;
}

@media screen and (max-width: 980px) {
  .whychoose__media {
    display: block;
  }
  .whychoose {
    background-image: none;
  }
  .whychoose__head,
  .whychoose__list {
    max-inline-size: 100%;
  }
  .whychoose__headline {
    line-height: 2.5rem;
  }
}
@media screen and (max-width: 420px) {
  .whychoose {
    margin: 1rem 0 3rem;
  }
  .whychoose__subhead {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .whychoose__headline {
    margin: 0.5rem 0 1rem;
    font-size: 1.875rem;
    line-height: 2.375rem;
  }
  .whychoose__head p {
    font-size: 1.125rem;
    line-height: 1.85rem;
  }
}
.answer {
  position: relative;
  isolation: isolate;
  padding-block: 6rem;
  background-image: var(--answer-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: var(--color-white);
  text-align: center;
}
.answer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgb(0, 0, 0, calc(var(--answer-overlay, 0.45) * 100%));
}

.answer__inner {
  max-inline-size: 52rem;
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.answer__subhead {
  margin-block-end: 1rem;
  color: var(--color-green-60);
  text-transform: uppercase;
}

.answer__headline {
  font-size: 3rem;
  line-height: 3.75rem;
  margin: 0 0 1.5rem;
  color: var(--color-white);
}

.answer__txt {
  font-size: 1.25rem;
  line-height: 1.875rem;
}

.answer__badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}

.answer__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
  padding: 2px 8px 2px 2px;
  border-radius: var(--corner-s);
  border: var(--color-gray-60);
  background: var(--color-white);
  color: var(--color-gray-90);
}
.answer__badge .icon-dot {
  color: var(--color-green-60);
  font-size: 1.5em;
  line-height: 0.5rem;
}

@media screen and (max-width: 980px) {
  .answer {
    padding-block: 4rem;
  }
}
@media screen and (max-width: 420px) {
  .answer__subhead {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .answer__headline {
    margin: 0.5rem 0 1rem;
    font-size: 1.875rem;
    line-height: 2.375rem;
  }
  .answer__badges {
    flex-direction: column;
  }
  .answer__badge {
    width: -moz-max-content;
    width: max-content;
    align-self: center;
  }
}
.ctadl {
  position: relative;
  isolation: isolate;
  padding-block: 5rem;
}
.ctadl::before, .ctadl::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block: 0;
  inline-size: 22%;
  background-image: url(../../files/theme/frontend/dist/img/Backgroundpatterndecorative-236ab8a0121fd4e89985.png);
  background-repeat: repeat;
  background-position: top center;
}
.ctadl::before {
  inset-inline-start: 0;
}
.ctadl::after {
  inset-inline-end: 0;
}

.ctadl__card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  align-items: end;
  gap: 2rem;
  max-inline-size: 76rem;
  margin-inline: auto;
  padding: 3rem 3rem 0;
  border: 1px solid var(--color-gray-60);
  border-radius: var(--corner-x);
  overflow: hidden;
  background-image: none;
}
.ctadl__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../../files/theme/frontend/dist/assets/e64a2cd9cb62d3ae3eee.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.ctadl__text {
  padding-block-end: 3rem;
  z-index: 5;
}

.ctadl__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
  font-size: 0.75rem;
  line-height: 1.125rem;
  margin-block-end: 1.5rem;
  padding: 2px 6px;
  border: 1px solid var(--color-gray-60);
  border-radius: 999px;
  background: var(--color-white);
}
.ctadl__badge .icon-dot {
  color: var(--color-green-60);
  font-size: 1.5em;
  line-height: 0.5rem;
}

.ctadl__headline {
  font-size: 1.5rem;
  line-height: 2rem;
  margin: 0 0 1.25rem;
}

.ctadl__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-block-start: 1.5rem;
  color: var(--color-green-80);
  text-decoration: none;
}
.ctadl__link span {
  color: var(--color-green-60);
}
.ctadl__link:hover, .ctadl__link:focus-visible {
  color: var(--color-green-60);
}
.ctadl__link:hover span, .ctadl__link:focus-visible span {
  color: var(--color-green-80);
}

.ctadl__media {
  position: relative;
  align-self: end;
  margin-block-end: -80px;
  z-index: 5;
  max-width: 270px;
}
.ctadl__media img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  border-start-start-radius: 0.5rem;
  border-start-end-radius: 0.5rem;
}

.ctadl__pdf {
  position: absolute;
  inset-block-start: 1.5rem;
  inset-inline-end: -1rem;
  display: grid;
  place-items: center;
  inline-size: 2.5rem;
  aspect-ratio: 1;
  border-radius: 0.5rem;
  background-image: url(../../files/theme/frontend/dist/img/filepdf-eebfc86ae54546ff39c7.svg);
  background-repeat: repeat;
  background-position: top center;
}

@media screen and (max-width: 768px) {
  .ctadl::before,
  .ctadl::after {
    display: none;
  }
  .ctadl__card {
    grid-template-columns: minmax(0, 1fr);
    padding-inline: 1.5rem;
  }
  .ctadl__media {
    max-width: 200px;
    margin: 0 auto;
  }
  .ctadl__text {
    padding-block-end: 0.5rem;
  }
  .ctadl__media {
    margin-block-end: -140px;
  }
}
.consult {
  position: relative;
  isolation: isolate;
  padding-block: 5rem;
}
.consult::before, .consult::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block: 0;
  inline-size: 22%;
  background-image: url(../../files/theme/frontend/dist/img/Backgroundpatterndecorative-236ab8a0121fd4e89985.png);
  background-repeat: repeat;
  background-position: top center;
}
.consult::before {
  inset-inline-start: 0;
}
.consult::after {
  inset-inline-end: 0;
}

.consult__card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  align-items: end;
  gap: 2rem;
  max-inline-size: 76rem;
  margin-inline: auto;
  padding: 3rem 3rem 0;
  border: 1px solid var(--color-gray-60);
  border-radius: var(--corner-x);
  overflow: hidden;
  background-image: none;
}
.consult__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../../files/theme/frontend/dist/assets/761722a2150bc134e0a8.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.consult__text {
  padding-block-end: 3rem;
  z-index: 5;
}

.consult__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
  font-size: 0.75rem;
  line-height: 1.125rem;
  margin-block-end: 1.5rem;
  padding: 2px 6px;
  border: 1px solid var(--color-gray-60);
  border-radius: var(--corner-x);
  background: var(--color-white);
}
.consult__badge .icon-dot {
  color: var(--color-blue-50);
  font-size: 1.5em;
  line-height: 0.5rem;
}

.consult__headline {
  font-size: 1.5rem;
  line-height: 2rem;
  margin: 0 0 1.25rem;
}

.consult__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-block-start: 1.5rem;
  color: var(--color-blue-60);
  text-decoration: none;
}
.consult__link span {
  color: var(--color-blue-70);
  font-size: 1.25rem;
}
.consult__link:hover, .consult__link:focus-visible {
  color: var(--color-blue-70);
}
.consult__link:hover span, .consult__link:focus-visible span {
  color: var(--color-blue-60);
}

.consult__media {
  position: relative;
  width: 300px;
  align-self: center;
  padding-bottom: 92px;
}
.consult__media img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}
.consult__media imgsvg {
  width: 300px;
}

@media screen and (max-width: 768px) {
  .consult::before,
  .consult::after {
    display: none;
  }
  .consult__card {
    grid-template-columns: minmax(0, 1fr);
    padding-inline: 1.5rem;
  }
  .consult__text {
    padding-block-end: 0.5rem;
  }
  .consult__media {
    padding-bottom: 30px;
    max-width: 250px;
  }
}
.challenge {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  border: 1px solid var(--color-gray-20);
  border-radius: 0.75rem;
  overflow: hidden;
  margin: 5rem 0;
}

.ch__intro {
  padding: 3rem;
  background: var(--color-green-25);
  border-top-left-radius: var(--corner-x);
  border-bottom-left-radius: var(--corner-x);
  border: 1px solid var(--color-gray-60);
}
.ch__intro p {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.ch__subhead {
  margin-block-end: 0.5rem;
  color: var(--color-green-80);
}

.ch__headline {
  line-height: 2.75rem;
  margin: 0.5rem 0 1.5rem;
}

.ch__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--color-gray-60);
  border-bottom: 1px solid var(--color-gray-60);
  border-right: 1px solid var(--color-gray-60);
  border-top-right-radius: var(--corner-x);
  border-bottom-right-radius: var(--corner-x);
  margin: 0;
  padding: 0;
  list-style: none;
}

.ch__item {
  padding: 2.5rem;
}
.ch__item:nth-child(even) {
  border-inline-start: 1px solid var(--color-gray-60);
}
.ch__item:nth-child(n+3) {
  border-block-start: 1px solid var(--color-gray-60);
}

.ch__tile {
  display: grid;
  place-items: center;
  inline-size: 6.5rem;
  aspect-ratio: 1;
  margin-block-end: 1.5rem;
  border-radius: 1rem;
  background-position: center;
  background-size: cover;
  color: var(--color-white);
  font-size: 3rem;
}
.ch__tile:has(.icon-ch-regulatory) {
  background-image: url(../../files/theme/frontend/dist/img/regulatory-1448197330478f82b57e.png);
}
.ch__tile:has(.icon-ch-local) {
  background-image: url(../../files/theme/frontend/dist/img/local-8731616444eca5569ef0.png);
}
.ch__tile:has(.icon-ch-market) {
  background-image: url(../../files/theme/frontend/dist/img/market-b592414ceac56b3a75bc.png);
}
.ch__tile:has(.icon-ch-scale) {
  background-image: url(../../files/theme/frontend/dist/img/scale-c8cece102c56c5aedffe.png);
}

.ch__item-title {
  margin: 0 0 0.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

.ch__item-text {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5rem;
}

@media screen and (max-width: 980px) {
  .challenge {
    grid-template-columns: minmax(0, 1fr);
  }
  .ch__intro {
    border-top-left-radius: var(--corner-x);
    border-top-right-radius: var(--corner-x);
    border-bottom-left-radius: 0;
  }
  .ch__grid {
    border-top-right-radius: 0;
    border-top: none;
    border-bottom: 1px solid var(--color-gray-60);
    border-right: 1px solid var(--color-gray-60);
    border-left: 1px solid var(--color-gray-60);
  }
  .ch__intro,
  .ch__item {
    padding: 2rem;
  }
}
@media screen and (max-width: 420px) {
  .ch__subhead {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .ch__headline {
    margin: 0.5rem 0 1rem;
    font-size: 1.875rem;
    line-height: 2.375rem;
  }
  .ch__intro p {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .ch__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .ch__item:nth-child(even) {
    border-inline-start: 0;
  }
  .ch__item:nth-child(n+2) {
    border-block-start: 1px solid var(--color-gray-60);
  }
}
.tg {
  position: relative;
  padding-block: 5rem;
  background-image: none;
}
.tg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../../files/theme/frontend/dist/assets/f2102fa975131be4cb69.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  opacity: 0.4;
}

.tg_inner {
  position: relative;
  display: block;
}

.tg__subhead {
  margin-block-end: 0.5rem;
  color: var(--color-green-80);
}

.tg__headline {
  margin: 0.5rem 0 1.5rem;
}

.tg__accent {
  color: var(--color-green-80);
}

.tg__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tg__media {
  margin-block-end: 1rem;
  border-radius: var(--corner-xs);
  overflow: hidden;
}
.tg__media img {
  display: block;
  inline-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.tg__card-title {
  margin: 0;
}

.tg__card-subtitle {
  margin: 0;
}

@media screen and (max-width: 980px) {
  .tg__headline {
    margin: 0.5rem 0 1rem;
    font-size: 1.875rem;
    line-height: 2.375rem;
  }
  .whychoose__media {
    display: block;
  }
  .whychoose {
    background-image: none;
  }
  .whychoose__head,
  .whychoose__list {
    max-inline-size: 100%;
  }
}
@media screen and (max-width: 640px) {
  .tg__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 420px) {
  .tg__grid {
    grid-template-columns: repeat(4, 78%);
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding-inline: 1.25rem;
    scroll-padding-inline-start: 1.25rem;
    margin-inline: -1.25rem;
  }
  .tg__grid::-webkit-scrollbar {
    display: none;
  }
  .tg__card {
    scroll-snap-align: start;
  }
}
.contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 4rem;
  margin-top: 30px;
}

.contact__media {
  block-size: 100%;
}
.contact__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--corner-xs);
}
.contact__media figcaption {
  font-size: 12px;
  padding: 8px 0 0 4px;
  color: var(--color-gray-70);
}

.contact__headline {
  margin-block-end: 0.75rem;
}

.contact__text {
  margin-block-end: 2.5rem;
}

.contact .ce_form.block {
  overflow: visible;
}

.contact .ce_form .widget {
  margin-block-end: 1.25rem;
}
.contact .ce_form label,
.contact .ce_form .widget-explanation p {
  display: block;
  margin-block-end: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--color-gray-80);
}
.contact .ce_form .mandatory span {
  color: var(--color-green-60);
}
.contact .ce_form input[type=text],
.contact .ce_form input[type=email],
.contact .ce_form input[type=tel],
.contact .ce_form textarea {
  inline-size: 100%;
  padding: 0.75rem 0.875rem;
  border: 1px solid var(--color-gray-60);
  border-radius: var(--corner-xx);
  background: var(--color-white);
  font: inherit;
  color: var(--color-gray-100);
}
.contact .ce_form input[type=text]::-moz-placeholder, .contact .ce_form input[type=email]::-moz-placeholder, .contact .ce_form input[type=tel]::-moz-placeholder, .contact .ce_form textarea::-moz-placeholder {
  color: var(--color-gray-70);
  font-size: 1rem;
  line-height: 1.5rem;
}
.contact .ce_form input[type=text]::placeholder,
.contact .ce_form input[type=email]::placeholder,
.contact .ce_form input[type=tel]::placeholder,
.contact .ce_form textarea::placeholder {
  color: var(--color-gray-70);
  font-size: 1rem;
  line-height: 1.5rem;
}
.contact .ce_form input[type=text]:focus-visible,
.contact .ce_form input[type=email]:focus-visible,
.contact .ce_form input[type=tel]:focus-visible,
.contact .ce_form textarea:focus-visible {
  outline: 2px solid var(--color-green-60);
  outline-offset: 1px;
}
.contact .ce_form textarea {
  min-block-size: 7rem;
  resize: vertical;
}
.contact .ce_form .widget-select {
  padding-right: 0%;
  position: relative;
}
.contact .ce_form .widget-select::after {
  content: "\f00e";
  font-family: var(--ff-kalms-icons);
  position: absolute;
  inset-inline-start: 2.75rem;
  top: 50%;
  translate: 0 -50%;
  color: var(--color-gray-50);
  pointer-events: none;
}
.contact .ce_form .widget-select::after:open::picker-icon {
  rotate: 180deg;
}
.contact .ce_form .widget-select .select {
  inline-size: 100%;
  padding: 0.75rem 0 0.75rem 0.875rem;
  border: 1px solid var(--color-gray-60);
  border-inline-end: 0;
  border-start-start-radius: var(--corner-xx);
  border-end-start-radius: var(--corner-xx);
  border-start-end-radius: 0;
  border-end-end-radius: 0;
  background: var(--color-white);
  font: inherit;
  color: var(--color-gray-80);
  height: 50px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.contact .ce_form .widget-select .select:focus-visible {
  outline: none;
}
.contact .ce_form .widget-text.phone-number {
  padding-left: 0;
}
.contact .ce_form .widget-explanation {
  margin: 0;
}
.contact .ce_form .widget-text .phone-number {
  border: 1px solid var(--color-gray-60);
  border-inline-start: 0;
  border-start-start-radius: 0;
  border-end-start-radius: 0;
  border-start-end-radius: var(--corner-xx);
  border-end-end-radius: var(--corner-xx);
  inline-size: 100%;
  padding: 0.75rem 0.875rem 0.75rem 0;
  background: var(--color-white);
  font: inherit;
  color: var(--color-gray-80);
}
.contact .ce_form .widget-text .phone-number::-moz-placeholder {
  color: var(--color-gray-70);
}
.contact .ce_form .widget-text .phone-number::placeholder {
  color: var(--color-gray-70);
}
.contact .ce_form .widget-text .phone-number:focus-visible {
  outline: none;
}
.contact .ce_form .checkbox_container {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border: 0;
  padding: 0.5rem 0;
}
.contact .ce_form .checkbox_container span {
  display: flex;
  gap: 1rem;
}
.contact .ce_form .checkbox_container legend {
  display: none;
}
.contact .ce_form .checkbox_container label {
  margin: 0;
  color: var(--color-gray-80);
}
.contact .ce_form .checkbox_container label a {
  text-decoration: underline;
  color: var(--color-gray-80);
}
.contact .ce_form .checkbox_container .checkbox {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.25em;
  height: 1.25em;
  border: 0.15em solid var(--color-gray-60);
  border-radius: 0.12em;
  display: grid;
  place-content: center;
  cursor: pointer;
}
.contact .ce_form .checkbox_container .checkbox::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--checkbox-color, #52C7C7);
  transform-origin: bottom left;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
.contact .ce_form .checkbox_container .checkbox:checked::before {
  transform: scale(1);
}
.contact .ce_form .error {
  color: var(--color-green-60);
  padding: 0 20px;
}
.contact .ce_form button[type=submit],
.contact .ce_form input[type=submit] {
  inline-size: 100%;
  padding: 0.625rem 0.875rem;
  border: 2px solid transparent;
  -o-border-image: linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 100%) 1;
     border-image: linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 100%) 1;
  box-shadow: 0px 1px 2px rgba(10, 13, 18, 0.05), inset 0px -2px 0px rgba(10, 13, 18, 0.05);
  border-radius: var(--corner-xs);
  background: var(--color-green-60);
  transition: all 0.3s ease;
  font: inherit;
  color: var(--color-white);
  cursor: pointer;
}
.contact .ce_form button[type=submit]:hover, .contact .ce_form button[type=submit]:focus-visible,
.contact .ce_form input[type=submit]:hover,
.contact .ce_form input[type=submit]:focus-visible {
  background: var(--color-green-70);
}

@media screen and (max-width: 980px) {
  .contact {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
  .contact__media img {
    display: none;
  }
  .contact .ce_form .widget-select::after {
    inset-inline-end: 0.2rem;
  }
  .widget-select.select.col-xs-12 {
    flex-basis: 20%;
    max-width: 20%;
  }
  .widget-text.phone-number.col-xs-12 {
    flex-basis: 80%;
    max-width: 80%;
  }
}
.contbutt {
  width: 100%;
  display: flex;
  justify-content: center;
}
.contbutt p {
  display: flex;
  gap: 20px;
}

.contbutt .backhome,
.contbutt .ourservice {
  display: inline-flex;
  align-items: center;
  font-size: 1rem;
  line-height: 1.5rem;
  padding: 0.75rem 1.25rem;
  border-radius: var(--corner-xs);
  text-decoration: none;
  transition: all 0.3s ease;
}

.contbutt .backhome {
  border: 1px solid var(--color-gray-65);
  background: var(--color-white);
  color: var(--color-gray-90);
}
.contbutt .backhome:hover {
  background: var(--color-green-60);
  color: var(--color-white);
}

.contbutt .ourservice {
  background: var(--color-green-60);
  color: var(--color-white);
  border: 2px solid transparent;
  -o-border-image: linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 100%) 1;
     border-image: linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 100%) 1;
}
.contbutt .ourservice:hover {
  background: var(--color-green-80);
}

@media screen and (max-width: 420px) {
  .contbutt p {
    flex-direction: column;
    width: 100%;
  }
  .contbutt .backhome,
  .contbutt .ourservice {
    display: block;
    text-align: center;
  }
}
.home #main {
  margin-top: 0;
}

.hero {
  position: relative;
  isolation: isolate;
  min-block-size: 810px;
  display: grid;
  align-items: end;
  background: var(--color-black);
  color: var(--color-white);
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.hero__bg video,
.hero__bg img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: end;
  gap: 3rem;
  padding: 0 3rem 5rem;
}

.hero__headline {
  margin-block-end: 2.5rem;
  text-wrap: balance;
  font-size: 3.75rem;
  line-height: 4.5rem;
  color: var(--color-white);
}

.hero__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.hero__button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  border-radius: var(--corner-xs);
  border: 2px solid transparent;
  -o-border-image: linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 100%) 1;
     border-image: linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 100%) 1;
  background: var(--color-white);
  color: var(--color-gray-90);
  text-decoration: none;
  transition: all 0.3s ease;
}
.hero__button:hover, .hero__button:focus-visible {
  color: var(--color-white);
  background: var(--color-gray-80);
}
.hero__button--primary {
  background: var(--color-green-60);
  color: var(--color-white);
}
.hero__button--primary:hover, .hero__button--primary:focus-visible {
  background: var(--color-white);
  color: var(--color-green-60);
}

.hero__buttons-mob .hero__button.hero__button--primary,
.hero__buttons-mob .hero__button {
  display: none;
}

.hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}

.hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem;
  border-radius: 999px;
  background: var(--color-green-50);
  color: var(--color-green-90);
}
.hero__badge .icon-dot {
  color: var(--color-green-60);
  font-size: 1.5em;
  line-height: 0.5rem;
}

.hero__badge-inner {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.625rem 0.125rem 0.5rem;
  border-radius: 999px;
  background: var(--color-white);
  border: 1px solid var(--color-green-20);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.hero__credit {
  position: absolute;
  inset-inline-end: -4.2rem;
  inset-block-end: 1rem;
  margin: 0;
  writing-mode: horizontal-tb;
  transform: rotate(270deg);
  transform-origin: left bottom;
  display: inline-block;
  font-size: 0.5rem;
  opacity: 0.6;
}

@media screen and (max-width: 980px) {
  .hero__inner {
    grid-template-columns: minmax(0, 1fr);
    padding: 0 1.5rem 3rem;
  }
}
@media screen and (max-width: 540px) {
  .hero {
    min-block-size: 844px;
  }
  .hero__inner {
    gap: 3rem;
  }
  .hero__buttons {
    display: none;
  }
  .hero__buttons-mob .hero__button.hero__button--primary {
    display: block;
    text-align: center;
  }
  .hero__headline {
    margin: 0;
    font-size: 2.25rem;
    line-height: 2.75rem;
  }
}
.error4 #main {
  margin-bottom: 0;
}

.error404 {
  display: flex;
  gap: 4rem;
  align-items: center;
}

.error404__headline {
  margin-block-end: 1.5rem;
  font-size: 3.75rem;
  line-height: 4.5rem;
  letter-spacing: -2%;
}

.error404__intro {
  font-size: 1.25rem;
  line-height: 1.875rem;
  max-inline-size: 32rem;
  margin-block-end: 2.5rem;
}

.error404__button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  border-radius: 0.375rem;
  background: var(--color-green-60);
  color: var(--color-white);
  text-decoration: none;
  transition: all 0.3s ease;
}
.error404__button:hover, .error404__button:focus-visible {
  background: var(--color-green-80);
  color: var(--color-white);
}

.error404__media figure,
.error404__media picture {
  display: block;
  block-size: 100%;
}
.error404__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 768px) {
  .error404 {
    flex-direction: column;
    gap: 2rem;
    order: 1;
  }
  .error404__headline {
    margin-block-end: 1.5rem;
    font-size: 1.875rem;
    line-height: 2.375rem;
    letter-spacing: 0;
  }
  .error404__intro {
    font-size: 1.125rem;
    line-height: 1.75rem;
    margin-block-end: 1rem;
  }
  .error404__media {
    order: 2;
  }
  .error404__media img {
    border-radius: var(--corner-xx);
  }
}
@media screen and (max-width: 480px) {
  .error404__button {
    width: 100%;
    justify-content: center;
  }
}

