/***********************************************************************************
 VERTICAL COLLAPSE-EXPEND TRANSITION ANIMATION PAIR.

 We use the 'transition-vertical-collapse' for the collapse/idle block element,
 and the 'transition-vertical-expand' to expend that element.

 -important: The element that will be used for the animation should be
 a block element, adn  have a content or width and height settings for it to work.
*********************************************************************************/

/**
Enable to fold an expended block element
@param $offsetY - The top position from which the drop down should fold
 */
@mixin keyframes-expand-animation($name, $maxHeight, $boxShadow:0 0 12px 0px rgba(0,0,0,.3), $margin:0){
  @keyframes #{$name} {
    0% {
      opacity: 0;
      max-height: 0;
      overflow: hidden;
      box-shadow: 0 0 0px 0px rgba(0,0,0,.3);
      margin:0;
    }
    10% {
      opacity: 1;
      margin: $margin;
    }
    50% {
      box-shadow: $boxShadow;
    }
    99%{
      max-height:$maxHeight;

      overflow: hidden;
    }
    100%{
      opacity: 1;
      max-height:$maxHeight;
      overflow: auto;
    }
  }
}

/**
Enable to expend a folded block element
@param $maxHeight - most of the animation is done over the max-height property
                    so we have to set the maximum height the expended element can expend to.
 */
@mixin keyframes-collapse-animation($name, $maxHeight, $boxShadow:0 0 12px 0px rgba(0,0,0,.3)){
  @keyframes #{$name} {
    0% {
      opacity: 1;
      max-height:$maxHeight;
      box-shadow: $boxShadow;
      overflow: hidden;
    }
    40%{
      opacity: 1;
    }
    99%{
      opacity: 0;
      max-height: 0;
      overflow: hidden;
      box-shadow: 0 0 0px 0px rgba(0,0,0,.3);
    }
    100%{
      opacity: 0;
      max-height: 0;
      overflow: auto;
    }
  }
}

/********************************************************************************
  SIMPLE FADE-IN KEYFRAMES ANIMATION (Used in tooltip for example)

  we use 'mixin-keyframes-fade-in-vertically' to create css @keyframes rule that
  we later can use with animation property inside our prefered css rules:
      .our_class {
        ...
          animation: keyframes-fade-in-vertically 1s ease-out;
        ...
      }
*********************************************************************************/
@mixin mixin-keyframes-fade-in-vertically($fromRelativeHeight, $keyframesName:keyframes-fade-in-vertically){
  @keyframes #{$keyframesName} {
    from {
      transform: translateY($fromRelativeHeight);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
}

/********************************************************************************
  SIMPLE FADE-OUT KEYFRAMES ANIMATION (Opposite of fade-in mixin above)
*********************************************************************************/
@mixin mixin-keyframes-fade-out-vertically($toRelativeHeight, $keyframesName:keyframes-fade-out-vertically){
  @keyframes #{$keyframesName} {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY($toRelativeHeight);
      opacity: 0;
    }
  }
}



/********************************************************************************
  RIPPLE ANIMATION (Used for ripple-click directive)
*********************************************************************************/
@keyframes ripple-animation {
  from {
    transform: scale(0,0);
    opacity: 1;
  }
  to {
    transform: scale(2,2);
    opacity: 0;
  }
}

.sdc-ripple-click__animated {
  position:relative;
}
.sdc-ripple-click__animated::before{
  display: inline-block;
  position:absolute;
  top: 0;
  left: 0;
  content: '';
  animation: ripple-animation .3s ease-out; 
  background-color: $blue;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
}



