﻿/* ------- JacobsChronos font ------- */
@font-face {
    font-family: "JacobsChronos Reg";
    src: url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF2/JacobsChronos_W_Rg.woff2") format("woff2"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF/JacobsChronos_W_Rg.woff") format("woff"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/TTF/JacobsChronos_Rg.ttf") format("truetype");
    font-weight: normal;
}
@font-face {
    font-family: "JacobsChronos Reg Italic";
    src: url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF2/JacobsChronos_W_It.woff2") format("woff2"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF/JacobsChronos_W_It.woff") format("woff"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/TTF/JacobsChronos_It.ttf") format("truetype");
    font-style: italic;
}
@font-face {
    font-family: "JacobsChronos Light";
    src: url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF2/JacobsChronos_W_Lt.woff2") format("woff2"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF/JacobsChronos_W_Lt.woff") format("woff"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/TTF/JacobsChronos_Lt.ttf") format("truetype");
    font-weight: 100;
}
@font-face {
    font-family: "JacobsChronos Light Italic";
    src: url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF2/JacobsChronos_W_LtIt.woff2") format("woff2"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF/JacobsChronos_W_LtIt.woff") format("woff"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/TTF/JacobsChronos_LtIt.ttf") format("truetype");
    font-weight: 100;
    font-style: italic;
}
@font-face {
    font-family: "JacobsChronos Bold";
    src: url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF2/JacobsChronos_W_Bd.woff2") format("woff2"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF/JacobsChronos_W_Bd.woff") format("woff"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/TTF/JacobsChronos_Bd.ttf") format("truetype");
    font-weight: bold;
}
@font-face {
    font-family: "JacobsChronos Bold Italic";
    src: url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF2/JacobsChronos_W_BdIt.woff2") format("woff2"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF/JacobsChronos_W_BdIt.woff") format("woff"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/TTF/JacobsChronos_BdIt.ttf") format("truetype");
    font-weight: bold;
    font-style: italic;
}
@font-face {
    font-family: "JacobsChronos Display";
    src: url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF2/JacobsChronos_W_Display.woff2") format("woff2"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/WOFF/JacobsChronos_W_Display.woff") format("woff"),url("https://www.jacobs.com/themes/custom/jacobs_theme/assets_ff/fonts/TTF/JacobsChronos_Display.ttf") format("truetype");
}

:root {
    --ff-sans-reg: "JacobsChronos Reg", "Segoe UI", Roboto, Arial, sans-serif;
    --ff-sans-bold: "JacobsChronos Bold", "Segoe UI", Roboto, Arial, sans-serif;
    --ff-sans-light: "JacobsChronos Light", "Segoe UI", Roboto, Arial, sans-serif;
    --ff-sans-regit: "JacobsChronos Reg Italic", "Segoe UI", Roboto, Arial, sans-serif;
    --ff-sans-boldit: "JacobsChronos Bold Italic", "Segoe UI", Roboto, Arial, sans-serif;

    /* Jacobs blues */
    --color-primary-medp1: #231EDC;
    --color-primary-medp2: #0A7DFF;
    --color-primary-lightp3: #5AE6FF;
    --color-primary-darkp4: #001E55;

    /* Jacobs purples */
    --color-secondary-medp1: #6F006E;
    --color-secondary-medp2: #A800A8;
    --color-secondary-lightp3: #D7A5F5;
    --color-secondary-darkp4: #460F32;

    /* Jacobs greens */
    --color-tertiary-medp1: #007D55;
    --color-tertiary-medp2: #0AD287;
    --color-tertiary-lightp3: #78FAC8;
    --color-tertiary-darkp4: #003C2D;

    /* Jacobs grays */
    --color-neutral-darkn1: #333333;
    --color-neutral-medn2: #A5A5A5;
    --color-neutral-medn3: #C8C8C8;
    --color-neutral-lightn4: #E6E6E6;

    --site-padding: 1.6rem;
}

@media (min-width: 1024px) {
    :root {
        --site-padding: 4.8rem;
    }
}

