@property --gradient-angle {
  syntax: "<angle>";
  initial-value: 90deg;
  inherits: false;
}
@keyframes rotate {
  0% {
    --gradient-angle: 0deg;
  }
  100% {
    --gradient-angle: 360deg;
  }
}
.tm-sc-service .icon {
  display: inline-block;
}
.tm-sc-service .icon,
.tm-sc-service .feature-title,
.tm-sc-service .feature-details {
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
}

.service-block-style2 {
  position: relative;
  padding: 5px;
  z-index: 1;
  overflow: hidden;
}
.service-block-style2::before, .service-block-style2::after {
  content: "";
  position: absolute;
  z-index: -1;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: conic-gradient(from var(--gradient-angle), var(--theme-color3), #F55CAD, var(--theme-color1), #F55CAD, var(--theme-color1));
  border-radius: inherit;
  animation: rotate 2.5s linear infinite;
  border-radius: 10px;
  opacity: 0;
  visibility: hidden;
}
.service-block-style2 .inner-block {
  position: relative;
  padding: 60px 60px 52px;
  background-color: #0C0C0C;
  border-radius: 14px;
  overflow: hidden;
}
@media (max-width: 767.98px) {
  .service-block-style2 .inner-block {
    padding: 30px 20px;
  }
}
.service-block-style2 .inner-block:hover .icon {
  transform: scaleX(-1);
}
.service-block-style2 .inner-block:hover .text {
  transform: translateY(0);
  visibility: visible;
  opacity: 1;
}
.service-block-style2 .icon {
  display: inline-block;
  margin-bottom: 53px;
  transition: all 300ms ease;
}
.service-block-style2 .service-title {
  margin-bottom: 182px;
  margin-top: 0;
  color: #fff;
}
@media (max-width: 1399.98px) {
  .service-block-style2 .service-title {
    font-size: 26px;
    margin-bottom: 60px !important;
  }
}
@media (max-width: 575.98px) {
  .service-block-style2 .service-title {
    font-size: 24px;
  }
}
.service-block-style2 .service-title:hover a {
  background-size: 100% 1px;
}
.service-block-style2 .service-title a {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, currentColor), to(currentColor));
  background-image: linear-gradient(to right, currentColor 0, currentColor 100%);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  color: #fff;
  -webkit-transition: all 0.3s, background-size 0.5s;
  transition: all 0.3s, background-size 0.5s;
}
.service-block-style2 .text-box {
  overflow: hidden;
}
.service-block-style2 .text {
  transform: translateY(150px);
  visibility: hidden;
  opacity: 0;
  transition: all 400ms ease;
}
.service-block-style2 .button-box {
  border-top: 1px solid rgba(182, 182, 182, 0.12);
  margin-top: 34px;
  padding-top: 35px;
}
.service-block-style2 .service-theme-btn {
  color: #fff;
  font-weight: 400;
  align-items: center;
  gap: 17px;
  position: relative;
}
.service-block-style2 .service-theme-btn:hover {
  color: var(--theme-color1);
}
.service-block-style2 .service-theme-btn:hover i {
  color: var(--theme-color1);
}
.service-block-style2 .service-theme-btn i, .service-block-style2 .service-theme-btn img {
  width: 18px;
  position: relative;
  top: 1px;
  margin-right: 3px;
  transition: all 300ms ease;
}
.service-block-style2:hover::before, .service-block-style2:hover::after {
  opacity: 1;
  visibility: visible;
}

.service-block-style2.active::before, .service-block-style2.active::after {
  opacity: 1;
  visibility: visible;
}
.service-block-style2.active .text {
  transform: translateY(0);
  visibility: visible;
  opacity: 1;
}