/* Webfonts in use
  font-family: 'Oxygen'; font-weight:400; light = font-weight: 300;, bold = font-weight: 700;
*/
/* FontAwesome:
   Brands: :"Font Awesome 6 Brands";font-style:normal;font-weight:normal;
   Light: :"Font Awesome 6 Pro"; font-style:normal; font-weight:300;
   Reg: font-family:"Font Awesome 6 Pro"; font-style:normal; font-weight:400;
   Bold: font-family:"Font Awesome 6 Pro"; font-style:normal; font-weight:900;
*/

/* import variables for fonts, colors, spacings etc. */
@import url("variables.css");


/* General */
* {box-sizing:border-box;}
:focus-visible {outline:3px solid var(--color-orange-900); outline-offset:3px;}
html {height:100.2%; font-size:62.5%; scroll-behavior:smooth;}
body {margin:0; padding:0; font-size:16px; font-size:1.6rem; line-height:1.5; font-family:Oxygen, sans-serif; color:var(--color-grey-900); background-color:var(--color-white-900);}
.site {overflow-x:clip;}
.visually-hidden {position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important; padding:0!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; border:0!important;}
img {display:block; max-width:100%; height:auto; border:none;}
a {color:inherit;}

/* Typography */
h1,
h2,
h3,
p {margin-top:0;}
h1,
h2,
h3 {overflow-wrap:anywhere;}
h1 {margin-bottom:var(--spacing-m); font-size:var(--text-size-h1-home); line-height:1.2; font-weight:700; color:var(--color-blue-900);}
h2 {margin-bottom:var(--spacing-m); font-size:var(--text-size-h2); line-height:1.15; font-weight:700; color:var(--color-blue-900);}
h3 {margin-bottom:var(--spacing-s); font-size:var(--text-size-h3); line-height:1.2; font-weight:700; color:var(--color-blue-900);}
p {margin-bottom:var(--spacing-s);}
p:last-child {margin-bottom:0;}
.c-eyebrow {margin-bottom:var(--spacing-xs); font-size:var(--text-size-eyebrow); line-height:1.3; font-weight:700; text-transform:uppercase; color:var(--color-orange-900);}
.frame-type-text {margin-bottom:var(--spacing-m);}
.frame-type-text li {margin:var(--spacing-xxs) 0; padding:0; line-height:1.5;}
.frame-type-text a:not(.c-button) {color:var(--color-orange-900); text-decoration:none; text-underline-offset:.2em;}
.frame-type-text a:not(.c-button):hover {text-decoration:underline; text-underline-offset:.2em;}
.orange-highlight {color:var(--color-orange-900);}

/* Buttons */
.c-button {display:inline-flex; align-items:center; justify-content:center; gap:var(--spacing-xxs); min-height:4.8rem; padding:1.2rem 2.4rem; 
  border:1px solid transparent; border-radius:var(--radius); font-size:var(--text-size-buttons); line-height:1.2; font-weight:700; text-decoration:none; transition:color .2s ease, background-color .2s ease, border-color .2s ease;}
.c-button--primary {color:var(--color-white-900); background-color:var(--color-orange-900);}
.c-button--primary:hover {color:var(--color-white-900); background-color:var(--color-blue-900);}
.c-button--secondary {color:var(--color-white-900); background-color:var(--color-blue-900);}
.c-button--secondary:hover {color:var(--color-white-900); background-color:var(--color-orange-900);}
.c-button--outline {color:var(--color-blue-900); border-color:var(--color-blue-900); background-color:transparent;}
.c-button--outline:hover {color:var(--color-white-900); background-color:var(--color-blue-900);}
.c-button--icon-arrow-right::after,
.c-button--icon-play::before,
.c-button--icon-download::before,
.c-button--icon-file-lines::before,
.c-button--icon-external::before {display:inline-block; flex:0 0 auto; font-family:"Font Awesome 6 Pro"; font-size:1.6rem; line-height:1; font-style:normal; font-weight:400;}
.c-button--icon-arrow-right::after {content:"\f061";}
.c-button--icon-play::before {content:"\f144";  font-weight:300;}
.c-button--icon-download::before {content:"\e094"; font-weight:400;}
.c-button--icon-file-lines::before {content:"\f15c";}
.c-button--icon-external::before {content:"\f35d";}
.c-button--icon-linkedin::before {content:"\f0e1"; display:inline-block; flex:0 0 auto; font-family:"Font Awesome 6 Brands"; font-size:1.6rem; line-height:1; font-style:normal; font-weight:400;}
.hero .c-button--outline,
.color-2-bg .c-button--outline {color:var(--color-white-900); border-color:var(--color-white-900);}
.hero .c-button--outline:hover,
.color-2-bg .c-button--outline:hover {color:var(--color-blue-900); background-color:var(--color-white-900);}
p:has(> .c-button) {display:flex; flex-wrap:wrap; align-items:center; gap:var(--spacing-xs) var(--spacing-s);}
p:has(> .c-button) > .c-button {margin:0;}

/* Container */
.container {width:100%; max-width:var(--site-max-width-l); margin:0 auto; padding:0 var(--spacing-m);}
.container--narrow {max-width:var(--site-max-width-m);}

