[data-r-role="dialog"] {
  display: none;
  position: fixed;
  top: -9999px;
  left: -9999px;
  width: 90%;
  margin: 5vh 0px 0px 0px;
  z-index: 99980000;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  padding: 30px 5px 0px 5px;
  min-height: 30vh;
  background: #fff;
}

[data-r-role="dialog"][data-r-type="message"],
[data-r-role="dialog"][data-r-type="confirm"] {
  margin-top: 20vh;
}

[data-r-role="dialog"][data-r-type="message"] [data-r-field="dialog_message"],
[data-r-role="dialog"][data-r-type="confirm"] [data-r-field="dialog_message"] {
  text-align: center;
}

@media screen and (min-width: 800px) {
  [data-r-role="dialog"][data-r-type="message"],
  [data-r-role="dialog"][data-r-type="confirm"] {
    width: 600px;
  }
}

[data-r-role="dialog"] header {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 28px;
  overflow: hidden;
  background: #ccccd1;
  color: #ffffff;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  padding: 0px;
}

[data-r-role="dialog"] header h3 {
  color: #ffffff;
}

[data-r-role="dialog"] footer {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  color: #ffffff;
  text-align: center;
  padding: 0px 0px 10px 0px;
  display: block;
}

[data-r-role="dialog"] [data-r-field="close_button"] {
  display: inline-block;
  font-size: 1.2em;
  cursor: pointer;
  position: absolute;
  top: 4px;
  right: 4px;
  background: url(font_awesome/circle-xmark.svg) left top no-repeat;
  background-size: cover;
  opacity: 0.6;
  width: 18px;
  height: 18px;
}

[data-r-role="dialog"] [data-r-field="close_button"]:hover,
[data-r-role="dialog"] [data-r-field="close_button"]:focus {
  filter: invert(27%) sepia(11%) saturate(178%) hue-rotate(346deg) brightness(124%) contrast(97%);
}

[data-r-role="dialog"] button:hover,
[data-r-role="dialog"] button:focus {
  filter: invert(17%) sepia(11%) saturate(178%) hue-rotate(346deg) brightness(144%) contrast(97%);
}

[data-r-field="dialog_background"] {
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(32, 32, 32, 0.8);
  opacity: 0.95;
  width: 100%;
  height: 100vh;
}

[data-r-dialog] {
  cursor: pointer;
}

@media screen and (min-width: 800px) {}