﻿/* ------- 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%;
}

.page-node-type-future-foundations {
    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;
}

.page-node-type-future-foundation .main-content {
    padding-top: unset !important;
}

section {
    background-color: #000;
}

footer {
    width: 100%;
    background-color: #dbdbdb;
    color: #000;
    padding-top: 3rem;
    padding-bottom: 2rem;
}

    footer a {
        text-decoration: underline !important;
    }

h1 {
    font-family: var(--ff-sans-bold);
    font-size: clamp(2.1rem, 1.2231rem + 3.8974vw, 5.9rem) !important;
    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;
    margin-bottom: .5rem !important;
}

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-secondary {
    background-color: var(--color-secondary-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-secondary-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: 49% 50%;
    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-intro span {
    font-family: var(--ff-sans-light);
}

.seqframes-highlight .seqframes-cta p.cta-smaller {
    font-size: clamp(1.5rem, 1.419rem + 0.359vw, 1.85rem);
    /*(1.5rem, 1.316rem + 0.684vw, 2rem)*/
}

.seqframes-highlight .seqframes-cta p.cta-button {
    margin-bottom: 0;
}

.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:nth-child(2) .slide-image {
    background-position: 68% 53%;
}

.ctnr-slideshow .slide:nth-child(3) .slide-image {
    background-position: 70% 53%;
}

.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-secondary-medp1);
    }

    .seqframes-highlight>div:nth-child(4) {
        display: table-cell;
        width: 1%;
        background-color: var(--color-secondary-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-secondary-darkp4);
    }

    .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-secondary-darkp4);
    }

    .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-secondary-medp2);
    }

    .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: unset;
        /*0*/
        transition: unset;
        /*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;
    }
}