[class^="section-service-"] {
  padding: 80px 0; }

@media (max-width: 767px) {
  [class^="section-service-"] {
    padding: 40px 0; } }

@keyframes progress {
  0% {
    --percentage: 0; }
  100% {
    --percentage: var(--value); } }

@property --percentage {
  syntax: '<number>';
  inherits: true;
  initial-value: 0; }

.section-service-1 {
  position: relative;
  background-image: url(//cdn.hstatic.net/themes/200001082316/1001419284/14/service_1_bg_img.jpg?v=1224);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  padding: 60px 0; }
  .section-service-1:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8); }
  .section-service-1 .heading-title {
    padding-bottom: 30px;
    border-bottom: 1px solid var(--shop-color-border); }
  .section-service-1 .list-service {
    position: relative; }
  .section-service-1 .row {
    gap: 40px 0; }
  .section-service-1 .service-item {
    display: flex;
    gap: 20px; }
    .section-service-1 .service-item .item-img {
      flex: 0 0 50px; }
    .section-service-1 .service-item .item-detail .title {
      font-size: 22px; }
  @media (max-width: 991px) {
    .section-service-1 .heading-title {
      text-align: center;
      padding-bottom: 10px; } }
  @media (max-width: 767px) {
    .section-service-1 {
      padding: 40px 0; }
      .section-service-1 .row {
        gap: 10px 0; }
      .section-service-1 .service-item .item-detail .title {
        font-size: 16px; } }

.section-service-counter .counter-item {
  text-align: center; }
  .section-service-counter .counter-item .item-num {
    position: relative; }
    .section-service-counter .counter-item .item-num .item-icon {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100%; }
      .section-service-counter .counter-item .item-num .item-icon img {
        max-width: 50px; }
  .section-service-counter .counter-item .item-detail {
    font-weight: 600; }
    .section-service-counter .counter-item .item-detail .num {
      font-size: 35px;
      margin: 20px 0 15px;
      color: var(--shop-color-main-2); }
    .section-service-counter .counter-item .item-detail .title {
      font-size: 20px;
      font-family: "Montserrat", sans-serif;
      margin: 0; }

.section-service-counter .list-desc .desc-item:first-child {
  font-size: 22px;
  text-align: center;
  padding: 30px;
  position: relative; }
  .section-service-counter .list-desc .desc-item:first-child:before, .section-service-counter .list-desc .desc-item:first-child:after {
    content: '';
    position: absolute;
    left: 25%;
    width: 50%;
    height: 2px;
    background: var(--shop-color-main-2); }
  .section-service-counter .list-desc .desc-item:first-child:before {
    top: 0; }
  .section-service-counter .list-desc .desc-item:first-child:after {
    bottom: 0; }

.section-service-counter .row-counter {
  margin-top: 50px;
  padding-top: 50px;
  border-top: 1px solid var(--shop-color-border); }

.section-service-counter .progressbar {
  --percentage: var(--value);
  --primary: var(--shop-color-main);
  --secondary: #e7e7e7;
  --size: 180px;
  width: var(--size);
  aspect-ratio: 1;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  margin: 0 auto; }
  .section-service-counter .progressbar.show-progress {
    animation: progress 2s 0.5s forwards; }

.section-service-counter .progressbar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: conic-gradient(var(--primary) calc(var(--percentage) * 1%), var(--secondary) 0);
  mask: radial-gradient(white 55%, transparent 0);
  mask-mode: alpha;
  -webkit-mask: radial-gradient(transparent 65%, #000 0);
  -webkit-mask-mode: alpha; }

@media (min-width: 1200px) {
  .section-service-counter .list-desc .desc-item {
    padding: 0 30px; } }

@media (max-width: 991px) {
  .section-service-counter .heading-title {
    text-align: center; }
  .section-service-counter .row-counter, .section-service-counter .list-desc {
    gap: 30px 0; }
  .section-service-counter .counter-item .item-detail .num {
    margin: 5px 0 0px; }
  .section-service-counter .list-desc .desc-item {
    text-align: center; } }

@media (max-width: 767px) {
  .section-service-counter .progressbar {
    --size: 120px; }
  .section-service-counter .counter-item .item-num .item-icon img {
    max-width: 40px; }
  .section-service-counter .counter-item .item-detail .num {
    font-size: 28px; }
  .section-service-counter .counter-item .item-detail .title {
    font-size: 16px; }
  .section-service-counter .list-desc .desc-item:first-child {
    font-size: 18px;
    padding: 20px; } }

