@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100;200;300;400;500;600;700;800;900&display=swap');

body {
    font-family: 'Lexend', sans-serif;
}

a {
    text-decoration: none;
}

header {
    height: 900px;
    background: linear-gradient(0deg, rgba(0, 0, 0, .8), rgba(0, 0, 0, 0.70)), url(/img/hero.png);
    background-position: center;
    background-size: cover;
    margin-top: -90px;
    display: flex;
    justify-content: center;
}

.hero-title {
    line-height: 1.25em;
    word-wrap: break-word;
}

.hero-subtitle {
    font-size: .8em;
    line-height: 1.5em;
}

.hero-call-to-action {
    max-width: 700px;
    padding: 15vh 160px;
    color: var(--bright-text-color);
    display: flex;
    flex-direction: column;
    text-align: center;
}

section {
    min-height: 500px;
    padding: 120px 160px;
}

.button {
    color: var(--bright-text-color);
    width: fit-content;
    display: inline-box;
    padding: 10px 25px;
    transition: background-color .5s;
    user-select: none;
}

.button.primary {
    background-color: var(--blue-call-to-action-color);
}

.button.primary:hover {
    background-color: var(--blue-brighter-call-to-action-color);
}

.button.secondary {
    background-color: none;
    border: 1px solid var(--bright-text-color);
}

.button.secondary:hover {
    background-color: rgba(0, 0, 0, 0.55);
}

.call-to-action-buttons {
    margin-top: 25px;
    display: flex;
    gap: 25px;
    align-self: center;
}

section {
    color: var(--text-color);
}

section.why-choose-us {
    display: flex;
    flex-direction: column;
    align-items: center;
}

section h2 {
    color: var(--blue-call-to-action-color);
    line-height: 1.5;
}

section.who-are-we {
    display: block;
    background-color: #F3F5F8;
    box-shadow: inset 0 7px 35px -7px rgba(0, 0, 0, 0.2);
}

section.who-are-we div {
    display: flex;
    gap: 10em;
}

section.who-are-we .left {
    display: flex;
    flex: 3;
    flex-direction: column;
    gap: 0;
}

section.who-are-we .right {
    flex: 3;
    display: flex;
    gap: 3em;
}

section.who-are-we h2 {
    font-size: 40px;
}

section.who-are-we p {
    font-size: 1.25em;
    margin-bottom: 3em;
}

section.who-are-we .signature {
    text-transform: uppercase;
    color: var(--blue-call-to-action-color);
    font-weight: 600;
    font-size: 1.5em;
    margin-bottom: 0.5em;
}

section.who-are-we .title {
    font-size: 1.25em;
}

section.who-are-we .right {
    justify-content: flex-end;
}

section.who-are-we .right div {
    width: 50%;
    display: flex;
    gap: 0;
    flex-direction: column;
}

section.who-are-we .right div img {
    width: 100%;
}

section.who-are-we .right h3 {
    color: var(--blue-call-to-action-color);
}

.next-button {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--carousel-blue);
    background-image: url(/img/next-button.svg);
    background-repeat: no-repeat;
    background-position: center;
    transition: .3s background-color;
}

.next-button:hover {
    background-color: var(--blue-brighter-call-to-action-color);
}

.margin-top-25 {
    margin-top: 1.85em;
}

section.services {
    background-color: #07254F;
    display: flex;
    flex-wrap: wrap;
    gap: 90px;
    row-gap: 128px;
    background-image: url(/img/map-bg.png);
    background-repeat: no-repeat;
    background-position-x: right;
    background-position-y: bottom;
}

section.services>* {
    flex: 0 0 28%;
    height: 200px;
    padding: 2em;
    word-wrap: break-word;
    border: 5px solid #25508C;
    transition: .3s border, color;
    box-sizing: border-box;
}

section.services>*:hover {
    border: 5px solid #fff;
}

section.services>*:hover>span {
    color: #fff;
}

section.services>.exceptional-services {
    color: #fff;
    font-size: 2.5em;
    border: 5px solid rgba(0, 0, 0, 0);
    padding: 0;
}

section.services>*>h4 {
    color: #fff;
    font-size: 1.5em;
    margin: 0 0 1.5em 0;
}

section.services>*>span {
    font-size: 1.25em;
}

footer {
    display: flex;
    background-color: #F3F5F8;
    color: #626262;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    padding: 3em 0;
    text-align: center;
    /* box-shadow: inset 0 7px 35px -7px rgba(0, 0, 0, 0.2); */
}

footer a.logo {
    font-size: 50px;
    color: #ffffff;
    text-shadow: 2px 2px 8px #000000;
}

footer .logo::first-letter {
    color: #0046A7;
}