*, :after, :before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html {
    position: relative;
    height: 100%;
    min-height: 100%;
}
body {
    font-family: "JacobsChronos Reg", "Segoe UI", Roboto, Arial, sans-serif;
    -moz-font-feature-settings: "liga", "kern";
    -moz-font-feature-settings: "liga=1, kern=1";
    -ms-font-feature-settings: "liga", "kern";
    -o-font-feature-settings: "liga", "kern";
    -webkit-font-feature-settings: "liga", "kern";
    font-feature-settings: "liga", "kern";
    text-rendering: optimizeLegibility; /*New*/
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%; /*New*/
    font-size: 1rem;
    background-color: #000;
    color: #eee;
    height: 100%;
    min-height: 100%;
    margin: 0;
}
#wrapper { /* For correct footer positioning when content does not fill the page */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100vh; /*In Drupal, height: unset*/
}
header {
    position: fixed;
    top: 0;
    width: 100%;
    background-color: #000;
    padding: 1.4rem var(--site-padding);
    gap: 2.4rem;
    overflow: hidden;
    z-index: 9000;
    -webkit-transition: color .4s cubic-bezier(.165,.84,.44,1), background-color .4s cubic-bezier(.165,.84,.44,1);
    -o-transition: color .4s cubic-bezier(.165, .84, .44, 1), background-color .4s cubic-bezier(.165, .84, .44, 1);
    transition: color .4s cubic-bezier(.165,.84,.44,1), background-color .4s cubic-bezier(.165,.84,.44,1);
}
#divmaincontent {
    flex-grow: 1;
    max-width: 1920px;
    padding-top: 90px;
    margin-left: auto;
    margin-right: auto;
}
section {
    background-color: #000;
}
footer {
    width: 100%;
    background-color: #dbdbdb;
    color: #000;
    padding-top: 3rem;
    padding-bottom: 2rem;
}
h1 {
    font-family: var(--ff-sans-bold);
    font-size: clamp(2.1rem, 1.2231rem + 3.8974vw, 5.9rem);
    line-height: 1;
    color: #eee;
    text-align: left;
}
h2 {
    font-family: var(--ff-sans-light);
    font-size: clamp(2.5rem, 1.9231rem + 2.5641vw, 5rem);
    line-height: 1;
    color: #eee;
    text-align: left;
}
h3 {
    font-family: var(--ff-sans-bold);
    font-size: 1.5rem;
    line-height: 1;
    color: #eee;
    text-align: left;
}
h4 {
    font-family: var(--ff-sans-light);
    font-size: clamp(1.7rem, 1.5442rem + 0.6923vw, 2.375rem);
    line-height: 1.25;
    color: #eee;
    text-align: left;
}
.button {
    display: block;
    font-family: var(--ff-sans-bold);
    font-size: 1rem;
    letter-spacing: 0.5px;
    line-height: 1.15;
    text-transform: uppercase;
    text-decoration: none;
    padding: 7px 12px;
    border-radius: 2px;
}
.button-light-primary {
    background-color: var(--color-primary-lightp3);
    color: #000;
}
.button-light-tertiary {
    background-color: var(--color-tertiary-lightp3);
    color: #000;
}


/* ------- BEGIN Overrides to Bootstrap styles ------- */
.bg-dark {
    background-color: #000 !important;
}
.navbar {
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: 0;
    --bs-navbar-brand-padding-y: 0;
    --bs-navbar-brand-margin-end: 0;
    --bs-navbar-nav-link-padding-x: 0;
}
    .navbar > .container-fluid {
        padding-right: 0;
        padding-left: 0;
    }
