/**
 * @file
 * Throbber.
 */

.ajax-progress {
  display: inline-block;
  padding: 1px 5px 2px 5px;
}
[dir="rtl"] .ajax-progress {
  float: right;
}
.ajax-progress-throbber .throbber {
  display: inline;
  padding: 1px 5px 2px;
  background: transparent url(../../../images/core/throbber-active.gif) no-repeat 0 center;
}
.ajax-progress-throbber .message {
  display: inline;
  padding: 1px 5px 2px;
}
tr .ajax-progress-throbber .throbber {
  margin: 0 2px;
}
.ajax-progress-bar {
  width: 16em;
}

/* Full screen throbber */
.ajax-progress-fullscreen {
  position: fixed;
  z-index: 1000;
  top: 48.5%;
  /* Can't do center:50% middle: 50%, so approximate it for a typical window size. */
  left: 49%; /* LTR */
  width: 24px;
  height: 24px;
  padding: 4px;
  opacity: 0.9;
  border-radius: 7px;
  background-color: #232323;
  background-image: url(../../../images/core/loading-small.gif);
  background-repeat: no-repeat;
  background-position: center center;
}
[dir="rtl"] .ajax-progress-fullscreen {
  right: 49%;
  left: auto;
}

/**
 * @file
 * Alignment classes for text and block level elements.
 */

.text-align-left {
  text-align: left;
}
.text-align-right {
  text-align: right;
}
.text-align-center {
  text-align: center;
}
.text-align-justify {
  text-align: justify;
}

/**
 * Alignment classes for block level elements (images, videos, blockquotes, etc.)
 */
.align-left {
  float: left;
}
.align-right {
  float: right;
}
.align-center {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

/**
 * @file
 * Visual styles for animated throbber.
 *
 * @see autocomplete.js
 */

.js input.form-autocomplete {
  background-image: url(../../../images/core/throbber-inactive.png);
  background-repeat: no-repeat;
  background-position: 100% center; /* LTR */
}
.js[dir="rtl"] input.form-autocomplete {
  background-position: 0% center;
}
.js input.form-autocomplete.ui-autocomplete-loading {
  background-image: url(../../../images/core/throbber-active.gif);
  background-position: 100% center; /* LTR */
}
.js[dir="rtl"] input.form-autocomplete.ui-autocomplete-loading {
  background-position: 0% center;
}

/**
 * @file
 * Float clearing.
 *
 * Based on the micro clearfix hack by Nicolas Gallagher, with the :before
 * pseudo selector removed to allow normal top margin collapse.
 *
 * @see http://nicolasgallagher.com/micro-clearfix-hack
 */

.clearfix:after {
  display: table;
  clear: both;
  content: "";
}

/**
 * @file
 * Inline items.
 */

.container-inline div,
.container-inline label {
  display: inline;
}
/* Details contents always need to be rendered as block. */
.container-inline .details-wrapper {
  display: block;
}

/**
 * @file
 * Collapsible details.
 *
 * @see collapse.js
 */

.js details:not([open]) .details-wrapper {
  display: none;
}

/**
 * @file
 * Fieldgroup border reset.
 */

.fieldgroup {
  padding: 0;
  border-width: 0;
}

/**
 * @file
 * Utility classes to hide elements in different ways.
 */

/**
 * Hide elements from all users.
 *
 * Used for elements which should not be immediately displayed to any user. An
 * example would be collapsible details that will be expanded with a click
 * from a user. The effect of this class can be toggled with the jQuery show()
 * and hide() functions.
 */
.hidden {
  display: none;
}

/**
 * Hide elements visually, but keep them available for screen readers.
 *
 * Used for information required for screen reader users to understand and use
 * the site where visual display is undesirable. Information provided in this
 * manner should be kept concise, to avoid unnecessary burden on the user.
 * "!important" is used to prevent unintentional overrides.
 */
.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  word-wrap: normal;
}

