/* fonts */
@font-face {
    font-family: 'GOTHIC';
    src: url('fonts/GOTHIC.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'GOTHICI';
    src: url('fonts/GOTHICI.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'GOTHICB';
    src: url('fonts/GOTHICB.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'GOTHICBI';
    src: url('fonts/GOTHICBI.woff') format('woff');
    font-weight: bold;
    font-style: italic;
}

/* variables */
:root {
    --color-black: #000000;
    --color-white: #FFFFFF;
    --color-lightgrey: #F7F7F7;
    --color-grey: #7F7F7F;
    --color-darkgrey: #1A1A1A;
    --color-red: #E60000;
}

/* styles */
body {
    font-family: 'GOTHIC', 'Helvetica Neue', Arial, sans-serif;
    font-size: 16px;
    margin: 0px;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    margin-bottom: 1.5rem;
}

h2, .h2 {
    font-size: 2rem;
}

h3, .h3 {
    margin-bottom: .5rem;
}

.big-font {
    font-size: 4rem;
}

a {
    color: var(--color-white);
    text-decoration: underline;
}

p {
    font-size: 1.125rem;
    margin-top: 0;
}

.bold {
    font-family: 'GOTHICB';
}

.italic {
    font-family: 'GOTHICI';
}

.bold-italic {
    font-family: 'GOTHICBI';
}

.mt-1 {
    margin-top: 1rem;
}

.mr-1 {
    margin-right: 1rem;
}

.mb-1 {
    margin-bottom: 1rem;
}

.ml-1 {
    margin-left: 1rem;
}

.mt-2 {
    margin-top: 2rem;
}

.mr-2 {
    margin-right: 2rem;
}

.mb-2 {
    margin-bottom: 2rem;
}

.ml-2 {
    margin-left: 2rem;
}

.pt-1 {
    padding-top: 1rem;
}

.pr-1 {
    padding-right: 1rem;
}

.pb-1 {
    padding-bottom: 1rem;
}

.pl-1 {
    padding-left: 1rem;
}

.pt-2 {
    padding-top: 2rem;
}

.pr-2 {
    padding-right: 2rem;
}

.pb-2 {
    padding-bottom: 2rem;
}

.pl-2 {
    padding-left: 2rem;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* header */
header {
    position: relative;
    background: var(--color-black);
    color: var(--color-white);
}

header h1 {
    display: none;
}

header .logo {
    position: absolute;
    width: 100%;
    max-width: 291px;
    top: 33px;
    left: 33px;
    z-index: 1;
}

.header-container {
    display: flex;
    height: 60vh;
    min-height: 832px;
}

.header-left {
    position: relative;
    width: 60%;
    overflow: hidden;
    background: transparent linear-gradient(-31deg, var(--color-black) 0 7.2vw, var(--color-darkgrey) 7.2vw 100vw);
}

.header-left-container {
    position: relative;
    width: max-content;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
}

.header-left-container img {
    max-width: 266px;
}

.header-left-container p {
    margin-left: 1rem;
}

.header-right {
    position: relative;
    width: 40%;
    overflow: hidden;
}

.header-container::before {
    content: '';
    position: absolute;
    pointer-events: none;
    background: transparent linear-gradient(-31deg, var(--color-black) 0 21vw, transparent 21vw 100vw);
    height: 100%;
    left: auto;
    right: 0;
    width: 40%;
    z-index: 2;
}

.header-right img {
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

/* #content */
#content {
    background: var(--color-black);
    color: var(--color-white);
}

#content .csa {
    display: flex;
}

#content .csa .csa-text {
    width: 50%;
}

#content .csa .csa-text .csa-text-1,
#content .csa .csa-text .csa-text-2,
#content .csa .csa-text .csa-text-3 {
    margin-bottom: 1.5rem;
}

#content .csa .csa-image {
    width: 50%;
    display: flex;
    justify-content: space-between;
}

#content .csa .csa-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

#content .global-power {
    display: flex;
}

#content .global-power ul li {
    color: var(--color-grey);
    margin-bottom: 1rem;
}

#content .global-power ul li::marker {
    color: var(--color-red);
}

#content .global-power .global-power-text {
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 40%;
}

