@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

body {
    --bright-background: #f9faf8;
    --med-background: #e5e7eb;
    --dark-background: #1f2937;
    --main-text: #f9faf8;
    --sec-text: #e5e7eb;
    --button: #3882f6;
    --text: #1f2937;
    --max-width: 90rem;
    --mid-width: 60em;
    font-family: 'Roboto', 'Arial', sans-serif;
    margin: 0px;
}

.top, .first, .second, .third {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
    padding: 12px;
}

.top {
    background-color: #1f2937;
}

.cont-wrap {
    width: 900px;
    max-width: var(--max-width);
    display: flex;
    flex: 1;
    flex-flow: column;
    margin: 0;
}

.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header a {
    text-decoration: none;
    color: #e5e7eb;
}

.header ul{
    list-style: none;
    display: flex;
    gap: 12px;
    margin: 0;
    padding: 0;
    color: #e5e7eb;
}

.logo {
    font-size: 24px;
    font-weight: 900;
    color: #f9faf8;
}

.hero {
    display: flex;
    flex: 1;
    align-self: center;
    flex-flow: row;
    justify-content: center;
    padding: 32px 0px;
    flex-shrink: 1;
    gap: 18px
}

.hero div {
    display: flex;
    flex-flow: column nowrap;
}

.hero-title {
    font-size: 48px;
    font-weight: 900;
    color: #f9faf8;
    margin: 0px;
}

button {
    background-color: #3882f6;
    color: white;
    font-size: 16px;
    font-weight: bold;
    border: none;
    border-radius: 6px;
    padding: 8px;
    max-width: 130px;
}

button:active {
    background-color: var(--dark-background);
}

.subtext {
    color: #e5e7eb;
}

.img-container {
    flex: 1;
    height: 250px;
    background-color: #8cb4ed86;
    overflow: hidden;
    border-radius: 8px;
}

.hero .img-container {
    flex-shrink: 0;
    width: 500px;
    height: 250px;
    flex-basis: 500px;
}

.hero .img-container img {
    width: 120%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    margin: 0px -36px;
}

.content {
    display: flex;
    flex-flow: column nowrap;
}


.first, .third {
    background-color: var(--bright-background);
}

.first .cont-wrap, .second .cont-wrap, .third .cont-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.info {
    flex: 1;
    width: inherit;
    font-size: 36px;
    font-weight: 900;
    text-align: center;
}

.card-container {
    flex: 1;
    display: flex;
}

.card {
    flex: 1;
    width: 250px;
    max-width: 280px;
    text-align: center;
    padding: 8px;
    margin: 8px;
}

.card .img-container {
    border: var(--button) solid;
    border-radius: 10px;
}

.card-img1, .card-img2, .card-img3, .card-img4 {
    object-fit: cover;
}

.card-img1 {
    width: 140%;
    object-position: center;
    margin: -50px -50px;
}

.card-img2 {
    width: 200%;
    object-position: center center;
    margin: -160px -120px;
}

.card-img3 {
    width: 170%;
    object-position: center top;
    margin: -200px -76px;    
}

.card-img4 {
    width: 200%;
    object-position: center center;
    margin: -200px -100px;    
}

.second {
    background-color: var(--med-background);
    flex: 1;
}

.second .cont-wrap {
    gap: 12px;
    padding: 32px;
    max-width: var(--mid-width);
}

.testimonial {
    color: var(--text);
    font-size: 36px;
    font-style: italic;
    font-weight: lighter;
    margin: 0;
    padding: 0;
}

.signed {
    color: var(--text);
    font-size: 24px;
    font-weight: bold;
    margin: 0;
    padding: 0px 12px;
    align-self: flex-end;
    text-decoration: none;
}

.bluebox {
    width: 100%;
    background-color: var(--button);
    margin: 64px;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    color: var(--main-text);
}

.bluebox div, .bluebox button {
    flex: 1;
    margin: 48px 80px;
}

.bluebox p, .bluebox h4 {
    margin: 4px;
    padding: 0;
}

.bluebox h4 {
    font-size: 1.2em;
}

.bluebox button {
    border: white solid 2px;
    margin: 55px;
}

.footer {
    flex: 1;
    color: var(--main-text);
    background-color: var(--dark-background);
    text-align: center;
}

.footer p {
    margin: 0;
    padding: 24px;
}