/**
 * The .focusable class extends the .visually-hidden class to allow
 * the element to be focusable when navigated to via the keyboard.
 */
.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  position: static !important;
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
}

/**
 * Hide visually and from screen readers, but maintain layout.
 */
.invisible {
  visibility: hidden;
}
/**
 * @file
 * Styles for item list.
 */

.item-list__comma-list,
.item-list__comma-list li {
  display: inline;
}
.item-list__comma-list {
  margin: 0;
  padding: 0;
}
.item-list__comma-list li:after {
  content: ", ";
}
.item-list__comma-list li:last-child:after {
  content: "";
}

/**
 * @file
 * Utility classes to assist with Javascript functionality.
 */

/**
 * For anything you want to hide on page load when JS is enabled, so
 * that you can use the JS to control visibility and avoid flicker.
 */
.js .js-hide {
  display: none;
}

/**
 * For anything you want to show on page load only when JS is enabled.
 */
.js-show {
  display: none;
}
.js .js-show {
  display: block;
}

/**
 * @file
 * Utility class to prevent text wrapping.
 */

.nowrap {
  white-space: nowrap;
}

/*
 * @file
 * Contain positioned elements.
 */

.position-container {
  position: relative;
}
/**
 * @file
 * Progress behavior.
 *
 * @see progress.js
 */

.progress {
  position: relative;
}
.progress__track {
  min-width: 100px;
  max-width: 100%;
  height: 16px;
  margin-top: 5px;
  border: 1px solid;
  background-color: #fff;
}
.progress__bar {
  width: 3%;
  min-width: 3%;
  max-width: 100%;
  height: 1.5em;
  background-color: #000;
}
.progress__description,
.progress__percentage {
  overflow: hidden;
  margin-top: 0.2em;
  color: #555;
  font-size: 0.875em;
}
.progress__description {
  float: left; /* LTR */
}
[dir="rtl"] .progress__description {
  float: right;
}
.progress__percentage {
  float: right; /* LTR */
}
[dir="rtl"] .progress__percentage {
  float: left;
}
.progress--small .progress__track {
  height: 7px;
}
.progress--small .progress__bar {
  height: 7px;
  background-size: 20px 20px;
}
/*
 * @file
 * Utility class to remove browser styles, especially for button.
 */

