/**
 * Copyright 2015 Google Inc. All Rights Reserved.
 * Copyright 2016 Leif Olsen. All Rights Reserved.
 *
 * 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.
 *
 * SASS based on css from Google Chrome Dialog polyfill, https://github.com/GoogleChrome/dialog-polyfill
 * @include 'node_modules/dialog-polyfill/dialog-polyfill.css' before using this
 */

@import "../variables";

dialog.mdlext-dialog {
  position: absolute;
  border: 0;
  opacity: 0;
  padding: $mdlext-dialog-padding;
  background-color: $mdlext-dialog-background-color;

  &[open] {
    animation: mdlext-open-dialog $mdlext-dialog-open-animation;
  }
  &[open]::backdrop {
    animation: mdlext-darken-backdrop $mdlext-dialog-backdrop-animation;
  }
  &[open] + .backdrop {
    animation: mdlext-darken-backdrop $mdlext-dialog-backdrop-animation;
  }
}

@keyframes mdlext-darken-backdrop {
  to { background: $mdlext-dialog-backdrop-color; }
}
@keyframes mdlext-open-dialog {
  to { opacity: 1; }
}
