/* see iframe-application-server index.css */

  /* rotation ref https://codepen.io/Chester/pen/QPoyjN */
  @keyframes rotate {
    100% {
        transform: rotate(1turn);
    }
  }
  
  .frame-loading {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
  }
  
  .frame-loading iframe {
    border-radius: 6px;
    border: none;
  }
  
  .frame-loading::before {
    content: "";
    position: absolute;
    z-index: -2;
    left: -50%;
    top: -50%;
    width: 200%;
    height: 200%;
    background-repeat: no-repeat;
    background-size: 50% 50%, 50% 50%;
    background-position: 0 0, 100% 0, 100% 100%, 0 100%;
  
    animation: rotate 8s linear infinite;
  
    background: conic-gradient(
      #070, #8c8,
      #070, #8c8,
      #070, #8c8,
      #070, #8c8,
      #070, #8c8,
      #070, #8c8,
      #070, #8c8,
      #070, #8c8,
      #070, #8c8,
      #070, #8c8,
      #070
    );
  }
  
  .frame-loading::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 6px;
    top: 6px;
    width: calc(100% - 12px);
    height: calc(100% - 12px);
    background: white;
    border-radius: 5px;
  }
  
  .frame-loaded {
    position: relative;
    border-radius: 10px;
    animation: finished 2s; /* infinite;  -- will cause it to pulsate indfinitely */
    background: none;
  }
  
  .frame-loaded iframe {
    border-radius: 6px;
    border: none;
  }
  
  @keyframes finished {
    0% {
      background: #00ff0066;
        -webkit-box-shadow: 0 0 0 0 rgba(0, 255, 0, 0.8);
    }
    70% {
      background: none;
        -webkit-box-shadow: 0 0 0 10px rgba(0, 255, 0, 0);
    }
    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
    }
  }