.reset-appearance {
  margin: 0;
  padding: 0;
  border: 0 none;
  background: transparent;
  line-height: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
/**
 * @file
 * Resizable textareas.
 */

.resize-none {
  resize: none;
}
.resize-vertical {
  min-height: 2em;
  resize: vertical;
}
.resize-horizontal {
  max-width: 100%;
  resize: horizontal;
}
.resize-both {
  max-width: 100%;
  min-height: 2em;
  resize: both;
}
/**
 * @file
 * Table header behavior.
 *
 * @see tableheader.js
 */

table.sticky-header {
  z-index: 500;
  top: 0;
  margin-top: 0;
  background-color: #fff;
}

/**
 * @file
 * Styles for the system status counter component.
 */

.system-status-counter__status-icon {
  display: inline-block;
  width: 25px;
  height: 25px;
  vertical-align: middle;
}
.system-status-counter__status-icon:before {
  display: block;
  content: "";
  background-repeat: no-repeat;
  background-position: center 2px;
  background-size: 20px;
}

.system-status-counter__status-icon--error:before {
  background-image: url(../../../images/core/icons/e32700/error.svg);
}
.system-status-counter__status-icon--warning:before {
  background-image: url(../../../images/core/icons/e29700/warning.svg);
}
.system-status-counter__status-icon--checked:before {
  background-image: url(../../../images/core/icons/73b355/check.svg);
}

/**
 * @file
 * Styles for the system status report counters.
 */

.system-status-report-counters__item {
  width: 100%;
  margin-bottom: 0.5em;
  padding: 0.5em 0;
  text-align: center;
  white-space: nowrap;
  background-color: rgba(0, 0, 0, 0.063);
}

@media screen and (min-width: 60em) {
  .system-status-report-counters {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .system-status-report-counters__item--half-width {
    width: 49%;
  }
  .system-status-report-counters__item--third-width {
    width: 33%;
  }
}
/**
 * @file
 * Default styles for the System Status general info.
 */

.system-status-general-info__item {
  margin-top: 1em;
  padding: 0 1em 1em;
  border: 1px solid #ccc;
}

.system-status-general-info__item-title {
  border-bottom: 1px solid #ccc;
}

/**
 * @file
 * Table drag behavior.
 *
 * @see tabledrag.js
 */

body.drag {
  cursor: move;
}
tr.region-title {
  font-weight: bold;
}
tr.region-message {
  color: #999;
}
tr.region-populated {
  display: none;
}
tr.add-new .tabledrag-changed {
  display: none;
}
.draggable a.tabledrag-handle {
  float: left; /* LTR */
  overflow: hidden;
  height: 1.7em;
  margin-left: -1em; /* LTR */
  cursor: move;
  text-decoration: none;
}
[dir="rtl"] .draggable a.tabledrag-handle {
  float: right;
  margin-right: -1em;
  margin-left: 0;
}
a.tabledrag-handle:hover {
  text-decoration: none;
}
a.tabledrag-handle .handle {
  width: 14px;
  height: 14px;
  margin: -0.4em 0.5em 0;
  padding: 0.42em 0.5em;
  background: url(../../../images/core/icons/787878/move.svg) no-repeat 6px 7px;
}
a.tabledrag-handle:hover .handle,
a.tabledrag-handle:focus .handle {
  background-image: url(../../../images/core/icons/000000/move.svg);
}
.touchevents .draggable td {
  padding: 0 10px;
}
.touchevents .draggable .menu-item__link {
  display: inline-block;
  padding: 10px 0;
}
.touchevents a.tabledrag-handle {
  width: 40px;
  height: 44px;
}
.touchevents a.tabledrag-handle .handle {
  height: 21px;
  background-position: 40% 19px; /* LTR */
}
[dir="rtl"] .touch a.tabledrag-handle .handle {
  background-position: right 40% top 19px;
}
.touchevents .draggable.drag a.tabledrag-handle .handle {
  background-position: 50% -32px;
}
.tabledrag-toggle-weight-wrapper {
  text-align: right; /* LTR */
}
[dir="rtl"] .tabledrag-toggle-weight-wrapper {
  text-align: left;
}
.indentation {
  float: left; /* LTR */
  width: 20px;
  height: 1.7em;
  margin: -0.4em 0.2em -0.4em -0.4em; /* LTR */
  padding: 0.42em 0 0.42em 0.6em; /* LTR */
}
[dir="rtl"] .indentation {
  float: right;
  margin: -0.4em -0.4em -0.4em 0.2em;
  padding: 0.42em 0.6em 0.42em 0;
}
/**
 * @file
 * Table sort indicator.
 *
 * @see tablesort-indicator.html.twig
 */

.tablesort {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-size: 100%;
}
.tablesort--asc {
  background-image: url(../../../images/core/icons/787878/twistie-down.svg);
}
.tablesort--desc {
  background-image: url(../../../images/core/icons/787878/twistie-up.svg);
}

/**
 * @file
 * Visual styles for a nested tree child.
 */

div.tree-child {
  background: url(../../../images/core/tree.png) no-repeat 11px center; /* LTR */
}
div.tree-child-last {
  background: url(../../../images/core/tree-bottom.png) no-repeat 11px center; /* LTR */
}
[dir="rtl"] div.tree-child,
[dir="rtl"] div.tree-child-last {
  background-position: -65px center;
}
div.tree-child-horizontal {
  background: url(../../../images/core/tree.png) no-repeat -11px center;
}