.navbar-collapse {
    flex-grow: 0;
    width: 60%;
    margin-top: 18px;
}
.navbar[data-bs-theme=dark] {
    --bs-navbar-toggler-border-color: transparent;
}
.navbar-text {
    display: block;
    color: #fff;
}
.nav-link:focus-visible {
    outline-style: auto;
    outline-width: 1px;
    box-shadow: none;
}
[data-bs-theme=dark] .navbar-toggler-icon {
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ------- "Skip to main content" button ------- */
a.btn-skiptomaincontent {
    position: absolute;
    left: 3px;
    top: 0;
    width: auto;
    height: auto;
    overflow: hidden;
    background-color: var(--color-primary-lightp3);
    font-size: 1rem;
    color: #000;
    padding: 4px 8px 5px 8px;
    transform: translateY(-100%);
    transition: transform 0.2s;
}
    a.btn-skiptomaincontent:focus {
        transform: translateY(0%);
        z-index: 10000;
    }

/* ------- "Go to top" button ------- */
.btn-gototop {
    position: fixed;
    bottom: 1.5rem;
    right: 0.8rem;
    font-size: 2rem;
    line-height: 1.1;
    text-align: center;
    opacity: 0.8;
}
    .btn-gototop a, .btn-gototop a:link, .btn-gototop a:visited, .btn-gototop a:hover, .btn-gototop a:active {
        color: #888;
        text-decoration: none;
    }

/* ------- Custom styles - Header ------- */
.app-head {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
}
    .app-head a {
        color: #fff;
        text-decoration: none;
    }
        .app-head a.jmark-link {
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
            width: 23px;
            height: 28px;
            flex-direction: row-reverse;
            gap: 2.4rem;
            -webkit-transition: background-color .3s ease, opacity .3s ease, color .3s ease, border-color .3s ease;
            -o-transition: background-color .3s ease, opacity .3s ease, color .3s ease, border-color .3s ease;
            transition: background-color .3s ease, opacity .3s ease, color .3s ease, border-color .3s ease;
        }
            .app-head a.jmark-link > .j-mark {
                width: 100%;
                height: 100%;
                vertical-align: middle;
            }
.app-title {
    margin-left: 28px;
    margin-right: 40px;
    width: 130px;
}
.site-brand {
    font-family: var(--ff-sans-bold);
    font-size: 1.34rem;
    line-height: 1;
    color: #fff;
    margin-top: -2px;
    white-space: normal;
}
    .site-brand > a, .site-brand > a:link, .site-brand > a:visited, .site-brand > a:hover, .site-brand > a:active {
        color: #fff;
        text-decoration: none;
    }
.guide-reveal { /* Instructions that are revealed when hovering or focusing on the J-mark */
    opacity: 0;
    font-family: var(--ff-sans-reg);
    font-size: 1rem;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 45px;
    left: 51px;
    transition: opacity 0.3s;
}
a.jmark-link:hover + .guide-reveal, a.jmark-link:focus + .guide-reveal, a.jmark-link:focus-visible + .guide-reveal {
    opacity: 1;
}
.app-nav {
    font-family: var(--ff-sans-reg);
    font-size: 1rem;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff;
}
    .app-nav ul li a, .app-nav ul li a:link, .app-nav ul li a:visited, .app-nav ul li a:hover, .app-nav ul li a:active {
        color: rgba(255,255,255,0.75);
        text-decoration: underline;
    }
        .app-nav ul li a:hover, .app-nav ul li a:focus {
            color: rgba(255,255,255,1);
        }

/* ------- Custom styles - Body content ------- */
.ctnr-feature-primary {
    width: 100%;
    margin: 0 auto 4rem auto;
    background-size: cover;
    background-position: 25% top;
    background-repeat: no-repeat;
    max-height: 700px;
}
    .ctnr-feature-primary h1 {
        padding-top: 35%;
        padding-bottom: 0;
        padding-left: 9%;
        padding-right: 9%;
        margin-bottom: 0;
    }
.key-intro p {
    font-family: var(--ff-sans-light);
    font-size: clamp(1.3rem, 1.2365rem + 0.2821vw, 1.575rem);
    line-height: 1.3;
    margin-bottom: 1.6rem;
}
.seqframes {
    display: table;
    width: 100%;
    height: 100%;
}
    .seqframes > * {
        display: table-cell;
    }
.seqframes-highlight {
    min-height: 350px;
}
.seqframes-highlight > * {
    vertical-align: middle;
}
    .seqframes-highlight > div:first-child {
        display: none;
    }
    .seqframes-highlight > div:nth-child(2) {
        background-color: var(--color-primary-medp1);
        width: 65%;
        padding: 6% 5%;
    }
    .seqframes-highlight > div:nth-child(3) {
        display: none;
    }
    .seqframes-highlight > div:nth-child(4) {
        display: none;
    }
    .seqframes-highlight > div:nth-child(5) {
        width: 35%;
        background-repeat: no-repeat;
        background-position: 50% 73%;
        background-size: cover;
    }
    .seqframes-highlight > div:nth-child(6) {
        display: none;
    }
    .seqframes-highlight .seqframes-cta {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%;
    }
        .seqframes-highlight .seqframes-cta .button-light {
            width: 206px;
        }
        .seqframes-highlight .seqframes-cta p {
            font-family: var(--ff-sans-light);
            font-size: clamp(1.7rem, 1.5442rem + 0.6923vw, 2.375rem);
            line-height: 1.15;
            color: #eee;
            margin-bottom: 2.5rem;
        }
            .seqframes-highlight .seqframes-cta p.cta-intro {
                font-family: var(--ff-sans-bold);
                margin-bottom: 1rem;
            }
            .seqframes-highlight .seqframes-cta p.cta-smaller {
                font-size: clamp(1.5rem, 1.3615rem + 0.6154vw, 2.1rem);
            }
.ctnr-highlight a, .ctnr-highlight a:link, .ctnr-highlight a:visited, .ctnr-highlight a:hover, .ctnr-highlight a:active {
    text-decoration: none;
    color: #eee;
}
.ctnr-highlight img, .ctnr-highlight .theme-head {
    margin-bottom: 1.5rem;
}
.ctnr-highlight img {
    width: 100%;
}
.ctnr-highlight p.highlight-title {
    font-family: var(--ff-sans-bold);
    font-size: 1.25rem;
    line-height: 1.2;
    color: #eee;
}
.ctnr-highlight p.highlight-subtitle {
    font-family: var(--ff-sans-light);
    font-size: clamp(1.05rem, 1.0038rem + 0.2051vw, 1.25rem);
    line-height: 1.2;
    color: #eee;
}
.ctnr-tabs {
    width: 100%;
    max-width: 1403px;
    max-height: 530px;
    margin-left: 0;
    margin-right: 0;
}
    .ctnr-tabs .fade {
        transition: opacity .3s linear;
    }
    .ctnr-tabs .nav-pills {
        max-width: 314px;
    }
    .ctnr-tabs .nav-link {
        width: 100%;
        font-family: var(--ff-sans-light);
        font-size: clamp(1.2rem, 0.9577rem + 1.0769vw, 2.25rem);
        color: #eee;
        line-height: 1;
        text-align: left;
        padding: 1.4rem 1.15rem;
        /*height: 33%;*/
        /*min-height: 33%;*/
    }
    .ctnr-tabs .nav-pills .nav-link:first-child.active {
        font-family: var(--ff-sans-bold);
        color: #000;
        background-color: var(--color-primary-medp2);
    }
    .ctnr-tabs .nav-pills .nav-link:first-child:not(.active):hover {
        background-color: var(--color-primary-medp1);
    }
    .ctnr-tabs .nav-pills .nav-link:nth-child(2).active {
        font-family: var(--ff-sans-bold);
        color: #000;
        background-color: var(--color-secondary-medp2);
    }
    .ctnr-tabs .nav-pills .nav-link:nth-child(2):not(.active):hover {
        background-color: var(--color-secondary-medp1);
    }
    .ctnr-tabs .nav-pills .nav-link:nth-child(3).active {
        font-family: var(--ff-sans-bold);
        color: #000;
        background-color: var(--color-tertiary-medp2);
    }
    .ctnr-tabs .nav-pills .nav-link:nth-child(3):not(.active):hover {
        background-color: var(--color-tertiary-medp1);
    }
    .ctnr-tabs .nav-pills .nav-link {
        border-radius: 0;
    }
    .ctnr-tabs .tab-content {
        width: 100%;
    }
    .ctnr-tabs .tab-content .tab-pane {
        height: 100%;
        background-repeat: no-repeat;
        background-position: 50% top;
        background-size: cover;
    }
        .ctnr-tabs .tab-content .tab-pane p {
            width: 100%;
            font-family: var(--ff-sans-bold);
            font-size: clamp(1.3rem, 1.0865rem + 0.9487vw, 2.225rem);
            line-height: 1.2;
            color: #fff;
            margin: 0;
            padding: 1.5rem 2.25rem;
        }
        .ctnr-tabs .tab-content .tab-pane a, .ctnr-tabs .tab-content .tab-pane a:link, .ctnr-tabs .tab-content .tab-pane a:visited, .ctnr-tabs .tab-content .tab-pane a:hover, .ctnr-tabs .tab-content .tab-pane a:active {
            display: block;
            color: #fff;
            text-decoration: none;
        }
.theme-head {
    font-family: var(--ff-sans-bold);
    font-size: clamp(1rem, 0.9850rem + 0.0667vw, 1.065rem);
    line-height: 1.1;
    letter-spacing: 0.5px;
    color: var(--color-primary-lightp3);
    text-transform: uppercase;
    text-align: left;
}
.ctnr-slideshow {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1428px;
    gap: 2rem 2.5%;
    pointer-events: none;
}
    .ctnr-slideshow .slide {
        width: 100%;
        cursor: pointer;
        pointer-events: auto;
        transition: 0.7s opacity;
    }
    .ctnr-slideshow > .slide {
        opacity: 1;
    }
    .ctnr-slideshow a, .ctnr-slideshow a:link, .ctnr-slideshow a:visited, .ctnr-slideshow a:hover, .ctnr-slideshow a:active {
        color: #fff;
        text-decoration: none;
    }
    .ctnr-slideshow .slide-image {
        height: 320px;
        background-repeat: no-repeat;
        background-position: 50% 53%;
        background-size: cover;
        margin-bottom: 2.5rem;
    }
        .ctnr-slideshow .slide-image p {
            width: 100%;
            font-family: var(--ff-sans-bold);
            font-size: clamp(1.65rem, 1.5173rem + 0.5897vw, 2.225rem);
            line-height: 1.2;
            color: #fff;
            padding: 2rem 2.2rem;
        }
            .ctnr-slideshow .slide-image p a, .ctnr-slideshow .slide-image p a:link, .ctnr-slideshow .slide-image p a:visited, .ctnr-slideshow .slide-image p a:hover, .ctnr-slideshow .slide-image p a:active {
                color: #fff;
                text-decoration: none;
            }
    .ctnr-slideshow .slide p.slide-description {
        font-family: var(--ff-sans-bold);
        font-size: 1.3rem;
        line-height: 1.15;
        color: #fff;
    }
        .ctnr-slideshow .slide p.slide-description span {
            font-family: var(--ff-sans-light);
            opacity: 1;
        }
.ctnr-thoughtleadership a, .ctnr-thoughtleadership a:link, .ctnr-thoughtleadership a:visited, .ctnr-thoughtleadership a:hover, .ctnr-thoughtleadership a:active {
    text-decoration: none;
    color: #eee;
}
.ctnr-thoughtleadership img, .ctnr-thoughtleadership .theme-head {
    margin-bottom: 1.5rem;
}
.ctnr-thoughtleadership img {
    width: 100%;
}
.ctnr-thoughtleadership p.tl-title {
    font-family: var(--ff-sans-bold);
    font-size: 1.25rem;
    line-height: 1.2;
    color: #eee;
}
.ctnr-thoughtleadership p.tl-subtitle {
    font-family: var(--ff-sans-light);
    font-size: clamp(1.05rem, 1.0038rem + 0.2051vw, 1.25rem);
    line-height: 1.2;
    color: #eee;
}
.ctnr-keyprojects {
    --bs-gutter-x: 3rem;
    --bs-gutter-y: 3rem;
}
    .ctnr-keyprojects a, .ctnr-keyprojects a:link, .ctnr-keyprojects a:visited, .ctnr-keyprojects a:hover, .ctnr-keyprojects a:active {
        color: #fff;
        text-decoration: none;
    }
    .ctnr-keyprojects img {
        width: 100%;
        margin-bottom: 1.5rem;
    }
.keyprojects-feature-flex {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: nowrap;
}
.keyprojects-feature-head {
    margin-bottom: 0.5rem;
}
.keyprojects:not(.keyprojects-feature) div.row {
    margin-bottom: 3.5rem; /* 3rem on jacobs.com */
}
    .keyprojects:not(.keyprojects-feature) div.zoom:last-child > div.row {
        margin-bottom: 0;
    }
.keyprojects:not(.keyprojects-feature) a {
    opacity: 1;
}
.keyprojects p.project-title {
    font-family: var(--ff-sans-bold);
    font-size: 1.25rem;
    line-height: 1.2;
    color: #eee;
}
.keyprojects-feature p.project-title {
    font-size: clamp(1.65rem, 1.5173rem + 0.5897vw, 2.225rem);
}
.keyprojects p.project-subtitle {
    font-family: var(--ff-sans-light);
    font-size: clamp(1.05rem, 1.0038rem + 0.2051vw, 1.25rem);
    line-height: 1.2;
    color: #eee;
    margin-bottom: 0;
}
/*.keyprojects-feature p.project-subtitle {
    margin-bottom: 2.825rem;
}*/
.ctnr-peoplestories a, .ctnr-peoplestories a:link, .ctnr-peoplestories a:visited, .ctnr-peoplestories a:hover, .ctnr-peoplestories a:active {
    text-decoration: none;
    color: #eee;
}
.ctnr-peoplestories.peoplestories-feature p.peoplestories-pretitle {
    font-family: var(--ff-sans-light);
    font-size: clamp(1.4rem, 1.3538rem + 0.2051vw, 1.6rem);
    line-height: 1.1;
    color: #eee;
}
.ctnr-peoplestories:not(.peoplestories-feature) p.peoplestories-pretitle {
    font-family: var(--ff-sans-light);
    font-size: clamp(1.4rem, 1.3769rem + 0.1026vw, 1.5rem);
    line-height: 1.1;
    color: #eee;
}
.ctnr-peoplestories.peoplestories-feature p.peoplestories-title {
    font-family: var(--ff-sans-bold);
    font-size: clamp(1.55rem, 1.3942rem + 0.6923vw, 2.225rem);
    line-height: 1.05;
    color: #eee;
}
.ctnr-peoplestories:not(.peoplestories-feature) p.peoplestories-title {
    font-family: var(--ff-sans-bold);
    font-size: clamp(1.55rem, 1.4692rem + 0.3590vw, 1.9rem);
    line-height: 1.05;
    color: #eee;
}
.ctnr-peoplestories p.peoplestories-subtitle {
    font-family: var(--ff-sans-light);
    font-size: clamp(1.05rem, 1.0038rem + 0.2051vw, 1.25rem);
    line-height: 1.2;
    color: #eee;
    margin-bottom: 0;
}
.ctnr-peoplestories img {
    width: 100%;
    margin-bottom: 0.75rem;
}
.ctnr-news p.news-title {
    font-family: var(--ff-sans-bold);
    font-size: 1.25rem;
    line-height: 1.2;
    color: #eee;
}
.ctnr-news p.news-subtitle {
    font-family: var(--ff-sans-light);
    font-size: clamp(1.05rem, 1.0038rem + 0.2051vw, 1.25rem);
    line-height: 1.2;
    color: #eee;
}
.ctnr-news a, .ctnr-news a:link, .ctnr-news a:visited, .ctnr-news a:hover, .ctnr-news a:active {
    text-decoration: none;
    color: #eee;
}
.ctnr-news img {
    width: 100%;
    margin-bottom: 1.5rem;
}
.seqframes-banner {
    height: 450px;
    min-height: 450px;
}
.seqframes-banner > * {
    vertical-align: bottom;
}
.seqframes-banner p {
    line-height: 1.3;
    color: #eee;
}
    .seqframes-banner p:first-child {
        font-family: var(--ff-sans-bold);
        font-size: clamp(1.59rem, 1.4838rem + 0.4718vw, 2.05rem);
        line-height: 1.1;
    }
    .seqframes-banner p:nth-child(2) {
        font-family: var(--ff-sans-light);
        font-size: clamp(1.1rem, 0.9962rem + 0.4615vw, 1.55rem);
    }
.seqframes-banner > div:first-child {
    display: table-cell;
    /*background-color: var(--color-primary-medp2);*/
    width: 100%;
    padding: 5% 9%;
}
.seqframes-banner > div:nth-child(2) {
    display: none;
}
.seqframes-banner > div:nth-child(3) {
    display: none;
}
.seqframes-banner > div:nth-child(4) {
    display: none;
}
.seqframes-banner > div:nth-child(5) {
    display: none;
}
.ctnr-contacts h2 {
    font-family: var(--ff-sans-light);
    font-size: clamp(3.125rem, 2.4154rem + 3.1538vw, 6.2rem);
    line-height: 1;
    color: #eee;
    text-align: left;
}
.ctnr-contacts img {
    width: 75%;
    margin-bottom: 2rem;
}
.ctnr-contacts p {
    font-family: var(--ff-sans-light);
    font-size: 21px;
    line-height: 1.2;
    margin-bottom: 1.5rem;
}
    .ctnr-contacts p:first-of-type {
        font-family: var(--ff-sans-bold);
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    .ctnr-contacts p a, .ctnr-contacts p a:link, .ctnr-contacts p a:visited, .ctnr-contacts p a:hover, .ctnr-contacts p a:active {
        color: #eee;
    }

footer a, footer a:link, footer a:visited, footer a:hover, footer a:active {
    color: #000;
}
.j-mainsite img {
    margin-bottom: 2rem;
}
.j-mainsite p {
    font-size: 1.1rem;
    line-height: 1;
}
.ctnr-socialmedia p {
    font-family: var(--ff-sans-bold);
    text-transform: uppercase;
    line-height: 1;
}
.ctnr-socialmedia ul {
    display: flex;
    align-items: flex-start;
    list-style-type: none;
}
    .ctnr-socialmedia ul {
        margin-left: 0;
        margin-block-start: 0;
        padding-left: 0;
        padding-inline-start: 0;
    }
        .ctnr-socialmedia ul li {
            margin-right: 1.9rem;
        }
            .ctnr-socialmedia ul li:last-child {
                margin-right: 0;
            }
            .ctnr-socialmedia ul li img {
                width: 26px;
                height: auto;
            }
.ctnr-jlegallinks {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
}
    .ctnr-jlegallinks p {
        font-size: 0.875rem;
        margin-right: 2rem;
        line-height: 1;
    }
        .ctnr-jlegallinks p:last-child {
            margin-right: 0;
        }


/* ------- Fade-in effect ------- */
@keyframes fadeInUp {
  from {
    transform: translateY(100px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.fade-in-up {
  animation: 1.2s both fadeInUp;
}

/* ------- Zoom effect ------- */
div.zoom {
    transition: transform .5s;
}
    div.zoom:hover, div.zoom:focus, div.zoom:focus-within, div.zoom:focus-visible {
        -webkit-transform: scale(1.1);
        transform: scale(1.1); 
        transform-origin: center;
    }

/* ------- Modular styles ------- */
.ctnr-full {
    width: 100%;
}
.ctnr-margins-lr {
    width: auto;
    margin-left: 9%;
    margin-right: 9%;
}
.boldwt {
    font-family: var(--ff-sans-bold);
}
.g-6 {
    --bs-gutter-x: 4rem;
    --bs-gutter-y: 4rem;
}
.g-7 {
    --bs-gutter-x: 5rem;
    --bs-gutter-y: 5rem;
}
.g-8 {
    --bs-gutter-x: 6rem;
    --bs-gutter-y: 6rem;
}
.g-9 {
    --bs-gutter-x: 7rem;
    --bs-gutter-y: 7rem;
}
.break-bottom-xs {
    margin-bottom: 2rem; /*32px at screen width 1920*/
}
.break-bottom-sm {
    margin-bottom: 3.375rem; /*54px at screen width 1920*/
}
.break-bottom-med {
    margin-bottom: 5rem; /*80px at screen width 1920*/
}
.break-bottom-lg {
    margin-bottom: 7.8rem; /*125px at screen width 1920*/
}
.bg-primary-medp1 {
    background-color: var(--color-primary-medp1);
}
.bg-primary-medp2 {
    background-color: var(--color-primary-medp2);
}
.bg-primary-lightp3 {
    background-color: var(--color-primary-lightp3);
}
.bg-primary-darkp4 {
    background-color: var(--color-primary-darkp4);
}
.bg-secondary-medp1 {
    background-color: var(--color-secondary-medp1);
}
.bg-secondary-medp2 {
    background-color: var(--color-secondary-medp2);
}
.bg-secondary-lightp3 {
    background-color: var(--color-secondary-lightp3);
}
.bg-secondary-darkp4 {
    background-color: var(--color-secondary-darkp4);
}
.bg-tertiary-medp1 {
    background-color: var(--color-tertiary-medp1);
}
.bg-tertiary-medp2 {
    background-color: var(--color-tertiary-medp2);
}
.bg-tertiary-lightp3 {
    background-color: var(--color-tertiary-lightp3);
}
.bg-tertiary-darkp4 {
    background-color: var(--color-tertiary-darkp4);
}


/* ***** ------- Media queries ------- ***** */
@media screen and ( prefers-reduced-motion: reduce ) {
    /* ------- Zoom effect ------- */
    a div.zoom {
        transition: none;
    }
        a:hover div.zoom, a:focus div.zoom, a:focus-within div.zoom, a:focus-visible div.zoom {
            -webkit-transform: none;
            transform: none; 
        }
}

@media (min-width: 390px) {
    .app-title {
        width: auto;
    }
    /*.site-brand {
        white-space: normal;
    }*/
    .guide-reveal {
        top: 32px;
    }
}

@media (min-width: 438px) {
    .ctnr-feature-primary h1 {
        padding-top: 27%;
    }
}

@media (min-width: 576px) {
    .keyprojects-feature-flex {
        flex-direction: column;
    }
    .keyprojects-feature-head {
        margin-bottom: 2.825rem;
    }
    .seqframes-banner > div:first-child {
        width: 65%;
        padding: 5% 8% 2% 13%;
    }
    .seqframes-banner > div:nth-child(4) {
        display: table-cell;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: cover;
        width: 35%;
    }
}

@media (max-width: 991px) and (min-width: 576px) {
    .ctnr-slideshow > .slide:first-child {
        width: 100%;
    }
    .ctnr-slideshow > .slide:nth-child(2) {
        width: 64%;
    }
    .ctnr-slideshow > .slide:nth-child(3) {
        width: 33%;
    }
}

@media (min-width: 768px) {
    header {
        padding: 1.6rem 3.2rem 1.9rem 3.2rem;
        gap: 2.8rem;
    }
    .guide-reveal {
        left: 59px;
    }
    .app-head a.jmark-link {
        width: 26px;
        height: 32px;
    }
    .app-title {
        margin-left: 32px;
    }
    .button {
        font-size: 1.065rem;
    }
    .ctnr-feature-primary {
        margin: 0 auto 8% auto;
    }
    .seqframes-highlight > div:nth-child(2) {
        background-color: transparent;
        width: 30%;
        padding: 3%;
    }
    .seqframes-highlight > div:nth-child(3) {
        display: table-cell;
        width: 5%;
        background-color: var(--color-primary-medp1);
    }
    .seqframes-highlight > div:nth-child(4) {
        display: table-cell;
        width: 1%;
        background-color: var(--color-primary-lightp3);
    }
    .seqframes-highlight .seqframes-cta .button-light {
        width: 218px;
    }
    .ctnr-keyprojects img {
        margin-bottom: 0;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .ctnr-slideshow .slide-image {
        height: 420px;
    }
    .seqframes-highlight > div:first-child {
        display: table-cell;
        width: 14%;
        background-color: var(--color-primary-medp2);
    }
    .seqframes-banner > div:first-child {
        width: 62%;
    }
    .seqframes-banner > div:nth-child(2) {
        display: table-cell;
        /*background-color: var(--color-primary-medp1);*/
        width: 3%;
    }
    .seqframes-banner > div:nth-child(3) {
        display: table-cell;
        /*background-color: var(--color-primary-lightp3);*/
        width: 1%;
    }
    .seqframes-banner > div:nth-child(4) {
        width: 34%;
    }
}

@media (min-width: 992px) {
    .navbar-collapse {
        margin-top: 0;
    }
    .navbar-text {
        display: inline;
        min-width: 108px;
    }
    .app-nav ul li {
        margin-left: 40px;
    }
    .seqframes-highlight > div:first-child {
        display: table-cell;
        width: 10%;
        background-color: var(--color-primary-medp2);
    }
    .seqframes-highlight > div:nth-child(5) {
        width: 46.5%;
    }
    .seqframes-highlight > div:nth-child(6) {
        display: table-cell;
        width: 7.5%;
        background-color: var(--color-primary-darkp4);
    }
    .ctnr-tabs .nav-link {
        padding: 2.5rem 1.8rem;
    }
    /*.ctnr-tabs .tab-content .tab-pane p a, .ctnr-tabs .tab-content .tab-pane p a:link, .ctnr-tabs .tab-content .tab-pane p a:visited, .ctnr-tabs .tab-content .tab-pane p a:hover, .ctnr-tabs .tab-content .tab-pane p a:active {
        padding: 2.25rem 3.75rem;
    }*/
    .ctnr-tabs .tab-content .tab-pane p {
        /*width: 50%;*/
        padding: 2.25rem 3.75rem;
    }
    .ctnr-slideshow > .slide:first-child {
        width: 52%;
    }
    .ctnr-slideshow > .slide:nth-child(2) {
        width: 28%;
    }
        /*.ctnr-slideshow > .slide:nth-child(2) .slide-image {
            background-position: 23% 53%;
        }*/
    .ctnr-slideshow > .slide:nth-child(3) {
        width: 15%;
    }
        .ctnr-slideshow .slide-image {
            height: 520px;
        }
        .ctnr-slideshow .slide-image p {
            width: 75%;
        }
    .ctnr-slideshow .slide p.slide-description {
        font-size: 1.5rem;
    }
    .ctnr-keyprojects {
        --bs-gutter-x: 5rem;
        --bs-gutter-y: 5rem;
    }
    .keyprojects:not(.keyprojects-feature) p.project-title {
        font-size: 1.45rem;
    }
    .seqframes-banner > div:first-child {
        width: 53%;
    }
    .seqframes-banner > div:nth-child(2) {
        display: table-cell;
        /*background-color: var(--color-primary-medp1);*/
        width: 3%;
    }
    .seqframes-banner > div:nth-child(3) {
        display: table-cell;
        /*background-color: var(--color-primary-lightp3);*/
        width: 1%;
    }
    .seqframes-banner > div:nth-child(4) {
        width: 25%;
    }
    .seqframes-banner > div:nth-child(5) {
        display: table-cell;
        /*background-color: var(--color-primary-darkp4);*/
        width: 18%;
    }
}

@media (min-width: 1025px) {
    .ctnr-slideshow > .slide:not(:first-child) {
        opacity: 0.65;
    }
    .ctnr-slideshow:hover > .slide,
    .ctnr-slideshow:focus-within > .slide {
        opacity: 0.65;
    }
    .ctnr-slideshow:hover > :hover,
    .ctnr-slideshow:focus-within > :focus-within {
        opacity: 1;
    }
        .ctnr-slideshow .slide p.slide-description span {
            font-family: var(--ff-sans-light);
            opacity: 0;
            transition: opacity 0.7s;
        }
        .ctnr-slideshow .slide:hover p.slide-description span, .ctnr-slideshow .slide:focus-within p.slide-description span {
            opacity: 1;
        }
    .keyprojects:not(.keyprojects-feature) .row {
        opacity: 0.65;
        transition: opacity .7s;
    }
        .keyprojects:not(.keyprojects-feature) .row:hover, .keyprojects:not(.keyprojects-feature) .row:focus-within, .keyprojects:not(.keyprojects-feature) .row:focus-visible {
            opacity: 1;
        }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .ctnr-tabs {
        width: auto;
        margin-left: 9%;
        margin-right: 9%;
    }
}

@media (min-width: 1200px) {
    .ctnr-feature-primary h1 {
        padding-left: 13%;
        padding-right: 13%;
    }
    .ctnr-margins-lr {
        margin-left: 13%;
        margin-right: 13%;
    }
    .ctnr-tabs {
        width: auto;
        margin-left: 13%;
        margin-right: 13%;
    }
}

@media (min-width: 1362px) {
    .navbar-expand-lg .navbar-collapse {
        width: auto;
    }
    .guide-reveal {
        top: 25px;
    }
}