// Go top button

// breakpoints

$S: 480px;
$M: 768px;
$L: 1024px;

// media queries

@mixin MQ($canvas) {
  @if $canvas == S {
    @media only screen and (min-width: $S) {
      @content;
    }
  } @else if $canvas == M {
    @media only screen and (min-width: $M) {
      @content;
    }
  } @else if $canvas == L {
    @media only screen and (min-width: $L) {
      @content;
    }
  }
}

.cd-top {
  display: inline-block;
  height: 40px;
  width: 40px;

  position: fixed;
  bottom: 40px;
  right: 10px;

  box-shadow: 0 0 10px rgba(#000, 0.05);

  /* image replacement properties */
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;

  background: rgba(#424242, 0.8) url(../images/cd-top-arrow-icon.svg) no-repeat
    center 50%;

  visibility: hidden;
  opacity: 0;

  -webkit-transition: opacity 0.3s 0s, visibility 0s 0.3s;
  -moz-transition: opacity 0.3s 0s, visibility 0s 0.3s;
  transition: opacity 0.3s 0s, visibility 0s 0.3s;

  &.cd-is-visible,
  &.cd-fade-out,
  .no-touch &:hover {
    -webkit-transition: opacity 0.3s 0s, visibility 0s 0s;
    -moz-transition: opacity 0.3s 0s, visibility 0s 0s;
    transition: opacity 0.3s 0s, visibility 0s 0s;
  }

  &.cd-is-visible {
    /* the button becomes visible */
    visibility: visible;
    opacity: 1;
  }

  &.cd-fade-out {
    /* if the user keeps scrolling down, the button is out of focus and becomes less visible */
    opacity: 0.5;
  }

  .no-touch &:hover {
    background-color: rgba(#424242, 1);
    opacity: 1;
  }

  @include MQ(M) {
    right: 20px;
    bottom: 20px;
  }

  @include MQ(L) {
    height: 60px;
    width: 60px;
    right: 30px;
    bottom: 30px;
  }
}