/* Header */
.site-header {position:relative; width:100%; padding-top:var(--spacing-xs); padding-bottom:var(--spacing-m); background-color:var(--color-white-900);}
.site-header__inner {position:relative; z-index:4; display:flex; align-items:center; justify-content:space-between; gap:var(--spacing-l); min-height:11rem;}
.site-header__brand {display:flex; flex:0 0 auto; align-items:center; text-decoration:none; position:relative; top:6px;}
.site-header__logo {display:block; width:20rem; max-width:none; height:auto;}
.mobile-menu-toggle {display:none;}


/* Navigation */
.site-navigation {flex:1 1 auto;}
.site-navigation__list {display:flex; align-items:center; gap:var(--spacing-l); margin:0; padding:0; list-style:none;}
.site-navigation__item {margin:0; padding:0;}
.site-navigation__link {position:relative; display:inline-flex; align-items:center; padding:var(--spacing-xs) 0; font-size:var(--text-size-navigation); font-weight:700; line-height:1.2; color:var(--color-blue-900); text-decoration:none; transition:color .2s ease;}
.site-navigation__link:hover {color:var(--color-orange-900);}
.site-navigation__link[aria-current="page"] {font-weight:700;}
.site-navigation__link[aria-current="page"]::after {content:""; position:absolute; left:0; right:0; bottom:.6rem; height:2px; background-color:var(--color-orange-900);}


/* Main */
.site-main {display:block; width:100%;}

/* Hero */
.hero {position:relative; z-index:3; width:100%; overflow:visible; background-color:var(--color-blue-900);}
.hero__slides {position:relative; width:100%; overflow:hidden;}
.hero__slide {position:relative; min-height:85rem; overflow:hidden;}
.hero__media {position:absolute; inset:0; z-index:0;}
.hero__picture {display:block; width:100%; height:100%;}
.hero__image {display:block; width:100%; height:100%; object-fit:cover; object-position:center;}
.hero__overlay {position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(0,55,112,.96) 0%, rgba(0,55,112,.90) 28%, rgba(0,55,112,.72) 48%, rgba(0,55,112,.30) 68%, rgba(0,55,112,.05) 100%);}
.hero__inner {position:relative; z-index:2; display:flex; align-items:center; min-height:85rem;}
.hero__content {width:100%; padding:var(--spacing-xl) 0;}
.hero__text {max-width:60rem; font-size:var(--text-size-m); line-height:1.6; color:var(--color-white-900);}
.hero__text h1 {margin:0 0 var(--spacing-s); font-size:var(--text-size-h1-home); font-weight:700; color:var(--color-white-900);}
.hero__text p {margin:0 0 var(--spacing-s);}
.hero__text p:last-child {margin-bottom:0;}
.hero__eyebrow {margin:0 0 var(--spacing-xs); font-size:var(--text-size-eyebrow); line-height:1.3; font-weight:700; text-transform:uppercase; color:var(--color-orange-900);}
.hero__actions {display:flex; flex-wrap:wrap; gap:var(--spacing-xs); margin-top:var(--spacing-m);}
.hero__autoplay-toggle {position:absolute; right:max(var(--spacing-m), calc((100% - var(--site-max-width-l)) / 2)); bottom:1.6rem; z-index:11; display:none; align-items:center; justify-content:center; width:4rem; height:4rem; margin:0; padding:0; border:1px solid var(--color-white-900); border-radius:50%; color:var(--color-white-900); background-color:rgba(0,55,112,.85); cursor:pointer; transition:color .2s ease, border-color .2s ease, background-color .2s ease;}
.hero__slides.slick-initialized + .hero__autoplay-toggle {display:inline-flex;}
.hero__autoplay-toggle:hover {border-color:var(--color-orange-900); background-color:var(--color-orange-900);}
.hero__autoplay-toggle-icon::before {content:"\f04c"; font-family:"Font Awesome 6 Pro"; font-size:1.6rem; line-height:1; font-style:normal; font-weight:400;}
.hero__autoplay-toggle[data-playing="false"] .hero__autoplay-toggle-icon::before {content:"\f04b"; margin-left:.2rem;}
.hero__keyvisual {position:absolute; left:50%; z-index:3; display:block; width:max(100%, 96rem); max-width:none; height:clamp(4.2rem, 4.345vw, 7.3rem); object-fit:fill; pointer-events:none; user-select:none;}
.hero__keyvisual--top {top:0; transform:translate(-50%, -48%);}
.hero__keyvisual--bottom {bottom:0; transform:translate(-50%, 55%);}

/* Subpage header image */
.subpage-header {position:relative; z-index:3; width:100%; overflow:visible; background-color:var(--color-blue-900);}
.subpage-header__media {position:relative; width:100%; height:min(34.17vw, 57.5rem); min-height:32rem; overflow:hidden;}
.subpage-header__picture {display:block; width:100%; height:100%;}
.subpage-header__image {display:block; width:100%; height:100%; object-fit:cover; object-position:center;}
.subpage-header__overlay {position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg, rgba(0,55,112,.5) 0%, rgba(87,87,86,.3) 100%);}
.subpage-header__keyvisual {position:absolute; left:50%; z-index:2; display:block; width:max(100%, 96rem); max-width:none; height:clamp(4.2rem, 4.345vw, 7.3rem); object-fit:fill; pointer-events:none; user-select:none;}
.subpage-header__keyvisual--top {top:0; transform:translate(-50%, -48%);}
.subpage-header__keyvisual--bottom {bottom:0; transform:translate(-50%, 55%);}

