:root {
  --logo-size: 150px;
  --footer-background: #f13043;
}

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

.container-loader {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Open Sans", sans-serif;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 99;
}

.logo {
  width: var(--logo-size);
  height: var(--logo-size);
  background: url("loader-logo.png") center center / 85% no-repeat;
  border-radius: 50%;
  filter: drop-shadow(0 4px 4px rgb(0, 0, 0));
  transform: translateY(-5%);
}

.loader {
  width: var(--logo-size);
  height: var(--logo-size);
  border: 10px solid transparent;
  border-radius: 50%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

  .loader::before {
    content: "";
    position: absolute;
    inset: -20px;
    border-radius: 50%;
    border: 10px solid #FF3D00;
    animation: prixClipFix 2s infinite linear, spin 1.5s cubic-bezier(0.5, 0.1, 0.1, 1) infinite;
  }

  .loader .lds-ring {
    position: absolute;
    width: 100%;
    height: 100%;
  }

    .loader .lds-ring div {
      box-sizing: border-box;
      display: block;
      position: absolute;
      width: 64px;
      height: 64px;
      margin: calc((var(--logo-size) - 64px) / 2);
      border: 8px solid currentColor;
      border-radius: 50%;
      animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
      border-color: currentColor transparent transparent transparent;
    }

      .loader .lds-ring div:nth-child(1) {
        animation-delay: -0.45s;
      }

      .loader .lds-ring div:nth-child(2) {
        animation-delay: -0.3s;
      }

      .loader .lds-ring div:nth-child(3) {
        animation-delay: -0.15s;
      }

@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes prixClipFix {
  0% {
    clip-path: polygon(50% 50%,0 0,0 0,0 0,0 0,0 0);
  }

  25% {
    clip-path: polygon(50% 50%,0 0,100% 0,100% 0,100% 0,100% 0);
  }

  50% {
    clip-path: polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%);
  }

  75% {
    clip-path: polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 100%);
  }

  100% {
    clip-path: polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 0);
  }
}

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