* {
      box-sizing: border-box;
    }

    body, html {
      margin: 0;
      padding: 0;
      height: 100%;
    }

    .container {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: 100%;
    }

    .container img {
      width: 150px;
      margin-bottom: 30px;
    }

    .loader {
      position: relative;
      width: 5em;
      height: 5em;
      transform: rotate(165deg);
    }

    .loader:before, .loader:after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      display: block;
      border-radius: 0.25em;
      transform: translate(-50%, -50%);
    }

    .loader:before {
      width: 1em;
      height: 1em;
      animation: before8 2s infinite;
    }

    .loader:after {
      width: 1em;
      height: 1em;
      animation: after6 2s infinite;
    }

    @keyframes before8 {
      0% {
        width: 1em;
        box-shadow: 2em -1em rgba(225, 20, 98, 0.75),
                    -2em 1em rgba(111, 202, 220, 0.75);
      }
      35% {
        width: 5em;
        box-shadow: 0 -1em rgba(225, 20, 98, 0.75),
                    0 1em rgba(111, 202, 220, 0.75);
      }
      70% {
        width: 1em;
        box-shadow: -2em -1em rgba(225, 20, 98, 0.75),
                    2em 1em rgba(111, 202, 220, 0.75);
      }
      100% {
        box-shadow: 2em -1em rgba(225, 20, 98, 0.75),
                    -2em 1em rgba(111, 202, 220, 0.75);
      }
    }

    @keyframes after6 {
      0% {
        height: 1em;
        box-shadow: 1em 2em rgba(61, 184, 143, 0.75),
                    -1em -2em rgba(233, 169, 32, 0.75);
      }
      35% {
        height: 5em;
        box-shadow: 1em 0 rgba(61, 184, 143, 0.75),
                    -1em 0 rgba(233, 169, 32, 0.75);
      }
      70% {
        height: 1em;
        box-shadow: 1em -2em rgba(61, 184, 143, 0.75),
                    -1em 2em rgba(233, 169, 32, 0.75);
      }
      100% {
        box-shadow: 1em 2em rgba(61, 184, 143, 0.75),
                    -1em -2em rgba(233, 169, 32, 0.75);
      }
    }

    /* Responsiveness */
    @media only screen and (max-width: 480px) {
      .container img {
        width: 200px;
        margin-bottom: 20px;
      }
      .loader {
        width: 3em;
        height: 3em;
      }
    }

    @media only screen and (max-width: 600px) {
      .container img {
        width: 200px;
      }
      .loader {
        width: 4em;
        height: 4em;
      }
    }

    @media only screen and (min-width: 601px) and (max-width: 1024px) {
      .container img {
        width: 150px;
      }
      .loader {
        width: 5em;
        height: 5em;
      }
    }

    @media only screen and (min-width: 1025px) and (max-width: 1920px) {
      .container img {
        width: 200px;
      }
      .loader {
        width: 6em;
        height: 6em;
      }
    }

    @media only screen and (min-width: 1921px) {
      .container img {
        width: 250px;
      }
      .loader {
        width: 7em;
        height: 7em;
      }
    }