/* Content image */
.content-image {width:100%; margin:0 0 var(--spacing-m);}
.content-image__link {display:block; color:inherit; text-decoration:none;}
.content-image__picture {display:block; width:100%;}
.content-image__image {display:block; width:100%; height:auto;}
.content-image__caption {margin-top:var(--spacing-xxs); font-size:var(--text-size-s); line-height:1.5; color:var(--color-grey-900);}
.columns__item > .content-image:last-child,
.section__content > .content-image:last-child,
.section--narrow__content > .content-image:last-child {margin-bottom:0;}

/* Hero static */
.hero--static .hero__slides {height:auto;}

/* Hero slider */
.hero--slider .hero__slide {min-height:64rem;}
.hero--slider .slick-track {display:flex; align-items:stretch;}
.hero--slider .slick-track::before,
.hero--slider .slick-track::after {display:none;}
.hero--slider .slick-slide {float:none; height:auto;}

/* Section heading */
.section-heading {width:100%; margin:0 0 var(--spacing-m);}
.section-heading.section-heading--line {margin-bottom:var(--spacing-l);}
.section-heading__title {margin-top:0;}
.section-heading__title:last-child {margin-bottom:0;}
.section-heading--half {max-width:50%;}
.section-heading--line::after {content:""; display:block; width:9.6rem; height:.6rem; margin-top:var(--spacing-s); background-color:var(--color-orange-900); border-radius:var(--radius);}

/* Sections */
.section {position:relative; width:100%;}
.section--container {--section-padding-block:var(--spacing-xl); padding:var(--section-padding-block) 0;}
.hero + .section--container {padding-top:calc(var(--section-padding-block) + var(--spacing-s));}
.section__content {position:relative; width:100%;}
.section--narrow {padding:var(--spacing-m) 0 var(--spacing-xl);}
.section--narrow h1 {font-size:var(--text-size-h1-narrow); line-height:1.15;}
.section--narrow h2 {font-size:var(--text-size-h2-narrow); line-height:1.2;}
.section--narrow h3 {font-size:var(--text-size-h3-narrow); line-height:1.25;}
.section--narrow__content {width:100%;}
.subpage-header + .section--narrow {padding-top:var(--spacing-xl);}

/* Breadcrumb */
.breadcrumb {width:100%; margin:0 0 var(--spacing-m);}
.breadcrumb__list {display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 0; margin:0; padding:0; list-style:none;}
.breadcrumb__item {display:inline-flex; align-items:center; min-width:0; font-size:var(--text-size-s); line-height:1.4;}
.breadcrumb__item + .breadcrumb__item::before {content:"\f054"; display:inline-block; flex:0 0 auto; margin:0 var(--spacing-xxs); font-family:"Font Awesome 6 Pro"; font-size:1rem; line-height:1; font-style:normal; font-weight:400; color:var(--color-grey-300);}
.breadcrumb__link {display:inline-flex; align-items:center; gap:.6rem; font-weight:700; color:var(--color-blue-900); text-decoration:none; transition:color .2s ease;}
.breadcrumb__link:hover {color:var(--color-orange-900);}
.breadcrumb__home-icon {font-size:1.4rem;}
.breadcrumb__current {overflow-wrap:anywhere; color:var(--color-grey-900);}

/* Section backgrounds */
.color-1-bg {background-color:var(--color-grey-100);}
.color-2-bg {color:var(--color-white-900); background-color:var(--color-orange-900);}

/* Orange background */
.color-2-bg h1,
.color-2-bg h2,
.color-2-bg h3 {color:var(--color-white-900);}

.color-2-bg .c-eyebrow {color:var(--color-white-900);}
.color-2-bg .section-heading--line::after {background-color:var(--color-white-900);}

/* Columns panel */
.columns-panel {width:100%; margin-top:var(--spacing-l);}
.columns-panel--background {padding:var(--spacing-l) var(--spacing-m); border-radius:var(--radius-10);}
.columns-panel--background .card {border:none;}
#BIM-Workflow .columns-panel--background {--workflow-keyvisual-height:clamp(2.4rem, 3.125vw, 4rem); position:relative; isolation:isolate;}
#BIM-Workflow .columns-panel--background::before {content:""; position:absolute; top:0; left:0; z-index:1; width:100%; height:var(--workflow-keyvisual-height); background:url("../Images/keyvisual_hero.svg") center / 100% 100% no-repeat; transform:translateY(-48%); pointer-events:none;}
#BIM-Workflow .columns-panel--background > * {position:relative; z-index:2;}

/* Columns */
.columns {display:grid; width:100%; gap:var(--spacing-xs);}
.columns--2 {grid-template-columns:repeat(2, minmax(0, 1fr));}
.columns--3 {grid-template-columns:repeat(3, minmax(0, 1fr));}
.columns--4 {grid-template-columns:repeat(4, minmax(0, 1fr));}
.columns__item {min-width:0;}
.columns__item > .frame-type-text:last-child {margin-bottom:0;}

/* Card */
.card {--card-number-background:var(--color-blue-900); height:100%; padding:var(--spacing-s); border-radius:.6rem; background-color:var(--color-white-900); border:solid 1px var(--color-grey-300); box-shadow:0 .2rem .5rem rgba(0,0,0,.08);}
.card__headline {margin:0 0 var(--spacing-xs); font-size:var(--text-size-h3-small); line-height:1.25; font-weight:700; color:var(--color-blue-900);}
.card__text {font-size:var(--text-size-m-small); line-height:1.5;}
.card__text > *:first-child {margin-top:0;}
.card__text > *:last-child {margin-bottom:0;}

