/* ==CONFIG BOX SIZING PADRÃO== */
*,
*::after,
*::before {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* fundo, geral */
body {
    font-family: Roboto, sans-serif;
    background-color: #1f2937;
}

/* ==HEADER== */
header {
    display: flex;
    justify-content: space-between;
    padding: 15px 80px;
    gap: 20px;
}

header ul {
    display: flex;
    list-style: none;
    gap: 22px;
    flex-wrap: wrap;
}

/* ==LINKS SEM DECORAÇÃO== */
a {
    text-decoration: none;
    color: lightgray;
}

/* ==BODY-TOP== */
/* ==texto e botão de sign up== */
section h1 {
    font-size: 48px;
    color: #F9FAF8;
    font-weight: 900;
}

section p {
    font-size: 18px;
    color: #E5E7EB;
}

section .botao {
    background-color: #3882f6;
    border-radius: 5px;
    max-width: 120px;
    height: 40px;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: auto;
}

h2 a {
    font-size: 24px;
    color: #f9faf8;
}
/* ==transformando body-top em flex-container== */
.body-top {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 80px 80px;
    gap: 40px;
}
/* ==configurando alinhamento texto e botão sign up em container-items== */
.body-top section {
    display: flex;
    flex-direction: column;
    max-width: 450px;
    min-height: 400px;
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-start;
    gap: 5px;
}
/* ==configurando alinhamento imagem== */
.body-top .imgCity {
    /* border: 2px solid gray; */
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: lightslategray;
    flex: 0.5 1 auto;
}

/* ==SOME RANDOM INFO BOX== */
.info {
    background-color: white;
}

.info h2 {
    text-align: center;
    padding: 30px;
    font-size: 36px;
    color: #1f2937;
    font-weight: 900;
}

/* ==Flex-container com imagem, borda e texto== */
.links {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    padding: 10px 80px;
    gap: 20px;
    flex-wrap: wrap;
}

.links .subject {
    max-width: 150px;
}

.subject a .sub {
    border: 2px solid #3882f6;
    border-radius: 8px;
    width: 150px;
    height: 150px;
    margin-bottom: 10px;
}

.subject p a {
    color: #1f2937;
}

.links p {
    text-align: center;
    margin-bottom: 80px;
}

/* ==BOX CINZA COM QUOTE== */
.quote {
    background-color: #E5E7EB;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.quote .content {
    /* border: 2px solid green; */
    display: flex;
    flex-flow: column wrap;
    justify-content: space-between;
    align-items: center;
    margin: 100px;
    width: 80%;
    height: auto;
    gap: 10px;
}

.quote .text {
    font-size: 18px;
    font-weight: lighter;
    font-style: italic;
    color: #1F2937;
    max-width: 400px;
    max-height: 100px;
    flex: 1 1 auto;
    width: 100%;
    height: auto;
}

.quote .autor {
    font-weight: 900;
    align-self: flex-end;
}

/* ==CALL TO ACTION PART== */
.bottom {
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 80px;
}

.card {
    /* border: 2px solid black; */
    background-color: #3882f6;
    border-radius: 8px;
    color: white;
    display: flex;
    justify-content: space-between;
    flex: 0.5 1 auto;
    /* min-width: fit-content; */
    padding: 50px 80px;
    gap: 80px;
    flex-wrap: wrap;
}

.card .txt {
    /* border: 2px solid black; */
    display: flex;
    flex-flow: column wrap;
    gap: 8px;
}

.card .botao {
    align-self: flex-end;
    flex-shrink: 0;
}

.card .botao button {
    background-color: #3882f6;
    border: 2px solid white;
    border-radius: 8px;
    color: white;
    padding: 8px 25px;
    margin: 0 auto;
}

.botao button a {
    color: white;
}

/* ==FOOTER== */
.foot {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px;
    color: white;
}