html {
    font-size: var(--eb-base-font-size);
    overflow: visible;
    scroll-behavior: smooth;
}

body {
    font-family: var(--eb-font), sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    font-weight: 500;
    color: var(--eb-color-text-075);
    /*color: var(--eb-color-text-100);*/
    background-color: #ffffff;
    hyphens: auto;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    /*-moz-osx-font-smoothing: grayscale;*/
}

.hyphens-test {
    hyphens: auto;
    hyphenate-limit-chars: 3 2 6;
    hyphenate-limit-lines: 2;
    hyphenate-limit-zone: 8%;
}

.no-hyphens {
    hyphens: none;
}

a {
    font-weight: 500;
    color: var(--eb-color-superior-blue);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

b, strong {
    font-weight: 700;
}

sub {
    vertical-align: sub;
    font-size: 70%;
    bottom: unset;
}

sup {
    vertical-align: super;
    font-size: 70%;
    top: unset
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: var(--eb-font), sans-serif;
    line-height: 1.3;
    hyphens: none;
    -webkit-font-smoothing: auto;
}

h1 {
    font-size: var(--eb-text-size-leading-10);
    font-weight: 700;
    color: var(--eb-color-text-100);
    margin-bottom: 1.5rem;
}

h2, .h2 {
    font-size: var(--eb-text-size-leading-10);
    font-weight: 700;
    color: var(--eb-color-text-100);
    margin-bottom: 1.5rem;
}

h2.h1 {
    font-size: var(--eb-text-size-leading-13);
    font-weight: 700;
    color: var(--eb-color-text-100);
    margin-bottom: 1rem;
}

h2.h2-large {
    font-size: var(--eb-text-size-leading-10);
}

h2.h2-slim {
    font-weight: 400;
    -webkit-font-smoothing: auto;
}

h2.h3,
h3,
.h3 {
    font-size: var(--eb-text-size-leading-7);
    font-weight: 700;
    color: var(--eb-color-text-100);
    margin-bottom: 1rem;
}

h3 .h4 {
    color: var(--eb-color-text-100);
}

h4, .h4 {
    /*font-size: var(--eb-text-size-leading-6);*/
    font-size: var(--eb-text-size-leading-5);
    font-weight: 700;
    color: var(--eb-color-text-100);
    margin-bottom: 0.5rem;
}

h5,
h2.case-study-bottom-content-title,
.headline-small {
    font-size: 0.834rem;
    font-weight: 700;
    color: var(--eb-color-text-075);
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

p {
    margin-top: 0;
    margin-bottom: 15px;
}

.p-description {
    font-size: var(--eb-text-size-leading-6);
    font-weight: 500;
    color: var(--eb-color-text-075);
    margin-bottom: 2.5rem;
}

.p-description:has(+ .p-description) {
    margin-bottom: 0.5rem;
}

.p-small {
    font-size: 13px;
}

.p-color-100 {
    color: var(--eb-color-text-100);
}

.bg-white {
    background-color: var(--eb-color-straight-white) !important;
}

a[data-fancybox]:hover {
    cursor: zoom-in;
}

picture {
    display: block;
    width: 100%;
}

img.img-border-bottom-left-100 {
    border-bottom-left-radius: 100px;
}

.mt {
    margin-top: var(--eb-spacing) !important;
}

.mb {
    margin-bottom: var(--eb-spacing) !important;
}

main,
footer {
    margin-right: auto;
    margin-left: auto;
}

.container-custom {
    width: 100%;
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
}

.container {
    max-width: 100%;
    padding: 0;
}

.content-spacing {
    padding: 0 var(--eb-content-spacing);
    width: 100%;
    /*transition: padding-right 0.2s ease-in-out, padding-left 0.2s ease-in-out;*/
}

.content-spacing .content-spacing {
    padding: 0;
}

ul {
    margin-bottom: 1.12rem;
    padding-left: 0.15rem;
}

ol {
    margin-bottom: 0.5rem;
    padding-left: 1rem;
}

ul li {
    list-style: none;
    position: relative;
    margin-bottom: 0;
    padding-left: 1rem;
}

ol li {
    margin-bottom: 0;
    padding-left: 0.25rem;
}

ul li li,
ol li li {
    margin-bottom: 0;
}

ul li::before {
    content: "\25CF";
    font-size: 0.75em;
    color: var(--eb-color-superior-blue);
    display: block;
    position: absolute;
    top: 0.2em;
    /*transform: translateY(-50%);*/
    left: 0;
}

.cms-toolbar li::before {
    display: none;
}

ol.ol-list-style-number-circle-yellow,
ol.ol-list-style-number-circle-grey {
    list-style: none;
    counter-reset: li;
    padding-left: 1.5rem;
}

ol.ol-list-style-number-circle-yellow li,
ol.ol-list-style-number-circle-grey li {
    counter-increment: li;
    padding-left: 1rem;
    margin-bottom: 1rem;
    position: relative;
}

ol.ol-list-style-number-circle-yellow li:before,
ol.ol-list-style-number-circle-grey li:before {
    content: counter(li);
    font-family: "Barlow", sans-serif;
    font-weight: bold;
    color: var(--eb-color-text-100);
    line-height: 1.5;
    text-align: center;
    width: 1.5rem;
    height: 1.5rem;
    margin-left: -1.5em;
    background-color: var(--eb-color-friendly-yellow);
    border-radius: 100%;
    position: absolute;
    top: 0.1em;
    left: 0;
}

ol.ol-list-style-number-circle-grey li:before {
    color: var(--eb-color-text-100);
    background-color: var(--eb-color-strong-stone);
}

ul.ul-list-style-check,
ul.ul-list-style-check-mark {
    list-style: none;
    padding-left: 0;
}

ul.ul-list-style-check li,
ul.ul-list-style-check-mark li {
    margin-bottom: 0.5rem;
    padding-left: 2.5rem;
}

ul.ul-list-style-check li:before,
ul.ul-list-style-check-mark li:before {
    content: '\f058';
    font-family: "Font Awesome 6 Pro", sans-serif;
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
    color: var(--eb-color-superior-blue);
    position: absolute;
    top: 0.15em;
    left: 0.15em;
    transform: translateY(0);
}

ul.ul-list-style-check-mark li:before {
    content: '\f00c';
    color: var(--eb-color-text-075);
    font-weight: normal;
}

/* section */

.plugin-disabled {
    position: relative;
}

.plugin-disabled::before,
.plugin-disabled::before {
    content: 'Disabled';
    font-weight: 700;
    color: var(--eb-color-straight-white);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    background-color: var(--eb-color-ui-danger);
    padding: 0.15rem 0.5rem;
}

.plugin-disabled {
    opacity: 0.5;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

/* content card */
.content-card {
    height: calc(100% - 2rem);
    margin-bottom: 2rem;
    padding: 1.5rem;
    background-color: var(--eb-color-straight-white);
    border: 1px solid var(--eb-color-background-040);
    box-shadow: 0 5px 15px 0 rgba(0, 75, 135, 0.20);
}

.content-card .content-card-title {
    font-size: var(--eb-text-size-leading-10);
}

/* content navigation */

.content-navigation {
    margin: 1rem 0 2rem;
    display: flex;
    flex-direction: column;
}

.content-navigation .text {
    margin-bottom: 1.5rem;
}

.content-menu-item {
    /*display: flex;*/
    /*flex: 1;*/
}

.content-menu-item:not(.content-menu-item-no-link) a,
.content-menu-item > div,
.list-element a {
    font-weight: 500;
    font-size: 1rem;
    color: var(--eb-color-text-100);
    text-decoration: none;
    display: flex;
    flex: 1;
    padding: 12px 2.75rem 14px 0;
    position: relative;
    border-bottom: 1px solid var(--eb-color-pure-cement);
}

.content-menu-item:not(.content-menu-item-no-link) a:hover,
.list-element a:hover {
    background-color: var(--eb-color-grey-bright);
    box-shadow: 0 2px 5px 0 var(--eb-color-background-015);
    border-bottom: 1px solid var(--eb-color-superior-blue);
}

.content-menu-item:not(.content-menu-item-no-link) a::after,
.list-element a::after {
    content: '\f061';
    font-family: "Font Awesome 6 Pro", sans-serif;
    font-size: 18px;
    font-weight: bold;
    color: var(--eb-color-superior-blue);
    line-height: 1;
    position: absolute;
    right: 1rem;
    top: 1.075rem;
}

.content-menu-item-no-link a.content-menu-email,
.content-menu-item-no-link a.content-menu-website {
    font-size: 18px;
    color: var(--eb-color-superior-blue);
    line-height: 1;
    padding: 5px;
    flex: 0;
    position: absolute;
    right: 1rem;
    top: 1.075rem;
}

.content-menu-item-no-link a.content-menu-email::after,
.content-menu-item-no-link a.content-menu-website::after {
    display: none;
}

.content-menu-title,
.list-element-title {
    font-size: 18px;
    line-height: 1.3;
    display: block;
}

.active .content-menu-title {
    font-weight: 700;
}

.content-menu-title.content-menu-title-bold,
.list-element-title {
    font-weight: 700;
    margin-bottom: 5px;
}

.list-element-date {
    font-weight: 700;
}

.content-menu-content,
.list-element-content {
    flex: 100%;
}

.content-menu-description,
.list-element-description {
    font-size: 14px;
    color: var(--eb-color-text-060);
    display: block;
}

.content-menu-image,
.list-element-image {
    flex: 0 0 110px;
    margin-right: 10px;
}

.content-navigation-icon .content-menu-title {
    position: relative;
    margin-bottom: 0.2rem;
    padding-left: 2rem;
}

.content-navigation-icon .content-menu-title:has(+ .content-menu-description) {
    font-weight: 700;
}

.content-navigation-icon .content-menu-title::before {
    content: '\f058';
    font-family: "Font Awesome 6 Pro", sans-serif;
    font-weight: bold;
    color: var(--eb-color-superior-blue);
    font-size: 20px;
    line-height: 1;
    position: absolute;
    top: 0.05em;
    left: 0;
}

/* video */
.video-element {
    margin: 1rem 0;
}

.video-element video {
    width: 100%;
}

/* model-detail */

/* model listing section-background-shape */
.model-listing-intro {
    margin-bottom: 2rem;
}

.model-listing-no-padding-top {
    padding-top: 0;
}

.model-listing .breadcrumb-container {
    padding-bottom: 2rem;
}

.model-listing-count {
    margin: 0 0 1.5rem;
}

.model-detail-top {
    margin-top: 3rem;
}

.back-to-overview {
    margin: 1rem 0;
}

.modal-backdrop {
    background-color: #002F54;
    opacity: 0.85;
    z-index: 700010;
}

.modal-backdrop.show {
    opacity: 0.8;
}

.image-element {
    margin-bottom: 1rem;
}

.image-element img {
    width: 100%;
}

.ts-wrapper.single .ts-control:not(.rtl)::after {
    display: none;
}

/* alert */

.alert {
    --bs-alert-bg: transparent;
    --bs-alert-padding-x: 1rem;
    --bs-alert-padding-y: 1rem;
    --bs-alert-margin-bottom: 1rem;
    --bs-alert-color: inherit;
    --bs-alert-border-color: transparent;
    --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
    --bs-alert-border-radius: var(--bs-border-radius);
    --bs-alert-link-color: inherit;
    position: relative;
    padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
    margin-bottom: var(--bs-alert-margin-bottom);
    color: var(--bs-alert-color);
    background-color: var(--bs-alert-bg);
    border: var(--bs-alert-border);
    border-radius: var(--bs-alert-border-radius);
}

.alert-heading {
    color: inherit;
}

.alert-link {
    font-weight: 700;
    color: var(--bs-alert-link-color);
}

.alert-dismissible {
    padding-right: 3rem;
}

.alert-dismissible .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 1.25rem 1rem;
}

.alert-primary {
    --bs-alert-color: var(--bs-primary-text-emphasis);
    --bs-alert-bg: var(--bs-primary-bg-subtle);
    --bs-alert-border-color: var(--bs-primary-border-subtle);
    --bs-alert-link-color: var(--bs-primary-text-emphasis);
}

.alert-secondary {
    --bs-alert-color: var(--bs-secondary-text-emphasis);
    --bs-alert-bg: var(--bs-secondary-bg-subtle);
    --bs-alert-border-color: var(--bs-secondary-border-subtle);
    --bs-alert-link-color: var(--bs-secondary-text-emphasis);
}

.alert-success {
    --bs-alert-color: var(--bs-success-text-emphasis);
    --bs-alert-bg: var(--bs-success-bg-subtle);
    --bs-alert-border-color: var(--bs-success-border-subtle);
    --bs-alert-link-color: var(--bs-success-text-emphasis);
}

.alert-info {
    --bs-alert-color: var(--bs-info-text-emphasis);
    --bs-alert-bg: var(--bs-info-bg-subtle);
    --bs-alert-border-color: var(--bs-info-border-subtle);
    --bs-alert-link-color: var(--bs-info-text-emphasis);
}

.alert-warning {
    --bs-alert-color: var(--bs-warning-text-emphasis);
    --bs-alert-bg: var(--bs-warning-bg-subtle);
    --bs-alert-border-color: var(--bs-warning-border-subtle);
    --bs-alert-link-color: var(--bs-warning-text-emphasis);
}

.alert-danger {
    --bs-alert-color: var(--bs-danger-text-emphasis);
    --bs-alert-bg: var(--bs-danger-bg-subtle);
    --bs-alert-border-color: var(--bs-danger-border-subtle);
    --bs-alert-link-color: var(--bs-danger-text-emphasis);
}

.alert-light {
    --bs-alert-color: var(--bs-light-text-emphasis);
    --bs-alert-bg: var(--bs-light-bg-subtle);
    --bs-alert-border-color: var(--bs-light-border-subtle);
    --bs-alert-link-color: var(--bs-light-text-emphasis);
}

.alert-dark {
    --bs-alert-color: var(--bs-dark-text-emphasis);
    --bs-alert-bg: var(--bs-dark-bg-subtle);
    --bs-alert-border-color: var(--bs-dark-border-subtle);
    --bs-alert-link-color: var(--bs-dark-text-emphasis);
}

.animation {
    margin-bottom: 1rem;
}

.animation iframe {
    max-width: 100%;
}

/* tooltip */

.tooltip.show {
    opacity: 1;
}

.tooltip-inner {
    font-weight: bold;
    background-color: var(--eb-color-text-100);
    padding: 10px;
    font-size: 16px;
}

/* marquee */

.html-marquee {
    height: 150px;
    overflow: hidden;
    position: relative;
}

.html-marquee__inner {
    animation: marquee-up 22s linear infinite;
}

.html-marquee:hover .html-marquee__inner,
.html-marquee:focus-within .html-marquee__inner {
    animation-play-state: paused;
}

@keyframes marquee-up {
    from {
        transform: translateY(100%);
    }
    to {
        transform: translateY(-100%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .html-marquee {
        height: auto;
        overflow: visible;
    }

    .html-marquee__inner {
        animation: none;
    }
}