Based on the image you provided of your desired outcome, this is how I would approach it:
First, change the styles into CSS classes because inline styling gets messy and hard to work with. Apply those classes to the appropriate <div>s. You will need to set an actual height value to the blue container if you want it to fill in the remainder of the parent container.
There are many ways to format the text to display centered vertically and horizontally (see: https://www.w3schools.com/css/css_align.asp) but I used the positional attributes to do so. You can try various methods and use whichever your most comfortable with.
.parentContainer {
display: block;
height: 100%;
background-color: red;
}
.greenBlock {
display: block;
height: 100px;
background-color: green;
}
.blueBlock {
position: relative;
display: block;
text-align: center;
justify-content: center;
height: 500px;
margin: 0 auto;
background-color: blue;
}
h1 {
margin: 0 0;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
<div class="parentContainer">
<div class="greenBlock">
</div>
<div class="blueBlock">
<h1>Content</h1>
</div>
</div>