/**
 * @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
 * 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;
  }



  