/* Feature card */
.card--feature {border:1px solid var(--color-grey-300); box-shadow:0 .2rem .5rem rgba(0,0,0,.08);}
.card__icon {display:flex; align-items:center; justify-content:center; width:4.8rem; height:4.8rem; margin-bottom:var(--spacing-s); border-radius:var(--radius-10); background-color:var(--color-orange-900);}
.card__icon-image {display:block; width:2.6rem; height:2.6rem; object-fit:contain; filter:brightness(0) invert(1);}

/* Number card */
.card--number {border:0;}
.card--accent-card1 {--card-number-background:var(--color-blue-900);}
.card--accent-prosig {--card-number-background:var(--color-orange-900);}
.card--accent-signon {--card-number-background:var(--color-grey-900);}
.card__meta {display:flex; align-items:center; gap:.6rem; min-height:2.4rem; margin-bottom:var(--spacing-xs);}
.card__number {display:inline-flex; align-items:center; justify-content:center; width:2.4rem; height:2.4rem; flex:0 0 2.4rem; border-radius:50%; font-size:1rem; line-height:1; font-weight:700; color:var(--color-white-900); background-color:var(--card-number-background);}
.card__eyebrow {font-size:var(--text-size-xs); line-height:1.2; color:var(--color-orange-900);}

/* Disruptor */
.disruptor-wrapper {width:100%;}
.disruptor {width:100%; color:var(--color-white-900); background-color:var(--color-orange-900);}
.disruptor--contained {overflow:hidden; border-radius:var(--radius-10);}
.disruptor__inner {display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; gap:var(--spacing-l); width:100%; max-width:var(--site-max-width-l); margin:0 auto; padding:var(--spacing-l) var(--spacing-m);}
.disruptor--contained .disruptor__inner {max-width:none;}
.disruptor__content {min-width:0;}
.disruptor__badge {display:inline-flex; align-items:center; gap:.8rem; margin:0 0 var(--spacing-xs); padding:.8rem 1.2rem; border-radius:var(--radius); font-size:1.4rem; line-height:1.2; font-weight:700; text-transform:uppercase; background-color:var(--color-white-200);}
.disruptor__badge-icon {font-size:1.4rem;}
.disruptor__title {margin:0 0 var(--spacing-xs); font-size:var(--text-size-h3); line-height:1.2; color:var(--color-white-900);}
.disruptor__text {max-width:85rem; font-size:var(--text-size-m); line-height:1.6;}
.disruptor__text > *:first-child {margin-top:0;}
.disruptor__text > *:last-child {margin-bottom:0;}
.disruptor__actions {justify-self:end;}
.disruptor__actions .c-button {white-space:nowrap;}
.disruptor__actions .c-button:hover {border-color:var(--color-white-900); color:var(--color-white-900);}

/* Tabs */
.tabs-wrapper {width:100%; margin-top:var(--spacing-m);}
.tabs {width:100%; overflow:hidden; padding:var(--spacing-m); border-radius:var(--radius-10); background-color:var(--color-white-900);}
.tabs__navigation {display:flex; width:100%; overflow-x:auto; overflow-y:hidden; border-bottom:1px solid var(--color-grey-300); background-color:var(--color-white-900); scrollbar-width:thin; overscroll-behavior-inline:contain; scroll-snap-type:x proximity;}
.tabs__navigation:empty {display:none;}
.tabs__tab {position:relative; display:flex; flex:0 0 auto; align-items:center; min-height:4.8rem; margin:0; padding:var(--spacing-xs) var(--spacing-xs) 1.2rem; border:0; font:inherit; font-size:var(--text-size-m); font-weight:400; line-height:1.3; color:var(--color-grey-900); background:transparent; cursor:pointer; scroll-snap-align:start; transition:color .2s ease;}
.tabs__tab:first-child {padding-left:1.2rem;}
.tabs__tab:hover {color:var(--color-orange-900);}
.tabs__tab[aria-selected="true"] {font-weight:700; color:var(--color-blue-900);}
.tabs__tab[aria-selected="true"]::after {content:""; position:absolute; right:0; bottom:-1px; left:0; height:.4rem; border-radius:var(--radius) var(--radius) 0 0; background-color:var(--color-orange-900);}
.tabs__tab:focus-visible {z-index:1; outline-offset:-4px;}
.tabs__panels {width:100%;}
.tabs__panels > .frame {margin:0; padding:0;}
.tabs__panel {width:100%; padding-top:var(--spacing-m);}
.tabs--initialized .tabs__panel[hidden],
.tabs--initialized .tabs__panels > .frame[hidden] {display:none;}
.tabs__panel-grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); align-items:start; gap:var(--spacing-m);}
.tabs__media {width:100%; overflow:hidden; aspect-ratio:4 / 3; background-color:var(--color-grey-100);}
.tabs__media picture {display:block; width:100%; height:100%;}
.tabs__image {width:100%; height:100%; object-fit:cover;}
.tabs__content {min-width:0;}
.tabs__content::before {content:""; display:block; width:6.4rem; height:.4rem; margin-bottom:var(--spacing-xs); border-radius:var(--radius); background-color:var(--color-orange-900);}
.tabs__panel--text-only .tabs__content {grid-column:1 / -1; max-width:90rem;}
.tabs__headline {margin-bottom:var(--spacing-xxs); font-size:var(--text-size-h3); line-height:1.25;}
.tabs__subheading {margin-bottom:var(--spacing-s); font-size:var(--text-size-s); line-height:1.4; color:var(--color-grey-900); font-weight:700;}
.tabs__text {font-size:var(--text-size-m); line-height:1.55;}
.tabs__text > *:first-child {margin-top:0;}
.tabs__text > *:last-child {margin-bottom:0;}
.tabs__actions {display:flex; flex-wrap:wrap; gap:var(--spacing-xs); margin-top:var(--spacing-m);}

