I am using flexbox to center a heading with an icon. I am trying to center the text part of the heading perfectly, ignoring the icon. The icon should just be added to the right of the heading after the text is centered. I tried using absolute positioning, but it didn't quite work because I also need the heading to wrap when the browser width gets smaller.
In my example, the entire heading is centered. With the icon being there, it throws off the centering of the text.
html
<div class="container">
<div class="wrapper">
<div class="image"></div>
<div class="heading">
<span class="title">racecar racecar racecar</span>
<span class="fa fa-lg fa-car">
</span>
</div>
<div class="description">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam tortor dolor, varius a convallis ut, tincidunt non turpis. Nam gravida.
</div>
</div>
<div class="wrapper">
<div class="image"></div>
<div class="heading">
<span class="title">kayak kayak kayak</span>
<span class="fa fa-lg fa-car">
</span>
</div>
<div class="description">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam pellentesque euismod efficitur. Quisque vitae gravida dolor. Fusce et dui quis arcu sagittis sodales. Vivamus tincidunt orci et neque pulvinar, a aliquam diam tristique. Curabitur lacinia nibh est, id cursus ligula mollis eu. Nullam suscipit nisi vel euismod bibendum. Duis congue.
</div>
</div>
<div class="wrapper">
<div class="image"></div>
<div class="heading">
<span class="title">rotor rotor rotor</span>
<span class="fa fa-lg fa-car"></span>
</div>
<div class="description">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce et dui quis arcu sagittis sodales. Vivamus tincidunt orci et neque pulvinar, a aliquam diam tristique. Curabitur lacinia nibh est, id cursus ligula mollis eu. Nullam suscipit nisi vel euismod bibendum. Duis congue.
</div>
</div>
</div>
css
.wrapper {
border: 1px solid red;
display: flex;
flex-direction: column;
align-items: center;
}
.image {
height: 100px;
width: 100px;
background-color: blue;
border-radius: 65px;
}
.title {
font-size: 50px;
}
.description {
padding: 15px;
}