/* 
<div class="card_line">
                    <span class="card__line card__line_left"></span>
                    <span class="card__line card__line_right"></span>
                    <span class="card__line card__line_top"></span>
                    <span class="card__line card__line_bottom"></span>
                </div>
                */

.item-level {
  position: relative;
  overflow: hidden;
  transition: all 1s;
  padding: 3px;
}
.item-level:hover {
  box-shadow: 2px 2px 10px #d9d9d9;
  transition: all 1s;
}

.item-level:hover .card_line {
  opacity: 1;
  transition: all 1s;
}

.card_line {
  opacity: 0;
  transition: all 1s;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.card__line {
  position: absolute;
  animation: 1s 1s linear infinite;
  border-radius: 20px;
}

.card__line_left {
  animation-name: to-top;
  background: linear-gradient(to bottom, var(--background-static), transparent);
  left: 0;
  bottom: -100%;
  width: 0.2em;
  height: 100%;
}

.card__line_right {
  animation-name: to-bottom;
  background: linear-gradient(to bottom, transparent, var(--background-static));
  right: 0;
  top: -100%;
  width: 0.2em;
  height: 100%;
}

.card__line_top {
  animation-delay: 1.5s;
  animation-name: to-right;
  background: linear-gradient(to right, transparent, var(--background-static));
  width: 100%;
  height: 0.2em;
  top: 0;
  left: -100%;
}

.card__line_bottom {
  animation-delay: 1.5s;
  animation-name: to-left;
  background: linear-gradient(to right, var(--background-static), transparent);
  bottom: 0;
  right: -100%;
  width: 100%;
  height: 0.2em;
}

@keyframes to-top {
  to {
    bottom: 200%;
  }
}

@keyframes to-bottom {
  to {
    top: 200%;
  }
}

@keyframes to-left {
  to {
    right: 200%;
  }
}

@keyframes to-right {
  to {
    left: 200%;
  }
}

/* hieuung */
.hover_twin_retangle {
  position: relative;
  overflow: hidden;
}
.hover_twin_retangle::before {
  pointer-events: none;
  content: "";
  background: rgba(255, 255, 255, 0.5);
  bottom: 0;
  left: 0;
  position: absolute;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
  -khtml-opacity: 1;
  -o-opacity: 1;
  -ms-opacity: 1;
  -webkit-opacity: 1;
  -moz-opacity: 1;
  opacity: 1;
  width: 0;
  height: 0;
  z-index: 1;
}
.hover_twin_retangle::after {
  pointer-events: none;
  content: "";
  background: rgba(255, 255, 255, 0.5);
  top: 0;
  right: 0;
  position: absolute;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
  -khtml-opacity: 1;
  -o-opacity: 1;
  -ms-opacity: 1;
  -webkit-opacity: 1;
  -moz-opacity: 1;
  opacity: 1;
  width: 0;
  height: 0;
  z-index: 2;
}
.hover_twin_retangle:hover::before,
.hover_twin_retangle:hover::after,
.product:hover .hover_twin_retangle::before,
.product:hover .hover_twin_retangle::after {
  -webkit-transform: rotateY(180deg);
  -moz-transform: rotateY(180deg);
  -ms-transform: rotateY(180deg);
  -o-transform: rotateY(180deg);
  transform: rotateY(180deg);
  -webkit-transition-duration: 1.3s;
  -moz-transition-duration: 1.3s;
  -ms-transition-duration: 1.3s;
  -o-transition-duration: 1.3s;
  transition-duration: 1.3s;
  -khtml-opacity: 0;
  -o-opacity: 0;
  -ms-opacity: 0;
  -webkit-opacity: 0;
  -moz-opacity: 0;
  opacity: 0;
  height: 100%;
  width: 100%;
}
/* Hover box after */
.boder-pro {
  position: relative;
  transition: 0.5s;
  -webkit-transition: 0.5s;
}

.boder-pro:hover::after,
.boder-pro:hover::before {
  -webkit-transform: scale(1);
}

.boder-pro:hover .text-split {
  transition: 0.5s;
  -webkit-transition: 0.5s;
}

.foo-pro {
  position: relative;
}

.foo-pro::after {
  position: absolute;
  border-bottom: 3px solid #00762c;
  border-left: 3px solid #cf3b31;
  -webkit-transform-origin: 0 100%;
  width: 100%;
  height: 100%;
  z-index: 1;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  -webkit-transform: scale(0);
  transition: 0.5s;
  pointer-events: none;
}
.foo-pro::before {
  position: absolute;
  border-top: 3px solid #cf3b31;
  border-right: 3px solid #00762c;
  -webkit-transform-origin: 100% 0%;
  width: 100%;
  height: 100%;
  z-index: 1;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  -webkit-transform: scale(0);
  transition: 0.5s;
  pointer-events: none;
}
/* Float Shadow */
.hvr-float-shadow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-float-shadow:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: "";
  top: 100%;
  left: 5%;
  height: 10px;
  width: 90%;
  opacity: 0;
  background: -webkit-radial-gradient(
    center,
    ellipse,
    rgba(0, 0, 0, 0.35) 0%,
    rgba(0, 0, 0, 0) 80%
  );
  background: radial-gradient(
    ellipse at center,
    rgba(0, 0, 0, 0.35) 0%,
    rgba(0, 0, 0, 0) 80%
  );
  /* W3C */
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform, opacity;
  transition-property: transform, opacity;
}
.hvr-float-shadow:hover,
.hvr-float-shadow:focus,
.hvr-float-shadow:active {
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
  /* move the element up by 5px */
}
.hvr-float-shadow:hover:before,
.hvr-float-shadow:focus:before,
.hvr-float-shadow:active:before {
  opacity: 1;
  -webkit-transform: translateY(5px);
  transform: translateY(5px);
  /* move the element down by 5px (it will stay in place because it's attached to the element that also moves up 5px) */
}

