diff options
Diffstat (limited to 'sw-ui/src/main')
157 files changed, 10817 insertions, 0 deletions
diff --git a/sw-ui/src/main/kotlin/blueprintjs.kt b/sw-ui/src/main/kotlin/blueprintjs.kt new file mode 100644 index 00000000..13de8744 --- /dev/null +++ b/sw-ui/src/main/kotlin/blueprintjs.kt @@ -0,0 +1,525 @@ +@file:JsModule("@blueprintjs/core") +package com.palantir.blueprintjs + +import org.w3c.dom.HTMLElement +import org.w3c.dom.HTMLInputElement +import org.w3c.dom.events.Event +import org.w3c.dom.events.MouseEvent +import react.* + +/** + * The four basic intents. + */ +// export declare const Intent: { +// NONE: "none"; +// PRIMARY: "primary"; +// SUCCESS: "success"; +// WARNING: "warning"; +// DANGER: "danger"; +//}; +//export declare type Intent = typeof Intent[keyof typeof Intent]; +external enum class Intent { + NONE, + PRIMARY, + SUCCESS, + WARNING, + DANGER +} + +/** Alignment along the horizontal axis. */ +//export declare const Alignment: { +// CENTER: "center"; +// LEFT: "left"; +// RIGHT: "right"; +//}; +//export declare type Alignment = typeof Alignment[keyof typeof Alignment]; +external enum class Alignment { + CENTER, + LEFT, + RIGHT +} + +/** + * A shared base interface for all Blueprint component props. + */ +external interface IProps : RProps { + /** A space-delimited list of class names to pass along to a child element. */ + var className: String? +} +external interface IIntentProps { + /** Visual intent color to apply to element. */ + var intent: Intent? +} +/** + * Interface for a clickable action, such as a button or menu item. + * These props can be spready directly to a `<Button>` or `<MenuItem>` element. + */ +external interface IActionProps : IIntentProps, IProps { + /** Whether this action is non-interactive. */ + var disabled: Boolean? + /** Name of a Blueprint UI icon (or an icon element) to render before the text. */ + var icon: IconName? + /** Click event handler. */ + var onClick: ((event: MouseEvent) -> Unit)? + /** Action text. Can be any single React renderable. */ + var text: String? +} +/** Interface for a link, with support for customizing target window. */ +external interface ILinkProps { + /** Link URL. */ + var href: String? + /** Link target attribute. Use `"_blank"` to open in a new window. */ + var target: String? +} +/** Interface for a controlled input. */ +external interface IControlledProps { + /** Initial value of the input, for uncontrolled usage. */ + var defaultValue: String? + /** Change event handler. Use `event.target.value` for new value. */ + var onChange: ((Event) -> Unit)? + /** Form value of the input, for controlled usage. */ + var value: String? +} +/** + * An interface for an option in a list, such as in a `<select>` or `RadioGroup`. + * These props can be spread directly to an `<option>` or `<Radio>` element. + */ +external interface IOptionProps : IProps { + /** Whether this option is non-interactive. */ + var disabled: Boolean? + /** Label text for this option. If omitted, `value` is used as the label. */ + var label: String? + /** Value of this option. */ + var value: Any? // String | Number +} + +external interface IIconProps : IIntentProps, IProps { + /** + * Color of icon. This is used as the `fill` attribute on the `<svg>` image + * so it will override any CSS `color` property, including that set by + * `intent`. If this prop is omitted, icon color is inherited from + * surrounding text. + */ + var color: String? + /** + * String for the `title` attribute on the rendered element, which will appear + * on hover as a native browser tooltip. + */ + var htmlTitle: String? + /** + * Name of a Blueprint UI icon, or an icon element, to render. This prop is + * required because it determines the content of the component, but it can + * be explicitly set to falsy values to render nothing. + * + * - If `null` or `undefined` or `false`, this component will render + * nothing. + * - If given an `IconName` (a string literal union of all icon names), that + * icon will be rendered as an `<svg>` with `<path>` tags. Unknown strings + * will render a blank icon to occupy space. + * - If given a `JSX.Element`, that element will be rendered and _all other + * props on this component are ignored._ This type is supported to + * simplify icon support in other Blueprint components. As a consumer, you + * should avoid using `<Icon icon={<Element />}` directly; simply render + * `<Element />` instead. + */ + var icon: IconName + /** + * Size of the icon, in pixels. Blueprint contains 16px and 20px SVG icon + * images, and chooses the appropriate resolution based on this prop. + * @default Icon.SIZE_STANDARD = 16 + */ + var iconSize: Int? + /** CSS style properties. */ + //var style: CSSProperties? // TODO + /** + * HTML tag to use for the rendered element. + * @default "span" + */ + var tagName: String? // keyof JSX.IntrinsicElements + /** + * Description string. This string does not appear in normal browsers, but + * it increases accessibility. For instance, screen readers will use it for + * aural feedback. By default, this is set to the icon's name. Pass an + * explicit falsy value to disable. + */ + var title: String? +} + +external class Icon : PureComponent<IIconProps, RState> { + + override fun render(): ReactElement? + + companion object { + val SIZE_STANDARD: Int = definedExternally + val SIZE_LARGE: Int = definedExternally + } +} + +external interface IButtonProps : IActionProps { + // artificially added to allow title on button (should probably be on more general props) + var title: String? + /** + * If set to `true`, the button will display in an active state. + * This is equivalent to setting `className={Classes.ACTIVE}`. + * @default false + */ + var active: Boolean? + /** + * Text alignment within button. By default, icons and text will be centered + * within the button. Passing `"left"` or `"right"` will align the button + * text to that side and push `icon` and `rightIcon` to either edge. Passing + * `"center"` will center the text and icons together. + * @default Alignment.CENTER + */ + var alignText: Alignment? + /** A ref handler that receives the native HTML element backing this component. */ + var elementRef: ((ref: HTMLElement?) -> Any)? + /** Whether this button should expand to fill its container. */ + var fill: Boolean? + /** Whether this button should use large styles. */ + var large: Boolean? + /** + * If set to `true`, the button will display a centered loading spinner instead of its contents. + * The width of the button is not affected by the value of this prop. + * @default false + */ + var loading: Boolean? + /** Whether this button should use minimal styles. */ + var minimal: Boolean? + /** Whether this button should use outlined styles. */ + var outlined: Boolean? + /** Name of a Blueprint UI icon (or an icon element) to render after the text. */ + var rightIcon: IconName? + /** Whether this button should use small styles. */ + var small: Boolean? + /** + * HTML `type` attribute of button. Accepted values are `"button"`, `"submit"`, and `"reset"`. + * Note that this prop has no effect on `AnchorButton`; it only affects `Button`. + * @default "button" + */ + var type: String? //"submit" | "reset" | "button"; +} + +external interface IButtonState : RState { + var isActive: Boolean +} + +abstract external class AbstractButton : PureComponent<IButtonProps, IButtonState> { +} + +external class Button : AbstractButton { + override fun render(): ReactElement +} +external class AnchorButton : AbstractButton { + override fun render(): ReactElement +} + +external interface IButtonGroupProps : IProps { + /** + * Text alignment within button. By default, icons and text will be centered + * within the button. Passing `"left"` or `"right"` will align the button + * text to that side and push `icon` and `rightIcon` to either edge. Passing + * `"center"` will center the text and icons together. + */ + var alignText: Alignment? + + /** + * Whether the button group should take up the full width of its container. + * @default false + */ + var fill: Boolean? + + /** + * Whether the child buttons should appear with minimal styling. + * @default false + */ + var minimal: Boolean? + + /** + * Whether the child buttons should appear with large styling. + * @default false + */ + var large: Boolean? + + /** + * Whether the button group should appear with vertical styling. + * @default false + */ + var vertical: Boolean? +} + +external class ButtonGroup : PureComponent<IButtonGroupProps, RState> { + override fun render(): ReactElement? +} + +external interface IInputGroupProps : IControlledProps, IIntentProps, IProps { + /** + * Whether the input is non-interactive. + * Note that `rightElement` must be disabled separately; this prop will not affect it. + * @default false + */ + var disabled: Boolean? + /** + * Whether the component should take up the full width of its container. + */ + var fill: Boolean? + /** Ref handler that receives HTML `<input>` element backing this component. */ + var inputRef: ((ref: HTMLInputElement?) -> Any)?; + /** + * Name of a Blueprint UI icon (or an icon element) to render on the left side of the input group, + * before the user's cursor. + */ + var leftIcon: IconName? + /** Whether this input should use large styles. */ + var large: Boolean? + /** Whether this input should use small styles. */ + var small: Boolean? + /** Placeholder text in the absence of any value. */ + var placeholder: String? + /** + * Element to render on right side of input. + * For best results, use a minimal button, tag, or small spinner. + */ + var rightElement: ReactElement? + /** Whether the input (and any buttons) should appear with rounded caps. */ + var round: Boolean? + /** + * HTML `input` type attribute. + * @default "text" + */ + var type: String? +} + +external interface IInputGroupState : RState { + var rightElementWidth: Int +} + +external class InputGroup : PureComponent<IInputGroupProps, IInputGroupState> { + override fun render(): ReactElement +} + +external interface ITagProps : IProps, IIntentProps { + /** + * Whether the tag should appear in an active state. + * @default false + */ + var active: Boolean? + /** + * Whether the tag should take up the full width of its container. + * @default false + */ + var fill: Boolean? + /** Name of a Blueprint UI icon (or an icon element) to render before the children. */ + var icon: IconName? + /** + * Whether the tag should visually respond to user interactions. If set + * to `true`, hovering over the tag will change its color and mouse cursor. + * + * Recommended when `onClick` is also defined. + * + * @default false + */ + var interactive: Boolean? + /** + * Whether this tag should use large styles. + * @default false + */ + var large: Boolean? + /** + * Whether this tag should use minimal styles. + * @default false + */ + var minimal: Boolean? + /** + * Whether tag content should be allowed to occupy multiple lines. + * If false, a single line of text will be truncated with an ellipsis if + * it overflows. Note that icons will be vertically centered relative to + * multiline text. + * @default false + */ + var multiline: Boolean? + /** + * Callback invoked when the tag is clicked. + * Recommended when `interactive` is `true`. + */ + var onClick: ((e: MouseEvent) -> Unit)?; + /** + * Click handler for remove button. + * The remove button will only be rendered if this prop is defined. + */ + var onRemove: ((e: MouseEvent, tagProps: ITagProps) -> Unit)? + /** Name of a Blueprint UI icon (or an icon element) to render after the children. */ + var rightIcon: IconName? + /** + * Whether this tag should have rounded ends. + * @default false + */ + var round: Boolean? +} + +external class Tag : PureComponent<ITagProps, RState> { + override fun render(): ReactElement +} + +external interface INonIdealStateProps : IProps { + /** An action to resolve the non-ideal state which appears after `description`. */ + var action: ReactElement? + + /** + * Advanced usage: React `children` will appear last (after `action`). + * Avoid passing raw strings as they will not receive margins and disrupt the layout flow. + */ + var children: ReactElement? + + /** + * A longer description of the non-ideal state. + * A string or number value will be wrapped in a `<div>` to preserve margins. + */ + var description: ReactElement? + + /** The name of a Blueprint icon or a JSX Element (such as `<Spinner/>`) to render above the title. */ + var icon: IconName? + + /** The title of the non-ideal state. */ + var title: ReactElement? +} + +external class NonIdealState : PureComponent<INonIdealStateProps, RState> { + override fun render(): ReactElement? +} + +external class Classes { + companion object { + val HTML_TABLE: String = definedExternally + } +} + +external interface IOverlayableProps : IOverlayLifecycleProps { + /** + * Whether the overlay should acquire application focus when it first opens. + * @default true + */ + var autoFocus: Boolean? + /** + * Whether pressing the `esc` key should invoke `onClose`. + * @default true + */ + var canEscapeKeyClose: Boolean? + /** + * Whether the overlay should prevent focus from leaving itself. That is, if the user attempts + * to focus an element outside the overlay and this prop is enabled, then the overlay will + * immediately bring focus back to itself. If you are nesting overlay components, either disable + * this prop on the "outermost" overlays or mark the nested ones `usePortal={false}`. + * @default true + */ + var enforceFocus: Boolean? + /** + * If `true` and `usePortal={true}`, the `Portal` containing the children is created and attached + * to the DOM when the overlay is opened for the first time; otherwise this happens when the + * component mounts. Lazy mounting provides noticeable performance improvements if you have lots + * of overlays at once, such as on each row of a table. + * @default true + */ + var lazy: Boolean? + /** + * Indicates how long (in milliseconds) the overlay's enter/leave transition takes. + * This is used by React `CSSTransition` to know when a transition completes and must match + * the duration of the animation in CSS. Only set this prop if you override Blueprint's default + * transitions with new transitions of a different length. + * @default 300 + */ + var transitionDuration: Int? + /** + * Whether the overlay should be wrapped in a `Portal`, which renders its contents in a new + * element attached to `portalContainer` prop. + * + * This prop essentially determines which element is covered by the backdrop: if `false`, + * then only its parent is covered; otherwise, the entire page is covered (because the parent + * of the `Portal` is the `<body>` itself). + * + * Set this prop to `false` on nested overlays (such as `Dialog` or `Popover`) to ensure that they + * are rendered above their parents. + * @default true + */ + var usePortal: Boolean? + /** + * Space-delimited string of class names applied to the `Portal` element if + * `usePortal={true}`. + */ + var portalClassName: String? + /** + * The container element into which the overlay renders its contents, when `usePortal` is `true`. + * This prop is ignored if `usePortal` is `false`. + * @default document.body + */ + var portalContainer: HTMLElement? + /** + * A callback that is invoked when user interaction causes the overlay to close, such as + * clicking on the overlay or pressing the `esc` key (if enabled). + * + * Receives the event from the user's interaction, if there was an event (generally either a + * mouse or key event). Note that, since this component is controlled by the `isOpen` prop, it + * will not actually close itself until that prop becomes `false`. + */ + var onClose: ((Event) -> Unit)? +} +external interface IOverlayLifecycleProps { + /** + * Lifecycle method invoked just before the CSS _close_ transition begins on + * a child. Receives the DOM element of the child being closed. + */ + var onClosing: ((node: HTMLElement) -> Unit)? + /** + * Lifecycle method invoked just after the CSS _close_ transition ends but + * before the child has been removed from the DOM. Receives the DOM element + * of the child being closed. + */ + var onClosed: ((node: HTMLElement) -> Unit)? + /** + * Lifecycle method invoked just after mounting the child in the DOM but + * just before the CSS _open_ transition begins. Receives the DOM element of + * the child being opened. + */ + var onOpening: ((node: HTMLElement) -> Unit)? + /** + * Lifecycle method invoked just after the CSS _open_ transition ends. + * Receives the DOM element of the child being opened. + */ + var onOpened: ((node: HTMLElement) -> Unit)? +} +external interface IBackdropProps { + /** CSS class names to apply to backdrop element. */ + var backdropClassName: String? + /** HTML props for the backdrop element. */ + var backdropProps: RProps? //React.HTMLProps<HTMLDivElement>? + /** + * Whether clicking outside the overlay element (either on backdrop when present or on document) + * should invoke `onClose`. + * @default true + */ + var canOutsideClickClose: Boolean? + /** + * Whether a container-spanning backdrop element should be rendered behind the contents. + * @default true + */ + var hasBackdrop: Boolean? +} +external interface IOverlayProps : IOverlayableProps, IBackdropProps, IProps { + /** + * Toggles the visibility of the overlay and its children. + * This prop is required because the component is controlled. + */ + var isOpen: Boolean + /** + * Name of the transition for internal `CSSTransition`. + * Providing your own name here will require defining new CSS transition properties. + * @default Classes.OVERLAY + */ + var transitionName: String? +} +external interface IOverlayState : RState { + var hasEverOpened: Boolean? +} +external class Overlay : PureComponent<IOverlayProps, IOverlayState> { + override fun render(): ReactElement +}
\ No newline at end of file diff --git a/sw-ui/src/main/kotlin/blueprintjsHelpers.kt b/sw-ui/src/main/kotlin/blueprintjsHelpers.kt new file mode 100644 index 00000000..da6b6914 --- /dev/null +++ b/sw-ui/src/main/kotlin/blueprintjsHelpers.kt @@ -0,0 +1,137 @@ +package com.palantir.blueprintjs + +import org.w3c.dom.events.Event +import org.w3c.dom.events.MouseEvent +import react.RBuilder +import react.RHandler +import react.ReactElement + +typealias IconName = String + +fun RBuilder.bpIcon( + name: IconName, + size: Int = Icon.SIZE_STANDARD, + intent: Intent = Intent.NONE, + title: String? = null, + alt: String? = null, + className: String? = null, + block: RHandler<IIconProps> = {} +): ReactElement = child(Icon::class) { + attrs { + this.icon = name + this.iconSize = size + this.htmlTitle = title + this.intent = intent + this.title = alt + this.className = className + } + block() +} + +fun RBuilder.bpButton( + minimal: Boolean = false, + small: Boolean = false, + large: Boolean = false, + disabled: Boolean = false, + title: String? = null, + icon: IconName? = null, + rightIcon: IconName? = null, + intent: Intent = Intent.NONE, + onClick: ((event: MouseEvent) -> Unit)? = {}, + block: RHandler<IButtonProps> = {} +): ReactElement = child(Button::class) { + attrs { + this.title = title + this.minimal = minimal + this.small = small + this.large = large + this.disabled = disabled + this.icon = icon + this.rightIcon = rightIcon + this.intent = intent + this.onClick = onClick + } + block() +} + +fun RBuilder.bpButtonGroup( + large: Boolean = false, + minimal: Boolean = false, + block: RHandler<IButtonGroupProps> = {} +): ReactElement = child(ButtonGroup::class) { + attrs { + this.large = large + this.minimal = minimal + } + block() +} + +fun RBuilder.bpInputGroup( + large: Boolean = false, + placeholder: String = "", + rightElement: ReactElement? = null, + onChange: (Event) -> Unit +): ReactElement = child(InputGroup::class) { + attrs { + this.large = large + this.placeholder = placeholder + this.rightElement = rightElement + this.onChange = onChange + } +} + +fun RBuilder.bpTag( + intent: Intent? = null, + minimal: Boolean? = null, + active: Boolean? = null, + block: RHandler<ITagProps> = {} +): ReactElement = child(Tag::class) { + attrs { + this.intent = intent + this.minimal = minimal + this.active = active + } + block() +} + +fun RBuilder.bpNonIdealState( + icon: IconName? = null, + title: ReactElement? = null, + description: ReactElement? = null, + action: ReactElement? = null, + children: ReactElement? = null, + block: RHandler<INonIdealStateProps> = {} +): ReactElement = child(NonIdealState::class) { + attrs { + this.icon = icon + this.title = title + this.description = description + this.action = action + this.children = children + } + block() +} + +fun RBuilder.bpOverlay( + isOpen: Boolean, + autoFocus: Boolean = true, + enforceFocus: Boolean = true, + usePortal: Boolean = true, + hasBackdrop: Boolean = true, + canEscapeKeyClose: Boolean = true, + canOutsideClickClose: Boolean = true, + onClose: () -> Unit = {}, + block: RHandler<IOverlayProps> = {} +): ReactElement = child(Overlay::class) { + attrs { + this.isOpen = isOpen + this.autoFocus = autoFocus + this.enforceFocus = enforceFocus + this.usePortal = usePortal + this.hasBackdrop = hasBackdrop + this.canEscapeKeyClose = canEscapeKeyClose + this.canOutsideClickClose = canOutsideClickClose + this.onClose = { onClose() } + } + block() +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/SevenWondersUi.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/SevenWondersUi.kt new file mode 100644 index 00000000..8b38e010 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/SevenWondersUi.kt @@ -0,0 +1,49 @@ +package org.luxons.sevenwonders.ui + +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch +import org.luxons.sevenwonders.ui.components.application +import org.luxons.sevenwonders.ui.redux.SwState +import org.luxons.sevenwonders.ui.redux.configureStore +import org.luxons.sevenwonders.ui.redux.sagas.SagaManager +import org.luxons.sevenwonders.ui.redux.sagas.rootSaga +import org.w3c.dom.Element +import react.dom.* +import react.redux.provider +import redux.RAction +import redux.Store +import redux.WrapperAction +import kotlin.browser.document +import kotlin.browser.window + +fun main() { + window.onload = { + val rootElement = document.getElementById("root") + if (rootElement != null) { + initializeAndRender(rootElement) + } else { + console.error("Element with ID 'root' was not found, cannot bootstrap react app") + } + } +} + +private fun initializeAndRender(rootElement: Element) { + val store = initRedux() + + render(rootElement) { + provider(store) { + application() + } + } +} + +private fun initRedux(): Store<SwState, RAction, WrapperAction> { + val sagaManager = SagaManager<SwState, RAction, WrapperAction>() + val store = configureStore(sagaManager = sagaManager) + GlobalScope.launch { + sagaManager.launchSaga(this) { + rootSaga() + } + } + return store +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/Application.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/Application.kt new file mode 100644 index 00000000..b1244b5c --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/Application.kt @@ -0,0 +1,22 @@ +package org.luxons.sevenwonders.ui.components + +import org.luxons.sevenwonders.ui.components.game.gameScene +import org.luxons.sevenwonders.ui.components.gameBrowser.gameBrowser +import org.luxons.sevenwonders.ui.components.home.home +import org.luxons.sevenwonders.ui.components.lobby.lobby +import org.luxons.sevenwonders.ui.router.Route +import react.RBuilder +import react.router.dom.hashRouter +import react.router.dom.redirect +import react.router.dom.route +import react.router.dom.switch + +fun RBuilder.application() = hashRouter { + switch { + route(Route.GAME_BROWSER.path) { gameBrowser() } + route(Route.GAME.path) { gameScene() } + route(Route.LOBBY.path) { lobby() } + route(Route.HOME.path, exact = true) { home() } + redirect(from = "*", to = "/") + } +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/GlobalStyles.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/GlobalStyles.kt new file mode 100644 index 00000000..f5b16248 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/GlobalStyles.kt @@ -0,0 +1,36 @@ +package org.luxons.sevenwonders.ui.components + +import kotlinx.css.Overflow +import kotlinx.css.Position +import kotlinx.css.bottom +import kotlinx.css.left +import kotlinx.css.overflow +import kotlinx.css.pct +import kotlinx.css.position +import kotlinx.css.properties.transform +import kotlinx.css.properties.translate +import kotlinx.css.px +import kotlinx.css.right +import kotlinx.css.top +import styled.StyleSheet + +object GlobalStyles : StyleSheet("GlobalStyles", isStatic = true) { + + val fullscreen by css { + position = Position.fixed + top = 0.px + left = 0.px + bottom = 0.px + right = 0.px + overflow = Overflow.hidden + } + + val fixedCenter by css { + position = Position.fixed + left = 50.pct + top = 50.pct + transform { + translate((-50).pct, (-50).pct) + } + } +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/Board.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/Board.kt new file mode 100644 index 00000000..dd67757a --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/Board.kt @@ -0,0 +1,124 @@ +package org.luxons.sevenwonders.ui.components.game + +import kotlinx.css.Color +import kotlinx.css.Display +import kotlinx.css.Position +import kotlinx.css.TextAlign +import kotlinx.css.display +import kotlinx.css.height +import kotlinx.css.margin +import kotlinx.css.maxHeight +import kotlinx.css.maxWidth +import kotlinx.css.pct +import kotlinx.css.position +import kotlinx.css.properties.boxShadow +import kotlinx.css.properties.transform +import kotlinx.css.properties.translate +import kotlinx.css.rem +import kotlinx.css.textAlign +import kotlinx.css.vh +import kotlinx.css.vw +import kotlinx.css.width +import kotlinx.css.zIndex +import kotlinx.html.DIV +import kotlinx.html.title +import org.luxons.sevenwonders.model.boards.Board +import org.luxons.sevenwonders.model.cards.TableCard +import org.luxons.sevenwonders.model.wonders.ApiWonder +import react.RBuilder +import styled.StyledDOMBuilder +import styled.css +import styled.styledDiv +import styled.styledImg + +// card offsets in % of their size when displayed in columns +private const val xOffset = 20 +private const val yOffset = 21 + +fun RBuilder.boardComponent(board: Board) { + styledDiv { + css { + width = 100.vw + } + tableCards(cardColumns = board.playedCards) + wonderComponent(wonder = board.wonder) + } +} + +private fun RBuilder.tableCards(cardColumns: List<List<TableCard>>) { + styledDiv { + css { + display = Display.flex + height = 40.vh + width = 100.vw + } + cardColumns.forEach { cards -> + tableCardColumn(cards = cards) { + attrs { + key = cards.first().color.toString() + } + } + } + } +} + +private fun RBuilder.tableCardColumn(cards: List<TableCard>, block: StyledDOMBuilder<DIV>.() -> Unit = {}) { + styledDiv { + css { + height = 40.vh + width = 15.vw + margin = "auto" + position = Position.relative + } + block() + cards.forEachIndexed { index, card -> + tableCard(card = card, indexInColumn = index) { + attrs { key = card.name } + } + } + } +} + +private fun RBuilder.tableCard(card: TableCard, indexInColumn: Int, block: StyledDOMBuilder<DIV>.() -> Unit = {}) { + styledDiv { + css { + position = Position.absolute + zIndex = indexInColumn + transform { + translate( + tx = (indexInColumn * xOffset).pct, + ty = (indexInColumn * yOffset).pct + ) + } + } + block() + val highlightColor = if (card.playedDuringLastMove) Color.gold else null + cardImage(card = card, highlightColor = highlightColor) { + css { + maxWidth = 10.vw + maxHeight = 25.vh + } + } + } +} + +private fun RBuilder.wonderComponent(wonder: ApiWonder) { + styledDiv { + css { + width = 100.vw + textAlign = TextAlign.center + } + styledImg(src="/images/wonders/${wonder.image}") { + css { + declarations["border-radius"] = "0.5%/1.5%" + boxShadow(color = Color.black, offsetX = 0.2.rem, offsetY = 0.2.rem, blurRadius = 0.5.rem) + maxHeight = 30.vh + maxWidth = 95.vw + } + attrs { + this.title = wonder.name + this.alt = "Wonder ${wonder.name}" + } + } + } +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/CardImage.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/CardImage.kt new file mode 100644 index 00000000..38afe028 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/CardImage.kt @@ -0,0 +1,43 @@ +package org.luxons.sevenwonders.ui.components.game + +import kotlinx.css.CSSBuilder +import kotlinx.css.Color +import kotlinx.css.borderRadius +import kotlinx.css.pct +import kotlinx.css.properties.boxShadow +import kotlinx.css.px +import kotlinx.css.rem +import kotlinx.html.IMG +import kotlinx.html.title +import org.luxons.sevenwonders.model.cards.Card +import react.RBuilder +import styled.StyledDOMBuilder +import styled.css +import styled.styledImg + +fun RBuilder.cardImage(card: Card, highlightColor: Color? = null, block: StyledDOMBuilder<IMG>.() -> Unit = {}) { + styledImg(src = "/images/cards/${card.image}") { + css { + borderRadius = 5.pct + boxShadow(offsetX = 2.px, offsetY = 2.px, blurRadius = 5.px, color = Color.black) + highlightStyle(highlightColor) + } + attrs { + title = card.name + alt = "Card ${card.name}" + } + block() + } +} + +private fun CSSBuilder.highlightStyle(highlightColor: Color?) { + if (highlightColor != null) { + boxShadow( + offsetX = 0.px, + offsetY = 0.px, + blurRadius = 1.rem, + spreadRadius = 0.1.rem, + color = highlightColor + ) + } +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/GameScene.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/GameScene.kt new file mode 100644 index 00000000..d54a0240 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/GameScene.kt @@ -0,0 +1,178 @@ +package org.luxons.sevenwonders.ui.components.game + +import com.palantir.blueprintjs.Intent +import com.palantir.blueprintjs.bpButton +import com.palantir.blueprintjs.bpButtonGroup +import com.palantir.blueprintjs.bpOverlay +import kotlinx.css.Position +import kotlinx.css.background +import kotlinx.css.backgroundSize +import kotlinx.css.bottom +import kotlinx.css.left +import kotlinx.css.pct +import kotlinx.css.position +import kotlinx.css.properties.transform +import kotlinx.css.properties.translate +import kotlinx.css.px +import kotlinx.css.rem +import kotlinx.css.right +import kotlinx.css.top +import kotlinx.html.DIV +import org.luxons.sevenwonders.model.Action +import org.luxons.sevenwonders.model.PlayerMove +import org.luxons.sevenwonders.model.PlayerTurnInfo +import org.luxons.sevenwonders.model.api.PlayerDTO +import org.luxons.sevenwonders.model.cards.HandCard +import org.luxons.sevenwonders.ui.components.GlobalStyles +import org.luxons.sevenwonders.ui.redux.GameState +import org.luxons.sevenwonders.ui.redux.RequestPrepareMove +import org.luxons.sevenwonders.ui.redux.RequestSayReady +import org.luxons.sevenwonders.ui.redux.RequestUnprepareMove +import org.luxons.sevenwonders.ui.redux.connectStateAndDispatch +import react.RBuilder +import react.RClass +import react.RComponent +import react.RProps +import react.RState +import react.ReactElement +import react.dom.* +import styled.StyledDOMBuilder +import styled.css +import styled.styledDiv + +interface GameSceneStateProps: RProps { + var playerIsReady: Boolean + var players: List<PlayerDTO> + var gameState: GameState? + var preparedMove: PlayerMove? + var preparedCard: HandCard? +} + +interface GameSceneDispatchProps: RProps { + var sayReady: () -> Unit + var prepareMove: (move: PlayerMove) -> Unit + var unprepareMove: () -> Unit +} + +interface GameSceneProps : GameSceneStateProps, GameSceneDispatchProps + +private class GameScene(props: GameSceneProps) : RComponent<GameSceneProps, RState>(props) { + + override fun RBuilder.render() { + styledDiv { + css { + background = "url('images/background-papyrus3.jpg')" + backgroundSize = "cover" + +GlobalStyles.fullscreen + } + val turnInfo = props.gameState?.turnInfo + if (turnInfo == null) { + p { +"Error: no turn info data"} + } else { + turnInfoScene(turnInfo) + } + } + } + + private fun RBuilder.sayReadyButton(): ReactElement { + val isReady = props.playerIsReady + val intent = if (isReady) Intent.SUCCESS else Intent.PRIMARY + return styledDiv { + css { + position = Position.absolute + bottom = 6.rem + left = 50.pct + transform { translate(tx = (-50).pct) } + } + bpButtonGroup { + bpButton( + large = true, + disabled = isReady, + intent = intent, + icon = if (isReady) "tick-circle" else "play", + onClick = { props.sayReady() } + ) { + +"READY" + } + // not really a button, but nice for style + bpButton( + large = true, + icon = "people", + disabled = isReady, + intent = intent + ) { + +"${props.players.count { it.isReady }}/${props.players.size}" + } + } + } + } + + private fun RBuilder.turnInfoScene(turnInfo: PlayerTurnInfo) { + val board = turnInfo.table.boards[turnInfo.playerIndex] + div { + // TODO use blueprint's Callout component without header and primary intent + p { + turnInfo.message } + boardComponent(board = board) + val hand = turnInfo.hand + if (hand != null) { + handComponent( + cards = hand, + wonderUpgradable = turnInfo.wonderBuildability.isBuildable, + preparedMove = props.preparedMove, + prepareMove = props.prepareMove + ) + } + val card = props.preparedCard + if (card != null) { + preparedMove(card) + } + if (turnInfo.action == Action.SAY_READY) { + sayReadyButton() + } + productionBar(gold = board.gold, production = board.production) + } + } + + private fun RBuilder.preparedMove(card: HandCard) { + bpOverlay(isOpen = true, onClose = props.unprepareMove) { + styledDiv { + css { +GlobalStyles.fixedCenter } + cardImage(card) + styledDiv { + css { + position = Position.absolute + top = 0.px + right = 0.px + } + bpButton( + icon = "cross", + title = "Cancel prepared move", + small = true, + intent = Intent.DANGER, + onClick = { props.unprepareMove() } + ) + } + } + } + } +} + +fun RBuilder.gameScene() = gameScene {} + +private val gameScene: RClass<GameSceneProps> = connectStateAndDispatch<GameSceneStateProps, GameSceneDispatchProps, + GameSceneProps>( + clazz = GameScene::class, + mapDispatchToProps = { dispatch, _ -> + prepareMove = { move -> dispatch(RequestPrepareMove(move)) } + unprepareMove = { dispatch(RequestUnprepareMove()) } + sayReady = { dispatch(RequestSayReady()) } + }, + mapStateToProps = { state, _ -> + playerIsReady = state.currentPlayer?.isReady == true + players = state.gameState?.players ?: emptyList() + gameState = state.gameState + preparedMove = state.gameState?.currentPreparedMove + preparedCard = state.gameState?.currentPreparedCard + } +) + diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/Hand.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/Hand.kt new file mode 100644 index 00000000..17ceffd2 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/Hand.kt @@ -0,0 +1,174 @@ +package org.luxons.sevenwonders.ui.components.game + +import com.palantir.blueprintjs.Intent +import com.palantir.blueprintjs.bpButton +import com.palantir.blueprintjs.bpButtonGroup +import kotlinx.css.Align +import kotlinx.css.CSSBuilder +import kotlinx.css.Color +import kotlinx.css.Display +import kotlinx.css.GridColumn +import kotlinx.css.GridRow +import kotlinx.css.Position +import kotlinx.css.alignItems +import kotlinx.css.bottom +import kotlinx.css.display +import kotlinx.css.filter +import kotlinx.css.gridColumn +import kotlinx.css.gridRow +import kotlinx.css.height +import kotlinx.css.left +import kotlinx.css.margin +import kotlinx.css.maxHeight +import kotlinx.css.maxWidth +import kotlinx.css.pct +import kotlinx.css.position +import kotlinx.css.properties.boxShadow +import kotlinx.css.properties.s +import kotlinx.css.properties.transform +import kotlinx.css.properties.transition +import kotlinx.css.properties.translate +import kotlinx.css.px +import kotlinx.css.rem +import kotlinx.css.vh +import kotlinx.css.vw +import kotlinx.css.width +import kotlinx.css.zIndex +import kotlinx.html.DIV +import org.luxons.sevenwonders.model.MoveType +import org.luxons.sevenwonders.model.PlayerMove +import org.luxons.sevenwonders.model.cards.HandCard +import org.luxons.sevenwonders.model.cards.PreparedCard +import org.luxons.sevenwonders.ui.components.game.cardImage +import react.RBuilder +import styled.StyledDOMBuilder +import styled.css +import styled.styledDiv + +fun RBuilder.handComponent( + cards: List<HandCard>, + wonderUpgradable: Boolean, + preparedMove: PlayerMove?, + prepareMove: (PlayerMove) -> Unit +) { + styledDiv { + css { + handStyle() + } + cards.filter { it.name != preparedMove?.cardName }.forEachIndexed { index, c -> + handCard( + card = c, + wonderUpgradable = wonderUpgradable, + prepareMove = prepareMove + ) { + attrs { + key = index.toString() + } + } + } + } +} + +private fun RBuilder.handCard( + card: HandCard, + wonderUpgradable: Boolean, + prepareMove: (PlayerMove) -> Unit, + block: StyledDOMBuilder<DIV>.() -> Unit +) { + styledDiv { + css { + handCardStyle() + } + block() + cardImage(card) { + css { + handCardImgStyle(card.playability.isPlayable) + } + } + actionButtons(card, wonderUpgradable, prepareMove) + } +} + +private fun RBuilder.actionButtons(card: HandCard, wonderUpgradable: Boolean, prepareMove: (PlayerMove) -> Unit) { + // class: action-buttons + styledDiv { + css { + alignItems = Align.flexEnd + display = Display.none + gridRow = GridRow("1") + gridColumn = GridColumn("1") + + ancestorHover(".hand-card") { + display = Display.flex + } + } + bpButtonGroup { + bpButton(title = "PLAY", + large = true, + intent = Intent.SUCCESS, + icon = "play", + disabled = !card.playability.isPlayable, + onClick = { prepareMove(PlayerMove(MoveType.PLAY, card.name)) }) + bpButton(title = "UPGRADE WONDER", + large = true, + intent = Intent.PRIMARY, + icon = "key-shift", + disabled = !wonderUpgradable, + onClick = { prepareMove(PlayerMove(MoveType.UPGRADE_WONDER, card.name)) }) + bpButton(title = "DISCARD", + large = true, + intent = Intent.DANGER, + icon = "cross", + onClick = { prepareMove(PlayerMove(MoveType.DISCARD, card.name)) }) + } + } +} + +private fun CSSBuilder.handStyle() { + alignItems = Align.center + bottom = 0.px + display = Display.flex + height = 345.px + left = 50.pct + maxHeight = 25.vw + position = Position.absolute + transform { + translate(tx = (-50).pct, ty = 55.pct) + } + transition(duration = 0.5.s) + zIndex = 30 + + hover { + bottom = 4.rem + transform { + translate(tx = (-50).pct, ty = 0.pct) + } + } +} + +private fun CSSBuilder.handCardStyle() { + classes.add("hand-card") + alignItems = Align.flexEnd + display = Display.grid + margin(all = 0.2.rem) +} + +private fun CSSBuilder.handCardImgStyle(isPlayable: Boolean) { + gridRow = GridRow("1") + gridColumn = GridColumn("1") + maxWidth = 13.vw + maxHeight = 60.vh + transition(duration = 0.1.s) + width = 11.rem + + ancestorHover(".hand-card") { + boxShadow(offsetX = 0.px, offsetY = 10.px, blurRadius = 40.px, color = Color.black) + width = 14.rem + maxWidth = 15.vw + maxHeight = 90.vh + } + + if (!isPlayable) { + filter = "grayscale(50%) contrast(50%)" + } +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/ProductionBar.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/ProductionBar.kt new file mode 100644 index 00000000..773e9835 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/ProductionBar.kt @@ -0,0 +1,164 @@ +package org.luxons.sevenwonders.ui.components.game + +import kotlinx.css.Align +import kotlinx.css.BorderStyle +import kotlinx.css.CSSBuilder +import kotlinx.css.Color +import kotlinx.css.Display +import kotlinx.css.Position +import kotlinx.css.VerticalAlign +import kotlinx.css.alignItems +import kotlinx.css.background +import kotlinx.css.bottom +import kotlinx.css.color +import kotlinx.css.display +import kotlinx.css.fontFamily +import kotlinx.css.fontSize +import kotlinx.css.height +import kotlinx.css.margin +import kotlinx.css.marginLeft +import kotlinx.css.position +import kotlinx.css.properties.borderTop +import kotlinx.css.properties.boxShadow +import kotlinx.css.px +import kotlinx.css.rem +import kotlinx.css.verticalAlign +import kotlinx.css.vw +import kotlinx.css.width +import kotlinx.css.zIndex +import kotlinx.html.DIV +import kotlinx.html.title +import org.luxons.sevenwonders.model.boards.Production +import org.luxons.sevenwonders.model.resources.CountedResource +import org.luxons.sevenwonders.model.resources.ResourceType +import react.RBuilder +import react.dom.* +import styled.StyledDOMBuilder +import styled.css +import styled.styledDiv +import styled.styledImg +import styled.styledSpan + +fun RBuilder.productionBar(gold: Int, production: Production) { + styledDiv { + css { + productionBarStyle() + } + goldIndicator(gold) + fixedResources(production.fixedResources) + alternativeResources(production.alternativeResources) + } +} + +private fun RBuilder.goldIndicator(amount: Int) { + tokenWithCount(tokenName = "coin", count = amount) +} + +private fun RBuilder.fixedResources(resources: List<CountedResource>) { + styledDiv { + css { + margin = "auto" + display = Display.flex + } + resources.forEach { + tokenWithCount(tokenName = getTokenName(it.type), count = it.count) { + attrs { key = it.type.toString() } + css { marginLeft = 1.rem } + } + } + } +} + +private fun RBuilder.alternativeResources(resources: Set<Set<ResourceType>>) { + styledDiv { + css { + margin = "auto" + display = Display.flex + } + resources.forEachIndexed { index, res -> + resourceChoice(types = res) { + attrs { + key = index.toString() + } + } + } + } +} + +private fun RBuilder.resourceChoice(types: Set<ResourceType>, block: StyledDOMBuilder<DIV>.() -> Unit = {}) { + styledDiv { + css { + marginLeft = (1.5).rem + } + block() + for ((i, t) in types.withIndex()) { + tokenImage(tokenName = getTokenName(t)) { + attrs { this.key = t.toString() } + } + if (i < types.indices.last) { + styledSpan { css { choiceSeparatorStyle() } } + } + } + } +} + +private fun RBuilder.tokenWithCount(tokenName: String, count: Int, block: StyledDOMBuilder<DIV>.() -> Unit = {}) { + styledDiv { + block() + tokenImage(tokenName) + styledSpan { + css { tokenCountStyle() } + + "× $count" + } + } +} + +private fun RBuilder.tokenImage(tokenName: String, block: StyledDOMBuilder<DIV>.() -> Unit = {}) { + styledImg(src = getTokenImagePath(tokenName)) { + css { + tokenImageStyle() + } + attrs { + this.title = tokenName + this.alt = tokenName + } + } +} + +private fun getTokenImagePath(tokenName: String)= "/images/tokens/${tokenName}.png" + +private fun getTokenName(resourceType: ResourceType)= "resources/${resourceType.toString().toLowerCase()}" + +private fun CSSBuilder.productionBarStyle() { + alignItems = Align.center + background = "linear-gradient(#eaeaea, #888 7%)" + bottom = 0.px + borderTop(width = 1.px, color = Color("#8b8b8b"), style = BorderStyle.solid) + boxShadow(blurRadius = 15.px, color = Color("#747474")) + display = Display.flex + height = (3.5).rem + width = 100.vw + position = Position.fixed + zIndex = 99 +} + +private fun CSSBuilder.choiceSeparatorStyle() { + fontSize = 2.rem + verticalAlign = VerticalAlign.middle + margin(all = 5.px) + color = Color("#c29929") + declarations["text-shadow"] = "0 0 1px black" +} + +private fun CSSBuilder.tokenImageStyle() { + height = 3.rem + width = 3.rem + verticalAlign = VerticalAlign.middle +} + +private fun CSSBuilder.tokenCountStyle() { + fontFamily = "fantasy" + fontSize = 1.5.rem + verticalAlign = VerticalAlign.middle + marginLeft = 0.2.rem +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/gameBrowser/CreateGameForm.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/gameBrowser/CreateGameForm.kt new file mode 100644 index 00000000..876a167e --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/gameBrowser/CreateGameForm.kt @@ -0,0 +1,76 @@ +package org.luxons.sevenwonders.ui.components.gameBrowser + +import com.palantir.blueprintjs.Intent +import com.palantir.blueprintjs.bpButton +import com.palantir.blueprintjs.bpInputGroup +import kotlinx.css.Display +import kotlinx.css.FlexDirection +import kotlinx.css.JustifyContent +import kotlinx.css.display +import kotlinx.css.flexDirection +import kotlinx.css.justifyContent +import kotlinx.html.js.onSubmitFunction +import org.luxons.sevenwonders.ui.redux.RequestCreateGame +import org.luxons.sevenwonders.ui.redux.connectDispatch +import org.luxons.sevenwonders.ui.utils.createElement +import org.w3c.dom.HTMLInputElement +import org.w3c.dom.events.Event +import react.RBuilder +import react.RClass +import react.RComponent +import react.RProps +import react.RState +import react.dom.* +import styled.css +import styled.styledDiv + +private interface CreateGameFormProps: RProps { + var createGame: (String) -> Unit +} + +private data class CreateGameFormState(var gameName: String = ""): RState + +private class CreateGameForm(props: CreateGameFormProps): RComponent<CreateGameFormProps, CreateGameFormState>(props) { + + override fun CreateGameFormState.init(props: CreateGameFormProps) { + gameName = "" + } + + override fun RBuilder.render() { + styledDiv { + css { + display = Display.flex + flexDirection = FlexDirection.row + justifyContent = JustifyContent.spaceBetween + } + form { + attrs { + onSubmitFunction = { e -> createGame(e) } + } + + bpInputGroup( + placeholder = "Game name", + onChange = { e -> + val input = e.currentTarget as HTMLInputElement + setState(transformState = { CreateGameFormState(input.value) }) + }, + rightElement = createGameButton() + ) + } + playerInfo() + } + } + + private fun createGameButton() = createElement { + bpButton(minimal = true, intent = Intent.PRIMARY, icon = "add", onClick = { e -> createGame(e) }) + } + + private fun createGame(e: Event) { + e.preventDefault() // prevents refreshing the page when pressing Enter + props.createGame(state.gameName) + } +} + +val createGameForm: RClass<RProps> = connectDispatch(CreateGameForm::class) { dispatch, _ -> + createGame = { name -> dispatch(RequestCreateGame(name)) } +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/gameBrowser/GameBrowser.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/gameBrowser/GameBrowser.kt new file mode 100644 index 00000000..2f860ca7 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/gameBrowser/GameBrowser.kt @@ -0,0 +1,10 @@ +package org.luxons.sevenwonders.ui.components.gameBrowser + +import react.RBuilder +import react.dom.* + +fun RBuilder.gameBrowser() = div { + h1 { +"Games" } + createGameForm {} + gameList() +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/gameBrowser/GameList.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/gameBrowser/GameList.kt new file mode 100644 index 00000000..47c17da1 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/gameBrowser/GameList.kt @@ -0,0 +1,133 @@ +package org.luxons.sevenwonders.ui.components.gameBrowser + +import com.palantir.blueprintjs.Classes +import com.palantir.blueprintjs.Intent +import com.palantir.blueprintjs.bpButton +import com.palantir.blueprintjs.bpIcon +import com.palantir.blueprintjs.bpTag +import kotlinx.css.Align +import kotlinx.css.Display +import kotlinx.css.FlexDirection +import kotlinx.css.VerticalAlign +import kotlinx.css.alignItems +import kotlinx.css.display +import kotlinx.css.flexDirection +import kotlinx.css.verticalAlign +import kotlinx.html.classes +import kotlinx.html.title +import org.luxons.sevenwonders.model.api.ConnectedPlayer +import org.luxons.sevenwonders.model.api.LobbyDTO +import org.luxons.sevenwonders.model.api.State +import org.luxons.sevenwonders.ui.redux.RequestJoinGame +import org.luxons.sevenwonders.ui.redux.connectStateAndDispatch +import react.RBuilder +import react.RComponent +import react.RProps +import react.RState +import react.dom.* +import styled.css +import styled.styledDiv +import styled.styledSpan +import styled.styledTr + +interface GameListStateProps : RProps { + var connectedPlayer: ConnectedPlayer + var games: List<LobbyDTO> +} + +interface GameListDispatchProps: RProps { + var joinGame: (Long) -> Unit +} + +interface GameListProps : GameListStateProps, GameListDispatchProps + +class GameListPresenter(props: GameListProps) : RComponent<GameListProps, RState>(props) { + + override fun RBuilder.render() { + table { + attrs { + classes = setOf(Classes.HTML_TABLE) + } + thead { + gameListHeaderRow() + } + tbody { + props.games.forEach { + gameListItemRow(it, props.joinGame) + } + } + } + } + + private fun RBuilder.gameListHeaderRow() = tr { + th { +"Name" } + th { +"Status" } + th { +"Nb Players" } + th { +"Join" } + } + + private fun RBuilder.gameListItemRow(lobby: LobbyDTO, joinGame: (Long) -> Unit) = styledTr { + css { + verticalAlign = VerticalAlign.middle + } + attrs { + key = lobby.id.toString() + } + td { +lobby.name } + td { gameStatus(lobby.state) } + td { playerCount(lobby.players.size) } + td { joinButton(lobby) } + } + + private fun RBuilder.gameStatus(state: State) { + val intent = when(state) { + State.LOBBY -> Intent.SUCCESS + State.PLAYING -> Intent.WARNING + State.FINISHED -> Intent.DANGER + } + bpTag(minimal = true, intent = intent) { + +state.toString() + } + } + + private fun RBuilder.playerCount(nPlayers: Int) { + styledDiv { + css { + display = Display.flex + flexDirection = FlexDirection.row + alignItems = Align.center + } + attrs { + title = "Number of players" + } + bpIcon(name = "people", title = null) + styledSpan { + +nPlayers.toString() + } + } + } + + private fun RBuilder.joinButton(lobby: LobbyDTO) { + val joinability = lobby.joinability(props.connectedPlayer.displayName) + bpButton( + minimal = true, + title = joinability.tooltip, + icon = "arrow-right", + disabled = !joinability.canDo, + onClick = { props.joinGame(lobby.id) } + ) + } +} + +fun RBuilder.gameList() = gameList {} + +private val gameList = connectStateAndDispatch<GameListStateProps, GameListDispatchProps, GameListProps>( + clazz = GameListPresenter::class, + mapStateToProps = { state, _ -> + connectedPlayer = state.connectedPlayer ?: error("there should be a connected player") + games = state.games + }, + mapDispatchToProps = { dispatch, _ -> + joinGame = { gameId -> dispatch(RequestJoinGame(gameId = gameId)) } + } +) diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/gameBrowser/PlayerInfo.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/gameBrowser/PlayerInfo.kt new file mode 100644 index 00000000..b939dfe1 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/gameBrowser/PlayerInfo.kt @@ -0,0 +1,36 @@ +package org.luxons.sevenwonders.ui.components.gameBrowser + +import org.luxons.sevenwonders.model.api.ConnectedPlayer +import org.luxons.sevenwonders.ui.redux.connectState +import react.RBuilder +import react.RComponent +import react.RProps +import react.RState +import react.dom.* + +interface PlayerInfoProps : RProps { + var connectedPlayer: ConnectedPlayer? +} + +class PlayerInfoPresenter(props: PlayerInfoProps) : RComponent<PlayerInfoProps, RState>(props) { + + override fun RBuilder.render() { + span { + b { + +"Username:" + } + props.connectedPlayer?.let { + + " ${it.displayName}" + } + } + } +} + +fun RBuilder.playerInfo() = playerInfo {} + +private val playerInfo = connectState( + clazz = PlayerInfoPresenter::class, + mapStateToProps = { state, _ -> + connectedPlayer = state.connectedPlayer + } +) diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/home/ChooseNameForm.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/home/ChooseNameForm.kt new file mode 100644 index 00000000..1aa4be43 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/home/ChooseNameForm.kt @@ -0,0 +1,64 @@ +package org.luxons.sevenwonders.ui.components.home + +import com.palantir.blueprintjs.Intent +import com.palantir.blueprintjs.bpButton +import com.palantir.blueprintjs.bpInputGroup +import kotlinx.html.js.onSubmitFunction +import org.luxons.sevenwonders.ui.redux.RequestChooseName +import org.luxons.sevenwonders.ui.redux.connectDispatch +import org.luxons.sevenwonders.ui.utils.createElement +import org.w3c.dom.HTMLInputElement +import org.w3c.dom.events.Event +import react.RBuilder +import react.RClass +import react.RComponent +import react.RProps +import react.RState +import react.ReactElement +import react.dom.* + +private interface ChooseNameFormProps: RProps { + var chooseUsername: (String) -> Unit +} + +private data class ChooseNameFormState(var username: String = ""): RState + +private class ChooseNameForm(props: ChooseNameFormProps): RComponent<ChooseNameFormProps, ChooseNameFormState>(props) { + + override fun ChooseNameFormState.init(props: ChooseNameFormProps) { + username = "" + } + + override fun RBuilder.render() { + form { + attrs.onSubmitFunction = { e -> chooseUsername(e) } + bpInputGroup( + large = true, + placeholder = "Username", + rightElement = submitButton(), + onChange = { e -> + val input = e.currentTarget as HTMLInputElement + setState(transformState = { ChooseNameFormState(input.value) }) + } + ) + } + } + + private fun submitButton(): ReactElement = createElement { + bpButton( + minimal = true, + icon = "arrow-right", + intent = Intent.PRIMARY, + onClick = { e -> chooseUsername(e) } + ) + } + + private fun chooseUsername(e: Event) { + e.preventDefault() + props.chooseUsername(state.username) + } +} + +val chooseNameForm: RClass<RProps> = connectDispatch(ChooseNameForm::class) { dispatch, _ -> + chooseUsername = { name -> dispatch(RequestChooseName(name)) } +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/home/Home.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/home/Home.kt new file mode 100644 index 00000000..43a1592b --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/home/Home.kt @@ -0,0 +1,21 @@ +package org.luxons.sevenwonders.ui.components.home + +import org.luxons.sevenwonders.ui.components.GlobalStyles +import react.RBuilder +import react.dom.* +import styled.css +import styled.styledDiv + +private const val LOGO = "images/logo-7-wonders.png" + +fun RBuilder.home() = styledDiv { + css { + +GlobalStyles.fullscreen + +HomeStyles.centerChildren + +HomeStyles.zeusBackground + } + + img(src = LOGO, alt = "Seven Wonders") {} + + chooseNameForm {} +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/home/HomeStyles.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/home/HomeStyles.kt new file mode 100644 index 00000000..624f430c --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/home/HomeStyles.kt @@ -0,0 +1,19 @@ +package org.luxons.sevenwonders.ui.components.home + +import kotlinx.css.* +import styled.StyleSheet + +object HomeStyles : StyleSheet("HomeStyles", isStatic = true) { + + val zeusBackground by css { + background = "url('images/background-zeus-temple.jpg') center no-repeat" + backgroundSize = "cover" + } + + val centerChildren by css { + display = Display.flex + flexDirection = FlexDirection.column + alignItems = Align.center + justifyContent = JustifyContent.center + } +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/lobby/Lobby.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/lobby/Lobby.kt new file mode 100644 index 00000000..5b13d8b1 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/lobby/Lobby.kt @@ -0,0 +1,66 @@ +package org.luxons.sevenwonders.ui.components.lobby + +import com.palantir.blueprintjs.Intent +import com.palantir.blueprintjs.bpButton +import org.luxons.sevenwonders.model.api.LobbyDTO +import org.luxons.sevenwonders.model.api.PlayerDTO +import org.luxons.sevenwonders.ui.redux.RequestStartGame +import org.luxons.sevenwonders.ui.redux.connectStateAndDispatch +import react.RBuilder +import react.RComponent +import react.RProps +import react.RState +import react.dom.* + +interface LobbyStateProps : RProps { + var currentGame: LobbyDTO? + var currentPlayer: PlayerDTO? +} + +interface LobbyDispatchProps : RProps { + var startGame: () -> Unit +} + +interface LobbyProps : LobbyDispatchProps, LobbyStateProps + +class LobbyPresenter(props: LobbyProps) : RComponent<LobbyProps, RState>(props) { + + override fun RBuilder.render() { + val currentGame = props.currentGame + val currentPlayer = props.currentPlayer + if (currentGame == null || currentPlayer == null) { + div { +"Error: no current game." } + return + } + div { + h2 { +"${currentGame.name} — Lobby" } + radialPlayerList(currentGame.players, currentPlayer) + if (currentPlayer.isGameOwner) { + val startability = currentGame.startability(currentPlayer.username) + bpButton( + large = true, + intent = Intent.PRIMARY, + icon = "play", + title = startability.tooltip, + disabled = !startability.canDo, + onClick = { props.startGame() } + ) { + + "START" + } + } + } + } +} + +fun RBuilder.lobby() = lobby {} + +private val lobby = connectStateAndDispatch<LobbyStateProps, LobbyDispatchProps, LobbyProps>( + clazz = LobbyPresenter::class, + mapStateToProps = { state, _ -> + currentGame = state.currentLobby + currentPlayer = state.currentPlayer + }, + mapDispatchToProps = { dispatch, _ -> + startGame = { dispatch(RequestStartGame()) } + } +) diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/lobby/RadialList.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/lobby/RadialList.kt new file mode 100644 index 00000000..be3bb1de --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/lobby/RadialList.kt @@ -0,0 +1,121 @@ +package org.luxons.sevenwonders.ui.components.lobby + +import kotlinx.css.CSSBuilder +import kotlinx.css.Display +import kotlinx.css.ListStyleType +import kotlinx.css.Position +import kotlinx.css.display +import kotlinx.css.height +import kotlinx.css.left +import kotlinx.css.listStyleType +import kotlinx.css.margin +import kotlinx.css.padding +import kotlinx.css.pct +import kotlinx.css.position +import kotlinx.css.properties.Timing +import kotlinx.css.properties.ms +import kotlinx.css.properties.transform +import kotlinx.css.properties.transition +import kotlinx.css.properties.translate +import kotlinx.css.px +import kotlinx.css.top +import kotlinx.css.width +import kotlinx.css.zIndex +import react.RBuilder +import react.ReactElement +import react.dom.* +import styled.css +import styled.styledDiv +import styled.styledLi +import styled.styledUl + +typealias ElementBuilder = RBuilder.() -> ReactElement + +fun RBuilder.radialList( + itemBuilders: List<ElementBuilder>, + centerElementBuilder: ElementBuilder, + itemWidth: Int, + itemHeight: Int, + options: RadialConfig = RadialConfig() +): ReactElement { + val containerWidth = options.diameter + itemWidth + val containerHeight = options.diameter + itemHeight + + return styledDiv { + css { + zeroMargins() + position = Position.relative + width = containerWidth.px + height = containerHeight.px + } + radialListItems(itemBuilders, options) + radialListCenter(centerElementBuilder) + } +} + +private fun RBuilder.radialListItems(itemBuilders: List<ElementBuilder>, radialConfig: RadialConfig): ReactElement { + val offsets = offsetsFromCenter(itemBuilders.size, radialConfig) + return styledUl { + css { + zeroMargins() + transition(property = "all", duration = 500.ms, timing = Timing.easeInOut) + zIndex = 1 + width = radialConfig.diameter.px + height = radialConfig.diameter.px + absoluteCenter() + } + itemBuilders.forEachIndexed { i, itemBuilder -> + radialListItem(itemBuilder, i, offsets[i]) + } + } +} + +private fun RBuilder.radialListItem(itemBuilder: ElementBuilder, i: Int, offset: CartesianCoords): ReactElement { + return styledLi { + css { + display = Display.block + position = Position.absolute + top = 50.pct + left = 50.pct + zeroMargins() + listStyleType = ListStyleType.unset + transition("all", 500.ms, Timing.easeInOut) + zIndex = 1 + transform { + translate(offset.x.px, offset.y.px) + translate((-50).pct, (-50).pct) + } + } + attrs { + key = "$i" + } + itemBuilder() + } +} + +private fun RBuilder.radialListCenter(centerElement: ElementBuilder?): ReactElement? { + if (centerElement == null) { + return null + } + return styledDiv { + css { + zIndex = 0 + absoluteCenter() + } + centerElement() + } +} + +private fun CSSBuilder.absoluteCenter() { + position = Position.absolute + left = 50.pct + top = 50.pct + transform { + translate((-50).pct, (-50).pct) + } +} + +private fun CSSBuilder.zeroMargins() { + margin = "0" + padding = "0" +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/lobby/RadialMath.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/lobby/RadialMath.kt new file mode 100644 index 00000000..d668ab9b --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/lobby/RadialMath.kt @@ -0,0 +1,57 @@ +package org.luxons.sevenwonders.ui.components.lobby + +import kotlin.math.PI +import kotlin.math.cos +import kotlin.math.roundToInt +import kotlin.math.sin + +data class CartesianCoords( + val x: Int, + val y: Int +) + +data class PolarCoords( + val radius: Int, + val angleDeg: Int +) + +private fun Int.toRadians() = (this * PI / 180.0) +private fun Double.project(angleRad: Double, trigFn: (Double) -> Double) = (this * trigFn(angleRad)).roundToInt() +private fun Double.xProjection(angleRad: Double) = project(angleRad, ::cos) +private fun Double.yProjection(angleRad: Double) = project(angleRad, ::sin) + +private fun PolarCoords.toCartesian() = CartesianCoords( + x = radius.toDouble().xProjection(angleDeg.toRadians()), + y = radius.toDouble().yProjection(angleDeg.toRadians()) +) + +// Y-axis is pointing down in the browser, so the directions need to be reversed +// (positive angles are now clockwise) +enum class Direction(private val value: Int) { + CLOCKWISE(1), + COUNTERCLOCKWISE(-1); + + fun toOrientedDegrees(deg: Int) = value * deg +} + +data class RadialConfig( + val radius: Int = 120, + val spreadArcDegrees: Int = 360, // full circle + val firstItemAngleDegrees: Int = 0, // 12 o'clock + val direction: Direction = Direction.CLOCKWISE +) { + val diameter: Int = radius * 2 +} + +private const val DEFAULT_START = -90 // Up, because Y-axis is reversed + +fun offsetsFromCenter(nbItems: Int, radialConfig: RadialConfig = RadialConfig()): List<CartesianCoords> { + val startAngle = DEFAULT_START + radialConfig.direction.toOrientedDegrees(radialConfig.firstItemAngleDegrees) + val angleStep = radialConfig.spreadArcDegrees / nbItems + return List(nbItems) { itemCartesianOffsets(startAngle, angleStep, it, radialConfig) } +} + +private fun itemCartesianOffsets(startAngle: Int, angleStep: Int, index: Int, config: RadialConfig): CartesianCoords { + val itemAngle = startAngle + config.direction.toOrientedDegrees(angleStep) * index + return PolarCoords(config.radius, itemAngle).toCartesian() +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/lobby/RadialPlayerList.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/lobby/RadialPlayerList.kt new file mode 100644 index 00000000..ff541696 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/lobby/RadialPlayerList.kt @@ -0,0 +1,106 @@ +package org.luxons.sevenwonders.ui.components.lobby + +import com.palantir.blueprintjs.IconName +import com.palantir.blueprintjs.Intent +import com.palantir.blueprintjs.bpIcon +import kotlinx.css.Align +import kotlinx.css.Display +import kotlinx.css.FlexDirection +import kotlinx.css.alignItems +import kotlinx.css.display +import kotlinx.css.flexDirection +import kotlinx.css.margin +import kotlinx.css.opacity +import org.luxons.sevenwonders.model.api.PlayerDTO +import react.RBuilder +import react.ReactElement +import react.dom.* +import styled.css +import styled.styledDiv +import styled.styledH5 + +fun RBuilder.radialPlayerList(players: List<PlayerDTO>, currentPlayer: PlayerDTO): ReactElement { + val playerItemBuilders = players + .growTo(targetSize = 3) + .withUserFirst(currentPlayer) + .map { p -> p.elementBuilder(p?.username == currentPlayer.username) } + + val tableImgBuilder: ElementBuilder = { roundTableImg() } + + return radialList( + itemBuilders = playerItemBuilders, + centerElementBuilder = tableImgBuilder, + itemWidth = 120, + itemHeight = 100, + options = RadialConfig( + radius = 175, + firstItemAngleDegrees = 180 // self at the bottom + ) + ) +} + +private fun RBuilder.roundTableImg(): ReactElement = img { + attrs { + src = "images/round-table.png" + alt = "Round table" + width = "200" + height = "200" + } +} + +private fun List<PlayerDTO?>.withUserFirst(me: PlayerDTO): List<PlayerDTO?> { + val nonUsersBeginning = takeWhile { it?.username != me.username } + val userToEnd = subList(nonUsersBeginning.size, size) + return userToEnd + nonUsersBeginning +} + +private fun <T> List<T>.growTo(targetSize: Int): List<T?> { + if (size >= targetSize) return this + return this + List(targetSize - size) { null } +} + +private fun PlayerDTO?.elementBuilder(isMe: Boolean): ElementBuilder { + if (this == null) { + return { playerPlaceholder() } + } else { + return { playerItem(this@elementBuilder, isMe) } + } +} + +private fun RBuilder.playerItem(player: PlayerDTO, isMe: Boolean): ReactElement = styledDiv { + css { + display = Display.flex + flexDirection = FlexDirection.column + alignItems = Align.center + } + val title = if (player.isGameOwner) "Game owner" else null + userIcon(isMe = isMe, isOwner = player.isGameOwner, title = title) + styledH5 { + css { + margin = "0" + } + +player.displayName + } +} + +private fun RBuilder.playerPlaceholder(): ReactElement = styledDiv { + css { + display = Display.flex + flexDirection = FlexDirection.column + alignItems = Align.center + opacity = 0.3 + } + userIcon(isMe = false, isOwner = false, title = "Waiting for player...") + styledH5 { + css { + margin = "0" + } + +"?" + } +} + +private fun RBuilder.userIcon(isMe: Boolean, isOwner: Boolean, title: String?): ReactElement { + val iconName: IconName = if (isOwner) "badge" else "user" + val intent: Intent = if (isMe) Intent.WARNING else Intent.NONE + return bpIcon(name = iconName, intent = intent, size = 50, title = title) +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/Actions.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/Actions.kt new file mode 100644 index 00000000..3e3de561 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/Actions.kt @@ -0,0 +1,26 @@ +package org.luxons.sevenwonders.ui.redux + +import org.luxons.sevenwonders.model.PlayerMove +import org.luxons.sevenwonders.model.PlayerTurnInfo +import org.luxons.sevenwonders.model.api.ConnectedPlayer +import org.luxons.sevenwonders.model.api.LobbyDTO +import org.luxons.sevenwonders.model.cards.PreparedCard +import redux.RAction + +data class SetCurrentPlayerAction(val player: ConnectedPlayer): RAction + +data class UpdateGameListAction(val games: List<LobbyDTO>): RAction + +data class UpdateLobbyAction(val lobby: LobbyDTO): RAction + +data class EnterLobbyAction(val lobby: LobbyDTO): RAction + +data class EnterGameAction(val lobby: LobbyDTO, val turnInfo: PlayerTurnInfo): RAction + +data class TurnInfoEvent(val turnInfo: PlayerTurnInfo): RAction + +data class PreparedMoveEvent(val move: PlayerMove): RAction + +data class PreparedCardEvent(val card: PreparedCard): RAction + +data class PlayerReadyEvent(val username: String): RAction diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/ApiActions.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/ApiActions.kt new file mode 100644 index 00000000..836f5b4e --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/ApiActions.kt @@ -0,0 +1,23 @@ +package org.luxons.sevenwonders.ui.redux + +import org.luxons.sevenwonders.model.CustomizableSettings +import org.luxons.sevenwonders.model.PlayerMove +import redux.RAction + +data class RequestChooseName(val playerName: String): RAction + +data class RequestCreateGame(val gameName: String): RAction + +data class RequestJoinGame(val gameId: Long): RAction + +data class RequestReorderPlayers(val orderedPlayers: List<String>): RAction + +data class RequestUpdateSettings(val settings: CustomizableSettings): RAction + +class RequestStartGame: RAction + +class RequestSayReady: RAction + +data class RequestPrepareMove(val move: PlayerMove): RAction + +class RequestUnprepareMove: RAction diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/Reducers.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/Reducers.kt new file mode 100644 index 00000000..c21f6deb --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/Reducers.kt @@ -0,0 +1,84 @@ +package org.luxons.sevenwonders.ui.redux + +import org.luxons.sevenwonders.model.PlayerMove +import org.luxons.sevenwonders.model.PlayerTurnInfo +import org.luxons.sevenwonders.model.api.ConnectedPlayer +import org.luxons.sevenwonders.model.api.LobbyDTO +import org.luxons.sevenwonders.model.api.PlayerDTO +import org.luxons.sevenwonders.model.api.State +import org.luxons.sevenwonders.model.cards.CardBack +import org.luxons.sevenwonders.model.cards.HandCard +import redux.RAction + +data class SwState( + val connectedPlayer: ConnectedPlayer? = null, + // they must be by ID to support updates to a sublist + val gamesById: Map<Long, LobbyDTO> = emptyMap(), + val currentLobby: LobbyDTO? = null, + val gameState: GameState? = null +) { + val currentPlayer: PlayerDTO? = (gameState?.players ?: currentLobby?.players)?.first { + it.username == connectedPlayer?.username + } + val games: List<LobbyDTO> = gamesById.values.toList() +} + +data class GameState( + val id: Long, + val players: List<PlayerDTO>, + val turnInfo: PlayerTurnInfo?, + val preparedCardsByUsername: Map<String, CardBack?> = emptyMap(), + val currentPreparedMove: PlayerMove? = null +) { + val currentPreparedCard: HandCard? + get() = turnInfo?.hand?.firstOrNull { it.name == currentPreparedMove?.cardName } +} + +fun rootReducer(state: SwState, action: RAction): SwState = state.copy( + gamesById = gamesReducer(state.gamesById, action), + connectedPlayer = currentPlayerReducer(state.connectedPlayer, action), + currentLobby = currentLobbyReducer(state.currentLobby, action), + gameState = gameStateReducer(state.gameState, action) +) + +private fun gamesReducer(games: Map<Long, LobbyDTO>, action: RAction): Map<Long, LobbyDTO> = when (action) { + is UpdateGameListAction -> (games + action.games.associateBy { it.id }).filterValues { it.state != State.FINISHED } + else -> games +} + +private fun currentPlayerReducer(currentPlayer: ConnectedPlayer?, action: RAction): ConnectedPlayer? = when (action) { + is SetCurrentPlayerAction -> action.player + else -> currentPlayer +} + +private fun currentLobbyReducer(currentLobby: LobbyDTO?, action: RAction): LobbyDTO? = when (action) { + is EnterLobbyAction -> action.lobby + is UpdateLobbyAction -> action.lobby + is PlayerReadyEvent -> currentLobby?.let { l -> + l.copy(players = l.players.map { p -> + if (p.username == action.username) p.copy(isReady = true) else p + }) + } + else -> currentLobby +} + +private fun gameStateReducer(gameState: GameState?, action: RAction): GameState? = when (action) { + is EnterGameAction -> GameState( + id = action.lobby.id, + players = action.lobby.players, + turnInfo = action.turnInfo + ) + is PreparedMoveEvent -> gameState?.copy(currentPreparedMove = action.move) + is RequestUnprepareMove -> gameState?.copy(currentPreparedMove = null) + is PreparedCardEvent -> gameState?.copy( + preparedCardsByUsername = gameState.preparedCardsByUsername + (action.card.player.username to action.card.cardBack) + ) + is PlayerReadyEvent -> gameState?.copy(players = gameState.players.map { p -> + if (p.username == action.username) p.copy(isReady = true) else p + }) + is TurnInfoEvent -> gameState?.copy( + players = gameState.players.map { p -> p.copy(isReady = false) }, + turnInfo = action.turnInfo + ) + else -> gameState +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/Store.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/Store.kt new file mode 100644 index 00000000..6f50a627 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/Store.kt @@ -0,0 +1,29 @@ +package org.luxons.sevenwonders.ui.redux + +import org.luxons.sevenwonders.ui.redux.sagas.SagaManager +import redux.RAction +import redux.Store +import redux.WrapperAction +import redux.applyMiddleware +import redux.compose +import redux.createStore +import redux.rEnhancer +import kotlin.browser.window + +val INITIAL_STATE = SwState() + +private fun <A, T1, R> composeWithDevTools(function1: (T1) -> R, function2: (A) -> T1): (A) -> R { + val reduxDevtoolsExtensionCompose = window.asDynamic().__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ + if (reduxDevtoolsExtensionCompose == undefined) { + return compose(function1, function2) + } + return reduxDevtoolsExtensionCompose(function1, function2) as Function1<A, R> +} + +fun configureStore( + sagaManager: SagaManager<SwState, RAction, WrapperAction>, + initialState: SwState = INITIAL_STATE +): Store<SwState, RAction, WrapperAction> { + val sagaEnhancer = applyMiddleware(sagaManager.createMiddleware()) + return createStore(::rootReducer, initialState, composeWithDevTools(sagaEnhancer, rEnhancer())) +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/Utils.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/Utils.kt new file mode 100644 index 00000000..67ac5304 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/Utils.kt @@ -0,0 +1,39 @@ +package org.luxons.sevenwonders.ui.redux + +import react.RClass +import react.RComponent +import react.RProps +import react.RState +import react.invoke +import react.redux.rConnect +import redux.RAction +import redux.WrapperAction +import kotlin.reflect.KClass + +inline fun <reified DP : RProps> connectDispatch( + clazz: KClass<out RComponent<DP, out RState>>, + noinline mapDispatchToProps: DP.((RAction) -> WrapperAction, RProps) -> Unit +): RClass<RProps> { + val connect = rConnect(mapDispatchToProps = mapDispatchToProps) + return connect.invoke(clazz.js.unsafeCast<RClass<DP>>()) +} + +inline fun <reified SP : RProps> connectState( + clazz: KClass<out RComponent<SP, out RState>>, + noinline mapStateToProps: SP.(SwState, RProps) -> Unit +): RClass<RProps> { + val connect = rConnect(mapStateToProps = mapStateToProps) + return connect.invoke(clazz.js.unsafeCast<RClass<SP>>()) +} + +inline fun <reified SP : RProps, reified DP : RProps, reified P : RProps> connectStateAndDispatch( + clazz: KClass<out RComponent<P, out RState>>, + noinline mapStateToProps: SP.(SwState, RProps) -> Unit, + noinline mapDispatchToProps: DP.((RAction) -> WrapperAction, RProps) -> Unit +): RClass<RProps> { + val connect = rConnect<SwState, RAction, WrapperAction, RProps, SP, DP, P>( + mapStateToProps = mapStateToProps, + mapDispatchToProps = mapDispatchToProps + ) + return connect.invoke(clazz.js.unsafeCast<RClass<P>>()) +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/GameBrowserSagas.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/GameBrowserSagas.kt new file mode 100644 index 00000000..7806bc98 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/GameBrowserSagas.kt @@ -0,0 +1,50 @@ +package org.luxons.sevenwonders.ui.redux.sagas + +import kotlinx.coroutines.coroutineScope +import kotlinx.coroutines.launch +import org.hildan.krossbow.stomp.StompSubscription +import org.luxons.sevenwonders.client.SevenWondersSession +import org.luxons.sevenwonders.model.api.LobbyDTO +import org.luxons.sevenwonders.ui.redux.EnterLobbyAction +import org.luxons.sevenwonders.ui.redux.RequestCreateGame +import org.luxons.sevenwonders.ui.redux.RequestJoinGame +import org.luxons.sevenwonders.ui.redux.UpdateGameListAction +import org.luxons.sevenwonders.ui.router.Navigate +import org.luxons.sevenwonders.ui.router.Route +import org.luxons.sevenwonders.ui.utils.awaitFirst + +suspend fun SwSagaContext.gameBrowserSaga(session: SevenWondersSession) { + GameBrowserSaga(session, this).run() +} + +private class GameBrowserSaga( + private val session: SevenWondersSession, + private val sagaContext: SwSagaContext +) { + suspend fun run() { + coroutineScope { + val gamesSubscription = session.watchGames() + launch { dispatchGameUpdates(gamesSubscription) } + val lobby = awaitCreateOrJoinGame() + gamesSubscription.unsubscribe() + sagaContext.dispatch(EnterLobbyAction(lobby)) + sagaContext.dispatch(Navigate(Route.LOBBY)) + } + } + + private suspend fun dispatchGameUpdates(gamesSubscription: StompSubscription<List<LobbyDTO>>) { + sagaContext.dispatchAll(gamesSubscription.messages) { UpdateGameListAction(it) } + } + + private suspend fun awaitCreateOrJoinGame(): LobbyDTO = awaitFirst(this::awaitCreateGame, this::awaitJoinGame) + + private suspend fun awaitCreateGame(): LobbyDTO { + val action = sagaContext.next<RequestCreateGame>() + return session.createGame(action.gameName) + } + + private suspend fun awaitJoinGame(): LobbyDTO { + val action = sagaContext.next<RequestJoinGame>() + return session.joinGame(action.gameId) + } +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/GameSagas.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/GameSagas.kt new file mode 100644 index 00000000..a9c2ca2c --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/GameSagas.kt @@ -0,0 +1,36 @@ +package org.luxons.sevenwonders.ui.redux.sagas + +import kotlinx.coroutines.coroutineScope +import kotlinx.coroutines.launch +import org.luxons.sevenwonders.client.SevenWondersSession +import org.luxons.sevenwonders.ui.redux.PlayerReadyEvent +import org.luxons.sevenwonders.ui.redux.PreparedCardEvent +import org.luxons.sevenwonders.ui.redux.PreparedMoveEvent +import org.luxons.sevenwonders.ui.redux.RequestPrepareMove +import org.luxons.sevenwonders.ui.redux.RequestSayReady +import org.luxons.sevenwonders.ui.redux.RequestUnprepareMove +import org.luxons.sevenwonders.ui.redux.TurnInfoEvent + +suspend fun SwSagaContext.gameSaga(session: SevenWondersSession) { + val game = getState().gameState ?: error("Game saga run without a current game") + coroutineScope { + val playerReadySub = session.watchPlayerReady(game.id) + val preparedCardsSub = session.watchPreparedCards(game.id) + val turnInfoSub = session.watchTurns() + val sayReadyJob = launch { onEach<RequestSayReady> { session.sayReady() } } + val unprepareJob = launch { onEach<RequestUnprepareMove> { session.unprepareMove() } } + val prepareMoveJob = launch { + onEach<RequestPrepareMove> { + val move = session.prepareMove(it.move) + dispatch(PreparedMoveEvent(move)) + } + } + launch { dispatchAll(playerReadySub.messages) { PlayerReadyEvent(it) } } + launch { dispatchAll(preparedCardsSub.messages) { PreparedCardEvent(it) } } + launch { dispatchAll(turnInfoSub.messages) { TurnInfoEvent(it) } } + // TODO await game end + // TODO unsubscribe all subs, cancel all jobs + } + console.log("End of game saga") +} + diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/LobbySagas.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/LobbySagas.kt new file mode 100644 index 00000000..678276dc --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/LobbySagas.kt @@ -0,0 +1,42 @@ +package org.luxons.sevenwonders.ui.redux.sagas + +import kotlinx.coroutines.coroutineScope +import kotlinx.coroutines.launch +import org.hildan.krossbow.stomp.StompSubscription +import org.luxons.sevenwonders.client.SevenWondersSession +import org.luxons.sevenwonders.model.api.LobbyDTO +import org.luxons.sevenwonders.ui.redux.EnterGameAction +import org.luxons.sevenwonders.ui.redux.RequestStartGame +import org.luxons.sevenwonders.ui.redux.UpdateLobbyAction +import org.luxons.sevenwonders.ui.router.Navigate +import org.luxons.sevenwonders.ui.router.Route + +suspend fun SwSagaContext.lobbySaga(session: SevenWondersSession) { + val lobby = getState().currentLobby ?: error("Lobby saga run without a current lobby") + coroutineScope { + val lobbyUpdatesSubscription = session.watchLobbyUpdates() + launch { watchLobbyUpdates(lobbyUpdatesSubscription) } + val startGameJob = launch { awaitStartGame(session) } + + awaitGameStart(session, lobby.id) + + lobbyUpdatesSubscription.unsubscribe() + startGameJob.cancel() + dispatch(Navigate(Route.GAME)) + } +} + +private suspend fun SwSagaContext.watchLobbyUpdates(lobbyUpdatesSubscription: StompSubscription<LobbyDTO>) { + dispatchAll(lobbyUpdatesSubscription.messages) { UpdateLobbyAction(it) } +} + +private suspend fun SwSagaContext.awaitGameStart(session: SevenWondersSession, lobbyId: Long) { + val turnInfo = session.awaitGameStart(lobbyId) + val lobby = getState().currentLobby!! + dispatch(EnterGameAction(lobby, turnInfo)) +} + +private suspend fun SwSagaContext.awaitStartGame(session: SevenWondersSession) { + next<RequestStartGame>() + session.startGame() +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/Sagas.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/Sagas.kt new file mode 100644 index 00000000..c4a92581 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/Sagas.kt @@ -0,0 +1,54 @@ +package org.luxons.sevenwonders.ui.redux.sagas + +import kotlinx.coroutines.coroutineScope +import kotlinx.coroutines.launch +import kotlinx.coroutines.yield +import org.luxons.sevenwonders.client.SevenWondersClient +import org.luxons.sevenwonders.client.SevenWondersSession +import org.luxons.sevenwonders.ui.redux.RequestChooseName +import org.luxons.sevenwonders.ui.redux.SetCurrentPlayerAction +import org.luxons.sevenwonders.ui.redux.SwState +import org.luxons.sevenwonders.ui.router.Route +import org.luxons.sevenwonders.ui.router.routerSaga +import redux.RAction +import redux.WrapperAction + +typealias SwSagaContext = SagaContext<SwState, RAction, WrapperAction> + +suspend fun SwSagaContext.rootSaga() = coroutineScope { + val action = next<RequestChooseName>() + val session = SevenWondersClient().connect("localhost:8000") + console.info("Connected to Seven Wonders web socket API") + + launch { + serverErrorSaga(session) + } + yield() // ensures the error saga starts + + val player = session.chooseName(action.playerName) + dispatch(SetCurrentPlayerAction(player)) + + routerSaga(Route.GAME_BROWSER) { + when (it) { + Route.HOME -> homeSaga(session) + Route.LOBBY -> lobbySaga(session) + Route.GAME_BROWSER -> gameBrowserSaga(session) + Route.GAME -> gameSaga(session) + } + } +} + +private suspend fun serverErrorSaga(session: SevenWondersSession) { + val errorsSub = session.watchErrors() + for (err in errorsSub.messages) { + // TODO use blueprintjs toaster + console.error("${err.code}: ${err.message}") + console.error(JSON.stringify(err)) + } +} + +private suspend fun SwSagaContext.homeSaga(session: SevenWondersSession) { + val action = next<RequestChooseName>() + val player = session.chooseName(action.playerName) + dispatch(SetCurrentPlayerAction(player)) +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/SagasFramework.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/SagasFramework.kt new file mode 100644 index 00000000..1a57708e --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/redux/sagas/SagasFramework.kt @@ -0,0 +1,137 @@ +package org.luxons.sevenwonders.ui.redux.sagas + +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.FlowPreview +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.Job +import kotlinx.coroutines.channels.BroadcastChannel +import kotlinx.coroutines.channels.ReceiveChannel +import kotlinx.coroutines.launch +import redux.Middleware +import redux.MiddlewareApi +import redux.RAction + +@OptIn(ExperimentalCoroutinesApi::class) +class SagaManager<S, A : RAction, R>( + private val monitor: ((A) -> Unit)? = null +) { + private lateinit var context: SagaContext<S, A, R> + + private val actions = BroadcastChannel<A>(16) + + fun createMiddleware(): Middleware<S, A, R, A, R> = ::sagasMiddleware + + private fun sagasMiddleware(api: MiddlewareApi<S, A, R>): ((A) -> R) -> (A) -> R { + context = SagaContext(api, actions) + return { nextDispatch -> + { action -> + onActionDispatched(action) + val result = nextDispatch(action) + handleAction(action) + result + } + } + } + + private fun onActionDispatched(action: A) { + monitor?.invoke(action) + } + + private fun handleAction(action: A) { + GlobalScope.launch { actions.send(action) } + } + + fun launchSaga(coroutineScope: CoroutineScope, saga: suspend SagaContext<S, A, R>.() -> Unit): Job { + checkMiddlewareApplied() + return coroutineScope.launch { + context.saga() + } + } + + suspend fun runSaga(saga: suspend SagaContext<S, A, R>.() -> Unit) { + checkMiddlewareApplied() + context.saga() + } + + private fun checkMiddlewareApplied() { + check(::context.isInitialized) { + "Before running a Saga, you must mount the Saga middleware on the Store using applyMiddleware" + } + } +} + +@OptIn(FlowPreview::class, ExperimentalCoroutinesApi::class) +class SagaContext<S, A : RAction, R>( + private val reduxApi: MiddlewareApi<S, A, R>, + private val actions: BroadcastChannel<A> +) { + /** + * Gets the current redux state. + */ + fun getState(): S = reduxApi.getState() + + /** + * Dispatches the given redux [action]. + */ + fun dispatch(action: A) { + reduxApi.dispatch(action) + } + + /** + * Dispatches an action given by [createAction] for each message received in [channel]. + */ + suspend fun <T> dispatchAll(channel: ReceiveChannel<T>, createAction: (T) -> A) { + for (msg in channel) { + reduxApi.dispatch(createAction(msg)) + } + } + + /** + * Executes [handle] on every action dispatched. This runs forever until the current coroutine is cancelled. + */ + suspend fun onEach(handle: suspend SagaContext<S, A, R>.(A) -> Unit) { + val channel = actions.openSubscription() + try { + for (a in channel) { + handle(a) + } + } finally { + channel.cancel() + } + } + + /** + * Executes [handle] on every action dispatched of the type [T]. This runs forever until the current coroutine is + * cancelled. + */ + suspend inline fun <reified T : A> onEach( + crossinline handle: suspend SagaContext<S, A, R>.(T) -> Unit + ) = onEach { + if (it is T) { + handle(it) + } + } + + /** + * Suspends until the next action matching the given [predicate] is dispatched, and returns that action. + */ + suspend fun next(predicate: (A) -> Boolean): A { + val channel = actions.openSubscription() + try { + for (a in channel) { + if (predicate(a)) { + return a + } + } + } finally { + channel.cancel() + } + error("Actions channel closed before receiving a matching action") + } + + /** + * Suspends until the next action of type [T] is dispatched, and returns that action. + */ + suspend inline fun <reified T : A> next(): T = next { it is T } as T +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/router/Router.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/router/Router.kt new file mode 100644 index 00000000..19e8bd94 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/router/Router.kt @@ -0,0 +1,32 @@ +package org.luxons.sevenwonders.ui.router + +import kotlinx.coroutines.Job +import kotlinx.coroutines.coroutineScope +import kotlinx.coroutines.launch +import org.luxons.sevenwonders.ui.redux.sagas.SwSagaContext +import redux.RAction +import kotlin.browser.window + +enum class Route(val path: String) { + HOME("/"), + GAME_BROWSER("/games"), + LOBBY("/lobby"), + GAME("/game"), +} + +data class Navigate(val route: Route): RAction + +suspend fun SwSagaContext.routerSaga( + startRoute: Route, + runRouteSaga: suspend SwSagaContext.(Route) -> Unit +) { + coroutineScope { + window.location.hash = startRoute.path + var currentSaga: Job = launch { runRouteSaga(startRoute) } + onEach<Navigate> { + currentSaga.cancel() + window.location.hash = it.route.path + currentSaga = launch { runRouteSaga(it.route) } + } + } +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/utils/CoroutinesUtils.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/utils/CoroutinesUtils.kt new file mode 100644 index 00000000..600f08d3 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/utils/CoroutinesUtils.kt @@ -0,0 +1,15 @@ +package org.luxons.sevenwonders.ui.utils + +import kotlinx.coroutines.async +import kotlinx.coroutines.coroutineScope +import kotlinx.coroutines.selects.select + +// Cannot inline or it crashes for some reason +suspend fun <R> awaitFirst(f1: suspend () -> R, f2: suspend () -> R): R = coroutineScope { + val deferred1 = async { f1() } + val deferred2 = async { f2() } + select<R> { + deferred1.onAwait { deferred2.cancel(); it } + deferred2.onAwait { deferred1.cancel(); it } + } +} diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/utils/ReactUtils.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/utils/ReactUtils.kt new file mode 100644 index 00000000..07b3f2b5 --- /dev/null +++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/utils/ReactUtils.kt @@ -0,0 +1,16 @@ +package org.luxons.sevenwonders.ui.utils + +import kotlinx.html.SPAN +import kotlinx.html.attributesMapOf +import react.RBuilder +import react.ReactElement +import react.dom.* + +/** + * Creates a ReactElement without appending it (so that is can be passed around). + */ +fun createElement(block: RBuilder.() -> ReactElement): ReactElement { + return RDOMBuilder { SPAN(attributesMapOf("class", null), it) } + .apply { block() } + .create() +} diff --git a/sw-ui/src/main/resources/css/blueprint-icons.css b/sw-ui/src/main/resources/css/blueprint-icons.css new file mode 100644 index 00000000..6b7e06d0 --- /dev/null +++ b/sw-ui/src/main/resources/css/blueprint-icons.css @@ -0,0 +1,18 @@ +/*! + +Copyright 2017-present Palantir Technologies, Inc. All rights reserved. +Licensed under the Apache License, Version 2.0. + +*/ +@font-face{ + font-family:"Icons16"; + font-weight:normal; + font-style:normal; + src:url("../../resources/icons/icons-16.eot?#iefix") format("embedded-opentype"), url("../../resources/icons/icons-16.woff") format("woff"), url("../../resources/icons/icons-16.ttf") format("truetype"); } + +@font-face{ + font-family:"Icons20"; + font-weight:normal; + font-style:normal; + src:url("../../resources/icons/icons-20.eot?#iefix") format("embedded-opentype"), url("../../resources/icons/icons-20.woff") format("woff"), url("../../resources/icons/icons-20.ttf") format("truetype"); } +/*# sourceMappingURL=blueprint-icons.css.map */
\ No newline at end of file diff --git a/sw-ui/src/main/resources/css/blueprint.css b/sw-ui/src/main/resources/css/blueprint.css new file mode 100644 index 00000000..7a5b94a8 --- /dev/null +++ b/sw-ui/src/main/resources/css/blueprint.css @@ -0,0 +1,8040 @@ +@charset "UTF-8"; +/*! + +Copyright 2015-present Palantir Technologies, Inc. All rights reserved. +Licensed under the Apache License, Version 2.0. + +*/ +html{ + -webkit-box-sizing:border-box; + box-sizing:border-box; } + +*, +*::before, +*::after{ + -webkit-box-sizing:inherit; + box-sizing:inherit; } + +body{ + text-transform:none; + line-height:1.28581; + letter-spacing:0; + font-size:14px; + font-weight:400; + color:#182026; + font-family:-apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", "Icons16", sans-serif; } + +p{ + margin-top:0; + margin-bottom:10px; } + +small{ + font-size:12px; } + +strong{ + font-weight:600; } + +::-moz-selection{ + background:rgba(125, 188, 255, 0.6); } + +::selection{ + background:rgba(125, 188, 255, 0.6); } +.bp3-heading{ + color:#182026; + font-weight:600; + margin:0 0 10px; + padding:0; } + .bp3-dark .bp3-heading{ + color:#f5f8fa; } + +h1.bp3-heading, .bp3-running-text h1{ + line-height:40px; + font-size:36px; } + +h2.bp3-heading, .bp3-running-text h2{ + line-height:32px; + font-size:28px; } + +h3.bp3-heading, .bp3-running-text h3{ + line-height:25px; + font-size:22px; } + +h4.bp3-heading, .bp3-running-text h4{ + line-height:21px; + font-size:18px; } + +h5.bp3-heading, .bp3-running-text h5{ + line-height:19px; + font-size:16px; } + +h6.bp3-heading, .bp3-running-text h6{ + line-height:16px; + font-size:14px; } +.bp3-ui-text{ + text-transform:none; + line-height:1.28581; + letter-spacing:0; + font-size:14px; + font-weight:400; } + +.bp3-monospace-text{ + text-transform:none; + font-family:monospace; } + +.bp3-text-muted{ + color:#5c7080; } + .bp3-dark .bp3-text-muted{ + color:#a7b6c2; } + +.bp3-text-disabled{ + color:rgba(92, 112, 128, 0.6); } + .bp3-dark .bp3-text-disabled{ + color:rgba(167, 182, 194, 0.6); } + +.bp3-text-overflow-ellipsis{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; } +.bp3-running-text{ + line-height:1.5; + font-size:14px; } + .bp3-running-text h1{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h1{ + color:#f5f8fa; } + .bp3-running-text h2{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h2{ + color:#f5f8fa; } + .bp3-running-text h3{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h3{ + color:#f5f8fa; } + .bp3-running-text h4{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h4{ + color:#f5f8fa; } + .bp3-running-text h5{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h5{ + color:#f5f8fa; } + .bp3-running-text h6{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h6{ + color:#f5f8fa; } + .bp3-running-text hr{ + margin:20px 0; + border:none; + border-bottom:1px solid rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-running-text hr{ + border-color:rgba(255, 255, 255, 0.15); } + .bp3-running-text p{ + margin:0 0 10px; + padding:0; } + +.bp3-text-large{ + font-size:16px; } + +.bp3-text-small{ + font-size:12px; } +a{ + text-decoration:none; + color:#106ba3; } + a:hover{ + cursor:pointer; + text-decoration:underline; + color:#106ba3; } + a .bp3-icon, a .bp3-icon-standard, a .bp3-icon-large{ + color:inherit; } + a code, + .bp3-dark a code{ + color:inherit; } + .bp3-dark a, + .bp3-dark a:hover{ + color:#48aff0; } + .bp3-dark a .bp3-icon, .bp3-dark a .bp3-icon-standard, .bp3-dark a .bp3-icon-large, + .bp3-dark a:hover .bp3-icon, + .bp3-dark a:hover .bp3-icon-standard, + .bp3-dark a:hover .bp3-icon-large{ + color:inherit; } +.bp3-running-text code, .bp3-code{ + text-transform:none; + font-family:monospace; + border-radius:3px; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2); + background:rgba(255, 255, 255, 0.7); + padding:2px 5px; + color:#5c7080; + font-size:smaller; } + .bp3-dark .bp3-running-text code, .bp3-running-text .bp3-dark code, .bp3-dark .bp3-code{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#a7b6c2; } + .bp3-running-text a > code, a > .bp3-code{ + color:#137cbd; } + .bp3-dark .bp3-running-text a > code, .bp3-running-text .bp3-dark a > code, .bp3-dark a > .bp3-code{ + color:inherit; } + +.bp3-running-text pre, .bp3-code-block{ + text-transform:none; + font-family:monospace; + display:block; + margin:10px 0; + border-radius:3px; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + background:rgba(255, 255, 255, 0.7); + padding:13px 15px 12px; + line-height:1.4; + color:#182026; + font-size:13px; + word-break:break-all; + word-wrap:break-word; } + .bp3-dark .bp3-running-text pre, .bp3-running-text .bp3-dark pre, .bp3-dark .bp3-code-block{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#f5f8fa; } + .bp3-running-text pre > code, .bp3-code-block > code{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + padding:0; + color:inherit; + font-size:inherit; } + +.bp3-running-text kbd, .bp3-key{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + background:#ffffff; + min-width:24px; + height:24px; + padding:3px 6px; + vertical-align:middle; + line-height:24px; + color:#5c7080; + font-family:inherit; + font-size:12px; } + .bp3-running-text kbd .bp3-icon, .bp3-key .bp3-icon, .bp3-running-text kbd .bp3-icon-standard, .bp3-key .bp3-icon-standard, .bp3-running-text kbd .bp3-icon-large, .bp3-key .bp3-icon-large{ + margin-right:5px; } + .bp3-dark .bp3-running-text kbd, .bp3-running-text .bp3-dark kbd, .bp3-dark .bp3-key{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + background:#394b59; + color:#a7b6c2; } +.bp3-running-text blockquote, .bp3-blockquote{ + margin:0 0 10px; + border-left:solid 4px rgba(167, 182, 194, 0.5); + padding:0 20px; } + .bp3-dark .bp3-running-text blockquote, .bp3-running-text .bp3-dark blockquote, .bp3-dark .bp3-blockquote{ + border-color:rgba(115, 134, 148, 0.5); } +.bp3-running-text ul, +.bp3-running-text ol, .bp3-list{ + margin:10px 0; + padding-left:30px; } + .bp3-running-text ul li:not(:last-child), .bp3-running-text ol li:not(:last-child), .bp3-list li:not(:last-child){ + margin-bottom:5px; } + .bp3-running-text ul ol, .bp3-running-text ol ol, .bp3-list ol, + .bp3-running-text ul ul, + .bp3-running-text ol ul, + .bp3-list ul{ + margin-top:5px; } + +.bp3-list-unstyled{ + margin:0; + padding:0; + list-style:none; } + .bp3-list-unstyled li{ + padding:0; } +.bp3-rtl{ + text-align:right; } + +.bp3-dark{ + color:#f5f8fa; } + +:focus{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:2px; + -moz-outline-radius:6px; } + +.bp3-focus-disabled :focus{ + outline:none !important; } + .bp3-focus-disabled :focus ~ .bp3-control-indicator{ + outline:none !important; } + +.bp3-alert{ + max-width:400px; + padding:20px; } + +.bp3-alert-body{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; } + .bp3-alert-body .bp3-icon{ + margin-top:0; + margin-right:20px; + font-size:40px; } + +.bp3-alert-footer{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:reverse; + -ms-flex-direction:row-reverse; + flex-direction:row-reverse; + margin-top:10px; } + .bp3-alert-footer .bp3-button{ + margin-left:10px; } +.bp3-breadcrumbs{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -ms-flex-wrap:wrap; + flex-wrap:wrap; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + margin:0; + cursor:default; + height:30px; + padding:0; + list-style:none; } + .bp3-breadcrumbs > li{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; } + .bp3-breadcrumbs > li::after{ + display:block; + margin:0 5px; + background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.71 7.29l-4-4a1.003 1.003 0 00-1.42 1.42L8.59 8 5.3 11.29c-.19.18-.3.43-.3.71a1.003 1.003 0 001.71.71l4-4c.18-.18.29-.43.29-.71 0-.28-.11-.53-.29-.71z' fill='%235C7080'/%3e%3c/svg%3e"); + width:16px; + height:16px; + content:""; } + .bp3-breadcrumbs > li:last-of-type::after{ + display:none; } + +.bp3-breadcrumb, +.bp3-breadcrumb-current, +.bp3-breadcrumbs-collapsed{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + font-size:16px; } + +.bp3-breadcrumb, +.bp3-breadcrumbs-collapsed{ + color:#5c7080; } + +.bp3-breadcrumb:hover{ + text-decoration:none; } + +.bp3-breadcrumb.bp3-disabled{ + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + +.bp3-breadcrumb .bp3-icon{ + margin-right:5px; } + +.bp3-breadcrumb-current{ + color:inherit; + font-weight:600; } + .bp3-breadcrumb-current .bp3-input{ + vertical-align:baseline; + font-size:inherit; + font-weight:inherit; } + +.bp3-breadcrumbs-collapsed{ + margin-right:2px; + border:none; + border-radius:3px; + background:#ced9e0; + cursor:pointer; + padding:1px 5px; + vertical-align:text-bottom; } + .bp3-breadcrumbs-collapsed::before{ + display:block; + background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cg fill='%235C7080'%3e%3ccircle cx='2' cy='8.03' r='2'/%3e%3ccircle cx='14' cy='8.03' r='2'/%3e%3ccircle cx='8' cy='8.03' r='2'/%3e%3c/g%3e%3c/svg%3e") center no-repeat; + width:16px; + height:16px; + content:""; } + .bp3-breadcrumbs-collapsed:hover{ + background:#bfccd6; + text-decoration:none; + color:#182026; } + +.bp3-dark .bp3-breadcrumb, +.bp3-dark .bp3-breadcrumbs-collapsed{ + color:#a7b6c2; } + +.bp3-dark .bp3-breadcrumbs > li::after{ + color:#a7b6c2; } + +.bp3-dark .bp3-breadcrumb.bp3-disabled{ + color:rgba(167, 182, 194, 0.6); } + +.bp3-dark .bp3-breadcrumb-current{ + color:#f5f8fa; } + +.bp3-dark .bp3-breadcrumbs-collapsed{ + background:rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-breadcrumbs-collapsed:hover{ + background:rgba(16, 22, 26, 0.6); + color:#f5f8fa; } +.bp3-button{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + border:none; + border-radius:3px; + cursor:pointer; + padding:5px 10px; + vertical-align:middle; + text-align:left; + font-size:14px; + min-width:30px; + min-height:30px; } + .bp3-button > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-button > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-button::before, + .bp3-button > *{ + margin-right:7px; } + .bp3-button:empty::before, + .bp3-button > :last-child{ + margin-right:0; } + .bp3-button:empty{ + padding:0 !important; } + .bp3-button:disabled, .bp3-button.bp3-disabled{ + cursor:not-allowed; } + .bp3-button.bp3-fill{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + width:100%; } + .bp3-button.bp3-align-right, + .bp3-align-right .bp3-button{ + text-align:right; } + .bp3-button.bp3-align-left, + .bp3-align-left .bp3-button{ + text-align:left; } + .bp3-button:not([class*="bp3-intent-"]){ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + color:#182026; } + .bp3-button:not([class*="bp3-intent-"]):hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-button:not([class*="bp3-intent-"]):active, .bp3-button:not([class*="bp3-intent-"]).bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active:hover, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-button.bp3-intent-primary{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#137cbd; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-button.bp3-intent-primary:hover, .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-primary:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#106ba3; } + .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#0e5a8a; + background-image:none; } + .bp3-button.bp3-intent-primary:disabled, .bp3-button.bp3-intent-primary.bp3-disabled{ + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(19, 124, 189, 0.5); + background-image:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button.bp3-intent-success{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#0f9960; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-button.bp3-intent-success:hover, .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-success:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#0d8050; } + .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#0a6640; + background-image:none; } + .bp3-button.bp3-intent-success:disabled, .bp3-button.bp3-intent-success.bp3-disabled{ + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(15, 153, 96, 0.5); + background-image:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button.bp3-intent-warning{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#d9822b; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-button.bp3-intent-warning:hover, .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-warning:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#bf7326; } + .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#a66321; + background-image:none; } + .bp3-button.bp3-intent-warning:disabled, .bp3-button.bp3-intent-warning.bp3-disabled{ + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(217, 130, 43, 0.5); + background-image:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button.bp3-intent-danger{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#db3737; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-button.bp3-intent-danger:hover, .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-danger:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#c23030; } + .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#a82a2a; + background-image:none; } + .bp3-button.bp3-intent-danger:disabled, .bp3-button.bp3-intent-danger.bp3-disabled{ + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(219, 55, 55, 0.5); + background-image:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{ + stroke:#ffffff; } + .bp3-button.bp3-large, + .bp3-large .bp3-button{ + min-width:40px; + min-height:40px; + padding:5px 15px; + font-size:16px; } + .bp3-button.bp3-large::before, + .bp3-button.bp3-large > *, + .bp3-large .bp3-button::before, + .bp3-large .bp3-button > *{ + margin-right:10px; } + .bp3-button.bp3-large:empty::before, + .bp3-button.bp3-large > :last-child, + .bp3-large .bp3-button:empty::before, + .bp3-large .bp3-button > :last-child{ + margin-right:0; } + .bp3-button.bp3-small, + .bp3-small .bp3-button{ + min-width:24px; + min-height:24px; + padding:0 7px; } + .bp3-button.bp3-loading{ + position:relative; } + .bp3-button.bp3-loading[class*="bp3-icon-"]::before{ + visibility:hidden; } + .bp3-button.bp3-loading .bp3-button-spinner{ + position:absolute; + margin:0; } + .bp3-button.bp3-loading > :not(.bp3-button-spinner){ + visibility:hidden; } + .bp3-button[class*="bp3-icon-"]::before{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + color:#5c7080; } + .bp3-button .bp3-icon, .bp3-button .bp3-icon-standard, .bp3-button .bp3-icon-large{ + color:#5c7080; } + .bp3-button .bp3-icon.bp3-align-right, .bp3-button .bp3-icon-standard.bp3-align-right, .bp3-button .bp3-icon-large.bp3-align-right{ + margin-left:7px; } + .bp3-button .bp3-icon:first-child:last-child, + .bp3-button .bp3-spinner + .bp3-icon:last-child{ + margin:0 -7px; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]){ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + color:#f5f8fa; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover, .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"])[class*="bp3-icon-"]::before{ + color:#a7b6c2; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-large{ + color:#a7b6c2; } + .bp3-dark .bp3-button[class*="bp3-intent-"]{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-button[class*="bp3-intent-"]:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-button[class*="bp3-intent-"]:active, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-button[class*="bp3-intent-"]:disabled, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-image:none; + color:rgba(255, 255, 255, 0.3); } + .bp3-dark .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{ + stroke:#8a9ba8; } + .bp3-button:disabled::before, + .bp3-button:disabled .bp3-icon, .bp3-button:disabled .bp3-icon-standard, .bp3-button:disabled .bp3-icon-large, .bp3-button.bp3-disabled::before, + .bp3-button.bp3-disabled .bp3-icon, .bp3-button.bp3-disabled .bp3-icon-standard, .bp3-button.bp3-disabled .bp3-icon-large, .bp3-button[class*="bp3-intent-"]::before, + .bp3-button[class*="bp3-intent-"] .bp3-icon, .bp3-button[class*="bp3-intent-"] .bp3-icon-standard, .bp3-button[class*="bp3-intent-"] .bp3-icon-large{ + color:inherit !important; } + .bp3-button.bp3-minimal{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-button.bp3-minimal:hover{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(167, 182, 194, 0.3); + text-decoration:none; + color:#182026; } + .bp3-button.bp3-minimal:active, .bp3-button.bp3-minimal.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(115, 134, 148, 0.3); + color:#182026; } + .bp3-button.bp3-minimal:disabled, .bp3-button.bp3-minimal:disabled:hover, .bp3-button.bp3-minimal.bp3-disabled, .bp3-button.bp3-minimal.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-button.bp3-minimal{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:inherit; } + .bp3-dark .bp3-button.bp3-minimal:hover, .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-dark .bp3-button.bp3-minimal:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-button.bp3-minimal:disabled, .bp3-dark .bp3-button.bp3-minimal:disabled:hover, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-primary{ + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:hover, .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-success{ + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:hover, .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-warning{ + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:hover, .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-danger{ + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:hover, .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button.bp3-outlined{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + border:1px solid rgba(24, 32, 38, 0.2); + -webkit-box-sizing:border-box; + box-sizing:border-box; } + .bp3-button.bp3-outlined:hover{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(167, 182, 194, 0.3); + text-decoration:none; + color:#182026; } + .bp3-button.bp3-outlined:active, .bp3-button.bp3-outlined.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(115, 134, 148, 0.3); + color:#182026; } + .bp3-button.bp3-outlined:disabled, .bp3-button.bp3-outlined:disabled:hover, .bp3-button.bp3-outlined.bp3-disabled, .bp3-button.bp3-outlined.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-button.bp3-outlined:disabled.bp3-active, .bp3-button.bp3-outlined:disabled:hover.bp3-active, .bp3-button.bp3-outlined.bp3-disabled.bp3-active, .bp3-button.bp3-outlined.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-button.bp3-outlined{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:inherit; } + .bp3-dark .bp3-button.bp3-outlined:hover, .bp3-dark .bp3-button.bp3-outlined:active, .bp3-dark .bp3-button.bp3-outlined.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-dark .bp3-button.bp3-outlined:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-button.bp3-outlined:active, .bp3-dark .bp3-button.bp3-outlined.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-button.bp3-outlined:disabled, .bp3-dark .bp3-button.bp3-outlined:disabled:hover, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-button.bp3-outlined:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined:disabled:hover.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-primary{ + color:#106ba3; } + .bp3-button.bp3-outlined.bp3-intent-primary:hover, .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#106ba3; } + .bp3-button.bp3-outlined.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-button.bp3-outlined.bp3-intent-primary:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-success{ + color:#0d8050; } + .bp3-button.bp3-outlined.bp3-intent-success:hover, .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#0d8050; } + .bp3-button.bp3-outlined.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-button.bp3-outlined.bp3-intent-success:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-warning{ + color:#bf7326; } + .bp3-button.bp3-outlined.bp3-intent-warning:hover, .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#bf7326; } + .bp3-button.bp3-outlined.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-button.bp3-outlined.bp3-intent-warning:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-danger{ + color:#c23030; } + .bp3-button.bp3-outlined.bp3-intent-danger:hover, .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#c23030; } + .bp3-button.bp3-outlined.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-button.bp3-outlined.bp3-intent-danger:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button.bp3-outlined:disabled, .bp3-button.bp3-outlined.bp3-disabled, .bp3-button.bp3-outlined:disabled:hover, .bp3-button.bp3-outlined.bp3-disabled:hover{ + border-color:rgba(92, 112, 128, 0.1); } + .bp3-dark .bp3-button.bp3-outlined{ + border-color:rgba(255, 255, 255, 0.4); } + .bp3-dark .bp3-button.bp3-outlined:disabled, .bp3-dark .bp3-button.bp3-outlined:disabled:hover, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover{ + border-color:rgba(255, 255, 255, 0.2); } + .bp3-button.bp3-outlined.bp3-intent-primary{ + border-color:rgba(16, 107, 163, 0.6); } + .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{ + border-color:rgba(16, 107, 163, 0.2); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary{ + border-color:rgba(72, 175, 240, 0.6); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{ + border-color:rgba(72, 175, 240, 0.2); } + .bp3-button.bp3-outlined.bp3-intent-success{ + border-color:rgba(13, 128, 80, 0.6); } + .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{ + border-color:rgba(13, 128, 80, 0.2); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success{ + border-color:rgba(61, 204, 145, 0.6); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{ + border-color:rgba(61, 204, 145, 0.2); } + .bp3-button.bp3-outlined.bp3-intent-warning{ + border-color:rgba(191, 115, 38, 0.6); } + .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{ + border-color:rgba(191, 115, 38, 0.2); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning{ + border-color:rgba(255, 179, 102, 0.6); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{ + border-color:rgba(255, 179, 102, 0.2); } + .bp3-button.bp3-outlined.bp3-intent-danger{ + border-color:rgba(194, 48, 48, 0.6); } + .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{ + border-color:rgba(194, 48, 48, 0.2); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger{ + border-color:rgba(255, 115, 115, 0.6); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{ + border-color:rgba(255, 115, 115, 0.2); } + +a.bp3-button{ + text-align:center; + text-decoration:none; + -webkit-transition:none; + transition:none; } + a.bp3-button, a.bp3-button:hover, a.bp3-button:active{ + color:#182026; } + a.bp3-button.bp3-disabled{ + color:rgba(92, 112, 128, 0.6); } + +.bp3-button-text{ + -webkit-box-flex:0; + -ms-flex:0 1 auto; + flex:0 1 auto; } + +.bp3-button.bp3-align-left .bp3-button-text, .bp3-button.bp3-align-right .bp3-button-text, +.bp3-button-group.bp3-align-left .bp3-button-text, +.bp3-button-group.bp3-align-right .bp3-button-text{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } +.bp3-button-group{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; } + .bp3-button-group .bp3-button{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + position:relative; + z-index:4; } + .bp3-button-group .bp3-button:focus{ + z-index:5; } + .bp3-button-group .bp3-button:hover{ + z-index:6; } + .bp3-button-group .bp3-button:active, .bp3-button-group .bp3-button.bp3-active{ + z-index:7; } + .bp3-button-group .bp3-button:disabled, .bp3-button-group .bp3-button.bp3-disabled{ + z-index:3; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]{ + z-index:9; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:focus{ + z-index:10; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:hover{ + z-index:11; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:active, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-active{ + z-index:12; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:disabled, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-disabled{ + z-index:8; } + .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:first-child) .bp3-button, + .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:first-child){ + border-top-left-radius:0; + border-bottom-left-radius:0; } + .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){ + margin-right:-1px; + border-top-right-radius:0; + border-bottom-right-radius:0; } + .bp3-button-group.bp3-minimal .bp3-button{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-button-group.bp3-minimal .bp3-button:hover{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(167, 182, 194, 0.3); + text-decoration:none; + color:#182026; } + .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(115, 134, 148, 0.3); + color:#182026; } + .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:inherit; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{ + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{ + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{ + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{ + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button-group .bp3-popover-wrapper, + .bp3-button-group .bp3-popover-target{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-button-group.bp3-fill{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + width:100%; } + .bp3-button-group .bp3-button.bp3-fill, + .bp3-button-group.bp3-fill .bp3-button:not(.bp3-fixed){ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-button-group.bp3-vertical{ + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + -webkit-box-align:stretch; + -ms-flex-align:stretch; + align-items:stretch; + vertical-align:top; } + .bp3-button-group.bp3-vertical.bp3-fill{ + width:unset; + height:100%; } + .bp3-button-group.bp3-vertical .bp3-button{ + margin-right:0 !important; + width:100%; } + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:first-child .bp3-button, + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:first-child{ + border-radius:3px 3px 0 0; } + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:last-child .bp3-button, + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:last-child{ + border-radius:0 0 3px 3px; } + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:not(:last-child){ + margin-bottom:-1px; } + .bp3-button-group.bp3-align-left .bp3-button{ + text-align:left; } + .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){ + margin-right:1px; } + .bp3-dark .bp3-button-group.bp3-vertical > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-dark .bp3-button-group.bp3-vertical > .bp3-button:not(:last-child){ + margin-bottom:1px; } +.bp3-callout{ + line-height:1.5; + font-size:14px; + position:relative; + border-radius:3px; + background-color:rgba(138, 155, 168, 0.15); + width:100%; + padding:10px 12px 9px; } + .bp3-callout[class*="bp3-icon-"]{ + padding-left:40px; } + .bp3-callout[class*="bp3-icon-"]::before{ + line-height:1; + font-family:"Icons20", sans-serif; + font-size:20px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + position:absolute; + top:10px; + left:10px; + color:#5c7080; } + .bp3-callout.bp3-callout-icon{ + padding-left:40px; } + .bp3-callout.bp3-callout-icon > .bp3-icon:first-child{ + position:absolute; + top:10px; + left:10px; + color:#5c7080; } + .bp3-callout .bp3-heading{ + margin-top:0; + margin-bottom:5px; + line-height:20px; } + .bp3-callout .bp3-heading:last-child{ + margin-bottom:0; } + .bp3-dark .bp3-callout{ + background-color:rgba(138, 155, 168, 0.2); } + .bp3-dark .bp3-callout[class*="bp3-icon-"]::before{ + color:#a7b6c2; } + .bp3-callout.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.15); } + .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-primary > .bp3-icon:first-child, + .bp3-callout.bp3-intent-primary .bp3-heading{ + color:#106ba3; } + .bp3-dark .bp3-callout.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-primary > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-primary .bp3-heading{ + color:#48aff0; } + .bp3-callout.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.15); } + .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-success > .bp3-icon:first-child, + .bp3-callout.bp3-intent-success .bp3-heading{ + color:#0d8050; } + .bp3-dark .bp3-callout.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-success > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-success .bp3-heading{ + color:#3dcc91; } + .bp3-callout.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.15); } + .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-warning > .bp3-icon:first-child, + .bp3-callout.bp3-intent-warning .bp3-heading{ + color:#bf7326; } + .bp3-dark .bp3-callout.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-warning > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-warning .bp3-heading{ + color:#ffb366; } + .bp3-callout.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.15); } + .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-danger > .bp3-icon:first-child, + .bp3-callout.bp3-intent-danger .bp3-heading{ + color:#c23030; } + .bp3-dark .bp3-callout.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-danger > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-danger .bp3-heading{ + color:#ff7373; } + .bp3-running-text .bp3-callout{ + margin:20px 0; } +.bp3-card{ + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + background-color:#ffffff; + padding:20px; + -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-card.bp3-dark, + .bp3-dark .bp3-card{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + background-color:#30404d; } + +.bp3-elevation-0{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); } + .bp3-elevation-0.bp3-dark, + .bp3-dark .bp3-elevation-0{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); } + +.bp3-elevation-1{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-elevation-1.bp3-dark, + .bp3-dark .bp3-elevation-1{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + +.bp3-elevation-2{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2); } + .bp3-elevation-2.bp3-dark, + .bp3-dark .bp3-elevation-2{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4); } + +.bp3-elevation-3{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); } + .bp3-elevation-3.bp3-dark, + .bp3-dark .bp3-elevation-3{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + +.bp3-elevation-4{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); } + .bp3-elevation-4.bp3-dark, + .bp3-dark .bp3-elevation-4{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); } + +.bp3-card.bp3-interactive:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + cursor:pointer; } + .bp3-card.bp3-interactive:hover.bp3-dark, + .bp3-dark .bp3-card.bp3-interactive:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + +.bp3-card.bp3-interactive:active{ + opacity:0.9; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + -webkit-transition-duration:0; + transition-duration:0; } + .bp3-card.bp3-interactive:active.bp3-dark, + .bp3-dark .bp3-card.bp3-interactive:active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + +.bp3-collapse{ + height:0; + overflow-y:hidden; + -webkit-transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-collapse .bp3-collapse-body{ + -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-collapse .bp3-collapse-body[aria-hidden="true"]{ + display:none; } + +.bp3-context-menu .bp3-popover-target{ + display:block; } + +.bp3-context-menu-popover-target{ + position:fixed; } + +.bp3-divider{ + margin:5px; + border-right:1px solid rgba(16, 22, 26, 0.15); + border-bottom:1px solid rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-divider{ + border-color:rgba(16, 22, 26, 0.4); } +.bp3-dialog-container{ + opacity:1; + -webkit-transform:scale(1); + transform:scale(1); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + width:100%; + min-height:100%; + pointer-events:none; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-dialog-container.bp3-overlay-enter > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear > .bp3-dialog{ + opacity:0; + -webkit-transform:scale(0.5); + transform:scale(0.5); } + .bp3-dialog-container.bp3-overlay-enter-active > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear-active > .bp3-dialog{ + opacity:1; + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:opacity, transform; + transition-property:opacity, transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-dialog-container.bp3-overlay-exit > .bp3-dialog{ + opacity:1; + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-dialog-container.bp3-overlay-exit-active > .bp3-dialog{ + opacity:0; + -webkit-transform:scale(0.5); + transform:scale(0.5); + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:opacity, transform; + transition-property:opacity, transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + +.bp3-dialog{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin:30px 0; + border-radius:6px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + background:#ebf1f5; + width:500px; + padding-bottom:20px; + pointer-events:all; + -webkit-user-select:text; + -moz-user-select:text; + -ms-user-select:text; + user-select:text; } + .bp3-dialog:focus{ + outline:0; } + .bp3-dialog.bp3-dark, + .bp3-dark .bp3-dialog{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + background:#293742; + color:#f5f8fa; } + +.bp3-dialog-header{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + border-radius:6px 6px 0 0; + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + background:#ffffff; + min-height:40px; + padding-right:5px; + padding-left:20px; } + .bp3-dialog-header .bp3-icon-large, + .bp3-dialog-header .bp3-icon{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + margin-right:10px; + color:#5c7080; } + .bp3-dialog-header .bp3-heading{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + margin:0; + line-height:inherit; } + .bp3-dialog-header .bp3-heading:last-child{ + margin-right:20px; } + .bp3-dark .bp3-dialog-header{ + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); + background:#30404d; } + .bp3-dark .bp3-dialog-header .bp3-icon-large, + .bp3-dark .bp3-dialog-header .bp3-icon{ + color:#a7b6c2; } + +.bp3-dialog-body{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + margin:20px; + line-height:18px; } + +.bp3-dialog-footer{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + margin:0 20px; } + +.bp3-dialog-footer-actions{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-pack:end; + -ms-flex-pack:end; + justify-content:flex-end; } + .bp3-dialog-footer-actions .bp3-button{ + margin-left:10px; } +.bp3-drawer{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin:0; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + background:#ffffff; + padding:0; } + .bp3-drawer:focus{ + outline:0; } + .bp3-drawer.bp3-position-top{ + top:0; + right:0; + left:0; + height:50%; } + .bp3-drawer.bp3-position-top.bp3-overlay-enter, .bp3-drawer.bp3-position-top.bp3-overlay-appear{ + -webkit-transform:translateY(-100%); + transform:translateY(-100%); } + .bp3-drawer.bp3-position-top.bp3-overlay-enter-active, .bp3-drawer.bp3-position-top.bp3-overlay-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-top.bp3-overlay-exit{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-drawer.bp3-position-top.bp3-overlay-exit-active{ + -webkit-transform:translateY(-100%); + transform:translateY(-100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-bottom{ + right:0; + bottom:0; + left:0; + height:50%; } + .bp3-drawer.bp3-position-bottom.bp3-overlay-enter, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear{ + -webkit-transform:translateY(100%); + transform:translateY(100%); } + .bp3-drawer.bp3-position-bottom.bp3-overlay-enter-active, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-bottom.bp3-overlay-exit{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-drawer.bp3-position-bottom.bp3-overlay-exit-active{ + -webkit-transform:translateY(100%); + transform:translateY(100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-left{ + top:0; + bottom:0; + left:0; + width:50%; } + .bp3-drawer.bp3-position-left.bp3-overlay-enter, .bp3-drawer.bp3-position-left.bp3-overlay-appear{ + -webkit-transform:translateX(-100%); + transform:translateX(-100%); } + .bp3-drawer.bp3-position-left.bp3-overlay-enter-active, .bp3-drawer.bp3-position-left.bp3-overlay-appear-active{ + -webkit-transform:translateX(0); + transform:translateX(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-left.bp3-overlay-exit{ + -webkit-transform:translateX(0); + transform:translateX(0); } + .bp3-drawer.bp3-position-left.bp3-overlay-exit-active{ + -webkit-transform:translateX(-100%); + transform:translateX(-100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-right{ + top:0; + right:0; + bottom:0; + width:50%; } + .bp3-drawer.bp3-position-right.bp3-overlay-enter, .bp3-drawer.bp3-position-right.bp3-overlay-appear{ + -webkit-transform:translateX(100%); + transform:translateX(100%); } + .bp3-drawer.bp3-position-right.bp3-overlay-enter-active, .bp3-drawer.bp3-position-right.bp3-overlay-appear-active{ + -webkit-transform:translateX(0); + transform:translateX(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-right.bp3-overlay-exit{ + -webkit-transform:translateX(0); + transform:translateX(0); } + .bp3-drawer.bp3-position-right.bp3-overlay-exit-active{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical){ + top:0; + right:0; + bottom:0; + width:50%; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear{ + -webkit-transform:translateX(100%); + transform:translateX(100%); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear-active{ + -webkit-transform:translateX(0); + transform:translateX(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit{ + -webkit-transform:translateX(0); + transform:translateX(0); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit-active{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical{ + right:0; + bottom:0; + left:0; + height:50%; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-appear{ + -webkit-transform:translateY(100%); + transform:translateY(100%); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-exit{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-exit-active{ + -webkit-transform:translateY(100%); + transform:translateY(100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-dark, + .bp3-dark .bp3-drawer{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + background:#30404d; + color:#f5f8fa; } + +.bp3-drawer-header{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + position:relative; + border-radius:0; + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + min-height:40px; + padding:5px; + padding-left:20px; } + .bp3-drawer-header .bp3-icon-large, + .bp3-drawer-header .bp3-icon{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + margin-right:10px; + color:#5c7080; } + .bp3-drawer-header .bp3-heading{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + margin:0; + line-height:inherit; } + .bp3-drawer-header .bp3-heading:last-child{ + margin-right:20px; } + .bp3-dark .bp3-drawer-header{ + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-drawer-header .bp3-icon-large, + .bp3-dark .bp3-drawer-header .bp3-icon{ + color:#a7b6c2; } + +.bp3-drawer-body{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + overflow:auto; + line-height:18px; } + +.bp3-drawer-footer{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + position:relative; + -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + padding:10px 20px; } + .bp3-dark .bp3-drawer-footer{ + -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4); + box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4); } +.bp3-editable-text{ + display:inline-block; + position:relative; + cursor:text; + max-width:100%; + vertical-align:top; + white-space:nowrap; } + .bp3-editable-text::before{ + position:absolute; + top:-3px; + right:-3px; + bottom:-3px; + left:-3px; + border-radius:3px; + content:""; + -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-editable-text:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15); } + .bp3-editable-text.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + background-color:#ffffff; } + .bp3-editable-text.bp3-disabled::before{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-editable-text.bp3-intent-primary .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{ + color:#137cbd; } + .bp3-editable-text.bp3-intent-primary:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4); } + .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-editable-text.bp3-intent-success .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{ + color:#0f9960; } + .bp3-editable-text.bp3-intent-success:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4); } + .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-editable-text.bp3-intent-warning .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{ + color:#d9822b; } + .bp3-editable-text.bp3-intent-warning:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4); } + .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-editable-text.bp3-intent-danger .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{ + color:#db3737; } + .bp3-editable-text.bp3-intent-danger:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4); } + .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-editable-text:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15); } + .bp3-dark .bp3-editable-text.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background-color:rgba(16, 22, 26, 0.3); } + .bp3-dark .bp3-editable-text.bp3-disabled::before{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{ + color:#48aff0; } + .bp3-dark .bp3-editable-text.bp3-intent-primary:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4); + box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{ + color:#3dcc91; } + .bp3-dark .bp3-editable-text.bp3-intent-success:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4); + box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{ + color:#ffb366; } + .bp3-dark .bp3-editable-text.bp3-intent-warning:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4); + box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{ + color:#ff7373; } + .bp3-dark .bp3-editable-text.bp3-intent-danger:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4); + box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + +.bp3-editable-text-input, +.bp3-editable-text-content{ + display:inherit; + position:relative; + min-width:inherit; + max-width:inherit; + vertical-align:top; + text-transform:inherit; + letter-spacing:inherit; + color:inherit; + font:inherit; + resize:none; } + +.bp3-editable-text-input{ + border:none; + -webkit-box-shadow:none; + box-shadow:none; + background:none; + width:100%; + padding:0; + white-space:pre-wrap; } + .bp3-editable-text-input::-webkit-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input::-moz-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input:-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input::-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input::placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input:focus{ + outline:none; } + .bp3-editable-text-input::-ms-clear{ + display:none; } + +.bp3-editable-text-content{ + overflow:hidden; + padding-right:2px; + text-overflow:ellipsis; + white-space:pre; } + .bp3-editable-text-editing > .bp3-editable-text-content{ + position:absolute; + left:0; + visibility:hidden; } + .bp3-editable-text-placeholder > .bp3-editable-text-content{ + color:rgba(92, 112, 128, 0.6); } + .bp3-dark .bp3-editable-text-placeholder > .bp3-editable-text-content{ + color:rgba(167, 182, 194, 0.6); } + +.bp3-editable-text.bp3-multiline{ + display:block; } + .bp3-editable-text.bp3-multiline .bp3-editable-text-content{ + overflow:auto; + white-space:pre-wrap; + word-wrap:break-word; } +.bp3-control-group{ + -webkit-transform:translateZ(0); + transform:translateZ(0); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:stretch; + -ms-flex-align:stretch; + align-items:stretch; } + .bp3-control-group > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-control-group > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-control-group .bp3-button, + .bp3-control-group .bp3-html-select, + .bp3-control-group .bp3-input, + .bp3-control-group .bp3-select{ + position:relative; } + .bp3-control-group .bp3-input{ + z-index:2; + border-radius:inherit; } + .bp3-control-group .bp3-input:focus{ + z-index:14; + border-radius:3px; } + .bp3-control-group .bp3-input[class*="bp3-intent"]{ + z-index:13; } + .bp3-control-group .bp3-input[class*="bp3-intent"]:focus{ + z-index:15; } + .bp3-control-group .bp3-input[readonly], .bp3-control-group .bp3-input:disabled, .bp3-control-group .bp3-input.bp3-disabled{ + z-index:1; } + .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input{ + z-index:13; } + .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input:focus{ + z-index:15; } + .bp3-control-group .bp3-button, + .bp3-control-group .bp3-html-select select, + .bp3-control-group .bp3-select select{ + -webkit-transform:translateZ(0); + transform:translateZ(0); + z-index:4; + border-radius:inherit; } + .bp3-control-group .bp3-button:focus, + .bp3-control-group .bp3-html-select select:focus, + .bp3-control-group .bp3-select select:focus{ + z-index:5; } + .bp3-control-group .bp3-button:hover, + .bp3-control-group .bp3-html-select select:hover, + .bp3-control-group .bp3-select select:hover{ + z-index:6; } + .bp3-control-group .bp3-button:active, + .bp3-control-group .bp3-html-select select:active, + .bp3-control-group .bp3-select select:active{ + z-index:7; } + .bp3-control-group .bp3-button[readonly], .bp3-control-group .bp3-button:disabled, .bp3-control-group .bp3-button.bp3-disabled, + .bp3-control-group .bp3-html-select select[readonly], + .bp3-control-group .bp3-html-select select:disabled, + .bp3-control-group .bp3-html-select select.bp3-disabled, + .bp3-control-group .bp3-select select[readonly], + .bp3-control-group .bp3-select select:disabled, + .bp3-control-group .bp3-select select.bp3-disabled{ + z-index:3; } + .bp3-control-group .bp3-button[class*="bp3-intent"], + .bp3-control-group .bp3-html-select select[class*="bp3-intent"], + .bp3-control-group .bp3-select select[class*="bp3-intent"]{ + z-index:9; } + .bp3-control-group .bp3-button[class*="bp3-intent"]:focus, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:focus, + .bp3-control-group .bp3-select select[class*="bp3-intent"]:focus{ + z-index:10; } + .bp3-control-group .bp3-button[class*="bp3-intent"]:hover, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:hover, + .bp3-control-group .bp3-select select[class*="bp3-intent"]:hover{ + z-index:11; } + .bp3-control-group .bp3-button[class*="bp3-intent"]:active, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:active, + .bp3-control-group .bp3-select select[class*="bp3-intent"]:active{ + z-index:12; } + .bp3-control-group .bp3-button[class*="bp3-intent"][readonly], .bp3-control-group .bp3-button[class*="bp3-intent"]:disabled, .bp3-control-group .bp3-button[class*="bp3-intent"].bp3-disabled, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"][readonly], + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:disabled, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"].bp3-disabled, + .bp3-control-group .bp3-select select[class*="bp3-intent"][readonly], + .bp3-control-group .bp3-select select[class*="bp3-intent"]:disabled, + .bp3-control-group .bp3-select select[class*="bp3-intent"].bp3-disabled{ + z-index:8; } + .bp3-control-group .bp3-input-group > .bp3-icon, + .bp3-control-group .bp3-input-group > .bp3-button, + .bp3-control-group .bp3-input-group > .bp3-input-action{ + z-index:16; } + .bp3-control-group .bp3-select::after, + .bp3-control-group .bp3-html-select::after, + .bp3-control-group .bp3-select > .bp3-icon, + .bp3-control-group .bp3-html-select > .bp3-icon{ + z-index:17; } + .bp3-control-group:not(.bp3-vertical) > *{ + margin-right:-1px; } + .bp3-dark .bp3-control-group:not(.bp3-vertical) > *{ + margin-right:0; } + .bp3-dark .bp3-control-group:not(.bp3-vertical) > .bp3-button + .bp3-button{ + margin-left:1px; } + .bp3-control-group .bp3-popover-wrapper, + .bp3-control-group .bp3-popover-target{ + border-radius:inherit; } + .bp3-control-group > :first-child{ + border-radius:3px 0 0 3px; } + .bp3-control-group > :last-child{ + margin-right:0; + border-radius:0 3px 3px 0; } + .bp3-control-group > :only-child{ + margin-right:0; + border-radius:3px; } + .bp3-control-group .bp3-input-group .bp3-button{ + border-radius:3px; } + .bp3-control-group > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-control-group.bp3-fill > *:not(.bp3-fixed){ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-control-group.bp3-vertical{ + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; } + .bp3-control-group.bp3-vertical > *{ + margin-top:-1px; } + .bp3-control-group.bp3-vertical > :first-child{ + margin-top:0; + border-radius:3px 3px 0 0; } + .bp3-control-group.bp3-vertical > :last-child{ + border-radius:0 0 3px 3px; } +.bp3-control{ + display:block; + position:relative; + margin-bottom:10px; + cursor:pointer; + text-transform:none; } + .bp3-control input:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#137cbd; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-control:hover input:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#106ba3; } + .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background:#0e5a8a; } + .bp3-control input:disabled:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(19, 124, 189, 0.5); } + .bp3-dark .bp3-control input:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control:hover input:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#106ba3; } + .bp3-dark .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#0e5a8a; } + .bp3-dark .bp3-control input:disabled:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(14, 90, 138, 0.5); } + .bp3-control:not(.bp3-align-right){ + padding-left:26px; } + .bp3-control:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-26px; } + .bp3-control.bp3-align-right{ + padding-right:26px; } + .bp3-control.bp3-align-right .bp3-control-indicator{ + margin-right:-26px; } + .bp3-control.bp3-disabled{ + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-control.bp3-inline{ + display:inline-block; + margin-right:20px; } + .bp3-control input{ + position:absolute; + top:0; + left:0; + opacity:0; + z-index:-1; } + .bp3-control .bp3-control-indicator{ + display:inline-block; + position:relative; + margin-top:-3px; + margin-right:10px; + border:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + cursor:pointer; + width:1em; + height:1em; + vertical-align:middle; + font-size:16px; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-control .bp3-control-indicator::before{ + display:block; + width:1em; + height:1em; + content:""; } + .bp3-control:hover .bp3-control-indicator{ + background-color:#ebf1f5; } + .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background:#d8e1e8; } + .bp3-control input:disabled ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(206, 217, 224, 0.5); + cursor:not-allowed; } + .bp3-control input:focus ~ .bp3-control-indicator{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:2px; + -moz-outline-radius:6px; } + .bp3-control.bp3-align-right .bp3-control-indicator{ + float:right; + margin-top:1px; + margin-left:10px; } + .bp3-control.bp3-large{ + font-size:16px; } + .bp3-control.bp3-large:not(.bp3-align-right){ + padding-left:30px; } + .bp3-control.bp3-large:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-30px; } + .bp3-control.bp3-large.bp3-align-right{ + padding-right:30px; } + .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{ + margin-right:-30px; } + .bp3-control.bp3-large .bp3-control-indicator{ + font-size:20px; } + .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{ + margin-top:0; } + .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#137cbd; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#106ba3; } + .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background:#0e5a8a; } + .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(19, 124, 189, 0.5); } + .bp3-dark .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#106ba3; } + .bp3-dark .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#0e5a8a; } + .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(14, 90, 138, 0.5); } + .bp3-control.bp3-checkbox .bp3-control-indicator{ + border-radius:3px; } + .bp3-control.bp3-checkbox input:checked ~ .bp3-control-indicator::before{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 1.003 0 00-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0012 5z' fill='white'/%3e%3c/svg%3e"); } + .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator::before{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 7H5c-.55 0-1 .45-1 1s.45 1 1 1h6c.55 0 1-.45 1-1s-.45-1-1-1z' fill='white'/%3e%3c/svg%3e"); } + .bp3-control.bp3-radio .bp3-control-indicator{ + border-radius:50%; } + .bp3-control.bp3-radio input:checked ~ .bp3-control-indicator::before{ + background-image:radial-gradient(#ffffff, #ffffff 28%, transparent 32%); } + .bp3-control.bp3-radio input:checked:disabled ~ .bp3-control-indicator::before{ + opacity:0.5; } + .bp3-control.bp3-radio input:focus ~ .bp3-control-indicator{ + -moz-outline-radius:16px; } + .bp3-control.bp3-switch input ~ .bp3-control-indicator{ + background:rgba(167, 182, 194, 0.5); } + .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{ + background:rgba(115, 134, 148, 0.5); } + .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{ + background:rgba(92, 112, 128, 0.5); } + .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{ + background:rgba(206, 217, 224, 0.5); } + .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{ + background:rgba(255, 255, 255, 0.8); } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{ + background:#137cbd; } + .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{ + background:#106ba3; } + .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{ + background:#0e5a8a; } + .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{ + background:rgba(19, 124, 189, 0.5); } + .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{ + background:rgba(255, 255, 255, 0.8); } + .bp3-control.bp3-switch:not(.bp3-align-right){ + padding-left:38px; } + .bp3-control.bp3-switch:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-38px; } + .bp3-control.bp3-switch.bp3-align-right{ + padding-right:38px; } + .bp3-control.bp3-switch.bp3-align-right .bp3-control-indicator{ + margin-right:-38px; } + .bp3-control.bp3-switch .bp3-control-indicator{ + border:none; + border-radius:1.75em; + -webkit-box-shadow:none !important; + box-shadow:none !important; + width:auto; + min-width:1.75em; + -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-control.bp3-switch .bp3-control-indicator::before{ + position:absolute; + left:0; + margin:2px; + border-radius:50%; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + background:#ffffff; + width:calc(1em - 4px); + height:calc(1em - 4px); + -webkit-transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{ + left:calc(100% - 1em); } + .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right){ + padding-left:45px; } + .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-45px; } + .bp3-control.bp3-switch.bp3-large.bp3-align-right{ + padding-right:45px; } + .bp3-control.bp3-switch.bp3-large.bp3-align-right .bp3-control-indicator{ + margin-right:-45px; } + .bp3-dark .bp3-control.bp3-switch input ~ .bp3-control-indicator{ + background:rgba(16, 22, 26, 0.5); } + .bp3-dark .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{ + background:rgba(16, 22, 26, 0.7); } + .bp3-dark .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{ + background:rgba(16, 22, 26, 0.9); } + .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{ + background:rgba(57, 75, 89, 0.5); } + .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{ + background:rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{ + background:#137cbd; } + .bp3-dark .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{ + background:#106ba3; } + .bp3-dark .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{ + background:#0e5a8a; } + .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{ + background:rgba(14, 90, 138, 0.5); } + .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{ + background:rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-switch .bp3-control-indicator::before{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background:#394b59; } + .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-control.bp3-switch .bp3-switch-inner-text{ + text-align:center; + font-size:0.7em; } + .bp3-control.bp3-switch .bp3-control-indicator-child:first-child{ + visibility:hidden; + margin-right:1.2em; + margin-left:0.5em; + line-height:0; } + .bp3-control.bp3-switch .bp3-control-indicator-child:last-child{ + visibility:visible; + margin-right:0.5em; + margin-left:1.2em; + line-height:1em; } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:first-child{ + visibility:visible; + line-height:1em; } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:last-child{ + visibility:hidden; + line-height:0; } + .bp3-dark .bp3-control{ + color:#f5f8fa; } + .bp3-dark .bp3-control.bp3-disabled{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-control .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); } + .bp3-dark .bp3-control:hover .bp3-control-indicator{ + background-color:#30404d; } + .bp3-dark .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background:#202b33; } + .bp3-dark .bp3-control input:disabled ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + cursor:not-allowed; } + .bp3-dark .bp3-control.bp3-checkbox input:disabled:checked ~ .bp3-control-indicator, .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ + color:rgba(167, 182, 194, 0.6); } +.bp3-file-input{ + display:inline-block; + position:relative; + cursor:pointer; + height:30px; } + .bp3-file-input input{ + opacity:0; + margin:0; + min-width:200px; } + .bp3-file-input input:disabled + .bp3-file-upload-input, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(206, 217, 224, 0.5); + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); + resize:none; } + .bp3-file-input input:disabled + .bp3-file-upload-input::after, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active:hover, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input, .bp3-dark + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after, .bp3-dark + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-dark + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{ + color:#182026; } + .bp3-dark .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{ + color:#f5f8fa; } + .bp3-file-input.bp3-fill{ + width:100%; } + .bp3-file-input.bp3-large, + .bp3-large .bp3-file-input{ + height:40px; } + .bp3-file-input .bp3-file-upload-input-custom-text::after{ + content:attr(bp3-button-text); } + +.bp3-file-upload-input{ + outline:none; + border:none; + border-radius:3px; + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + background:#ffffff; + height:30px; + padding:0 10px; + vertical-align:middle; + line-height:30px; + color:#182026; + font-size:14px; + font-weight:400; + -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + position:absolute; + top:0; + right:0; + left:0; + padding-right:80px; + color:rgba(92, 112, 128, 0.6); + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-file-upload-input::-webkit-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input::-moz-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input:-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input::-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input::placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input:focus, .bp3-file-upload-input.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-file-upload-input[type="search"], .bp3-file-upload-input.bp3-round{ + border-radius:30px; + -webkit-box-sizing:border-box; + box-sizing:border-box; + padding-left:10px; } + .bp3-file-upload-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); } + .bp3-file-upload-input:disabled, .bp3-file-upload-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(206, 217, 224, 0.5); + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); + resize:none; } + .bp3-file-upload-input::after{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + color:#182026; + min-width:24px; + min-height:24px; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + position:absolute; + top:0; + right:0; + margin:3px; + border-radius:3px; + width:70px; + text-align:center; + line-height:24px; + content:"Browse"; } + .bp3-file-upload-input::after:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-file-upload-input::after:active, .bp3-file-upload-input::after.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-file-upload-input::after:disabled, .bp3-file-upload-input::after.bp3-disabled{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input::after:disabled.bp3-active, .bp3-file-upload-input::after:disabled.bp3-active:hover, .bp3-file-upload-input::after.bp3-disabled.bp3-active, .bp3-file-upload-input::after.bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-file-upload-input:hover::after{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-file-upload-input:active::after{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-large .bp3-file-upload-input{ + height:40px; + line-height:40px; + font-size:16px; + padding-right:95px; } + .bp3-large .bp3-file-upload-input[type="search"], .bp3-large .bp3-file-upload-input.bp3-round{ + padding:0 15px; } + .bp3-large .bp3-file-upload-input::after{ + min-width:30px; + min-height:30px; + margin:5px; + width:85px; + line-height:30px; } + .bp3-dark .bp3-file-upload-input{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#f5f8fa; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-file-upload-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-file-upload-input:disabled, .bp3-dark .bp3-file-upload-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::after{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + color:#f5f8fa; } + .bp3-dark .bp3-file-upload-input::after:hover, .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-file-upload-input::after:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + .bp3-dark .bp3-file-upload-input::after:disabled, .bp3-dark .bp3-file-upload-input::after.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::after:disabled.bp3-active, .bp3-dark .bp3-file-upload-input::after.bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-file-upload-input::after .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + .bp3-dark .bp3-file-upload-input:hover::after{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-file-upload-input:active::after{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + +.bp3-file-upload-input::after{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } +.bp3-form-group{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin:0 0 15px; } + .bp3-form-group label.bp3-label{ + margin-bottom:5px; } + .bp3-form-group .bp3-control{ + margin-top:7px; } + .bp3-form-group .bp3-form-helper-text{ + margin-top:5px; + color:#5c7080; + font-size:12px; } + .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{ + color:#106ba3; } + .bp3-form-group.bp3-intent-success .bp3-form-helper-text{ + color:#0d8050; } + .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{ + color:#bf7326; } + .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{ + color:#c23030; } + .bp3-form-group.bp3-inline{ + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; } + .bp3-form-group.bp3-inline.bp3-large label.bp3-label{ + margin:0 10px 0 0; + line-height:40px; } + .bp3-form-group.bp3-inline label.bp3-label{ + margin:0 10px 0 0; + line-height:30px; } + .bp3-form-group.bp3-disabled .bp3-label, + .bp3-form-group.bp3-disabled .bp3-text-muted, + .bp3-form-group.bp3-disabled .bp3-form-helper-text{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-dark .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{ + color:#48aff0; } + .bp3-dark .bp3-form-group.bp3-intent-success .bp3-form-helper-text{ + color:#3dcc91; } + .bp3-dark .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{ + color:#ffb366; } + .bp3-dark .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{ + color:#ff7373; } + .bp3-dark .bp3-form-group .bp3-form-helper-text{ + color:#a7b6c2; } + .bp3-dark .bp3-form-group.bp3-disabled .bp3-label, + .bp3-dark .bp3-form-group.bp3-disabled .bp3-text-muted, + .bp3-dark .bp3-form-group.bp3-disabled .bp3-form-helper-text{ + color:rgba(167, 182, 194, 0.6) !important; } +.bp3-input-group{ + display:block; + position:relative; } + .bp3-input-group .bp3-input{ + position:relative; + width:100%; } + .bp3-input-group .bp3-input:not(:first-child){ + padding-left:30px; } + .bp3-input-group .bp3-input:not(:last-child){ + padding-right:30px; } + .bp3-input-group .bp3-input-action, + .bp3-input-group > .bp3-button, + .bp3-input-group > .bp3-icon{ + position:absolute; + top:0; } + .bp3-input-group .bp3-input-action:first-child, + .bp3-input-group > .bp3-button:first-child, + .bp3-input-group > .bp3-icon:first-child{ + left:0; } + .bp3-input-group .bp3-input-action:last-child, + .bp3-input-group > .bp3-button:last-child, + .bp3-input-group > .bp3-icon:last-child{ + right:0; } + .bp3-input-group .bp3-button{ + min-width:24px; + min-height:24px; + margin:3px; + padding:0 7px; } + .bp3-input-group .bp3-button:empty{ + padding:0; } + .bp3-input-group > .bp3-icon{ + z-index:1; + color:#5c7080; } + .bp3-input-group > .bp3-icon:empty{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; } + .bp3-input-group > .bp3-icon, + .bp3-input-group .bp3-input-action > .bp3-spinner{ + margin:7px; } + .bp3-input-group .bp3-tag{ + margin:5px; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus), + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){ + color:#5c7080; } + .bp3-dark .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus), .bp3-dark + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){ + color:#a7b6c2; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large{ + color:#5c7080; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-large, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-standard, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-large{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-input-group.bp3-disabled{ + cursor:not-allowed; } + .bp3-input-group.bp3-disabled .bp3-icon{ + color:rgba(92, 112, 128, 0.6); } + .bp3-input-group.bp3-large .bp3-button{ + min-width:30px; + min-height:30px; + margin:5px; } + .bp3-input-group.bp3-large > .bp3-icon, + .bp3-input-group.bp3-large .bp3-input-action > .bp3-spinner{ + margin:12px; } + .bp3-input-group.bp3-large .bp3-input{ + height:40px; + line-height:40px; + font-size:16px; } + .bp3-input-group.bp3-large .bp3-input[type="search"], .bp3-input-group.bp3-large .bp3-input.bp3-round{ + padding:0 15px; } + .bp3-input-group.bp3-large .bp3-input:not(:first-child){ + padding-left:40px; } + .bp3-input-group.bp3-large .bp3-input:not(:last-child){ + padding-right:40px; } + .bp3-input-group.bp3-small .bp3-button{ + min-width:20px; + min-height:20px; + margin:2px; } + .bp3-input-group.bp3-small .bp3-tag{ + min-width:20px; + min-height:20px; + margin:2px; } + .bp3-input-group.bp3-small > .bp3-icon, + .bp3-input-group.bp3-small .bp3-input-action > .bp3-spinner{ + margin:4px; } + .bp3-input-group.bp3-small .bp3-input{ + height:24px; + padding-right:8px; + padding-left:8px; + line-height:24px; + font-size:12px; } + .bp3-input-group.bp3-small .bp3-input[type="search"], .bp3-input-group.bp3-small .bp3-input.bp3-round{ + padding:0 12px; } + .bp3-input-group.bp3-small .bp3-input:not(:first-child){ + padding-left:24px; } + .bp3-input-group.bp3-small .bp3-input:not(:last-child){ + padding-right:24px; } + .bp3-input-group.bp3-fill{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + width:100%; } + .bp3-input-group.bp3-round .bp3-button, + .bp3-input-group.bp3-round .bp3-input, + .bp3-input-group.bp3-round .bp3-tag{ + border-radius:30px; } + .bp3-dark .bp3-input-group .bp3-icon{ + color:#a7b6c2; } + .bp3-dark .bp3-input-group.bp3-disabled .bp3-icon{ + color:rgba(167, 182, 194, 0.6); } + .bp3-input-group.bp3-intent-primary .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-primary .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-primary .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #137cbd; + box-shadow:inset 0 0 0 1px #137cbd; } + .bp3-input-group.bp3-intent-primary .bp3-input:disabled, .bp3-input-group.bp3-intent-primary .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-primary > .bp3-icon{ + color:#106ba3; } + .bp3-dark .bp3-input-group.bp3-intent-primary > .bp3-icon{ + color:#48aff0; } + .bp3-input-group.bp3-intent-success .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-success .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-success .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #0f9960; + box-shadow:inset 0 0 0 1px #0f9960; } + .bp3-input-group.bp3-intent-success .bp3-input:disabled, .bp3-input-group.bp3-intent-success .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-success > .bp3-icon{ + color:#0d8050; } + .bp3-dark .bp3-input-group.bp3-intent-success > .bp3-icon{ + color:#3dcc91; } + .bp3-input-group.bp3-intent-warning .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-warning .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-warning .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #d9822b; + box-shadow:inset 0 0 0 1px #d9822b; } + .bp3-input-group.bp3-intent-warning .bp3-input:disabled, .bp3-input-group.bp3-intent-warning .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-warning > .bp3-icon{ + color:#bf7326; } + .bp3-dark .bp3-input-group.bp3-intent-warning > .bp3-icon{ + color:#ffb366; } + .bp3-input-group.bp3-intent-danger .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-danger .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-danger .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #db3737; + box-shadow:inset 0 0 0 1px #db3737; } + .bp3-input-group.bp3-intent-danger .bp3-input:disabled, .bp3-input-group.bp3-intent-danger .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-danger > .bp3-icon{ + color:#c23030; } + .bp3-dark .bp3-input-group.bp3-intent-danger > .bp3-icon{ + color:#ff7373; } +.bp3-input{ + outline:none; + border:none; + border-radius:3px; + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + background:#ffffff; + height:30px; + padding:0 10px; + vertical-align:middle; + line-height:30px; + color:#182026; + font-size:14px; + font-weight:400; + -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; } + .bp3-input::-webkit-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input::-moz-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input:-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input::-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input::placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input:focus, .bp3-input.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input[type="search"], .bp3-input.bp3-round{ + border-radius:30px; + -webkit-box-sizing:border-box; + box-sizing:border-box; + padding-left:10px; } + .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); } + .bp3-input:disabled, .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(206, 217, 224, 0.5); + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); + resize:none; } + .bp3-input.bp3-large{ + height:40px; + line-height:40px; + font-size:16px; } + .bp3-input.bp3-large[type="search"], .bp3-input.bp3-large.bp3-round{ + padding:0 15px; } + .bp3-input.bp3-small{ + height:24px; + padding-right:8px; + padding-left:8px; + line-height:24px; + font-size:12px; } + .bp3-input.bp3-small[type="search"], .bp3-input.bp3-small.bp3-round{ + padding:0 12px; } + .bp3-input.bp3-fill{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + width:100%; } + .bp3-dark .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-input::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input:disabled, .bp3-dark .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + color:rgba(167, 182, 194, 0.6); } + .bp3-input.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-primary:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-primary[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #137cbd; + box-shadow:inset 0 0 0 1px #137cbd; } + .bp3-input.bp3-intent-primary:disabled, .bp3-input.bp3-intent-primary.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-primary:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-primary[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #137cbd; + box-shadow:inset 0 0 0 1px #137cbd; } + .bp3-dark .bp3-input.bp3-intent-primary:disabled, .bp3-dark .bp3-input.bp3-intent-primary.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input.bp3-intent-success{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-success:focus{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-success[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #0f9960; + box-shadow:inset 0 0 0 1px #0f9960; } + .bp3-input.bp3-intent-success:disabled, .bp3-input.bp3-intent-success.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-success{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-success:focus{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-success[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #0f9960; + box-shadow:inset 0 0 0 1px #0f9960; } + .bp3-dark .bp3-input.bp3-intent-success:disabled, .bp3-dark .bp3-input.bp3-intent-success.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-warning:focus{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-warning[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #d9822b; + box-shadow:inset 0 0 0 1px #d9822b; } + .bp3-input.bp3-intent-warning:disabled, .bp3-input.bp3-intent-warning.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-warning:focus{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-warning[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #d9822b; + box-shadow:inset 0 0 0 1px #d9822b; } + .bp3-dark .bp3-input.bp3-intent-warning:disabled, .bp3-dark .bp3-input.bp3-intent-warning.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-danger:focus{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-danger[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #db3737; + box-shadow:inset 0 0 0 1px #db3737; } + .bp3-input.bp3-intent-danger:disabled, .bp3-input.bp3-intent-danger.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-danger:focus{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-danger[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #db3737; + box-shadow:inset 0 0 0 1px #db3737; } + .bp3-dark .bp3-input.bp3-intent-danger:disabled, .bp3-dark .bp3-input.bp3-intent-danger.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input::-ms-clear{ + display:none; } +textarea.bp3-input{ + max-width:100%; + padding:10px; } + textarea.bp3-input, textarea.bp3-input.bp3-large, textarea.bp3-input.bp3-small{ + height:auto; + line-height:inherit; } + textarea.bp3-input.bp3-small{ + padding:8px; } + .bp3-dark textarea.bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#f5f8fa; } + .bp3-dark textarea.bp3-input::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark textarea.bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark textarea.bp3-input:disabled, .bp3-dark textarea.bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + color:rgba(167, 182, 194, 0.6); } +label.bp3-label{ + display:block; + margin-top:0; + margin-bottom:15px; } + label.bp3-label .bp3-html-select, + label.bp3-label .bp3-input, + label.bp3-label .bp3-select, + label.bp3-label .bp3-slider, + label.bp3-label .bp3-popover-wrapper{ + display:block; + margin-top:5px; + text-transform:none; } + label.bp3-label .bp3-button-group{ + margin-top:5px; } + label.bp3-label .bp3-select select, + label.bp3-label .bp3-html-select select{ + width:100%; + vertical-align:top; + font-weight:400; } + label.bp3-label.bp3-disabled, + label.bp3-label.bp3-disabled .bp3-text-muted{ + color:rgba(92, 112, 128, 0.6); } + label.bp3-label.bp3-inline{ + line-height:30px; } + label.bp3-label.bp3-inline .bp3-html-select, + label.bp3-label.bp3-inline .bp3-input, + label.bp3-label.bp3-inline .bp3-input-group, + label.bp3-label.bp3-inline .bp3-select, + label.bp3-label.bp3-inline .bp3-popover-wrapper{ + display:inline-block; + margin:0 0 0 5px; + vertical-align:top; } + label.bp3-label.bp3-inline .bp3-button-group{ + margin:0 0 0 5px; } + label.bp3-label.bp3-inline .bp3-input-group .bp3-input{ + margin-left:0; } + label.bp3-label.bp3-inline.bp3-large{ + line-height:40px; } + label.bp3-label:not(.bp3-inline) .bp3-popover-target{ + display:block; } + .bp3-dark label.bp3-label{ + color:#f5f8fa; } + .bp3-dark label.bp3-label.bp3-disabled, + .bp3-dark label.bp3-label.bp3-disabled .bp3-text-muted{ + color:rgba(167, 182, 194, 0.6); } +.bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button{ + -webkit-box-flex:1; + -ms-flex:1 1 14px; + flex:1 1 14px; + width:30px; + min-height:0; + padding:0; } + .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:first-child{ + border-radius:0 3px 0 0; } + .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:last-child{ + border-radius:0 0 3px 0; } + +.bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:first-child{ + border-radius:3px 0 0 0; } + +.bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:last-child{ + border-radius:0 0 0 3px; } + +.bp3-numeric-input.bp3-large .bp3-button-group.bp3-vertical > .bp3-button{ + width:40px; } + +form{ + display:block; } +.bp3-html-select select, +.bp3-select select{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + border:none; + border-radius:3px; + cursor:pointer; + padding:5px 10px; + vertical-align:middle; + text-align:left; + font-size:14px; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + color:#182026; + border-radius:3px; + width:100%; + height:30px; + padding:0 25px 0 10px; + -moz-appearance:none; + -webkit-appearance:none; } + .bp3-html-select select > *, .bp3-select select > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-html-select select > .bp3-fill, .bp3-select select > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-html-select select::before, + .bp3-select select::before, .bp3-html-select select > *, .bp3-select select > *{ + margin-right:7px; } + .bp3-html-select select:empty::before, + .bp3-select select:empty::before, + .bp3-html-select select > :last-child, + .bp3-select select > :last-child{ + margin-right:0; } + .bp3-html-select select:hover, + .bp3-select select:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-html-select select:active, + .bp3-select select:active, .bp3-html-select select.bp3-active, + .bp3-select select.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-html-select select:disabled, + .bp3-select select:disabled, .bp3-html-select select.bp3-disabled, + .bp3-select select.bp3-disabled{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-html-select select:disabled.bp3-active, + .bp3-select select:disabled.bp3-active, .bp3-html-select select:disabled.bp3-active:hover, + .bp3-select select:disabled.bp3-active:hover, .bp3-html-select select.bp3-disabled.bp3-active, + .bp3-select select.bp3-disabled.bp3-active, .bp3-html-select select.bp3-disabled.bp3-active:hover, + .bp3-select select.bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + +.bp3-html-select.bp3-minimal select, +.bp3-select.bp3-minimal select{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-html-select.bp3-minimal select:hover, + .bp3-select.bp3-minimal select:hover{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(167, 182, 194, 0.3); + text-decoration:none; + color:#182026; } + .bp3-html-select.bp3-minimal select:active, + .bp3-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal select.bp3-active, + .bp3-select.bp3-minimal select.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(115, 134, 148, 0.3); + color:#182026; } + .bp3-html-select.bp3-minimal select:disabled, + .bp3-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal select:disabled:hover, + .bp3-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal select.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal select.bp3-disabled:hover, + .bp3-select.bp3-minimal select.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-html-select.bp3-minimal select:disabled.bp3-active, + .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active, + .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active, + .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-html-select.bp3-minimal select, .bp3-html-select.bp3-minimal .bp3-dark select, + .bp3-dark .bp3-select.bp3-minimal select, .bp3-select.bp3-minimal .bp3-dark select{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:inherit; } + .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover, + .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover, .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active, + .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover, + .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active, + .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-html-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal .bp3-dark select:disabled, + .bp3-dark .bp3-select.bp3-minimal select:disabled, .bp3-select.bp3-minimal .bp3-dark select:disabled, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover, + .bp3-dark .bp3-select.bp3-minimal select:disabled:hover, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-html-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-primary, + .bp3-select.bp3-minimal select.bp3-intent-primary{ + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, + .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, + .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, + .bp3-select.bp3-minimal select.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, + .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled, + .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-success, + .bp3-select.bp3-minimal select.bp3-intent-success{ + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, + .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal select.bp3-intent-success:active, + .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, + .bp3-select.bp3-minimal select.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:active, + .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled, + .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-warning, + .bp3-select.bp3-minimal select.bp3-intent-warning{ + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, + .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, + .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, + .bp3-select.bp3-minimal select.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, + .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled, + .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-danger, + .bp3-select.bp3-minimal select.bp3-intent-danger{ + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, + .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, + .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, + .bp3-select.bp3-minimal select.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, + .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled, + .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + +.bp3-html-select.bp3-large select, +.bp3-select.bp3-large select{ + height:40px; + padding-right:35px; + font-size:16px; } + +.bp3-dark .bp3-html-select select, .bp3-dark .bp3-select select{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + color:#f5f8fa; } + .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover, .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + .bp3-dark .bp3-html-select select:disabled, .bp3-dark .bp3-select select:disabled, .bp3-dark .bp3-html-select select.bp3-disabled, .bp3-dark .bp3-select select.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-html-select select:disabled.bp3-active, .bp3-dark .bp3-select select:disabled.bp3-active, .bp3-dark .bp3-html-select select.bp3-disabled.bp3-active, .bp3-dark .bp3-select select.bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-html-select select .bp3-button-spinner .bp3-spinner-head, .bp3-dark .bp3-select select .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + +.bp3-html-select select:disabled, +.bp3-select select:disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + +.bp3-html-select .bp3-icon, +.bp3-select .bp3-icon, .bp3-select::after{ + position:absolute; + top:7px; + right:7px; + color:#5c7080; + pointer-events:none; } + .bp3-html-select .bp3-disabled.bp3-icon, + .bp3-select .bp3-disabled.bp3-icon, .bp3-disabled.bp3-select::after{ + color:rgba(92, 112, 128, 0.6); } +.bp3-html-select, +.bp3-select{ + display:inline-block; + position:relative; + vertical-align:middle; + letter-spacing:normal; } + .bp3-html-select select::-ms-expand, + .bp3-select select::-ms-expand{ + display:none; } + .bp3-html-select .bp3-icon, + .bp3-select .bp3-icon{ + color:#5c7080; } + .bp3-html-select .bp3-icon:hover, + .bp3-select .bp3-icon:hover{ + color:#182026; } + .bp3-dark .bp3-html-select .bp3-icon, .bp3-dark + .bp3-select .bp3-icon{ + color:#a7b6c2; } + .bp3-dark .bp3-html-select .bp3-icon:hover, .bp3-dark + .bp3-select .bp3-icon:hover{ + color:#f5f8fa; } + .bp3-html-select.bp3-large::after, + .bp3-html-select.bp3-large .bp3-icon, + .bp3-select.bp3-large::after, + .bp3-select.bp3-large .bp3-icon{ + top:12px; + right:12px; } + .bp3-html-select.bp3-fill, + .bp3-html-select.bp3-fill select, + .bp3-select.bp3-fill, + .bp3-select.bp3-fill select{ + width:100%; } + .bp3-dark .bp3-html-select option, .bp3-dark + .bp3-select option{ + background-color:#30404d; + color:#f5f8fa; } + .bp3-dark .bp3-html-select option:disabled, .bp3-dark + .bp3-select option:disabled{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-html-select::after, .bp3-dark + .bp3-select::after{ + color:#a7b6c2; } + +.bp3-select::after{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + content:""; } +.bp3-running-text table, table.bp3-html-table{ + border-spacing:0; + font-size:14px; } + .bp3-running-text table th, table.bp3-html-table th, + .bp3-running-text table td, + table.bp3-html-table td{ + padding:11px; + vertical-align:top; + text-align:left; } + .bp3-running-text table th, table.bp3-html-table th{ + color:#182026; + font-weight:600; } + + .bp3-running-text table td, + table.bp3-html-table td{ + color:#182026; } + .bp3-running-text table tbody tr:first-child th, table.bp3-html-table tbody tr:first-child th, + .bp3-running-text table tbody tr:first-child td, + table.bp3-html-table tbody tr:first-child td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-running-text table th, .bp3-running-text .bp3-dark table th, .bp3-dark table.bp3-html-table th{ + color:#f5f8fa; } + .bp3-dark .bp3-running-text table td, .bp3-running-text .bp3-dark table td, .bp3-dark table.bp3-html-table td{ + color:#f5f8fa; } + .bp3-dark .bp3-running-text table tbody tr:first-child th, .bp3-running-text .bp3-dark table tbody tr:first-child th, .bp3-dark table.bp3-html-table tbody tr:first-child th, + .bp3-dark .bp3-running-text table tbody tr:first-child td, + .bp3-running-text .bp3-dark table tbody tr:first-child td, + .bp3-dark table.bp3-html-table tbody tr:first-child td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); } + +table.bp3-html-table.bp3-html-table-condensed th, +table.bp3-html-table.bp3-html-table-condensed td, table.bp3-html-table.bp3-small th, +table.bp3-html-table.bp3-small td{ + padding-top:6px; + padding-bottom:6px; } + +table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{ + background:rgba(191, 204, 214, 0.15); } + +table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){ + -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); } + +table.bp3-html-table.bp3-html-table-bordered tbody tr td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); } + table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child){ + -webkit-box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15); } + +table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{ + -webkit-box-shadow:none; + box-shadow:none; } + table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:not(:first-child){ + -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); } + +table.bp3-html-table.bp3-interactive tbody tr:hover td{ + background-color:rgba(191, 204, 214, 0.3); + cursor:pointer; } + +table.bp3-html-table.bp3-interactive tbody tr:active td{ + background-color:rgba(191, 204, 214, 0.4); } + +.bp3-dark table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{ + background:rgba(92, 112, 128, 0.15); } + +.bp3-dark table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){ + -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); } + +.bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); } + .bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child){ + -webkit-box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15); } + +.bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{ + -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); } + .bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:first-child{ + -webkit-box-shadow:none; + box-shadow:none; } + +.bp3-dark table.bp3-html-table.bp3-interactive tbody tr:hover td{ + background-color:rgba(92, 112, 128, 0.3); + cursor:pointer; } + +.bp3-dark table.bp3-html-table.bp3-interactive tbody tr:active td{ + background-color:rgba(92, 112, 128, 0.4); } + +.bp3-key-combo{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; } + .bp3-key-combo > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-key-combo > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-key-combo::before, + .bp3-key-combo > *{ + margin-right:5px; } + .bp3-key-combo:empty::before, + .bp3-key-combo > :last-child{ + margin-right:0; } + +.bp3-hotkey-dialog{ + top:40px; + padding-bottom:0; } + .bp3-hotkey-dialog .bp3-dialog-body{ + margin:0; + padding:0; } + .bp3-hotkey-dialog .bp3-hotkey-label{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; } + +.bp3-hotkey-column{ + margin:auto; + max-height:80vh; + overflow-y:auto; + padding:30px; } + .bp3-hotkey-column .bp3-heading{ + margin-bottom:20px; } + .bp3-hotkey-column .bp3-heading:not(:first-child){ + margin-top:40px; } + +.bp3-hotkey{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:justify; + -ms-flex-pack:justify; + justify-content:space-between; + margin-right:0; + margin-left:0; } + .bp3-hotkey:not(:last-child){ + margin-bottom:10px; } +.bp3-icon{ + display:inline-block; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + vertical-align:text-bottom; } + .bp3-icon:not(:empty)::before{ + content:"" !important; + content:unset !important; } + .bp3-icon > svg{ + display:block; } + .bp3-icon > svg:not([fill]){ + fill:currentColor; } + +.bp3-icon.bp3-intent-primary, .bp3-icon-standard.bp3-intent-primary, .bp3-icon-large.bp3-intent-primary{ + color:#106ba3; } + .bp3-dark .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-icon-large.bp3-intent-primary{ + color:#48aff0; } + +.bp3-icon.bp3-intent-success, .bp3-icon-standard.bp3-intent-success, .bp3-icon-large.bp3-intent-success{ + color:#0d8050; } + .bp3-dark .bp3-icon.bp3-intent-success, .bp3-dark .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-icon-large.bp3-intent-success{ + color:#3dcc91; } + +.bp3-icon.bp3-intent-warning, .bp3-icon-standard.bp3-intent-warning, .bp3-icon-large.bp3-intent-warning{ + color:#bf7326; } + .bp3-dark .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-icon-large.bp3-intent-warning{ + color:#ffb366; } + +.bp3-icon.bp3-intent-danger, .bp3-icon-standard.bp3-intent-danger, .bp3-icon-large.bp3-intent-danger{ + color:#c23030; } + .bp3-dark .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-icon-large.bp3-intent-danger{ + color:#ff7373; } + +span.bp3-icon-standard{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + display:inline-block; } + +span.bp3-icon-large{ + line-height:1; + font-family:"Icons20", sans-serif; + font-size:20px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + display:inline-block; } + +span.bp3-icon:empty{ + line-height:1; + font-family:"Icons20"; + font-size:inherit; + font-weight:400; + font-style:normal; } + span.bp3-icon:empty::before{ + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; } + +.bp3-icon-add::before{ + content:""; } + +.bp3-icon-add-column-left::before{ + content:""; } + +.bp3-icon-add-column-right::before{ + content:""; } + +.bp3-icon-add-row-bottom::before{ + content:""; } + +.bp3-icon-add-row-top::before{ + content:""; } + +.bp3-icon-add-to-artifact::before{ + content:""; } + +.bp3-icon-add-to-folder::before{ + content:""; } + +.bp3-icon-airplane::before{ + content:""; } + +.bp3-icon-align-center::before{ + content:""; } + +.bp3-icon-align-justify::before{ + content:""; } + +.bp3-icon-align-left::before{ + content:""; } + +.bp3-icon-align-right::before{ + content:""; } + +.bp3-icon-alignment-bottom::before{ + content:""; } + +.bp3-icon-alignment-horizontal-center::before{ + content:""; } + +.bp3-icon-alignment-left::before{ + content:""; } + +.bp3-icon-alignment-right::before{ + content:""; } + +.bp3-icon-alignment-top::before{ + content:""; } + +.bp3-icon-alignment-vertical-center::before{ + content:""; } + +.bp3-icon-annotation::before{ + content:""; } + +.bp3-icon-application::before{ + content:""; } + +.bp3-icon-applications::before{ + content:""; } + +.bp3-icon-archive::before{ + content:""; } + +.bp3-icon-arrow-bottom-left::before{ + content:"↙"; } + +.bp3-icon-arrow-bottom-right::before{ + content:"↘"; } + +.bp3-icon-arrow-down::before{ + content:"↓"; } + +.bp3-icon-arrow-left::before{ + content:"←"; } + +.bp3-icon-arrow-right::before{ + content:"→"; } + +.bp3-icon-arrow-top-left::before{ + content:"↖"; } + +.bp3-icon-arrow-top-right::before{ + content:"↗"; } + +.bp3-icon-arrow-up::before{ + content:"↑"; } + +.bp3-icon-arrows-horizontal::before{ + content:"↔"; } + +.bp3-icon-arrows-vertical::before{ + content:"↕"; } + +.bp3-icon-asterisk::before{ + content:"*"; } + +.bp3-icon-automatic-updates::before{ + content:""; } + +.bp3-icon-badge::before{ + content:""; } + +.bp3-icon-ban-circle::before{ + content:""; } + +.bp3-icon-bank-account::before{ + content:""; } + +.bp3-icon-barcode::before{ + content:""; } + +.bp3-icon-blank::before{ + content:""; } + +.bp3-icon-blocked-person::before{ + content:""; } + +.bp3-icon-bold::before{ + content:""; } + +.bp3-icon-book::before{ + content:""; } + +.bp3-icon-bookmark::before{ + content:""; } + +.bp3-icon-box::before{ + content:""; } + +.bp3-icon-briefcase::before{ + content:""; } + +.bp3-icon-bring-data::before{ + content:""; } + +.bp3-icon-build::before{ + content:""; } + +.bp3-icon-calculator::before{ + content:""; } + +.bp3-icon-calendar::before{ + content:""; } + +.bp3-icon-camera::before{ + content:""; } + +.bp3-icon-caret-down::before{ + content:"⌄"; } + +.bp3-icon-caret-left::before{ + content:"〈"; } + +.bp3-icon-caret-right::before{ + content:"〉"; } + +.bp3-icon-caret-up::before{ + content:"⌃"; } + +.bp3-icon-cell-tower::before{ + content:""; } + +.bp3-icon-changes::before{ + content:""; } + +.bp3-icon-chart::before{ + content:""; } + +.bp3-icon-chat::before{ + content:""; } + +.bp3-icon-chevron-backward::before{ + content:""; } + +.bp3-icon-chevron-down::before{ + content:""; } + +.bp3-icon-chevron-forward::before{ + content:""; } + +.bp3-icon-chevron-left::before{ + content:""; } + +.bp3-icon-chevron-right::before{ + content:""; } + +.bp3-icon-chevron-up::before{ + content:""; } + +.bp3-icon-circle::before{ + content:""; } + +.bp3-icon-circle-arrow-down::before{ + content:""; } + +.bp3-icon-circle-arrow-left::before{ + content:""; } + +.bp3-icon-circle-arrow-right::before{ + content:""; } + +.bp3-icon-circle-arrow-up::before{ + content:""; } + +.bp3-icon-citation::before{ + content:""; } + +.bp3-icon-clean::before{ + content:""; } + +.bp3-icon-clipboard::before{ + content:""; } + +.bp3-icon-cloud::before{ + content:"☁"; } + +.bp3-icon-cloud-download::before{ + content:""; } + +.bp3-icon-cloud-upload::before{ + content:""; } + +.bp3-icon-code::before{ + content:""; } + +.bp3-icon-code-block::before{ + content:""; } + +.bp3-icon-cog::before{ + content:""; } + +.bp3-icon-collapse-all::before{ + content:""; } + +.bp3-icon-column-layout::before{ + content:""; } + +.bp3-icon-comment::before{ + content:""; } + +.bp3-icon-comparison::before{ + content:""; } + +.bp3-icon-compass::before{ + content:""; } + +.bp3-icon-compressed::before{ + content:""; } + +.bp3-icon-confirm::before{ + content:""; } + +.bp3-icon-console::before{ + content:""; } + +.bp3-icon-contrast::before{ + content:""; } + +.bp3-icon-control::before{ + content:""; } + +.bp3-icon-credit-card::before{ + content:""; } + +.bp3-icon-cross::before{ + content:"✗"; } + +.bp3-icon-crown::before{ + content:""; } + +.bp3-icon-cube::before{ + content:""; } + +.bp3-icon-cube-add::before{ + content:""; } + +.bp3-icon-cube-remove::before{ + content:""; } + +.bp3-icon-curved-range-chart::before{ + content:""; } + +.bp3-icon-cut::before{ + content:""; } + +.bp3-icon-dashboard::before{ + content:""; } + +.bp3-icon-data-lineage::before{ + content:""; } + +.bp3-icon-database::before{ + content:""; } + +.bp3-icon-delete::before{ + content:""; } + +.bp3-icon-delta::before{ + content:"Δ"; } + +.bp3-icon-derive-column::before{ + content:""; } + +.bp3-icon-desktop::before{ + content:""; } + +.bp3-icon-diagnosis::before{ + content:""; } + +.bp3-icon-diagram-tree::before{ + content:""; } + +.bp3-icon-direction-left::before{ + content:""; } + +.bp3-icon-direction-right::before{ + content:""; } + +.bp3-icon-disable::before{ + content:""; } + +.bp3-icon-document::before{ + content:""; } + +.bp3-icon-document-open::before{ + content:""; } + +.bp3-icon-document-share::before{ + content:""; } + +.bp3-icon-dollar::before{ + content:"$"; } + +.bp3-icon-dot::before{ + content:"•"; } + +.bp3-icon-double-caret-horizontal::before{ + content:""; } + +.bp3-icon-double-caret-vertical::before{ + content:""; } + +.bp3-icon-double-chevron-down::before{ + content:""; } + +.bp3-icon-double-chevron-left::before{ + content:""; } + +.bp3-icon-double-chevron-right::before{ + content:""; } + +.bp3-icon-double-chevron-up::before{ + content:""; } + +.bp3-icon-doughnut-chart::before{ + content:""; } + +.bp3-icon-download::before{ + content:""; } + +.bp3-icon-drag-handle-horizontal::before{ + content:""; } + +.bp3-icon-drag-handle-vertical::before{ + content:""; } + +.bp3-icon-draw::before{ + content:""; } + +.bp3-icon-drive-time::before{ + content:""; } + +.bp3-icon-duplicate::before{ + content:""; } + +.bp3-icon-edit::before{ + content:"✎"; } + +.bp3-icon-eject::before{ + content:"⏏"; } + +.bp3-icon-endorsed::before{ + content:""; } + +.bp3-icon-envelope::before{ + content:"✉"; } + +.bp3-icon-equals::before{ + content:""; } + +.bp3-icon-eraser::before{ + content:""; } + +.bp3-icon-error::before{ + content:""; } + +.bp3-icon-euro::before{ + content:"€"; } + +.bp3-icon-exchange::before{ + content:""; } + +.bp3-icon-exclude-row::before{ + content:""; } + +.bp3-icon-expand-all::before{ + content:""; } + +.bp3-icon-export::before{ + content:""; } + +.bp3-icon-eye-off::before{ + content:""; } + +.bp3-icon-eye-on::before{ + content:""; } + +.bp3-icon-eye-open::before{ + content:""; } + +.bp3-icon-fast-backward::before{ + content:""; } + +.bp3-icon-fast-forward::before{ + content:""; } + +.bp3-icon-feed::before{ + content:""; } + +.bp3-icon-feed-subscribed::before{ + content:""; } + +.bp3-icon-film::before{ + content:""; } + +.bp3-icon-filter::before{ + content:""; } + +.bp3-icon-filter-keep::before{ + content:""; } + +.bp3-icon-filter-list::before{ + content:""; } + +.bp3-icon-filter-open::before{ + content:""; } + +.bp3-icon-filter-remove::before{ + content:""; } + +.bp3-icon-flag::before{ + content:"⚑"; } + +.bp3-icon-flame::before{ + content:""; } + +.bp3-icon-flash::before{ + content:""; } + +.bp3-icon-floppy-disk::before{ + content:""; } + +.bp3-icon-flow-branch::before{ + content:""; } + +.bp3-icon-flow-end::before{ + content:""; } + +.bp3-icon-flow-linear::before{ + content:""; } + +.bp3-icon-flow-review::before{ + content:""; } + +.bp3-icon-flow-review-branch::before{ + content:""; } + +.bp3-icon-flows::before{ + content:""; } + +.bp3-icon-folder-close::before{ + content:""; } + +.bp3-icon-folder-new::before{ + content:""; } + +.bp3-icon-folder-open::before{ + content:""; } + +.bp3-icon-folder-shared::before{ + content:""; } + +.bp3-icon-folder-shared-open::before{ + content:""; } + +.bp3-icon-follower::before{ + content:""; } + +.bp3-icon-following::before{ + content:""; } + +.bp3-icon-font::before{ + content:""; } + +.bp3-icon-fork::before{ + content:""; } + +.bp3-icon-form::before{ + content:""; } + +.bp3-icon-full-circle::before{ + content:""; } + +.bp3-icon-full-stacked-chart::before{ + content:""; } + +.bp3-icon-fullscreen::before{ + content:""; } + +.bp3-icon-function::before{ + content:""; } + +.bp3-icon-gantt-chart::before{ + content:""; } + +.bp3-icon-geolocation::before{ + content:""; } + +.bp3-icon-geosearch::before{ + content:""; } + +.bp3-icon-git-branch::before{ + content:""; } + +.bp3-icon-git-commit::before{ + content:""; } + +.bp3-icon-git-merge::before{ + content:""; } + +.bp3-icon-git-new-branch::before{ + content:""; } + +.bp3-icon-git-pull::before{ + content:""; } + +.bp3-icon-git-push::before{ + content:""; } + +.bp3-icon-git-repo::before{ + content:""; } + +.bp3-icon-glass::before{ + content:""; } + +.bp3-icon-globe::before{ + content:""; } + +.bp3-icon-globe-network::before{ + content:""; } + +.bp3-icon-graph::before{ + content:""; } + +.bp3-icon-graph-remove::before{ + content:""; } + +.bp3-icon-greater-than::before{ + content:""; } + +.bp3-icon-greater-than-or-equal-to::before{ + content:""; } + +.bp3-icon-grid::before{ + content:""; } + +.bp3-icon-grid-view::before{ + content:""; } + +.bp3-icon-group-objects::before{ + content:""; } + +.bp3-icon-grouped-bar-chart::before{ + content:""; } + +.bp3-icon-hand::before{ + content:""; } + +.bp3-icon-hand-down::before{ + content:""; } + +.bp3-icon-hand-left::before{ + content:""; } + +.bp3-icon-hand-right::before{ + content:""; } + +.bp3-icon-hand-up::before{ + content:""; } + +.bp3-icon-header::before{ + content:""; } + +.bp3-icon-header-one::before{ + content:""; } + +.bp3-icon-header-two::before{ + content:""; } + +.bp3-icon-headset::before{ + content:""; } + +.bp3-icon-heart::before{ + content:"♥"; } + +.bp3-icon-heart-broken::before{ + content:""; } + +.bp3-icon-heat-grid::before{ + content:""; } + +.bp3-icon-heatmap::before{ + content:""; } + +.bp3-icon-help::before{ + content:"?"; } + +.bp3-icon-helper-management::before{ + content:""; } + +.bp3-icon-highlight::before{ + content:""; } + +.bp3-icon-history::before{ + content:""; } + +.bp3-icon-home::before{ + content:"⌂"; } + +.bp3-icon-horizontal-bar-chart::before{ + content:""; } + +.bp3-icon-horizontal-bar-chart-asc::before{ + content:""; } + +.bp3-icon-horizontal-bar-chart-desc::before{ + content:""; } + +.bp3-icon-horizontal-distribution::before{ + content:""; } + +.bp3-icon-id-number::before{ + content:""; } + +.bp3-icon-image-rotate-left::before{ + content:""; } + +.bp3-icon-image-rotate-right::before{ + content:""; } + +.bp3-icon-import::before{ + content:""; } + +.bp3-icon-inbox::before{ + content:""; } + +.bp3-icon-inbox-filtered::before{ + content:""; } + +.bp3-icon-inbox-geo::before{ + content:""; } + +.bp3-icon-inbox-search::before{ + content:""; } + +.bp3-icon-inbox-update::before{ + content:""; } + +.bp3-icon-info-sign::before{ + content:"ℹ"; } + +.bp3-icon-inheritance::before{ + content:""; } + +.bp3-icon-inner-join::before{ + content:""; } + +.bp3-icon-insert::before{ + content:""; } + +.bp3-icon-intersection::before{ + content:""; } + +.bp3-icon-ip-address::before{ + content:""; } + +.bp3-icon-issue::before{ + content:""; } + +.bp3-icon-issue-closed::before{ + content:""; } + +.bp3-icon-issue-new::before{ + content:""; } + +.bp3-icon-italic::before{ + content:""; } + +.bp3-icon-join-table::before{ + content:""; } + +.bp3-icon-key::before{ + content:""; } + +.bp3-icon-key-backspace::before{ + content:""; } + +.bp3-icon-key-command::before{ + content:""; } + +.bp3-icon-key-control::before{ + content:""; } + +.bp3-icon-key-delete::before{ + content:""; } + +.bp3-icon-key-enter::before{ + content:""; } + +.bp3-icon-key-escape::before{ + content:""; } + +.bp3-icon-key-option::before{ + content:""; } + +.bp3-icon-key-shift::before{ + content:""; } + +.bp3-icon-key-tab::before{ + content:""; } + +.bp3-icon-known-vehicle::before{ + content:""; } + +.bp3-icon-lab-test::before{ + content:""; } + +.bp3-icon-label::before{ + content:""; } + +.bp3-icon-layer::before{ + content:""; } + +.bp3-icon-layers::before{ + content:""; } + +.bp3-icon-layout::before{ + content:""; } + +.bp3-icon-layout-auto::before{ + content:""; } + +.bp3-icon-layout-balloon::before{ + content:""; } + +.bp3-icon-layout-circle::before{ + content:""; } + +.bp3-icon-layout-grid::before{ + content:""; } + +.bp3-icon-layout-group-by::before{ + content:""; } + +.bp3-icon-layout-hierarchy::before{ + content:""; } + +.bp3-icon-layout-linear::before{ + content:""; } + +.bp3-icon-layout-skew-grid::before{ + content:""; } + +.bp3-icon-layout-sorted-clusters::before{ + content:""; } + +.bp3-icon-learning::before{ + content:""; } + +.bp3-icon-left-join::before{ + content:""; } + +.bp3-icon-less-than::before{ + content:""; } + +.bp3-icon-less-than-or-equal-to::before{ + content:""; } + +.bp3-icon-lifesaver::before{ + content:""; } + +.bp3-icon-lightbulb::before{ + content:""; } + +.bp3-icon-link::before{ + content:""; } + +.bp3-icon-list::before{ + content:"☰"; } + +.bp3-icon-list-columns::before{ + content:""; } + +.bp3-icon-list-detail-view::before{ + content:""; } + +.bp3-icon-locate::before{ + content:""; } + +.bp3-icon-lock::before{ + content:""; } + +.bp3-icon-log-in::before{ + content:""; } + +.bp3-icon-log-out::before{ + content:""; } + +.bp3-icon-manual::before{ + content:""; } + +.bp3-icon-manually-entered-data::before{ + content:""; } + +.bp3-icon-map::before{ + content:""; } + +.bp3-icon-map-create::before{ + content:""; } + +.bp3-icon-map-marker::before{ + content:""; } + +.bp3-icon-maximize::before{ + content:""; } + +.bp3-icon-media::before{ + content:""; } + +.bp3-icon-menu::before{ + content:""; } + +.bp3-icon-menu-closed::before{ + content:""; } + +.bp3-icon-menu-open::before{ + content:""; } + +.bp3-icon-merge-columns::before{ + content:""; } + +.bp3-icon-merge-links::before{ + content:""; } + +.bp3-icon-minimize::before{ + content:""; } + +.bp3-icon-minus::before{ + content:"−"; } + +.bp3-icon-mobile-phone::before{ + content:""; } + +.bp3-icon-mobile-video::before{ + content:""; } + +.bp3-icon-moon::before{ + content:""; } + +.bp3-icon-more::before{ + content:""; } + +.bp3-icon-mountain::before{ + content:""; } + +.bp3-icon-move::before{ + content:""; } + +.bp3-icon-mugshot::before{ + content:""; } + +.bp3-icon-multi-select::before{ + content:""; } + +.bp3-icon-music::before{ + content:""; } + +.bp3-icon-new-drawing::before{ + content:""; } + +.bp3-icon-new-grid-item::before{ + content:""; } + +.bp3-icon-new-layer::before{ + content:""; } + +.bp3-icon-new-layers::before{ + content:""; } + +.bp3-icon-new-link::before{ + content:""; } + +.bp3-icon-new-object::before{ + content:""; } + +.bp3-icon-new-person::before{ + content:""; } + +.bp3-icon-new-prescription::before{ + content:""; } + +.bp3-icon-new-text-box::before{ + content:""; } + +.bp3-icon-ninja::before{ + content:""; } + +.bp3-icon-not-equal-to::before{ + content:""; } + +.bp3-icon-notifications::before{ + content:""; } + +.bp3-icon-notifications-updated::before{ + content:""; } + +.bp3-icon-numbered-list::before{ + content:""; } + +.bp3-icon-numerical::before{ + content:""; } + +.bp3-icon-office::before{ + content:""; } + +.bp3-icon-offline::before{ + content:""; } + +.bp3-icon-oil-field::before{ + content:""; } + +.bp3-icon-one-column::before{ + content:""; } + +.bp3-icon-outdated::before{ + content:""; } + +.bp3-icon-page-layout::before{ + content:""; } + +.bp3-icon-panel-stats::before{ + content:""; } + +.bp3-icon-panel-table::before{ + content:""; } + +.bp3-icon-paperclip::before{ + content:""; } + +.bp3-icon-paragraph::before{ + content:""; } + +.bp3-icon-path::before{ + content:""; } + +.bp3-icon-path-search::before{ + content:""; } + +.bp3-icon-pause::before{ + content:""; } + +.bp3-icon-people::before{ + content:""; } + +.bp3-icon-percentage::before{ + content:""; } + +.bp3-icon-person::before{ + content:""; } + +.bp3-icon-phone::before{ + content:"☎"; } + +.bp3-icon-pie-chart::before{ + content:""; } + +.bp3-icon-pin::before{ + content:""; } + +.bp3-icon-pivot::before{ + content:""; } + +.bp3-icon-pivot-table::before{ + content:""; } + +.bp3-icon-play::before{ + content:""; } + +.bp3-icon-plus::before{ + content:"+"; } + +.bp3-icon-polygon-filter::before{ + content:""; } + +.bp3-icon-power::before{ + content:""; } + +.bp3-icon-predictive-analysis::before{ + content:""; } + +.bp3-icon-prescription::before{ + content:""; } + +.bp3-icon-presentation::before{ + content:""; } + +.bp3-icon-print::before{ + content:"⎙"; } + +.bp3-icon-projects::before{ + content:""; } + +.bp3-icon-properties::before{ + content:""; } + +.bp3-icon-property::before{ + content:""; } + +.bp3-icon-publish-function::before{ + content:""; } + +.bp3-icon-pulse::before{ + content:""; } + +.bp3-icon-random::before{ + content:""; } + +.bp3-icon-record::before{ + content:""; } + +.bp3-icon-redo::before{ + content:""; } + +.bp3-icon-refresh::before{ + content:""; } + +.bp3-icon-regression-chart::before{ + content:""; } + +.bp3-icon-remove::before{ + content:""; } + +.bp3-icon-remove-column::before{ + content:""; } + +.bp3-icon-remove-column-left::before{ + content:""; } + +.bp3-icon-remove-column-right::before{ + content:""; } + +.bp3-icon-remove-row-bottom::before{ + content:""; } + +.bp3-icon-remove-row-top::before{ + content:""; } + +.bp3-icon-repeat::before{ + content:""; } + +.bp3-icon-reset::before{ + content:""; } + +.bp3-icon-resolve::before{ + content:""; } + +.bp3-icon-rig::before{ + content:""; } + +.bp3-icon-right-join::before{ + content:""; } + +.bp3-icon-ring::before{ + content:""; } + +.bp3-icon-rotate-document::before{ + content:""; } + +.bp3-icon-rotate-page::before{ + content:""; } + +.bp3-icon-satellite::before{ + content:""; } + +.bp3-icon-saved::before{ + content:""; } + +.bp3-icon-scatter-plot::before{ + content:""; } + +.bp3-icon-search::before{ + content:""; } + +.bp3-icon-search-around::before{ + content:""; } + +.bp3-icon-search-template::before{ + content:""; } + +.bp3-icon-search-text::before{ + content:""; } + +.bp3-icon-segmented-control::before{ + content:""; } + +.bp3-icon-select::before{ + content:""; } + +.bp3-icon-selection::before{ + content:"⦿"; } + +.bp3-icon-send-to::before{ + content:""; } + +.bp3-icon-send-to-graph::before{ + content:""; } + +.bp3-icon-send-to-map::before{ + content:""; } + +.bp3-icon-series-add::before{ + content:""; } + +.bp3-icon-series-configuration::before{ + content:""; } + +.bp3-icon-series-derived::before{ + content:""; } + +.bp3-icon-series-filtered::before{ + content:""; } + +.bp3-icon-series-search::before{ + content:""; } + +.bp3-icon-settings::before{ + content:""; } + +.bp3-icon-share::before{ + content:""; } + +.bp3-icon-shield::before{ + content:""; } + +.bp3-icon-shop::before{ + content:""; } + +.bp3-icon-shopping-cart::before{ + content:""; } + +.bp3-icon-signal-search::before{ + content:""; } + +.bp3-icon-sim-card::before{ + content:""; } + +.bp3-icon-slash::before{ + content:""; } + +.bp3-icon-small-cross::before{ + content:""; } + +.bp3-icon-small-minus::before{ + content:""; } + +.bp3-icon-small-plus::before{ + content:""; } + +.bp3-icon-small-tick::before{ + content:""; } + +.bp3-icon-snowflake::before{ + content:""; } + +.bp3-icon-social-media::before{ + content:""; } + +.bp3-icon-sort::before{ + content:""; } + +.bp3-icon-sort-alphabetical::before{ + content:""; } + +.bp3-icon-sort-alphabetical-desc::before{ + content:""; } + +.bp3-icon-sort-asc::before{ + content:""; } + +.bp3-icon-sort-desc::before{ + content:""; } + +.bp3-icon-sort-numerical::before{ + content:""; } + +.bp3-icon-sort-numerical-desc::before{ + content:""; } + +.bp3-icon-split-columns::before{ + content:""; } + +.bp3-icon-square::before{ + content:""; } + +.bp3-icon-stacked-chart::before{ + content:""; } + +.bp3-icon-star::before{ + content:"★"; } + +.bp3-icon-star-empty::before{ + content:"☆"; } + +.bp3-icon-step-backward::before{ + content:""; } + +.bp3-icon-step-chart::before{ + content:""; } + +.bp3-icon-step-forward::before{ + content:""; } + +.bp3-icon-stop::before{ + content:""; } + +.bp3-icon-stopwatch::before{ + content:""; } + +.bp3-icon-strikethrough::before{ + content:""; } + +.bp3-icon-style::before{ + content:""; } + +.bp3-icon-swap-horizontal::before{ + content:""; } + +.bp3-icon-swap-vertical::before{ + content:""; } + +.bp3-icon-symbol-circle::before{ + content:""; } + +.bp3-icon-symbol-cross::before{ + content:""; } + +.bp3-icon-symbol-diamond::before{ + content:""; } + +.bp3-icon-symbol-square::before{ + content:""; } + +.bp3-icon-symbol-triangle-down::before{ + content:""; } + +.bp3-icon-symbol-triangle-up::before{ + content:""; } + +.bp3-icon-tag::before{ + content:""; } + +.bp3-icon-take-action::before{ + content:""; } + +.bp3-icon-taxi::before{ + content:""; } + +.bp3-icon-text-highlight::before{ + content:""; } + +.bp3-icon-th::before{ + content:""; } + +.bp3-icon-th-derived::before{ + content:""; } + +.bp3-icon-th-disconnect::before{ + content:""; } + +.bp3-icon-th-filtered::before{ + content:""; } + +.bp3-icon-th-list::before{ + content:""; } + +.bp3-icon-thumbs-down::before{ + content:""; } + +.bp3-icon-thumbs-up::before{ + content:""; } + +.bp3-icon-tick::before{ + content:"✓"; } + +.bp3-icon-tick-circle::before{ + content:""; } + +.bp3-icon-time::before{ + content:"⏲"; } + +.bp3-icon-timeline-area-chart::before{ + content:""; } + +.bp3-icon-timeline-bar-chart::before{ + content:""; } + +.bp3-icon-timeline-events::before{ + content:""; } + +.bp3-icon-timeline-line-chart::before{ + content:""; } + +.bp3-icon-tint::before{ + content:""; } + +.bp3-icon-torch::before{ + content:""; } + +.bp3-icon-tractor::before{ + content:""; } + +.bp3-icon-train::before{ + content:""; } + +.bp3-icon-translate::before{ + content:""; } + +.bp3-icon-trash::before{ + content:""; } + +.bp3-icon-tree::before{ + content:""; } + +.bp3-icon-trending-down::before{ + content:""; } + +.bp3-icon-trending-up::before{ + content:""; } + +.bp3-icon-truck::before{ + content:""; } + +.bp3-icon-two-columns::before{ + content:""; } + +.bp3-icon-unarchive::before{ + content:""; } + +.bp3-icon-underline::before{ + content:"⎁"; } + +.bp3-icon-undo::before{ + content:"⎌"; } + +.bp3-icon-ungroup-objects::before{ + content:""; } + +.bp3-icon-unknown-vehicle::before{ + content:""; } + +.bp3-icon-unlock::before{ + content:""; } + +.bp3-icon-unpin::before{ + content:""; } + +.bp3-icon-unresolve::before{ + content:""; } + +.bp3-icon-updated::before{ + content:""; } + +.bp3-icon-upload::before{ + content:""; } + +.bp3-icon-user::before{ + content:""; } + +.bp3-icon-variable::before{ + content:""; } + +.bp3-icon-vertical-bar-chart-asc::before{ + content:""; } + +.bp3-icon-vertical-bar-chart-desc::before{ + content:""; } + +.bp3-icon-vertical-distribution::before{ + content:""; } + +.bp3-icon-video::before{ + content:""; } + +.bp3-icon-volume-down::before{ + content:""; } + +.bp3-icon-volume-off::before{ + content:""; } + +.bp3-icon-volume-up::before{ + content:""; } + +.bp3-icon-walk::before{ + content:""; } + +.bp3-icon-warning-sign::before{ + content:""; } + +.bp3-icon-waterfall-chart::before{ + content:""; } + +.bp3-icon-widget::before{ + content:""; } + +.bp3-icon-widget-button::before{ + content:""; } + +.bp3-icon-widget-footer::before{ + content:""; } + +.bp3-icon-widget-header::before{ + content:""; } + +.bp3-icon-wrench::before{ + content:""; } + +.bp3-icon-zoom-in::before{ + content:""; } + +.bp3-icon-zoom-out::before{ + content:""; } + +.bp3-icon-zoom-to-fit::before{ + content:""; } +.bp3-submenu > .bp3-popover-wrapper{ + display:block; } + +.bp3-submenu .bp3-popover-target{ + display:block; } + +.bp3-submenu.bp3-popover{ + -webkit-box-shadow:none; + box-shadow:none; + padding:0 5px; } + .bp3-submenu.bp3-popover > .bp3-popover-content{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-submenu.bp3-popover, .bp3-submenu.bp3-popover.bp3-dark{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-submenu.bp3-popover > .bp3-popover-content, .bp3-submenu.bp3-popover.bp3-dark > .bp3-popover-content{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } +.bp3-menu{ + margin:0; + border-radius:3px; + background:#ffffff; + min-width:180px; + padding:5px; + list-style:none; + text-align:left; + color:#182026; } + +.bp3-menu-divider{ + display:block; + margin:5px; + border-top:1px solid rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-menu-divider{ + border-top-color:rgba(255, 255, 255, 0.15); } + +.bp3-menu-item{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + border-radius:2px; + padding:5px 7px; + text-decoration:none; + line-height:20px; + color:inherit; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-menu-item > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-menu-item > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-menu-item::before, + .bp3-menu-item > *{ + margin-right:7px; } + .bp3-menu-item:empty::before, + .bp3-menu-item > :last-child{ + margin-right:0; } + .bp3-menu-item > .bp3-fill{ + word-break:break-word; } + .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ + background-color:rgba(167, 182, 194, 0.3); + cursor:pointer; + text-decoration:none; } + .bp3-menu-item.bp3-disabled{ + background-color:inherit; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-dark .bp3-menu-item{ + color:inherit; } + .bp3-dark .bp3-menu-item:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ + background-color:rgba(138, 155, 168, 0.15); + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-disabled{ + background-color:inherit; + color:rgba(167, 182, 194, 0.6); } + .bp3-menu-item.bp3-intent-primary{ + color:#106ba3; } + .bp3-menu-item.bp3-intent-primary .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-primary::before, .bp3-menu-item.bp3-intent-primary::after, + .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{ + color:#106ba3; } + .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary.bp3-active{ + background-color:#137cbd; } + .bp3-menu-item.bp3-intent-primary:active{ + background-color:#106ba3; } + .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary:active, .bp3-menu-item.bp3-intent-primary:active::before, .bp3-menu-item.bp3-intent-primary:active::after, + .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-menu-item.bp3-intent-primary.bp3-active::after, + .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item.bp3-intent-success{ + color:#0d8050; } + .bp3-menu-item.bp3-intent-success .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-success::before, .bp3-menu-item.bp3-intent-success::after, + .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{ + color:#0d8050; } + .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success.bp3-active{ + background-color:#0f9960; } + .bp3-menu-item.bp3-intent-success:active{ + background-color:#0d8050; } + .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-menu-item.bp3-intent-success:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success:active, .bp3-menu-item.bp3-intent-success:active::before, .bp3-menu-item.bp3-intent-success:active::after, + .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-menu-item.bp3-intent-success.bp3-active::after, + .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item.bp3-intent-warning{ + color:#bf7326; } + .bp3-menu-item.bp3-intent-warning .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-warning::before, .bp3-menu-item.bp3-intent-warning::after, + .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{ + color:#bf7326; } + .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning.bp3-active{ + background-color:#d9822b; } + .bp3-menu-item.bp3-intent-warning:active{ + background-color:#bf7326; } + .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning:active, .bp3-menu-item.bp3-intent-warning:active::before, .bp3-menu-item.bp3-intent-warning:active::after, + .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-menu-item.bp3-intent-warning.bp3-active::after, + .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item.bp3-intent-danger{ + color:#c23030; } + .bp3-menu-item.bp3-intent-danger .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-danger::before, .bp3-menu-item.bp3-intent-danger::after, + .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{ + color:#c23030; } + .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger.bp3-active{ + background-color:#db3737; } + .bp3-menu-item.bp3-intent-danger:active{ + background-color:#c23030; } + .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger:active, .bp3-menu-item.bp3-intent-danger:active::before, .bp3-menu-item.bp3-intent-danger:active::after, + .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-menu-item.bp3-intent-danger.bp3-active::after, + .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item::before{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + margin-right:7px; } + .bp3-menu-item::before, + .bp3-menu-item > .bp3-icon{ + margin-top:2px; + color:#5c7080; } + .bp3-menu-item .bp3-menu-item-label{ + color:#5c7080; } + .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ + color:inherit; } + .bp3-menu-item.bp3-active, .bp3-menu-item:active{ + background-color:rgba(115, 134, 148, 0.3); } + .bp3-menu-item.bp3-disabled{ + outline:none !important; + background-color:inherit !important; + cursor:not-allowed !important; + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-menu-item.bp3-disabled::before, + .bp3-menu-item.bp3-disabled > .bp3-icon, + .bp3-menu-item.bp3-disabled .bp3-menu-item-label{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-large .bp3-menu-item{ + padding:9px 7px; + line-height:22px; + font-size:16px; } + .bp3-large .bp3-menu-item .bp3-icon{ + margin-top:3px; } + .bp3-large .bp3-menu-item::before{ + line-height:1; + font-family:"Icons20", sans-serif; + font-size:20px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + margin-top:1px; + margin-right:10px; } + +button.bp3-menu-item{ + border:none; + background:none; + width:100%; + text-align:left; } +.bp3-menu-header{ + display:block; + margin:5px; + border-top:1px solid rgba(16, 22, 26, 0.15); + cursor:default; + padding-left:2px; } + .bp3-dark .bp3-menu-header{ + border-top-color:rgba(255, 255, 255, 0.15); } + .bp3-menu-header:first-of-type{ + border-top:none; } + .bp3-menu-header > h6{ + color:#182026; + font-weight:600; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + margin:0; + padding:10px 7px 0 1px; + line-height:17px; } + .bp3-dark .bp3-menu-header > h6{ + color:#f5f8fa; } + .bp3-menu-header:first-of-type > h6{ + padding-top:0; } + .bp3-large .bp3-menu-header > h6{ + padding-top:15px; + padding-bottom:5px; + font-size:18px; } + .bp3-large .bp3-menu-header:first-of-type > h6{ + padding-top:0; } + +.bp3-dark .bp3-menu{ + background:#30404d; + color:#f5f8fa; } + +.bp3-dark .bp3-menu-item.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-primary::before, .bp3-dark .bp3-menu-item.bp3-intent-primary::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{ + color:#48aff0; } + .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active{ + background-color:#137cbd; } + .bp3-dark .bp3-menu-item.bp3-intent-primary:active{ + background-color:#106ba3; } + .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary:active, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + +.bp3-dark .bp3-menu-item.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-success::before, .bp3-dark .bp3-menu-item.bp3-intent-success::after, + .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{ + color:#3dcc91; } + .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active{ + background-color:#0f9960; } + .bp3-dark .bp3-menu-item.bp3-intent-success:active{ + background-color:#0d8050; } + .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success:active, .bp3-dark .bp3-menu-item.bp3-intent-success:active::before, .bp3-dark .bp3-menu-item.bp3-intent-success:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + +.bp3-dark .bp3-menu-item.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-warning::before, .bp3-dark .bp3-menu-item.bp3-intent-warning::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{ + color:#ffb366; } + .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active{ + background-color:#d9822b; } + .bp3-dark .bp3-menu-item.bp3-intent-warning:active{ + background-color:#bf7326; } + .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning:active, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + +.bp3-dark .bp3-menu-item.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-danger::before, .bp3-dark .bp3-menu-item.bp3-intent-danger::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{ + color:#ff7373; } + .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active{ + background-color:#db3737; } + .bp3-dark .bp3-menu-item.bp3-intent-danger:active{ + background-color:#c23030; } + .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger:active, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + +.bp3-dark .bp3-menu-item::before, +.bp3-dark .bp3-menu-item > .bp3-icon{ + color:#a7b6c2; } + +.bp3-dark .bp3-menu-item .bp3-menu-item-label{ + color:#a7b6c2; } + +.bp3-dark .bp3-menu-item.bp3-active, .bp3-dark .bp3-menu-item:active{ + background-color:rgba(138, 155, 168, 0.3); } + +.bp3-dark .bp3-menu-item.bp3-disabled{ + color:rgba(167, 182, 194, 0.6) !important; } + .bp3-dark .bp3-menu-item.bp3-disabled::before, + .bp3-dark .bp3-menu-item.bp3-disabled > .bp3-icon, + .bp3-dark .bp3-menu-item.bp3-disabled .bp3-menu-item-label{ + color:rgba(167, 182, 194, 0.6) !important; } + +.bp3-dark .bp3-menu-divider, +.bp3-dark .bp3-menu-header{ + border-color:rgba(255, 255, 255, 0.15); } + +.bp3-dark .bp3-menu-header > h6{ + color:#f5f8fa; } + +.bp3-label .bp3-menu{ + margin-top:5px; } +.bp3-navbar{ + position:relative; + z-index:10; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + background-color:#ffffff; + width:100%; + height:50px; + padding:0 15px; } + .bp3-navbar.bp3-dark, + .bp3-dark .bp3-navbar{ + background-color:#394b59; } + .bp3-navbar.bp3-dark{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-navbar{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-navbar.bp3-fixed-top{ + position:fixed; + top:0; + right:0; + left:0; } + +.bp3-navbar-heading{ + margin-right:15px; + font-size:16px; } + +.bp3-navbar-group{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + height:50px; } + .bp3-navbar-group.bp3-align-left{ + float:left; } + .bp3-navbar-group.bp3-align-right{ + float:right; } + +.bp3-navbar-divider{ + margin:0 10px; + border-left:1px solid rgba(16, 22, 26, 0.15); + height:20px; } + .bp3-dark .bp3-navbar-divider{ + border-left-color:rgba(255, 255, 255, 0.15); } +.bp3-non-ideal-state{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + width:100%; + height:100%; + text-align:center; } + .bp3-non-ideal-state > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-non-ideal-state > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-non-ideal-state::before, + .bp3-non-ideal-state > *{ + margin-bottom:20px; } + .bp3-non-ideal-state:empty::before, + .bp3-non-ideal-state > :last-child{ + margin-bottom:0; } + .bp3-non-ideal-state > *{ + max-width:400px; } + +.bp3-non-ideal-state-visual{ + color:rgba(92, 112, 128, 0.6); + font-size:60px; } + .bp3-dark .bp3-non-ideal-state-visual{ + color:rgba(167, 182, 194, 0.6); } + +.bp3-overflow-list{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -ms-flex-wrap:nowrap; + flex-wrap:nowrap; + min-width:0; } + +.bp3-overflow-list-spacer{ + -ms-flex-negative:1; + flex-shrink:1; + width:1px; } + +body.bp3-overlay-open{ + overflow:hidden; } + +.bp3-overlay{ + position:static; + top:0; + right:0; + bottom:0; + left:0; + z-index:20; } + .bp3-overlay:not(.bp3-overlay-open){ + pointer-events:none; } + .bp3-overlay.bp3-overlay-container{ + position:fixed; + overflow:hidden; } + .bp3-overlay.bp3-overlay-container.bp3-overlay-inline{ + position:absolute; } + .bp3-overlay.bp3-overlay-scroll-container{ + position:fixed; + overflow:auto; } + .bp3-overlay.bp3-overlay-scroll-container.bp3-overlay-inline{ + position:absolute; } + .bp3-overlay.bp3-overlay-inline{ + display:inline; + overflow:visible; } + +.bp3-overlay-content{ + position:fixed; + z-index:20; } + .bp3-overlay-inline .bp3-overlay-content, + .bp3-overlay-scroll-container .bp3-overlay-content{ + position:absolute; } + +.bp3-overlay-backdrop{ + position:fixed; + top:0; + right:0; + bottom:0; + left:0; + opacity:1; + z-index:20; + background-color:rgba(16, 22, 26, 0.7); + overflow:auto; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-overlay-backdrop.bp3-overlay-enter, .bp3-overlay-backdrop.bp3-overlay-appear{ + opacity:0; } + .bp3-overlay-backdrop.bp3-overlay-enter-active, .bp3-overlay-backdrop.bp3-overlay-appear-active{ + opacity:1; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-overlay-backdrop.bp3-overlay-exit{ + opacity:1; } + .bp3-overlay-backdrop.bp3-overlay-exit-active{ + opacity:0; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-overlay-backdrop:focus{ + outline:none; } + .bp3-overlay-inline .bp3-overlay-backdrop{ + position:absolute; } +.bp3-panel-stack{ + position:relative; + overflow:hidden; } + +.bp3-panel-stack-header{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -ms-flex-negative:0; + flex-shrink:0; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-shadow:0 1px rgba(16, 22, 26, 0.15); + box-shadow:0 1px rgba(16, 22, 26, 0.15); + height:30px; } + .bp3-dark .bp3-panel-stack-header{ + -webkit-box-shadow:0 1px rgba(255, 255, 255, 0.15); + box-shadow:0 1px rgba(255, 255, 255, 0.15); } + .bp3-panel-stack-header > span{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:1; + -ms-flex:1; + flex:1; + -webkit-box-align:stretch; + -ms-flex-align:stretch; + align-items:stretch; } + .bp3-panel-stack-header .bp3-heading{ + margin:0 5px; } + +.bp3-button.bp3-panel-stack-header-back{ + margin-left:5px; + padding-left:0; + white-space:nowrap; } + .bp3-button.bp3-panel-stack-header-back .bp3-icon{ + margin:0 2px; } + +.bp3-panel-stack-view{ + position:absolute; + top:0; + right:0; + bottom:0; + left:0; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + z-index:1; + margin-right:-1px; + border-right:1px solid rgba(16, 22, 26, 0.15); + background-color:#ffffff; + overflow-y:auto; } + .bp3-dark .bp3-panel-stack-view{ + background-color:#30404d; } + .bp3-panel-stack-view:nth-last-child(n + 4){ + display:none; } + +.bp3-panel-stack-push .bp3-panel-stack-enter, .bp3-panel-stack-push .bp3-panel-stack-appear{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + opacity:0; } + +.bp3-panel-stack-push .bp3-panel-stack-enter-active, .bp3-panel-stack-push .bp3-panel-stack-appear-active{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; + -webkit-transition-delay:0; + transition-delay:0; } + +.bp3-panel-stack-push .bp3-panel-stack-exit{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; } + +.bp3-panel-stack-push .bp3-panel-stack-exit-active{ + -webkit-transform:translateX(-50%); + transform:translateX(-50%); + opacity:0; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; + -webkit-transition-delay:0; + transition-delay:0; } + +.bp3-panel-stack-pop .bp3-panel-stack-enter, .bp3-panel-stack-pop .bp3-panel-stack-appear{ + -webkit-transform:translateX(-50%); + transform:translateX(-50%); + opacity:0; } + +.bp3-panel-stack-pop .bp3-panel-stack-enter-active, .bp3-panel-stack-pop .bp3-panel-stack-appear-active{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; + -webkit-transition-delay:0; + transition-delay:0; } + +.bp3-panel-stack-pop .bp3-panel-stack-exit{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; } + +.bp3-panel-stack-pop .bp3-panel-stack-exit-active{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + opacity:0; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; + -webkit-transition-delay:0; + transition-delay:0; } +.bp3-popover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + -webkit-transform:scale(1); + transform:scale(1); + display:inline-block; + z-index:20; + border-radius:3px; } + .bp3-popover .bp3-popover-arrow{ + position:absolute; + width:30px; + height:30px; } + .bp3-popover .bp3-popover-arrow::before{ + margin:5px; + width:20px; + height:20px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover{ + margin-top:-17px; + margin-bottom:17px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{ + bottom:-11px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(-90deg); + transform:rotate(-90deg); } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover{ + margin-left:17px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{ + left:-11px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(0); + transform:rotate(0); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover{ + margin-top:17px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{ + top:-11px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(90deg); + transform:rotate(90deg); } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover{ + margin-right:17px; + margin-left:-17px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{ + right:-11px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(180deg); + transform:rotate(180deg); } + .bp3-tether-element-attached-middle > .bp3-popover > .bp3-popover-arrow{ + top:50%; + -webkit-transform:translateY(-50%); + transform:translateY(-50%); } + .bp3-tether-element-attached-center > .bp3-popover > .bp3-popover-arrow{ + right:50%; + -webkit-transform:translateX(50%); + transform:translateX(50%); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{ + top:-0.3934px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{ + right:-0.3934px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{ + left:-0.3934px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{ + bottom:-0.3934px; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-popover{ + -webkit-transform-origin:top left; + transform-origin:top left; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-popover{ + -webkit-transform-origin:top center; + transform-origin:top center; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-popover{ + -webkit-transform-origin:top right; + transform-origin:top right; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-popover{ + -webkit-transform-origin:center left; + transform-origin:center left; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-popover{ + -webkit-transform-origin:center center; + transform-origin:center center; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-popover{ + -webkit-transform-origin:center right; + transform-origin:center right; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-popover{ + -webkit-transform-origin:bottom left; + transform-origin:bottom left; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-popover{ + -webkit-transform-origin:bottom center; + transform-origin:bottom center; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-popover{ + -webkit-transform-origin:bottom right; + transform-origin:bottom right; } + .bp3-popover .bp3-popover-content{ + background:#ffffff; + color:inherit; } + .bp3-popover .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); } + .bp3-popover .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.1; } + .bp3-popover .bp3-popover-arrow-fill{ + fill:#ffffff; } + .bp3-popover-enter > .bp3-popover, .bp3-popover-appear > .bp3-popover{ + -webkit-transform:scale(0.3); + transform:scale(0.3); } + .bp3-popover-enter-active > .bp3-popover, .bp3-popover-appear-active > .bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover-exit > .bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-exit-active > .bp3-popover{ + -webkit-transform:scale(0.3); + transform:scale(0.3); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover .bp3-popover-content{ + position:relative; + border-radius:3px; } + .bp3-popover.bp3-popover-content-sizing .bp3-popover-content{ + max-width:350px; + padding:20px; } + .bp3-popover-target + .bp3-overlay .bp3-popover.bp3-popover-content-sizing{ + width:350px; } + .bp3-popover.bp3-minimal{ + margin:0 !important; } + .bp3-popover.bp3-minimal .bp3-popover-arrow{ + display:none; } + .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-enter > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-enter-active > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear-active > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover-exit > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-exit-active > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover.bp3-dark, + .bp3-dark .bp3-popover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + .bp3-popover.bp3-dark .bp3-popover-content, + .bp3-dark .bp3-popover .bp3-popover-content{ + background:#30404d; + color:inherit; } + .bp3-popover.bp3-dark .bp3-popover-arrow::before, + .bp3-dark .bp3-popover .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); } + .bp3-popover.bp3-dark .bp3-popover-arrow-border, + .bp3-dark .bp3-popover .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.2; } + .bp3-popover.bp3-dark .bp3-popover-arrow-fill, + .bp3-dark .bp3-popover .bp3-popover-arrow-fill{ + fill:#30404d; } + +.bp3-popover-arrow::before{ + display:block; + position:absolute; + -webkit-transform:rotate(45deg); + transform:rotate(45deg); + border-radius:2px; + content:""; } + +.bp3-tether-pinned .bp3-popover-arrow{ + display:none; } + +.bp3-popover-backdrop{ + background:rgba(255, 255, 255, 0); } + +.bp3-transition-container{ + opacity:1; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + z-index:20; } + .bp3-transition-container.bp3-popover-enter, .bp3-transition-container.bp3-popover-appear{ + opacity:0; } + .bp3-transition-container.bp3-popover-enter-active, .bp3-transition-container.bp3-popover-appear-active{ + opacity:1; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-transition-container.bp3-popover-exit{ + opacity:1; } + .bp3-transition-container.bp3-popover-exit-active{ + opacity:0; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-transition-container:focus{ + outline:none; } + .bp3-transition-container.bp3-popover-leave .bp3-popover-content{ + pointer-events:none; } + .bp3-transition-container[data-x-out-of-boundaries]{ + display:none; } + +span.bp3-popover-target{ + display:inline-block; } + +.bp3-popover-wrapper.bp3-fill{ + width:100%; } + +.bp3-portal{ + position:absolute; + top:0; + right:0; + left:0; } +@-webkit-keyframes linear-progress-bar-stripes{ + from{ + background-position:0 0; } + to{ + background-position:30px 0; } } +@keyframes linear-progress-bar-stripes{ + from{ + background-position:0 0; } + to{ + background-position:30px 0; } } + +.bp3-progress-bar{ + display:block; + position:relative; + border-radius:40px; + background:rgba(92, 112, 128, 0.2); + width:100%; + height:8px; + overflow:hidden; } + .bp3-progress-bar .bp3-progress-meter{ + position:absolute; + border-radius:40px; + background:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%); + background-color:rgba(92, 112, 128, 0.8); + background-size:30px 30px; + width:100%; + height:100%; + -webkit-transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-progress-bar:not(.bp3-no-animation):not(.bp3-no-stripes) .bp3-progress-meter{ + animation:linear-progress-bar-stripes 300ms linear infinite reverse; } + .bp3-progress-bar.bp3-no-stripes .bp3-progress-meter{ + background-image:none; } + +.bp3-dark .bp3-progress-bar{ + background:rgba(16, 22, 26, 0.5); } + .bp3-dark .bp3-progress-bar .bp3-progress-meter{ + background-color:#8a9ba8; } + +.bp3-progress-bar.bp3-intent-primary .bp3-progress-meter{ + background-color:#137cbd; } + +.bp3-progress-bar.bp3-intent-success .bp3-progress-meter{ + background-color:#0f9960; } + +.bp3-progress-bar.bp3-intent-warning .bp3-progress-meter{ + background-color:#d9822b; } + +.bp3-progress-bar.bp3-intent-danger .bp3-progress-meter{ + background-color:#db3737; } +@-webkit-keyframes skeleton-glow{ + from{ + border-color:rgba(206, 217, 224, 0.2); + background:rgba(206, 217, 224, 0.2); } + to{ + border-color:rgba(92, 112, 128, 0.2); + background:rgba(92, 112, 128, 0.2); } } +@keyframes skeleton-glow{ + from{ + border-color:rgba(206, 217, 224, 0.2); + background:rgba(206, 217, 224, 0.2); } + to{ + border-color:rgba(92, 112, 128, 0.2); + background:rgba(92, 112, 128, 0.2); } } +.bp3-skeleton{ + border-color:rgba(206, 217, 224, 0.2) !important; + border-radius:2px; + -webkit-box-shadow:none !important; + box-shadow:none !important; + background:rgba(206, 217, 224, 0.2); + background-clip:padding-box !important; + cursor:default; + color:transparent !important; + -webkit-animation:1000ms linear infinite alternate skeleton-glow; + animation:1000ms linear infinite alternate skeleton-glow; + pointer-events:none; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-skeleton::before, .bp3-skeleton::after, + .bp3-skeleton *{ + visibility:hidden !important; } +.bp3-slider{ + width:100%; + min-width:150px; + height:40px; + position:relative; + outline:none; + cursor:default; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-slider:hover{ + cursor:pointer; } + .bp3-slider:active{ + cursor:-webkit-grabbing; + cursor:grabbing; } + .bp3-slider.bp3-disabled{ + opacity:0.5; + cursor:not-allowed; } + .bp3-slider.bp3-slider-unlabeled{ + height:16px; } + +.bp3-slider-track, +.bp3-slider-progress{ + top:5px; + right:0; + left:0; + height:6px; + position:absolute; } + +.bp3-slider-track{ + border-radius:3px; + overflow:hidden; } + +.bp3-slider-progress{ + background:rgba(92, 112, 128, 0.2); } + .bp3-dark .bp3-slider-progress{ + background:rgba(16, 22, 26, 0.5); } + .bp3-slider-progress.bp3-intent-primary{ + background-color:#137cbd; } + .bp3-slider-progress.bp3-intent-success{ + background-color:#0f9960; } + .bp3-slider-progress.bp3-intent-warning{ + background-color:#d9822b; } + .bp3-slider-progress.bp3-intent-danger{ + background-color:#db3737; } + +.bp3-slider-handle{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + color:#182026; + position:absolute; + top:0; + left:0; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + cursor:pointer; + width:16px; + height:16px; } + .bp3-slider-handle:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-slider-handle:active, .bp3-slider-handle.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-slider-handle:disabled, .bp3-slider-handle.bp3-disabled{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-slider-handle:disabled.bp3-active, .bp3-slider-handle:disabled.bp3-active:hover, .bp3-slider-handle.bp3-disabled.bp3-active, .bp3-slider-handle.bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-slider-handle:focus{ + z-index:1; } + .bp3-slider-handle:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; + z-index:2; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + cursor:-webkit-grab; + cursor:grab; } + .bp3-slider-handle.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1); + cursor:-webkit-grabbing; + cursor:grabbing; } + .bp3-disabled .bp3-slider-handle{ + -webkit-box-shadow:none; + box-shadow:none; + background:#bfccd6; + pointer-events:none; } + .bp3-dark .bp3-slider-handle{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + color:#f5f8fa; } + .bp3-dark .bp3-slider-handle:hover, .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-slider-handle:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + .bp3-dark .bp3-slider-handle:disabled, .bp3-dark .bp3-slider-handle.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-slider-handle:disabled.bp3-active, .bp3-dark .bp3-slider-handle.bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-slider-handle .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + .bp3-dark .bp3-slider-handle, .bp3-dark .bp3-slider-handle:hover{ + background-color:#394b59; } + .bp3-dark .bp3-slider-handle.bp3-active{ + background-color:#293742; } + .bp3-dark .bp3-disabled .bp3-slider-handle{ + border-color:#5c7080; + -webkit-box-shadow:none; + box-shadow:none; + background:#5c7080; } + .bp3-slider-handle .bp3-slider-label{ + margin-left:8px; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + background:#394b59; + color:#f5f8fa; } + .bp3-dark .bp3-slider-handle .bp3-slider-label{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + background:#e1e8ed; + color:#394b59; } + .bp3-disabled .bp3-slider-handle .bp3-slider-label{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-slider-handle.bp3-start, .bp3-slider-handle.bp3-end{ + width:8px; } + .bp3-slider-handle.bp3-start{ + border-top-right-radius:0; + border-bottom-right-radius:0; } + .bp3-slider-handle.bp3-end{ + margin-left:8px; + border-top-left-radius:0; + border-bottom-left-radius:0; } + .bp3-slider-handle.bp3-end .bp3-slider-label{ + margin-left:0; } + +.bp3-slider-label{ + -webkit-transform:translate(-50%, 20px); + transform:translate(-50%, 20px); + display:inline-block; + position:absolute; + padding:2px 5px; + vertical-align:top; + line-height:1; + font-size:12px; } + +.bp3-slider.bp3-vertical{ + width:40px; + min-width:40px; + height:150px; } + .bp3-slider.bp3-vertical .bp3-slider-track, + .bp3-slider.bp3-vertical .bp3-slider-progress{ + top:0; + bottom:0; + left:5px; + width:6px; + height:auto; } + .bp3-slider.bp3-vertical .bp3-slider-progress{ + top:auto; } + .bp3-slider.bp3-vertical .bp3-slider-label{ + -webkit-transform:translate(20px, 50%); + transform:translate(20px, 50%); } + .bp3-slider.bp3-vertical .bp3-slider-handle{ + top:auto; } + .bp3-slider.bp3-vertical .bp3-slider-handle .bp3-slider-label{ + margin-top:-8px; + margin-left:0; } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end, .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{ + margin-left:0; + width:16px; + height:8px; } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{ + border-top-left-radius:0; + border-bottom-right-radius:3px; } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start .bp3-slider-label{ + -webkit-transform:translate(20px); + transform:translate(20px); } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end{ + margin-bottom:8px; + border-top-left-radius:3px; + border-bottom-left-radius:0; + border-bottom-right-radius:0; } + +@-webkit-keyframes pt-spinner-animation{ + from{ + -webkit-transform:rotate(0deg); + transform:rotate(0deg); } + to{ + -webkit-transform:rotate(360deg); + transform:rotate(360deg); } } + +@keyframes pt-spinner-animation{ + from{ + -webkit-transform:rotate(0deg); + transform:rotate(0deg); } + to{ + -webkit-transform:rotate(360deg); + transform:rotate(360deg); } } + +.bp3-spinner{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + overflow:visible; + vertical-align:middle; } + .bp3-spinner svg{ + display:block; } + .bp3-spinner path{ + fill-opacity:0; } + .bp3-spinner .bp3-spinner-head{ + -webkit-transform-origin:center; + transform-origin:center; + -webkit-transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + stroke:rgba(92, 112, 128, 0.8); + stroke-linecap:round; } + .bp3-spinner .bp3-spinner-track{ + stroke:rgba(92, 112, 128, 0.2); } + +.bp3-spinner-animation{ + -webkit-animation:pt-spinner-animation 500ms linear infinite; + animation:pt-spinner-animation 500ms linear infinite; } + .bp3-no-spin > .bp3-spinner-animation{ + -webkit-animation:none; + animation:none; } + +.bp3-dark .bp3-spinner .bp3-spinner-head{ + stroke:#8a9ba8; } + +.bp3-dark .bp3-spinner .bp3-spinner-track{ + stroke:rgba(16, 22, 26, 0.5); } + +.bp3-spinner.bp3-intent-primary .bp3-spinner-head{ + stroke:#137cbd; } + +.bp3-spinner.bp3-intent-success .bp3-spinner-head{ + stroke:#0f9960; } + +.bp3-spinner.bp3-intent-warning .bp3-spinner-head{ + stroke:#d9822b; } + +.bp3-spinner.bp3-intent-danger .bp3-spinner-head{ + stroke:#db3737; } +.bp3-tabs.bp3-vertical{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; } + .bp3-tabs.bp3-vertical > .bp3-tab-list{ + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; } + .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab{ + border-radius:3px; + width:100%; + padding:0 10px; } + .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab[aria-selected="true"]{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(19, 124, 189, 0.2); } + .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab-indicator-wrapper .bp3-tab-indicator{ + top:0; + right:0; + bottom:0; + left:0; + border-radius:3px; + background-color:rgba(19, 124, 189, 0.2); + height:auto; } + .bp3-tabs.bp3-vertical > .bp3-tab-panel{ + margin-top:0; + padding-left:20px; } + +.bp3-tab-list{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + -webkit-box-align:end; + -ms-flex-align:end; + align-items:flex-end; + position:relative; + margin:0; + border:none; + padding:0; + list-style:none; } + .bp3-tab-list > *:not(:last-child){ + margin-right:20px; } + +.bp3-tab{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + position:relative; + cursor:pointer; + max-width:100%; + vertical-align:top; + line-height:30px; + color:#182026; + font-size:14px; } + .bp3-tab a{ + display:block; + text-decoration:none; + color:inherit; } + .bp3-tab-indicator-wrapper ~ .bp3-tab{ + -webkit-box-shadow:none !important; + box-shadow:none !important; + background-color:transparent !important; } + .bp3-tab[aria-disabled="true"]{ + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-tab[aria-selected="true"]{ + border-radius:0; + -webkit-box-shadow:inset 0 -3px 0 #106ba3; + box-shadow:inset 0 -3px 0 #106ba3; } + .bp3-tab[aria-selected="true"], .bp3-tab:not([aria-disabled="true"]):hover{ + color:#106ba3; } + .bp3-tab:focus{ + -moz-outline-radius:0; } + .bp3-large > .bp3-tab{ + line-height:40px; + font-size:16px; } + +.bp3-tab-panel{ + margin-top:20px; } + .bp3-tab-panel[aria-hidden="true"]{ + display:none; } + +.bp3-tab-indicator-wrapper{ + position:absolute; + top:0; + left:0; + -webkit-transform:translateX(0), translateY(0); + transform:translateX(0), translateY(0); + -webkit-transition:height, width, -webkit-transform; + transition:height, width, -webkit-transform; + transition:height, transform, width; + transition:height, transform, width, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + pointer-events:none; } + .bp3-tab-indicator-wrapper .bp3-tab-indicator{ + position:absolute; + right:0; + bottom:0; + left:0; + background-color:#106ba3; + height:3px; } + .bp3-tab-indicator-wrapper.bp3-no-animation{ + -webkit-transition:none; + transition:none; } + +.bp3-dark .bp3-tab{ + color:#f5f8fa; } + .bp3-dark .bp3-tab[aria-disabled="true"]{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tab[aria-selected="true"]{ + -webkit-box-shadow:inset 0 -3px 0 #48aff0; + box-shadow:inset 0 -3px 0 #48aff0; } + .bp3-dark .bp3-tab[aria-selected="true"], .bp3-dark .bp3-tab:not([aria-disabled="true"]):hover{ + color:#48aff0; } + +.bp3-dark .bp3-tab-indicator{ + background-color:#48aff0; } + +.bp3-flex-expander{ + -webkit-box-flex:1; + -ms-flex:1 1; + flex:1 1; } +.bp3-tag{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + position:relative; + border:none; + border-radius:3px; + -webkit-box-shadow:none; + box-shadow:none; + background-color:#5c7080; + min-width:20px; + max-width:100%; + min-height:20px; + padding:2px 6px; + line-height:16px; + color:#f5f8fa; + font-size:12px; } + .bp3-tag.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-interactive:hover{ + background-color:rgba(92, 112, 128, 0.85); } + .bp3-tag.bp3-interactive.bp3-active, .bp3-tag.bp3-interactive:active{ + background-color:rgba(92, 112, 128, 0.7); } + .bp3-tag > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-tag > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-tag::before, + .bp3-tag > *{ + margin-right:4px; } + .bp3-tag:empty::before, + .bp3-tag > :last-child{ + margin-right:0; } + .bp3-tag:focus{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:0; + -moz-outline-radius:6px; } + .bp3-tag.bp3-round{ + border-radius:30px; + padding-right:8px; + padding-left:8px; } + .bp3-dark .bp3-tag{ + background-color:#bfccd6; + color:#182026; } + .bp3-dark .bp3-tag.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-interactive:hover{ + background-color:rgba(191, 204, 214, 0.85); } + .bp3-dark .bp3-tag.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-interactive:active{ + background-color:rgba(191, 204, 214, 0.7); } + .bp3-dark .bp3-tag > .bp3-icon, .bp3-dark .bp3-tag .bp3-icon-standard, .bp3-dark .bp3-tag .bp3-icon-large{ + fill:currentColor; } + .bp3-tag > .bp3-icon, .bp3-tag .bp3-icon-standard, .bp3-tag .bp3-icon-large{ + fill:#ffffff; } + .bp3-tag.bp3-large, + .bp3-large .bp3-tag{ + min-width:30px; + min-height:30px; + padding:0 10px; + line-height:20px; + font-size:14px; } + .bp3-tag.bp3-large::before, + .bp3-tag.bp3-large > *, + .bp3-large .bp3-tag::before, + .bp3-large .bp3-tag > *{ + margin-right:7px; } + .bp3-tag.bp3-large:empty::before, + .bp3-tag.bp3-large > :last-child, + .bp3-large .bp3-tag:empty::before, + .bp3-large .bp3-tag > :last-child{ + margin-right:0; } + .bp3-tag.bp3-large.bp3-round, + .bp3-large .bp3-tag.bp3-round{ + padding-right:12px; + padding-left:12px; } + .bp3-tag.bp3-intent-primary{ + background:#137cbd; + color:#ffffff; } + .bp3-tag.bp3-intent-primary.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-primary.bp3-interactive:hover{ + background-color:rgba(19, 124, 189, 0.85); } + .bp3-tag.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-primary.bp3-interactive:active{ + background-color:rgba(19, 124, 189, 0.7); } + .bp3-tag.bp3-intent-success{ + background:#0f9960; + color:#ffffff; } + .bp3-tag.bp3-intent-success.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-success.bp3-interactive:hover{ + background-color:rgba(15, 153, 96, 0.85); } + .bp3-tag.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-success.bp3-interactive:active{ + background-color:rgba(15, 153, 96, 0.7); } + .bp3-tag.bp3-intent-warning{ + background:#d9822b; + color:#ffffff; } + .bp3-tag.bp3-intent-warning.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-warning.bp3-interactive:hover{ + background-color:rgba(217, 130, 43, 0.85); } + .bp3-tag.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-warning.bp3-interactive:active{ + background-color:rgba(217, 130, 43, 0.7); } + .bp3-tag.bp3-intent-danger{ + background:#db3737; + color:#ffffff; } + .bp3-tag.bp3-intent-danger.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-danger.bp3-interactive:hover{ + background-color:rgba(219, 55, 55, 0.85); } + .bp3-tag.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-danger.bp3-interactive:active{ + background-color:rgba(219, 55, 55, 0.7); } + .bp3-tag.bp3-fill{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + width:100%; } + .bp3-tag.bp3-minimal > .bp3-icon, .bp3-tag.bp3-minimal .bp3-icon-standard, .bp3-tag.bp3-minimal .bp3-icon-large{ + fill:#5c7080; } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){ + background-color:rgba(138, 155, 168, 0.2); + color:#182026; } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{ + background-color:rgba(92, 112, 128, 0.3); } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{ + background-color:rgba(92, 112, 128, 0.4); } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){ + color:#f5f8fa; } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{ + background-color:rgba(191, 204, 214, 0.3); } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{ + background-color:rgba(191, 204, 214, 0.4); } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) > .bp3-icon, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-large{ + fill:#a7b6c2; } + .bp3-tag.bp3-minimal.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{ + background-color:rgba(19, 124, 189, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{ + background-color:rgba(19, 124, 189, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-primary > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-large{ + fill:#137cbd; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.25); + color:#48aff0; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{ + background-color:rgba(19, 124, 189, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{ + background-color:rgba(19, 124, 189, 0.45); } + .bp3-tag.bp3-minimal.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{ + background-color:rgba(15, 153, 96, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{ + background-color:rgba(15, 153, 96, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-success > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-large{ + fill:#0f9960; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.25); + color:#3dcc91; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{ + background-color:rgba(15, 153, 96, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{ + background-color:rgba(15, 153, 96, 0.45); } + .bp3-tag.bp3-minimal.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{ + background-color:rgba(217, 130, 43, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{ + background-color:rgba(217, 130, 43, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-warning > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-large{ + fill:#d9822b; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.25); + color:#ffb366; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{ + background-color:rgba(217, 130, 43, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{ + background-color:rgba(217, 130, 43, 0.45); } + .bp3-tag.bp3-minimal.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{ + background-color:rgba(219, 55, 55, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{ + background-color:rgba(219, 55, 55, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-danger > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-large{ + fill:#db3737; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.25); + color:#ff7373; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{ + background-color:rgba(219, 55, 55, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{ + background-color:rgba(219, 55, 55, 0.45); } + +.bp3-tag-remove{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + opacity:0.5; + margin-top:-2px; + margin-right:-6px !important; + margin-bottom:-2px; + border:none; + background:none; + cursor:pointer; + padding:2px; + padding-left:0; + color:inherit; } + .bp3-tag-remove:hover{ + opacity:0.8; + background:none; + text-decoration:none; } + .bp3-tag-remove:active{ + opacity:1; } + .bp3-tag-remove:empty::before{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + content:""; } + .bp3-large .bp3-tag-remove{ + margin-right:-10px !important; + padding:5px; + padding-left:0; } + .bp3-large .bp3-tag-remove:empty::before{ + line-height:1; + font-family:"Icons20", sans-serif; + font-size:20px; + font-weight:400; + font-style:normal; } +.bp3-tag-input{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + cursor:text; + height:auto; + min-height:30px; + padding-right:0; + padding-left:5px; + line-height:inherit; } + .bp3-tag-input > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-tag-input > .bp3-tag-input-values{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-tag-input .bp3-tag-input-icon{ + margin-top:7px; + margin-right:7px; + margin-left:2px; + color:#5c7080; } + .bp3-tag-input .bp3-tag-input-values{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -ms-flex-wrap:wrap; + flex-wrap:wrap; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -ms-flex-item-align:stretch; + align-self:stretch; + margin-top:5px; + margin-right:7px; + min-width:0; } + .bp3-tag-input .bp3-tag-input-values > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-tag-input .bp3-tag-input-values > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-tag-input .bp3-tag-input-values::before, + .bp3-tag-input .bp3-tag-input-values > *{ + margin-right:5px; } + .bp3-tag-input .bp3-tag-input-values:empty::before, + .bp3-tag-input .bp3-tag-input-values > :last-child{ + margin-right:0; } + .bp3-tag-input .bp3-tag-input-values:first-child .bp3-input-ghost:first-child{ + padding-left:5px; } + .bp3-tag-input .bp3-tag-input-values > *{ + margin-bottom:5px; } + .bp3-tag-input .bp3-tag{ + overflow-wrap:break-word; } + .bp3-tag-input .bp3-tag.bp3-active{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:0; + -moz-outline-radius:6px; } + .bp3-tag-input .bp3-input-ghost{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + width:80px; + line-height:20px; } + .bp3-tag-input .bp3-input-ghost:disabled, .bp3-tag-input .bp3-input-ghost.bp3-disabled{ + cursor:not-allowed; } + .bp3-tag-input .bp3-button, + .bp3-tag-input .bp3-spinner{ + margin:3px; + margin-left:0; } + .bp3-tag-input .bp3-button{ + min-width:24px; + min-height:24px; + padding:0 7px; } + .bp3-tag-input.bp3-large{ + height:auto; + min-height:40px; } + .bp3-tag-input.bp3-large::before, + .bp3-tag-input.bp3-large > *{ + margin-right:10px; } + .bp3-tag-input.bp3-large:empty::before, + .bp3-tag-input.bp3-large > :last-child{ + margin-right:0; } + .bp3-tag-input.bp3-large .bp3-tag-input-icon{ + margin-top:10px; + margin-left:5px; } + .bp3-tag-input.bp3-large .bp3-input-ghost{ + line-height:30px; } + .bp3-tag-input.bp3-large .bp3-button{ + min-width:30px; + min-height:30px; + padding:5px 10px; + margin:5px; + margin-left:0; } + .bp3-tag-input.bp3-large .bp3-spinner{ + margin:8px; + margin-left:0; } + .bp3-tag-input.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + background-color:#ffffff; } + .bp3-tag-input.bp3-active.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-tag-input.bp3-active.bp3-intent-success{ + -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-tag-input.bp3-active.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-tag-input.bp3-active.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-tag-input .bp3-tag-input-icon, .bp3-tag-input.bp3-dark .bp3-tag-input-icon{ + color:#a7b6c2; } + .bp3-dark .bp3-tag-input .bp3-input-ghost, .bp3-tag-input.bp3-dark .bp3-input-ghost{ + color:#f5f8fa; } + .bp3-dark .bp3-tag-input .bp3-input-ghost::-webkit-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost::-moz-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost:-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost::-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost::placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input.bp3-active, .bp3-tag-input.bp3-dark.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background-color:rgba(16, 22, 26, 0.3); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-primary, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-success, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-success{ + -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-warning, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-danger, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + +.bp3-input-ghost{ + border:none; + -webkit-box-shadow:none; + box-shadow:none; + background:none; + padding:0; } + .bp3-input-ghost::-webkit-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost::-moz-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost:-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost::-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost::placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost:focus{ + outline:none !important; } +.bp3-toast{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + position:relative !important; + margin:20px 0 0; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + background-color:#ffffff; + min-width:300px; + max-width:500px; + pointer-events:all; } + .bp3-toast.bp3-toast-enter, .bp3-toast.bp3-toast-appear{ + -webkit-transform:translateY(-40px); + transform:translateY(-40px); } + .bp3-toast.bp3-toast-enter-active, .bp3-toast.bp3-toast-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-toast.bp3-toast-enter ~ .bp3-toast, .bp3-toast.bp3-toast-appear ~ .bp3-toast{ + -webkit-transform:translateY(-40px); + transform:translateY(-40px); } + .bp3-toast.bp3-toast-enter-active ~ .bp3-toast, .bp3-toast.bp3-toast-appear-active ~ .bp3-toast{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-toast.bp3-toast-exit{ + opacity:1; + -webkit-filter:blur(0); + filter:blur(0); } + .bp3-toast.bp3-toast-exit-active{ + opacity:0; + -webkit-filter:blur(10px); + filter:blur(10px); + -webkit-transition-property:opacity, -webkit-filter; + transition-property:opacity, -webkit-filter; + transition-property:opacity, filter; + transition-property:opacity, filter, -webkit-filter; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-toast.bp3-toast-exit ~ .bp3-toast{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-toast.bp3-toast-exit-active ~ .bp3-toast{ + -webkit-transform:translateY(-40px); + transform:translateY(-40px); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:50ms; + transition-delay:50ms; } + .bp3-toast .bp3-button-group{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + padding:5px; + padding-left:0; } + .bp3-toast > .bp3-icon{ + margin:12px; + margin-right:0; + color:#5c7080; } + .bp3-toast.bp3-dark, + .bp3-dark .bp3-toast{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + background-color:#394b59; } + .bp3-toast.bp3-dark > .bp3-icon, + .bp3-dark .bp3-toast > .bp3-icon{ + color:#a7b6c2; } + .bp3-toast[class*="bp3-intent-"] a{ + color:rgba(255, 255, 255, 0.7); } + .bp3-toast[class*="bp3-intent-"] a:hover{ + color:#ffffff; } + .bp3-toast[class*="bp3-intent-"] > .bp3-icon{ + color:#ffffff; } + .bp3-toast[class*="bp3-intent-"] .bp3-button, .bp3-toast[class*="bp3-intent-"] .bp3-button::before, + .bp3-toast[class*="bp3-intent-"] .bp3-button .bp3-icon, .bp3-toast[class*="bp3-intent-"] .bp3-button:active{ + color:rgba(255, 255, 255, 0.7) !important; } + .bp3-toast[class*="bp3-intent-"] .bp3-button:focus{ + outline-color:rgba(255, 255, 255, 0.5); } + .bp3-toast[class*="bp3-intent-"] .bp3-button:hover{ + background-color:rgba(255, 255, 255, 0.15) !important; + color:#ffffff !important; } + .bp3-toast[class*="bp3-intent-"] .bp3-button:active{ + background-color:rgba(255, 255, 255, 0.3) !important; + color:#ffffff !important; } + .bp3-toast[class*="bp3-intent-"] .bp3-button::after{ + background:rgba(255, 255, 255, 0.3) !important; } + .bp3-toast.bp3-intent-primary{ + background-color:#137cbd; + color:#ffffff; } + .bp3-toast.bp3-intent-success{ + background-color:#0f9960; + color:#ffffff; } + .bp3-toast.bp3-intent-warning{ + background-color:#d9822b; + color:#ffffff; } + .bp3-toast.bp3-intent-danger{ + background-color:#db3737; + color:#ffffff; } + +.bp3-toast-message{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + padding:11px; + word-break:break-word; } + +.bp3-toast-container{ + display:-webkit-box !important; + display:-ms-flexbox !important; + display:flex !important; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + position:fixed; + right:0; + left:0; + z-index:40; + overflow:hidden; + padding:0 20px 20px; + pointer-events:none; } + .bp3-toast-container.bp3-toast-container-top{ + top:0; } + .bp3-toast-container.bp3-toast-container-bottom{ + -webkit-box-orient:vertical; + -webkit-box-direction:reverse; + -ms-flex-direction:column-reverse; + flex-direction:column-reverse; + top:auto; + bottom:0; } + .bp3-toast-container.bp3-toast-container-left{ + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; } + .bp3-toast-container.bp3-toast-container-right{ + -webkit-box-align:end; + -ms-flex-align:end; + align-items:flex-end; } + +.bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active), +.bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active) ~ .bp3-toast, .bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active), +.bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active) ~ .bp3-toast, +.bp3-toast-container-bottom .bp3-toast.bp3-toast-exit-active ~ .bp3-toast, +.bp3-toast-container-bottom .bp3-toast.bp3-toast-leave-active ~ .bp3-toast{ + -webkit-transform:translateY(60px); + transform:translateY(60px); } +.bp3-tooltip{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-tooltip .bp3-popover-arrow{ + position:absolute; + width:22px; + height:22px; } + .bp3-tooltip .bp3-popover-arrow::before{ + margin:4px; + width:14px; + height:14px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip{ + margin-top:-11px; + margin-bottom:11px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{ + bottom:-8px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(-90deg); + transform:rotate(-90deg); } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip{ + margin-left:11px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{ + left:-8px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(0); + transform:rotate(0); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip{ + margin-top:11px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{ + top:-8px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(90deg); + transform:rotate(90deg); } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip{ + margin-right:11px; + margin-left:-11px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{ + right:-8px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(180deg); + transform:rotate(180deg); } + .bp3-tether-element-attached-middle > .bp3-tooltip > .bp3-popover-arrow{ + top:50%; + -webkit-transform:translateY(-50%); + transform:translateY(-50%); } + .bp3-tether-element-attached-center > .bp3-tooltip > .bp3-popover-arrow{ + right:50%; + -webkit-transform:translateX(50%); + transform:translateX(50%); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{ + top:-0.22183px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{ + right:-0.22183px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{ + left:-0.22183px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{ + bottom:-0.22183px; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-tooltip{ + -webkit-transform-origin:top left; + transform-origin:top left; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-tooltip{ + -webkit-transform-origin:top center; + transform-origin:top center; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-tooltip{ + -webkit-transform-origin:top right; + transform-origin:top right; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-tooltip{ + -webkit-transform-origin:center left; + transform-origin:center left; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-tooltip{ + -webkit-transform-origin:center center; + transform-origin:center center; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-tooltip{ + -webkit-transform-origin:center right; + transform-origin:center right; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-tooltip{ + -webkit-transform-origin:bottom left; + transform-origin:bottom left; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-tooltip{ + -webkit-transform-origin:bottom center; + transform-origin:bottom center; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-tooltip{ + -webkit-transform-origin:bottom right; + transform-origin:bottom right; } + .bp3-tooltip .bp3-popover-content{ + background:#394b59; + color:#f5f8fa; } + .bp3-tooltip .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); } + .bp3-tooltip .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.1; } + .bp3-tooltip .bp3-popover-arrow-fill{ + fill:#394b59; } + .bp3-popover-enter > .bp3-tooltip, .bp3-popover-appear > .bp3-tooltip{ + -webkit-transform:scale(0.8); + transform:scale(0.8); } + .bp3-popover-enter-active > .bp3-tooltip, .bp3-popover-appear-active > .bp3-tooltip{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover-exit > .bp3-tooltip{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-exit-active > .bp3-tooltip{ + -webkit-transform:scale(0.8); + transform:scale(0.8); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-tooltip .bp3-popover-content{ + padding:10px 12px; } + .bp3-tooltip.bp3-dark, + .bp3-dark .bp3-tooltip{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + .bp3-tooltip.bp3-dark .bp3-popover-content, + .bp3-dark .bp3-tooltip .bp3-popover-content{ + background:#e1e8ed; + color:#394b59; } + .bp3-tooltip.bp3-dark .bp3-popover-arrow::before, + .bp3-dark .bp3-tooltip .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); } + .bp3-tooltip.bp3-dark .bp3-popover-arrow-border, + .bp3-dark .bp3-tooltip .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.2; } + .bp3-tooltip.bp3-dark .bp3-popover-arrow-fill, + .bp3-dark .bp3-tooltip .bp3-popover-arrow-fill{ + fill:#e1e8ed; } + .bp3-tooltip.bp3-intent-primary .bp3-popover-content{ + background:#137cbd; + color:#ffffff; } + .bp3-tooltip.bp3-intent-primary .bp3-popover-arrow-fill{ + fill:#137cbd; } + .bp3-tooltip.bp3-intent-success .bp3-popover-content{ + background:#0f9960; + color:#ffffff; } + .bp3-tooltip.bp3-intent-success .bp3-popover-arrow-fill{ + fill:#0f9960; } + .bp3-tooltip.bp3-intent-warning .bp3-popover-content{ + background:#d9822b; + color:#ffffff; } + .bp3-tooltip.bp3-intent-warning .bp3-popover-arrow-fill{ + fill:#d9822b; } + .bp3-tooltip.bp3-intent-danger .bp3-popover-content{ + background:#db3737; + color:#ffffff; } + .bp3-tooltip.bp3-intent-danger .bp3-popover-arrow-fill{ + fill:#db3737; } + +.bp3-tooltip-indicator{ + border-bottom:dotted 1px; + cursor:help; } +.bp3-tree .bp3-icon, .bp3-tree .bp3-icon-standard, .bp3-tree .bp3-icon-large{ + color:#5c7080; } + .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-tree .bp3-icon-large.bp3-intent-primary{ + color:#137cbd; } + .bp3-tree .bp3-icon.bp3-intent-success, .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-tree .bp3-icon-large.bp3-intent-success{ + color:#0f9960; } + .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-tree .bp3-icon-large.bp3-intent-warning{ + color:#d9822b; } + .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-tree .bp3-icon-large.bp3-intent-danger{ + color:#db3737; } + +.bp3-tree-node-list{ + margin:0; + padding-left:0; + list-style:none; } + +.bp3-tree-root{ + position:relative; + background-color:transparent; + cursor:default; + padding-left:0; } + +.bp3-tree-node-content-0{ + padding-left:0px; } + +.bp3-tree-node-content-1{ + padding-left:23px; } + +.bp3-tree-node-content-2{ + padding-left:46px; } + +.bp3-tree-node-content-3{ + padding-left:69px; } + +.bp3-tree-node-content-4{ + padding-left:92px; } + +.bp3-tree-node-content-5{ + padding-left:115px; } + +.bp3-tree-node-content-6{ + padding-left:138px; } + +.bp3-tree-node-content-7{ + padding-left:161px; } + +.bp3-tree-node-content-8{ + padding-left:184px; } + +.bp3-tree-node-content-9{ + padding-left:207px; } + +.bp3-tree-node-content-10{ + padding-left:230px; } + +.bp3-tree-node-content-11{ + padding-left:253px; } + +.bp3-tree-node-content-12{ + padding-left:276px; } + +.bp3-tree-node-content-13{ + padding-left:299px; } + +.bp3-tree-node-content-14{ + padding-left:322px; } + +.bp3-tree-node-content-15{ + padding-left:345px; } + +.bp3-tree-node-content-16{ + padding-left:368px; } + +.bp3-tree-node-content-17{ + padding-left:391px; } + +.bp3-tree-node-content-18{ + padding-left:414px; } + +.bp3-tree-node-content-19{ + padding-left:437px; } + +.bp3-tree-node-content-20{ + padding-left:460px; } + +.bp3-tree-node-content{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + width:100%; + height:30px; + padding-right:5px; } + .bp3-tree-node-content:hover{ + background-color:rgba(191, 204, 214, 0.4); } + +.bp3-tree-node-caret, +.bp3-tree-node-caret-none{ + min-width:30px; } + +.bp3-tree-node-caret{ + color:#5c7080; + -webkit-transform:rotate(0deg); + transform:rotate(0deg); + cursor:pointer; + padding:7px; + -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-tree-node-caret:hover{ + color:#182026; } + .bp3-dark .bp3-tree-node-caret{ + color:#a7b6c2; } + .bp3-dark .bp3-tree-node-caret:hover{ + color:#f5f8fa; } + .bp3-tree-node-caret.bp3-tree-node-caret-open{ + -webkit-transform:rotate(90deg); + transform:rotate(90deg); } + .bp3-tree-node-caret.bp3-icon-standard::before{ + content:""; } + +.bp3-tree-node-icon{ + position:relative; + margin-right:7px; } + +.bp3-tree-node-label{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + position:relative; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-tree-node-label span{ + display:inline; } + +.bp3-tree-node-secondary-label{ + padding:0 5px; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-tree-node-secondary-label .bp3-popover-wrapper, + .bp3-tree-node-secondary-label .bp3-popover-target{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; } + +.bp3-tree-node.bp3-disabled .bp3-tree-node-content{ + background-color:inherit; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + +.bp3-tree-node.bp3-disabled .bp3-tree-node-caret, +.bp3-tree-node.bp3-disabled .bp3-tree-node-icon{ + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + +.bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{ + background-color:#137cbd; } + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content, + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-standard, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-large{ + color:#ffffff; } + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret::before{ + color:rgba(255, 255, 255, 0.7); } + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret:hover::before{ + color:#ffffff; } + +.bp3-dark .bp3-tree-node-content:hover{ + background-color:rgba(92, 112, 128, 0.3); } + +.bp3-dark .bp3-tree .bp3-icon, .bp3-dark .bp3-tree .bp3-icon-standard, .bp3-dark .bp3-tree .bp3-icon-large{ + color:#a7b6c2; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-primary{ + color:#137cbd; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-success{ + color:#0f9960; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-warning{ + color:#d9822b; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-danger{ + color:#db3737; } + +.bp3-dark .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{ + background-color:#137cbd; } +/*# sourceMappingURL=blueprint.css.map */
\ No newline at end of file diff --git a/sw-ui/src/main/resources/favicon.ico b/sw-ui/src/main/resources/favicon.ico Binary files differnew file mode 100644 index 00000000..5c125de5 --- /dev/null +++ b/sw-ui/src/main/resources/favicon.ico diff --git a/sw-ui/src/main/resources/images/background-papyrus1.jpg b/sw-ui/src/main/resources/images/background-papyrus1.jpg Binary files differnew file mode 100644 index 00000000..57bdffcf --- /dev/null +++ b/sw-ui/src/main/resources/images/background-papyrus1.jpg diff --git a/sw-ui/src/main/resources/images/background-papyrus2.jpg b/sw-ui/src/main/resources/images/background-papyrus2.jpg Binary files differnew file mode 100644 index 00000000..b6c8dc5f --- /dev/null +++ b/sw-ui/src/main/resources/images/background-papyrus2.jpg diff --git a/sw-ui/src/main/resources/images/background-papyrus3.jpg b/sw-ui/src/main/resources/images/background-papyrus3.jpg Binary files differnew file mode 100644 index 00000000..90350045 --- /dev/null +++ b/sw-ui/src/main/resources/images/background-papyrus3.jpg diff --git a/sw-ui/src/main/resources/images/background-zeus-temple.jpg b/sw-ui/src/main/resources/images/background-zeus-temple.jpg Binary files differnew file mode 100644 index 00000000..5a28e933 --- /dev/null +++ b/sw-ui/src/main/resources/images/background-zeus-temple.jpg diff --git a/sw-ui/src/main/resources/images/cards/academy.png b/sw-ui/src/main/resources/images/cards/academy.png Binary files differnew file mode 100644 index 00000000..d2a75075 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/academy.png diff --git a/sw-ui/src/main/resources/images/cards/altar.png b/sw-ui/src/main/resources/images/cards/altar.png Binary files differnew file mode 100644 index 00000000..bbde8f2f --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/altar.png diff --git a/sw-ui/src/main/resources/images/cards/apothecary.png b/sw-ui/src/main/resources/images/cards/apothecary.png Binary files differnew file mode 100644 index 00000000..01804c0a --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/apothecary.png diff --git a/sw-ui/src/main/resources/images/cards/aqueduct.png b/sw-ui/src/main/resources/images/cards/aqueduct.png Binary files differnew file mode 100644 index 00000000..c29d9566 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/aqueduct.png diff --git a/sw-ui/src/main/resources/images/cards/archeryrange.png b/sw-ui/src/main/resources/images/cards/archeryrange.png Binary files differnew file mode 100644 index 00000000..15c6edda --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/archeryrange.png diff --git a/sw-ui/src/main/resources/images/cards/arena.png b/sw-ui/src/main/resources/images/cards/arena.png Binary files differnew file mode 100644 index 00000000..7dc76961 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/arena.png diff --git a/sw-ui/src/main/resources/images/cards/arsenal.png b/sw-ui/src/main/resources/images/cards/arsenal.png Binary files differnew file mode 100644 index 00000000..fc3f4a27 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/arsenal.png diff --git a/sw-ui/src/main/resources/images/cards/back/age1.png b/sw-ui/src/main/resources/images/cards/back/age1.png Binary files differnew file mode 100644 index 00000000..a06332d7 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/back/age1.png diff --git a/sw-ui/src/main/resources/images/cards/back/age2.png b/sw-ui/src/main/resources/images/cards/back/age2.png Binary files differnew file mode 100644 index 00000000..9b52aa4e --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/back/age2.png diff --git a/sw-ui/src/main/resources/images/cards/back/age3.png b/sw-ui/src/main/resources/images/cards/back/age3.png Binary files differnew file mode 100644 index 00000000..86c983ee --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/back/age3.png diff --git a/sw-ui/src/main/resources/images/cards/barracks.png b/sw-ui/src/main/resources/images/cards/barracks.png Binary files differnew file mode 100644 index 00000000..f5a68c17 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/barracks.png diff --git a/sw-ui/src/main/resources/images/cards/baths.png b/sw-ui/src/main/resources/images/cards/baths.png Binary files differnew file mode 100644 index 00000000..3d99d59d --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/baths.png diff --git a/sw-ui/src/main/resources/images/cards/bazar.png b/sw-ui/src/main/resources/images/cards/bazar.png Binary files differnew file mode 100644 index 00000000..f36e25c2 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/bazar.png diff --git a/sw-ui/src/main/resources/images/cards/brickyard.png b/sw-ui/src/main/resources/images/cards/brickyard.png Binary files differnew file mode 100644 index 00000000..ae0b7e9b --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/brickyard.png diff --git a/sw-ui/src/main/resources/images/cards/buildersguild.png b/sw-ui/src/main/resources/images/cards/buildersguild.png Binary files differnew file mode 100644 index 00000000..f5402611 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/buildersguild.png diff --git a/sw-ui/src/main/resources/images/cards/caravansery.png b/sw-ui/src/main/resources/images/cards/caravansery.png Binary files differnew file mode 100644 index 00000000..997bb102 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/caravansery.png diff --git a/sw-ui/src/main/resources/images/cards/chamberofcommerce.png b/sw-ui/src/main/resources/images/cards/chamberofcommerce.png Binary files differnew file mode 100644 index 00000000..44b5af28 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/chamberofcommerce.png diff --git a/sw-ui/src/main/resources/images/cards/circus.png b/sw-ui/src/main/resources/images/cards/circus.png Binary files differnew file mode 100644 index 00000000..b1ec4d8b --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/circus.png diff --git a/sw-ui/src/main/resources/images/cards/claypit.png b/sw-ui/src/main/resources/images/cards/claypit.png Binary files differnew file mode 100644 index 00000000..5442248e --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/claypit.png diff --git a/sw-ui/src/main/resources/images/cards/claypool.png b/sw-ui/src/main/resources/images/cards/claypool.png Binary files differnew file mode 100644 index 00000000..873cad47 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/claypool.png diff --git a/sw-ui/src/main/resources/images/cards/courthouse.png b/sw-ui/src/main/resources/images/cards/courthouse.png Binary files differnew file mode 100644 index 00000000..394901f2 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/courthouse.png diff --git a/sw-ui/src/main/resources/images/cards/craftsmensguild.png b/sw-ui/src/main/resources/images/cards/craftsmensguild.png Binary files differnew file mode 100644 index 00000000..09bff60e --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/craftsmensguild.png diff --git a/sw-ui/src/main/resources/images/cards/dispensary.png b/sw-ui/src/main/resources/images/cards/dispensary.png Binary files differnew file mode 100644 index 00000000..4917166b --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/dispensary.png diff --git a/sw-ui/src/main/resources/images/cards/easttradingpost.png b/sw-ui/src/main/resources/images/cards/easttradingpost.png Binary files differnew file mode 100644 index 00000000..0c67cc78 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/easttradingpost.png diff --git a/sw-ui/src/main/resources/images/cards/excavation.png b/sw-ui/src/main/resources/images/cards/excavation.png Binary files differnew file mode 100644 index 00000000..0fe1b01f --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/excavation.png diff --git a/sw-ui/src/main/resources/images/cards/forestcave.png b/sw-ui/src/main/resources/images/cards/forestcave.png Binary files differnew file mode 100644 index 00000000..262fffc6 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/forestcave.png diff --git a/sw-ui/src/main/resources/images/cards/fortifications.png b/sw-ui/src/main/resources/images/cards/fortifications.png Binary files differnew file mode 100644 index 00000000..3e113473 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/fortifications.png diff --git a/sw-ui/src/main/resources/images/cards/forum.png b/sw-ui/src/main/resources/images/cards/forum.png Binary files differnew file mode 100644 index 00000000..d6262158 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/forum.png diff --git a/sw-ui/src/main/resources/images/cards/foundry.png b/sw-ui/src/main/resources/images/cards/foundry.png Binary files differnew file mode 100644 index 00000000..da95a48e --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/foundry.png diff --git a/sw-ui/src/main/resources/images/cards/gardens.png b/sw-ui/src/main/resources/images/cards/gardens.png Binary files differnew file mode 100644 index 00000000..9a49a0ad --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/gardens.png diff --git a/sw-ui/src/main/resources/images/cards/glassworks.png b/sw-ui/src/main/resources/images/cards/glassworks.png Binary files differnew file mode 100644 index 00000000..285d7d54 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/glassworks.png diff --git a/sw-ui/src/main/resources/images/cards/guardtower.png b/sw-ui/src/main/resources/images/cards/guardtower.png Binary files differnew file mode 100644 index 00000000..524b06f3 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/guardtower.png diff --git a/sw-ui/src/main/resources/images/cards/haven.png b/sw-ui/src/main/resources/images/cards/haven.png Binary files differnew file mode 100644 index 00000000..e0b345b2 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/haven.png diff --git a/sw-ui/src/main/resources/images/cards/laboratory.png b/sw-ui/src/main/resources/images/cards/laboratory.png Binary files differnew file mode 100644 index 00000000..4c29e81f --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/laboratory.png diff --git a/sw-ui/src/main/resources/images/cards/library.png b/sw-ui/src/main/resources/images/cards/library.png Binary files differnew file mode 100644 index 00000000..7495a2ca --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/library.png diff --git a/sw-ui/src/main/resources/images/cards/lighthouse.png b/sw-ui/src/main/resources/images/cards/lighthouse.png Binary files differnew file mode 100644 index 00000000..2124811b --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/lighthouse.png diff --git a/sw-ui/src/main/resources/images/cards/lodge.png b/sw-ui/src/main/resources/images/cards/lodge.png Binary files differnew file mode 100644 index 00000000..22758688 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/lodge.png diff --git a/sw-ui/src/main/resources/images/cards/loom.png b/sw-ui/src/main/resources/images/cards/loom.png Binary files differnew file mode 100644 index 00000000..70bdf375 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/loom.png diff --git a/sw-ui/src/main/resources/images/cards/lumberyard.png b/sw-ui/src/main/resources/images/cards/lumberyard.png Binary files differnew file mode 100644 index 00000000..8558af1a --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/lumberyard.png diff --git a/sw-ui/src/main/resources/images/cards/magistratesguild.png b/sw-ui/src/main/resources/images/cards/magistratesguild.png Binary files differnew file mode 100644 index 00000000..d7deabb3 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/magistratesguild.png diff --git a/sw-ui/src/main/resources/images/cards/marketplace.png b/sw-ui/src/main/resources/images/cards/marketplace.png Binary files differnew file mode 100644 index 00000000..cd3676d4 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/marketplace.png diff --git a/sw-ui/src/main/resources/images/cards/mine.png b/sw-ui/src/main/resources/images/cards/mine.png Binary files differnew file mode 100644 index 00000000..4062775c --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/mine.png diff --git a/sw-ui/src/main/resources/images/cards/observatory.png b/sw-ui/src/main/resources/images/cards/observatory.png Binary files differnew file mode 100644 index 00000000..1da3d7b4 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/observatory.png diff --git a/sw-ui/src/main/resources/images/cards/orevein.png b/sw-ui/src/main/resources/images/cards/orevein.png Binary files differnew file mode 100644 index 00000000..fabea674 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/orevein.png diff --git a/sw-ui/src/main/resources/images/cards/palace.png b/sw-ui/src/main/resources/images/cards/palace.png Binary files differnew file mode 100644 index 00000000..1a24890e --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/palace.png diff --git a/sw-ui/src/main/resources/images/cards/pantheon.png b/sw-ui/src/main/resources/images/cards/pantheon.png Binary files differnew file mode 100644 index 00000000..264bae02 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/pantheon.png diff --git a/sw-ui/src/main/resources/images/cards/pawnshop.png b/sw-ui/src/main/resources/images/cards/pawnshop.png Binary files differnew file mode 100644 index 00000000..30bb3807 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/pawnshop.png diff --git a/sw-ui/src/main/resources/images/cards/philosophersguild.png b/sw-ui/src/main/resources/images/cards/philosophersguild.png Binary files differnew file mode 100644 index 00000000..f72590f6 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/philosophersguild.png diff --git a/sw-ui/src/main/resources/images/cards/press.png b/sw-ui/src/main/resources/images/cards/press.png Binary files differnew file mode 100644 index 00000000..c932df06 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/press.png diff --git a/sw-ui/src/main/resources/images/cards/quarry.png b/sw-ui/src/main/resources/images/cards/quarry.png Binary files differnew file mode 100644 index 00000000..8cdbdb22 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/quarry.png diff --git a/sw-ui/src/main/resources/images/cards/sawmill.png b/sw-ui/src/main/resources/images/cards/sawmill.png Binary files differnew file mode 100644 index 00000000..5abff473 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/sawmill.png diff --git a/sw-ui/src/main/resources/images/cards/school.png b/sw-ui/src/main/resources/images/cards/school.png Binary files differnew file mode 100644 index 00000000..ab2218d0 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/school.png diff --git a/sw-ui/src/main/resources/images/cards/scientistsguild.png b/sw-ui/src/main/resources/images/cards/scientistsguild.png Binary files differnew file mode 100644 index 00000000..7ee639e3 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/scientistsguild.png diff --git a/sw-ui/src/main/resources/images/cards/scriptorium.png b/sw-ui/src/main/resources/images/cards/scriptorium.png Binary files differnew file mode 100644 index 00000000..36dca27a --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/scriptorium.png diff --git a/sw-ui/src/main/resources/images/cards/senate.png b/sw-ui/src/main/resources/images/cards/senate.png Binary files differnew file mode 100644 index 00000000..ee878ea6 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/senate.png diff --git a/sw-ui/src/main/resources/images/cards/shipownersguild.png b/sw-ui/src/main/resources/images/cards/shipownersguild.png Binary files differnew file mode 100644 index 00000000..3eecd2da --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/shipownersguild.png diff --git a/sw-ui/src/main/resources/images/cards/siegeworkshop.png b/sw-ui/src/main/resources/images/cards/siegeworkshop.png Binary files differnew file mode 100644 index 00000000..bacf8309 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/siegeworkshop.png diff --git a/sw-ui/src/main/resources/images/cards/spiesguild.png b/sw-ui/src/main/resources/images/cards/spiesguild.png Binary files differnew file mode 100644 index 00000000..85e28d9e --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/spiesguild.png diff --git a/sw-ui/src/main/resources/images/cards/stables.png b/sw-ui/src/main/resources/images/cards/stables.png Binary files differnew file mode 100644 index 00000000..48c963f0 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/stables.png diff --git a/sw-ui/src/main/resources/images/cards/statue.png b/sw-ui/src/main/resources/images/cards/statue.png Binary files differnew file mode 100644 index 00000000..55aaa5cb --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/statue.png diff --git a/sw-ui/src/main/resources/images/cards/stockade.png b/sw-ui/src/main/resources/images/cards/stockade.png Binary files differnew file mode 100644 index 00000000..37741429 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/stockade.png diff --git a/sw-ui/src/main/resources/images/cards/stonepit.png b/sw-ui/src/main/resources/images/cards/stonepit.png Binary files differnew file mode 100644 index 00000000..724900c7 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/stonepit.png diff --git a/sw-ui/src/main/resources/images/cards/strategistsguild.png b/sw-ui/src/main/resources/images/cards/strategistsguild.png Binary files differnew file mode 100644 index 00000000..ae186a4b --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/strategistsguild.png diff --git a/sw-ui/src/main/resources/images/cards/study.png b/sw-ui/src/main/resources/images/cards/study.png Binary files differnew file mode 100644 index 00000000..d8b9ebf9 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/study.png diff --git a/sw-ui/src/main/resources/images/cards/tavern.png b/sw-ui/src/main/resources/images/cards/tavern.png Binary files differnew file mode 100644 index 00000000..418b0fb2 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/tavern.png diff --git a/sw-ui/src/main/resources/images/cards/temple.png b/sw-ui/src/main/resources/images/cards/temple.png Binary files differnew file mode 100644 index 00000000..9a8d89dc --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/temple.png diff --git a/sw-ui/src/main/resources/images/cards/theater.png b/sw-ui/src/main/resources/images/cards/theater.png Binary files differnew file mode 100644 index 00000000..0d5b2b01 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/theater.png diff --git a/sw-ui/src/main/resources/images/cards/timberyard.png b/sw-ui/src/main/resources/images/cards/timberyard.png Binary files differnew file mode 100644 index 00000000..0f20547f --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/timberyard.png diff --git a/sw-ui/src/main/resources/images/cards/townhall.png b/sw-ui/src/main/resources/images/cards/townhall.png Binary files differnew file mode 100644 index 00000000..d0638739 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/townhall.png diff --git a/sw-ui/src/main/resources/images/cards/tradersguild.png b/sw-ui/src/main/resources/images/cards/tradersguild.png Binary files differnew file mode 100644 index 00000000..15777e77 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/tradersguild.png diff --git a/sw-ui/src/main/resources/images/cards/trainingground.png b/sw-ui/src/main/resources/images/cards/trainingground.png Binary files differnew file mode 100644 index 00000000..d59ef4f8 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/trainingground.png diff --git a/sw-ui/src/main/resources/images/cards/treefarm.png b/sw-ui/src/main/resources/images/cards/treefarm.png Binary files differnew file mode 100644 index 00000000..18cf228f --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/treefarm.png diff --git a/sw-ui/src/main/resources/images/cards/university.png b/sw-ui/src/main/resources/images/cards/university.png Binary files differnew file mode 100644 index 00000000..c9ca8a80 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/university.png diff --git a/sw-ui/src/main/resources/images/cards/vineyard.png b/sw-ui/src/main/resources/images/cards/vineyard.png Binary files differnew file mode 100644 index 00000000..58fa8ee1 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/vineyard.png diff --git a/sw-ui/src/main/resources/images/cards/walls.png b/sw-ui/src/main/resources/images/cards/walls.png Binary files differnew file mode 100644 index 00000000..3823c62f --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/walls.png diff --git a/sw-ui/src/main/resources/images/cards/westtradingpost.png b/sw-ui/src/main/resources/images/cards/westtradingpost.png Binary files differnew file mode 100644 index 00000000..b536269f --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/westtradingpost.png diff --git a/sw-ui/src/main/resources/images/cards/workersguild.png b/sw-ui/src/main/resources/images/cards/workersguild.png Binary files differnew file mode 100644 index 00000000..de4f452f --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/workersguild.png diff --git a/sw-ui/src/main/resources/images/cards/workshop.png b/sw-ui/src/main/resources/images/cards/workshop.png Binary files differnew file mode 100644 index 00000000..8f585d61 --- /dev/null +++ b/sw-ui/src/main/resources/images/cards/workshop.png diff --git a/sw-ui/src/main/resources/images/logo-7-wonders.png b/sw-ui/src/main/resources/images/logo-7-wonders.png Binary files differnew file mode 100644 index 00000000..96974d3e --- /dev/null +++ b/sw-ui/src/main/resources/images/logo-7-wonders.png diff --git a/sw-ui/src/main/resources/images/round-table.png b/sw-ui/src/main/resources/images/round-table.png Binary files differnew file mode 100644 index 00000000..f277376d --- /dev/null +++ b/sw-ui/src/main/resources/images/round-table.png diff --git a/sw-ui/src/main/resources/images/tokens/coin.png b/sw-ui/src/main/resources/images/tokens/coin.png Binary files differnew file mode 100644 index 00000000..f4813042 --- /dev/null +++ b/sw-ui/src/main/resources/images/tokens/coin.png diff --git a/sw-ui/src/main/resources/images/tokens/resources/clay.png b/sw-ui/src/main/resources/images/tokens/resources/clay.png Binary files differnew file mode 100644 index 00000000..72fc0b0e --- /dev/null +++ b/sw-ui/src/main/resources/images/tokens/resources/clay.png diff --git a/sw-ui/src/main/resources/images/tokens/resources/glass.png b/sw-ui/src/main/resources/images/tokens/resources/glass.png Binary files differnew file mode 100644 index 00000000..61fd2be5 --- /dev/null +++ b/sw-ui/src/main/resources/images/tokens/resources/glass.png diff --git a/sw-ui/src/main/resources/images/tokens/resources/loom.png b/sw-ui/src/main/resources/images/tokens/resources/loom.png Binary files differnew file mode 100644 index 00000000..294adcb2 --- /dev/null +++ b/sw-ui/src/main/resources/images/tokens/resources/loom.png diff --git a/sw-ui/src/main/resources/images/tokens/resources/ore.png b/sw-ui/src/main/resources/images/tokens/resources/ore.png Binary files differnew file mode 100644 index 00000000..c2149daa --- /dev/null +++ b/sw-ui/src/main/resources/images/tokens/resources/ore.png diff --git a/sw-ui/src/main/resources/images/tokens/resources/papyrus.png b/sw-ui/src/main/resources/images/tokens/resources/papyrus.png Binary files differnew file mode 100644 index 00000000..91a59221 --- /dev/null +++ b/sw-ui/src/main/resources/images/tokens/resources/papyrus.png diff --git a/sw-ui/src/main/resources/images/tokens/resources/stone.png b/sw-ui/src/main/resources/images/tokens/resources/stone.png Binary files differnew file mode 100644 index 00000000..674c40db --- /dev/null +++ b/sw-ui/src/main/resources/images/tokens/resources/stone.png diff --git a/sw-ui/src/main/resources/images/tokens/resources/wood.png b/sw-ui/src/main/resources/images/tokens/resources/wood.png Binary files differnew file mode 100644 index 00000000..09a4ede8 --- /dev/null +++ b/sw-ui/src/main/resources/images/tokens/resources/wood.png diff --git a/sw-ui/src/main/resources/images/wonders/alexandriaA.png b/sw-ui/src/main/resources/images/wonders/alexandriaA.png Binary files differnew file mode 100644 index 00000000..0d4135f3 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/alexandriaA.png diff --git a/sw-ui/src/main/resources/images/wonders/alexandriaB.png b/sw-ui/src/main/resources/images/wonders/alexandriaB.png Binary files differnew file mode 100644 index 00000000..dd072f8a --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/alexandriaB.png diff --git a/sw-ui/src/main/resources/images/wonders/babylonA.png b/sw-ui/src/main/resources/images/wonders/babylonA.png Binary files differnew file mode 100644 index 00000000..ae323c78 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/babylonA.png diff --git a/sw-ui/src/main/resources/images/wonders/babylonB.png b/sw-ui/src/main/resources/images/wonders/babylonB.png Binary files differnew file mode 100644 index 00000000..3780dc9d --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/babylonB.png diff --git a/sw-ui/src/main/resources/images/wonders/ephesosA.png b/sw-ui/src/main/resources/images/wonders/ephesosA.png Binary files differnew file mode 100644 index 00000000..307794ba --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/ephesosA.png diff --git a/sw-ui/src/main/resources/images/wonders/ephesosB.png b/sw-ui/src/main/resources/images/wonders/ephesosB.png Binary files differnew file mode 100644 index 00000000..ec2e9cb7 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/ephesosB.png diff --git a/sw-ui/src/main/resources/images/wonders/extra/agrigentoA.jpg b/sw-ui/src/main/resources/images/wonders/extra/agrigentoA.jpg Binary files differnew file mode 100644 index 00000000..76ba8195 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/extra/agrigentoA.jpg diff --git a/sw-ui/src/main/resources/images/wonders/extra/angkorwatA.jpg b/sw-ui/src/main/resources/images/wonders/extra/angkorwatA.jpg Binary files differnew file mode 100644 index 00000000..32f52514 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/extra/angkorwatA.jpg diff --git a/sw-ui/src/main/resources/images/wonders/extra/angkorwatB.jpg b/sw-ui/src/main/resources/images/wonders/extra/angkorwatB.jpg Binary files differnew file mode 100644 index 00000000..c3f4304e --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/extra/angkorwatB.jpg diff --git a/sw-ui/src/main/resources/images/wonders/extra/avalonA.jpg b/sw-ui/src/main/resources/images/wonders/extra/avalonA.jpg Binary files differnew file mode 100644 index 00000000..7f7f0678 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/extra/avalonA.jpg diff --git a/sw-ui/src/main/resources/images/wonders/extra/ctesiphonB.jpg b/sw-ui/src/main/resources/images/wonders/extra/ctesiphonB.jpg Binary files differnew file mode 100644 index 00000000..c00b40ac --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/extra/ctesiphonB.jpg diff --git a/sw-ui/src/main/resources/images/wonders/extra/iramA.jpg b/sw-ui/src/main/resources/images/wonders/extra/iramA.jpg Binary files differnew file mode 100644 index 00000000..d2c24e95 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/extra/iramA.jpg diff --git a/sw-ui/src/main/resources/images/wonders/extra/persepolisA.jpg b/sw-ui/src/main/resources/images/wonders/extra/persepolisA.jpg Binary files differnew file mode 100644 index 00000000..2caa4f89 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/extra/persepolisA.jpg diff --git a/sw-ui/src/main/resources/images/wonders/extra/romaA.jpg b/sw-ui/src/main/resources/images/wonders/extra/romaA.jpg Binary files differnew file mode 100644 index 00000000..c54bc820 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/extra/romaA.jpg diff --git a/sw-ui/src/main/resources/images/wonders/extra/sangri-laA.jpg b/sw-ui/src/main/resources/images/wonders/extra/sangri-laA.jpg Binary files differnew file mode 100644 index 00000000..1c5dad97 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/extra/sangri-laA.jpg diff --git a/sw-ui/src/main/resources/images/wonders/extra/spahanA.jpg b/sw-ui/src/main/resources/images/wonders/extra/spahanA.jpg Binary files differnew file mode 100644 index 00000000..ab2cfc84 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/extra/spahanA.jpg diff --git a/sw-ui/src/main/resources/images/wonders/extra/the-great-wallA.jpg b/sw-ui/src/main/resources/images/wonders/extra/the-great-wallA.jpg Binary files differnew file mode 100644 index 00000000..4aacd39b --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/extra/the-great-wallA.jpg diff --git a/sw-ui/src/main/resources/images/wonders/extra/veniseA.jpg b/sw-ui/src/main/resources/images/wonders/extra/veniseA.jpg Binary files differnew file mode 100644 index 00000000..55ec00b5 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/extra/veniseA.jpg diff --git a/sw-ui/src/main/resources/images/wonders/extra/veniseB.jpg b/sw-ui/src/main/resources/images/wonders/extra/veniseB.jpg Binary files differnew file mode 100644 index 00000000..e18f3a12 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/extra/veniseB.jpg diff --git a/sw-ui/src/main/resources/images/wonders/gizahA.png b/sw-ui/src/main/resources/images/wonders/gizahA.png Binary files differnew file mode 100644 index 00000000..e66735fb --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/gizahA.png diff --git a/sw-ui/src/main/resources/images/wonders/gizahB.png b/sw-ui/src/main/resources/images/wonders/gizahB.png Binary files differnew file mode 100644 index 00000000..ed55ed45 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/gizahB.png diff --git a/sw-ui/src/main/resources/images/wonders/halikarnassusA.png b/sw-ui/src/main/resources/images/wonders/halikarnassusA.png Binary files differnew file mode 100644 index 00000000..659f706e --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/halikarnassusA.png diff --git a/sw-ui/src/main/resources/images/wonders/halikarnassusB.png b/sw-ui/src/main/resources/images/wonders/halikarnassusB.png Binary files differnew file mode 100644 index 00000000..b6ae1f93 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/halikarnassusB.png diff --git a/sw-ui/src/main/resources/images/wonders/olympiaA.png b/sw-ui/src/main/resources/images/wonders/olympiaA.png Binary files differnew file mode 100644 index 00000000..478ed503 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/olympiaA.png diff --git a/sw-ui/src/main/resources/images/wonders/olympiaB.png b/sw-ui/src/main/resources/images/wonders/olympiaB.png Binary files differnew file mode 100644 index 00000000..a97a9524 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/olympiaB.png diff --git a/sw-ui/src/main/resources/images/wonders/rhodosA.png b/sw-ui/src/main/resources/images/wonders/rhodosA.png Binary files differnew file mode 100644 index 00000000..0c11a71a --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/rhodosA.png diff --git a/sw-ui/src/main/resources/images/wonders/rhodosB.png b/sw-ui/src/main/resources/images/wonders/rhodosB.png Binary files differnew file mode 100644 index 00000000..43e5d594 --- /dev/null +++ b/sw-ui/src/main/resources/images/wonders/rhodosB.png diff --git a/sw-ui/src/main/resources/index.html b/sw-ui/src/main/resources/index.html new file mode 100644 index 00000000..3ff6d320 --- /dev/null +++ b/sw-ui/src/main/resources/index.html @@ -0,0 +1,15 @@ +<!doctype html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link rel="shortcut icon" href="${publicPath}favicon.ico"> + <title>Seven Wonders</title> + <link href="css/blueprint-icons.css" rel="stylesheet" /> + <link href="css/blueprint.css" rel="stylesheet" /> + </head> + <body> + <div id="root"></div> + <script src="${bundle}"></script> + </body> +</html> |