*, *::before, *::after{
    box-sizing: border-box;
    margin: 0;
}

body, html{
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    width: 100%;
    --primaryColor: #296e8c;
    --secondaryColor: #21a577;
}

section{ padding: 2em }

#cover{
    width: 100%;
    height: 70vh;
    min-height: 25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url(/media/ferramenta.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    font-size: 1.5em;
}

#cover .block:first-child{ margin-right: 1em }

#cover h1{
    font-size: 2em;
    font-weight: 700;
}

#cover h2{
    font-size: 1.5em;
    font-weight: 500;
    margin-top: .5em;
}

#cover .logo{
    width: 6em;
    height: 6em;
}

#banner{
    font-weight: 500;
    text-align: center;
    padding: .8em 2em;
    font-size: 2em;
    text-transform: uppercase;
    background-color: var(--secondaryColor);
    color: #fff;
}

#products{
    width: 100%;
    padding: 4em 1em;
}

#products img{
    object-fit: cover;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    display: block;
}
#features{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

#features > .feature{
    margin: 2em;
    font-size: 1.1em;
    text-align: center;
    font-weight: 500;
}

#features > .feature *{ display: block }

#features > .feature .icon{
    width: 5em;
    height: 5em;
    margin-bottom: .5em;
}

#cards{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 7em 0;
    padding-top: 0em;
    background: linear-gradient(0deg, #bdcdd4, #fff)
}

#cards > .card{
    margin: 1em 3em;
    text-align: center;
    min-width: 20em;
    color: var(--secondaryColor);
}

#cards > .card:first-child{ --color: var(--secondaryColor) }
#cards > .card:last-child{ --color: var(--primaryColor) }

#cards > .card .block{ position: relative }

#cards .card .block b:nth-child(even){ color: var(--primaryColor) }

#cards > .card .block::before,
#cards > .card .block::after{
    content: '';
    position: absolute;
    top: 0;
    left: 100%;
    transform: translateX(-100%);
    width: 100%;
    width: 4em;
    height: 4em;
    border: .8em solid var(--color);
    border-bottom: 0;
    border-left: 0;
}

#cards > .card .block::after{
    bottom: 0;
    top: 100%;
    left: 0;
    transform: unset;
    transform: translateY(-100%);
    right: unset;
    border: .8em solid var(--color);
    border-top: 0;
    border-right: 0;
}

#cards > .card b{
    margin: 1em 0;
    display: block;
    text-transform: uppercase;
    font-size: 1.3em;
}

#cards .card .label{
    position: absolute;
    top: 0;
    left: 0;
    font-size: 1.5em;
    font-weight: bold;
}

#cards .card button{
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 1em;
    background-color: var(--color);
    font-size: 1.7em;
    padding: .5em;
    width: 10em;
    cursor: pointer;
    color: #fff;
}

section.info{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 5em 0;
    color: #fff;
    line-height: 200%;
}

section.info h3{ margin-bottom: .5em }
section.info .block{ max-width: 25em }
section.info .block:first-child{ margin: 3em }

section.info .block h3{
    font-size: 1.7em;
    text-transform: uppercase;
}

section.info img{
    width: 15em;
    height: 15em;
}

#partners{
    font-size: 1.3em;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
}

#partners .partners--container{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    max-width: 1000px;
    margin: 0 auto;
    margin-top: 1.5em;
}

#partners .partners--container img{
    margin: 1em;
    height: 3em;
}


footer{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 4em;
    padding: 3em;
    color: #fff;
    background-color: var(--secondaryColor);
}

footer > *{
    margin: 1em 2em;
    padding: 1em 2em;
}

footer > *:not(:last-child){ border-right: 1px solid #fff4 }

footer .logo{
    margin-right: .8em;
    height: 5em;
}

footer span{
    display: block;
    margin-bottom: .5em;
}