/* Pulse Grow */
@-webkit-keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
@keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
.hvr-pulse-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-pulse-grow:hover,
.hvr-pulse-grow:focus,
.hvr-pulse-grow:active {
  -webkit-animation-name: hvr-pulse-grow;
  animation-name: hvr-pulse-grow;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}
.hvr-sweep-to-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgb(0 0 0 / 0%);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-sweep-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098d1;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.hvr-sweep-to-right:hover,
.hvr-sweep-to-right:focus,
.hvr-sweep-to-right:active {
  color: white;
}

.hvr-sweep-to-right:hover:before,
.hvr-sweep-to-right:focus:before,
.hvr-sweep-to-right:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
/* hover glass */
.hover-glass {
    overflow: hidden;
    display: block;
    position: relative;
}
.hover-glass::before {
    content: '';
    position: absolute;
    top: 0;
    left: -83%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    -webkit-transform: skewX(-25deg);
    transform: skewX(-25deg);
}

.hover-glass:hover:before {
    -webkit-animation: shine 1s;
    animation: shine 1s;
}

@-webkit-keyframes shine {
    100% {
        left: 125%;
    }
}
@keyframes shine {
    100% {
        left: 125%;
    }
}
.hover-glass:hover:before {
    -webkit-animation: shine 1s;
    animation: shine 1s;
}
.hover-glass img {
    width: 100%;
    transition: ease 0.75s;
    display: block;
}
.site-title { position: relative; } 

.site-title:after,
.site-title:before { content: ""; position: absolute; top: 50%; width: 10px; height: 100%; transform: translateY(-50%); background-color: rgba(255, 255, 255, 0.75); z-index: 11; } 

.site-title:after { right: -5%; animation: light-right 2.5s infinite alternate linear; } 

.site-title:before { left: -5%; animation: light-left 2.5s infinite alternate linear; } 

.effect-run a {
	display: block;
	}
.effect-run canvas {
	top: -2px;
	left: -2px;
	}
.effect-run img {
	margin: 0!important;
}