HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/tana/frontend/src/assets/style/components/_slider.scss
// Circle sliders
//
// Slider with circle progress indicator. Requires a parent container with defined height (that's why `.aspectratio` is used).
//
// **(`.col-xs-6` used here only to make the element smaller in the styleguide so it doesn't stretch full width.)**
//
// Markup:
// <div class="col-xs-6">
//   <div class="aspectratio" data-ratio="1:1">
//     <div class="aspectratio__item">
//       <div class="slider {{{modifier_class}}}">
//         <div class="slider__images faded">
//           <img class="slider__image img-responsive" src="./../build/assets/images/about-apple.png">
//           <img class="slider__image img-responsive" src="./../build/assets/images/about-homo-volans.png">
//         </div>
//         <svg class="slider__circle">
//           <circle class="slider__circle-shape" stroke="#1428aa" fill="transparent" r="45%" cx="50%" cy="50%"></circle>
//         </svg>
//       </div>
//     </div>
//   </div>
// </div>
//
// .slider--offset-left - Class that offsets the slider circle to the left. Used for that offset of circles on the homepage.
// .slider--offset-right - Class that offsets the slider circle to the right. Used for that offset of circles on the homepage.
//
// Styleguide Components.circle-slider
.slider {
  height: 100%;
  position: relative;

  &__circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);

    &-shape {
      transform-origin: 50% 50%;
      stroke-dashoffset: 1860.4512078053951 1860.4512078053951; // empty circle (no border), 0 is for full border around the circle
      stroke-dasharray: 1860.4512078053951 1860.4512078053951; // "magic numbers" - refer to: https://css-tricks.com/building-progress-ring-quickly/
      stroke-width: 10;

      @include breakpoint-min($small-breakpoint) {
        stroke-width: 15;
      }

      @include breakpoint-min($desktop-breakpoint) {
        stroke-width: 20;
      }
    }
  }

  &__images {
    height: 80%;
    width: 80%;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    > img {
      top: 50% !important;
      left: 50% !important;
      transform: translate(-50%, -50%) !important;
    }
  }

  &--offset-left {
    @include breakpoint-max($small-breakpoint) {
      transform: translate(-65px, 10px);
    }

    @include breakpoint-min($desktop-breakpoint) {
      transform: translate(-100px, 0);
    }

    @include breakpoint-min(1400) {
      transform: translate(-150px, 0);
    }
  }

  &--offset-right {
    @include breakpoint-max($small-breakpoint) {
      transform: translate(65px, 10px);
    }

    @include breakpoint-min($desktop-breakpoint) {
      transform: translate(100px, 0);
    }

    @include breakpoint-min(1400) {
      transform: translate(150px);
    }
  }
}

.first-slider-animation-started {

  .slider {

    &__circle {

      &-shape {
        animation-name: circleFill;
        animation-duration: 6s;
        animation-iteration-count: infinite;
      }
    }
  }

  .slider__images {
    animation-name: pictureScalingDown, pictureScalingUp;
    animation-duration: 3s, 3s;
    animation-delay: 0s, 3s;
    animation-iteration-count: 1, infinite;
  }
}

@keyframes pictureScalingDown {
  0% {
    transform: translate(-50%,-50%) scale(1);
  }

  33.333% {
    transform: translate(-50%,-50%) scale(.8);
  }

  100% {
    transform: translate(-50%,-50%) scale(.8);
  }
}

@keyframes pictureScalingUp {
  0% {
    transform: translate(-50%,-50%) scale(.8);
  }

  25% {
    transform: translate(-50%,-50%) scale(1);
  }

  50% {
    transform: translate(-50%,-50%) scale(.8);
  }

  100% {
    transform: translate(-50%,-50%) scale(.8);
  }
}

// Total animation should run for 6 seconds
// @keyframes circleFill {
//   0% {
//     stroke-dashoffset: 1860.4512078053951;
//   }

//   16.667% {
//     stroke-dashoffset: 0;
//   }

//   50% {
//     stroke-dashoffset: 0;
//   }

//   66.667% {
//     stroke-dashoffset: -1860.4512078053951;
//   }

//   100% {
//     stroke-dashoffset: -1860.4512078053951;
//   }
// }

@keyframes circleFill {
  0% {
    stroke-dashoffset: 1860.4512078053951;
    // transform: rotate(0);
  }

  50% {
    stroke-dashoffset: 0;
    // transform: rotate(180deg);
  }

  100% {
    stroke-dashoffset: -1860.4512078053951;
    // transform: rotate(0);
  }
}