:root
{

    --color-white: #FFFFFF;
    --color-black: #050505;
    --color-blue: #004F9F;
    --color-very-light-purple: #D5D1E5;
    --color-very-light-blue: #BFDBED;

    --max-width: 68rem;
    --padding-x: 4rem;
    --padding-y: 3rem;

}

/*  attributes for all  */
html, body, header, main, footer, section, h1, h2, h3, h4, h5, h6, p, div, img, a, address, b, i, u, sup, div, span, ul, li
{
    margin: 0;
    padding: 0;
    border: 0;
}

/*  tags  */
html
{
    min-height: 100%;
}

body
{
    font-family: 'Inter', sans-serif;
    background: var(--color-white);
    color: var(--color-black);
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    margin: 0 auto;
    max-width: 120rem;
}

img
{
    max-width: 100%;
}

header
{
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    background: var(--color-blue);
    height: 3rem;
    padding: calc(var(--padding-y) * 0.5) var(--padding-x);
}
header #logo
{
    text-decoration: none;
    height: 100%;
}
header #logo img
{
    width: auto;
    height: 100%;
}

section, footer
{
    padding: var(--padding-y) var(--padding-x);
}

section#hero
{
    position: relative;
    padding: 0;
    background: linear-gradient(to right, var(--color-very-light-blue) 0%, var(--color-very-light-purple) 100%);
}
section#hero:before
{
    content: '';
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url("../img/hero-background.svg") center center no-repeat;
    background-size: auto 145%;
    user-select: none;
    pointer-events: none;
}

ul.pills
{
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    list-style-type: none;
    padding: var(--padding-y) 0;
    gap: 4rem;
    min-height: 35rem;
}
ul.pills li
{
    display: flex;
}
ul.pills li a
{
    display: flex;
    overflow: clip;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    background: var(--color-white);
    border-radius: 99rem;
    transition: transform .3s ease, box-shadow .3s ease;
    will-change: transform;
}
ul.pills li:first-child a { border-radius: 0 99rem 99rem 0; }
ul.pills li:last-child a { border-radius: 99rem 0 0 99rem; }
ul.pills li a:hover
{
    transform: scale(1.05);
    box-shadow: 0 0 .5rem rgb(0 0 0 / .125);
}
ul.pills li a
{
    padding: 3rem 4rem;
}
ul.pills li a img
{
    width: auto;
    height: 3.5rem;
}

main
{
}

section#intro
{
    background: var(--color-white);
    color: var(--color-black);
    padding: var(--padding-y) var(--padding-x) 0 var(--padding-x);
    text-align: center;
}
section#intro h1
{
    margin-top: 1.5rem;
    text-transform: uppercase;
}

section#content .logo
{
    max-width: 24rem;
    margin-bottom: 1.5rem;
}

.wrapper
{
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: var(--max-width);
    box-sizing: border-box;
    container-name: wrapper;
    container-type: inline-size;
}
.columns
{
    display: grid;
    gap: 4rem 6rem;
    grid-template-columns: repeat(2, minmax(10rem, 26rem));
    justify-content: space-between;
}
@container wrapper (max-width: 48rem)
{
    .columns { grid-template-columns: 1fr; }
}


a
{
    color: inherit;
    text-decoration: rgba(0, 0, 0, .125) underline 2px;
    transition: color .3s ease, background .3s ease, border .3s ease, text-decoration .3s ease;
}
a:hover
{
    text-decoration: var(--color-blue) underline 2px;
}
a.button
{
    display: inline-block;
    padding: .5em 2em;
    color: var(--color-black);
    border: 2px solid var(--color-black);
    border-radius: 99rem;
    font-size: 1.25rem;
    font-weight: normal;
    text-decoration: none;
    margin-bottom: 3.5rem;
    transition: color .3s ease, border .3s ease, transform .3s ease;
}
a.button:hover
{
    color: var(--color-blue);
    border-color: var(--color-blue);
    transform: scale(1.05);
}

h1, h2, h3, h4 { display: block; }
h1 { font-size: 1.75rem; margin-bottom: 1rem; }
h2 { font-size: 1.5rem; margin-bottom: 1rem; }
h3 { font-size: 1.5rem; margin-bottom: .5rem; }

p, ul
{
    font-size: 1.25rem;
    line-height: 1.375;
}
p:not(:last-child)
{
    margin-bottom: 1em;
}

ul.arrows
{
    display: flex;
    flex-flow: column nowrap;
    gap: .5rem;
}
ul.arrows:not(:last-child)
{
    margin-bottom: 1rem;
}
ul.arrows li
{
    position: relative;
    list-style-type: none;
    padding-left: 2rem;
}
ul.arrows li:before
{
    content: '';
    position: absolute;
    left: 0;
    top: .375rem;
    display: block;
    width: 1rem;
    height: 1rem;
    background: url(../img/arrow-list-item-black.svg) no-repeat left center;
    background-size: 100%;
}

.center
{
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    align-self: center;
}

.space-before
{
    display: block;
    padding-top: calc(var(--padding-y) * 2);
}