/* Some css is included in the head element (head.html) */

:root {
    --white: #FFFFFF;

    --orange-100: #FB6504;
    --orange-60: #FFA566;

    --blue-100: #16475F;
    --blue-60: #73909F;

    --cream-100: #FCF5E7;
    --cream-80: #FDF7EC;
    --cream-60: #FFFBF5;

    --yellow-100: #FFAA00;
    --yellow-80: #FFBB33;

    --dark-blue-100: #0E2E3B;
    --dark-blue-60: #6E8289;

    --dark-gray-100: #292929;
    --dark-gray-80: #404040;
    --dark-gray-60: #606060;
    --dark-gray-40: #9F9F9F;
    --dark-gray-20: #DFDFDF;

    --background-color-dark: var(--dark-blue-100);

    --text-color-light: var(--dark-gray);
    --text-color-dark: var(--dark-gray);
    --link-color: var(--blue);
    --background-color: var(--white);
    --header-color: var(--dark-blue);
    --border-color: var(--orange);
    --header-logo-color: var(--dark-blue);
    --footer-logo-color: var(--dark-blue);

    /* space between edges and content */
    --body-padding: 1rem;

    --content-width: 1920px;
}

h1,
h2,
h3,
h4,
h5,
h6,
button,
a {
    font-family: 'Roboto Condensed', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    color: var(--header-color);
}

h1 {
    font-size: min(3rem, 10.5vw);
    margin-bottom: 1rem;
}

h2 {
    font-size: 2.25rem;
    margin-bottom: 1rem;
}

h3 {
    font-size: 1.5rem;
    margin-bottom: .5rem;
}

body {
    font-family: 'Nunito', sans-serif;
    font-weight: 400;
    background-color: var(--background-color);
    overflow-x: hidden;
    padding: 0 calc((100vw - var(--content-width)) / 2);
    color: var(--dark-blue-100);
}

a {
    text-decoration: none;
    color: var(--dark-blue);
}

strong {
    font-weight: bold;
}

object {
    pointer-events: none;
}

b {
    font-weight: 700;
}

main {
    padding-bottom: 2rem;
    display: flex;
    flex-direction: column;
}

main,
footer {
    background-color: white;
}

body {
    background-color: lightgrey;
}

.hero-image-container {
    display: grid;
    color: var(--white);
    max-width: 100vw;
}

/* overlay elements on top of each other */
.hero-image-container>* {
    grid-area: 1 / -1;
    max-width: 100vw;
}

.hero-image {
    max-width: 100vw;
}

.text-overlay {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 1rem 1rem 4.25rem;
    gap: 2rem;
    align-self: flex-end;
}

.no-scroll {
    overflow: hidden;
}

.minimal-link {
    text-decoration: none;
    color: var(--link-color);
}

.divider {
    height: 1px;
    background-color: var(--background-color-dark);
    width: 100%;
}

.not-a-button {
    background-color: unset;
    border: none;
    cursor: pointer;
}

.button-orange-100 {
    background-color: var(--orange-100);
    columns: var(--white);
    border-radius: 0.25rem;
    padding: 1rem 2rem;
    font-weight: 700;
    text-align: center;
    color: var(--white);
    text-decoration: underline 0.15rem rgba(255, 255, 255, 0);
    transition: text-decoration-color;
    transition-duration: .15s;
}

.button-dark-blue-100 {
    background-color: var(--dark-blue-100);
    columns: var(--white);
    border-radius: 0.25rem;
    padding: 1rem 2rem;
    font-weight: 700;
    text-align: center;
    color: var(--white);
    text-decoration: underline 0.15rem rgba(255, 255, 255, 0);
    transition: background-color;
    transition-duration: .15s;
}

.button-dark-blue-100:hover,
.button-orange-100:hover {
    text-decoration-color: rgba(255, 255, 255, 1);
}

/* hides element from view but keeps it screen reader accessible */
/* https://a11y-guidelines.orange.com/en/web/components-examples/accessible-hiding/ */
/* NOTE! if you're using this and find that the page is weirdly overflowing on chromium browsers */
/* you can try making the parent element's position relative and see if that fixes it */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.pl-offset {
    padding-left: calc(8px + 5vw);
}

.hover-underline {
    display: block;
    position: relative;
}

.hover-underline::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.1rem;
    background-color: var(--white);
    opacity: 0;
    transition: opacity 100ms, transform 100ms;
}

.hover-underline:hover::after,
.hover-underline:focus::after,
.hover-underline.active::after {
    opacity: 1;
    transform: translate3d(0, 0.2em, 0);
}

.team-container {
    overflow-x: auto;
}

.team-members {
    --image-width: 18.75rem;
    --gap: 2rem;
    width: max(calc(calc(4*var(--image-width)) + calc(3*var(--gap))), 100%);
    justify-content: center;
    display: flex;
    gap: var(--gap);
    padding-bottom: 1rem;
}

.team-members img {
    width: var(--image-width);
}

.row-1 {
    grid-row: 1 / 1;
}

.col-1 {
    grid-column: 1 / 1;
}

@media (min-width: 768px) {
    .hero-image {
        max-height: 700px;
        width: 100%;
        object-fit: cover;
    }
}