:root {
    --primary: #023663;
    --secondary: #042d50;
}

html {
    font-size: 15px;
}

body {
    font-size: 1.2rem;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-style: normal;
}

a.button, a.button:link, a.button:visited, a.button:hover, a.button:active {
    display: block;
    width: 100%;
    text-align: center;
    font-weight: 500;
    font-size: 1rem;
    background-color: var(--primary);
    color: #fff;
    border-radius: 2.5rem;
    text-decoration: none;
    padding: 1.1rem 1.5rem;
    margin: 3.2rem 0;
    margin-bottom: 0;
    line-height: 1;
    &:hover, &:active {
        background-color: var(--secondary);
    }
    &.alt {
        background-color: #fff;
        color: #000;
    }
}
@media (min-width: 500px) {
    a.button, a.button:link, a.button:visited, a.button:hover, a.button:active {
        width: fit-content;
        margin-bottom: 3.2rem;
    }
}

div.section {
    padding-top: 6rem;
    padding-bottom: 6rem;
    &.alt {
        color: #fff;
        background: linear-gradient(var(--primary),var(--secondary));
    }
}

h1 {
    font-size: 2.4rem;
    font-weight: 300;
}
div.logo-w {
    background-image: url("assets/wegroup-logo-w.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: var(--size-w) var(--size-h);
    width: var(--size-w);
    height: var(--size-h);
}
div.logo-icon-w {
    background-image: url("assets/wegroup-logo-icon-w.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: var(--size-w) var(--size-h);
    width: var(--size-w);
    height: var(--size-h);
}
div.logo {
    background-image: url("assets/wegroup-logo.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: var(--size-w) var(--size-h);
    width: var(--size-w);
    height: var(--size-h);
}

div.header {
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 100dvh;
    .menu {
        background-color: var(--primary);
        display: flex;
        justify-content: space-between;
        padding-top: 1rem;
        padding-bottom: 1rem;
        padding-right: var(--bs-gutter-x, 0.75rem);
        padding-left: var(--bs-gutter-x, 0.75rem);
        .logo-icon-w {
            --size-w: 2.5rem;
            --size-h: 2.5rem;
        }
        .language {
            font-size: .9rem;
            align-content: center;
        }
        a, a:link, a:visited, a:hover, a:active {
            color: #fff;
            text-decoration: none;
        }
    }
    .hero {
        background-image: url("assets/background.jpg"),  linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.4));
        background-blend-mode: overlay;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        flex: 1;
        display: flex;

        .container-fluid {
            display: flex;
            flex-direction: column;
            flex: 1;
        }
        .title {
            display: flex;
            flex: 1;
            justify-content: center;
            align-content: center;
            justify-self: center;

            .logo-w {
                align-self: center;
                --size-w: 13rem;
                --size-h: 13rem;
                @media (min-width: 500px) {
                    --size-w: 23rem;
                    --size-h: 23rem;
                }
            }
        }
        h1 {
            padding-right: var(--bs-gutter-x, 0.75rem);
            padding-left: var(--bs-gutter-x, 0.75rem);
            margin-bottom: 3.5rem;
        }
    }
}

div.section.intro {
    h1 {
        margin-bottom: 3.2rem;
    }
}
div.section.we-do {
    h1 {
        margin-bottom: 2.5rem;
    }
    a.button {
        margin-top: 7rem;
    }
    ul {
        font-weight: 200;
        list-style-type: none;
        padding-left: 0;
        line-height: 1.5;
        margin-bottom: unset;
        border-bottom: 1px solid rgba(255, 255, 255, 0.47);
        li {
            border-top: 1px solid rgba(255, 255, 255, 0.47);
            display: flex;
            font-size: 1.2rem;
            flex-direction: column;
            align-items: start;
            padding: 3.5rem 0;
            position: relative;
            cursor: pointer;
            span {
                margin-top: 1.8rem;
                display: block;
            }
            @media (min-width: 720px) {
                span {
                    margin-top: 0;
                    position: absolute;
                    left: 13rem;
                }
                font-size: 2rem;
                flex-direction: row;
                align-items:center;
                margin-bottom: 0;
            }
            @media (min-width: 980px) {
                span {
                    left: 17rem;
                }
                font-size: 2.5rem;
            }
        }
    }
}
div.callout-image {
    background-image: url("assets/callout.jpg");
    min-height: 55vh;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.footer {
    font-size: 1rem;
    margin-top: 5rem;
    margin-bottom: 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 4.5rem;
    font-weight: 300;
    .logo {
        --size-w: 5rem;
        --size-h: 6.5rem;
    }
    .headline {
        display: block;
        font-size: 1.4rem;
        font-weight: 400;
        margin-bottom: 0;
    }
    .cols {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        gap: 1rem;
        a, a:link, a:visited, a:hover, a:active {
            display: block;
            color: #000;
            text-decoration: none;
        }
        .address {
            margin-top: 1.5rem;
            margin-bottom: 1.5rem;
        }
        @media (min-width: 500px) {
            .address {
                margin-top: 0;
            }
            width: 80%;
            flex-direction: row;
        }
    }
}