/* TYPO3 Form Framework */
.frame-type-form_formframework {--form-control-height:4.8rem; --form-control-radius:.4rem; width:100%;}
.frame-type-form_formframework form {width:100%; padding:var(--spacing-m); border:1px solid var(--color-grey-300); border-radius:.6rem; color:var(--color-grey-900); background-color:var(--color-white-900);}
.frame-type-form_formframework form > h2 {display:none; margin-bottom:var(--spacing-s); font-size:var(--text-size-h3);}
.frame-type-form_formframework form > h2 + p {margin-top:calc(-1 * var(--spacing-xs)); margin-bottom:var(--spacing-s);}
.frame-type-form_formframework .form-element {min-width:0;}
.frame-type-form_formframework .mb-3 {margin-bottom:var(--spacing-xs);}
.frame-type-form_formframework fieldset {min-width:0; margin:0; padding:0; border:0;}
.frame-type-form_formframework .form-element-gridrow {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); column-gap:var(--spacing-xs); width:100%;}
.frame-type-form_formframework .form-element-gridrow > [class*="col-"] {width:auto; min-width:0; max-width:none;}

.frame-type-form_formframework .form-label,
.frame-type-form_formframework fieldset > legend {display:block !important; width:100%; margin:0 0 .6rem; padding:0; font-size:var(--text-size-s); line-height:1.35; font-weight:700; color:var(--color-blue-900);}
.frame-type-form_formframework .required {color:var(--color-blue-900);}

.frame-type-form_formframework .form-control,
.frame-type-form_formframework .form-select {display:block; width:100%; min-height:var(--form-control-height); margin:0; padding:1rem 1.2rem; border:1px solid var(--color-grey-300); border-radius:var(--form-control-radius); font:inherit; font-size:var(--text-size-m); line-height:1.4; color:var(--color-grey-900); background-color:var(--color-white-900); transition:border-color .2s ease, box-shadow .2s ease;}
.frame-type-form_formframework textarea.form-control {min-height:14rem; resize:vertical;}
.frame-type-form_formframework .form-select {padding-right:4rem; -webkit-appearance:none; appearance:none; background-image:linear-gradient(45deg, transparent 50%, var(--color-blue-900) 50%), linear-gradient(135deg, var(--color-blue-900) 50%, transparent 50%); background-position:calc(100% - 1.8rem) calc(50% - .2rem), calc(100% - 1.3rem) calc(50% - .2rem); background-repeat:no-repeat; background-size:.5rem .5rem, .5rem .5rem;}
.frame-type-form_formframework .form-control:hover,
.frame-type-form_formframework .form-select:hover {border-color:var(--color-grey-900);}
.frame-type-form_formframework .form-control:focus,
.frame-type-form_formframework .form-select:focus {border-color:var(--color-blue-900); outline:0; box-shadow:0 0 0 .3rem rgba(0,55,112,.14);}
.frame-type-form_formframework .form-control::placeholder {color:var(--color-grey-900); opacity:.65;}
.frame-type-form_formframework .form-control[type="file"] {padding:.6rem;}
.frame-type-form_formframework .form-control[type="file"]::file-selector-button {min-height:3.4rem; margin:-.1rem 1.2rem -.1rem -.1rem; padding:.6rem 1.2rem; border:0; border-radius:.3rem; font:inherit; font-weight:700; color:var(--color-white-900); background-color:var(--color-blue-900); cursor:pointer;}
.frame-type-form_formframework .form-select[multiple] {min-height:12rem; padding-right:1.2rem; background-image:none;}
.frame-type-form_formframework .form-control:disabled,
.frame-type-form_formframework .form-select:disabled {cursor:not-allowed; opacity:.65; background-color:var(--color-grey-100);}

