Am I breaking up my css too much?

I have container that looks like this:
<main class="flex flex-column flex-center flex-messages">
  <div class="flex-wrapper">
    <div class="flex flex-center header"></div>
  </div>
</main>


As you can see, I have a lot of classes. I'm writing these classes with reusability, readability, and maintainability in mind. My css is like follows:

.flex {
  display: flex;
}

.flex-column {
  flex-direction: column;
}

.flex-center {
  align-items: center;
  justify-content: center;
}


etc. you get the point. I'm also following BEM so I'm trying to be super strict about my class names and what they do but I think I might be being too strict but I've never truly worked on professional projects where I could see how they divide their css. Any advice and guidance would be appreciated!
Was this page helpful?