//  Licensed under the Apache License, Version 2.0 (the "License"); you may not
//  use this file except in compliance with the License. You may obtain a copy of
//  the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
//  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
//  License for the specific language governing permissions and limitations under
//  the License.

.fade-enter {
  opacity: 0;
  transition: opacity .25s;

  &.fade-enter-active {
    opacity: 1;
  }
}

.fade-leave {
  opacity: 1;
  transition: opacity .25s;

  &.fade-leave-active {
    opacity: 0;
  }
}

.slow-fade-enter {
  opacity: 0;
  transition: opacity .75s;

  &.slow-fade-enter-active {
    opacity: 1;
  }
}

.slow-fade-leave {
  opacity: 1;
  transition: opacity .75s;

  &.slow-fade-leave-active {
    opacity: 0;
  }
}