.frame-type-form_formframework .form-check {margin:0 0 .6rem;}
.frame-type-form_formframework .form-check:last-child {margin-bottom:0;}
.frame-type-form_formframework .form-check-wrapping-label {display:flex; align-items:flex-start; gap:.8rem; width:100%; cursor:pointer;}
.frame-type-form_formframework .form-check-input {display:block; flex:0 0 1.8rem; width:1.8rem; height:1.8rem; margin:.2rem 0 0; padding:0; -webkit-appearance:none; appearance:none; border:1px solid var(--color-grey-300); background-color:var(--color-white-900); background-position:center; background-repeat:no-repeat; background-size:1.1rem 1.1rem; cursor:pointer;}
.frame-type-form_formframework input[type="radio"].form-check-input {border-radius:50%;}
.frame-type-form_formframework input[type="radio"].form-check-input:checked {border-color:var(--color-blue-900); background-color:var(--color-blue-900); box-shadow:inset 0 0 0 .4rem var(--color-white-900);}
.frame-type-form_formframework input[type="checkbox"].form-check-input {border-radius:.2rem;}
.frame-type-form_formframework input[type="checkbox"].form-check-input:checked {border-color:var(--color-blue-900); background-color:var(--color-blue-900); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.4' d='m3 8 3 3 7-7'/%3E%3C/svg%3E");}
.frame-type-form_formframework .form-check-label {display:block; min-width:0; margin:0; font-size:var(--text-size-s); line-height:1.45; color:var(--color-grey-900); cursor:pointer;}
.frame-type-form_formframework .form-check-label a {color:var(--color-orange-900); text-decoration:underline; text-underline-offset:.2em;}
.frame-type-form_formframework fieldset:has(input[type="checkbox"]) > div {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.6rem var(--spacing-xs);}

.frame-type-form_formframework [aria-invalid="true"],
.frame-type-form_formframework .is-invalid,
.frame-type-form_formframework .form-control:user-invalid,
.frame-type-form_formframework .form-select:user-invalid,
.frame-type-form_formframework .form-check-input:user-invalid {border-color:var(--color-red-900);}
.frame-type-form_formframework .form-control:user-invalid,
.frame-type-form_formframework .form-select:user-invalid {box-shadow:0 0 0 .1rem var(--color-red-900);}
.frame-type-form_formframework .form-check-input:user-invalid + .form-check-label {color:var(--color-red-900);}
.frame-type-form_formframework .invalid-feedback,
.frame-type-form_formframework .help-block,
.frame-type-form_formframework .form-error,
.frame-type-form_formframework .form-control-feedback {display:block; margin-top:.6rem; font-size:var(--text-size-s); line-height:1.4; color:var(--color-red-900);}
.frame-type-form_formframework .form-text {display:block; margin-top:.6rem; font-size:var(--text-size-s); line-height:1.4; color:var(--color-grey-900);}
.frame-type-form_formframework .alert {margin-bottom:var(--spacing-s); padding:var(--spacing-xs); border:1px solid var(--color-red-900); border-radius:var(--form-control-radius); color:var(--color-red-900); background-color:var(--color-grey-100);}

.frame-type-form_formframework .actions {margin-top:var(--spacing-s);}
.frame-type-form_formframework .form-navigation {display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--spacing-xs);}
.frame-type-form_formframework .btn {display:inline-flex; align-items:center; justify-content:center; gap:var(--spacing-xxs); min-height:4.8rem; margin:0; padding:1.2rem 2.4rem; border:1px solid transparent; border-radius:var(--radius); font:inherit; font-size:var(--text-size-buttons); line-height:1.2; font-weight:700; text-decoration:none; cursor:pointer; transition:color .2s ease, background-color .2s ease, border-color .2s ease;}
.frame-type-form_formframework .btn-primary {color:var(--color-white-900); background-color:var(--color-orange-900);}
.frame-type-form_formframework .btn-primary::after {content:"\f061"; display:inline-block; flex:0 0 auto; font-family:"Font Awesome 6 Pro"; font-size:1.6rem; line-height:1; font-style:normal; font-weight:400;}
.frame-type-form_formframework .btn-primary:hover {color:var(--color-white-900); background-color:var(--color-blue-900);}
.frame-type-form_formframework .btn-secondary {color:var(--color-blue-900); border-color:var(--color-blue-900); background-color:transparent;}
.frame-type-form_formframework .btn-secondary:hover {color:var(--color-white-900); background-color:var(--color-blue-900);}
.frame-type-form_formframework .btn:disabled {cursor:not-allowed; opacity:.6;}


/* Footer */
.site-footer {--site-footer-keyvisual-height:clamp(2.4rem, 2.381vw, 4rem); position:relative; z-index:1; padding:6rem 0 3rem; color:var(--color-white-900); background-color:var(--color-blue-900);}
.site-footer__keyvisual {position:absolute; top:0; left:50%; z-index:1; display:block; width:max(100%, 96rem); max-width:none; height:var(--site-footer-keyvisual-height); object-fit:fill; transform:translate(-50%, -45%); pointer-events:none; user-select:none;}
.site-footer > .container {position:relative; z-index:2;}
.site-footer__grid {display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:var(--spacing-xl); align-items:start;}
.site-footer__info {max-width:32rem;}
.site-footer__info p {font-size:var(--text-size-s); line-height:1.5;  color:var(--color-white-700);}
.site-footer__info h2,
.site-footer__headline {margin:0 0 var(--spacing-xs); font-size:var(--text-size-m); line-height:1.4; font-weight:400; text-transform:uppercase; color:var(--color-white-700); font-weight:700;}
.site-footer__navigation-list {margin:0; padding:0; list-style:none;}
.site-footer__navigation-item {margin:0 0 .6rem;}
.site-footer__navigation-link {font-size:var(--text-size-s); line-height:1.5; color:var(--color-white-900); text-decoration:none; font-weight:700;}
.site-footer__navigation-link:hover {text-decoration:underline;}
.site-footer__navigation-link[aria-current="page"] {font-weight:700;}
.site-footer__bottom {margin-top:var(--spacing-m); padding-top:var(--spacing-m); border-top:1px solid var(--color-white-200);}
.site-footer__copyright {margin:0; font-size:var(--text-size-s); color:var(--color-white-700);}

