<div id="wrap">

  <!-- section -->
  <div class="section">
    <div class="center">

      <div id="bordered"></div>

    </div>
  </div>
  <!--/section -->

</div>
html,
body {
  margin: 0;
  padding: 0;
  font-family: sans-serif;
  font-size: 16px;
  line-height: 1.4;
  color: #555;
  background: #fbffa3;
  animation: changeBg 5s linear infinite;
}

@keyframes changeBg {
  0%, 100% {
    background: #fbffa3;
  }
  
  25% {
    background: #a3ffff;
  }
  
  50% {
    background: #ffb1a3;
  }
  
  75% {
    background: #ffa3f4;
  }
}

* {
  box-sizing: border-box;
}

#wrap {
  position: relative;
}

.section {
  padding: 40px;
}

@borderW: 4px;

#bordered {
  width: 200px;
  height: 100px;
  background: #1daa4e;
  margin: auto;
  position: relative;

  &::before {
    content: '';
    display: block;
    position: absolute;
    top: -10px;
    right: -10px;
    bottom: -10px;
    left: -10px;
    border: @borderW solid #f00;
    animation: clipRotate 4s linear infinite;
  }
}

@keyframes clipRotate {

  0%,
  100% {
    clip-path: polygon(0 0, 100% 0, 100% @borderW, 0 @borderW);
  }
  
  25% {
    clip-path: polygon(calc(~'100% -' @borderW) 0, 100% 0, 100% 100%, calc(~'100% -' @borderW) 100%);
  }
  
  50% {
    clip-path: polygon(0 calc(~'100% -' @borderW), 100% calc(~'100% -' @borderW), 100% 100%, 0 100%);
  }
  
  75% {
    clip-path: polygon(0 0, @borderW 0, @borderW 100%, 0 100%);
  }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js