.section-service-review {
  position: relative;
  background-image: url(//cdn.hstatic.net/themes/200001082316/1001419284/14/service_review_img.jpg?v=1224);
  background-size: cover;
  background-position: center; }
  .section-service-review .review-item {
    position: relative;
    padding: 20px;
    background: var(--shop-color-bg);
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.15);
    margin: 30px 0 50px; }
    .section-service-review .review-item:before {
      content: '';
      position: absolute;
      top: 30px;
      right: 30px;
      width: 50px;
      height: 50px;
      background-image: url(//cdn.hstatic.net/themes/200001082316/1001419284/14/img-quote.png?v=1224);
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat; }
    .section-service-review .review-item .item-top {
      display: flex;
      align-items: center;
      gap: 15px; }
      .section-service-review .review-item .item-top .item-img {
        flex: 0 0 50px; }
        .section-service-review .review-item .item-top .item-img img {
          border-radius: 50%; }
      .section-service-review .review-item .item-top .item-info p {
        margin: 0; }
      .section-service-review .review-item .item-top .item-info .name {
        font-size: 18px;
        font-family: "Montserrat", sans-serif;
        font-weight: 600; }
    .section-service-review .review-item .item-bottom {
      margin-top: 20px; }
  .section-service-review .owl-dots {
    position: absolute;
    right: 0;
    bottom: 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%; }
    .section-service-review .owl-dots .owl-dot {
      /*&.active {
			border-radius: 50%;
			border: 2px solid #000000;
		}*/ }
      .section-service-review .owl-dots .owl-dot {
        margin: 0 3px;
        outline: 0;
        position: relative;
        width: 16px;
        height: 16px; }
      .section-service-review .owl-dots .owl-dot span:before, .section-service-review .owl-dots .owl-dot span:after {
        content: '';
        position: absolute; }
      .section-service-review .owl-dots .owl-dot span:before {
        top: 7px;
        display: flex;
        display: -ms-flex;
        display: -webkit-flex;
        width: 16px;
        height: 2px;
        background: #b1b1b1;
        transition: all 0.4s; }
      .section-service-review .owl-dots .owl-dot span:after {
        top: 0;
        left: 0;
        width: 16px;
        height: 16px;
        background: var(--shop-color-main-2);
        transition: 250ms ease all;
        transform: scale(0); }
      .section-service-review .owl-dots .owl-dot.active span:after {
        transform: scale(1); }
  .section-service-review .btn-more .button:before {
    background-color: var(--shop-color-main-2); }
  .section-service-review .btn-mb {
    display: none; }
  @media (max-width: 991px) {
    .section-service-review .heading-title {
      text-align: center; }
    .section-service-review .review-item {
      margin: 15px 20px 50px; }
    .section-service-review .btn-mb {
      display: block; }
    .section-service-review .btn-pc {
      display: none; }
    .section-service-review .btn-more {
      margin-top: 30px; } }
  @media (max-width: 767px) {
    .section-service-review .review-item {
      margin: 10px 20px 30px;
      padding: 15px; }
      .section-service-review .review-item .item-top .item-info .name {
        font-size: 16px; } }

.section-service-2 {
  background: rgba(0, 140, 149, 0.06); }
  .section-service-2 .btn-more {
    text-align: center; }
  .section-service-2 .service-item {
    display: block;
    height: 100%;
    background: #0b3945; }
    .section-service-2 .service-item .item-img {
      position: relative; }
      .section-service-2 .service-item .item-img .banner {
        position: relative; }
        .section-service-2 .service-item .item-img .banner:before {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background: rgba(255, 255, 255, 0.3);
          transition: all 0.5s;
          opacity: 0; }
      .section-service-2 .service-item .item-img .icon {
        position: absolute;
        bottom: -42px;
        left: 30px; }
        .section-service-2 .service-item .item-img .icon img {
          max-height: 85px;
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); }
      .section-service-2 .service-item .item-img:hover .banner:before {
        opacity: 1; }
    .section-service-2 .service-item .item-detail {
      padding: 60px 30px 30px;
      color: #fff; }
      .section-service-2 .service-item .item-detail .title {
        font-size: 25px; }
      .section-service-2 .service-item .item-detail .desc {
        margin: 0; }
  .section-service-2 .btn-mb {
    display: none; }
  @media (max-width: 991px) {
    .section-service-2 .btn-mb {
      display: block;
      margin-top: 30px; }
    .section-service-2 .btn-pc {
      display: none; }
    .section-service-2 .heading-title {
      text-align: center; }
    .section-service-2 .list-service {
      gap: 20px 0; } }
  @media (max-width: 767px) {
    .section-service-2 .service-item .item-img .icon {
      bottom: -35px; }
      .section-service-2 .service-item .item-img .icon img {
        max-height: 70px; }
    .section-service-2 .service-item .item-detail {
      padding: 50px 30px 30px; }
      .section-service-2 .service-item .item-detail .title {
        font-size: 18px; } }