/* Scroll to top */
.scroll-to-top {position:fixed; right:var(--spacing-m); bottom:var(--spacing-m); z-index:90; display:inline-flex; align-items:center; justify-content:center; width:4.8rem; height:4.8rem; margin:0; padding:0; border:1px solid transparent; border-radius:var(--radius); color:var(--color-white-900); background-color:var(--color-orange-900); box-shadow:0 .4rem 1.2rem rgba(0,0,0,.2); cursor:pointer; opacity:0; visibility:hidden; transform:translateY(var(--spacing-xxs)); pointer-events:none; transition:opacity .2s ease, visibility 0s linear .2s, transform .2s ease, background-color .2s ease;}
.scroll-to-top::before {content:"\f062"; font-family:"Font Awesome 6 Pro"; font-size:1.8rem; line-height:1; font-style:normal; font-weight:400;}
.scroll-to-top--visible {opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; transition-delay:0s;}
.scroll-to-top:hover {background-color:var(--color-blue-900); transform:translateY(-.2rem);}
.menu-is-open .scroll-to-top {opacity:0; visibility:hidden; pointer-events:none;}


.slick-dots {position:absolute!important; left:50%; bottom:50px; transform:translateX(-50%); z-index:10; display:flex!important; justify-content:center; align-items:center; gap:10px; margin:0 !important; padding:0 !important; list-style:none;}
.slick-dots li {margin:0 !important; line-height:1;}
.slick-dots li button {width:12px;height:12px;padding:0;border-radius:50%;background:rgba(255,255,255,.5);border:none;font-size:0;line-height:0;color:transparent;cursor:pointer;}
.slick-dots li button:before {display:none;}
.slick-dots li.slick-active button {background:var(--color-orange-900);}


/* Responsive */
@media only screen and (max-width:1200px) {

.container {padding:0 var(--spacing-s);}

.hero__autoplay-toggle {right:var(--spacing-s);}
.disruptor__inner {padding-right:var(--spacing-s); padding-left:var(--spacing-s);}

.site-header__inner {gap:var(--spacing-m);}

.site-navigation__list {gap:var(--spacing-m);}

.section--container {--section-padding-block:var(--spacing-l); padding:var(--section-padding-block) 0;}

.site-footer {padding:5rem 0 3rem;}
.site-footer__grid {grid-template-columns:1.4fr 1fr 1fr; gap:var(--spacing-l);}

}

@media only screen and (max-width:1024px) {
h1, h2, h3 {hyphens:auto;}
h1,
.hero__text h1 {font-size:4.8rem;}
h2 {font-size:3.8rem;}
h3 {font-size:3rem;}

.hero__slide {min-height:72rem;}
.hero__inner {min-height:60rem;}

.subpage-header__media {height:auto; min-height:0; aspect-ratio:8 / 3;}
.subpage-header + .section--narrow {padding-top:var(--spacing-l);}

.site-header__logo {width:18rem;}

.site-navigation__list {gap:var(--spacing-s);}

.site-navigation__link {font-size:1.5rem;}

.section-hero {min-height:56rem;}

.section-hero__inner {min-height:56rem;}

.section-heading--half {max-width:65%;}

.columns--4 {grid-template-columns:repeat(2, minmax(0, 1fr));}

.site-footer__grid {gap:var(--spacing-m);}
.site-footer__info {max-width:28rem;}

}

@media only screen and (max-width:991px) {
.menu-ready body.menu-is-open {overflow:hidden;}

.mobile-menu-toggle {position:relative; z-index:103; display:inline-flex; flex:0 0 4.8rem; align-items:center; justify-content:center; width:4.8rem; height:4.8rem; margin:0; padding:1.2rem; border:0; border-radius:50%; color:var(--color-blue-900); background:transparent; cursor:pointer;}
.mobile-menu-toggle__line {position:absolute; left:1.2rem; display:block; width:2.4rem; height:.2rem; border-radius:.2rem; background-color:currentColor; transform-origin:center; transition:top .25s ease, transform .25s ease, opacity .2s ease, background-color .2s ease;}
.mobile-menu-toggle__line:nth-child(1) {top:1.5rem;}
.mobile-menu-toggle__line:nth-child(2) {top:2.3rem;}
.mobile-menu-toggle__line:nth-child(3) {top:3.1rem;}
.mobile-menu-toggle[aria-expanded="true"] {color:var(--color-white-900);}
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__line:nth-child(1) {top:2.3rem; transform:rotate(45deg);}
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__line:nth-child(2) {opacity:0;}
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__line:nth-child(3) {top:2.3rem; transform:rotate(-45deg);}

.site-header__brand {position:relative; z-index:100; margin-left:auto;}
.site-navigation {position:fixed; inset:0; z-index:102; display:flex; align-items:center; justify-content:center; overflow-y:auto; padding:10rem var(--spacing-s) var(--spacing-l); visibility:hidden; opacity:0; background-color:var(--color-blue-900); pointer-events:none; transition:opacity .3s ease, visibility 0s linear .3s;}
.site-navigation--open {visibility:visible; opacity:1; pointer-events:auto; transition-delay:0s;}
.site-navigation__list {align-items:stretch; flex-direction:column; gap:0; width:min(100%, 56rem);}
.site-navigation__item {width:100%; border-bottom:1px solid var(--color-white-200);}
.site-navigation__item:first-child {border-top:1px solid var(--color-white-200);}
.site-navigation__link {display:flex; justify-content:center; width:100%; padding:var(--spacing-s) var(--spacing-xs); font-size:2.4rem; text-align:center; color:var(--color-white-900);}
.site-navigation__link:hover {color:var(--color-orange-900);}
.site-navigation__link[aria-current="page"]::after {right:var(--spacing-xs); bottom:1.4rem; left:var(--spacing-xs);}
.site-header__inner {min-height:9rem;}

}

