Правильно используйте flexbox: в основном все, что вам нужно сделать для flex-children равной высоты, установлено display: flex на родительском элементе.Вы устанавливаете связку align-self для потомков, а также фиксированную высоту для родителя.Удалить все это.
.teaminfo
{
display: flex;
justify-content: space-between;
padding-top: 1em;
}
.teaminfo-div
{
height: auto;
border: 2px black solid;
border-radius: 1em;
text-align: center;
width: 25%;
overflow: hidden;
}
<div class="teaminfo">
<div class="teaminfo-div">
<h2>Baguette</h2>
<img src="image/logo.png" width="100px" height="100px">
<p>Your contribution what you do lol</p>
</div>
<div class="teaminfo-div">
<h2>Baguette</h2>
<img src="image/logo.png" width="100px" height="100px">
<p>Your contribution what you do lol</p>
</div>
<div class="teaminfo-div">
<h2>Baguette</h2>
<img src="image/logo.png" width="100px" height="100px">
<p style="font-size: 1.5em; padding: 0 1em 0 1em;">Your contribution what you do lol</p>
</div>
</div>
My CSS: