 /*=============== GOOGLE FONTS ===============*/
 @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap");

 /*=============== VARIABLES CSS ===============*/
 :root {
   --header-height: 3.5rem;

   /*========== Colors ==========*/
   /*Color mode HSL(hue, saturation, lightness)*/
   /*
        Purple: hsl(250, 66%, 75%)
        Blue: hsl(207, 90%, 72%)
        Pink: hsl(356, 66%, 75%)
        Teal: hsl(174, 63%, 62%)
  */
   --first-hue: 270;
   --sat: 60%;
   --lig: 40%;
   --second-hue: 219;
   --first-color: hsl(var(--first-hue), var(--sat), var(--lig));
   --first-color-alt: hsl(var(--first-hue), var(--sat), 68%);
   /* -4% */
   --title-color: hsl(var(--second-hue), 15%, 95%);
   --text-color: hsl(var(--second-hue), 8%, 75%);
   --text-color-light: hsl(var(--second-hue), 4%, 55%);
   --body-color: hsl(var(--second-hue), 48%, 8%);
   --container-color: hsl(var(--second-hue), 32%, 12%);

   /*========== Font and typography ==========*/
   /*.5rem = 8px | 1rem = 16px ...*/
   --body-font: 'Poppins', sans-serif;
   --biggest-font-size: 1.75rem;
   --h1-font-size: 1.5rem;
   --h2-font-size: 1.25rem;
   --h3-font-size: 1rem;
   --normal-font-size: .938rem;
   --small-font-size: .813rem;
   --smaller-font-size: .75rem;
   --tiny-font-size: .625rem;

   /*========== Font weight ==========*/
   --font-medium: 500;
   --font-semibold: 600;

   /*========== z index ==========*/
   --z-tooltip: 10;
   --z-fixed: 100;
   --z-modal: 1000;
 }

 /* Responsive typography */
 @media screen and (min-width: 968px) {
   :root {
     --biggest-font-size: 2.5rem;
     --h1-font-size: 2.25rem;
     --h2-font-size: 1.5rem;
     --h3-font-size: 1.25rem;
     --normal-font-size: 1rem;
     --small-font-size: .875rem;
     --smaller-font-size: .813rem;
   }
 }

 /*=============== BASE ===============*/
 * {
   box-sizing: border-box;
   padding: 0;
   margin: 0;
 }

 html {
   scroll-behavior: smooth;
 }

 body,
 button,
 input,
 textarea {
   font-family: var(--body-font);
   font-size: var(--normal-font-size);
 }

 body {
   background-color: var(--body-color);
   color: var(--text-color);
   transition: .4s;
   /* for light mode animation */
 }

 h1,
 h2,
 h3 {
   color: var(--title-color);
   font-weight: var(--font-semibold);
 }

 ul {
   list-style: none;
 }

 a {
   text-decoration: none;
 }

 button {
   cursor: pointer;
   border: none;
   outline: none;
 }

 img {
   max-width: 100%;
   height: auto;
 }

 /*=============== THEME ===============*/
 .change-theme {
   font-size: 1.25rem;
   cursor: pointer;
   transition: .3s;
 }

 .change-theme:hover {
   color: var(--first-color);
 }


 /*========== Variables Light theme ==========*/

 body.light-theme {
   --title-color: hsl(var(--second-hue), 15%, 15%);
   --text-color: hsl(var(--second-hue), 8%, 35%);
   --body-color: hsl(var(--second-hue), 100%, 99%);
   --container-color: #fff;
 }

 /*========== 
    Color changes in some parts of 
    the website, in light theme
==========*/

 .light-theme .scroll-header {
   box-shadow: 0 2px 4px hsla(0, 0%, 1%, .1);
 }

 .light-theme .nav_menu {
   background-color: hsla(var(--second-hue), 32%, 90%, .8);
 }

 .light-theme .section__subtitle {
   color: var(--text-color);
 }

 .light-theme .home_social-link {
   box-shadow: 0 2px 8px hsla(var(--second-hue), 48%, 8%, .1);
 }

 .light-theme .home_social::after {
   background-color: var(--title-color);
 }

 .light-theme .home_social-link,
 .light-theme .home_scroll,
 .light-theme .footer_copy,
 .light-theme .footer_link,
 .light-theme .footer_title {
   color: var(--title-color);
 }

 .light-theme .about_box {
   box-shadow: 0 2px 8px hsla(var(--second-hue), 48%, 8%, .1);
 }

 .light-theme .skills_content,
 .light-theme .services_card,
  .light-theme .servicesw_card,
 .light-theme .work_card,
 .light-theme .testimonial_card,
 .light-theme .contact_card {
   box-shadow: 0 2px 16px hsla(var(--second-hue), 48%, 8%, .1);
 }

 .light-theme::-webkit-scrollbar {
   background-color: hsl(var(--second-hue), 8%, 66%);
 }

 .light-theme::-webkit-scrollbar-thumb {
   background-color: hsl(var(--second-hue), 8%, 54%);
 }

 .light-theme::-webkit-scrollbar-thumb:hover {
   background-color: hsl(var(--second-hue), 8%, 44%);
 }

 /*=============== REUSABLE CSS CLASSES ===============*/
 .container {
   max-width: 968px;
   margin-left: 1rem;
   margin-right: 1rem;
 }

 .grid {
   display: grid;
   gap: 1.25rem;
 }

 .main {
   overflow: hidden;
 }

 .section {
   padding: 4.5rem 0 1rem;
 }

 .section__title,
 .section__subtitle {
   text-align: center;
 }

 .section__title {
   font-size: var(--h2-font-size);
   color: var(--first-color);
   margin-bottom: 2rem;
 }

 .section__subtitle {
   display: block;
   font-size: var(--smaller-font-size);
   color: var(--text-color-light);
 }

 /*=============== HEADER & NAV===============*/
 .header {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   background-color: var(--body-color);
   z-index: var(--z-fixed);
   transition: .4s;
   /* for light mode animation */
 }

 .nav {
   height: var(--header-height);
   display: flex;
   justify-content: space-between;
   align-items: center;
 }

 .nav_logo {
   color: var(--first-color);
   font-weight: var(--font-medium);
   transition: .4s;
 }

 .nav_logo:hover {
   color: var(--first-color-alt);
 }

 .nav_menu {
   position: fixed;
   bottom: 1rem;
   background-color: hsla(var(--second-hue), 32%, 16%, .8);
   width: 90%;
   border-radius: 4rem;
   padding: 1rem 2.25rem;
   backdrop-filter: blur(10px);
   transition: .4s;
   /* for light mode animation */
 }

 .nav_list {
   display: flex;
   justify-content: space-between;
   align-items: center;
 }

 .nav_link {
   color: var(--text-color);
   font-size: 1.25rem;
   padding: .4rem;
   display: flex;
   border-radius: 5rem;

    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-decoration: none;
 }

 .nav_link i {
    font-size: 20px;
}

.nav_link span {
    font-size: 9px;
}

 /* Active link */
 .active-link {
   background: linear-gradient(180deg,
       hsla(var(--first-hue), var(--sat), var(--lig), 1),
       hsla(var(--first-hue), var(--sat), var(--lig), .2));
   box-shadow: 0 0 16px hsla(var(--first-hue), var(--sat), var(--lig), .4);
   color: var(--title-color);
 }

 /* Change background header */
 .scroll-header {
   box-shadow: 0 4px 4px hsla(0, 0%, 4%, .3);
 }

 /*=============== HOME ===============*/
 .home_container {
   position: relative;
   row-gap: 4.5rem;
   padding-top: 2rem;
 }

 .home_data {
   text-align: center;
 }

 .home_greeting,
 .home_education {
   font-size: var(--small-font-size);
   font-weight: var(--font-medium);
 }

 .home_greeting {
   display: block;
   color: var(--title-color);
   margin-bottom: .25rem;
 }

 .home_education {
   color: var(--text-color);
   margin-bottom: 2.5rem;
 }

 .home_name {
   font-size: var(--biggest-font-size);
 }

 .home_img {
   width: 160px;
 }

 .home_handle {
   justify-self: center;
   width: 390px;
   height: 200px;
   display: flex;
   align-items: flex-end;
   justify-content: center;
   overflow: hidden;
 }

 .home_buttons {
   display: flex;
   justify-content: center;
   align-items: center;
   row-gap: 2rem;
   gap: 1.5rem;
 }

 .home_social,
 .home_scroll {
   position: absolute;
 }

 .home_social {
   bottom: 5rem;
   left: 0;
   display: grid;
   row-gap: .5rem;
 }

 .home_social-link {
   width: max-content;
   background-color: var(--container-color);
   color: var(--first-color);
   padding: .25rem;
   border-radius: .25rem;
   display: flex;
   font-size: 1rem;
   transition: .4s;
 }

 .home_social-link:hover {
   background-color: var(--first-color);
   color: #fff;

 }

 .home_social::after {
   content: '';
   width: 32px;
   height: 2px;
   background-color: var(--first-color);
   transform: rotate(90deg) translate(16px, 3px);
 }

 .home_scroll {
   color: var(--first-color);
   right: -1.5rem;
   bottom: 4rem;
   display: grid;
   row-gap: 2.25rem;
   justify-items: center;
 }

 .home_scroll-icon {
   font-size: 1.25rem;
 }

 .home_scroll-name {
   font-size: var(--small-font-size);
   transform: rotate(-90deg);
 }







 /*=============== BUTTONS ===============*/
 .button {
   display: inline-block;
   background-color: var(--first-color);
   color: #fff;
   padding: .75rem 1rem;
   border-radius: .5rem;
   font-weight: var(--font-medium);
   transform: .4s;
 }

 .button:hover {
   background-color: var(--first-color-alt);
   color: #fff;
 }

 .button--ghost {
   background-color: transparent;
   border: 2px solid var(--first-color);
   color: var(--first-color);

 }

 /*=============== ABOUT ===============*/

 .about_container {
   row-gap: 2.5rem;
 }

 .about_img {
   width: 220px;
   border-radius: 1.5rem;
   justify-self: center;
 }

 .about_data {
   text-align: center;
 }

 .about_info {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: .5rem;
   margin-bottom: 2rem;
 }

 .about_box {
   background-color: var(--container-color);
   border-radius: .75rem;
   padding: .75rem .5rem;
 }

 .about_icon {
   font-size: 1.5rem;
   color: var(--first-color);
   margin-bottom: .5rem;
 }

 .about_title {
   font-size: var(--small-font-size);
 }

 .about_subtitle {
   font-size: var(--tiny-font-size);
 }

 .about_description {
   margin-bottom: 2rem;
 }

 /*=============== SKILLS ===============*/
 .skills_container {
   row-gap: 2rem;
   padding-top: 1rem;
 }

 .skills_content {
   background-color: var(--container-color);
   padding: 1.5rem;
   border-radius: 1.25rem;
 }

 .skills_title {
   font-size: var(--normal-font-size);
   font-weight: var(--font-medium);
   color: var(--first-color);
   text-align: center;
   margin-bottom: 1.5rem;
 }

 .skills_box {
   display: flex;
   justify-content: center;
   column-gap: 2.5rem;
 }

 .skills_group {
   display: grid;
   align-content: flex-start;
   row-gap: 1rem;
 }

 .skills_data {
   display: flex;
   column-gap: .5rem;
 }

 .skills_icon {
   font-size: 1.5rem;
   color: var(--first-color-alt);
 }

 .service_icon{
  font-size: 2.5rem;
  background-color: var(--first-color);
   color: #fff;
   border-radius: 10px;
   padding: 5px;
 }

 .worker_icon{
  font-size: 3.5rem;
   color: var(--first-color);
   
 }

 button {
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

button:disabled {
  background-color: #9ca3af;
  color: #ffffff;
  cursor: not-allowed;
  opacity: 0.6;
}

.error {
  color: #e63946;
  font-size: 0.85rem;
  margin-top: -20px;
  display: block;
}


 .disabled-btn {
  background-color: #9ca3af;
  color: white;
  cursor: not-allowed;
  opacity: 0.7;
}


 .skills_name {
   font-size: var(--normal-font-size);
   font-weight: var(--font-medium);
   line-height: 18px;
 }

 .skills_level {
   font-size: var(--tiny-font-size);
 }

 /*=============== SERVICES ===============*/
 .services_container,
 .servicesw_container {
  row-gap: 2rem;
  padding-top: 1rem;
}


 .services_card,
 .servicesw_card {
   background-color: var(--container-color);
   padding: 1rem 1.5rem 1.5rem;
   border-radius: 1rem;
 }

 .services_title {
   font-size: var(--h3-font-size);
   margin-top: .5rem;
   margin-bottom: 2.5rem;
   text-align: center;
 }

 .services_short-desc {
  font-size: var(--small-font-size);
  color: var(--text-color);
  margin-bottom: 1.5rem;
  line-height: 1.4;
}

 .services_button {
   color: var(--first-color);
   font-size: var(--small-font-size);
   display: flex;
   align-items: center;
   column-gap: .25rem;
   cursor: pointer;
   float: right;
   margin-top: 5px;
 }

 .services_button:hover .services_icon {
   transform: translateX(.25rem);
 }

 .services_icon {
   font-size: 1rem;
   transition: .4s;
 }

 /* Services modal */
 .services_modal {
   position: fixed;
   inset: 0;
   background-color: hsla(var(--second-hue), 28%, 16%, .7);
   padding: 2rem 1rem;
   display: grid;
   place-items: center;
   visibility: hidden;
   opacity: 0;
   transition: .4s;
   z-index: var(--z-modal);
 }

 .services_modal-content {
   position: relative;
   background-color: var(--body-color);
   padding: 4.5rem 1.5rem 2.5rem;
   border-radius: 1.5rem;
 }

 .services_modal-title,
 .services_modal-description {
   text-align: center;
 }

 .services_modal-title {
   font-size: var(--h3-font-size);
   color: var(--first-color);
   margin-bottom: 1rem;
 }

 .services_modal-description {
   font-size: var(--small-font-size);
   margin-bottom: 2rem;
 }

 .services_modal-list {
   display: grid;
   row-gap: .75rem;
 }

 .services_modal-item {
   display: flex;
   align-items: flex-start;
   column-gap: .5rem;
 }

 .services_modal-icon {
   font-size: 1.5rem;
   color: var(--first-color);
 }

 .services_modal-info {
   font-size: var(--small-font-size);
 }

 .services_modal-close {
   position: absolute;
   top: 1.5rem;
   right: 1.5rem;
   font-size: 1.5rem;
   color: var(--first-color);
   cursor: pointer;
 }

 /*Active modal*/
 .active-modal {
   opacity: 1;
   visibility: visible;
 }

 /*=============== WORK ===============*/
 .work_container {
   padding-top: 1rem;
 }

 .work_filters {
   display: flex;
   justify-content: center;
   align-items: center;
   column-gap: .75rem;
   margin-bottom: 2rem;
 }

 .work_item {
   cursor: pointer;
   color: var(--title-color);
   padding: .25rem .75rem;
   font-weight: var(--font-medium);
   border-radius: .5rem;
 }

 .work_card {
   background-color: var(--container-color);
   padding: 1rem;
   border-radius: 1rem;
 }

 .work_img {
   border-radius: 1rem;
   margin-bottom: .75rem;
 }

 .work_title {
   font-size: var(--normal-font-size);
   font-weight: var(--font-medium);
   margin-bottom: .25rem;
   text-align: center;
 }

 .work_button {
   width: max-content;
   color: var(--first-color);
   font-size: var(--small-font-size);
   display: flex;
   align-items: center;
   column-gap: .25rem;
   float: right;
 }

 .work_button:hover .work_icon {
   transform: translateX(.25rem);
 }

 .work_icon {
   font-size: 1rem;
   transition: .4s;
 }

 /* Active item work*/
 .active-work {
   background-color: var(--first-color);
   color: #fff;
 }

 /*=============== TESTIMONIAL ===============*/
 .testimonial_card {
   background-color: var(--container-color);
   padding: 1.25rem 1.5rem;
   border-radius: 1.5rem;
   margin-bottom: 3rem;
 }

 .testimonial_img {
   width: 60px;
   border-radius: 3rem;
   margin-bottom: 1rem;
 }

 .testimonial_name {
   font-size: var(--normal-font-size);
   font-weight: var(--font-medium);
   margin-bottom: .25rem;
 }

 .testimonial_description {
   font-size: var(--small-font-size);

 }

 /* Swiper class */
 .swiper-pagination-bullet {
   background-color: var(--text-color-light);
 }

 .swiper-pagination-bullet-active {
   background-color: var(--first-color);
 }

 /*=============== CONTACT ===============*/
 .contact_container {
   row-gap: 3rem;
   padding-bottom: 3rem;
 }

 .contact_title {
   text-align: center;
   font-size: var(--h3-font-size);
   margin-bottom: 1.5rem;
 }

 .contact_info {
   display: grid;
   gap: 1rem;
 }

 .contact_card {
   background-color: var(--container-color);
   padding: 1rem;
   border-radius: .75rem;
   text-align: center;
 }

 .contact_card-icon {
   font-size: 2rem;
   color: var(--title-color);
   margin-bottom: .25rem;
 }

 .contact_card-title,
 .contact_card-data {
   font-size: var(--small-font-size);
 }

 .contact_card-title {
   font-weight: var(--font-medium);
 }

 .contact_card-data {
   display: block;
   margin-bottom: .75rem;
 }

 .contact_button {
   color: var(--first-color);
   font-size: var(--small-font-size);
   display: flex;
   align-items: center;
   justify-content: center;
   column-gap: .25rem;
 }

 .contact_button:hover .contact_button-icon {
   transform: translateX(.25rem);
 }

 .contact_button-icon {
   font-size: 1rem;
   transition: .4s;
 }

 .contact_form-div {
   position: relative;
   margin-bottom: 2rem;
   height: 4rem;
 }

 .contact_form-input {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   border: 2px solid var(--text-color-light);
   background: none;
   color: var(--text-color);
   padding: 1.5rem;
   border-radius: .75rem;
   z-index: 1;
 }

 .contact_form-tag {
   position: absolute;
   top: -.75rem;
   left: 1.25rem;
   font-size: var(--smaller-font-size);
   padding: .25rem;
   background-color: var(--body-color);
   z-index: 10;
 }

 .contact_form-area {
   height: 11rem;

 }

 .contact_form-area textarea {
   resize: none;
 }

 /*=============== FOOTER ===============*/
 .footer {
   background-color: var(--first-color-alt);
 }

 .footer_title,
 .footer_link {
   color: var(--body-color);
 }

  .footer_link {
    font-size: 11px;
  }
 

 .footer_title {
   text-align: center;
   margin-bottom: 2rem;
 }

 .footer_list {
   display: flex;
   justify-content: center;
   column-gap: 1.5rem;
   margin-bottom: 2rem;
 }

 .footer_social {
   display: flex;
   justify-content: center;
   column-gap: 1.25rem;
 }

 .footer_social-link {
   background-color: #fff;
   color: var(--first-color);
   padding: .25rem;
   border-radius: .25rem;
   font-size: 1rem;
   display: inline-flex;
 }

 .footer_copy {
   display: block;
   margin-top: 4.5rem;
   color: var(--container-color);
   text-align: center;
   font-size: var(--small-font-size);

 }


 /*=============== SCROLL BAR ===============*/
 ::-webkit-scrollbar {
   width: .6rem;
   border-radius: .5rem;
   background-color: hsl(var(--second-hue), 8%, 38%);

 }

 ::-webkit-scrollbar-thumb {
   background-color: hsl(var(--second-hue), 8%, 26%);
   border-radius: .5rem;

 }

 ::-webkit-scrollbar-thumb:hover {
   background-color: hsl(var(--second-hue), 8%, 20%);

 }

 /*=============== BREAKPOINTS ===============*/
 /* For small devices */
 @media screen and (max-width : 320px) {
   .nav_menu {
     padding: 1rem 1.5rem;
   }

   .home_buttons {
     flex-direction: column;
   }

   .home_handle {
     width: 650px;
     height: 250px;
   }

   .home_img {
     width: 130px;
   }

   .about_info {
     grid-template-columns: repeat(2, 1fr);
   }

   .skills_box {
     column-gap: 1rem;
   }

   .skills_name {
     font-size: var(--small-font-size);
   }

   .services_container,
   .servicesw_container {
     grid-template-columns: 145px;
     justify-content: center;
   }

   .service_icon{
    font-size: 1.5rem;
   }

   .work_item {
     font-size: var(--small-font-size);
   }

   .work_filters {
     column-gap: .25rem;
   }
 }

 /* For medium devices */
 @media screen and (min-width :576px) {
   .nav_menu {
     width: 328px;
     left: 0;
     right: 0;
     margin: 0 auto;
   }

   .service_icon{
    font-size: 2rem;
   }

   .about_info {
     grid-template-columns: repeat(3, 140px);
     justify-content: center;
   }

   .about_description {
     padding: 0 5rem;
   }

   .skills_container {
     justify-content: center;
   }

   .skills_content {
     padding: 2rem 4rem;
   }

   .services_container,
   .servicesw_container {
     justify-content: center;
   }

   .services_container,
   .servicesw_container {
     grid-template-columns: repeat(2, 1fr);
     column-gap: 3rem;
     padding: 2rem 2rem 1.5rem 1.5rem;

   }

   .services_modal-content {
     width: 500px;
     padding: 4.5rem 2.5rem 2.5rem;
   }

   .services_modal-description {
     padding: 0 3.5rem;
   }

   .work_container {
     justify-content: center;
   }

   .work_img {
     width: 295px;
   }

   .contact_info {
     grid-template-columns: 300px;
     justify-content: center;
   }

   .contact_form {
     width: 360px;
     margin: 0 auto;
   }

 }

 @media screen and (min-width:767px) {
   .work_container {
     grid-template-columns: repeat(2, max-content);
   }

   .contact_container {
     grid-template-columns: repeat(2, max-content);
     justify-content: center;
     column-gap: 3rem;
   }
 }

 /* For large devices */
 @media screen and (min-width:992px) {
   .container {
     margin-left: auto;
     margin-right: auto;
   }

   .section {
     padding: 6.5rem 0 1rem;
   }

   .section__title {
     margin-bottom: 3.5rem;
   }

   .nav {
     height: calc(var(--header-height) + 1rem);
   }

   .home_handle {
     width: 720px;
     height: 320px;
   }

   .home_img {
     width: 220px;
   }

   .home_social-link {
     padding: .4rem;
     font-size: 1.25rem;
   }

   .home_social::after {
     transform: rotate(90deg) translate(16px, 0);
   }

   .home_scroll-icon {
     font-size: 2rem;
   }

   .about_container {
     grid-template-columns: repeat(2, 1fr);
     align-items: center;
     column-gap: 4rem;
   }

   .about_img {
     width: 350px;
   }

   .about_data {
     text-align: initial;
   }

   .about_info {
     justify-content: initial;
   }

   .about_box {
     text-align: center;
     padding: 1rem 1.25rem;
   }

   .about_description {
     padding: 0 4rem 0 0;
     margin-bottom: 2.5rem;
   }

   .skills_container {
     grid-template-columns: repeat(2, 350px);
     column-gap: 3rem;
   }

   /*
   .services_container,
   .servicesw_container {
     grid-template-columns: repeat(2, 1fr);
     column-gap: 3rem;
     padding: .5rem 2rem 1.5rem 1.5rem;

   }
*/

   .work_container {
     gap: 3rem;
   }

   .work_card {
     padding: 1.25rem;

   }

   .work_img {
     margin-bottom: 1rem;
   }

   .work_title {
     margin-bottom: .5rem;
   }

   .testimonial_container {
     padding: 1.5rem 2rem;
   }

   .contact_container {
     column-gap: 6rem;
   }

   .footer_social-link {
     font-size: 1.25rem;
     padding: .4rem;
     border-radius: .5rem;
   }
 }

 .swiper-slide {
   text-align: center;
   font-size: 18px;
   background: var(--body-color);
   display: flex;
   justify-content: center;
   align-items: center;
 }

 .swiper-slide img {
   display: block;
   width: 80%;
   height: 90%;
   border-radius: .5rem;
   object-fit: cover;
 }

 .autoplay-progress {
   position: absolute;
   right: 16px;
   bottom: 16px;
   z-index: 10;
   width: 48px;
   height: 48px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-weight: bold;
   color: var(--swiper-theme-color);
 }

 .autoplay-progress svg {
   --progress: 0;
   position: absolute;
   left: 0;
   top: 0px;
   z-index: 10;
   width: 100%;
   height: 100%;
   stroke-width: 4px;
   stroke: var(--swiper-theme-color);
   fill: none;
   stroke-dashoffset: calc(125.6 * (1 - var(--progress)));
   stroke-dasharray: 125.6;
   transform: rotate(-90deg);
 }