@media only screen and (max-width:768px) {

h1,
.hero__text h1 {font-size:4.2rem;}
h2 {font-size:3.4rem;}
h3 {font-size:2.8rem;}

.hero__slide,
.hero--slider .hero__slide {min-height:64rem;}
.hero__inner {min-height:56rem;}
.hero__content {padding:var(--spacing-l) 0;}
.hero__overlay {background:linear-gradient(90deg, rgba(0,55,112,.96) 0%, rgba(0,55,112,.90) 55%, rgba(0,55,112,.62) 100%);}
.hero__autoplay-toggle {right:var(--spacing-xs);}

.container {padding:0 var(--spacing-xs);}

.disruptor__inner {grid-template-columns:1fr; gap:var(--spacing-m); padding:var(--spacing-l) var(--spacing-xs);}
.disruptor__actions {justify-self:start;}

.tabs {padding:var(--spacing-s);}
.tabs__navigation {justify-content:flex-start;}
.tabs__tab {min-width:max-content;}
.tabs__panel-grid {grid-template-columns:1fr;}
.tabs__panel--text-only .tabs__content {grid-column:auto;}

.site-header__inner {min-height:8rem;}
.site-header__logo {width:15rem;}
.site-header {padding-top:var(--spacing-xxs); padding-bottom:var(--spacing-s);}

.section {padding:var(--spacing-l) 0;}
.section--container {padding:var(--section-padding-block) 0;}
.section.section--narrow {padding:var(--spacing-m) 0 var(--spacing-l);}
.subpage-header + .section.section--narrow {padding-top:var(--spacing-l);}

.section-heading {margin-bottom:var(--spacing-m);}
.section-heading.section-heading--line {margin-bottom:var(--spacing-m);}
.section-heading--half {max-width:100%;}

.columns-panel { margin-top:calc(var(--spacing-m) + var(--spacing-xxs));}
.columns-panel--background {padding:var(--spacing-s);}
#BIM-Workflow .columns-panel--background {padding-top:calc(var(--spacing-s) + var(--spacing-xs));}

.columns--2,
.columns--3,
.columns--4 {grid-template-columns:1fr;}

.site-footer {padding:4rem 0 2.5rem;}
.site-footer__grid {grid-template-columns:1fr 1fr; gap:var(--spacing-l) var(--spacing-m);}
.site-footer__info {grid-column:1 / -1; max-width:100%;}
.site-footer__bottom {margin-top:var(--spacing-l); padding-top:var(--spacing-s);}

.scroll-to-top {right:calc(var(--spacing-xs) + env(safe-area-inset-right)); bottom:calc(var(--spacing-xs) + env(safe-area-inset-bottom));}

}

@media only screen and (max-width:640px) {
.frame-type-form_formframework form {padding:var(--spacing-s);}
.frame-type-form_formframework .form-element-gridrow,
.frame-type-form_formframework fieldset:has(input[type="checkbox"]) > div {grid-template-columns:1fr;}

.site-footer__grid {grid-template-columns:1fr; gap:var(--spacing-m);}
.site-footer__info {grid-column:auto;}
.site-footer__navigation-item {margin-bottom:.8rem;}
.site-footer__navigation-link {display:inline-block; padding:.2rem 0;}
}

@media only screen and (max-width:480px) {
.section--container {--section-padding-block:var(--spacing-m); padding:var(--section-padding-block) 0;}
.section.section--narrow {padding:var(--spacing-s) 0 var(--spacing-m);}
.subpage-header + .section.section--narrow {padding-top:calc(var(--spacing-m) + var(--spacing-xs));}
.breadcrumb {margin-bottom:var(--spacing-s);}

h1,
.hero__text h1 {font-size:3.6rem;}
h2 {font-size:3rem;}
h3 {font-size:2.5rem;}

.text-frame .c-button {width:100%; margin:0;}

.hero__slide,
.hero--slider .hero__slide {min-height:58rem;}
.hero__inner {min-height:52rem;}
.hero__content {padding:4.8rem 0;}
.hero__actions {align-items:stretch; flex-direction:column;}
.hero__actions .c-button {width:100%;}

.slick-dots {bottom:25px;}

.subpage-header__media {aspect-ratio:2 / 1;}

.frame-type-form_formframework form {padding:var(--spacing-xs);}
.frame-type-form_formframework form > h2 {font-size:2.8rem;}

.disruptor__inner {padding-top:var(--spacing-m); padding-bottom:var(--spacing-m);}
.disruptor__title {font-size:2.6rem;}

.tabs {padding:var(--spacing-xs);}
.tabs__tab {min-height:4.8rem;}
.tabs__actions {align-items:stretch; flex-direction:column;}
.tabs__actions .c-button {width:100%;}

.site-footer {padding:calc(var(--spacing-m) + var(--spacing-xxs)) 0 var(--spacing-s);}
.site-footer__grid {gap:var(--spacing-s);}
.site-footer__info h2,
.site-footer__headline {margin-bottom:var(--spacing-xs); font-size:var(--text-size-s);}
.site-footer__bottom {margin-top:var(--spacing-m); padding-top:var(--spacing-s);}
.site-footer__copyright {line-height:1.6;}

}

@media (prefers-reduced-motion:reduce) {
.mobile-menu-toggle__line,
.site-navigation,
.scroll-to-top,
.hero__autoplay-toggle {transition:none;}
}
