@import "./fonts/Montserrat.css";
@import "github-markdown-css/github-markdown.css";
@import "animate.css/animate.css";
@import "easymde/dist/easymde.min.css";
@import "react-notifications-component/dist/theme.css";

/* This adds some low-level css resets based on the browserslist in package.json, see https://create-react-app.dev/docs/adding-css-reset */
@import-normalize;

body, input, textarea, select, button {
  font-family: "Montserrat", sans-serif;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

body {
  background-color: #fafbfc;
  color: #333f52;
  margin: 0;
  font-size: 14px;
  overflow: hidden;
  position: absolute;
  width: 100%;
  min-width: 1200px;
  overflow-x: auto;
}

table {
  border-collapse: collapse;
}

a {
  color: unset;
  text-decoration: unset;
}

#root {
  overflow: auto;
  height: 100%;
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
}

#root.overlayOpen {
  overflow: hidden;
}

#root.overlayOpen.overHeight {
  overflow-y: scroll;
}

.table-row:not(:hover) .hover-only, .table-cell:not(:hover) .cell-hover-only {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.focus-style:focus {
  /* Note: using CSS and !important here because react-interactive focus style wasn't applying on autofocus */
  border: 1px solid #4d72aa !important;
  outline: none !important;
}

.error-style {
  /* Must use important to override default react-interactive focus style */
  border: 1px solid #db3214 !important;
  outline: none !important;
}

.custom-focus-style:focus {
  /* Must use important to override default Interactive focus style */
  outline: none !important;
}

/* See https://github.com/nkbt/react-collapse#1-change-in-behaviour */
.ReactCollapse--collapse {
  transition: height 500ms;
}

/* Overrides for toast notifications library (react-notifications-component) */
.notification-item {
  box-shadow: unset;
  border-radius: unset;
}

.notification-container-bottom-center, .notification-container-bottom-left, .notification-container-bottom-right, .notification-container-top-center, .notification-container-top-left, .notification-container-top-right {
  width: 350px;
}

/* Styles for content rendered by marked (also used by react-simplemde-editor) */
.markdown-body a {
  color: #4d72aa;
  text-decoration: underline;
}

.markdown-body {
  font-family: "Montserrat", sans-serif;
  color: #333f52;
}

@keyframes rotation {
  to {
    transform: rotate(360deg);
  }
}

@keyframes progress-bar-stripes {
  0% {
    background-position: 1rem 0
  }
  to {
    background-position: 0 0
  }
}

.progress-bar-animated {
  animation: progress-bar-stripes 1s linear infinite;
}

/* Restore focus outlines to the wrapper elements around RSelect boxes */
[role="combobox"]:focus-within {
  outline: -webkit-focus-ring-color auto 1px;
}

/* Prism theme overrides to increase contrast for accessibility */
.token.punctuation {
  color: #767676 !important; /* #999; */
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
  color: #518400 !important; /* #690; */
}

.token.function,
.token.class-name {
  color: #d3405e !important; /* #DD4A68; */
}

.token.regex,
.token.important,
.token.variable {
  color: #b56000 !important; /* #e90; */
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: #687888 !important; /* slategray */
}

.reveal-on-focus {
  opacity: 0;
  pointer-events: none; /* Allow clicks to pass through */
}
.reveal-on-focus:focus-within, .reveal-on-focus:focus {
  opacity: 1;
}

.alert-indicator-ringing {
  animation-name: alert-indicator-ringing;
  animation-timing-function: ease-in-out;
  animation-duration: .5s;
}

@keyframes alert-indicator-ringing {
  0%,
  100% {
    transform: rotate(0deg);
  }
  20%,
  60% {
    transform: rotate(6deg);
  }
  40%,
  80% {
    transform: rotate(-6deg);
  }
}