#content .global-power .global-power-image {
    width: 60%;
    display: flex;
    justify-content: space-between;
}

#content .global-power .global-power-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.innovations {
    max-width: 62rem;
    padding-top: 9.375rem;
    padding-bottom: 9.375rem;
}

.csa {
    padding-top: 0;
    padding-bottom: 9.375rem;
}

.global-power {
    padding-top: 0;
    padding-bottom: 9.375rem;
}

/* #people */
#people {
    background: var(--color-lightgrey);
    color: var(--color-black);
    padding-top: 4rem;
    padding-bottom: 2.5rem;
}

#people .people {
    padding-right: 4rem;
}

#people .people,
#people .people .people-text {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.people img {
    width: 480px;
    clip-path: polygon(
            60px 0,
            100% 0,
            100% calc(100% - 60px),
            calc(100% - 60px) 100%,
            0 100%,
            0 60px
    );
}

.people .people-text-infos {
    display: flex;
}

.people .people-text-info {
    width: 50%;
}

/* #contact */
#contact {
    background: var(--color-black);
    color: var(--color-white);
    padding-top: 4rem;
    padding-bottom: 4rem;
}

#contact .contact,
#contact .contact .contact-text {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#contact .contact .contact-text-1,
#contact .contact .contact-text-2 {
    display: flex;
    flex-direction: column;
}

.contact-text-1 p:not(:first-of-type) {
    margin-top: 0;
}

.contact-text-2 p:last-of-type {
    margin-top: 0;
    margin-bottom: 0;
}

.contact-text-1 {
    justify-content: flex-start;
    margin-right: 1.5rem;
}

.contact-text-2 {
    justify-content: flex-end;
}

/* footer */
footer {
    background: var(--color-grey);
    color: var(--color-white);
    padding-top: 3rem;
    padding-bottom: 3rem;
}

footer .footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

footer .footer .footer-logo img {
    width: 76px;
    height: auto;
}

footer .footer .footer-links a {
    margin-right: 1.5rem;
}

footer .footer .footer-links a:last-of-type {
    margin-right: 0;
}

/* containers */
.container-lg {
    max-width: 1140px;
    margin: 0 auto;
}

.container-xl {
    max-width: 1320px;
    margin: 0 auto;
}

.container-lg,
.container-xl {
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Mobile styles */
@media screen and (max-width: 768px) {
    a, p {
        word-break: break-word;
        text-wrap: balance;
    }

    .header-left {
        background: var(--color-darkgrey);
    }

    .header-container::before {
        content: none;
    }

    .header-container {
        flex-direction: column-reverse;
        height: 100%;
        min-height: unset;
    }

    #content .csa .csa-image,
    #content .global-power .global-power-text,
    #content .global-power .global-power-image,
    .header-container > div {
        width: 100% !important;
    }

    .header-right {
        height: 60vh;
    }

    .header-left-container {
        top: 0;
        transform: translateX(-50%);
        padding-top: 2rem;
        padding-bottom: 2rem;
        width: 100%;
        max-width: 240px;
    }

    .header-left-container p {
        margin-left: 0;
        margin-bottom: 0;
    }

    .header-left-container * {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .header-left {
        clip-path: none;
    }

    .header-right {
        clip-path: none;
    }

    .csa,
    .global-power,
    .people {
        flex-direction: column;
    }

    .people-text > div {
        padding-right: 0;
    }

    #people {
        padding-top: 0;
    }

    #people .people {
        padding-right: 0;
    }

    #people .people img {
        width: 100%;
    }

    #people .people .people-text {
        justify-content: center;
    }

    #contact .contact-text-1 a {
        margin-bottom: 1.125rem;
    }

    footer .footer {
        flex-direction: column;
    }

    .footer-links {
        display: flex;
        flex-direction: column;
        margin-top: 1rem;
    }

    .footer-links a {
        margin-bottom: .5rem;
    }

    #content > div > div {
        margin-top: 0;
        margin-bottom: 0;
    }

    .innovations {
        max-width: 100%;
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .csa {
        padding-top: 0;
        padding-bottom: 2rem;
    }

    .global-power {
        padding-top: 0;
        padding-bottom: 2rem;
    }

    .csa .csa-text {
        padding-left: 0;
        width: 100% !important;
    }
}
