* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    height: 100vh;
    font-family: 'Open Sans', sans-serif;
}

.wrapper {
    width: 1170px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 15px;
}

.wrapper--narrow {
    width: 1080px;
}

.container {
    height: 100vh;
    padding-top: 31px;
}

.container .flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    height: 100%;
    padding: 96px 0;
}

.container .flex .image,
.container .flex .text {
    flex: 1 0 50%;
}

.container .flex .text h1 {
    font-weight: bold;
    font-size: 36px;
}

.container .flex .text p {
    margin: 20px 0;
    font-size: 20px;
    line-height: 30px;
}

.fluid {
    display: block;
    max-width: 100%;
    height: auto;
}

@media(max-width: 768px) {
    .container .flex {
        flex-direction: column;
        padding: 45px 0;
    }

    .container .flex .text h1 {
        font-size: 30px;
    }

    .container .flex .text p {
        font-size: 18px;
    }
}