<main class="wrapper">
  <section class="container">
    <div class="loader-1"></div>
  </section>

  <section class="container">
    <div class="loader-2"></div>
  </section>

  <section class="container">
    <div class="loader-3"></div>
  </section>

  <section class="container">
    <div class="loader-4"></div>
  </section>

  <section class="container">
    <div class="loader-5"></div>
  </section>

  <section class="container">
    <div class="loader-6"></div>
  </section>
</main>
body {
  margin: 0;
  background-color: #f9f9f7;
}

.wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.container {
  margin: 2%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 29%;
  min-width: 200px;
  min-height: 200px;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 16px 12px -8px #00000020;
}

.loader-1 {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: solid 4px;
  border-color: #000000 #00000010 #00000010;
  position: relative;
  animation-name: spin;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.loader-2 {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: solid 4px;
  border-color: #000000 #00000010 #00000010;
  position: relative;
  animation-name: spin;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

.loader-3 {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: solid 4px;
  border-color: #000000 #00000010;
  position: relative;
  animation-name: spin;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

.loader-4 {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: dashed 3px;
  border-color: #00000010 #000000 #000000;
  position: relative;
  animation-name: spin;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.loader-5 {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: solid 4px;
  border-color: #000000 #00000010 #00000010 #00000010;
  position: relative;
  animation-name: stagger;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-i-out;
}

.loader-6 {
  width: 40px;
  height: 40px;
  border: solid 4px;
  border-color: #000000 #00000010 #00000010 #00000010;
  position: relative;
  animation-name: stagger;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@keyframes stagger {
  25% {
    border-color: #00000010 #000000 #00000010 #00000010;
  }
  50% {
    border-color: #00000010 #00000010 #000000 #00000010;
  }
  75% {
    border-color: #00000010 #00000010 #00000010 #000000;
  }
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.