// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

.gt-separated {
  list-style: none;
  padding: 0;
  margin: 0;

  &.dark {
    li:before {
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23727272' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>");
    }
  }

  li {
    display: inline-block;

    &:before {
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23DDDDDD' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>");
      background-position: center;
      content: "\00a0";
      margin: 0 6px 0 4px;
      padding: 0 3px 0 0;
    }

    &:first-child:before {
      background-image: none;
      content: "";
      margin: 0;
      padding: 0;
    }
  }
}

.breadcrumbs {
  padding: 0;
  margin: 8px 0 8px 0;
  white-space: nowrap;
  line-height: 1;

  .gt-separated .dark .hidden-xs li + li:before {
    color: var(--main-h-text);
  }

  li a {
    color: var(--main-hyperlinks-color);
  }

  @media screen and (max-width: 840px) {
    margin: 0 0 24px 0;
    overflow-x: hidden;
  }

  .self-crumb {
    color: var(--main-h-text);
  }

  .self-name {
    color: #555;
    display: none;
  }
}
