.ais-Breadcrumb-list,
.ais-CurrentRefinements-list,
.ais-HierarchicalMenu-list,
.ais-Hits-list,
.ais-Results-list,
.ais-InfiniteHits-list,
.ais-InfiniteResults-list,
.ais-Menu-list,
.ais-NumericMenu-list,
.ais-Pagination-list,
.ais-RatingMenu-list,
.ais-RefinementList-list,
.ais-ToggleRefinement-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ais-ClearRefinements-button,
.ais-CurrentRefinements-delete,
.ais-CurrentRefinements-reset,
.ais-HierarchicalMenu-showMore,
.ais-InfiniteHits-loadMore,
.ais-InfiniteResults-loadMore,
.ais-Menu-showMore,
.ais-RangeInput-submit,
.ais-RefinementList-showMore,
.ais-SearchBox-submit,
.ais-SearchBox-reset {
  padding: 0;
  overflow: visible;
  font: inherit;
  line-height: normal;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.ais-ClearRefinements-button::-moz-focus-inner,
.ais-CurrentRefinements-delete::-moz-focus-inner,
.ais-CurrentRefinements-reset::-moz-focus-inner,
.ais-HierarchicalMenu-showMore::-moz-focus-inner,
.ais-InfiniteHits-loadMore::-moz-focus-inner,
.ais-InfiniteResults-loadMore::-moz-focus-inner,
.ais-Menu-showMore::-moz-focus-inner,
.ais-RangeInput-submit::-moz-focus-inner,
.ais-RefinementList-showMore::-moz-focus-inner,
.ais-SearchBox-submit::-moz-focus-inner,
.ais-SearchBox-reset::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.ais-ClearRefinements-button[disabled],
.ais-CurrentRefinements-delete[disabled],
.ais-CurrentRefinements-reset[disabled],
.ais-HierarchicalMenu-showMore[disabled],
.ais-InfiniteHits-loadMore[disabled],
.ais-InfiniteResults-loadMore[disabled],
.ais-Menu-showMore[disabled],
.ais-RangeInput-submit[disabled],
.ais-RefinementList-showMore[disabled],
.ais-SearchBox-submit[disabled],
.ais-SearchBox-reset[disabled] {
  cursor: default;
}
.ais-Breadcrumb-list,
.ais-Breadcrumb-item,
.ais-Pagination-list,
.ais-RangeInput-form,
.ais-RatingMenu-link,
.ais-PoweredBy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.ais-HierarchicalMenu-list .ais-HierarchicalMenu-list {
  -webkit-margin-start: 1em;
          margin-inline-start: 1em;
}
.ais-PoweredBy-logo {
  display: block;
  width: 70px;
  height: auto;
  -webkit-margin-start: 0.3rem;
          margin-inline-start: 0.3rem;
}
.ais-RatingMenu-starIcon {
  display: block;
  height: 20px;
  position: relative;
  top: -1px;
  width: 15px;
  fill: #ffc168;
}
.ais-SearchBox-input::-ms-clear,
.ais-SearchBox-input::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}
.ais-SearchBox-input::-webkit-search-decoration,
.ais-SearchBox-input::-webkit-search-cancel-button,
.ais-SearchBox-input::-webkit-search-results-button,
.ais-SearchBox-input::-webkit-search-results-decoration {
  display: none;
}
.ais-RangeSlider .rheostat {
  overflow: visible;
  margin-top: 40px;
  margin-bottom: 40px;
}
.ais-RangeSlider .rheostat-background {
  height: 6px;
  top: 0px;
  width: 100%;
  position: relative;
  background-color: #ffffff;
  border: 1px solid #aaa;
  border-color: #878faf;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.ais-RangeSlider .rheostat-handle {
  -webkit-margin-start: -12px;
          margin-inline-start: -12px;
  top: -7px;
  border-color: #878faf;
}
.ais-RangeSlider .rheostat-progress {
  position: absolute;
  top: 1px;
  height: 4px;
  background-color: #495588;
}
.rheostat-handle {
  position: relative;
  z-index: 1;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 0;
  cursor: -webkit-grab;
  cursor: grab;
}
.rheostat-marker {
  -webkit-margin-start: -1px;
          margin-inline-start: -1px;
  position: absolute;
  width: 1px;
  height: 5px;
  background-color: #aaa;
}
.rheostat-marker--large {
  height: 9px;
}
.rheostat-value {
  -webkit-margin-start: 50%;
          margin-inline-start: 50%;
  padding-top: 15px;
  position: absolute;
  text-align: center;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.rheostat-tooltip {
  -webkit-margin-start: 50%;
          margin-inline-start: 50%;
  position: absolute;
  top: -22px;
  text-align: center;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
[class^='ais-'] {
  font-size: 1rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
a[class^='ais-'] {
  text-decoration: none;
}
.ais-Breadcrumb,
.ais-ClearRefinements,
.ais-CurrentRefinements,
.ais-HierarchicalMenu,
.ais-Hits,
.ais-Results,
.ais-HitsPerPage,
.ais-ResultsPerPage,
.ais-InfiniteHits,
.ais-InfiniteResults,
.ais-Menu,
.ais-MenuSelect,
.ais-NumericMenu,
.ais-NumericSelector,
.ais-Pagination,
.ais-Panel,
.ais-PoweredBy,
.ais-RangeInput,
.ais-RangeSlider,
.ais-RatingMenu,
.ais-RefinementList,
.ais-SearchBox,
.ais-SortBy,
.ais-Stats,
.ais-ToggleRefinement {
  color: #3a4570;
}
.ais-Breadcrumb-item--selected,
.ais-HierarchicalMenu-item--selected,
.ais-Menu-item--selected {
  font-weight: bold;
}
.ais-Breadcrumb-separator {
  margin: 0 0.3em;
  font-weight: normal;
}
.ais-Breadcrumb-link,
.ais-HierarchicalMenu-link,
.ais-Menu-link,
.ais-Pagination-link,
.ais-RatingMenu-link {
  color: #0096db;
  -webkit-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out;
}
.ais-Breadcrumb-link:hover,
.ais-Breadcrumb-link:focus,
.ais-HierarchicalMenu-link:hover,
.ais-HierarchicalMenu-link:focus,
.ais-Menu-link:hover,
.ais-Menu-link:focus,
.ais-Pagination-link:hover,
.ais-Pagination-link:focus,
.ais-RatingMenu-link:hover,
.ais-RatingMenu-link:focus {
  color: #0073a8;
}
.ais-ClearRefinements-button,
.ais-CurrentRefinements-reset,
.ais-HierarchicalMenu-showMore,
.ais-InfiniteHits-loadMore,
.ais-InfiniteResults-loadMore,
.ais-Menu-showMore,
.ais-RefinementList-showMore {
  padding: 0.3rem 0.5rem;
  font-size: 0.8rem;
  color: #fff;
  background-color: #0096db;
  border-radius: 0px;
  -webkit-transition: background-color 0.2s ease-out;
  transition: background-color 0.2s ease-out;
  outline-color: transparent;
}
.ais-ClearRefinements-button:hover,
.ais-ClearRefinements-button:focus,
.ais-CurrentRefinements-reset:hover,
.ais-CurrentRefinements-reset:focus,
.ais-HierarchicalMenu-showMore:hover,
.ais-HierarchicalMenu-showMore:focus,
.ais-InfiniteHits-loadMore:hover,
.ais-InfiniteHits-loadMore:focus,
.ais-InfiniteResults-loadMore:hover,
.ais-InfiniteResults-loadMore:focus,
.ais-Menu-showMore:hover,
.ais-Menu-showMore:focus,
.ais-RefinementList-showMore:hover,
.ais-RefinementList-showMore:focus {
  background-color: #0073a8;
}
.ais-ClearRefinements-button--disabled,
.ais-HierarchicalMenu-showMore--disabled,
.ais-InfiniteHits-loadMore--disabled,
.ais-InfiniteResults-loadMore--disabled,
.ais-Menu-showMore--disabled,
.ais-RefinementList-showMore--disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.ais-ClearRefinements-button--disabled:hover,
.ais-ClearRefinements-button--disabled:focus,
.ais-HierarchicalMenu-showMore--disabled:hover,
.ais-HierarchicalMenu-showMore--disabled:focus,
.ais-InfiniteHits-loadMore--disabled:hover,
.ais-InfiniteHits-loadMore--disabled:focus,
.ais-InfiniteResults-loadMore--disabled:hover,
.ais-InfiniteResults-loadMore--disabled:focus,
.ais-Menu-showMore--disabled:hover,
.ais-Menu-showMore--disabled:focus,
.ais-RefinementList-showMore--disabled:hover,
.ais-RefinementList-showMore--disabled:focus {
  background-color: #0096db;
}
.ais-CurrentRefinements {
  margin-top: -0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.ais-CurrentRefinements-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.ais-CurrentRefinements-item {
  -webkit-margin-end: 0.3rem;
          margin-inline-end: 0.3rem;
  margin-top: 0.3rem;
  padding: 0.3rem 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #495588;
  border-radius: 0px;
}
.ais-CurrentRefinements-category {
  -webkit-margin-start: 0.3em;
          margin-inline-start: 0.3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.ais-CurrentRefinements-delete {
  -webkit-margin-start: 0.3rem;
          margin-inline-start: 0.3rem;
}
.ais-CurrentRefinements-label,
.ais-CurrentRefinements-categoryLabel,
.ais-CurrentRefinements-delete {
  white-space: nowrap;
  font-size: 0.8rem;
  color: #fff;
}
.ais-CurrentRefinements-reset {
  margin-top: 0.3rem;
  white-space: nowrap;
}
.ais-CurrentRefinements-reset + .ais-CurrentRefinements-list {
  -webkit-margin-start: 0.3rem;
          margin-inline-start: 0.3rem;
}
.ais-HierarchicalMenu-link,
.ais-Menu-link {
  display: block;
  line-height: 1.5;
}
.ais-HierarchicalMenu-list,
.ais-Menu-list,
.ais-NumericMenu-list,
.ais-RatingMenu-list,
.ais-RefinementList-list {
  font-weight: normal;
  line-height: 1.5;
}
.ais-HierarchicalMenu-link:after {
  -webkit-margin-start: 0.3em;
          margin-inline-start: 0.3em;
  content: '';
  width: 10px;
  height: 10px;
  display: none;
  background-image: url('data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M7.33 24l-2.83-2.829 9.339-9.175-9.339-9.167 2.83-2.829 12.17 11.996z%27 fill%3D%22%233A4570%22 /%3E%3C/svg%3E');
  background-size: 100% 100%;
}
.ais-HierarchicalMenu-item--parent > .ais-HierarchicalMenu-link:after {
  display: inline-block;
}
.ais-HierarchicalMenu-item--selected > .ais-HierarchicalMenu-link:after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.ais-CurrentRefinements-count,
.ais-RatingMenu-count {
  font-size: 0.8rem;
}
.ais-CurrentRefinements-count:before,
.ais-RatingMenu-count:before {
  content: '(';
}
.ais-CurrentRefinements-count:after,
.ais-RatingMenu-count:after {
  content: ')';
}
.ais-HierarchicalMenu-count,
.ais-Menu-count,
.ais-RefinementList-count,
.ais-ToggleRefinement-count {
  padding: 0.1rem 0.4rem;
  font-size: 0.8rem;
  color: #3a4570;
  background-color: #dfe2ee;
  border-radius: 0px;
}
.ais-HierarchicalMenu-showMore,
.ais-Menu-showMore,
.ais-RefinementList-showMore {
  margin-top: 0.5rem;
}
.ais-Highlight-highlighted,
.ais-Snippet-highlighted {
  background-color: #ffc168;
}
.ais-InfiniteHits-list,
.ais-InfiniteResults-list,
.ais-Hits-list,
.ais-Results-list {
  margin-top: -1rem;
  -webkit-margin-start: -1rem;
          margin-inline-start: -1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.ais-Panel-body .ais-InfiniteHits-list,
.ais-Panel-body .ais-InfiniteResults-list,
.ais-Panel-body .ais-Hits-list,
.ais-Panel-body .ais-Results-list {
  margin: 0.5rem 0 0 -1rem;
}
.ais-InfiniteHits-item,
.ais-InfiniteResults-item,
.ais-Hits-item,
.ais-Results-item {
  margin-top: 1rem;
  -webkit-margin-start: 1rem;
          margin-inline-start: 1rem;
  padding: 1rem;
  width: calc(25% - 1rem);
}
.ais-Panel-body .ais-InfiniteHits-item,
.ais-Panel-body .ais-InfiniteResults-item,
.ais-Panel-body .ais-Hits-item,
.ais-Panel-body .ais-Results-item {
  margin: 0.5rem 0 0.5rem 1rem;
}
.ais-InfiniteHits-loadMore,
.ais-InfiniteResults-loadMore {
  margin-top: 1rem;
}
.ais-MenuSelect-select,
.ais-NumericSelector-select,
.ais-HitsPerPage-select,
.ais-ResultsPerPage-select,
.ais-SortBy-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-block: 0.3rem;
  padding-inline: 0.3rem 2rem;
  background-color: #fff;
  background-image: url('data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M0 7.33l2.829-2.83 9.175 9.339 9.167-9.339 2.829 2.83-11.996 12.17z%27 fill%3D%22%233A4570%22 /%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-size: 10px 10px;
  background-position: 92% 50%;
  border: 1px solid #c4c8d8;
  border-radius: 0px;
}
.ais-Panel-header {
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.8rem;
  font-weight: bold;
  text-transform: uppercase;
  border-bottom: 1px solid #c4c8d8;
}
.ais-Panel-footer {
  margin-top: 0.5rem;
  font-size: 0.8rem;
}
.ais-RangeInput-input {
  padding: 0 0.2rem;
  width: 5rem;
  height: 1.5rem;
  line-height: 1.5rem;
}
.ais-RangeInput-separator {
  margin: 0 0.3rem;
}
.ais-RangeInput-submit {
  -webkit-margin-start: 0.3rem;
          margin-inline-start: 0.3rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0 0.5rem;
  height: 1.5rem;
  line-height: 1.5rem;
  font-size: 0.8rem;
  color: #fff;
  background-color: #0096db;
  border: none;
  border-radius: 0px;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  outline-color: transparent;
}
.ais-RangeInput-submit:hover,
.ais-RangeInput-submit:focus {
  background-color: #0073a8;
}
.ais-RatingMenu-count {
  color: #3a4570;
}
.ais-Pagination-list {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.ais-Pagination-item + .ais-Pagination-item {
  -webkit-margin-start: 0.3rem;
          margin-inline-start: 0.3rem;
}
.ais-Pagination-link {
  padding: 0.3rem 0.6rem;
  display: block;
  border: 1px solid #c4c8d8;
  border-radius: 0px;
  -webkit-transition: background-color 0.2s ease-out;
  transition: background-color 0.2s ease-out;
}
.ais-Pagination-link:hover,
.ais-Pagination-link:focus {
  background-color: #e3e5ec;
}
.ais-Pagination-item--disabled .ais-Pagination-link {
  opacity: 0.6;
  cursor: not-allowed;
  color: #a5abc4;
}
.ais-Pagination-item--disabled .ais-Pagination-link:hover,
.ais-Pagination-item--disabled .ais-Pagination-link:focus {
  color: #a5abc4;
  background-color: #fff;
}
.ais-Pagination-item--selected .ais-Pagination-link {
  color: #fff;
  background-color: #0096db;
  border-color: #0096db;
}
.ais-Pagination-item--selected .ais-Pagination-link:hover,
.ais-Pagination-item--selected .ais-Pagination-link:focus {
  color: #fff;
}
.ais-PoweredBy-text,
.rheostat-tooltip,
.rheostat-value,
.ais-Stats-text {
  font-size: 0.8rem;
}
.ais-RangeSlider .rheostat-marker {
  background-color: #878faf;
}
.ais-Panel-body .ais-RangeSlider {
  margin: 2rem 0;
}
.ais-RatingMenu-item--disabled .ais-RatingMenu-count,
.ais-RatingMenu-item--disabled .ais-RatingMenu-label {
  color: #c4c8d8;
}
.ais-RatingMenu-item--selected {
  font-weight: bold;
}
.ais-RatingMenu-link {
  line-height: 1.5;
}
.ais-RatingMenu-link > * + * {
  -webkit-margin-start: 0.3rem;
          margin-inline-start: 0.3rem;
}
.ais-RatingMenu-item--disabled .ais-RatingMenu-starIcon {
  fill: #c4c8d8;
}
.ais-HierarchicalMenu-searchBox > *,
.ais-Menu-searchBox > *,
.ais-RefinementList-searchBox > * {
  margin-bottom: 0.5rem;
}
.ais-SearchBox-form {
  display: block;
  position: relative;
  width: 100%;
  height: var(--header-element-size);
}
.ais-SearchBox-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  position: relative;
  background-color: #fff;
  border: none;
  border-radius: 0px;
}
.ais-SearchBox-input::-webkit-input-placeholder {
  color: var(--gray-15);
}
.ais-SearchBox-input::-moz-placeholder {
  color: var(--gray-15);
}
.ais-SearchBox-input:-ms-input-placeholder {
  color: var(--gray-15);
}
.ais-SearchBox-input:-moz-placeholder {
  color: var(--gray-15);
}
.ais-SearchBox-submit,
.ais-SearchBox-reset {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  z-index: 100;
}
.ais-SearchBox-reset {
  -webkit-margin-start: 10px;
          margin-inline-start: 10px;
}
.ais-SearchBox-submitIcon path,
.ais-SearchBox-resetIcon path {
  fill: var(--gray-15);
}
.ais-SearchBox-submitIcon {
  width: 14px;
  height: 14px;
}
.ais-SearchBox-resetIcon {
  width: 12px;
  height: 12px;
}
.ais-SearchBox-loadingIcon {
  width: 16px;
  height: 16px;
}
.ais-Hits {
  position: absolute;
  left: 0;
  right: 0;
  background-color: #fff;
}
.ais-Hits-item {
  border-bottom: 0.75px solid var(--gray-45);
  margin: 0;
  padding: 5px 0;
  width: 100%;
}
.ais-Hits-item:first-of-type {
  border-top: 0.75px solid var(--gray-45);
}
.ais-Hits-item:last-of-type {
  border-top: 1px solid var(--gray-00);
}
.ais-Hits-list {
  margin: 0;
  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;
}
strong.ais-Highlight-highlighted {
  background-color: transparent;
}

.fcc_searchBar {
  border-bottom: 0.0625rem solid var(--gray-45);
  height: var(--header-sub-element-height);
  padding: 6px 15px;
  width: 100%;
}

@media (min-width: 980px) {
  .fcc_searchBar {
    border: 0;
    height: auto;
    max-width: 500px;
    padding: 0;
  }
}

.fcc_searchBar strong,
.fcc_searchBar a:hover {
  color: var(--gray-00);
}

.fcc_search_wrapper {
  position: relative;
}

.ais-SearchBox-loadingIndicator {
  display: none;
}

.fcc_searchBar .ais-SearchBox-form {
  -ms-flex-line-pack: center;
      align-content: center;
  background-color: var(--gray-75);
  display: grid;
  gap: 0.25em;
  grid-template-areas: 'submit input reset';
  grid-template-columns: 26px auto 36px;
  margin-bottom: 0;
}

.ais-SearchBox-input {
  grid-area: input;
  padding-block: 0;
  -webkit-padding-start: 5px;
          padding-inline-start: 5px;
  font-size: 18px;
  display: inline-block;
  height: var(--header-element-size);
  text-wrap: nowrap;
  text-overflow: ellipsis;
}

.ais-SearchBox-submit,
.ais-SearchBox-reset {
  height: var(--header-element-size);
  width: 26px;
  background-color: var(--gray-75);
}

.ais-SearchBox-submit {
  grid-area: submit;
  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;
}

.ais-SearchBox-reset {
  grid-area: reset;
  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;
}

.ais-SearchBox-form button:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

:is(.ais-SearchBox-form button:hover)
  :is(.ais-SearchBox-submitIcon, .ais-SearchBox-resetIcon)
  path {
  fill: var(--gray-00);
}

.fcc_searchBar .ais-SearchBox-input,
.fcc_searchBar .ais-Hits {
  z-index: 100;
  background-color: var(--gray-75);
  color: var(--gray-00);
}

/* hits */
.fcc_searchBar .ais-Highlight-highlighted {
  background-color: transparent;
  font-style: normal;
  color: white;
  font-weight: bold;
}

.ais-Highlight-nonHighlighted {
  font-weight: 300;
}

.fcc_hits_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.fcc_suggestion_item {
  display: block;
  padding: 5px;
  color: var(--gray-00) !important;
  text-decoration: none;
}

.fcc_suggestion_item [class^='ais-'] {
  font-size: 17px;
}

.fcc_suggestion_item:hover {
  cursor: pointer;
}

.no-hits-footer.fcc_suggestion_item:hover {
  cursor: default;
}

.ais-Hits-item {
  background-color: var(--gray-75);
}

.ais-Hits-item:not(:has(.no-hits-footer.fcc_suggestion_item)):hover {
  background-color: var(--blue-dark);
}

/* Hit selected with arrow keys or mouse */
.selected {
  background-color: var(--blue-dark);
}

/* Override for rule in global.css to prevent
multiple highlighted hits with the mouse
and arrow keys */
.fcc_suggestion_item:focus,
.fcc_suggestion_item:hover {
  background-color: transparent;
}

/* Dropdown footer */
.fcc_suggestion_footer {
  padding: 6.5px 8px 8px;
}

.fcc_suggestion_footer span[class='ais-Highlight-nonHighlighted'] {
  font-weight: bold;
}

.no-hits-footer {
  border-top: 0px;
  font-weight: 300;
}

@media (min-width: 980px) {
  .ais-SearchBox-input {
    width: 100%;
    max-width: 100%;
  }

  .fcc_searchBar .ais-Hits {
    top: auto;
    width: 100%;
    max-width: 100%;
    left: 0px;
  }
}

.cl-preview {
  --product-bg: #f6f3ea;
  --product-surface: #fffdf8;
  --product-surface-soft: #e9f5ef;
  --product-text: #13251f;
  --product-text-muted: #52645d;
  --product-primary: #0a6b50;
  --product-primary-hover: #064c39;
  --product-accent: #ffcc66;
  --product-success: #177353;
  --product-warning: #9a5b00;
  --product-error: #a1262d;
  --product-reward: #8b4bd6;
  --product-border: #c8d4ce;
  --product-focus: #1769e0;
  --product-space-1: 0.375rem;
  --product-space-2: 0.75rem;
  --product-space-3: 1rem;
  --product-space-4: 1.5rem;
  --product-space-5: 2.25rem;
  --product-space-6: 4rem;
  --product-radius-s: 0.7rem;
  --product-radius-m: 1.25rem;
  --product-radius-l: 2rem;
  --product-shadow: 0 18px 50px rgba(20, 42, 34, 0.1);
  --product-motion-duration: 180ms;
  --product-motion-easing: cubic-bezier(0.2, 0.8, 0.2, 1);
  min-height: 100vh;
  background: var(--product-bg);
  color: var(--product-text);
  font-family: Lato, system-ui, sans-serif;
  font-size: 18px;
  line-height: 1.55;
}
.cl-preview *,
.cl-preview *::before,
.cl-preview *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.cl-preview h1,
.cl-preview h2,
.cl-preview h3,
.cl-preview p {
  color: inherit;
}
.cl-preview h1 {
  font-size: clamp(2.45rem, 6vw, 5.5rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
  margin: 0 0 1.5rem;
}
.cl-preview h2 {
  font-size: clamp(1.9rem, 4vw, 3.25rem);
  line-height: 1.06;
  letter-spacing: -0.035em;
  margin: 0 0 1.4rem;
}
.cl-preview h3 {
  font-size: 1.25rem;
  line-height: 1.18;
  margin: 0.55rem 0;
}
.cl-preview button,
.cl-preview input,
.cl-preview textarea {
  font: inherit;
}
.cl-preview button {
  cursor: pointer;
}
.cl-preview :focus-visible {
  outline: 3px solid var(--product-focus);
  outline-offset: 3px;
}
.cl-skip {
  position: fixed;
  left: 1rem;
  top: -8rem;
  z-index: 999;
  background: #fff;
  color: #000;
  padding: 0.8rem 1rem;
}
.cl-skip:focus {
  top: 1rem;
}
.cl-header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  min-height: 72px;
  padding: 0.7rem clamp(1rem, 4vw, 4rem);
  background: rgba(246, 243, 234, 0.94);
  border-bottom: 1px solid rgba(19, 37, 31, 0.12);
  backdrop-filter: blur(12px);
}
.cl-wordmark {
  border: 0;
  background: none;
  color: var(--product-text);
  font-weight: 900;
  letter-spacing: -0.04em;
  justify-self: start;
  padding: 0.5rem;
}
.cl-wordmark span {
  display: block;
  color: var(--product-text-muted);
  font-weight: 600;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.cl-header nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.75rem;
}
.cl-header nav a {
  color: var(--product-text);
  font-weight: 700;
  text-decoration: none;
}
.cl-header > .cl-button {
  justify-self: end;
}
.cl-section {
  width: min(1180px, calc(100% - 2rem));
  margin-inline: auto;
  padding-block: clamp(4rem, 9vw, 8rem);
}
.cl-eyebrow {
  color: var(--product-primary);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 0.8rem;
}
.cl-lead {
  max-width: 720px;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  color: var(--product-text-muted);
}
.cl-muted {
  color: var(--product-text-muted);
  font-size: 0.92rem;
}
.cl-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.5rem;
}
.cl-actions--between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.cl-button {
  min-height: 48px;
  border: 2px solid transparent;
  border-radius: 999px;
  padding: 0.72rem 1.2rem;
  font-weight: 800;
  -webkit-transition:
    background var(--product-motion-duration),
    -webkit-transform var(--product-motion-duration) var(--product-motion-easing);
  transition:
    background var(--product-motion-duration),
    -webkit-transform var(--product-motion-duration) var(--product-motion-easing);
  transition:
    transform var(--product-motion-duration) var(--product-motion-easing),
    background var(--product-motion-duration);
  transition:
    transform var(--product-motion-duration) var(--product-motion-easing),
    background var(--product-motion-duration),
    -webkit-transform var(--product-motion-duration) var(--product-motion-easing);
}
.cl-button:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
.cl-button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
  -webkit-transform: none;
          transform: none;
}
.cl-button--primary {
  background: var(--product-primary);
  color: white;
}
.cl-button--primary:hover {
  background: var(--product-primary-hover);
}
.cl-button--secondary {
  background: transparent;
  border-color: var(--product-text);
  color: var(--product-text);
}
.cl-button--quiet {
  background: var(--product-text);
  color: white;
}
.cl-text-button,
.cl-back-home {
  min-height: 44px;
  border: 0;
  background: transparent;
  color: var(--product-primary);
  font-weight: 800;
  padding: 0.5rem;
}
.cl-full-button {
  width: 100%;
  margin-top: 1rem;
}
.cl-hero {
  min-height: calc(100vh - 72px);
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(2rem, 8vw, 7rem);
}
.cl-hero h1 em {
  color: var(--product-primary);
  font-style: normal;
}
.cl-proofline {
  max-width: 650px;
  margin-top: 2.2rem;
  color: var(--product-text-muted);
  font-size: 0.87rem;
}
.cl-proofline strong {
  color: var(--product-text);
}
.cl-hero__visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 460px;
  border-radius: 50% 42% 48% 45%;
  background: radial-gradient(
    circle at 35% 35%,
    #fff9d9,
    var(--product-accent)
  );
}
.cl-mission-mini {
  position: absolute;
  right: -2%;
  bottom: 3%;
  width: min(320px, 88%);
  background: var(--product-surface);
  border: 1px solid var(--product-border);
  border-radius: var(--product-radius-m);
  -webkit-box-shadow: var(--product-shadow);
          box-shadow: var(--product-shadow);
  padding: 1.2rem;
  display: grid;
  gap: 0.25rem;
}
.cl-mission-mini span,
.cl-card > span,
.cl-today-mission > span,
.cl-resource-links span {
  color: var(--product-primary);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.cl-mission-mini small {
  color: var(--product-text-muted);
}
.cl-progress {
  height: 9px;
  overflow: hidden;
  background: #dce5e0;
  border-radius: 999px;
}
.cl-progress span {
  display: block;
  height: 100%;
  background: var(--product-primary);
  border-radius: inherit;
  -webkit-transition: width 300ms var(--product-motion-easing);
  transition: width 300ms var(--product-motion-easing);
}
.cl-progress--mastery span {
  background: var(--product-reward);
}
.cl-companion {
  width: 185px;
  height: 170px;
  position: relative;
  display: grid;
  place-items: center;
  border: 8px solid var(--product-text);
  border-radius: 46% 46% 38% 38%;
  background: var(--product-surface);
  -webkit-box-shadow: 12px 14px 0 rgba(19, 37, 31, 0.13);
          box-shadow: 12px 14px 0 rgba(19, 37, 31, 0.13);
}
.cl-companion::after {
  content: '';
  position: absolute;
  width: 76%;
  height: 24px;
  bottom: -34px;
  background: var(--product-text);
  border-radius: 50%;
  opacity: 0.13;
}
.cl-companion__antenna {
  position: absolute;
  width: 8px;
  height: 34px;
  top: -38px;
  background: var(--product-text);
}
.cl-companion__antenna::after {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--product-primary);
  top: -10px;
  left: -5px;
}
.cl-companion__face {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 38px;
}
.cl-companion__face i {
  display: block;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: var(--product-text);
}
.cl-companion__state {
  position: absolute;
  bottom: 18px;
  font-size: 0.58rem;
  letter-spacing: 0.14em;
  font-weight: 900;
  color: var(--product-text-muted);
}
.cl-companion--celebration {
  -webkit-transform: rotate(-3deg);
          transform: rotate(-3deg);
  background: #fff2ce;
}
.cl-companion--success .cl-companion__face i,
.cl-companion--celebration .cl-companion__face i {
  height: 10px;
  border-radius: 50% 50% 0 0;
  background: var(--product-success);
}
.cl-companion--comeback {
  background: #eee4ff;
}
.cl-grid {
  display: grid;
  gap: 1rem;
}
.cl-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cl-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.cl-card {
  padding: 1.4rem;
  background: var(--product-surface);
  border: 1px solid var(--product-border);
  border-radius: var(--product-radius-m);
  -webkit-box-shadow: 0 5px 0 rgba(19, 37, 31, 0.05);
          box-shadow: 0 5px 0 rgba(19, 37, 31, 0.05);
}
.cl-step > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--product-text);
  color: white;
  font-weight: 900;
}
.cl-paths {
  border-block: 1px solid var(--product-border);
}
.cl-section-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
}
.cl-section-heading h2 {
  margin-bottom: 0;
  max-width: 760px;
}
.cl-track {
  min-height: 230px;
  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-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}
.cl-track.is-featured {
  background: var(--product-text);
  color: white;
}
.cl-track.is-featured > span {
  color: var(--product-accent);
}
.cl-practice {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4rem;
}
.cl-checklist {
  list-style: none;
  padding: 0;
}
.cl-checklist li {
  margin: 0.6rem 0;
}
.cl-checklist li::before {
  content: '✓';
  color: var(--product-success);
  font-weight: 900;
  margin-right: 0.65rem;
}
.cl-code {
  margin: 0;
  white-space: pre-wrap;
  background: #10241d;
  color: #eaf8f1;
  border-radius: var(--product-radius-m);
  padding: clamp(1.2rem, 4vw, 2.4rem);
  font-family: Hack, monospace;
  font-size: 0.9rem;
  line-height: 1.7;
  -webkit-box-shadow: var(--product-shadow);
          box-shadow: var(--product-shadow);
}
.cl-code span {
  color: var(--product-accent);
}
.cl-testimonials {
  border-top: 1px solid var(--product-border);
}
.cl-carousel-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.7rem;
}
.cl-carousel-controls button {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid var(--product-text);
  background: transparent;
}
.cl-story {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 2.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: var(--product-text);
  color: white;
  border-radius: var(--product-radius-l);
  padding: clamp(1.5rem, 5vw, 4rem);
}
.cl-story blockquote {
  margin: 0 0 1.3rem;
  font-size: clamp(1.1rem, 2.2vw, 1.55rem);
  line-height: 1.45;
}
.cl-story small {
  color: #bbccc5;
}
.cl-avatar {
  width: 150px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--product-accent);
  color: var(--product-text);
  font-size: 2rem;
  font-weight: 900;
}
.cl-company-proof {
  text-align: center;
  padding-top: 1rem;
}
.cl-company-proof > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem 2.8rem;
  margin: 1.5rem 0;
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  font-weight: 900;
}
.cl-company-proof small {
  color: var(--product-text-muted);
}
.cl-certifications {
  background: var(--product-surface-soft);
  border-radius: var(--product-radius-l);
  padding-inline: clamp(1.2rem, 5vw, 4rem);
}
.cl-cert-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.cl-cert-list > div {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  min-height: 70px;
  padding: 0.8rem 1rem;
  background: var(--product-surface);
  border-radius: var(--product-radius-s);
  border: 1px solid var(--product-border);
}
.cl-cert-list span {
  color: var(--product-primary);
  font-weight: 900;
}
.cl-cert-list small {
  color: var(--product-text-muted);
}
.cl-daily {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  background: var(--product-accent);
  border-radius: var(--product-radius-l);
  padding-inline: clamp(1.2rem, 5vw, 4rem);
}
.cl-course {
  min-height: 240px;
}
.cl-resources {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid var(--product-border);
}
.cl-resource-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.65rem;
}
.cl-resource-links span {
  padding: 0.7rem 0.9rem;
  background: var(--product-surface);
  border: 1px solid var(--product-border);
  border-radius: 999px;
}
.cl-faq {
  max-width: 900px;
}
.cl-faq details {
  border-top: 1px solid var(--product-border);
  padding: 1rem 0;
}
.cl-faq details:last-child {
  border-bottom: 1px solid var(--product-border);
}
.cl-faq summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  min-height: 48px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 800;
  cursor: pointer;
}
.cl-faq summary span {
  font-size: 1.6rem;
}
.cl-faq details[open] summary span {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.cl-faq details p {
  color: var(--product-text-muted);
  max-width: 760px;
}
.cl-footer {
  padding: 3rem max(1rem, calc((100vw - 1180px) / 2));
  background: var(--product-text);
  color: white;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.cl-footer strong {
  font-size: 1.4rem;
}
.cl-footer div:nth-child(2) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  -ms-flex-line-pack: start;
      align-content: start;
}
.cl-footer small {
  grid-column: 1 / -1;
  color: #bbccc5;
  border-top: 1px solid #41554e;
  padding-top: 1rem;
}
.cl-flow {
  min-height: 100vh;
  padding: 1rem;
  display: grid;
  place-items: center;
  position: relative;
  background:
    radial-gradient(circle at 15% 10%, #fff8d7, transparent 35%),
    var(--product-bg);
}
.cl-back-home {
  position: absolute;
  top: 1rem;
  left: 1rem;
}
.cl-flow-card {
  width: min(680px, 100%);
  background: var(--product-surface);
  border: 1px solid var(--product-border);
  border-radius: var(--product-radius-l);
  padding: clamp(1.4rem, 6vw, 3.5rem);
  -webkit-box-shadow: var(--product-shadow);
          box-shadow: var(--product-shadow);
}
.cl-flow-card > .cl-companion {
  width: 105px;
  height: 95px;
  border-width: 5px;
  float: right;
  margin: 0 0 1rem 1rem;
  -webkit-box-shadow: 7px 8px 0 rgba(19, 37, 31, 0.1);
          box-shadow: 7px 8px 0 rgba(19, 37, 31, 0.1);
}
.cl-flow-card > .cl-companion .cl-companion__face {
  gap: 20px;
}
.cl-flow-card > .cl-companion .cl-companion__face i {
  width: 12px;
  height: 12px;
}
.cl-flow-card > .cl-companion .cl-companion__state {
  display: none;
}
.cl-flow-card > .cl-companion .cl-companion__antenna {
  height: 22px;
  top: -27px;
}
.cl-flow-card h1 {
  font-size: clamp(2.4rem, 7vw, 4.3rem);
}
.cl-onboarding {
  display: block;
  padding-top: 2rem;
}
.cl-onboarding__top {
  width: min(680px, 100%);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cl-onboarding > .cl-progress {
  width: min(680px, 100%);
  margin: 0.7rem auto 2rem;
}
.cl-onboarding form {
  margin-inline: auto;
}
.cl-onboarding fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}
.cl-onboarding legend {
  font-size: clamp(1.7rem, 5vw, 2.7rem);
  line-height: 1.1;
  font-weight: 900;
  margin-bottom: 1.6rem;
}
.cl-choice {
  min-height: 58px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  margin: 0.6rem 0;
  padding: 0.7rem 1rem;
  border: 2px solid var(--product-border);
  border-radius: var(--product-radius-s);
  cursor: pointer;
}
.cl-choice:hover,
.cl-choice.is-selected {
  border-color: var(--product-primary);
  background: var(--product-surface-soft);
}
.cl-choice input {
  width: 20px;
  height: 20px;
  accent-color: var(--product-primary);
}
.cl-choice b {
  color: var(--product-primary);
  opacity: 0;
}
.cl-choice.is-selected b {
  opacity: 1;
}
.cl-ready dl {
  display: grid;
  gap: 0.4rem;
  margin: 2rem 0;
}
.cl-ready dl div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 0;
  border-bottom: 1px solid var(--product-border);
}
.cl-ready dt {
  color: var(--product-text-muted);
}
.cl-ready dd {
  margin: 0;
  font-weight: 900;
  text-align: right;
}
.cl-app {
  min-height: 100vh;
  padding-bottom: 86px;
  background: var(--product-bg);
}
.cl-app-header {
  min-height: 68px;
  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;
  gap: 1rem;
  padding: 0.7rem max(1rem, calc((100vw - 1080px) / 2));
  border-bottom: 1px solid var(--product-border);
  background: var(--product-surface);
}
.cl-app-header > span {
  color: var(--product-text-muted);
  font-size: 0.8rem;
}
.cl-avatar-button {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--product-text);
  color: white;
  border: 0;
  font-weight: 900;
}
.cl-app > main {
  width: min(1080px, calc(100% - 2rem));
  margin: 0 auto;
  padding: clamp(2rem, 6vw, 5rem) 0;
}
.cl-app h1 {
  font-size: clamp(2.5rem, 6vw, 4.7rem);
}
.cl-bottom-nav {
  position: fixed;
  z-index: 50;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: min(760px, 100%);
  min-height: 76px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  background: var(--product-surface);
  border: 1px solid var(--product-border);
  border-bottom: 0;
  border-radius: 1.2rem 1.2rem 0 0;
  -webkit-box-shadow: 0 -10px 30px rgba(19, 37, 31, 0.08);
          box-shadow: 0 -10px 30px rgba(19, 37, 31, 0.08);
}
.cl-bottom-nav button {
  position: relative;
  min-height: 70px;
  border: 0;
  background: transparent;
  color: var(--product-text-muted);
  font-size: 0.68rem;
  font-weight: 800;
}
.cl-bottom-nav button > span {
  display: block;
  font-size: 1.25rem;
}
.cl-bottom-nav button small {
  position: absolute;
  top: 2px;
  right: 2px;
  font-size: 0.48rem;
  background: #e7e0ef;
  padding: 0.1rem 0.2rem;
  border-radius: 0.2rem;
}
.cl-bottom-nav button.is-current {
  color: var(--product-primary);
  background: var(--product-surface-soft);
}
.cl-dashboard-title,
.cl-mission-detail,
.cl-lesson-header,
.cl-path-header {
  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;
  gap: 2rem;
  margin-bottom: 2rem;
}
.cl-dashboard-title .cl-companion,
.cl-mission-detail .cl-companion,
.cl-lesson-header .cl-companion {
  width: 105px;
  height: 95px;
  border-width: 5px;
  -webkit-box-shadow: 7px 8px 0 rgba(19, 37, 31, 0.1);
          box-shadow: 7px 8px 0 rgba(19, 37, 31, 0.1);
}
.cl-dashboard-title .cl-companion__face,
.cl-mission-detail .cl-companion__face,
.cl-lesson-header .cl-companion__face {
  gap: 20px;
}
.cl-dashboard-title .cl-companion__face i,
.cl-mission-detail .cl-companion__face i,
.cl-lesson-header .cl-companion__face i {
  width: 12px;
  height: 12px;
}
.cl-dashboard-title .cl-companion__state,
.cl-mission-detail .cl-companion__state,
.cl-lesson-header .cl-companion__state {
  display: none;
}
.cl-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.8rem;
  margin-bottom: 1rem;
}
.cl-stats > div {
  background: var(--product-surface);
  border: 1px solid var(--product-border);
  border-radius: var(--product-radius-s);
  padding: 1rem;
}
.cl-stats strong,
.cl-stats span {
  display: block;
}
.cl-stats span {
  color: var(--product-text-muted);
  font-size: 0.8rem;
}
.cl-today-mission {
  padding: clamp(1.4rem, 5vw, 3rem);
  color: white;
  background: var(--product-text);
  border-radius: var(--product-radius-l);
  margin-bottom: 1rem;
}
.cl-today-mission > span {
  color: var(--product-accent);
}
.cl-today-mission h2 {
  margin-top: 0.8rem;
  max-width: 680px;
}
.cl-today-mission .cl-progress {
  margin: 1.3rem 0;
  background: #466057;
}
.cl-today-mission .cl-progress span {
  background: var(--product-accent);
}
.cl-dashboard-secondary {
  margin: 1rem 0;
}
.cl-path-header > div:last-child {
  background: var(--product-surface);
  padding: 1rem 1.2rem;
  border-radius: var(--product-radius-s);
  text-align: right;
}
.cl-path-header strong,
.cl-path-header span {
  display: block;
}
.cl-path-header strong {
  font-size: 1.7rem;
}
.cl-path-header span {
  color: var(--product-text-muted);
  font-size: 0.75rem;
}
.cl-path-list {
  width: min(760px, 100%);
  margin-inline: auto;
}
.cl-node {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 1rem;
  min-height: 180px;
}
.cl-node__rail {
  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;
}
.cl-node__rail > span {
  z-index: 2;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 4px solid var(--product-text);
  border-radius: 40% 60% 46% 54%;
  background: var(--product-surface);
  font-weight: 900;
}
.cl-node__rail i {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 3px;
  background: var(--product-border);
}
.cl-node > div:last-child {
  padding: 0.2rem 0 2rem;
}
.cl-node h2 {
  font-size: 1.5rem;
  margin: 0.3rem 0;
}
.cl-node p {
  color: var(--product-text-muted);
  margin: 0.3rem 0 1rem;
}
.cl-node small {
  font-weight: 900;
  letter-spacing: 0.08em;
}
.cl-node--current .cl-node__rail > span {
  background: var(--product-primary);
  border-color: var(--product-primary);
  color: white;
  -webkit-box-shadow: 0 0 0 8px #cae7dc;
          box-shadow: 0 0 0 8px #cae7dc;
}
.cl-node--mastered .cl-node__rail > span {
  background: var(--product-reward);
  border-color: var(--product-reward);
  color: white;
}
.cl-node--completed .cl-node__rail > span {
  background: var(--product-success);
  border-color: var(--product-success);
  color: white;
}
.cl-node--locked {
  opacity: 0.66;
}
.cl-node--locked .cl-node__rail > span {
  border-style: dashed;
}
.cl-learn-list ul {
  -webkit-columns: 3;
     -moz-columns: 3;
          columns: 3;
}
.cl-steps-list {
  margin-top: 1rem;
}
.cl-steps-list > div {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  min-height: 56px;
  border-top: 1px solid var(--product-border);
}
.cl-steps-list > div span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--product-surface-soft);
  font-weight: 900;
}
.cl-steps-list > div small {
  color: var(--product-text-muted);
}
.cl-reward {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1rem;
  margin-top: 1rem;
  border-radius: var(--product-radius-s);
  background: #eee4ff;
}
.cl-reward strong {
  color: #65309f;
}
.cl-lesson-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.cl-lesson-grid details {
  margin-top: 1rem;
}
.cl-editor-lite {
  display: grid;
  gap: 0.8rem;
}
.cl-editor-lite label {
  font-weight: 900;
}
.cl-editor-lite textarea {
  width: 100%;
  min-height: 180px;
  resize: vertical;
  padding: 1rem;
  background: #10241d;
  color: #eaf8f1;
  border: 2px solid transparent;
  border-radius: var(--product-radius-s);
  font-family: Hack, monospace;
}
.cl-editor-lite textarea:focus {
  border-color: var(--product-focus);
  outline: 0;
}
.cl-preview-result {
  min-height: 90px;
  padding: 1rem;
  background: var(--product-surface-soft);
  border-radius: var(--product-radius-s);
}
.cl-preview-result span,
.cl-preview-result strong {
  display: block;
}
.cl-success {
  width: min(640px, 100%);
  margin-inline: auto;
  text-align: center;
}
.cl-success > .cl-companion {
  margin: 0 auto 3rem;
}
.cl-xp {
  display: block;
  color: var(--product-reward);
  font-size: 2rem;
  margin: 1rem;
}
.cl-success-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  text-align: left;
  margin: 2rem 0;
}
.cl-success-metrics > div {
  padding: 1rem;
  border: 1px solid var(--product-border);
  border-radius: var(--product-radius-s);
  background: var(--product-surface);
}
.cl-success-metrics span,
.cl-success-metrics strong {
  display: block;
  margin-bottom: 0.5rem;
}
.cl-success > .cl-button {
  display: block;
  width: 100%;
  margin: 0.7rem 0;
}
.cl-comeback {
  margin: 2rem auto;
}
.cl-comeback > .cl-card {
  margin: 1.5rem 0;
}
.cl-comeback > .cl-button {
  width: 100%;
  margin-top: 0.7rem;
}
@media (max-width: 860px) {
  .cl-header {
    grid-template-columns: 1fr auto;
  }
  .cl-header nav {
    display: none;
  }
  .cl-hero {
    grid-template-columns: 1fr;
    padding-top: 3rem;
  }
  .cl-hero__visual {
    min-height: 380px;
  }
  .cl-grid--4 {
    grid-template-columns: 1fr 1fr;
  }
  .cl-grid--3,
  .cl-practice,
  .cl-resources,
  .cl-lesson-grid {
    grid-template-columns: 1fr;
  }
  .cl-section-heading {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .cl-story {
    grid-template-columns: 1fr;
  }
  .cl-avatar {
    width: 90px;
  }
  .cl-cert-list {
    grid-template-columns: 1fr;
  }
  .cl-daily {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .cl-footer {
    grid-template-columns: 1fr;
  }
  .cl-stats {
    grid-template-columns: 1fr;
  }
  .cl-dashboard-secondary {
    grid-template-columns: 1fr;
  }
  .cl-learn-list ul {
    -webkit-columns: 1;
       -moz-columns: 1;
            columns: 1;
  }
}
@media (max-width: 520px) {
  .cl-preview {
    font-size: 16px;
  }
  .cl-header {
    min-height: 64px;
    padding: 0.5rem 0.7rem;
  }
  .cl-header .cl-button {
    padding-inline: 0.85rem;
  }
  .cl-section {
    width: min(100% - 1.2rem, 1180px);
    padding-block: 3.5rem;
  }
  .cl-hero {
    min-height: auto;
  }
  .cl-hero h1 {
    font-size: clamp(2.65rem, 14vw, 4rem);
  }
  .cl-hero__visual {
    min-height: 330px;
  }
  .cl-companion {
    width: 145px;
    height: 135px;
  }
  .cl-mission-mini {
    right: 1%;
  }
  .cl-grid--4 {
    grid-template-columns: 1fr;
  }
  .cl-actions .cl-button {
    width: 100%;
  }
  .cl-story {
    padding: 1.3rem;
  }
  .cl-carousel-controls {
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .cl-cert-list > div {
    grid-template-columns: 36px 1fr;
  }
  .cl-cert-list > div small {
    grid-column: 2;
  }
  .cl-flow {
    padding: 0.7rem;
    padding-top: 4.5rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .cl-flow-card {
    padding: 1.25rem;
  }
  .cl-flow-card > .cl-companion {
    float: none;
    margin: 0 auto 2rem;
  }
  .cl-onboarding {
    padding-top: 1rem;
  }
  .cl-onboarding form {
    margin-top: 1rem;
  }
  .cl-onboarding form > .cl-companion {
    display: none;
  }
  .cl-onboarding legend {
    font-size: 1.8rem;
  }
  .cl-onboarding .cl-actions .cl-button {
    width: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .cl-app > main {
    width: min(100% - 1rem, 1080px);
    padding-top: 1.5rem;
  }
  .cl-app-header > span {
    display: none;
  }
  .cl-bottom-nav button {
    font-size: 0.57rem;
  }
  .cl-bottom-nav button small {
    display: none;
  }
  .cl-dashboard-title,
  .cl-mission-detail,
  .cl-lesson-header,
  .cl-path-header {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .cl-dashboard-title .cl-companion,
  .cl-mission-detail .cl-companion,
  .cl-lesson-header .cl-companion {
    display: none;
  }
  .cl-path-header > div:last-child {
    display: none;
  }
  .cl-steps-list > div {
    grid-template-columns: 36px 1fr;
  }
  .cl-steps-list > div small {
    grid-column: 2;
  }
  .cl-success-metrics {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cl-preview *,
  .cl-preview *::before,
  .cl-preview *::after {
    scroll-behavior: auto !important;
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
  }
  .cl-button:hover,
  .cl-companion--celebration {
    -webkit-transform: none;
            transform: none;
  }
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-aria-container {
	position: absolute; /* try to hide from window but not from screen readers */
	left:-999em;
}
/**
 *
 * All animations must live in their own file
 * in the animations directory and be included
 * here.
 *
 */
/**
 * Styles shared by multiple animations
 */
/**
 * Dots
 */
@-webkit-keyframes scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; }
  45% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0.7; }
  80% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }
@keyframes scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; }
  45% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0.7; }
  80% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

.ball-pulse > div:nth-child(0) {
  -webkit-animation: scale 0.75s -0.36s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: scale 0.75s -0.36s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.ball-pulse > div:nth-child(1) {
  -webkit-animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.ball-pulse > div:nth-child(2) {
  -webkit-animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.ball-pulse > div:nth-child(3) {
  -webkit-animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.ball-pulse > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block; }

@-webkit-keyframes ball-pulse-sync {
  33% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  66% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes ball-pulse-sync {
  33% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  66% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.ball-pulse-sync > div:nth-child(0) {
  -webkit-animation: ball-pulse-sync 0.6s -0.21s infinite ease-in-out;
          animation: ball-pulse-sync 0.6s -0.21s infinite ease-in-out; }

.ball-pulse-sync > div:nth-child(1) {
  -webkit-animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out;
          animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out; }

.ball-pulse-sync > div:nth-child(2) {
  -webkit-animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out;
          animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out; }

.ball-pulse-sync > div:nth-child(3) {
  -webkit-animation: ball-pulse-sync 0.6s 0s infinite ease-in-out;
          animation: ball-pulse-sync 0.6s 0s infinite ease-in-out; }

.ball-pulse-sync > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block; }

@-webkit-keyframes ball-scale {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0; } }

@keyframes ball-scale {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0; } }

.ball-scale > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  height: 60px;
  width: 60px;
  -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
          animation: ball-scale 1s 0s ease-in-out infinite; }

@keyframes ball-scale {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0; } }

.ball-scale > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  height: 60px;
  width: 60px;
  -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
          animation: ball-scale 1s 0s ease-in-out infinite; }

.ball-scale-random {
  width: 37px;
  height: 40px; }
  .ball-scale-random > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    display: inline-block;
    height: 30px;
    width: 30px;
    -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
            animation: ball-scale 1s 0s ease-in-out infinite; }
    .ball-scale-random > div:nth-child(1) {
      margin-left: -7px;
      -webkit-animation: ball-scale 1s 0.2s ease-in-out infinite;
              animation: ball-scale 1s 0.2s ease-in-out infinite; }
    .ball-scale-random > div:nth-child(3) {
      margin-left: -2px;
      margin-top: 9px;
      -webkit-animation: ball-scale 1s 0.5s ease-in-out infinite;
              animation: ball-scale 1s 0.5s ease-in-out infinite; }

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.ball-rotate {
  position: relative; }
  .ball-rotate > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: relative; }
    .ball-rotate > div:first-child {
      -webkit-animation: rotate 1s 0s cubic-bezier(0.7, -0.13, 0.22, 0.86) infinite;
              animation: rotate 1s 0s cubic-bezier(0.7, -0.13, 0.22, 0.86) infinite; }
    .ball-rotate > div:before, .ball-rotate > div:after {
      background-color: #fff;
      width: 15px;
      height: 15px;
      border-radius: 100%;
      margin: 2px;
      content: "";
      position: absolute;
      opacity: 0.8; }
    .ball-rotate > div:before {
      top: 0px;
      left: -28px; }
    .ball-rotate > div:after {
      top: 0px;
      left: 25px; }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
            transform: rotate(0deg) scale(1); }
  50% {
    -webkit-transform: rotate(180deg) scale(0.6);
            transform: rotate(180deg) scale(0.6); }
  100% {
    -webkit-transform: rotate(360deg) scale(1);
            transform: rotate(360deg) scale(1); } }

.ball-clip-rotate > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  border: 2px solid #fff;
  border-bottom-color: transparent;
  height: 25px;
  width: 25px;
  background: transparent !important;
  display: inline-block;
  -webkit-animation: rotate 0.75s 0s linear infinite;
          animation: rotate 0.75s 0s linear infinite; }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
            transform: rotate(0deg) scale(1); }
  50% {
    -webkit-transform: rotate(180deg) scale(0.6);
            transform: rotate(180deg) scale(0.6); }
  100% {
    -webkit-transform: rotate(360deg) scale(1);
            transform: rotate(360deg) scale(1); } }

@keyframes scale {
  30% {
    -webkit-transform: scale(0.3);
            transform: scale(0.3); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.ball-clip-rotate-pulse {
  position: relative;
  -webkit-transform: translateY(-15px);
          transform: translateY(-15px); }
  .ball-clip-rotate-pulse > div {
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    top: 0px;
    left: 0px;
    border-radius: 100%; }
    .ball-clip-rotate-pulse > div:first-child {
      background: #fff;
      height: 16px;
      width: 16px;
      top: 7px;
      left: -7px;
      -webkit-animation: scale 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
              animation: scale 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite; }
    .ball-clip-rotate-pulse > div:last-child {
      position: absolute;
      border: 2px solid #fff;
      width: 30px;
      height: 30px;
      left: -16px;
      top: -2px;
      background: transparent;
      border: 2px solid;
      border-color: #fff transparent #fff transparent;
      -webkit-animation: rotate 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
              animation: rotate 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
      -webkit-animation-duration: 1s;
              animation-duration: 1s; }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
            transform: rotate(0deg) scale(1); }
  50% {
    -webkit-transform: rotate(180deg) scale(0.6);
            transform: rotate(180deg) scale(0.6); }
  100% {
    -webkit-transform: rotate(360deg) scale(1);
            transform: rotate(360deg) scale(1); } }

.ball-clip-rotate-multiple {
  position: relative; }
  .ball-clip-rotate-multiple > div {
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    left: -20px;
    top: -20px;
    border: 2px solid #fff;
    border-bottom-color: transparent;
    border-top-color: transparent;
    border-radius: 100%;
    height: 35px;
    width: 35px;
    -webkit-animation: rotate 1s 0s ease-in-out infinite;
            animation: rotate 1s 0s ease-in-out infinite; }
    .ball-clip-rotate-multiple > div:last-child {
      display: inline-block;
      top: -10px;
      left: -10px;
      width: 15px;
      height: 15px;
      -webkit-animation-duration: 0.5s;
              animation-duration: 0.5s;
      border-color: #fff transparent #fff transparent;
      -webkit-animation-direction: reverse;
              animation-direction: reverse; }

@-webkit-keyframes ball-scale-ripple {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 1; }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.7; }
  100% {
    opacity: 0.0; } }

@keyframes ball-scale-ripple {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 1; }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.7; }
  100% {
    opacity: 0.0; } }

.ball-scale-ripple > div {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  height: 50px;
  width: 50px;
  border-radius: 100%;
  border: 2px solid #fff;
  -webkit-animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
          animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8); }

@-webkit-keyframes ball-scale-ripple-multiple {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 1; }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.7; }
  100% {
    opacity: 0.0; } }

@keyframes ball-scale-ripple-multiple {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 1; }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.7; }
  100% {
    opacity: 0.0; } }

.ball-scale-ripple-multiple {
  position: relative;
  -webkit-transform: translateY(-25px);
          transform: translateY(-25px); }
  .ball-scale-ripple-multiple > div:nth-child(0) {
    -webkit-animation-delay: -0.8s;
            animation-delay: -0.8s; }
  .ball-scale-ripple-multiple > div:nth-child(1) {
    -webkit-animation-delay: -0.6s;
            animation-delay: -0.6s; }
  .ball-scale-ripple-multiple > div:nth-child(2) {
    -webkit-animation-delay: -0.4s;
            animation-delay: -0.4s; }
  .ball-scale-ripple-multiple > div:nth-child(3) {
    -webkit-animation-delay: -0.2s;
            animation-delay: -0.2s; }
  .ball-scale-ripple-multiple > div {
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    top: -2px;
    left: -26px;
    width: 50px;
    height: 50px;
    border-radius: 100%;
    border: 2px solid #fff;
    -webkit-animation: ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
            animation: ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8); }

@-webkit-keyframes ball-beat {
  50% {
    opacity: 0.2;
    -webkit-transform: scale(0.75);
            transform: scale(0.75); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes ball-beat {
  50% {
    opacity: 0.2;
    -webkit-transform: scale(0.75);
            transform: scale(0.75); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

.ball-beat > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  -webkit-animation: ball-beat 0.7s 0s infinite linear;
          animation: ball-beat 0.7s 0s infinite linear; }
  .ball-beat > div:nth-child(2n-1) {
    -webkit-animation-delay: -0.35s !important;
            animation-delay: -0.35s !important; }

@-webkit-keyframes ball-scale-multiple {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0; }
  5% {
    opacity: 1; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0; } }

@keyframes ball-scale-multiple {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0; }
  5% {
    opacity: 1; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0; } }

.ball-scale-multiple {
  position: relative;
  -webkit-transform: translateY(-30px);
          transform: translateY(-30px); }
  .ball-scale-multiple > div:nth-child(2) {
    -webkit-animation-delay: -0.4s;
            animation-delay: -0.4s; }
  .ball-scale-multiple > div:nth-child(3) {
    -webkit-animation-delay: -0.2s;
            animation-delay: -0.2s; }
  .ball-scale-multiple > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    left: -30px;
    top: 0px;
    opacity: 0;
    margin: 0;
    width: 60px;
    height: 60px;
    -webkit-animation: ball-scale-multiple 1s 0s linear infinite;
            animation: ball-scale-multiple 1s 0s linear infinite; }

@-webkit-keyframes ball-triangle-path-1 {
  33% {
    -webkit-transform: translate(25px, -50px);
            transform: translate(25px, -50px); }
  66% {
    -webkit-transform: translate(50px, 0px);
            transform: translate(50px, 0px); }
  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

@keyframes ball-triangle-path-1 {
  33% {
    -webkit-transform: translate(25px, -50px);
            transform: translate(25px, -50px); }
  66% {
    -webkit-transform: translate(50px, 0px);
            transform: translate(50px, 0px); }
  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

@-webkit-keyframes ball-triangle-path-2 {
  33% {
    -webkit-transform: translate(25px, 50px);
            transform: translate(25px, 50px); }
  66% {
    -webkit-transform: translate(-25px, 50px);
            transform: translate(-25px, 50px); }
  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

@keyframes ball-triangle-path-2 {
  33% {
    -webkit-transform: translate(25px, 50px);
            transform: translate(25px, 50px); }
  66% {
    -webkit-transform: translate(-25px, 50px);
            transform: translate(-25px, 50px); }
  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

@-webkit-keyframes ball-triangle-path-3 {
  33% {
    -webkit-transform: translate(-50px, 0px);
            transform: translate(-50px, 0px); }
  66% {
    -webkit-transform: translate(-25px, -50px);
            transform: translate(-25px, -50px); }
  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

@keyframes ball-triangle-path-3 {
  33% {
    -webkit-transform: translate(-50px, 0px);
            transform: translate(-50px, 0px); }
  66% {
    -webkit-transform: translate(-25px, -50px);
            transform: translate(-25px, -50px); }
  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

.ball-triangle-path {
  position: relative;
  -webkit-transform: translate(-29.994px, -37.50938px);
          transform: translate(-29.994px, -37.50938px); }
  .ball-triangle-path > div:nth-child(1) {
    -webkit-animation-name: ball-triangle-path-1;
            animation-name: ball-triangle-path-1;
    -webkit-animation-delay: 0;
            animation-delay: 0;
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }
  .ball-triangle-path > div:nth-child(2) {
    -webkit-animation-name: ball-triangle-path-2;
            animation-name: ball-triangle-path-2;
    -webkit-animation-delay: 0;
            animation-delay: 0;
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }
  .ball-triangle-path > div:nth-child(3) {
    -webkit-animation-name: ball-triangle-path-3;
            animation-name: ball-triangle-path-3;
    -webkit-animation-delay: 0;
            animation-delay: 0;
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }
  .ball-triangle-path > div {
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 100%;
    border: 1px solid #fff; }
    .ball-triangle-path > div:nth-of-type(1) {
      top: 50px; }
    .ball-triangle-path > div:nth-of-type(2) {
      left: 25px; }
    .ball-triangle-path > div:nth-of-type(3) {
      top: 50px;
      left: 50px; }

@-webkit-keyframes ball-pulse-rise-even {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  25% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  50% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  75% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes ball-pulse-rise-even {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  25% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  50% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  75% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes ball-pulse-rise-odd {
  0% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  25% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  75% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform: scale(0.75);
            transform: scale(0.75); } }

@keyframes ball-pulse-rise-odd {
  0% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  25% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  75% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform: scale(0.75);
            transform: scale(0.75); } }

.ball-pulse-rise > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-timing-function: cubic-bezier(0.15, 0.46, 0.9, 0.6);
          animation-timing-function: cubic-bezier(0.15, 0.46, 0.9, 0.6);
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-delay: 0;
          animation-delay: 0; }
  .ball-pulse-rise > div:nth-child(2n) {
    -webkit-animation-name: ball-pulse-rise-even;
            animation-name: ball-pulse-rise-even; }
  .ball-pulse-rise > div:nth-child(2n-1) {
    -webkit-animation-name: ball-pulse-rise-odd;
            animation-name: ball-pulse-rise-odd; }

@-webkit-keyframes ball-grid-beat {
  50% {
    opacity: 0.7; }
  100% {
    opacity: 1; } }

@keyframes ball-grid-beat {
  50% {
    opacity: 0.7; }
  100% {
    opacity: 1; } }

.ball-grid-beat {
  width: 57px; }
  .ball-grid-beat > div:nth-child(1) {
    -webkit-animation-delay: 0.44s;
            animation-delay: 0.44s;
    -webkit-animation-duration: 1.27s;
            animation-duration: 1.27s; }
  .ball-grid-beat > div:nth-child(2) {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
    -webkit-animation-duration: 1.52s;
            animation-duration: 1.52s; }
  .ball-grid-beat > div:nth-child(3) {
    -webkit-animation-delay: 0.14s;
            animation-delay: 0.14s;
    -webkit-animation-duration: 0.61s;
            animation-duration: 0.61s; }
  .ball-grid-beat > div:nth-child(4) {
    -webkit-animation-delay: 0.15s;
            animation-delay: 0.15s;
    -webkit-animation-duration: 0.82s;
            animation-duration: 0.82s; }
  .ball-grid-beat > div:nth-child(5) {
    -webkit-animation-delay: -0.01s;
            animation-delay: -0.01s;
    -webkit-animation-duration: 1.24s;
            animation-duration: 1.24s; }
  .ball-grid-beat > div:nth-child(6) {
    -webkit-animation-delay: -0.07s;
            animation-delay: -0.07s;
    -webkit-animation-duration: 1.35s;
            animation-duration: 1.35s; }
  .ball-grid-beat > div:nth-child(7) {
    -webkit-animation-delay: 0.29s;
            animation-delay: 0.29s;
    -webkit-animation-duration: 1.44s;
            animation-duration: 1.44s; }
  .ball-grid-beat > div:nth-child(8) {
    -webkit-animation-delay: 0.63s;
            animation-delay: 0.63s;
    -webkit-animation-duration: 1.19s;
            animation-duration: 1.19s; }
  .ball-grid-beat > div:nth-child(9) {
    -webkit-animation-delay: -0.18s;
            animation-delay: -0.18s;
    -webkit-animation-duration: 1.48s;
            animation-duration: 1.48s; }
  .ball-grid-beat > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    display: inline-block;
    float: left;
    -webkit-animation-name: ball-grid-beat;
            animation-name: ball-grid-beat;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-delay: 0;
            animation-delay: 0; }

@-webkit-keyframes ball-grid-pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

@keyframes ball-grid-pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

.ball-grid-pulse {
  width: 57px; }
  .ball-grid-pulse > div:nth-child(1) {
    -webkit-animation-delay: 0.58s;
            animation-delay: 0.58s;
    -webkit-animation-duration: 0.9s;
            animation-duration: 0.9s; }
  .ball-grid-pulse > div:nth-child(2) {
    -webkit-animation-delay: 0.01s;
            animation-delay: 0.01s;
    -webkit-animation-duration: 0.94s;
            animation-duration: 0.94s; }
  .ball-grid-pulse > div:nth-child(3) {
    -webkit-animation-delay: 0.25s;
            animation-delay: 0.25s;
    -webkit-animation-duration: 1.43s;
            animation-duration: 1.43s; }
  .ball-grid-pulse > div:nth-child(4) {
    -webkit-animation-delay: -0.03s;
            animation-delay: -0.03s;
    -webkit-animation-duration: 0.74s;
            animation-duration: 0.74s; }
  .ball-grid-pulse > div:nth-child(5) {
    -webkit-animation-delay: 0.21s;
            animation-delay: 0.21s;
    -webkit-animation-duration: 0.68s;
            animation-duration: 0.68s; }
  .ball-grid-pulse > div:nth-child(6) {
    -webkit-animation-delay: 0.25s;
            animation-delay: 0.25s;
    -webkit-animation-duration: 1.17s;
            animation-duration: 1.17s; }
  .ball-grid-pulse > div:nth-child(7) {
    -webkit-animation-delay: 0.46s;
            animation-delay: 0.46s;
    -webkit-animation-duration: 1.41s;
            animation-duration: 1.41s; }
  .ball-grid-pulse > div:nth-child(8) {
    -webkit-animation-delay: 0.02s;
            animation-delay: 0.02s;
    -webkit-animation-duration: 1.56s;
            animation-duration: 1.56s; }
  .ball-grid-pulse > div:nth-child(9) {
    -webkit-animation-delay: 0.13s;
            animation-delay: 0.13s;
    -webkit-animation-duration: 0.78s;
            animation-duration: 0.78s; }
  .ball-grid-pulse > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    display: inline-block;
    float: left;
    -webkit-animation-name: ball-grid-pulse;
            animation-name: ball-grid-pulse;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-delay: 0;
            animation-delay: 0; }

@-webkit-keyframes ball-spin-fade-loader {
  50% {
    opacity: 0.3;
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes ball-spin-fade-loader {
  50% {
    opacity: 0.3;
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

.ball-spin-fade-loader {
  position: relative;
  top: -10px;
  left: -10px; }
  .ball-spin-fade-loader > div:nth-child(1) {
    top: 25px;
    left: 0;
    -webkit-animation: ball-spin-fade-loader 1s -0.96s infinite linear;
            animation: ball-spin-fade-loader 1s -0.96s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(2) {
    top: 17.04545px;
    left: 17.04545px;
    -webkit-animation: ball-spin-fade-loader 1s -0.84s infinite linear;
            animation: ball-spin-fade-loader 1s -0.84s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(3) {
    top: 0;
    left: 25px;
    -webkit-animation: ball-spin-fade-loader 1s -0.72s infinite linear;
            animation: ball-spin-fade-loader 1s -0.72s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(4) {
    top: -17.04545px;
    left: 17.04545px;
    -webkit-animation: ball-spin-fade-loader 1s -0.6s infinite linear;
            animation: ball-spin-fade-loader 1s -0.6s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(5) {
    top: -25px;
    left: 0;
    -webkit-animation: ball-spin-fade-loader 1s -0.48s infinite linear;
            animation: ball-spin-fade-loader 1s -0.48s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(6) {
    top: -17.04545px;
    left: -17.04545px;
    -webkit-animation: ball-spin-fade-loader 1s -0.36s infinite linear;
            animation: ball-spin-fade-loader 1s -0.36s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(7) {
    top: 0;
    left: -25px;
    -webkit-animation: ball-spin-fade-loader 1s -0.24s infinite linear;
            animation: ball-spin-fade-loader 1s -0.24s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(8) {
    top: 17.04545px;
    left: -17.04545px;
    -webkit-animation: ball-spin-fade-loader 1s -0.12s infinite linear;
            animation: ball-spin-fade-loader 1s -0.12s infinite linear; }
  .ball-spin-fade-loader > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute; }

@-webkit-keyframes ball-spin-loader {
  75% {
    opacity: 0.2; }
  100% {
    opacity: 1; } }

@keyframes ball-spin-loader {
  75% {
    opacity: 0.2; }
  100% {
    opacity: 1; } }

.ball-spin-loader {
  position: relative; }
  .ball-spin-loader > span:nth-child(1) {
    top: 45px;
    left: 0;
    -webkit-animation: ball-spin-loader 2s 0.9s infinite linear;
            animation: ball-spin-loader 2s 0.9s infinite linear; }
  .ball-spin-loader > span:nth-child(2) {
    top: 30.68182px;
    left: 30.68182px;
    -webkit-animation: ball-spin-loader 2s 1.8s infinite linear;
            animation: ball-spin-loader 2s 1.8s infinite linear; }
  .ball-spin-loader > span:nth-child(3) {
    top: 0;
    left: 45px;
    -webkit-animation: ball-spin-loader 2s 2.7s infinite linear;
            animation: ball-spin-loader 2s 2.7s infinite linear; }
  .ball-spin-loader > span:nth-child(4) {
    top: -30.68182px;
    left: 30.68182px;
    -webkit-animation: ball-spin-loader 2s 3.6s infinite linear;
            animation: ball-spin-loader 2s 3.6s infinite linear; }
  .ball-spin-loader > span:nth-child(5) {
    top: -45px;
    left: 0;
    -webkit-animation: ball-spin-loader 2s 4.5s infinite linear;
            animation: ball-spin-loader 2s 4.5s infinite linear; }
  .ball-spin-loader > span:nth-child(6) {
    top: -30.68182px;
    left: -30.68182px;
    -webkit-animation: ball-spin-loader 2s 5.4s infinite linear;
            animation: ball-spin-loader 2s 5.4s infinite linear; }
  .ball-spin-loader > span:nth-child(7) {
    top: 0;
    left: -45px;
    -webkit-animation: ball-spin-loader 2s 6.3s infinite linear;
            animation: ball-spin-loader 2s 6.3s infinite linear; }
  .ball-spin-loader > span:nth-child(8) {
    top: 30.68182px;
    left: -30.68182px;
    -webkit-animation: ball-spin-loader 2s 7.2s infinite linear;
            animation: ball-spin-loader 2s 7.2s infinite linear; }
  .ball-spin-loader > div {
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    background: green; }

@-webkit-keyframes ball-zig {
  33% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  66% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@keyframes ball-zig {
  33% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  66% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@-webkit-keyframes ball-zag {
  33% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  66% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@keyframes ball-zag {
  33% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  66% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

.ball-zig-zag {
  position: relative;
  -webkit-transform: translate(-15px, -15px);
          transform: translate(-15px, -15px); }
  .ball-zig-zag > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    margin-left: 15px;
    top: 4px;
    left: -7px; }
    .ball-zig-zag > div:first-child {
      -webkit-animation: ball-zig 0.7s 0s infinite linear;
              animation: ball-zig 0.7s 0s infinite linear; }
    .ball-zig-zag > div:last-child {
      -webkit-animation: ball-zag 0.7s 0s infinite linear;
              animation: ball-zag 0.7s 0s infinite linear; }

@-webkit-keyframes ball-zig-deflect {
  17% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  34% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  50% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  67% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  84% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@keyframes ball-zig-deflect {
  17% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  34% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  50% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  67% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  84% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@-webkit-keyframes ball-zag-deflect {
  17% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  34% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  50% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  67% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  84% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@keyframes ball-zag-deflect {
  17% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  34% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  50% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  67% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  84% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

.ball-zig-zag-deflect {
  position: relative;
  -webkit-transform: translate(-15px, -15px);
          transform: translate(-15px, -15px); }
  .ball-zig-zag-deflect > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    margin-left: 15px;
    top: 4px;
    left: -7px; }
    .ball-zig-zag-deflect > div:first-child {
      -webkit-animation: ball-zig-deflect 1.5s 0s infinite linear;
              animation: ball-zig-deflect 1.5s 0s infinite linear; }
    .ball-zig-zag-deflect > div:last-child {
      -webkit-animation: ball-zag-deflect 1.5s 0s infinite linear;
              animation: ball-zag-deflect 1.5s 0s infinite linear; }

/**
 * Lines
 */
@-webkit-keyframes line-scale {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
            transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }
@keyframes line-scale {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
            transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }

.line-scale > div:nth-child(1) {
  -webkit-animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(2) {
  -webkit-animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(3) {
  -webkit-animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(4) {
  -webkit-animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(5) {
  -webkit-animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block; }

@-webkit-keyframes line-scale-party {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes line-scale-party {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.line-scale-party > div:nth-child(1) {
  -webkit-animation-delay: -0.09s;
          animation-delay: -0.09s;
  -webkit-animation-duration: 0.83s;
          animation-duration: 0.83s; }

.line-scale-party > div:nth-child(2) {
  -webkit-animation-delay: 0.33s;
          animation-delay: 0.33s;
  -webkit-animation-duration: 0.64s;
          animation-duration: 0.64s; }

.line-scale-party > div:nth-child(3) {
  -webkit-animation-delay: 0.32s;
          animation-delay: 0.32s;
  -webkit-animation-duration: 0.39s;
          animation-duration: 0.39s; }

.line-scale-party > div:nth-child(4) {
  -webkit-animation-delay: 0.47s;
          animation-delay: 0.47s;
  -webkit-animation-duration: 0.52s;
          animation-duration: 0.52s; }

.line-scale-party > div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  -webkit-animation-name: line-scale-party;
          animation-name: line-scale-party;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-delay: 0;
          animation-delay: 0; }

@-webkit-keyframes line-scale-pulse-out {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
            transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }

@keyframes line-scale-pulse-out {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
            transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }

.line-scale-pulse-out > div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  -webkit-animation: line-scale-pulse-out 0.9s -0.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85);
          animation: line-scale-pulse-out 0.9s -0.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85); }
  .line-scale-pulse-out > div:nth-child(2), .line-scale-pulse-out > div:nth-child(4) {
    -webkit-animation-delay: -0.4s !important;
            animation-delay: -0.4s !important; }
  .line-scale-pulse-out > div:nth-child(1), .line-scale-pulse-out > div:nth-child(5) {
    -webkit-animation-delay: -0.2s !important;
            animation-delay: -0.2s !important; }

@-webkit-keyframes line-scale-pulse-out-rapid {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  80% {
    -webkit-transform: scaley(0.3);
            transform: scaley(0.3); }
  90% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }

@keyframes line-scale-pulse-out-rapid {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  80% {
    -webkit-transform: scaley(0.3);
            transform: scaley(0.3); }
  90% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }

.line-scale-pulse-out-rapid > div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  -webkit-animation: line-scale-pulse-out-rapid 0.9s -0.5s infinite cubic-bezier(0.11, 0.49, 0.38, 0.78);
          animation: line-scale-pulse-out-rapid 0.9s -0.5s infinite cubic-bezier(0.11, 0.49, 0.38, 0.78); }
  .line-scale-pulse-out-rapid > div:nth-child(2), .line-scale-pulse-out-rapid > div:nth-child(4) {
    -webkit-animation-delay: -0.25s !important;
            animation-delay: -0.25s !important; }
  .line-scale-pulse-out-rapid > div:nth-child(1), .line-scale-pulse-out-rapid > div:nth-child(5) {
    -webkit-animation-delay: 0s !important;
            animation-delay: 0s !important; }

@-webkit-keyframes line-spin-fade-loader {
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

@keyframes line-spin-fade-loader {
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

.line-spin-fade-loader {
  position: relative;
  top: -10px;
  left: -4px; }
  .line-spin-fade-loader > div:nth-child(1) {
    top: 20px;
    left: 0;
    -webkit-animation: line-spin-fade-loader 1.2s -0.84s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.84s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(2) {
    top: 13.63636px;
    left: 13.63636px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-animation: line-spin-fade-loader 1.2s -0.72s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.72s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(3) {
    top: 0;
    left: 20px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-animation: line-spin-fade-loader 1.2s -0.6s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.6s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(4) {
    top: -13.63636px;
    left: 13.63636px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-animation: line-spin-fade-loader 1.2s -0.48s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.48s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(5) {
    top: -20px;
    left: 0;
    -webkit-animation: line-spin-fade-loader 1.2s -0.36s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.36s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(6) {
    top: -13.63636px;
    left: -13.63636px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-animation: line-spin-fade-loader 1.2s -0.24s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.24s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(7) {
    top: 0;
    left: -20px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-animation: line-spin-fade-loader 1.2s -0.12s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.12s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(8) {
    top: 13.63636px;
    left: -13.63636px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out; }
  .line-spin-fade-loader > div {
    background-color: #fff;
    width: 4px;
    height: 35px;
    border-radius: 2px;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    width: 5px;
    height: 15px; }

/**
 * Misc
 */
@-webkit-keyframes triangle-skew-spin {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
            transform: perspective(100px) rotateX(180deg) rotateY(0); }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
            transform: perspective(100px) rotateX(180deg) rotateY(180deg); }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
            transform: perspective(100px) rotateX(0) rotateY(180deg); }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
            transform: perspective(100px) rotateX(0) rotateY(0); } }
@keyframes triangle-skew-spin {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
            transform: perspective(100px) rotateX(180deg) rotateY(0); }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
            transform: perspective(100px) rotateX(180deg) rotateY(180deg); }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
            transform: perspective(100px) rotateX(0) rotateY(180deg); }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
            transform: perspective(100px) rotateX(0) rotateY(0); } }

.triangle-skew-spin > div {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 20px solid #fff;
  -webkit-animation: triangle-skew-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
          animation: triangle-skew-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite; }

@-webkit-keyframes square-spin {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
            transform: perspective(100px) rotateX(180deg) rotateY(0); }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
            transform: perspective(100px) rotateX(180deg) rotateY(180deg); }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
            transform: perspective(100px) rotateX(0) rotateY(180deg); }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
            transform: perspective(100px) rotateX(0) rotateY(0); } }

@keyframes square-spin {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
            transform: perspective(100px) rotateX(180deg) rotateY(0); }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
            transform: perspective(100px) rotateX(180deg) rotateY(180deg); }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
            transform: perspective(100px) rotateX(0) rotateY(180deg); }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
            transform: perspective(100px) rotateX(0) rotateY(0); } }

.square-spin > div {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  width: 50px;
  height: 50px;
  background: #fff;
  border: 1px solid red;
  -webkit-animation: square-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
          animation: square-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite; }

@-webkit-keyframes rotate_pacman_half_up {
  0% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); }
  50% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); }
  100% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); } }

@keyframes rotate_pacman_half_up {
  0% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); }
  50% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); }
  100% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); } }

@-webkit-keyframes rotate_pacman_half_down {
  0% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); } }

@keyframes rotate_pacman_half_down {
  0% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); } }

@-webkit-keyframes pacman-balls {
  75% {
    opacity: 0.7; }
  100% {
    -webkit-transform: translate(-100px, -6.25px);
            transform: translate(-100px, -6.25px); } }

@keyframes pacman-balls {
  75% {
    opacity: 0.7; }
  100% {
    -webkit-transform: translate(-100px, -6.25px);
            transform: translate(-100px, -6.25px); } }

.pacman {
  position: relative; }
  .pacman > div:nth-child(2) {
    -webkit-animation: pacman-balls 1s -0.99s infinite linear;
            animation: pacman-balls 1s -0.99s infinite linear; }
  .pacman > div:nth-child(3) {
    -webkit-animation: pacman-balls 1s -0.66s infinite linear;
            animation: pacman-balls 1s -0.66s infinite linear; }
  .pacman > div:nth-child(4) {
    -webkit-animation: pacman-balls 1s -0.33s infinite linear;
            animation: pacman-balls 1s -0.33s infinite linear; }
  .pacman > div:nth-child(5) {
    -webkit-animation: pacman-balls 1s 0s infinite linear;
            animation: pacman-balls 1s 0s infinite linear; }
  .pacman > div:first-of-type {
    width: 0px;
    height: 0px;
    border-right: 25px solid transparent;
    border-top: 25px solid #fff;
    border-left: 25px solid #fff;
    border-bottom: 25px solid #fff;
    border-radius: 25px;
    -webkit-animation: rotate_pacman_half_up 0.5s 0s infinite;
            animation: rotate_pacman_half_up 0.5s 0s infinite;
    position: relative;
    left: -30px; }
  .pacman > div:nth-child(2) {
    width: 0px;
    height: 0px;
    border-right: 25px solid transparent;
    border-top: 25px solid #fff;
    border-left: 25px solid #fff;
    border-bottom: 25px solid #fff;
    border-radius: 25px;
    -webkit-animation: rotate_pacman_half_down 0.5s 0s infinite;
            animation: rotate_pacman_half_down 0.5s 0s infinite;
    margin-top: -50px;
    position: relative;
    left: -30px; }
  .pacman > div:nth-child(3),
  .pacman > div:nth-child(4),
  .pacman > div:nth-child(5),
  .pacman > div:nth-child(6) {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    width: 10px;
    height: 10px;
    position: absolute;
    -webkit-transform: translate(0, -6.25px);
            transform: translate(0, -6.25px);
    top: 25px;
    left: 70px; }

@-webkit-keyframes cube-transition {
  25% {
    -webkit-transform: translateX(50px) scale(0.5) rotate(-90deg);
            transform: translateX(50px) scale(0.5) rotate(-90deg); }
  50% {
    -webkit-transform: translate(50px, 50px) rotate(-180deg);
            transform: translate(50px, 50px) rotate(-180deg); }
  75% {
    -webkit-transform: translateY(50px) scale(0.5) rotate(-270deg);
            transform: translateY(50px) scale(0.5) rotate(-270deg); }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg); } }

@keyframes cube-transition {
  25% {
    -webkit-transform: translateX(50px) scale(0.5) rotate(-90deg);
            transform: translateX(50px) scale(0.5) rotate(-90deg); }
  50% {
    -webkit-transform: translate(50px, 50px) rotate(-180deg);
            transform: translate(50px, 50px) rotate(-180deg); }
  75% {
    -webkit-transform: translateY(50px) scale(0.5) rotate(-270deg);
            transform: translateY(50px) scale(0.5) rotate(-270deg); }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg); } }

.cube-transition {
  position: relative;
  -webkit-transform: translate(-25px, -25px);
          transform: translate(-25px, -25px); }
  .cube-transition > div {
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    width: 10px;
    height: 10px;
    position: absolute;
    top: -5px;
    left: -5px;
    background-color: #fff;
    -webkit-animation: cube-transition 1.6s 0s infinite ease-in-out;
            animation: cube-transition 1.6s 0s infinite ease-in-out; }
    .cube-transition > div:last-child {
      -webkit-animation-delay: -0.8s;
              animation-delay: -0.8s; }

@-webkit-keyframes spin-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spin-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.semi-circle-spin {
  position: relative;
  width: 35px;
  height: 35px;
  overflow: hidden; }
  .semi-circle-spin > div {
    position: absolute;
    border-width: 0px;
    border-radius: 100%;
    -webkit-animation: spin-rotate 0.6s 0s infinite linear;
            animation: spin-rotate 0.6s 0s infinite linear;
    background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(70%, transparent), color-stop(30%, #fff), to(#fff));
    background-image: linear-gradient(transparent 0%, transparent 70%, #fff 30%, #fff 100%);
    width: 100%;
    height: 100%; }

@-webkit-keyframes bar-progress {
  0% {
    -webkit-transform: scaleY(20%);
            transform: scaleY(20%);
    opacity: 1; }
  25% {
    -webkit-transform: translateX(6%) scaleY(10%);
            transform: translateX(6%) scaleY(10%);
    opacity: 0.7; }
  50% {
    -webkit-transform: translateX(20%) scaleY(20%);
            transform: translateX(20%) scaleY(20%);
    opacity: 1; }
  75% {
    -webkit-transform: translateX(6%) scaleY(10%);
            transform: translateX(6%) scaleY(10%);
    opacity: 0.7; }
  100% {
    -webkit-transform: scaleY(20%);
            transform: scaleY(20%);
    opacity: 1; } }

@keyframes bar-progress {
  0% {
    -webkit-transform: scaleY(20%);
            transform: scaleY(20%);
    opacity: 1; }
  25% {
    -webkit-transform: translateX(6%) scaleY(10%);
            transform: translateX(6%) scaleY(10%);
    opacity: 0.7; }
  50% {
    -webkit-transform: translateX(20%) scaleY(20%);
            transform: translateX(20%) scaleY(20%);
    opacity: 1; }
  75% {
    -webkit-transform: translateX(6%) scaleY(10%);
            transform: translateX(6%) scaleY(10%);
    opacity: 0.7; }
  100% {
    -webkit-transform: scaleY(20%);
            transform: scaleY(20%);
    opacity: 1; } }

.bar-progress {
  width: 30%;
  height: 12px; }
  .bar-progress > div {
    position: relative;
    width: 20%;
    height: 12px;
    border-radius: 10px;
    background-color: #fff;
    -webkit-animation: bar-progress 3s cubic-bezier(0.57, 0.1, 0.44, 0.93) infinite;
            animation: bar-progress 3s cubic-bezier(0.57, 0.1, 0.44, 0.93) infinite;
    opacity: 1; }

@-webkit-keyframes bar-swing {
  0% {
    left: 0; }
  50% {
    left: 70%; }
  100% {
    left: 0; } }

@keyframes bar-swing {
  0% {
    left: 0; }
  50% {
    left: 70%; }
  100% {
    left: 0; } }

.bar-swing {
  width: 30%;
  height: 8px; }
  .bar-swing > div {
    position: relative;
    width: 30%;
    height: 8px;
    border-radius: 10px;
    background-color: #fff;
    -webkit-animation: bar-swing 1.5s infinite;
            animation: bar-swing 1.5s infinite; }

@-webkit-keyframes bar-swing-container {
  0% {
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  50% {
    left: 70%;
    -webkit-transform: translateX(-4px);
            transform: translateX(-4px); }
  100% {
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@keyframes bar-swing-container {
  0% {
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  50% {
    left: 70%;
    -webkit-transform: translateX(-4px);
            transform: translateX(-4px); }
  100% {
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

.bar-swing-container {
  width: 20%;
  height: 8px;
  position: relative; }
  .bar-swing-container div:nth-child(1) {
    position: absolute;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.2);
    height: 12px;
    border-radius: 10px; }
  .bar-swing-container div:nth-child(2) {
    position: absolute;
    width: 30%;
    height: 8px;
    border-radius: 10px;
    background-color: #fff;
    -webkit-animation: bar-swing-container 2s cubic-bezier(0.91, 0.35, 0.12, 0.6) infinite;
            animation: bar-swing-container 2s cubic-bezier(0.91, 0.35, 0.12, 0.6) infinite;
    margin: 2px 2px 0; }

.sk-spinner {
  color: #333;
}

.sk-spinner > div {
  background-color: currentColor;
}

.ball-triangle-path > div,
.ball-scale-ripple-multiple > div,
.ball-scale-ripple > div {
  background-color: initial;
  border-color: currentColor;
}

.ball-clip-rotate > div {
  background-color: initial;
  border-top-color: currentColor;
  border-right-color: currentColor;
  border-left-color: currentColor;
}

.ball-clip-rotate-pulse > div:first-child {
  background-color: currentColor;
}
.ball-clip-rotate-pulse > div:last-child {
  background-color: initial;
  border-top-color: currentColor;
  border-bottom-color: currentColor;
}

.ball-clip-rotate-multiple > div:first-child {
  background-color: initial;
  border-right-color: currentColor;
  border-left-color: currentColor;
}
.ball-clip-rotate-multiple > div:last-child {
  background-color: initial;
  border-top-color: currentColor;
  border-bottom-color: currentColor;
}

.triangle-skew-spin > div {
  background-color: initial;
  border-bottom-color: currentColor;
}

.pacman > div:nth-child(1),
.pacman > div:nth-child(2) {
  background-color: initial;
  border-top-color: currentColor;
  border-left-color: currentColor;
  border-bottom-color: currentColor;
}

.pacman > div:nth-child(3),
.pacman > div:nth-child(4),
.pacman > div:nth-child(5) {
  background-color: currentColor;
}

@-webkit-keyframes sk-fade-in {
  0% {
      opacity: 0;
  }
  50% {
      opacity: 0;
  }
  100% {
      opacity: 1;
  }
}

@keyframes sk-fade-in {
  0% {
      opacity: 0;
  }
  50% {
      opacity: 0;
  }
  100% {
      opacity: 1;
  }
}

.sk-fade-in {
  -webkit-animation: sk-fade-in 2s;
  animation: sk-fade-in 2s;
}

.sk-fade-in-half-second {
  -webkit-animation: sk-fade-in 1s;
  animation: sk-fade-in 1s;
}

.sk-fade-in-quarter-second {
  -webkit-animation: sk-fade-in 0.5s;
  animation: sk-fade-in 0.5s;
}

.sk-chasing-dots {
  width: 27px;
  height: 27px;
  position: relative;

  -webkit-animation: sk-rotate 2.0s infinite linear;
  animation: sk-rotate 2.0s infinite linear;
}

.sk-chasing-dots > div {
  width: 60%;
  height: 60%;
  display: inline-block;
  position: absolute;
  top: 0;
  background-color: currentColor;
  border-radius: 100%;

  -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
  animation: sk-bounce 2.0s infinite ease-in-out;
}

.sk-chasing-dots > div:last-child {
  top: auto;
  bottom: 0;

  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

@-webkit-keyframes sk-rotate { 100% { -webkit-transform: rotate(360deg) }}
@keyframes sk-rotate {
  100% {
    transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
  }
}

@-webkit-keyframes sk-bounce {
  0%, 100% { -webkit-transform: scale(0.0) }
  50% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bounce {
  0%, 100% {
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 50% {
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}

.sk-circle {
  width: 22px;
  height: 22px;
  position: relative;
}

.sk-circle > div {
  background-color: initial;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.sk-circle > div::before {
  content: '';
  display: block;
  margin: 0 auto;
  width: 20%;
  height: 20%;
  background-color: currentColor;
  border-radius: 100%;

  -webkit-animation: sk-bouncedelay 1.2s infinite ease-in-out;
  animation: sk-bouncedelay 1.2s infinite ease-in-out;
  /* Prevent first frame from flickering when animation starts */
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.sk-circle > div:nth-child(2)  { -webkit-transform: rotate(30deg);  transform: rotate(30deg)  }
.sk-circle > div:nth-child(3)  { -webkit-transform: rotate(60deg);  transform: rotate(60deg)  }
.sk-circle > div:nth-child(4)  { -webkit-transform: rotate(90deg);  transform: rotate(90deg)  }
.sk-circle > div:nth-child(5)  { -webkit-transform: rotate(120deg); transform: rotate(120deg) }
.sk-circle > div:nth-child(6)  { -webkit-transform: rotate(150deg); transform: rotate(150deg) }
.sk-circle > div:nth-child(7)  { -webkit-transform: rotate(180deg); transform: rotate(180deg) }
.sk-circle > div:nth-child(8)  { -webkit-transform: rotate(210deg); transform: rotate(210deg) }
.sk-circle > div:nth-child(9)  { -webkit-transform: rotate(240deg); transform: rotate(240deg) }
.sk-circle > div:nth-child(10) { -webkit-transform: rotate(270deg); transform: rotate(270deg) }
.sk-circle > div:nth-child(11) { -webkit-transform: rotate(300deg); transform: rotate(300deg) }
.sk-circle > div:nth-child(12) { -webkit-transform: rotate(330deg); transform: rotate(330deg) }

.sk-circle > div:nth-child(2)::before  { -webkit-animation-delay: -1.1s; animation-delay: -1.1s }
.sk-circle > div:nth-child(3)::before  { -webkit-animation-delay: -1.0s; animation-delay: -1.0s }
.sk-circle > div:nth-child(4)::before  { -webkit-animation-delay: -0.9s; animation-delay: -0.9s }
.sk-circle > div:nth-child(5)::before  { -webkit-animation-delay: -0.8s; animation-delay: -0.8s }
.sk-circle > div:nth-child(6)::before  { -webkit-animation-delay: -0.7s; animation-delay: -0.7s }
.sk-circle > div:nth-child(7)::before  { -webkit-animation-delay: -0.6s; animation-delay: -0.6s }
.sk-circle > div:nth-child(8)::before  { -webkit-animation-delay: -0.5s; animation-delay: -0.5s }
.sk-circle > div:nth-child(9)::before  { -webkit-animation-delay: -0.4s; animation-delay: -0.4s }
.sk-circle > div:nth-child(10)::before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s }
.sk-circle > div:nth-child(11)::before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s }
.sk-circle > div:nth-child(12)::before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s }

@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% { -webkit-transform: scale(0.0) }
  40% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bouncedelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0.0);
    transform: scale(0.0);
  } 40% {
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
  }
}

.sk-cube-grid {
  width: 27px;
  height: 27px;
}

.sk-cube-grid > div {
  width: 33%;
  height: 33%;
  background-color: currentColor;
  float: left;

  -webkit-animation: sk-scaleDelay 1.3s infinite ease-in-out;
  animation: sk-scaleDelay 1.3s infinite ease-in-out;
}

/*
 * Spinner positions
 * 1 2 3
 * 4 5 6
 * 7 8 9
 */

.sk-cube-grid > div:nth-child(1) { -webkit-animation-delay: 0.2s; animation-delay: 0.2s  }
.sk-cube-grid > div:nth-child(2) { -webkit-animation-delay: 0.3s; animation-delay: 0.3s  }
.sk-cube-grid > div:nth-child(3) { -webkit-animation-delay: 0.4s; animation-delay: 0.4s  }
.sk-cube-grid > div:nth-child(4) { -webkit-animation-delay: 0.1s; animation-delay: 0.1s  }
.sk-cube-grid > div:nth-child(5) { -webkit-animation-delay: 0.2s; animation-delay: 0.2s  }
.sk-cube-grid > div:nth-child(6) { -webkit-animation-delay: 0.3s; animation-delay: 0.3s  }
.sk-cube-grid > div:nth-child(7) { -webkit-animation-delay: 0.0s; animation-delay: 0.0s  }
.sk-cube-grid > div:nth-child(8) { -webkit-animation-delay: 0.1s; animation-delay: 0.1s  }
.sk-cube-grid > div:nth-child(9) { -webkit-animation-delay: 0.2s; animation-delay: 0.2s  }

@-webkit-keyframes sk-scaleDelay {
  0%, 70%, 100% { -webkit-transform:scale3D(1.0, 1.0, 1.0) }
  35%           { -webkit-transform:scale3D(0.0, 0.0, 1.0) }
}

@keyframes sk-scaleDelay {
  0%, 70%, 100% { -webkit-transform:scale3D(1.0, 1.0, 1.0); transform:scale3D(1.0, 1.0, 1.0) }
  35%           { -webkit-transform:scale3D(1.0, 1.0, 1.0); transform:scale3D(0.0, 0.0, 1.0) }
}

.sk-double-bounce {
  width: 27px;
  height: 27px;
  position: relative;
}

.sk-double-bounce > div {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: currentColor;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;

  -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
  animation: sk-bounce 2.0s infinite ease-in-out;
}

.sk-double-bounce > div:last-child {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

@-webkit-keyframes sk-bounce {
  0%, 100% { -webkit-transform: scale(0.0) }
  50% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bounce {
  0%, 100% {
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 50% {
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}

.sk-folding-cube {
  width: 27px;
  height: 27px;
  position: relative;

  -webkit-transform: rotateZ(45deg);
          transform: rotateZ(45deg);
}

.sk-folding-cube > div {
  background-color: initial;
  float: left;
  width: 50%;
  height: 50%;
  position: relative;

  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.sk-folding-cube > div::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: currentColor;

  -webkit-animation: sk-foldCubeAngle 2.4s infinite linear both;
          animation: sk-foldCubeAngle 2.4s infinite linear both;
  -webkit-transform-origin: 100% 100%;
          transform-origin: 100% 100%;
}
.sk-folding-cube > div:nth-child(2) {
  -webkit-transform: scale(1.1) rotateZ(90deg);
          transform: scale(1.1) rotateZ(90deg);
}
.sk-folding-cube > div:nth-child(4) {
  -webkit-transform: scale(1.1) rotateZ(180deg);
          transform: scale(1.1) rotateZ(180deg);
}
.sk-folding-cube > div:nth-child(3) {
  -webkit-transform: scale(1.1) rotateZ(270deg);
          transform: scale(1.1) rotateZ(270deg);
}
.sk-folding-cube > div:nth-child(2)::before {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.sk-folding-cube > div:nth-child(4)::before {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.sk-folding-cube > div:nth-child(3)::before {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
@-webkit-keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
            transform: perspective(140px) rotateX(-180deg);
    opacity: 0;
  } 25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
            transform: perspective(140px) rotateX(0deg);
    opacity: 1;
  } 90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
            transform: perspective(140px) rotateY(180deg);
    opacity: 0;
  }
}

@keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
            transform: perspective(140px) rotateX(-180deg);
    opacity: 0;
  } 25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
            transform: perspective(140px) rotateX(0deg);
    opacity: 1;
  } 90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
            transform: perspective(140px) rotateY(180deg);
    opacity: 0;
  }
}

.sk-pulse > div {
  width: 27px;
  height: 27px;
  background-color: currentColor;
  border-radius: 100%;

  -webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
  animation: sk-scaleout 1.0s infinite ease-in-out;
}

@-webkit-keyframes sk-scaleout {
  0% { -webkit-transform: scale(0.0) }
  100% {
    -webkit-transform: scale(1.0);
    opacity: 0;
  }
}

@keyframes sk-scaleout {
  0% {
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 100% {
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
    opacity: 0;
  }
}

.sk-rotating-plane > div {
  width: 27px;
  height: 27px;
  background-color: currentColor;

  -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
  animation: sk-rotateplane 1.2s infinite ease-in-out;
}

@-webkit-keyframes sk-rotateplane {
  0% { -webkit-transform: perspective(120px) }
  50% { -webkit-transform: perspective(120px) rotateY(180deg) }
  100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}

@keyframes sk-rotateplane {
  0% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
  } 50% {
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
  } 100% {
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}

.sk-three-bounce {
  height: 18px;
}

.sk-three-bounce > div {
  width: 18px;
  height: 18px;
  background-color: currentColor;
  border-radius: 100%;
  display: inline-block;

  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out;
  animation: sk-bouncedelay 1.4s infinite ease-in-out;
  /* Prevent first frame from flickering when animation starts */
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.sk-three-bounce > div:first-child {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.sk-three-bounce > div:nth-child(2) {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% { -webkit-transform: scale(0.0) }
  40% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bouncedelay {
  0%, 80%, 100% {
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 40% {
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}

.sk-wandering-cubes {
  width: 52px;
  height: 52px;
  position: relative;
}

.sk-wandering-cubes > div {
  background-color: currentColor;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 0;
  left: 0;

  -webkit-animation: sk-cubemove 1.8s infinite ease-in-out;
  animation: sk-cubemove 1.8s infinite ease-in-out;
}

.sk-wandering-cubes > div:last-child {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

@-webkit-keyframes sk-cubemove {
  25% { -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5) }
  50% { -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg) }
  75% { -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5) }
  100% { -webkit-transform: rotate(-360deg) }
}

@keyframes sk-cubemove {
  25% {
    transform: translateX(42px) rotate(-90deg) scale(0.5);
    -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
  } 50% {
    /* Hack to make FF rotate in the right direction */
    transform: translateX(42px) translateY(42px) rotate(-179deg);
    -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);
  } 50.1% {
    transform: translateX(42px) translateY(42px) rotate(-180deg);
    -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
  } 75% {
    transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
    -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
  } 100% {
    transform: rotate(-360deg);
    -webkit-transform: rotate(-360deg);
  }
}

.sk-wave {
  width: 30px;
  height: 27px;
}

.sk-wave > div {
  background-color: currentColor;
  height: 100%;
  width: 6px;
  display: inline-block;

  -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
  animation: sk-stretchdelay 1.2s infinite ease-in-out;
}

.sk-wave > div:nth-child(2) {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.sk-wave > div:nth-child(3) {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

.sk-wave > div:nth-child(4) {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.sk-wave > div:nth-child(5) {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {
  0%, 40%, 100% { -webkit-transform: scaleY(0.4) }
  20% { -webkit-transform: scaleY(1.0) }
}

@keyframes sk-stretchdelay {
  0%, 40%, 100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  } 20% {
    transform: scaleY(1.0);
    -webkit-transform: scaleY(1.0);
  }
}

.sk-wordpress > div {
  width: 27px;
  height: 27px;
  background-color: currentColor;
  display: inline-block;
  border-radius: 27px;
  position: relative;

  -webkit-animation: sk-inner-circle 1s linear infinite;
  animation: sk-inner-circle 1s linear infinite;
}

.sk-wordpress > div::after {
  content: '';
  display: block;
  background-color: #fff;
  width: 8px;
  height: 8px;
  position: absolute;
  border-radius: 8px;
  top: 5px;
  left: 5px;
}

@-webkit-keyframes sk-inner-circle {
  0% { -webkit-transform: rotate(0); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes sk-inner-circle {
  0% { transform: rotate(0); -webkit-transform:rotate(0); }
  100% { transform: rotate(360deg); -webkit-transform:rotate(360deg); }
}

.fcc-loader {
  height: 100%;
  width: 100%;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
}

.fcc-loader .sk-spinner,
.script-loading-spinner {
  color: var(--secondary-color);
}

.fcc-loader.full-screen-wrapper {
  height: calc(100vh - var(--header-height, 0px));
}

.fcc-loader.full-screen-wrapper .sk-spinner {
  -webkit-transform: scale(2);
          transform: scale(2);
}

.challenge-title-wrap {
  text-align: center;
}

.challenge-title {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  min-width: 25px;
  margin: 20px 0px 15px;
  padding: 0px 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 7px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: -webkit-fit-content;
  max-height: -moz-fit-content;
  max-height: fit-content;
  white-space: pre-line;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  font-size: 16px;
}

.challenge-title-breadcrumbs {
  font-size: 16px;
  border: 1px solid var(--quaternary-background);
  text-align: center;
}

.challenge-title-breadcrumbs ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  list-style-type: none;
  margin-bottom: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  width: 100%;
}

.challenge-title-breadcrumbs ol a {
  width: 100%;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  padding: 0 3px;
}

.challenge-title-breadcrumbs ol a:focus {
  background-color: inherit;
}

.challenge-title-breadcrumbs ol a:hover {
  background-color: inherit;
  text-decoration: underline;
}

.breadcrumb-left,
.breadcrumb-right {
  text-decoration: none;
  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;
  text-overflow: ellipsis;
  white-space: nowrap;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 2;
      flex-shrink: 2;
  padding: 0;
}

.breadcrumb-left {
  min-width: 3rem;
  background-color: var(--quaternary-background);
  -webkit-margin-end: 0.57rem;
          margin-inline-end: 0.57rem;
}

.breadcrumb-left:after {
  background-color: var(--secondary-background);
  content: '';
  border-top: calc(1.375rem / 2) solid transparent;
  border-bottom: calc(1.2rem / 2) solid transparent;
  -webkit-border-start: calc(1.1rem / 2) solid var(--quaternary-background);
          border-inline-start: calc(1.1rem / 2) solid var(--quaternary-background);
  height: 100%;
  -webkit-margin-start: 3px;
          margin-inline-start: 3px;
}

.breadcrumb-right {
  min-width: 50px;
}

.breadcrumb-rule {
  margin: 5px -10px;
}

.challenge-title h1 {
  font-size: 1.1rem;
  line-height: 1.42857143;
  margin: 0;
  display: inline;
}

.title-translation-cta {
  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-pack: distribute;
      justify-content: space-around;
  font-size: 16px;
  height: 25px;
  text-decoration: none;
  color: var(--highlight-color);
  background-color: var(--highlight-background);
  margin-bottom: 10px;
}

.title-translation-cta:hover,
.title-translation-cta:focus {
  text-decoration: none;
  color: var(--highlight-background);
  background-color: var(--highlight-color);
}

/*
For some reason this `div` is needed in order to override
the CSS rules of `ui-components`'s Alert.
*/
div.flash-container {
  position: fixed;
  width: 100%;
  z-index: var(--z-index-flash);
  padding-top: 0.15rem;
  padding-bottom: 0.15rem;
}
div.flash-message {
  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;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  @media (max-width: 767.99px) {
    padding: 0;
  }
}

/* 11. Site Footer
/* ---------------------------------------------------------- */

.site-footer {
  color: var(--tertiary-color);
  background: var(--tertiary-background);
  line-height: 1.6;
  padding: 40px 15px;
  font-size: 16px;
}

.footer-top {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(30.5em, 1fr));
}

@media (max-width: 500px) {
  .footer-top {
    grid-template-columns: repeat(auto-fit, minmax(19em, 1fr));
  }
}

.footer-top,
.footer-bottom {
  width: min(100%, 1300px);
  margin-inline: auto;
}

.site-footer p {
  margin: 0 0 1.45rem;
  line-height: 30px;
  font-size: 16px;
}

.site-footer a {
  color: var(--tertiary-color);
  text-decoration: none;
  padding: 2px;
}

.site-footer a:hover {
  text-decoration: underline;
}

.site-footer .col-header,
.trending-guides .col-header {
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  padding: 0 15px 15px;
  margin-bottom: 0;
}

.site-footer h2 {
  line-height: 1.1;
}

.trending-guides-articles {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11em, 1fr));
  grid-column-gap: 3rem;
  grid-row-gap: 0.5rem;
  white-space: pre;
}

@media (max-width: 1400px) {
  .trending-guides-articles {
    grid-template-columns: repeat(auto-fit, minmax(12em, 1fr));
  }
}

@media (max-width: 800px) {
  .trending-guides-articles {
    grid-template-columns: repeat(auto-fit, minmax(13em, 1fr));
  }
}

.footer-desc-col {
  padding-inline: 15px;
  margin-bottom: 30px;
  -ms-flex-item-align: start;
      align-self: start;
}

.footer-desc-col a {
  text-decoration: underline;
  padding: 2px;
}

p.footer-donation {
  font-weight: 700;
  font-size: 18px;
}

p.footer-donation a:hover {
  text-decoration: none;
}

.trending-guides {
  margin: 0 0 3rem;
}

.mobile-app-container {
  list-style-type: none;
  padding: 0;
  margin: 0;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}

/* This rule to is ensure the li element doesn't take more space than it needs */
.mobile-app-container li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: initial;
      -ms-flex: initial;
          flex: initial;
}

.mobile-app-container img {
  width: 9.5rem;
  height: 3rem;
  -o-object-fit: cover;
     object-fit: cover;
}

.footer-bottom .our-nonprofit {
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.footer-bottom .our-nonprofit a {
  padding: 5px 10px;
}

@media (min-width: 500px) {
  .mobile-app-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media (min-width: 800px) {
  .footer-bottom .our-nonprofit a {
    padding: 5px;
  }
}

@media (min-width: 1200px) {
  .footer-desc-col {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 45%;
            flex: 1 0 45%;
  }
  .trending-guides {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 58%;
            flex: 1 0 58%;
  }
  p.footer-donation {
    margin-top: 40px;
  }
  .footer-bottom .our-nonprofit {
    padding-inline: 10px;
    padding-top: 1.25rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .footer-bottom .col-header {
    visibility: hidden;
    padding: 0px;
    margin: 0;
    height: 1px;
  }
  .our-nonprofit {
    border-top: 1px;
    border-top-style: solid;
    border-top-color: var(--quaternary-background);
  }
}

.universal-nav {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: var(--theme-color);
  color: var(--gray-00);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 18px;
  height: var(--header-height);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 5px;
}

@media (min-width: 401px) {
  .universal-nav {
    padding: 0 15px;
  }
}

.universal-nav a {
  text-decoration: none;
}

/**
 * Wrapper for content to the left of the site logo
 */
.universal-nav-left {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 33%;
          flex: 1 0 33%;
}

/**
 * Site header logo
 */
.universal-nav-logo {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-margin-end: 4px;
          margin-inline-end: 4px;
  max-inline-size: -webkit-max-content;
  max-inline-size: -moz-max-content;
  max-inline-size: max-content;
  overflow: hidden;
  -ms-overflow-scrolling: touch;
  -webkit-overflow-scrolling: touch;
}

.goolia-logo {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-family: Hack, monospace;
  font-size: 1.25rem;
  font-weight: 700;
  gap: 0.45rem;
  line-height: 1;
  white-space: nowrap;
}

.goolia-logo-mark {
  color: #9cff00;
  letter-spacing: -0.12em;
}

.goolia-logo-name {
  letter-spacing: 0.02em;
}

@media (min-width: 980px) {
  .universal-nav-logo {
    margin-inline: 1em;
  }
}

/* Overwrite global anchor hover and focus */
.universal-nav-logo:hover,
.universal-nav-logo:focus {
  background-color: inherit;
}

/**
 * Wrapper for content to the right of the site logo
 */
.universal-nav-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 10px;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 33%;
          flex: 1 0 33%;
}

/**
 * Site header menu list
 */
.nav-list {
  background-color: var(--theme-color);
  display: none;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  list-style: none;
  padding: 0;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: var(--z-index-site-header);
}

@media (min-width: 980px) {
  .nav-list {
    max-width: 15rem;
  }
}

/**
 * Site header language list
 */
.lang-button-nav[aria-expanded='true'] + .nav-list {
  -ms-overflow-style: none;
  display: block;
  max-height: calc(100vh - var(--header-height));
  overflow-y: auto;
  scrollbar-width: none;
  top: calc(var(--header-height));
}

.lang-button-nav[aria-expanded='true'] + .nav-list::-webkit-scrollbar {
  display: none;
}

.exposed-button-nav:is(
  :hover,
  :hover:focus,
  [aria-expanded='true'],
  [aria-expanded='true']:hover
),
.lang-button-nav:is(
  :hover,
  :hover:focus,
  [aria-expanded='true'],
  [aria-expanded='false'].force-show
) {
  background-color: var(--gray-00);
  color: var(--theme-color);
}

.lang-button-nav:is(
  :hover,
  :hover:focus,
  [aria-expanded='true'],
  [aria-expanded='false'].force-show
) {
  fill: var(--gray-00);
}

/**
 * Site header sub menu items
 */
.nav-link {
  padding: 2px 15px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--gray-00);
  background-color: var(--gray-90);
  white-space: normal;
  min-height: var(--header-sub-element-size);
  width: 100%;
  border: none;
  height: 100%;
}

.nav-link:focus {
  outline-offset: -3px;
}

.nav-link:focus:not(:focus-visible) {
  background-color: inherit;
  color: inherit;
}

.nav-link:not([aria-disabled='true']):hover,
.nav-link:focus-visible {
  color: var(--gray-90);
  background-color: var(--gray-10);
}

.nav-link:not([aria-disabled='true']):hover {
  text-decoration: none;
  cursor: pointer;
  outline-color: transparent !important;
}

button.nav-link[aria-disabled='true'] {
  background-color: inherit;
}

li > button.nav-link-signout:not([aria-disabled='true']):is(:hover, :focus) {
  background-color: var(--danger-background);
  color: var(--danger-color);
}

.nav-link .fa-external-link-alt {
  color: var(--gray-45);
}

.nav-link-supporter {
  color: var(--yellow-light);
  background: var(--yellow-dark);
}

.nav-link-supporter:hover,
.nav-link-supporter:active,
.nav-link-supporter:focus,
.nav-link-supporter:focus-visible {
  color: var(--yellow-dark) !important;
  background: var(--yellow-light) !important;
}

.nav-link-supporter svg {
  height: auto;
  width: 1em;
}

/**
 * Check mark for current language
 */
.nav-lang-list-option[aria-current='true'] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='32' height='32' preserveAspectRatio='xMidYMid meet' viewBox='0 0 16 16'%3E%3Cg fill='white'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06a.733.733 0 0 1 1.047 0l3.052 3.093l5.4-6.425a.247.247 0 0 1 .02-.022z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
  background-size: 1.2rem;
  background-position: calc(100% - 10px) center;
  background-repeat: no-repeat;
}

.nav-lang-list-option[aria-current='true']:hover,
.nav-lang-list-option[aria-current='true']:focus-visible {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='32' height='32' preserveAspectRatio='xMidYMid meet' viewBox='0 0 16 16'%3E%3Cg fill='currentColor'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06a.733.733 0 0 1 1.047 0l3.052 3.093l5.4-6.425a.247.247 0 0 1 .02-.022z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E") !important;
}

/**
 * Link items with icon or checkboxes
 */
.nav-link-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

/**
 * Grayed out CTA's
 */
.nav-link-dull {
  color: var(--gray-45);
}

/**
 * Site navigation loading animation
 */
.nav-skeleton {
  height: var(--header-height);
  -webkit-margin-end: 15px;
          margin-inline-end: 15px;
  width: 350px;
}

/**
 * Site navigation first level CTA's
 */
.exposed-button-nav,
.lang-button-nav {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: var(--theme-color);
  border: 1px solid var(--gray-00);
  color: var(--gray-00);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 18px;
  height: var(--header-element-size);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: var(--header-element-size);
  padding: 0 4px;
}

@media (min-width: 601px) {
  .exposed-button-nav {
    padding-inline: 12px;
  }
}

.exposed-button-nav:hover,
.exposed-button-nav:hover:focus {
  border: 1px solid var(--gray-00);
}

/**
 * User thumbnail
 */
.avatar-nav-link {
  display: block;
  height: var(--header-element-size);
  width: var(--header-element-size);
}

.avatar-nav-link:hover,
.avatar-nav-link:focus {
  background-color: var(--theme-color);
}

.avatar-nav-link .avatar-container svg,
.avatar-nav-link .avatar-container img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.avatar-container {
  border: 2px solid var(--gray-15); /* default border */
  height: 100%;
}

/**
 * Borders modifiers indicating user type
 */
.gold-border {
  border-color: var(--yellow-gold);
}

.blue-border {
  border-color: var(--blue-mid);
}

.purple-border {
  border-color: var(--purple-mid);
}

.default-border {
  border-color: var(--gray-15);
}

.display-menu {
  -ms-overflow-style: none;
  display: block;
  max-height: calc(
    100vh - var(--header-height) - var(--header-sub-element-size)
  );
  overflow-y: auto;
  scrollbar-width: none;
  text-align: left;
  top: calc(var(--header-height) + var(--header-sub-element-size));
}

@media (min-width: 980px) {
  .display-menu {
    max-height: calc(100vh - var(--header-height));
    top: var(--header-height);
  }
}

.display-menu::-webkit-scrollbar {
  display: none;
}

/**
 * Sub menu dividers
 */
.nav-line {
  border-top: 0.0625rem solid var(--gray-45);
}

/**
 * Sign up CTA
 */
.signup-btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-height: var(--header-element-size);
  min-width: var(--header-element-size);
  padding: 0 4px;
  text-decoration: none;
}

@media (min-width: 601px) {
  .signup-btn {
    padding-inline: 12px;
  }
}

/**
 * Search bar variations (small viewports)
 */
.universal-nav-right .fcc_searchBar {
  background-color: var(--theme-color);
  height: var(--header-sub-element-size);
  left: 0;
  position: absolute;
  top: var(--header-height);
}

/* In mobile layout, prevent search input from hanging around if the
   menu is collapsed. */
.universal-nav-right
  #toggle-button-nav[aria-expanded='false']
  + .fcc_searchBar {
  display: none;
}

/* In mobile layout, prevent search results from hanging around if the
    menu is collapsed. */
.universal-nav-right
  #toggle-button-nav[aria-expanded='false']
  + .fcc_searchBar
  .ais-Hits {
  display: none;
}

.ais-SearchBox-input:focus {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-margin-start: -30px;
          margin-inline-start: -30px;
  padding-inline: 35px;
}

/**
 * Text and icon handling for first level CTA's
 *
 * Login btn icon is used in other places different from the site navigation
 * and is expected to not to be displayed. The default is to hide the element
 * but on the site navigation display it only on small viewports.
 */
.login-btn-icon {
  display: none;
}

#toggle-button-nav .menu-btn-text,
#universal-nav .login-btn-text {
  display: none;
}

@media (min-width: 601px) {
  #toggle-button-nav .menu-btn-text,
  #universal-nav .login-btn-text {
    display: inline-block;
  }
}

#toggle-button-nav .menu-btn-icon,
#universal-nav .login-btn-icon {
  display: inline-block;
}

@media (min-width: 601px) {
  #toggle-button-nav .menu-btn-icon,
  #universal-nav .login-btn-icon {
    display: none;
  }
}

/**
 * Handle submenu containers collapsed and expanded states
 */
#universal-nav button[aria-expanded='false'] + div {
  display: none;
}

#universal-nav button[aria-expanded='true'] + div {
  display: block;
}

/**
 * High contrast mode support
 *
 * When the user enables a high contrast theme (e.g. Windows High Contrast),
 * the browser overrides most colors. We add explicit borders and fills so
 * navbar elements remain visually distinguishable.
 */
@media (forced-colors: active) {
  .universal-nav {
    border-bottom: 2px solid ButtonText;
  }

  .exposed-button-nav,
  .lang-button-nav {
    border: 1px solid ButtonText;
  }

  .nav-list {
    border: 1px solid ButtonText;
  }

  .nav-link {
    border-bottom: 1px solid ButtonText;
  }

  .nav-line {
    border-top-color: ButtonText;
  }

  /* The logo SVG uses inline fill="#ffffff" which the browser cannot
     override automatically. forced-color-adjust: auto tells the browser
     to remap colors, and the !important fill ensures the logo is visible
     against the system background. */
  .universal-nav-logo svg {
    forced-color-adjust: auto;
    fill: LinkText !important;
  }

  /* Override the hardcoded fill on <use> elements inside the logo */
  .universal-nav-logo svg use {
    fill: LinkText !important;
  }

  /* Ensure the language globe icon strokes are visible */
  .lang-button-nav svg {
    forced-color-adjust: auto;
  }

  .lang-button-nav svg path {
    fill: none !important;
    stroke: ButtonText !important;
  }

  .avatar-container {
    border-color: ButtonText;
  }

  .signup-btn {
    border: 1px solid ButtonText;
  }
}

.exam-nav {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: var(--theme-color);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: var(--header-height);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 5px;
}

@media (min-width: 401px) {
  .exam-nav {
    padding: 0 15px;
  }
}

.exam-nav svg {
  height: 32px;
}

.site-header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: var(--z-index-site-header);
}

.skip-to-content-button {
  position: absolute;
  top: calc(var(--header-height) + 10px);
  font-weight: 600;
  padding-block: 1em;
  padding-inline: 1.5em;
  inset-inline-start: -1000px;
}

@media screen and (min-width: 980px) {
  .skip-to-content-button:focus {
    inset-inline-start: 15px;
  }
}

@media screen and (max-width: 979px) {
  .skip-to-content-button:focus {
    inset-inline-start: 5px;
  }
}

.offline-warning {
  height: 38px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  width: 100%;
  z-index: 150;
}

.offline-warning a {
  margin: 0 1ch;
}

:root{--gray00:#fff;--gray05:#f5f6f7;--gray10:#dfdfe2;--gray15:#d0d0d5;--gray45:#858591;--gray75:#3b3b4f;--gray80:#2a2a40;--gray85:#1b1b32;--gray90:#0a0a23;--purple10:#dbb8ff;--purple50:#9400d3;--purple90:#5a01a7;--yellow05:#fcf8e3;--yellow10:#faebcc;--yellow40:#ffc300;--yellow45:#ffbf00;--yellow50:#f1be32;--yellow70:#8a6d3b;--yellow80:#66512c;--yellow90:#4d3800;--blue05:#d9edf7;--blue10:#bce8f1;--blue30:#99c9ff;--blue50:#198eee;--blue70:#31708f;--blue90:#002ead;--blue30-translucent:rgba(153,201,255,.3);--blue90-translucent:rgba(0,46,173,.3);--green05:#dff0d8;--green10:#d6e9c6;--green40:#acd157;--green70:#3c763d;--green80:#19562a;--green90:#00471b;--red05:#f2dede;--red10:#ebccd1;--red15:#ffadad;--red30:#f8577c;--red70:#a94442;--red80:#f82153;--red90:#850000;--red100:#5a3535;--orange30:#eda971}:export{--gray00:var(--gray00);--gray05:var(--gray05);--gray10:var(--gray10);--gray15:var(--gray15);--gray45:var(--gray45);--gray75:var(--gray75);--gray80:var(--gray80);--gray85:var(--gray85);--gray90:var(--gray90);--purple10:var(--purple10);--purple50:var(--purple50);--purple90:var(--purple90);--yellow05:var(--yellow05);--yellow10:var(--yellow10);--yellow40:var(--yellow40);--yellow45:var(--yellow45);--yellow50:var(--yellow50);--yellow70:var(--yellow70);--yellow80:var(--yellow80);--yellow90:var(--yellow90);--blue05:var(--blue05);--blue10:var(--blue10);--blue30:var(--blue30);--blue50:var(--blue50);--blue70:var(--blue70);--blue90:var(--blue90);--green05:var(--green05);--green10:var(--green10);--green40:var(--green40);--green70:var(--green70);--green80:var(--green80);--green90:var(--green90);--red05:var(--red05);--red10:var(--red10);--red15:var(--red15);--red30:var(--red30);--red70:var(--red70);--red80:var(--red80);--red90:var(--red90);--red100:var(--red100);--orange30:var(--orange30)}.light-palette{--foreground-primary:var(--gray90);--foreground-secondary:var(--gray85);--foreground-tertiary:var(--gray80);--foreground-quaternary:var(--gray75);--foreground-danger:var(--red15);--foreground-danger-disabled:var(--red100);--foreground-success:var(--green40);--foreground-info:var(--blue30);--foreground-warning:var(--yellow45);--background-primary:var(--gray00);--background-secondary:var(--gray05);--background-tertiary:var(--gray10);--background-quaternary:var(--gray15);--background-danger:var(--red90);--background-danger-disabled:var(--red05);--background-success:var(--green90);--background-info:var(--blue90);--background-selection:var(--blue90-translucent);--focus-outline-color:var(--blue50)}.dark-palette{--foreground-primary:var(--gray00);--foreground-secondary:var(--gray05);--foreground-tertiary:var(--gray10);--foreground-quaternary:var(--gray15);--foreground-danger:var(--red90);--foreground-danger-disabled:var(--red05);--foreground-success:var(--green90);--foreground-info:var(--blue90);--foreground-warning:var(--yellow40);--background-primary:var(--gray90);--background-secondary:var(--gray85);--background-tertiary:var(--gray80);--background-quaternary:var(--gray75);--background-danger:var(--red15);--background-danger-disabled:var(--red100);--background-success:var(--green40);--background-info:var(--blue30);--background-selection:var(--blue30-translucent);--focus-outline-color:var(--blue50)}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-ms-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;-webkit-box-sizing:border-box;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;-webkit-font-feature-settings:normal;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Lato,sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{-webkit-font-feature-settings:normal;font-feature-settings:normal;font-family:Hack-ZeroSlash,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{-webkit-font-feature-settings:inherit;font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,menu,ol,ul{margin:0;padding:0}menu,ol,ul{list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::-webkit-input-placeholder, textarea::-webkit-input-placeholder{color:#9ca3af;opacity:1}input::-moz-placeholder, textarea::-moz-placeholder{color:#9ca3af;opacity:1}input:-ms-input-placeholder, textarea:-ms-input-placeholder{color:#9ca3af;opacity:1}input::-ms-input-placeholder, textarea::-ms-input-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}html{font-size:18px;line-height:1.42857143}:focus-visible{outline-color:var(--focus-outline-color);outline-offset:0;outline-style:solid;outline-width:3px}a{text-decoration-line:underline;text-underline-position:under}@supports not (text-underline-position:under){a{text-underline-offset:.1em}}code{background-color:var(--background-tertiary);color:var(--foreground-tertiary)}:not(pre)>code{border-color:var(--gray45);border-width:1px;padding:1px 4px}pre{word-wrap:break-word;background-color:inherit;border:none;display:block;font-size:17px;line-height:1.42857143;margin:0 0 10px;padding:9.5px;word-break:break-all}pre,pre code{border-radius:0;color:inherit}pre code{background-color:transparent;font-size:inherit;padding:0;white-space:pre-wrap}h1,h2,h3,h4,h5,h6,p{margin-bottom:12.5px}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--foreground-quaternary);opacity:.8}input::-webkit-input-placeholder, textarea::-webkit-input-placeholder{color:var(--foreground-quaternary);opacity:.8}input::-moz-placeholder, textarea::-moz-placeholder{color:var(--foreground-quaternary);opacity:.8}input:-ms-input-placeholder, textarea:-ms-input-placeholder{color:var(--foreground-quaternary);opacity:.8}input::-ms-input-placeholder, textarea::-ms-input-placeholder{color:var(--foreground-quaternary);opacity:.8}input::placeholder,textarea::placeholder{color:var(--foreground-quaternary);opacity:.8}label{display:inline-block;margin-bottom:5px;max-width:100%}blockquote{border-left:5px solid var(--background-quaternary);font-size:17.5px;margin:0 0 20px;padding:10px 20px}ul{list-style-type:disc}ol,ul{margin-bottom:10px;margin-top:0;-webkit-padding-start:40px;padding-inline-start:40px}ol{list-style-type:decimal}hr{border:0;border-top:1px solid var(--background-quaternary);margin-bottom:20px;margin-top:20px}b,strong{font-weight:700}legend{display:block;font-size:21px;line-height:inherit;margin-bottom:20px;padding:0;width:100%}table{display:inline-block;overflow:auto}table thead{border-color:inherit;display:table-header-group;vertical-align:middle}table th{font-weight:700}table td,table th{border:1px solid var(--foreground-secondary);padding:6px 13px;text-align:center}table tbody tr:nth-of-type(odd){background-color:var(--background-tertiary)}table td:has(ruby){padding-block:8px}li:has(>ruby),p:has(ruby){padding:.5rem 0}ruby{font-size:1.3rem}rt{font-size:.9rem}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.right-0{right:0}.top-0{top:0}.top-\[30px\]{top:30px}.z-10{z-index:10}.z-1050{z-index:1050}.z-2{z-index:2}.col-span-2{grid-column:span 2/span 2}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.m-0{margin:0}.m-4{margin:1rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-\[-15px\]{margin-left:-15px;margin-right:-15px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-2{margin-bottom:.5rem;margin-top:.5rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-\[0\.6rem\]{margin-bottom:.6rem}.mb-\[20px\]{margin-bottom:20px}.me-2{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.me-\[15px\]{-webkit-margin-end:15px;margin-inline-end:15px}.me-\[8px\]{-webkit-margin-end:8px;margin-inline-end:8px}.ml-2{margin-left:.5rem}.ml-\[-3px\]{margin-left:-3px}.ms-\[100\%\]{-webkit-margin-start:100%;margin-inline-start:100%}.ms-\[16\.6\%\]{-webkit-margin-start:16.6%;margin-inline-start:16.6%}.ms-\[25\%\]{-webkit-margin-start:25%;margin-inline-start:25%}.ms-\[33\.3\%\]{-webkit-margin-start:33.3%;margin-inline-start:33.3%}.ms-\[41\.7\%\]{-webkit-margin-start:41.7%;margin-inline-start:41.7%}.ms-\[50\%\]{-webkit-margin-start:50%;margin-inline-start:50%}.ms-\[58\.3\%\]{-webkit-margin-start:58.3%;margin-inline-start:58.3%}.ms-\[66\.7\%\]{-webkit-margin-start:66.7%;margin-inline-start:66.7%}.ms-\[75\%\]{-webkit-margin-start:75%;margin-inline-start:75%}.ms-\[8\.3\%\]{-webkit-margin-start:8.3%;margin-inline-start:8.3%}.ms-\[83\.3\%\]{-webkit-margin-start:83.3%;margin-inline-start:83.3%}.ms-\[91\.7\%\]{-webkit-margin-start:91.7%;margin-inline-start:91.7%}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-\[0\.5px\]{margin-top:.5px}.block{display:block}.inline-block{display:inline-block}.flex{display:-webkit-box;display:-ms-flexbox;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.table{display:table}.grid{display:grid}.h-0{height:0}.h-1{height:.25rem}.h-3{height:.75rem}.h-8{height:2rem}.h-\[10px\]{height:10px}.h-\[180px\]{height:180px}.h-\[20px\]{height:20px}.h-\[24px\]{height:24px}.h-\[30px\]{height:30px}.h-\[5px\]{height:5px}.h-\[60px\]{height:60px}.h-\[90px\]{height:90px}.min-h-43-px{min-height:43px}.min-h-\[1px\]{min-height:1px}.w-0{width:0}.w-1\/12{width:8.333333%}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-1\/4{width:25%}.w-1\/6{width:16.666667%}.w-11\/12{width:91.666667%}.w-2\/3{width:66.666667%}.w-3\/12{width:25%}.w-3\/4{width:75%}.w-5\/12{width:41.666667%}.w-5\/6{width:83.333333%}.w-7\/12{width:58.333333%}.w-8{width:2rem}.w-\[20px\]{width:20px}.w-\[24px\]{width:24px}.w-\[600px\]{width:600px}.w-\[900px\]{width:900px}.w-\[95vw\]{width:95vw}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[2\.5rem\]{min-width:2.5rem}.min-w-max{min-width:-moz-max-content;min-width:-webkit-max-content;min-width:max-content}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-none{max-width:none}.flex-1{-webkit-box-flex:1;-ms-flex:1 1 0%;flex:1 1 0%}.shrink-0{-ms-flex-negative:0;flex-shrink:0}.table-auto{table-layout:auto}.border-collapse{border-collapse:collapse}.origin-top-right{-webkit-transform-origin:top right;transform-origin:top right}.-translate-y-1\/4{--tw-translate-y:-25%}.-translate-y-1\/4,.-translate-y-full{-webkit-transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-y-0{--tw-translate-y:0px}.scale-75,.translate-y-0{-webkit-transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.transform{-webkit-transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-manipulation{-ms-touch-action:manipulation;touch-action:manipulation}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.flex-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.items-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.items-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.items-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-x-4{-moz-column-gap:1rem;-webkit-column-gap:1rem;column-gap:1rem}.gap-y-\[48px\]{row-gap:48px}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-none{border-radius:0}.border,.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-x-4{border-left-width:4px;border-right-width:4px}.border-b-1{border-bottom-width:1px}.border-b-4{border-bottom-width:4px}.border-b-\[1px\]{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-t-4{border-top-width:4px}.border-solid{border-style:solid}.border-none{border-style:none}.border-background-quaternary{border-color:var(--background-quaternary)}.border-background-tertiary{border-color:var(--background-tertiary)}.border-blue-100{border-color:var(--blue10)}.border-foreground-danger{border-color:var(--foreground-danger)}.border-foreground-info{border-color:var(--foreground-info)}.border-foreground-primary{border-color:var(--foreground-primary)}.border-foreground-quaternary{border-color:var(--foreground-quaternary)}.border-foreground-secondary{border-color:var(--foreground-secondary)}.border-gray-150{border-color:var(--gray15)}.border-gray-450{border-color:var(--gray45)}.border-green-100{border-color:var(--green10)}.border-red-100{border-color:var(--red10)}.border-yellow-100{border-color:var(--yellow10)}.border-l-background-danger{border-left-color:var(--background-danger)}.border-l-background-success{border-left-color:var(--background-success)}.border-l-blue-700{border-left-color:var(--blue70)}.border-l-green-700{border-left-color:var(--green70)}.border-l-red-700{border-left-color:var(--red70)}.border-l-yellow-700{border-left-color:var(--yellow70)}.bg-background-danger{background-color:var(--background-danger)}.bg-background-danger-disabled{background-color:var(--background-danger-disabled)}.bg-background-info{background-color:var(--background-info)}.bg-background-primary{background-color:var(--background-primary)}.bg-background-quaternary{background-color:var(--background-quaternary)}.bg-background-secondary{background-color:var(--background-secondary)}.bg-background-tertiary{background-color:var(--background-tertiary)}.bg-blue-50{background-color:var(--blue05)}.bg-blue-700{background-color:var(--blue70)}.bg-foreground-danger{background-color:var(--foreground-danger)}.bg-foreground-info{background-color:var(--foreground-info)}.bg-foreground-primary{background-color:var(--foreground-primary)}.bg-foreground-secondary{background-color:var(--foreground-secondary)}.bg-gray-900{background-color:var(--gray90)}.bg-green-50{background-color:var(--green05)}.bg-red-50{background-color:var(--red05)}.bg-transparent{background-color:transparent}.bg-yellow-50{background-color:var(--yellow05)}.bg-none{background-image:none}.p-0{padding:0}.p-2{padding:.5rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-\[10px\]{padding:10px}.p-\[15px\]{padding:15px}.p-\[20px\]{padding:20px}.px-0{padding-left:0;padding-right:0}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[15px\]{padding-left:15px;padding-right:15px}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-\[5px\]{padding-bottom:5px;padding-top:5px}.pb-\[20px\]{padding-bottom:20px}.pe-\[20px\]{-webkit-padding-end:20px;padding-inline-end:20px}.pl-0{padding-left:0}.ps-4{-webkit-padding-start:1rem;padding-inline-start:1rem}.ps-\[20px\]{-webkit-padding-start:20px;padding-inline-start:20px}.text-center{text-align:center}.text-start{text-align:start}.text-lg{font-size:24px;line-height:1.3333333}.text-md{font-size:18px;line-height:1.42857143}.text-sm{font-size:16px;line-height:1.5}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.leading-8{line-height:2rem}.text-background-danger{color:var(--background-danger)}.text-background-info{color:var(--background-info)}.text-background-primary{color:var(--background-primary)}.text-background-secondary{color:var(--background-secondary)}.text-background-success{color:var(--background-success)}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-foreground-danger{color:var(--foreground-danger)}.text-foreground-danger-disabled{color:var(--foreground-danger-disabled)}.text-foreground-info{color:var(--foreground-info)}.text-foreground-primary{color:var(--foreground-primary)}.text-foreground-quaternary{color:var(--foreground-quaternary)}.text-foreground-secondary{color:var(--foreground-secondary)}.text-foreground-tertiary{color:var(--foreground-tertiary)}.text-green-700{color:var(--green70)}.text-green-800{color:var(--green80)}.text-inherit{color:inherit}.text-red-900{color:var(--red90)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-800{color:var(--yellow80)}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-none,.shadow-sm{-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid}.outline-0{outline-width:0}.outline-3{outline-width:3px}.outline-\[1px\]{outline-width:1px}.outline-offset-2{outline-offset:2px}.outline-offset-\[-3px\]{outline-offset:-3px}.outline-background-tertiary{outline-color:var(--background-tertiary)}.outline-blue-500{outline-color:var(--blue50)}.outline-focus-outline-color{outline-color:var(--focus-outline-color)}.outline-foreground-primary{outline-color:var(--foreground-primary)}.blur{--tw-blur:blur(8px)}.blur,.filter{-webkit-filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,backdrop-filter,-webkit-box-shadow,-webkit-transform,-webkit-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,backdrop-filter,-webkit-box-shadow,-webkit-transform,-webkit-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-box-shadow,-webkit-transform,-webkit-filter;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:all;transition-property:all;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{-webkit-transition-duration:.15s;transition-duration:.15s}.duration-300{-webkit-transition-duration:.3s;transition-duration:.3s}.ease-in-out{-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:start-1\/2:before{content:var(--tw-content);inset-inline-start:50%}.before\:top-1\/2:before{content:var(--tw-content);top:50%}.before\:h-\[10px\]:before{content:var(--tw-content);height:10px}.before\:w-\[10px\]:before{content:var(--tw-content);width:10px}.before\:-translate-x-1\/2:before{--tw-translate-x:-50%}.before\:-translate-x-1\/2:before,.before\:-translate-y-1\/2:before{content:var(--tw-content);-webkit-transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\:-translate-y-1\/2:before{--tw-translate-y:-50%}.before\:rounded-full:before{border-radius:9999px;content:var(--tw-content)}.before\:bg-foreground-primary:before{background-color:var(--foreground-primary);content:var(--tw-content)}.first\:ml-0:first-child{margin-left:0}.last\:border-b-4:last-child{border-bottom-width:4px}.focus-within\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);-webkit-box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-focus-outline-color:focus-within{--tw-ring-color:var(--focus-outline-color)}.hover\:border-foreground-danger:hover{border-color:var(--foreground-danger)}.hover\:border-foreground-info:hover{border-color:var(--foreground-info)}.hover\:border-foreground-secondary:hover{border-color:var(--foreground-secondary)}.hover\:bg-background-quaternary:hover{background-color:var(--background-quaternary)}.hover\:bg-background-tertiary:hover{background-color:var(--background-tertiary)}.hover\:bg-foreground-danger:hover{background-color:var(--foreground-danger)}.hover\:bg-foreground-info:hover{background-color:var(--foreground-info)}.hover\:bg-foreground-primary:hover{background-color:var(--foreground-primary)}.hover\:bg-foreground-secondary:hover{background-color:var(--foreground-secondary)}.hover\:text-background-danger:hover{color:var(--background-danger)}.hover\:text-background-info:hover{color:var(--background-info)}.hover\:text-background-primary:hover{color:var(--background-primary)}.hover\:text-background-secondary:hover{color:var(--background-secondary)}.hover\:text-foreground-secondary:hover{color:var(--foreground-secondary)}.hover\:text-opacity-100:hover{--tw-text-opacity:1}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-100:hover{opacity:1}.focus\:border-foreground-tertiary:focus{border-color:var(--foreground-tertiary)}.focus\:bg-foreground-secondary:focus{background-color:var(--foreground-secondary)}.focus\:text-background-secondary:focus{color:var(--background-secondary)}.focus\:text-opacity-100:focus{--tw-text-opacity:1}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-transparent:focus{outline-color:transparent}.active\:before\:absolute:active:before{content:var(--tw-content);position:absolute}.active\:before\:inset-0:active:before{content:var(--tw-content);inset:0}.active\:before\:hidden:active:before{content:var(--tw-content);display:none}.active\:before\:h-full:active:before{content:var(--tw-content);height:100%}.active\:before\:w-full:active:before{content:var(--tw-content);width:100%}.active\:before\:border-3:active:before{border-width:3px;content:var(--tw-content)}.active\:before\:border-transparent:active:before{border-color:transparent;content:var(--tw-content)}.active\:before\:bg-gray-900:active:before{background-color:var(--gray90);content:var(--tw-content)}.active\:before\:opacity-20:active:before{content:var(--tw-content);opacity:.2}.aria-selected\:bg-foreground-quaternary[aria-selected=true]{background-color:var(--foreground-quaternary)}.aria-selected\:font-bold[aria-selected=true]{font-weight:700}.aria-selected\:text-background-secondary[aria-selected=true]{color:var(--background-secondary)}.aria-disabled\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-disabled\:opacity-80[aria-disabled=true]{opacity:.8}.aria-expanded\:border-foreground-danger[aria-expanded=true]{border-color:var(--foreground-danger)}.aria-expanded\:border-foreground-info[aria-expanded=true]{border-color:var(--foreground-info)}.aria-expanded\:border-foreground-secondary[aria-expanded=true]{border-color:var(--foreground-secondary)}.aria-expanded\:bg-foreground-danger[aria-expanded=true]{background-color:var(--foreground-danger)}.aria-expanded\:bg-foreground-info[aria-expanded=true]{background-color:var(--foreground-info)}.aria-expanded\:bg-foreground-primary[aria-expanded=true]{background-color:var(--foreground-primary)}.aria-expanded\:bg-foreground-secondary[aria-expanded=true]{background-color:var(--foreground-secondary)}.aria-expanded\:text-background-danger[aria-expanded=true]{color:var(--background-danger)}.aria-expanded\:text-background-info[aria-expanded=true]{color:var(--background-info)}.aria-expanded\:text-background-primary[aria-expanded=true]{color:var(--background-primary)}.aria-expanded\:text-background-secondary[aria-expanded=true]{color:var(--background-secondary)}.dark\:hover\:bg-background-danger:hover:is(.dark *){background-color:var(--background-danger)}.dark\:hover\:bg-background-info:hover:is(.dark *){background-color:var(--background-info)}.dark\:hover\:bg-background-primary:hover:is(.dark *){background-color:var(--background-primary)}.dark\:hover\:text-foreground-danger:hover:is(.dark *){color:var(--foreground-danger)}.dark\:hover\:text-foreground-info:hover:is(.dark *){color:var(--foreground-info)}.dark\:hover\:text-foreground-primary:hover:is(.dark *){color:var(--foreground-primary)}.dark\:aria-expanded\:bg-background-danger[aria-expanded=true]:is(.dark *){background-color:var(--background-danger)}.dark\:aria-expanded\:bg-background-info[aria-expanded=true]:is(.dark *){background-color:var(--background-info)}.dark\:aria-expanded\:bg-background-primary[aria-expanded=true]:is(.dark *){background-color:var(--background-primary)}.dark\:aria-expanded\:text-foreground-danger[aria-expanded=true]:is(.dark *){color:var(--foreground-danger)}.dark\:aria-expanded\:text-foreground-info[aria-expanded=true]:is(.dark *){color:var(--foreground-info)}.dark\:aria-expanded\:text-foreground-primary[aria-expanded=true]:is(.dark *){color:var(--foreground-primary)}@media (min-width:768px){.md\:ms-\[100\%\]{-webkit-margin-start:100%;margin-inline-start:100%}.md\:ms-\[16\.6\%\]{-webkit-margin-start:16.6%;margin-inline-start:16.6%}.md\:ms-\[25\%\]{-webkit-margin-start:25%;margin-inline-start:25%}.md\:ms-\[33\.3\%\]{-webkit-margin-start:33.3%;margin-inline-start:33.3%}.md\:ms-\[41\.7\%\]{-webkit-margin-start:41.7%;margin-inline-start:41.7%}.md\:ms-\[50\%\]{-webkit-margin-start:50%;margin-inline-start:50%}.md\:ms-\[58\.3\%\]{-webkit-margin-start:58.3%;margin-inline-start:58.3%}.md\:ms-\[66\.7\%\]{-webkit-margin-start:66.7%;margin-inline-start:66.7%}.md\:ms-\[75\%\]{-webkit-margin-start:75%;margin-inline-start:75%}.md\:ms-\[8\.3\%\]{-webkit-margin-start:8.3%;margin-inline-start:8.3%}.md\:ms-\[83\.3\%\]{-webkit-margin-start:83.3%;margin-inline-start:83.3%}.md\:ms-\[91\.7\%\]{-webkit-margin-start:91.7%;margin-inline-start:91.7%}.md\:w-1\/12{width:8.333333%}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-1\/4{width:25%}.md\:w-1\/6{width:16.666667%}.md\:w-11\/12{width:91.666667%}.md\:w-2\/3{width:66.666667%}.md\:w-3\/4{width:75%}.md\:w-5\/12{width:41.666667%}.md\:w-5\/6{width:83.333333%}.md\:w-7\/12{width:58.333333%}.md\:w-\[750px\]{width:750px}.md\:w-\[90vw\]{width:90vw}.md\:w-full{width:100%}.md\:pb-\[30px\]{padding-bottom:30px}.md\:pt-\[30px\]{padding-top:30px}}@media (min-width:992px){.min-\[992px\]\:ms-\[100\%\]{-webkit-margin-start:100%;margin-inline-start:100%}.min-\[992px\]\:ms-\[16\.6\%\]{-webkit-margin-start:16.6%;margin-inline-start:16.6%}.min-\[992px\]\:ms-\[25\%\]{-webkit-margin-start:25%;margin-inline-start:25%}.min-\[992px\]\:ms-\[33\.3\%\]{-webkit-margin-start:33.3%;margin-inline-start:33.3%}.min-\[992px\]\:ms-\[41\.7\%\]{-webkit-margin-start:41.7%;margin-inline-start:41.7%}.min-\[992px\]\:ms-\[50\%\]{-webkit-margin-start:50%;margin-inline-start:50%}.min-\[992px\]\:ms-\[58\.3\%\]{-webkit-margin-start:58.3%;margin-inline-start:58.3%}.min-\[992px\]\:ms-\[66\.7\%\]{-webkit-margin-start:66.7%;margin-inline-start:66.7%}.min-\[992px\]\:ms-\[75\%\]{-webkit-margin-start:75%;margin-inline-start:75%}.min-\[992px\]\:ms-\[8\.3\%\]{-webkit-margin-start:8.3%;margin-inline-start:8.3%}.min-\[992px\]\:ms-\[83\.3\%\]{-webkit-margin-start:83.3%;margin-inline-start:83.3%}.min-\[992px\]\:ms-\[91\.7\%\]{-webkit-margin-start:91.7%;margin-inline-start:91.7%}.min-\[992px\]\:w-1\/12{width:8.333333%}.min-\[992px\]\:w-1\/2{width:50%}.min-\[992px\]\:w-1\/3{width:33.333333%}.min-\[992px\]\:w-1\/4{width:25%}.min-\[992px\]\:w-1\/6{width:16.666667%}.min-\[992px\]\:w-11\/12{width:91.666667%}.min-\[992px\]\:w-2\/3{width:66.666667%}.min-\[992px\]\:w-3\/4{width:75%}.min-\[992px\]\:w-5\/12{width:41.666667%}.min-\[992px\]\:w-5\/6{width:83.333333%}.min-\[992px\]\:w-7\/12{width:58.333333%}.min-\[992px\]\:w-\[970px\]{width:970px}.min-\[992px\]\:w-full{width:100%}}@media (min-width:1200px){.min-\[1200px\]\:ms-0{-webkit-margin-start:0;margin-inline-start:0}.min-\[1200px\]\:ms-\[100\%\]{-webkit-margin-start:100%;margin-inline-start:100%}.min-\[1200px\]\:ms-\[16\.6\%\]{-webkit-margin-start:16.6%;margin-inline-start:16.6%}.min-\[1200px\]\:ms-\[25\%\]{-webkit-margin-start:25%;margin-inline-start:25%}.min-\[1200px\]\:ms-\[33\.3\%\]{-webkit-margin-start:33.3%;margin-inline-start:33.3%}.min-\[1200px\]\:ms-\[41\.7\%\]{-webkit-margin-start:41.7%;margin-inline-start:41.7%}.min-\[1200px\]\:ms-\[50\%\]{-webkit-margin-start:50%;margin-inline-start:50%}.min-\[1200px\]\:ms-\[58\.3\%\]{-webkit-margin-start:58.3%;margin-inline-start:58.3%}.min-\[1200px\]\:ms-\[66\.7\%\]{-webkit-margin-start:66.7%;margin-inline-start:66.7%}.min-\[1200px\]\:ms-\[75\%\]{-webkit-margin-start:75%;margin-inline-start:75%}.min-\[1200px\]\:ms-\[8\.3\%\]{-webkit-margin-start:8.3%;margin-inline-start:8.3%}.min-\[1200px\]\:ms-\[83\.3\%\]{-webkit-margin-start:83.3%;margin-inline-start:83.3%}.min-\[1200px\]\:ms-\[91\.7\%\]{-webkit-margin-start:91.7%;margin-inline-start:91.7%}.min-\[1200px\]\:w-1\/12{width:8.333333%}.min-\[1200px\]\:w-1\/2{width:50%}.min-\[1200px\]\:w-1\/3{width:33.333333%}.min-\[1200px\]\:w-1\/4{width:25%}.min-\[1200px\]\:w-1\/6{width:16.666667%}.min-\[1200px\]\:w-11\/12{width:91.666667%}.min-\[1200px\]\:w-2\/3{width:66.666667%}.min-\[1200px\]\:w-3\/4{width:75%}.min-\[1200px\]\:w-5\/12{width:41.666667%}.min-\[1200px\]\:w-5\/6{width:83.333333%}.min-\[1200px\]\:w-7\/12{width:58.333333%}.min-\[1200px\]\:w-\[1170px\]{width:1170px}.min-\[1200px\]\:w-full{width:100%}}.\[\&\:\:-moz-range-thumb\]\:h-3::-moz-range-thumb{height:.75rem}.\[\&\:\:-moz-range-thumb\]\:w-3::-moz-range-thumb{width:.75rem}.\[\&\:\:-moz-range-thumb\]\:rounded-full::-moz-range-thumb{border-radius:9999px}.\[\&\:\:-moz-range-thumb\]\:border-0::-moz-range-thumb{border-width:0}.\[\&\:\:-moz-range-thumb\]\:bg-foreground-tertiary::-moz-range-thumb{background-color:var(--foreground-tertiary)}.\[\&\:\:-moz-range-track\]\:bg-background-tertiary::-moz-range-track{background-color:var(--background-tertiary)}.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{height:.75rem}.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{width:.75rem}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{-webkit-appearance:none;appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:9999px}.\[\&\:\:-webkit-slider-thumb\]\:bg-foreground-tertiary::-webkit-slider-thumb{background-color:var(--foreground-tertiary)}.\[\&\:\:-webkit-slider-track\]\:bg-background-tertiary::-webkit-slider-track{background-color:var(--background-tertiary)}.\[\&\>p\:last-child\]\:m-0>p:last-child{margin:0}.\[\&\>tbody\>tr\:nth-of-type\(odd\)\]\:bg-background-tertiary>tbody>tr:nth-of-type(odd){background-color:var(--background-tertiary)}.\[\&_a\:active\]\:bg-\[\#31708f\] a:active{--tw-bg-opacity:1;background-color:rgb(49 112 143/var(--tw-bg-opacity,1))}.\[\&_a\:active\]\:text-\[\#d9edf7\] a:active{--tw-text-opacity:1;color:rgb(217 237 247/var(--tw-text-opacity,1))}.\[\&_a\:focus\]\:bg-\[\#31708f\] a:focus{--tw-bg-opacity:1;background-color:rgb(49 112 143/var(--tw-bg-opacity,1))}.\[\&_a\:focus\]\:text-\[\#d9edf7\] a:focus{--tw-text-opacity:1;color:rgb(217 237 247/var(--tw-text-opacity,1))}.\[\&_a\:hover\]\:bg-\[\#31708f\] a:hover{--tw-bg-opacity:1;background-color:rgb(49 112 143/var(--tw-bg-opacity,1))}.\[\&_a\:hover\]\:text-\[\#d9edf7\] a:hover{--tw-text-opacity:1;color:rgb(217 237 247/var(--tw-text-opacity,1))}.\[\&_button\:active\]\:border-\[\#31708f\] button:active{--tw-border-opacity:1;border-color:rgb(49 112 143/var(--tw-border-opacity,1))}.\[\&_button\:active\]\:bg-\[\#31708f\] button:active{--tw-bg-opacity:1;background-color:rgb(49 112 143/var(--tw-bg-opacity,1))}.\[\&_button\:active\]\:text-\[\#d9edf7\] button:active{--tw-text-opacity:1;color:rgb(217 237 247/var(--tw-text-opacity,1))}.\[\&_button\:focus\]\:border-\[\#31708f\] button:focus{--tw-border-opacity:1;border-color:rgb(49 112 143/var(--tw-border-opacity,1))}.\[\&_button\:focus\]\:bg-\[\#31708f\] button:focus{--tw-bg-opacity:1;background-color:rgb(49 112 143/var(--tw-bg-opacity,1))}.\[\&_button\:focus\]\:text-\[\#d9edf7\] button:focus{--tw-text-opacity:1;color:rgb(217 237 247/var(--tw-text-opacity,1))}.\[\&_button\:hover\]\:border-\[\#31708f\] button:hover{--tw-border-opacity:1;border-color:rgb(49 112 143/var(--tw-border-opacity,1))}.\[\&_button\:hover\]\:bg-\[\#31708f\] button:hover{--tw-bg-opacity:1;background-color:rgb(49 112 143/var(--tw-bg-opacity,1))}.\[\&_button\:hover\]\:text-\[\#d9edf7\] button:hover{--tw-text-opacity:1;color:rgb(217 237 247/var(--tw-text-opacity,1))}.\[\&_button\]\:border button{border-width:1px}.\[\&_button\]\:border-3 button{border-width:3px}.\[\&_button\]\:border-current button{border-color:currentColor}.\[\&_button\]\:bg-transparent button{background-color:transparent}.\[\&_button\]\:text-current button{color:currentColor}.\[\&_p\:nth-child\(odd\)\]\:bg-background-tertiary p:nth-child(odd){background-color:var(--background-tertiary)}.\[\&_p\]\:mb-0 p{margin-bottom:0}.\[\&_p\]\:px-2\.5 p{padding-left:.625rem;padding-right:.625rem}.\[\&_p\]\:py-2 p{padding-bottom:.5rem;padding-top:.5rem}.\[\&_p\]\:text-foreground-primary p{color:var(--foreground-primary)}.\[\&_td\]\:p-1 td{padding:.25rem}.\[\&_td\]\:p-2 td{padding:.5rem}.\[\&_th\]\:p-1 th{padding:.25rem}.\[\&_th\]\:p-2 th{padding:.5rem}.\[\&_th\]\:font-normal th{font-weight:400}
@font-face {
  font-family: 'Lato';
  src: url(/static/Lato-Light-91308c0216b40aad16036f1394b98237.woff) format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Lato';
  src: url(/static/Lato-Regular-77ca2742388f408c3be7d0ec3e7dc392.woff) format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Lato';
  src: url(/static/Lato-Italic-251de5f48806485e4c5a8a2558f9b377.woff) format('woff');
  font-weight: normal;
  font-style: italic;
  font-display: fallback;
}

@font-face {
  font-family: 'Lato';
  src: url(/static/Lato-Bold-ba3a83adcb94357fc42f762985e4d3df.woff) format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Lato';
  src: url(/static/Lato-Black-efe7c183457352448e1e82e30ee3e142.woff) format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: fallback;
}

/* NotoSansArabic */

@font-face {
  font-family: 'NotoSansArabic';
  src: url(/static/NotoSansArabic-Light-29c28f1c5ece1b2be3889e63f3f9207b.woff)
    format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'NotoSansArabic';
  src: url(/static/NotoSansArabic-Regular-d99c6e61f3bae8203321cba30364386f.woff)
    format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'NotoSansArabic';
  src: url(/static/NotoSansArabic-Bold-b2991670b02c7fc8bbce4f9b3b2bdaec.woff)
    format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'NotoSansArabic';
  src: url(/static/NotoSansArabic-Black-0c2f873d06c7dd38c0ce9242f10ba5d5.woff)
    format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: fallback;
}

/* NotoSansJapanese */

@font-face {
  font-family: 'NotoSansJapanese';
  src: url(/static/NotoSansJP-Light-e8b70ba5fe17a3e699bf7e8542e777d6.woff)
    format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'NotoSansJapanese';
  src: url(/static/NotoSansJP-Regular-36dfa43ca2068ced0078458966d5c861.woff)
    format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'NotoSansJapanese';
  src: url(/static/NotoSansJP-Bold-f4ec346348e497f2e2a5872fd14327e9.woff)
    format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'NotoSansJapanese';
  src: url(/static/NotoSansJP-Black-50f06ce6e6a858063779d76af1282a98.woff)
    format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: fallback;
}

/* hack zeroslash */

@font-face {
  font-family: 'Hack-ZeroSlash';
  src:
    url(/static/Hack-ZeroSlash-Regular-bf7335f41d6b7e7f7b9d40f43ed49753.woff2)
      format('woff2'),
    url(/static/Hack-ZeroSlash-Regular-f67447de5dc6604f538786bd55ac6019.woff)
      format('woff');
}

@font-face {
  font-family: 'Hack-ZeroSlash';
  src:
    url(/static/Hack-ZeroSlash-Bold-ceb133b64cdacfbcbb06d5218fb72922.woff2)
      format('woff2'),
    url(/static/Hack-ZeroSlash-Bold-c8ea19a8461596cf1a6a2ad08bebcf8e.woff)
      format('woff');
  font-weight: bold;
}

@font-face {
  font-family: 'Hack-ZeroSlash';
  src:
    url(/static/Hack-ZeroSlash-Italic-69f322d51cab189c325d1769c3016d72.woff2)
      format('woff2'),
    url(/static/Hack-ZeroSlash-Italic-678bc16b550480d5a3c5c76dbf8c5fb9.woff)
      format('woff');
  font-style: italic;
}

html {
  height: 100%;
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  scroll-padding-top: calc(var(--header-height) + 10px);
}

body {
  height: 100%;
  font-family: var(--font-family-sans-serif);
  color: var(--secondary-color);
  background: var(--secondary-background);
}

legend {
  color: #333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}

blockquote {
  border-left: 5px solid #eeeeee;
}

/* TODO: Move this rule to components/Intro/intro.css. */
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: var(--gray-45);
}

/* TODO: Move this rule to components/Intro/intro.css. */
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}

p:has(ruby),
li:has(> ruby) {
  padding: 0.5rem 0;
}

ruby {
  font-size: 1.3rem;
}

rt {
  font-size: 0.9rem;
}

#___gatsby {
  height: 100%;
}

#gatsby-focus-wrapper {
  height: 100%;
}

.page-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100%;
  height: 100%;
}

.page-wrapper-80 {
  min-height: 80vh;
}

.btn-cta-big {
  max-height: 100%;
  font-size: 1.5rem;
  white-space: normal;
  width: 100%;
  max-width: 500px;
  padding: 5px;
  margin: 0 auto;
}

/*
  Row from @freecodecamp/ui adds some negative margin which causes
  a little bit of horizontal overflow on certain pages. This eliminates that
  for those pages.
*/
.overflow-fix {
  margin-inline: 0;
}

.default-layout {
  margin-top: var(--header-height);
  background: var(--secondary-background);
}

.default-layout:only-child {
  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-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  min-height: 0;
}

.default-layout:has(.breadcrumbs-demo) #learn-app-wrapper {
  padding-top: var(--breadcrumbs-height);
}

.default-layout:has(.action-row) #learn-app-wrapper {
  padding-top: calc(var(--breadcrumbs-height) + var(--action-row-height));
}

h1 {
  color: var(--secondary-color);
  font-weight: 700;
  font-size: 1.5rem;
  margin: 0.6rem 0;
}
h2 {
  color: var(--secondary-color);
  font-weight: 700;
  font-size: 1.25rem;
  margin: 0.6rem 0;
}
h3 {
  color: var(--secondary-color);
  font-weight: 700;
  font-size: 1.1rem;
  margin: 0 0 0.6rem;
}

h4,
h5,
h6,
td,
th {
  color: var(--secondary-color);
  font-weight: 400;
  font-size: 1rem;
  margin: 0 0 1.2rem;
}

p {
  line-height: 1.5rem;
  font-weight: 400;
  font-size: 1rem;
  margin: 0 0 1.2rem;
}

.big-heading {
  font-size: 2rem !important;
  overflow-wrap: break-word;
}

::-moz-selection {
  background-color: var(--selection-color);
}

::selection {
  background-color: var(--selection-color);
}

@media (max-width: 500px) {
  .big-heading {
    font-size: 1.5rem !important;
  }
  h1 {
    font-size: 1.3rem;
  }
  h2 {
    font-size: 1.2rem;
  }
  h3 {
    font-size: 1.1rem;
  }
  .btn-cta,
  .btn-cta-big {
    font-size: 1rem;
  }
}

@media (max-width: 1199px) {
  .btn-cta-big {
    font-size: 1.3rem;
  }
}

.text-center {
  text-align: center !important;
}

a {
  color: inherit;
  text-decoration: underline;
}

a:hover,
a:focus {
  text-decoration: none;
  color: var(--tertiary-color);
  background-color: var(--tertiary-background);
}
/* modal */

.fcc-modal {
  background-color: var(--secondary-background);
  color: var(--secondary-color);
}

button.close {
  color: inherit;
  background-color: transparent;
  font-size: 28px;
  opacity: 0.5;
  text-shadow: none;
}

button.close:hover,
button.close:focus {
  color: inherit;
  opacity: 1;
  background-color: transparent;
}

:focus-visible {
  outline: 3px solid var(--focus-outline-color);
  outline-offset: 0;
}

@supports not selector(:focus-visible) {
  :focus {
    outline: 3px solid var(--focus-outline-color);
    outline-offset: 0;
  }
}

.modal-content {
  background-color: var(--secondary-background);
  border-radius: 0;
  border: 1px solid var(--secondary-color);
}

.modal-footer,
.modal-header {
  border-color: var(--secondary-color);
}

button,
input[type='submit'],
.btn {
  background-color: var(--quaternary-background);
  border: 3px solid var(--secondary-color);
  color: var(--secondary-color);
  border-radius: 0;
  text-decoration: none;
  white-space: pre-line;
  text-align: center;
}

button:hover,
input[type='submit']:hover,
.btn:hover,
.btn:focus:hover {
  border-color: var(--secondary-color);
  background-color: var(--secondary-color);
  color: var(--secondary-background);
  cursor: pointer;
}

.btn:active {
  background-color: var(--secondary-background);
}

.btn:focus {
  background-color: var(--quaternary-background);
  color: var(--secondary-color);
  border-color: var(--secondary-color);
}

.btn:active:hover {
  background-color: var(--secondary-color);
  color: var(--secondary-background);
}

button[aria-disabled='true'],
button[aria-disabled='true']:hover,
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  background-color: var(--quaternary-background);
  border-color: var(--gray-45);
  color: var(--secondary-color);
  opacity: 0.8;
}

.btn-cta {
  background-color: #feac32;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fecc4c), to(#ffac33));
  background-image: linear-gradient(#fecc4c, #ffac33);
  border: 3px solid #feac32;
  color: #0a0a23 !important;
  text-align: center;
}
.btn-cta:hover,
.btn-cta:focus,
.btn-cta:active:hover {
  background-color: #fecc4c !important;
  border: 3px solid #f1a02a;
  background-image: none;
  color: #0a0a23 !important;
}
.btn-cta:active {
  background-image: none;
  -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3);
          box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3);
}
.btn-link,
.btn-link:focus,
.btn-link:active {
  color: inherit;
  border: none;
  text-decoration: underline;
  background: transparent;
  padding: 0;
}
.btn-link:hover,
.btn-link:focus:active {
  background: var(--tertiary-background);
  text-decoration: none;
  color: inherit;
}

.btn-block {
  display: block;
  width: 100%;
}

/* Equivalent to the `medium` size of `@freecodecamp/ui` Button component */
.btn {
  padding: 6px 12px;
  font-size: 18px;
  line-height: 1.42857143;
}

/* Equivalent to the `large` size of `@freecodecamp/ui` Button component */
.btn-lg {
  padding: 0.625rem 1rem;
  font-size: 24px;
  line-height: 1.3333333;
}

/* Equivalent to the `small` size of `@freecodecamp/ui` Button component */
.btn-sm {
  padding: 0.25rem 0.625rem;
  font-size: 16px;
  line-height: 1.5;
}

.map-superblock-link {
  margin-bottom: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  font-size: 1rem;
  text-align: left;
}

.map-superblock-link.btn-lg svg {
  height: 100%;
  min-height: 20px;
  min-width: 16px;
  -webkit-margin-start: 5px;
          margin-inline-start: 5px;
}

.map-superblock-link:active {
  background-color: var(--quaternary-background);
}

.map-superblock-link:focus,
.map-superblock-link.btn-lg:focus svg {
  fill: var(--quaternary-background);
  background-color: var(--secondary-color);
  border-color: var(--gray-45);
  color: var(--secondary-background);
}

.map-superblock-link:focus:not(:focus-visible),
.map-superblock-link.btn-lg:focus:not(:focus-visible) svg {
  background-color: var(--quaternary-background);
  border-color: var(--secondary-color);
  color: var(--secondary-color);
  fill: var(--primary-color);
}

.map-superblock-link:hover,
.map-superblock-link.btn-lg:hover svg {
  fill: var(--quaternary-background) !important;
  background-color: var(--secondary-color) !important;
  border-color: var(--secondary-color) !important;
  color: var(--secondary-background) !important;
}

.map-superblock-link.btn-lg svg,
.map-icon,
.cert-header-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  fill: var(--primary-color);
}

.map-icon .inverted-color {
  fill: var(--quaternary-background);
}

.map-superblock-link.btn-lg:hover .map-icon .inverted-color {
  fill: var(--secondary-color);
}

.map-icon {
  width: 35px;
  max-height: 45px;
  margin-inline: 5px;
}

.cert-header-icon {
  display: block;
  width: 80px;
  height: 80px;
  margin: auto;
}

@media (min-width: 700px) {
  .map-superblock-link {
    font-size: 1.1rem;
  }
  .map-icon {
    width: 45px;
    max-height: 55px;
  }
  .cert-header-icon {
    width: 100px;
    height: 100px;
  }
}

@media (min-width: 1000px) {
  .map-icon {
    width: 50px;
  }
  .cert-header-icon {
    width: 120px;
    height: 120px;
  }
}

.form-control {
  color: var(--primary-color);
  border-color: var(--quaternary-background);
  background-color: var(--primary-background);
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border-radius: 0;
}

input {
  outline-color: transparent;
  border-color: var(--quaternary-background);
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border-radius: 0;
}

textarea {
  resize: vertical;
}

form {
  margin-bottom: 5px;
}
.form-control:focus,
input:focus {
  border-color: var(--tertiary-color);
}

/*
 * Text within backticks in en-US, es, and zh-CN challenge files
 * is parsed into spans with this class.
 */
.highlighted-text {
  padding: 1px 4px;
  background-color: var(--tertiary-background);
  color: var(--tertiary-color);
  border: 1px solid var(--gray-45);
  font-size: 90%;
}

code {
  padding: 1px 4px;
  background-color: var(--tertiary-background);
  color: var(--tertiary-color);
  border-radius: 0;
  font-family: var(--font-family-monospace);
  overflow-wrap: anywhere;
  font-size: 90%;
}

:not(pre) > code {
  border: 1px solid var(--gray-45);
}

.challenge-instructions code {
  white-space: break-spaces;
}

.challenge-output span {
  font-size: 1rem;
}

.breadcrumb {
  background: var(--tertiary-background);
  border-radius: 0;
}

code[class*='language-'],
pre[class*='language-'] {
  border-radius: 0;
}

/* TODO: Move this rule to @freecodecamp/ui. */
pre {
  color: inherit;
  background-color: inherit;
  border: none;
  border-radius: 0;
  display: block;
  padding: 9.5px;
  margin: 0 0 10px;
  font-size: 17px;
  line-height: 1.42857143;
  word-break: break-all;
  word-wrap: break-word;
}

/* TODO: Move this rule to @freecodecamp/ui. */
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}

.solution-viewer,
.solution-viewer pre {
  margin-bottom: 0;
}

.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}

.alert .btn,
[role='alert'] .btn {
  background-color: transparent;
  color: inherit;
  border-color: inherit;
}
.alert .btn:hover,
.alert .btn:focus,
.alert a:hover,
.alert a:focus,
[role='alert'] :is(a, .btn):is(:hover, :focus) {
  background-color: #31708f;
  color: #d9edf7;
  border-color: #31708f;
}

/* gatsby 404 */
#search {
  background-color: var(--quaternary-background);
  color: var(--primary-color);
  border-color: var(--quaternary-color, buttonface);
  border-width: 2px;
  border-style: outset;
  -o-border-image: initial;
     border-image: initial;
}

#search::-webkit-input-placeholder {
  color: var(--secondary-color);
}

#search::-moz-placeholder {
  color: var(--secondary-color);
}

#search:-ms-input-placeholder {
  color: var(--secondary-color);
}

#search::-ms-input-placeholder {
  color: var(--secondary-color);
}

#search::placeholder {
  color: var(--secondary-color);
}

/* WCAG fix */
.sr-only {
  color: white;
  background-color: black;
}

/*
 * /learn sets some default styles to all `h2`s.
 * These rules are to override the defaults and apply danger styles to `danger` modal.
 */
#headlessui-portal-root h2 {
  font-weight: normal;
}
#headlessui-portal-root .text-background-danger h2 {
  color: var(--background-danger);
}

.text-start {
  text-align: start;
}

.text-justify {
  text-align: justify;
}

/* Port from Bootstrap as the Col component from @freecodecamp/ui
   doesn't fully support the xs-8 + xs-4 layout.
   TODO: Remove these and replace the classes with Col
   once https://github.com/freeCodeCamp/ui/issues/162 is resolved. */
.col-xs-8,
.col-xs-4 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}

:root {
  --theme-color: #0a0a23;
  --yellow-gold: #ffbf00;
  --gray-00-translucent: rgba(255, 255, 255, 0.85);
  --gray-00: #ffffff;
  --gray-05: #f5f6f7;
  --gray-10: #dfdfe2;
  --gray-15: #d0d0d5;
  --gray-45: #858591;
  --gray-75: #3b3b4f;
  --gray-80: #2a2a40;
  --gray-85: #1b1b32;
  --gray-90: #0a0a23;
  --gray-90-translucent: rgba(10, 10, 35, 0.85);
  --purple-light: #dbb8ff;
  --purple-dark: #5a01a7;
  --yellow-light: #ffc300;
  --yellow-dark: #4d3800;
  --blue-light: rgb(153, 201, 255);
  --blue-light-translucent: rgba(153, 201, 255, 0.3);
  --blue-dark: rgb(0, 46, 173);
  --blue-dark-translucent: rgba(0, 46, 173, 0.3);
  --green-light: #acd157;
  --blue-mid: #198eee;
  --purple-mid: #9400d3;
  --green-dark: #00471b;
  --red-light: #ffadad;
  --red-dark: #850000;
  --love-light: var(--red30);
  --love-dark: var(--red70);
  --editor-background-light: #fffffe;
  --editor-background-dark: #2a2b40;
  --focus-outline-color: var(--blue-mid);
  --font-family-sans-serif: 'Lato', sans-serif;
  --font-family-monospace: 'Hack-ZeroSlash', monospace;
  --header-element-size: 28px;
  --header-sub-element-size: 45px;
  --header-height: 38px;
  --breadcrumbs-height: 44px;
  --action-row-height: 54px;
  --z-index-breadcrumbs: 100;
  --z-index-flash: 150;
  --z-index-site-header: 200;
}

:root:lang(ja) {
  --font-family-sans-serif: 'Lato', 'NotoSansJapanese', sans-serif;
}

.dark-palette {
  --primary-color-translucent: var(--gray-00-translucent);
  --primary-color: var(--gray-00);
  --secondary-color: var(--gray-05);
  --tertiary-color: var(--gray-10);
  --quaternary-color: var(--gray-15);
  --quaternary-background: var(--gray-75);
  --tertiary-background: var(--gray-80);
  --secondary-background: var(--gray-85);
  --primary-background: var(--gray-90);
  --primary-background-translucent: var(--gray-90-translucent);
  --highlight-color: var(--blue-light);
  --highlight-background: var(--blue-dark);
  --selection-color: var(--blue-light-translucent);
  --success-color: var(--green-light);
  --success-background: var(--green-dark);
  --danger-color: var(--red-light);
  --danger-background: var(--red-dark);
  --yellow-background: var(--yellow-dark);
  --yellow-color: var(--yellow-light);
  --purple-background: var(--purple-dark);
  --purple-color: var(--purple-light);
  --love-color: var(--love-light);
  --editor-background: var(--editor-background-dark);
}

.light-palette {
  --primary-color-translucent: var(--gray-90-translucent);
  --primary-color: var(--gray-90);
  --secondary-color: var(--gray-85);
  --tertiary-color: var(--gray-80);
  --quaternary-color: var(--gray-75);
  --quaternary-background: var(--gray-15);
  --tertiary-background: var(--gray-10);
  --secondary-background: var(--gray-05);
  --primary-background: var(--gray-00);
  --primary-background-translucent: var(--gray-00-translucent);
  --highlight-color: var(--blue-dark);
  --highlight-background: var(--blue-light);
  --selection-color: var(--blue-dark-translucent);
  --success-color: var(--green-dark);
  --success-background: var(--green-light);
  --danger-color: var(--red-dark);
  --danger-background: var(--red-light);
  --yellow-background: var(--yellow-light);
  --yellow-color: var(--yellow-dark);
  --purple-background: var(--purple-light);
  --purple-color: var(--purple-dark);
  --love-color: var(--love-dark);
  --editor-background: var(--editor-background-light);
}

/* 
Increase the spacing in paragraphs
*/

[dir='rtl'] p {
  line-height: 2rem;
}

/* 
Intro project buttons and headings 
*/

[dir='rtl'] .map-ui .superblock-link > svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/* 
 intro to courses section
*/

[dir='rtl'] .map-superblock-link.btn-lg > svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

[dir='rtl'] .landing-top figure img {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

[dir='rtl'] .landing-top .landing-top-two-column figure {
  -webkit-mask-image: -webkit-gradient(linear, right top, left top, from(transparent), color-stop(20%, black));
  -webkit-mask-image: linear-gradient(to left, transparent 0%, black 20%);
  mask-image: -webkit-gradient(linear, right top, left top, from(transparent), color-stop(20%, black));
  mask-image: linear-gradient(to left, transparent 0%, black 20%);
}

[dir='rtl'] .catalog-item-see-all > svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/* 
this is used to rotate arrow mark in certification block and donation
the "not" and "is" selector is used to stop it from affecting other section and pages
*/

/* arrow icon */
[dir='rtl']
  :is(.block:is(:not(.open)), .faq-item:is(:not(.open)))
  .map-title:not(.title-wrapper, .block-header-button-text)
  > svg:first-child {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/* 
external fontawesome link icon
*/

[dir='rtl'] .nav-link > .fa-up-right-from-square,
[dir='rtl'] td a[target='_blank'] > svg {
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg);
}

/* 
universal-nav-bar
and menu section
*/

[dir='rtl'] .nav-lang-list-option[aria-current='true'] {
  background-position: 10px center;
}

@media (min-width: 601px) {
  [dir='rtl'] .nav-list {
    right: auto;
    left: 0;
  }
}

@media (max-width: 980px) {
  [dir='rtl'] #universal-nav-logo {
    left: inherit;
    right: 17px;
  }

  [dir='rtl'] .fcc_searchBar .ais-Hits {
    left: auto;
    right: 15px;
  }

  [dir='rtl'] .universal-nav-right .fcc_searchBar {
    left: auto;
    right: 0;
  }
}

/* had to change overflow, because it clips the first words of the english articles */
[dir='rtl'] .footer-container {
  overflow-x: inherit;
}

/* 
New RWD project challenge
*/

[dir='rtl'] .tabs-row {
  gap: 10px;
}

/* 
sections that need to stay left to right
*/

/* special cases in steps */
[dir='rtl'] :has(#learn-app-wrapper) table,
[dir='rtl'] :has(#learn-app-wrapper) pre,
/* Code snippet*/
[dir='rtl'] code,
/* trending articles */
[dir='rtl'] .trending-guides .trending-guides-row div a,
[dir='rtl'] .overflow-guard,
[dir='rtl'] .challenge-preview,
/* timeline*/
[dir='rtl'] .timeline-pagination_list {
  direction: ltr;
}

[dir='rtl'] code {
  word-break: normal;
  unicode-bidi: isolate;
}

/* bootstrap display block breaks the code elements when they are stacked on top of each other to sort this, we remove it for display: grid  */

[dir='rtl'] pre[class*='language-']:has(code) {
  display: grid;
}

[dir='rtl'] .description-container,
[dir='rtl']
  .timeline-pagination_list
  .timeline-pagination_list_item:not(:has(button)) {
  direction: rtl;
}

/* react-reflex splitters need panes laid out LTR in DOM order, so the panes
are kept physically LTR and mirrored by reversing their order in the JSX */

[dir='rtl'] .desktop-layout .reflex-container:not(.horizontal) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

/* new Font Family because 'Hack-ZeroSlash' add letter spacing in Arabic letter which is extremely bad */

[dir='rtl'] body,
[dir='rtl'] .signup-btn,
[dir='rtl'] h1,
[dir='rtl'] h2,
[dir='rtl'] h3,
[dir='rtl'] h4,
[dir='rtl'] h5,
[dir='rtl'] h6,
[dir='rtl'] p,
[dir='rtl'] td,
[dir='rtl'] th,
[dir='rtl'] .donate-page-wrapper,
[dir='rtl'] .donate-page-wrapper b,
[dir='rtl'] .donate-page-wrapper h3,
[dir='rtl'] .donate-page-wrapper p,
[dir='rtl'] [name='payment-method'] {
  font-family: 'NotoSansArabic';
}

@-webkit-keyframes fadeInImg {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInImg {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.img-loading {
  opacity: 0;
  width: 100%;
  height: auto;
}

.img-loaded {
  -webkit-animation: fadeInImg cubic-bezier(0.23, 1, 0.32, 1) 1;
          animation: fadeInImg cubic-bezier(0.23, 1, 0.32, 1) 1;
  position: relative;
  opacity: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.7s;
          animation-duration: 0.7s;
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}

.notfound-page-wrapper {
  min-height: 100vh;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px;
  text-align: center;
}

.notfound-page-wrapper img {
  width: 380px;
  margin-bottom: 1rem;
}

.quote-wrapper {
  background-color: var(--tertiary-background);
  padding-inline: 42px 20px;
  padding-block: 20px;
  border-width: 0;
  position: relative;
  max-width: 980px;
}

.quote-wrapper .quote {
  font-style: italic;
  font-size: 20px;
  margin-bottom: 0.6em;
  text-align: left;
}

.quote-wrapper .quote::before {
  content: open-quote;
  font-size: 25px;
  font-weight: 700;
}

.quote-wrapper .author {
  text-align: right;
  margin: 0;
}


.catalog-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  width: 100%;
  gap: 2rem;
}

.catalog-filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 1rem;
}

.catalog-filters .dropdown {
  min-width: 250px;
}

.catalog-filters .dropdown-menu {
  max-height: 300px;
  overflow-y: auto;
}

.catalog-filters .dropdown-item {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
}

.catalog-filters button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.catalog-filters .dropdown-menu .dropdown-item input[type='checkbox'] {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.filter-checkbox {
  cursor: pointer;
  width: 18px;
  height: 18px;
  margin: 0 0.5rem 0 0;
  vertical-align: middle;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.catalog-item-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

.catalog-item {
  text-decoration: none;
  padding: 1rem;
  background-color: var(--primary-background);
  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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: 1px solid var(--background-quaternary);
  max-width: 400px;
}

.catalog-item h3 {
  margin: 0;
}

.catalog-item-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  color: var(--quaternary-color);
  font-size: 0.9rem;
}

.catalog-item p {
  margin-bottom: 0.9rem;
}

.large-p {
  font-size: 24px;
}

/* Buttons with a lot of text can overflow and mess up formatting on small
     screens, this stops that unless the word itself is too large. */

.btn {
  white-space: pre-line;
}

.logo-row h2 {
  height: 35px;
  padding: 0 10px;
}

.landing-page ul {
  list-style: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

.quote-partial .blockquote {
  font-size: 1.3rem;
  border: none;
}

.intro-description p {
  font-size: 1.17rem;
}

@media (max-width: 500px) {
  .quote-partial .blockquote {
    font-size: 1.2rem;
    border: none;
  }

  .intro-description p {
    font-size: 1rem;
  }
}
.quote-author {
  font-style: normal;
  color: var(--secondary-color);
}

.email-sign-up-alert {
  padding: 20px;
  border: 1px solid var(--quaternary-color);
  margin-bottom: 1.5rem;
}

.email-list-opt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.message-author {
  display: block;
  text-align: center;
  font-style: italic;
}

.learn-alert {
  padding: 20px;
  margin-bottom: 40px;
  border: 1px solid #31708f;
  color: #31708f;
  background:
    linear-gradient(
      -10deg,
      rgba(217, 237, 247, 1) 35%,
      rgba(237, 202, 216, 0) 75%,
      rgb(255 215 224) 100%
    ),
    radial-gradient(
      circle,
      rgba(255, 202, 225, 1) 0%,
      rgba(218, 234, 252, 1) 100%
    );
}

.learn-alert .btn {
  background-color: transparent;
  color: #31708f;
  border-color: #31708f;
}
.learn-alert .btn:hover,
.learn-alert .btn:focus,
.learn-alert a:hover,
.learn-alert a:focus {
  background-color: #31708f;
  color: #d9edf7;
  border-color: #31708f;
}

.university-alert p,
.learn-alert p {
  color: inherit;
}

.learn-alert .progress-wrapper {
  display: inline-block;
  width: 100%;
  margin: 1.2rem 0;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  border: 1px solid var(--blue70);
}

.learn-alert h3,
.learn-alert h2 {
  color: var(--blue70);
}

.learn-alert .progress-bar-wrap,
.progress-bar-background {
  background-color: transparent;
}

.learn-alert hr {
  border-top-color: var(--blue10);
}

.learn-alert .btn-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.learn-alert .donate-button,
.university-alert .donate-button {
  border-color: #31708f;
}

.university-alert {
  background-color: var(--blue05);
  background-repeat: repeat;
  -webkit-animation: slideBackground 10s linear infinite;
          animation: slideBackground 10s linear infinite;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="144" height="113" viewBox="0 0 144 113" fill="none"><path d="M83.0205 89.0206L83.0515 78.5206L98.0293 86.0649L114.053 78.1122L114.02 89.1121C114.02 89.1121 107.6 96.0932 97.9998 96.0648C88.3998 96.0365 83.0205 89.0206 83.0205 89.0206Z" fill="%23198EEE" fill-opacity="0.1"/><path d="M76 72L98 59L121 72V81L123.5 87.5H117L120 81V72.5L98 83L76 72Z" fill="%233099F0" fill-opacity="0.1"/><path d="M10.0205 33.0206L10.0515 22.5206L25.0293 30.0649L41.0529 22.1122L41.0204 33.1121C41.0204 33.1121 34.5997 40.0932 24.9998 40.0648C15.3998 40.0365 10.0205 33.0206 10.0205 33.0206Z" fill="%23198EEE" fill-opacity="0.1"/><path d="M3 16L25 3L48 16V25L50.5 31.5H44L47 25V16.5L25 27L3 16Z" fill="%233099F0" fill-opacity="0.1"/></svg>');
}

@-webkit-keyframes slideBackground {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 144px 113px;
  }
}

@keyframes slideBackground {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 144px 113px;
  }
}

.learn-alert .progress-bar-percent {
  border-right: 1px solid var(--blue70);
  background-color: var(--blue-mid);
  background-image: -webkit-gradient(linear, left top, right top, from(#31708f), to(#198eee));
  background-image: linear-gradient(to right, #31708f, #198eee);
  -webkit-box-shadow: none;
          box-shadow: none;
}

.annual-donation-alert p {
  margin-bottom: 0;
}

.daily-coding-challenge-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.daily-coding-challenge-date {
  font-size: 1.2rem;
}

.release-note {
  font-size: 0.8rem;
}

.daily-coding-challenge-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}

.donation-form {
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}

@media (max-width: 500px) {
  .donation-form {
    width: 100%;
  }
}

.donation-elements {
  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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-radius: 5px;
  border: solid 1px var(--gray-45);
  background: var(--gray-0);
}
.donation-elements div:nth-child(1) {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-radius: 5px 5px 0 0;
  border: none;
}

.donation-elements div:nth-child(2) {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-color: var(--gray-45);
  border-radius: 0 0 5px 5px;
  border-right: none;
  border-left: none;
  border-bottom: none;
}
.donation-elements.failed-submission {
  border: solid 3px #eb1c26;
}

@media (min-width: 380px) {
  .donation-elements {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .donation-elements div:nth-child(1) {
    -webkit-box-flex: 4;
        -ms-flex: 4 4 80%;
            flex: 4 4 80%;
    border-radius: 5px 0 0 5px;
    border: none;
  }
  .donation-elements div:nth-child(2) {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100px;
            flex: 1 1 100px;
    border-radius: 0 5px 5px 0;
    border: 1px solid var(--gray-45);
    border-right: none;
    border-top: none;
    border-bottom: none;
  }
}

.donation-completion,
.donation-completion-body {
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.donation-completion-loading {
  min-height: 154px;
}

.donation-completion-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.donation-completion-body .complete-button {
  border-color: var(--green70);
}

.donation-email-container label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.donation-email-container input {
  font-weight: normal;
}

.paypal-buttons-container {
  min-height: auto;
  margin-bottom: 8px;
}

.donate-input-element {
  height: 40px;
  padding: 0 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.donation-form .form-control::-webkit-input-placeholder {
  color: #707070;
}

.donation-form .form-control::-moz-placeholder {
  color: #707070;
}

.donation-form .form-control:-ms-input-placeholder {
  color: #707070;
}

.donation-form .form-control::-ms-input-placeholder {
  color: #707070;
}

.donation-form .form-control::placeholder {
  color: #707070;
}

.donation-form .form-control:focus {
  border-color: #66afe9;
  outline-color: transparent;
  -webkit-box-shadow:
    inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(102, 175, 233, 0.6);
          box-shadow:
    inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(102, 175, 233, 0.6);
}

.donation-form .email--invalid.form-control:focus,
.donation-form .email--invalid,
.donation-form {
  border-color: #eb1c26;
  color: #eb1c26;
}

.wallet {
  word-break: break-all;
}

.alert p {
  color: inherit;
}

.donate-tabs > .nav-pills {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: justify;
      align-content: space-between;
}

.donate-tabs > .nav-pills > li {
  width: 100%;
  text-align: center;
}

.donate-tabs > .nav-pills > li > a {
  text-transform: capitalize;
  text-decoration: none;
  border: 3px solid var(--yellow-light);
  border-radius: 0;
  color: var(--gray-85);
  margin: 0 1px;
}

.donate-tabs > .nav-pills > li > a:hover,
.donate-tabs > .nav-pills > li > a:focus {
  background-color: #ffe18f;
  cursor: pointer;
}

.donate-tabs > .nav-pills > li.active > a,
.donate-tabs > .nav-pills > li.active > a:hover,
.donate-tabs > .nav-pills > li.active > a:focus {
  color: var(--gray-85);
  background-color: var(--yellow-light);
  border: 3px solid var(--yellow-light);
  text-decoration: none;
  border-radius: 0;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
          box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.amount-values {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: justify;
      align-content: space-between;
}

.amount-value {
  width: 100%;
}

.amount-values > label {
  margin: 0 2px;
  color: var(--gray-85);
  border: 3px solid var(--yellow-light);
  border-radius: 0;
  background-color: transparent;
}

.amount-values.btn-group .btn + .btn {
  margin: 0 2px;
}

.amount-values > label:hover,
.amount-values > label:focus,
.amount-values > label:active:hover {
  background-color: #ffe18f;
  cursor: pointer;
  color: var(--gray-85);
  border-color: var(--yellow-light);
}

.amount-values > label:focus,
.amount-values > label:active:hover {
  outline-style: auto;
  outline-width: 5px;
  outline-offset: -2px;
}

.amount-values > label.active,
.amount-values > label.active:hover,
.amount-values > label.active:focus {
  color: var(--gray-85);
  background-color: var(--yellow-light);
  border: 3px solid var(--yellow-light);
  border-radius: 0;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
          box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

@media (max-width: 500px) {
  .amount-values {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .amount-values > label {
    width: 31.3%;
    margin-bottom: 3px;
  }
  .amount-values.btn-group > .btn:first-child {
    -webkit-margin-start: 2px;
            margin-inline-start: 2px;
    margin-bottom: 3px;
  }
  .amount-values.btn-group .btn + .btn {
    /* margin: 0 2px; */
    margin-bottom: 3px;
  }
}

li.disabled {
  cursor: not-allowed;
}

li.disabled > a {
  border: 3px solid var(--gray-15) !important;
  color: var(--gray-15) !important;
}

@media (max-width: 400px) {
  .donate-tabs > .nav-pills > li > a {
    font-size: 0.8rem;
    padding: 10px 5px;
  }
}

.donation-icon {
  height: 150px;
  width: auto;
}

.no-delay-fade-in {
  opacity: 0;
  pointer-events: none;
  -webkit-animation: opacity-animation 1s linear 100ms forwards;
          animation: opacity-animation 1s linear 100ms forwards;
}

@-webkit-keyframes opacity-animation {
  0% {
    pointer-events: none;
    opacity: 0;
  }
  100% {
    pointer-events: auto;
    opacity: 1;
  }
}

@keyframes opacity-animation {
  0% {
    pointer-events: none;
    opacity: 0;
  }
  100% {
    pointer-events: auto;
    opacity: 1;
  }
}

.donation-modal h2 {
  font-weight: 600 !important;
  font-size: 1.2rem;
}

.donation-modal b {
  width: 100%;
  display: inline-block;
}

.donation-modal p {
  font-size: 0.9rem;
}

.donation-modal ul {
  padding: 0;
}

.donation-modal li {
  list-style-type: none;
  margin-bottom: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.donation-modal li svg {
  margin: 0 5px;
}

.donation-label-modal {
  font-weight: normal;
  text-align: center;
}

.edit-amount-confirmation {
  margin: 0 auto;
  max-width: 350px;
  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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  & > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 max-content;
            flex: 0 0 max-content;
  }
}

/*
 * We currently cannot reuse the Button component from `ui-components`
 * and are using the native `<button>` with custom CSS.
 * This implementation is temporary until we can find a solution for this button use case.
 * Ref: https://github.com/freeCodeCamp/freeCodeCamp/issues/52349
 */
.close-button {
  text-align: center;
  margin: 0 auto;
  display: block;
  padding: 0 10px;
  font-weight: normal;
  background-color: transparent;
  border: 0;
  text-decoration-line: underline;
  /* This is required in order to improve text readability in Arabic */
  text-underline-position: under;
}
.close-button:hover {
  text-decoration-line: none;
  background-color: var(--quaternary-background);
  color: var(--quaternary-color);
}

@media (max-width: 500px) {
  h1 {
    font-size: 1.3rem;
  }
}

.donation-tier-selection [role='tablist'] button {
  background-color: transparent;
}
.donation-tier-selection
  [role='tablist']
  button:hover:not([data-state='active']) {
  background-color: var(--quaternary-background);
  color: var(--quaternary-color);
}

.donation-tier-selection [role='tablist'] button[data-state='active'] {
  background-color: var(--quaternary-color);
}

.donation-icon-container {
  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;
  margin: 30px;
}

.form-payments-wrapper {
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: 15px;
}

.form-payment-methods {
  height: 20px;
  width: 200px;
}

.paypal-button {
  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;
}

.paypal-button svg {
  margin-top: 5px;
  height: 22px;
}

@media screen and (min-width: 355px) {
  .form-payment-methods {
    height: 30px;
    width: 300px;
  }
}

@media screen and (min-width: 991px) {
  .form-payments-wrapper {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 0;
    height: 39px;
  }
  .donation-icon-container {
    margin: 40px;
  }

  .donation-modal h2 {
    font-weight: 700 !important;
    font-size: 1.5rem;
  }
}

.paypal-button-onetime {
  border: 1px solid #ffc439;
  padding: 2px;
  border-radius: 5px;
  content: ' ';
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #ffc439;
  background-image: url('data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIgogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDU2Ni45MyAxMzcuMzUiPgogIDxkZWZzPgogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiMwMDllZTM7fS5jbHMtMSwuY2xzLTIsLmNscy0ze2ZpbGwtcnVsZTpldmVub2RkO30uY2xzLTJ7ZmlsbDojMTEzOTg0O30uY2xzLTN7ZmlsbDojMTcyYzcwO308L3N0eWxlPgogIDwvZGVmcz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xOTIuOTUsMzg2Ljg3aDM4Ljc0YzIwLjgsMCwyOC42MywxMC41MywyNy40MiwyNi0yLDI1LjU0LTE3LjQ0LDM5LjY3LTM3LjkyLDM5LjY3SDIxMC44NWMtMi44MSwwLTQuNywxLjg2LTUuNDYsNi45TDIwMSw0ODguNzRjLTAuMjksMS45LTEuMjksMy0yLjc5LDMuMTVIMTczLjg3Yy0yLjI5LDAtMy4xLTEuNzUtMi41LTUuNTRsMTQuODQtOTMuOTNDMTg2Ljc5LDM4OC42NiwxODguODUsMzg2Ljg3LDE5Mi45NSwzODYuODdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTQzLjQ4IC0zNTQuNTQpIi8+CiAgPHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzYxLjE0LDM4NS4xM2MxMy4wNywwLDI1LjEzLDcuMDksMjMuNDgsMjQuNzYtMiwyMS0xMy4yNSwzMi42Mi0zMSwzMi42N0gzMzguMTFjLTIuMjMsMC0zLjMxLDEuODItMy44OSw1LjU1bC0zLDE5LjA3Yy0wLjQ1LDIuODgtMS45Myw0LjMtNC4xMSw0LjNIMzEyLjY4Yy0yLjMsMC0zLjEtMS40Ny0yLjU5LTQuNzZMMzIyLDM5MC4yOWMwLjU5LTMuNzYsMi01LjE2LDQuNTctNS4xNmgzNC41NFptLTIzLjUsNDAuOTJoMTEuNzVjNy4zNS0uMjgsMTIuMjMtNS4zNywxMi43Mi0xNC41NSwwLjMtNS42Ny0zLjUzLTkuNzMtOS42Mi05LjdsLTExLjA2LjA1LTMuNzksMjQuMmgwWm04Ni4yMSwzOS41OGMxLjMyLTEuMiwyLjY2LTEuODIsMi40Ny0uMzRsLTAuNDcsMy41NGMtMC4yNCwxLjg1LjQ5LDIuODMsMi4yMSwyLjgzaDEyLjgyYzIuMTYsMCwzLjIxLS44NywzLjc0LTQuMjFsNy45LTQ5LjU4YzAuNC0yLjQ5LS4yMS0zLjcxLTIuMS0zLjcxSDQzNi4zMmMtMS4yNywwLTEuODkuNzEtMi4yMiwyLjY1bC0wLjUyLDMuMDVjLTAuMjcsMS41OS0xLDEuODctMS42OC4yNy0yLjM5LTUuNjYtOC40OS04LjItMTctOC0xOS43Ny40MS0zMy4xLDE1LjQyLTM0LjUzLDM0LjY2LTEuMSwxNC44OCw5LjU2LDI2LjU3LDIzLjYyLDI2LjU3LDEwLjIsMCwxNC43Ni0zLDE5LjktNy43aDBaTTQxMy4xMSw0NThjLTguNTEsMC0xNC40NC02Ljc5LTEzLjIxLTE1LjExczkuMTktMTUuMTEsMTcuNy0xNS4xMSwxNC40NCw2Ljc5LDEzLjIxLDE1LjExUzQyMS42Myw0NTgsNDEzLjExLDQ1OGgwWm02NC41LTQ0aC0xM2MtMi42OCwwLTMuNzcsMi0yLjkyLDQuNDZsMTYuMTQsNDcuMjZMNDYyLDQ4OC4yMWMtMS4zMywxLjg4LS4zLDMuNTksMS41NywzLjU5aDE0LjYxYTQuNDcsNC40NywwLDAsMCw0LjM0LTIuMTNsNDkuNjQtNzEuMmMxLjUzLTIuMTkuODEtNC40OS0xLjctNC40OUg1MTYuNjNjLTIuMzcsMC0zLjMyLjk0LTQuNjgsMi45MWwtMjAuNywzMEw0ODIsNDE2LjgyQzQ4MS40Niw0MTUsNDgwLjExLDQxNCw0NzcuNjIsNDE0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE0My40OCAtMzU0LjU0KSIvPgogIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTU4My44LDM4NS4xM2MxMy4wNywwLDI1LjEzLDcuMDksMjMuNDgsMjQuNzYtMiwyMS0xMy4yNSwzMi42Mi0zMSwzMi42N0g1NjAuNzhjLTIuMjMsMC0zLjMxLDEuODItMy44OSw1LjU1bC0zLDE5LjA3Yy0wLjQ1LDIuODgtMS45Myw0LjMtNC4xMSw0LjNINTM1LjM1Yy0yLjMsMC0zLjEtMS40Ny0yLjU5LTQuNzZsMTEuOTMtNzYuNDVjMC41OS0zLjc2LDItNS4xNiw0LjU3LTUuMTZINTgzLjhabS0yMy41LDQwLjkyaDExLjc1YzcuMzUtLjI4LDEyLjIzLTUuMzcsMTIuNzItMTQuNTUsMC4zLTUuNjctMy41My05LjczLTkuNjItOS43bC0xMS4wNi4wNS0zLjc5LDI0LjJoMFptODYuMjEsMzkuNThjMS4zMi0xLjIsMi42Ni0xLjgyLDIuNDctLjM0bC0wLjQ3LDMuNTRjLTAuMjQsMS44NS40OSwyLjgzLDIuMjEsMi44M2gxMi44MmMyLjE2LDAsMy4yMS0uODcsMy43NC00LjIxbDcuOS00OS41OGMwLjQtMi40OS0uMjEtMy43MS0yLjEtMy43MUg2NTljLTEuMjcsMC0xLjg5LjcxLTIuMjIsMi42NWwtMC41MiwzLjA1Yy0wLjI3LDEuNTktMSwxLjg3LTEuNjguMjctMi4zOS01LjY2LTguNDktOC4yLTE3LTgtMTkuNzcuNDEtMzMuMSwxNS40Mi0zNC41MywzNC42Ni0xLjEsMTQuODgsOS41NiwyNi41NywyMy42MiwyNi41NywxMC4yLDAsMTQuNzYtMywxOS45LTcuN2gwWk02MzUuNzgsNDU4Yy04LjUxLDAtMTQuNDQtNi43OS0xMy4yMS0xNS4xMXM5LjE5LTE1LjExLDE3LjctMTUuMTEsMTQuNDQsNi43OSwxMy4yMSwxNS4xMVM2NDQuMjksNDU4LDYzNS43OCw0NThoMFptNTkuMTMsMTMuNzRoLTE0LjhhMS43NSwxLjc1LDAsMCwxLTEuODEtMmwxMy04Mi4zNmEyLjU1LDIuNTUsMCwwLDEsMi40Ni0yaDE0LjhhMS43NSwxLjc1LDAsMCwxLDEuODEsMmwtMTMsODIuMzZBMi41NSwyLjU1LDAsMCwxLDY5NC45MSw0NzEuNzZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTQzLjQ4IC0zNTQuNTQpIi8+CiAgPHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMTY4LjcyLDM1NC41NGgzOC43OGMxMC45MiwwLDIzLjg4LjM1LDMyLjU0LDgsNS43OSw1LjExLDguODMsMTMuMjQsOC4xMywyMi0yLjM4LDI5LjYxLTIwLjA5LDQ2LjItNDMuODUsNDYuMkgxODUuMmMtMy4yNiwwLTUuNDEsMi4xNi02LjMzLDhsLTUuMzQsMzRjLTAuMzUsMi4yLTEuMywzLjUtMywzLjY2SDE0Ni42Yy0yLjY1LDAtMy41OS0yLTIuOS02LjQyTDE2MC45LDM2MUMxNjEuNTksMzU2LjYyLDE2NCwzNTQuNTQsMTY4LjcyLDM1NC41NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDMuNDggLTM1NC41NCkiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik0xNzkuNDMsNDM1LjI5bDYuNzctNDIuODdjMC41OS0zLjc2LDIuNjUtNS41Niw2Ljc1LTUuNTZoMzguNzRjNi40MSwwLDExLjYsMSwxNS42NiwyLjg1LTMuODksMjYuMzYtMjAuOTQsNDEtNDMuMjYsNDFIMTg1QzE4Mi40NCw0MzAuNzIsMTgwLjU2LDQzMiwxNzkuNDMsNDM1LjI5WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE0My40OCAtMzU0LjU0KSIvPgo8L3N2Zz4=');
  background-size: 84px;
  height: 42px;
}

.paypal-button-onetime:hover,
.paypal-button-onetime:active,
.paypal-button-onetime:active:hover {
  border: 1px solid #ffc439;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #ffc439;
  background-image: url('data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIgogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDU2Ni45MyAxMzcuMzUiPgogIDxkZWZzPgogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiMwMDllZTM7fS5jbHMtMSwuY2xzLTIsLmNscy0ze2ZpbGwtcnVsZTpldmVub2RkO30uY2xzLTJ7ZmlsbDojMTEzOTg0O30uY2xzLTN7ZmlsbDojMTcyYzcwO308L3N0eWxlPgogIDwvZGVmcz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xOTIuOTUsMzg2Ljg3aDM4Ljc0YzIwLjgsMCwyOC42MywxMC41MywyNy40MiwyNi0yLDI1LjU0LTE3LjQ0LDM5LjY3LTM3LjkyLDM5LjY3SDIxMC44NWMtMi44MSwwLTQuNywxLjg2LTUuNDYsNi45TDIwMSw0ODguNzRjLTAuMjksMS45LTEuMjksMy0yLjc5LDMuMTVIMTczLjg3Yy0yLjI5LDAtMy4xLTEuNzUtMi41LTUuNTRsMTQuODQtOTMuOTNDMTg2Ljc5LDM4OC42NiwxODguODUsMzg2Ljg3LDE5Mi45NSwzODYuODdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTQzLjQ4IC0zNTQuNTQpIi8+CiAgPHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzYxLjE0LDM4NS4xM2MxMy4wNywwLDI1LjEzLDcuMDksMjMuNDgsMjQuNzYtMiwyMS0xMy4yNSwzMi42Mi0zMSwzMi42N0gzMzguMTFjLTIuMjMsMC0zLjMxLDEuODItMy44OSw1LjU1bC0zLDE5LjA3Yy0wLjQ1LDIuODgtMS45Myw0LjMtNC4xMSw0LjNIMzEyLjY4Yy0yLjMsMC0zLjEtMS40Ny0yLjU5LTQuNzZMMzIyLDM5MC4yOWMwLjU5LTMuNzYsMi01LjE2LDQuNTctNS4xNmgzNC41NFptLTIzLjUsNDAuOTJoMTEuNzVjNy4zNS0uMjgsMTIuMjMtNS4zNywxMi43Mi0xNC41NSwwLjMtNS42Ny0zLjUzLTkuNzMtOS42Mi05LjdsLTExLjA2LjA1LTMuNzksMjQuMmgwWm04Ni4yMSwzOS41OGMxLjMyLTEuMiwyLjY2LTEuODIsMi40Ny0uMzRsLTAuNDcsMy41NGMtMC4yNCwxLjg1LjQ5LDIuODMsMi4yMSwyLjgzaDEyLjgyYzIuMTYsMCwzLjIxLS44NywzLjc0LTQuMjFsNy45LTQ5LjU4YzAuNC0yLjQ5LS4yMS0zLjcxLTIuMS0zLjcxSDQzNi4zMmMtMS4yNywwLTEuODkuNzEtMi4yMiwyLjY1bC0wLjUyLDMuMDVjLTAuMjcsMS41OS0xLDEuODctMS42OC4yNy0yLjM5LTUuNjYtOC40OS04LjItMTctOC0xOS43Ny40MS0zMy4xLDE1LjQyLTM0LjUzLDM0LjY2LTEuMSwxNC44OCw5LjU2LDI2LjU3LDIzLjYyLDI2LjU3LDEwLjIsMCwxNC43Ni0zLDE5LjktNy43aDBaTTQxMy4xMSw0NThjLTguNTEsMC0xNC40NC02Ljc5LTEzLjIxLTE1LjExczkuMTktMTUuMTEsMTcuNy0xNS4xMSwxNC40NCw2Ljc5LDEzLjIxLDE1LjExUzQyMS42Myw0NTgsNDEzLjExLDQ1OGgwWm02NC41LTQ0aC0xM2MtMi42OCwwLTMuNzcsMi0yLjkyLDQuNDZsMTYuMTQsNDcuMjZMNDYyLDQ4OC4yMWMtMS4zMywxLjg4LS4zLDMuNTksMS41NywzLjU5aDE0LjYxYTQuNDcsNC40NywwLDAsMCw0LjM0LTIuMTNsNDkuNjQtNzEuMmMxLjUzLTIuMTkuODEtNC40OS0xLjctNC40OUg1MTYuNjNjLTIuMzcsMC0zLjMyLjk0LTQuNjgsMi45MWwtMjAuNywzMEw0ODIsNDE2LjgyQzQ4MS40Niw0MTUsNDgwLjExLDQxNCw0NzcuNjIsNDE0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE0My40OCAtMzU0LjU0KSIvPgogIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTU4My44LDM4NS4xM2MxMy4wNywwLDI1LjEzLDcuMDksMjMuNDgsMjQuNzYtMiwyMS0xMy4yNSwzMi42Mi0zMSwzMi42N0g1NjAuNzhjLTIuMjMsMC0zLjMxLDEuODItMy44OSw1LjU1bC0zLDE5LjA3Yy0wLjQ1LDIuODgtMS45Myw0LjMtNC4xMSw0LjNINTM1LjM1Yy0yLjMsMC0zLjEtMS40Ny0yLjU5LTQuNzZsMTEuOTMtNzYuNDVjMC41OS0zLjc2LDItNS4xNiw0LjU3LTUuMTZINTgzLjhabS0yMy41LDQwLjkyaDExLjc1YzcuMzUtLjI4LDEyLjIzLTUuMzcsMTIuNzItMTQuNTUsMC4zLTUuNjctMy41My05LjczLTkuNjItOS43bC0xMS4wNi4wNS0zLjc5LDI0LjJoMFptODYuMjEsMzkuNThjMS4zMi0xLjIsMi42Ni0xLjgyLDIuNDctLjM0bC0wLjQ3LDMuNTRjLTAuMjQsMS44NS40OSwyLjgzLDIuMjEsMi44M2gxMi44MmMyLjE2LDAsMy4yMS0uODcsMy43NC00LjIxbDcuOS00OS41OGMwLjQtMi40OS0uMjEtMy43MS0yLjEtMy43MUg2NTljLTEuMjcsMC0xLjg5LjcxLTIuMjIsMi42NWwtMC41MiwzLjA1Yy0wLjI3LDEuNTktMSwxLjg3LTEuNjguMjctMi4zOS01LjY2LTguNDktOC4yLTE3LTgtMTkuNzcuNDEtMzMuMSwxNS40Mi0zNC41MywzNC42Ni0xLjEsMTQuODgsOS41NiwyNi41NywyMy42MiwyNi41NywxMC4yLDAsMTQuNzYtMywxOS45LTcuN2gwWk02MzUuNzgsNDU4Yy04LjUxLDAtMTQuNDQtNi43OS0xMy4yMS0xNS4xMXM5LjE5LTE1LjExLDE3LjctMTUuMTEsMTQuNDQsNi43OSwxMy4yMSwxNS4xMVM2NDQuMjksNDU4LDYzNS43OCw0NThoMFptNTkuMTMsMTMuNzRoLTE0LjhhMS43NSwxLjc1LDAsMCwxLTEuODEtMmwxMy04Mi4zNmEyLjU1LDIuNTUsMCwwLDEsMi40Ni0yaDE0LjhhMS43NSwxLjc1LDAsMCwxLDEuODEsMmwtMTMsODIuMzZBMi41NSwyLjU1LDAsMCwxLDY5NC45MSw0NzEuNzZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTQzLjQ4IC0zNTQuNTQpIi8+CiAgPHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMTY4LjcyLDM1NC41NGgzOC43OGMxMC45MiwwLDIzLjg4LjM1LDMyLjU0LDgsNS43OSw1LjExLDguODMsMTMuMjQsOC4xMywyMi0yLjM4LDI5LjYxLTIwLjA5LDQ2LjItNDMuODUsNDYuMkgxODUuMmMtMy4yNiwwLTUuNDEsMi4xNi02LjMzLDhsLTUuMzQsMzRjLTAuMzUsMi4yLTEuMywzLjUtMywzLjY2SDE0Ni42Yy0yLjY1LDAtMy41OS0yLTIuOS02LjQyTDE2MC45LDM2MUMxNjEuNTksMzU2LjYyLDE2NCwzNTQuNTQsMTY4LjcyLDM1NC41NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDMuNDggLTM1NC41NCkiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik0xNzkuNDMsNDM1LjI5bDYuNzctNDIuODdjMC41OS0zLjc2LDIuNjUtNS41Niw2Ljc1LTUuNTZoMzguNzRjNi40MSwwLDExLjYsMSwxNS42NiwyLjg1LTMuODksMjYuMzYtMjAuOTQsNDEtNDMuMjYsNDFIMTg1QzE4Mi40NCw0MzAuNzIsMTgwLjU2LDQzMiwxNzkuNDMsNDM1LjI5WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE0My40OCAtMzU0LjU0KSIvPgo8L3N2Zz4=');
  background-size: 84px;
  -webkit-filter: brightness(0.95);
          filter: brightness(0.95);
}

.apple-pay-logo,
.google-pay-logo,
.accepted-cards {
  height: 30px;
  width: auto;
  padding: 0 10px;
}

.accepted-cards {
  height: 20px;
  -ms-flex-item-align: center;
      align-self: center;
}

button.confirm-donation-btn {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
  border-radius: 5px;
  background-color: var(--yellow-light);
  color: black;
  font-weight: bold;
  width: 100%;
  min-height: 42px;
  border: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
button.confirm-donation-btn:hover {
  color: black;
  background-color: #f2ba38;
  border-color: #f2ba38;
}
button.confirm-donation-btn:disabled {
  cursor: not-allowed;
  background-color: var(--quaternary-background);
  border-color: var(--quaternary-color);
  color: var(--quaternary-color);
  opacity: 0.65;
}

a.patreon-button {
  border-radius: 5px;
  background-color: #ff424d;
  min-height: 42px;
  border: none;
  display: grid;
  place-items: center;
}
a.patreon-button svg {
  max-height: 12px;
  fill: white;
}
a.patreon-button:active,
a.patreon-button:active:focus,
a.patreon-button:hover {
  background-color: #e13d47;
}

.dark-palette a.patreon-button {
  background-color: white;
}

.dark-palette a.patreon-button svg {
  fill: #ff424d;
}
.dark-palette a.patreon-button:active,
.dark-palette a.patreon-button:active:focus,
.dark-palette a.patreon-button:hover {
  background-color: #efefef;
}

.hide {
  display: none;
}

/*
 * We currently cannot reuse the Button component from `ui-components`
 * and are using the native `<button>` with custom CSS.
 * This implementation is temporary until we can find a solution for this button use case.
 * Ref: https://github.com/freeCodeCamp/freeCodeCamp/issues/52349
 */
.edit-amount-button {
  font-weight: normal;
  background-color: transparent;
  border: 0;
  text-decoration-line: underline;
  /* This is required in order to improve text readability in Arabic */
  text-underline-position: under;
  padding: 0;
}

.edit-amount-button:hover {
  text-decoration-line: none;
  background-color: var(--quaternary-background);
  color: var(--quaternary-color);
}

.donate-btn-group {
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 350px;
  margin: 0 auto;
}

.donate-btn-group > * {
  width: 100%;
}

.wallets-form {
  margin-bottom: 12px;
}

.form-status {
  min-height: 35px;
  padding: 5px 0;
}

.form-status p {
  font-size: 16px;
  color: #eb1c26;
  text-align: left;
  margin: 0;
  font-weight: bold;
}

.separator {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-size: 0.9em;
  margin: 20px 0;
  color: var(--quaternary-color);
}

.separator::before,
.separator::after {
  content: '';
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-bottom: 1px solid var(--quaternary-background);
}

.separator:not(:empty)::before {
  -webkit-margin-end: 0.25em;
          margin-inline-end: 0.25em;
}

.separator:not(:empty)::after {
  -webkit-margin-start: 0.25em;
          margin-inline-start: 0.25em;
}

.faq-question-heading {
  margin: 0;
}

.faq-item .faq-question-title {
  color: var(--secondary-color);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

.faq-item div {
  width: 100%;
  padding: 10px 15px;
}

.faq-item blockquote {
  font-size: 1em;
  border-left-color: var(--quaternary-background);
}

.security-legend {
  padding: 10px;
  border: 2px solid var(--quaternary-background);
  border-radius: 4px;
}

.security-legend > legend {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 0.9em;
  color: var(--quaternary-color);
  border: none;
  margin-bottom: 0;
  padding: 0 4px;
  left: 0;
  -webkit-margin-start: -2px;
          margin-inline-start: -2px;
}

.confirm-donation-btn svg.svg-inline--fa.fa-lock {
  margin-bottom: 2px;
}

/*
 * We currently cannot reuse the Button component from `ui-components`
 * and are using the native `<button>` with custom CSS.
 * This implementation is temporary until we can find a solution for this button use case.
 * Ref: https://github.com/freeCodeCamp/freeCodeCamp/issues/52349
 */
.try-again-button {
  background-color: var(--blue05);
  color: var(--blue70);
  border-radius: 0;
  border: 3px solid var(--blue70);
  padding: 6px 12px;
}
.try-again-button:focus,
.try-again-button:hover,
.try-again-button:active {
  color: var(--blue05);
  background-color: var(--blue70);
  border-color: var(--blue70);
}

/* donation page */
.donate-supporter-page-section h1 {
  font-size: 2.5rem;
}

.donate-supporter-page-section .donation-section > div {
  margin-top: 40px;
  margin-bottom: 40px;
}

.donate-supporter-page-section .donation-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 60vh;
}

.donate-supporter-page-section .paypal-buttons-container {
  margin-bottom: 0;
}

.dark-palette .gradient-container {
  position: relative;
  background:
    linear-gradient(
      -10deg,
      rgb(7 40 94) 35%,
      rgba(237, 202, 216, 0) 75%,
      rgb(127 30 52) 100%
    ),
    radial-gradient(circle, rgb(112 0 48) 0%, rgb(0 63 136) 100%);
}

.light-palette .gradient-container {
  position: relative;
  background:
    linear-gradient(
      -10deg,
      rgb(223 243 255) 35%,
      rgba(237, 202, 216, 0) 75%,
      rgb(255 215 224) 100%
    ),
    radial-gradient(
      circle,
      rgba(255, 202, 225, 1) 0%,
      rgba(218, 234, 252, 1) 100%
    );
}

.light-palette .gradient-foreground {
  background-image:
    linear-gradient(
      -10deg,
      rgb(0, 51, 133) 35%,
      rgba(237, 202, 216, 0) 75%,
      rgb(150, 15, 46) 100%
    ),
    radial-gradient(circle, rgb(157, 1, 69) 0%, rgb(0, 89, 189) 100%);
  color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
}

.dark-palette .gradient-foreground {
  background-image:
    linear-gradient(
      -10deg,
      rgb(223 243 255) 35%,
      rgba(237, 202, 216, 0) 75%,
      rgb(255 215 224) 100%
    ),
    radial-gradient(circle, rgb(255 139 189) 0%, rgb(187 219 255) 100%);
  color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
}

.supporters-background {
  background-repeat: repeat;
}
.dark-palette .supporters-background {
  background-image: url("data:image/svg+xml,%3Csvg width='248' height='307' viewBox='0 0 248 307' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M125 154V193.7L147.317 206.756L171 193.7V154H125ZM135.343 163.479C135.342 163.278 135.203 163.079 135.063 162.94C134.862 162.801 134.654 162.732 134.453 162.733C133.836 162.734 132.932 163.373 131.847 164.602C128.833 168.041 127.293 171.372 127.355 176.284C127.423 181.194 128.626 184.796 131.287 188.059C132.654 189.78 133.701 190.664 134.449 190.663C134.65 190.663 134.928 190.523 135.058 190.383C135.197 190.182 135.335 189.974 135.335 189.773C135.334 189.364 135.054 188.886 134.375 188.279C131.142 185.2 129.478 181.226 129.466 176.279C129.456 171.807 131.037 168.1 134.181 165.072C134.935 164.298 135.343 163.827 135.343 163.479ZM151.577 177.164C151.27 177.086 151.37 176.642 151.535 175.907C152.005 173.812 153.006 169.354 146.627 164.277C146.627 164.277 147.758 167.869 142.058 175.884C136.656 183.474 143.763 188.158 144.528 188.631C144.57 188.658 144.594 188.671 144.594 188.671C144.594 188.671 144.571 188.657 144.528 188.631C144.038 188.314 141.08 186.034 145.222 179.273C145.465 178.871 145.731 178.48 146.019 178.056C146.686 177.076 147.474 175.917 148.386 174.024C148.386 174.024 149.543 175.657 148.939 179.198C148.14 183.933 151.822 183.279 152.733 183.118C152.851 183.097 152.923 183.084 152.931 183.093C154.584 185.039 151.648 188.434 151.362 188.661C151.347 188.671 151.343 188.674 151.349 188.671C151.353 188.669 151.357 188.665 151.362 188.661L151.364 188.66C151.791 188.376 159.911 182.969 153.762 174.978C153.64 175.101 153.507 175.351 153.353 175.64C152.958 176.382 152.426 177.382 151.577 177.164ZM160.773 163.476C160.773 163.275 160.912 163.075 161.052 162.936C161.253 162.798 161.461 162.729 161.662 162.729C162.279 162.731 163.183 163.369 164.268 164.598C167.282 168.037 168.822 171.368 168.76 176.28C168.692 181.19 167.489 184.793 164.828 188.055C163.461 189.776 162.414 190.661 161.666 190.659C161.465 190.658 161.187 190.519 161.057 190.38C160.918 190.179 160.78 189.97 160.78 189.77C160.781 189.361 161.061 188.883 161.741 188.275C164.973 185.196 166.637 181.223 166.649 176.276C166.659 171.804 165.078 168.096 161.934 165.069C161.18 164.294 160.772 163.823 160.773 163.476Z' fill='%23FEB13E' fill-opacity='0.1'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 1V40.6997L22.3168 53.7558L46 40.6997V1H0ZM10.3425 10.4794C10.3419 10.2784 10.2026 10.0786 10.0633 9.93991C9.86238 9.80119 9.65373 9.73242 9.45338 9.73301C8.83631 9.7342 7.93176 10.3727 6.84701 11.6016C3.83281 15.0406 2.29282 18.3718 2.35506 23.284C2.42263 28.1938 3.62594 31.7964 6.28744 35.0588C7.65435 36.7798 8.70116 37.6643 9.44923 37.6625C9.64958 37.6625 9.92759 37.5226 10.058 37.3833C10.1967 37.1823 10.3348 36.9736 10.3348 36.7733C10.3336 36.3642 10.0544 35.8864 9.37454 35.2787C6.14162 32.1996 4.47833 28.2264 4.46648 23.2792C4.45581 18.8075 6.03729 15.0999 9.1813 12.0723C9.93529 11.2981 10.3431 10.8268 10.3425 10.4794ZM26.5768 24.1643C26.2701 24.0859 26.3698 23.6417 26.5348 22.9069C27.0051 20.8118 28.006 16.3539 21.6273 11.2767C21.6273 11.2767 22.7577 14.8686 17.0577 22.8843C11.6557 30.4742 18.7628 35.1577 19.5279 35.6309C19.5697 35.6578 19.5935 35.6705 19.5935 35.6705C19.5935 35.6705 19.5706 35.6572 19.5279 35.6309C19.038 35.3145 16.0798 33.0339 20.2218 26.273C20.4649 25.8708 20.7306 25.4802 21.0191 25.056C21.6856 24.0761 22.4739 22.9172 23.386 21.024C23.386 21.024 24.5431 22.6573 23.939 26.1983C23.1397 30.9329 26.822 30.2793 27.7326 30.1177C27.8511 30.0967 27.9227 30.084 27.9313 30.0926C29.5844 32.0392 26.6478 35.4336 26.3624 35.6611C26.3474 35.6711 26.3427 35.6743 26.3492 35.6705C26.3526 35.6685 26.357 35.6654 26.3624 35.6611L26.3637 35.6602C26.7912 35.3756 34.9112 29.9691 28.7623 21.9785C28.6397 22.1011 28.5067 22.351 28.3528 22.6403C27.9583 23.3816 27.4261 24.3817 26.5768 24.1643ZM35.7725 10.4757C35.7731 10.2747 35.9124 10.075 36.0517 9.93623C36.2527 9.79751 36.4613 9.72874 36.6617 9.72933C37.2787 9.73052 38.1833 10.369 39.2681 11.5979C42.2822 15.037 43.8222 18.3681 43.76 23.2803C43.6924 28.1901 42.4891 31.7928 39.8276 35.0551C38.4607 36.7761 37.4139 37.6606 36.6658 37.6588C36.4655 37.6582 36.1875 37.5189 36.0571 37.3796C35.9184 37.1786 35.7802 36.97 35.7802 36.7696C35.7814 36.3605 36.0606 35.8827 36.7405 35.2751C39.9734 32.1959 41.6367 28.2227 41.6486 23.2755C41.6592 18.8038 40.0778 15.0956 36.9338 12.0686C36.1798 11.2944 35.7719 10.8231 35.7725 10.4757Z' fill='%23FEB13E' fill-opacity='0.1'/%3E%3C/svg%3E%0A");
}

.light-palette .supporters-background {
  background-image: url("data:image/svg+xml,%3Csvg width='248' height='307' viewBox='0 0 248 307' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M125 154V193.7L147.317 206.756L171 193.7V154H125ZM135.343 163.479C135.342 163.278 135.203 163.079 135.063 162.94C134.862 162.801 134.654 162.732 134.453 162.733C133.836 162.734 132.932 163.373 131.847 164.602C128.833 168.041 127.293 171.372 127.355 176.284C127.423 181.194 128.626 184.796 131.287 188.059C132.654 189.78 133.701 190.664 134.449 190.663C134.65 190.663 134.928 190.523 135.058 190.383C135.197 190.182 135.335 189.974 135.335 189.773C135.334 189.364 135.054 188.886 134.375 188.279C131.142 185.2 129.478 181.226 129.466 176.279C129.456 171.807 131.037 168.1 134.181 165.072C134.935 164.298 135.343 163.827 135.343 163.479ZM151.577 177.164C151.27 177.086 151.37 176.642 151.535 175.907C152.005 173.812 153.006 169.354 146.627 164.277C146.627 164.277 147.758 167.869 142.058 175.884C136.656 183.474 143.763 188.158 144.528 188.631C144.57 188.658 144.594 188.671 144.594 188.671C144.594 188.671 144.571 188.657 144.528 188.631C144.038 188.314 141.08 186.034 145.222 179.273C145.465 178.871 145.731 178.48 146.019 178.056C146.686 177.076 147.474 175.917 148.386 174.024C148.386 174.024 149.543 175.657 148.939 179.198C148.14 183.933 151.822 183.279 152.733 183.118C152.851 183.097 152.923 183.084 152.931 183.093C154.584 185.039 151.648 188.434 151.362 188.661C151.347 188.671 151.343 188.674 151.349 188.671C151.353 188.669 151.357 188.665 151.362 188.661L151.364 188.66C151.791 188.376 159.911 182.969 153.762 174.978C153.64 175.101 153.507 175.351 153.353 175.64C152.958 176.382 152.426 177.382 151.577 177.164ZM160.773 163.476C160.773 163.275 160.912 163.075 161.052 162.936C161.253 162.798 161.461 162.729 161.662 162.729C162.279 162.731 163.183 163.369 164.268 164.598C167.282 168.037 168.822 171.368 168.76 176.28C168.692 181.19 167.489 184.793 164.828 188.055C163.461 189.776 162.414 190.661 161.666 190.659C161.465 190.658 161.187 190.519 161.057 190.38C160.918 190.179 160.78 189.97 160.78 189.77C160.781 189.361 161.061 188.883 161.741 188.275C164.973 185.196 166.637 181.223 166.649 176.276C166.659 171.804 165.078 168.096 161.934 165.069C161.18 164.294 160.772 163.823 160.773 163.476Z' fill='%23FEB13E' fill-opacity='0.2'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 1V40.6997L22.3168 53.7558L46 40.6997V1H0ZM10.3425 10.4794C10.3419 10.2784 10.2026 10.0786 10.0633 9.93991C9.86238 9.80119 9.65373 9.73242 9.45338 9.73301C8.83631 9.7342 7.93176 10.3727 6.84701 11.6016C3.83281 15.0406 2.29282 18.3718 2.35506 23.284C2.42263 28.1938 3.62594 31.7964 6.28744 35.0588C7.65435 36.7798 8.70116 37.6643 9.44923 37.6625C9.64958 37.6625 9.92759 37.5226 10.058 37.3833C10.1967 37.1823 10.3348 36.9736 10.3348 36.7733C10.3336 36.3642 10.0544 35.8864 9.37454 35.2787C6.14162 32.1996 4.47833 28.2264 4.46648 23.2792C4.45581 18.8075 6.03729 15.0999 9.1813 12.0723C9.93529 11.2981 10.3431 10.8268 10.3425 10.4794ZM26.5768 24.1643C26.2701 24.0859 26.3698 23.6417 26.5348 22.9069C27.0051 20.8118 28.006 16.3539 21.6273 11.2767C21.6273 11.2767 22.7577 14.8686 17.0577 22.8843C11.6557 30.4742 18.7628 35.1577 19.5279 35.6309C19.5697 35.6578 19.5935 35.6705 19.5935 35.6705C19.5935 35.6705 19.5706 35.6572 19.5279 35.6309C19.038 35.3145 16.0798 33.0339 20.2218 26.273C20.4649 25.8708 20.7306 25.4802 21.0191 25.056C21.6856 24.0761 22.4739 22.9172 23.386 21.024C23.386 21.024 24.5431 22.6573 23.939 26.1983C23.1397 30.9329 26.822 30.2793 27.7326 30.1177C27.8511 30.0967 27.9227 30.084 27.9313 30.0926C29.5844 32.0392 26.6478 35.4336 26.3624 35.6611C26.3474 35.6711 26.3427 35.6743 26.3492 35.6705C26.3526 35.6685 26.357 35.6654 26.3624 35.6611L26.3637 35.6602C26.7912 35.3756 34.9112 29.9691 28.7623 21.9785C28.6397 22.1011 28.5067 22.351 28.3528 22.6403C27.9583 23.3816 27.4261 24.3817 26.5768 24.1643ZM35.7725 10.4757C35.7731 10.2747 35.9124 10.075 36.0517 9.93623C36.2527 9.79751 36.4613 9.72874 36.6617 9.72933C37.2787 9.73052 38.1833 10.369 39.2681 11.5979C42.2822 15.037 43.8222 18.3681 43.76 23.2803C43.6924 28.1901 42.4891 31.7928 39.8276 35.0551C38.4607 36.7761 37.4139 37.6606 36.6658 37.6588C36.4655 37.6582 36.1875 37.5189 36.0571 37.3796C35.9184 37.1786 35.7802 36.97 35.7802 36.7696C35.7814 36.3605 36.0606 35.8827 36.7405 35.2751C39.9734 32.1959 41.6367 28.2227 41.6486 23.2755C41.6592 18.8038 40.0778 15.0956 36.9338 12.0686C36.1798 11.2944 35.7719 10.8231 35.7725 10.4757Z' fill='%23FEB13E' fill-opacity='0.2'/%3E%3C/svg%3E%0A");
}

@media screen and (min-width: 991px) {
  .donate-supporter-page-section .form-payment-methods {
    height: 22px;
    width: 220px;
  }
}

@media screen and (min-width: 1200px) {
  .donate-supporter-page-section .form-payment-methods {
    height: 25px;
    width: 250px;
  }
  .donate-supporter-page-section .donation-section {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.supporter-badge-container {
  width: 100%;
  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;
  padding: 2em 0;
}

@media screen and (min-width: 1200px) {
  .supporter-badge-container {
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
  }
}
.supporter-badge-container svg {
  height: 6em;
  width: auto;
}

#supporter-bear {
  height: 250px;
}

.donation-animation-container,
.donation-animation-bullet-points {
  position: relative;
  width: 100%;
}

.donation-animation-bullet-points p {
  position: absolute;
  color: white;
  text-align: center;
  width: 100%;
  font-size: 200%;
  padding: 0 20px;
}

.donation-animation-bullet-1 {
  -webkit-animation-name: animation-bullet-1;
          animation-name: animation-bullet-1;
}

.donation-animation-bullet-2 {
  -webkit-animation-name: animation-bullet-2;
          animation-name: animation-bullet-2;
}

.donation-animation-bullet-3 {
  -webkit-animation-name: animation-bullet-3;
          animation-name: animation-bullet-3;
}

.donation-animation-bullet-4 {
  -webkit-animation-name: animation-bullet-4;
          animation-name: animation-bullet-4;
}

.donation-animation-bullet-1,
.donation-animation-bullet-2,
.donation-animation-bullet-3,
.donation-animation-bullet-4 {
  opacity: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 20s;
          animation-duration: 20s;
  margin-top: 40px;
  -webkit-animation-timing-function: normal;
          animation-timing-function: normal;
}

@-webkit-keyframes animation-bullet-1 {
  1% {
    opacity: 0;
    margin-top: 40px;
  }
  2.5% {
    opacity: 1;
    margin-top: 80px;
  }
  19.5% {
    opacity: 1;
    margin-top: 80px;
  }
  21% {
    opacity: 0;
    margin-top: 120px;
  }
}

@keyframes animation-bullet-1 {
  1% {
    opacity: 0;
    margin-top: 40px;
  }
  2.5% {
    opacity: 1;
    margin-top: 80px;
  }
  19.5% {
    opacity: 1;
    margin-top: 80px;
  }
  21% {
    opacity: 0;
    margin-top: 120px;
  }
}

@-webkit-keyframes animation-bullet-2 {
  21% {
    opacity: 0;
    margin-top: 40px;
  }
  22.5% {
    opacity: 1;
    margin-top: 80px;
  }
  38.5% {
    opacity: 1;
    margin-top: 80px;
  }
  40% {
    opacity: 0;
    margin-top: 120px;
  }
}

@keyframes animation-bullet-2 {
  21% {
    opacity: 0;
    margin-top: 40px;
  }
  22.5% {
    opacity: 1;
    margin-top: 80px;
  }
  38.5% {
    opacity: 1;
    margin-top: 80px;
  }
  40% {
    opacity: 0;
    margin-top: 120px;
  }
}

@-webkit-keyframes animation-bullet-3 {
  40% {
    opacity: 0;
    margin-top: 40px;
  }
  41.5% {
    opacity: 1;
    margin-top: 80px;
  }
  64% {
    opacity: 1;
    margin-top: 80px;
  }
  65.5% {
    opacity: 0;
    margin-top: 120px;
  }
}

@keyframes animation-bullet-3 {
  40% {
    opacity: 0;
    margin-top: 40px;
  }
  41.5% {
    opacity: 1;
    margin-top: 80px;
  }
  64% {
    opacity: 1;
    margin-top: 80px;
  }
  65.5% {
    opacity: 0;
    margin-top: 120px;
  }
}

@-webkit-keyframes animation-bullet-4 {
  65.5% {
    opacity: 0;
    margin-top: 40px;
  }
  67% {
    opacity: 1;
    margin-top: 80px;
  }
  96% {
    opacity: 1;
    margin-top: 80px;
  }
  97.5% {
    opacity: 0;
  }
}

@keyframes animation-bullet-4 {
  65.5% {
    opacity: 0;
    margin-top: 40px;
  }
  67% {
    opacity: 1;
    margin-top: 80px;
  }
  96% {
    opacity: 1;
    margin-top: 80px;
  }
  97.5% {
    opacity: 0;
  }
}

/* AB testing */
p.donation-animation-bullet-1-b {
  -webkit-animation-name: animation-bullet-1-b;
          animation-name: animation-bullet-1-b;
  margin-top: 450px;
  font-size: 2.5rem;
}

.donation-animation-bullet-2-b {
  -webkit-animation-name: animation-bullet-2-b;
          animation-name: animation-bullet-2-b;
}

.donation-animation-bullet-3-b {
  -webkit-animation-name: animation-bullet-3-b;
          animation-name: animation-bullet-3-b;
}

.donation-animation-bullet-4-b {
  -webkit-animation-name: animation-bullet-4-b;
          animation-name: animation-bullet-4-b;
}

.donation-animation-bullet-1-b,
.donation-animation-bullet-2-b,
.donation-animation-bullet-3-b,
.donation-animation-bullet-4-b {
  opacity: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 20s;
          animation-duration: 20s;
  -webkit-animation-timing-function: normal;
          animation-timing-function: normal;
}

@-webkit-keyframes animation-bullet-1-b {
  1% {
    opacity: 0;
  }
  2.5% {
    opacity: 1;
  }
  15% {
    opacity: 1;
  }
  15.5% {
    opacity: 0;
  }
}

@keyframes animation-bullet-1-b {
  1% {
    opacity: 0;
  }
  2.5% {
    opacity: 1;
  }
  15% {
    opacity: 1;
  }
  15.5% {
    opacity: 0;
  }
}

@-webkit-keyframes animation-bullet-2-b {
  15.5% {
    opacity: 0;
    margin-top: 40px;
  }
  16% {
    opacity: 1;
    margin-top: 80px;
  }
  33.5% {
    opacity: 1;
    margin-top: 80px;
  }
  34% {
    opacity: 0;
    margin-top: 120px;
  }
}

@keyframes animation-bullet-2-b {
  15.5% {
    opacity: 0;
    margin-top: 40px;
  }
  16% {
    opacity: 1;
    margin-top: 80px;
  }
  33.5% {
    opacity: 1;
    margin-top: 80px;
  }
  34% {
    opacity: 0;
    margin-top: 120px;
  }
}

@-webkit-keyframes animation-bullet-3-b {
  34.5% {
    opacity: 0;
    margin-top: 40px;
  }
  35% {
    opacity: 1;
    margin-top: 80px;
  }
  60% {
    opacity: 1;
    margin-top: 80px;
  }
  60.5% {
    opacity: 0;
    margin-top: 120px;
  }
}

@keyframes animation-bullet-3-b {
  34.5% {
    opacity: 0;
    margin-top: 40px;
  }
  35% {
    opacity: 1;
    margin-top: 80px;
  }
  60% {
    opacity: 1;
    margin-top: 80px;
  }
  60.5% {
    opacity: 0;
    margin-top: 120px;
  }
}

@-webkit-keyframes animation-bullet-4-b {
  60.5% {
    opacity: 0;
    margin-top: 40px;
  }
  61% {
    opacity: 1;
    margin-top: 80px;
  }
  85% {
    opacity: 1;
    margin-top: 80px;
  }
  85.5% {
    opacity: 0;
  }
}

@keyframes animation-bullet-4-b {
  60.5% {
    opacity: 0;
    margin-top: 40px;
  }
  61% {
    opacity: 1;
    margin-top: 80px;
  }
  85% {
    opacity: 1;
    margin-top: 80px;
  }
  85.5% {
    opacity: 0;
  }
}
/* END AB testing */

.tester-text {
  margin-top: 80px;
}

.donation-policy-disclaimer {
  margin-top: 1rem;
  font-size: 0.9rem;
  text-align: center;
}

@media (max-width: 768px) {
  .donation-animation-bullet-points p {
    font-size: 150%;
  }
  #donation-animation {
    -o-object-fit: cover;
       object-fit: cover;
    min-height: 600px;
    width: 100%;
  }
}

.map-ui {
  height: 100%;
}

.map-ui ul {
  list-style: none;
  color: var(--secondary-color);
  padding: 0;
}

.map-ui .archive-link {
  font-size: 1.25rem;
}

@media (max-width: 640px) {
  .map-ui .block ul {
    -webkit-padding-start: 6rem;
            padding-inline-start: 6rem;
    font-size: 0.9rem;
  }

  .map-ui > ul {
    -webkit-padding-start: 0;
            padding-inline-start: 0;
  }
}

.large-p {
  font-size: 24px;
}

/* Buttons with a lot of text can overflow and mess up formatting on small
   screens, this stops that unless the word itself is too large. */

.btn {
  white-space: pre-line;
}

.landing-page ul {
  list-style: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

#featured-logos {
  max-width: 600px;
}
.landing-top h1:first-child {
  margin-top: 0;
}

.landing-page .landing-page-happy {
  font-size: 1.1rem;
  margin-top: 0;
}

figcaption.caption {
  margin: 10px 0 0;
  font-weight: 600;
  text-align: center;
  color: var(--quaternary-color);
}

.as-seen-in {
  background-color: var(--gray-75);
  color: var(--gray-15);
  padding-inline: 15px;
  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;
}

.as-seen-in .big-heading {
  color: var(--gray-15);
  margin-top: 0;
}

.landing-page .big-heading {
  height: 100%;
  margin-bottom: 40px;
  line-height: 1.1;
  font-weight: 700;
}

.logo-row {
  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;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-line-pack: center;
      align-content: center;
  margin: 10px 0;
}

.logo-row svg {
  height: 40px;
}

.faq-question {
  font-weight: bold;
  font-size: 1.25rem;
  margin-bottom: 1.2rem;
}

@media (min-width: 370px) {
  .logo-row svg {
    margin: 5px 15px;
  }
}

@media (min-width: 480px) {
  .logo-row svg {
    height: 25px;
    margin: 5px;
  }
}

@media (min-width: 550px) {
  .logo-row {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }

  .logo-row svg {
    height: 40px;
  }
}

.landing-top p {
  font-size: 1.2rem;
  margin: 0.6rem 0;
}

/* testimonials */

.testimonials-row {
  --image-size: min(320px, 350px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.testimonials p,
.testimonials strong {
  font-size: 1.1rem;
  margin: 0;
}
.testimonial-meta p:last-child {
  margin-top: 15px;
}

.testimonial-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: min(100%, 1170px);
  margin-top: 10px;
  margin-bottom: 50px;
  background-color: var(--primary-background);
  -webkit-box-shadow: 0 3px 13px 1px rgba(0, 0, 0, 0.09);
  box-shadow: 0 3px 13px 1px rgba(0, 0, 0, 0.09);
  color: var(--quaternary-color);
}

.testimonial-meta {
  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;
  text-align: center;
  padding: 10px 0 30px;
}

.testimonial-meta h3 {
  font-size: 1.3rem;
  font-weight: normal;
  margin-bottom: 0;
  color: var(--quaternary-color);
}

.testimonial-meta p,
.testimonial-meta strong {
  font-size: 1.2rem;
}

.testimonial-card-header,
.testimonial-image {
  height: var(--image-size);
  width: var(--image-size);
  /* Override the default max-width (100%) set by Tailwind */
  max-width: var(--image-size);
}

.testimonials-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 25px;
  text-align: justify;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.testimony blockquote {
  padding: 0;
  border: 0;
}

.landing-top,
.as-seen-in,
.certification-section,
.benefits,
.testimonials {
  padding: 4vw 15px;
}

.certification-section,
.faq-section {
  padding-inline: 4vw;
}

.map-ui .btn {
  min-height: 80px;
}

@media (min-width: 500px) {
  .landing-top p {
    font-size: 1.25rem;
  }
}

@media (max-width: 992px) {
  .testimonial-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: var(--image-size);
  }
}

@media (min-width: 992px) {
  .testimonial-meta {
    padding: 0 0 30px;
  }
  .testimonial-meta p,
  .testimonial-meta strong {
    font-size: 1.3rem;
  }
  .testimonials-footer {
    padding: 40px;
  }
}

.landing-top .mega-heading {
  font-size: 2.2rem;
  margin: 0px 0px 2rem;
  font-weight: 700;
  line-height: 2rem;
}

.landing-top .btn-cta-big {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  padding: 12px 20px;
}

.two-button-cta {
  display: grid;
  gap: 10px;
  max-width: 500px;
}

@media (max-width: 1200px) {
  .two-button-cta {
    margin: 0 auto;
  }
}

.google-btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border: 3px solid #ffffff;
  color: #000;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-family: var(--font-family-sans-serif);
  font-size: 1rem;
  min-height: 48px;
  padding: 10px 16px;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.google-btn:hover,
.google-btn:focus {
  background: #000;
  border-color: #ffffff;
  color: #fff;
}

.light-palette .google-btn {
  background: #000;
  border-color: #000000;
  color: #fff;
}

.light-palette .google-btn:hover,
.light-palette .google-btn:focus {
  background: #ffffff;
  border-color: #000000;
  color: #000000;
  text-decoration: none;
}

.google-btn svg {
  display: block;
  height: 18px;
  width: 18px;
  margin: 0 10px;
}
.google-btn-icon {
  border-radius: 2px;
  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;
  height: 20px;
  min-width: 20px;
  -webkit-padding-end: 4px;
          padding-inline-end: 4px;
  position: relative;
}

.more-ways-btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fecc4c), to(#ffac33));
  background-image: linear-gradient(#fecc4c, #ffac33);
  border: 3px solid #feac32;
  color: #0a0a23;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-weight: 600;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  text-decoration: none;
  font-size: 1.1rem;
}
.more-ways-btn:hover,
.more-ways-btn:focus {
  background-color: #fecc4c;
  background-image: none;
  border-color: #f1a02a;
  color: #0a0a23;
  text-decoration: none;
}

.cta-divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: var(--secondary-color);
  text-transform: lowercase;
  font-size: 0.95rem;
  margin-block: 12px;
  width: 100%;
}

.cta-divider-line {
  height: 1px;
  background: none;
  border-top: 1px dashed var(--gray-45);
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

@media (min-width: 500px) {
  .landing-top .mega-heading {
    font-size: 3rem;
    line-height: 2.5rem;
  }
  .landing-top .btn-cta-big {
    padding: 12px 40px;
  }
}

.logo-row-title {
  font-weight: normal;
}

.landing-page {
  overflow-x: hidden;
}

.landing-benefits {
  display: grid;
  grid-template-columns: 1fr; /* Default: 1 column */
  gap: 30px; /* Adjust the space between the grid items */
}

/* When the screen is larger than 700px */
@media screen and (min-width: 700px) {
  .landing-benefits {
    grid-template-columns: 1fr 1fr; /* Two columns */
  }
}

.landing-top figure,
.landing-top figure img {
  margin-top: 50px;
  height: 442px;
  width: 750px;
}

.landing-benefits svg path {
  fill: var(--gray-15);
}

.benefits-container {
  background: var(--gray-75);
}

.benefits-container h2,
.benefits-container h3 {
  color: var(--gray-10);
}

.benefits-container p {
  color: var(--gray-15);
}

/* AB testing styles */
.landing-top-two-column {
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}

.landing-top-two-column p {
  font-size: 1.3rem;
  font-weight: normal;
  line-height: 1.5;
}

@media (min-width: 1200px) {
  .landing-top-two-column {
    -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;
    width: min(100%, 1300px);
    margin-inline: auto;
  }

  .landing-top-two-column .landing-top-left {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
    z-index: 1;
    padding-left: 0px;
    padding-right: 15px;
    margin-left: -15px;
  }

  .landing-top-two-column .landing-top-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    min-width: 0;
    overflow: visible;
  }

  .certification-section,
  .faq-section {
    width: min(100%, 1300px);
    margin-inline: auto;
  }
}

.landing-top .landing-top-two-column figure,
.landing-top .landing-top-two-column figure img {
  -webkit-margin-start: -120px;
          margin-inline-start: -120px;
  margin-top: 0px;
  height: 550px;
  width: 850px;
  max-width: none;
  -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(20%, black));
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 20%);
  mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(20%, black));
  mask-image: linear-gradient(to right, transparent 0%, black 20%);
}

.landing-top .ultra-heading {
  font-size: 4rem;
}

.landing-top-right figcaption {
  display: none;
}

.landing-top .brands-container p {
  color: var(--quaternary-color);
  font-weight: normal;
  text-align: center;
}

/* Landing Catalog Styles */
.landing-catalog-container {
  background-color: var(--primary-background);
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.landing-catalog-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  width: 100%;
  gap: 2rem;
}

.landing-catalog .catalog-item.catalog-item-see-all {
  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;
  min-height: 280px;
  text-align: center;
  fill: var(--secondary-color);
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 10px;
}

.calendar-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.calendar-head h2 {
  min-width: 200px;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr); /* 7 columns for days of the week */
  gap: 4px;
  margin: 0 auto;
  max-width: 1500px;
  padding: 0 20px;
}

.calendar-day {
  position: relative;
  padding: 5px;
  min-height: 200px;
  border: 1px solid var(--tertiary-color);
  background-color: var(--primary-background);
  text-decoration: none;
}

.calendar-day-number {
  position: absolute;
  font-size: 0.8em;
  top: 0;
  right: 5px;
  color: var(--gray-45);
}

.dc-number {
  position: absolute;
  top: 0;
  left: 5px;
  font-size: 0.8em;
  font-style: italic;
  color: var(--gray-45);
}

.dc-info {
  position: relative;
  padding-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}

.dc-title-wrap {
  width: 100%;
  min-height: 55px;
  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;
  padding: 2px 10px;
}

.dc-title {
  text-align: center;
  font-size: 0.9em;
}

.dc-checkmark {
  width: 100%;
  position: absolute;
  top: 50%;
}

.dc-checkmark svg {
  width: 50px;
  height: 50px;
  margin: 0 auto;
}

.dc-languages {
  position: absolute;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
}

.dc-language-icon {
  fill: var(--primary-color);
}

.dc-language-icon svg {
  width: 25px;
  height: 25px;
}

.not-available:hover,
.not-available:active {
  cursor: not-allowed;
  background-color: var(--primary-background);
}

.available:hover,
.available:active {
  cursor: pointer;
  background-color: var(--primary-color);
}

.not-available:hover .calendar-day-number,
.not-available:active .calendar-day-number {
  color: var(--primary-color);
}

.available:hover .calendar-day-number,
.available:active .calendar-day-number {
  color: var(--primary-background);
}

.available:hover .dc-language-icon svg path,
.available:active .dc-language-icon svg path,
.available:hover .completed svg circle,
.available:active .completed svg circle {
  fill: var(--primary-background);
  stroke: var(--primary-background);
}

.dc-language-icon svg path {
  fill: var(--gray-45);
  stroke: var(--gray-45);
}

.available:hover .dc-language-icon svg path,
.available:active .dc-language-icon svg path {
  fill: var(--quaternary-background);
  stroke: var(--quaternary-background);
}

.available:hover .not-completed svg circle,
.available:active .not-completed svg circle {
  fill: var(--primary-color);
  stroke: var(--primary-background);
}

.available:hover svg rect,
.available:active svg rect {
  fill: var(--primary-color);
  stroke: var(--primary-color);
}

.available:hover .dc-title,
.available:active .dc-title,
.available:hover .dc-language-name,
.available:active .dc-language-name {
  color: var(--primary-background);
}

.available:hover .dc-number,
.available:active .dc-number {
  color: var(--quaternary-background);
}

@media (max-width: 500px) {
  .calendar-day {
    min-height: 75px;
  }
}

@media (max-width: 815px) {
  .calendar-day {
    min-height: 100px;
    padding: 0;
  }

  .calendar-day-number {
    display: none;
  }

  .dc-info {
    padding: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  .dc-title-wrap {
    display: none;
  }

  .dc-checkmark {
    top: unset;
  }

  .dc-checkmark svg {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 1300px) {
  .dc-title-wrap {
    padding: 0;
  }

  .dc-title {
    font-size: 0.8em;
  }
}

code .token.operator {
  background: none;
}

:not(pre) > code[class*='language-'],
pre[class*='language-'] {
  background: var(--primary-background);
}

.default pre[class*='language-']::-moz-selection, .default pre[class*='language-'] ::-moz-selection, .default code[class*='language-']::-moz-selection, .default code[class*='language-'] ::-moz-selection {
  background: var(--selection-color);
}

.default pre[class*='language-']::selection,
.default pre[class*='language-'] ::selection,
.default code[class*='language-']::selection,
.default code[class*='language-'] ::selection {
  background: var(--selection-color);
}

* {
  text-shadow: none !important;
}

/* remove horizontal scrollbars for text-only code */
code[class='language-markup'] {
  white-space: normal !important;
}

/* a11y color adjustments */
:not(.dark-palette) .token.comment,
:not(.dark-palette) .token.prolog,
:not(.dark-palette) .token.doctype,
:not(.dark-palette) .token.cdata {
  color: #62707f;
}

:not(.dark-palette) .token.punctuation {
  color: #38425c;
}

:not(.dark-palette) .token.property,
:not(.dark-palette) .token.tag,
:not(.dark-palette) .token.constant,
:not(.dark-palette) .token.symbol,
:not(.dark-palette) .token.deleted {
  color: #e00000;
}

:not(.dark-palette) .token.number {
  color: #9932cc;
}

:not(.dark-palette) .token.boolean {
  color: #1f3a93;
}

:not(.dark-palette) .token.selector,
:not(.dark-palette) .token.attr-name,
:not(.dark-palette) .token.string,
:not(.dark-palette) .token.char,
:not(.dark-palette) .token.builtin,
:not(.dark-palette) .token.inserted {
  color: #008040;
}

:not(.dark-palette) .token.operator,
:not(.dark-palette) .token.entity,
:not(.dark-palette) .token.url,
:not(.dark-palette) .language-css .token.string,
:not(.dark-palette) .style .token.string {
  color: #38425c;
}

:not(.dark-palette) .token.atrule,
:not(.dark-palette) .token.attr-value,
:not(.dark-palette) .token.keyword {
  color: #2574a9;
}

:not(.dark-palette) .token.function,
:not(.dark-palette) .token.class-name {
  color: #992900;
}

:not(.dark-palette) .token.regex,
:not(.dark-palette) .token.important,
:not(.dark-palette) .token.variable {
  color: #856514;
}

:not(.dark-palette) .line-numbers-rows > span::before {
  color: #62707f;
}

.archived-warning {
  margin-bottom: 0;
  font-size: 1rem;
}

.super-block-intro-callout hr {
  border-top-color: var(--blue10);
}

.super-block-intro-callout .donate-button {
  background-color: transparent;
  color: #31708f;
  border-color: #31708f;
}

.super-block-intro-callout .btn-container {
  text-align: center;
}

.super-block-intro-page p {
  font-size: 1.17rem;
}

.big-subheading {
  font-size: 2rem;
  overflow-wrap: break-word;
}

.hide-scrollable-anchor {
  display: block;
  max-height: 0px;
}

.block-label {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1px 6px 2px;
  font-size: 0.85rem;
  border: 1px solid;
  position: relative;
  top: 1px;
  word-break: keep-all;
}

.block-header:hover .block-label {
  background-color: var(--tertiary-background);
}

.block-label-html,
.block-label-lecture {
  border-color: var(--yellow-color);
  color: var(--yellow-color);
}

.block-label-css,
.block-label-workshop {
  border-color: var(--highlight-color);
  color: var(--highlight-color);
}

.block-label-python,
.block-label-lab,
.block-label-databases {
  border-color: var(--success-color);
  color: var(--success-color);
}

.block-label-javascript,
.block-label-computer-science,
.block-label-review {
  border-color: var(--purple-color);
  color: var(--purple-color);
}

.block-label-computer-fundamentals,
.block-label-git,
.block-label-quiz {
  border-color: var(--danger-color);
  color: var(--danger-color);
}

.block-label-exam,
.block-label-math,
.block-label-editors {
  border-color: var(--quaternary-color);
  color: var(--quaternary-color);
}

.block-label-cert-project,
.block-label-bash {
  border-color: var(--love-color);
  color: var(--love-color);
}

.block-label-warm-up,
.block-label-ai {
  border-color: var(--yellow-color);
  color: var(--yellow-color);
}

.block-label-learn {
  border-color: var(--highlight-color);
  color: var(--highlight-color);
}

.block-label-practice {
  border-color: var(--success-color);
  color: var(--success-color);
}

.block-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.block-header .big-block-title {
  -webkit-box-flex: 3;
      -ms-flex-positive: 3;
          flex-grow: 3;
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  padding: 25px 15px 10px;
}

.block-header .big-block-title:is(:hover, :focus, :active) {
  background-color: var(--primary-background);
}

a.cert-tag:hover,
a.cert-tag:focus,
a.cert-tag:active {
  color: var(--highlight-background);
  background-color: var(--highlight-color);
}

.big-block-title {
  font-size: 1.5rem;
  overflow-wrap: break-word;
}

.block-grid-title {
  font-size: 1rem;
  margin: 0;
  overflow-wrap: break-word;
}

.block-grid .challenge-jump-link {
  margin: 0 25px 25px;
}

.block-title-translation-cta {
  white-space: nowrap;
  padding: 0.2em 0.5em;
  color: var(--highlight-color);
  background-color: var(--highlight-background);
}

.block-title-translation-cta:hover,
.block-title-translation-cta:focus {
  text-decoration: none;
  padding: 0.2em 0.5em;
  color: var(--highlight-background);
  background-color: var(--highlight-color);
}

.block-cta-wrapper {
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-block: 10px 25px;
  padding-inline: 0 15px;
  margin: 0 0 0.6rem;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  font-size: 0.8rem;
  text-align: center;
}

.course-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.13rem;
  overflow-wrap: break-word;
}

.block-description pre {
  display: inline;
  padding: 0;
}

.superBlock-image {
  max-width: 100%;
  height: auto !important;
}

.block-ui {
  height: 100%;
  list-style: none;
  color: var(--secondary-color);
  padding: 0;
}

.block-ui a {
  text-decoration: none;
}

.map-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 18px 0;
  background: transparent;
  border: none;
  text-align: start;
  width: 100%;
}

button.map-title {
  cursor: pointer;
  padding: 18px 15px;
}

.map-title:hover {
  color: var(--tertiary-color);
  background-color: var(--tertiary-background);
}

.map-challenge-wrap > a,
.map-dialogue-wrap > a,
.map-project-wrap > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 7px;
}

.map-project-wrap > a {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.map-project-checkmark {
  -webkit-padding-start: 15px;
          padding-inline-start: 15px;
}

.block .map-cert-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 18px 8px;
  background: var(--secondary-background);
  border: none;
  text-align: left;
  width: 100%;
}

.block .no-cursor {
  cursor: default;
}

.block .no-cursor h3 {
  cursor: text;
}

.block .map-is-cert:hover {
  color: var(--tertiary-color);
  background-color: var(--tertiary-background);
}

.block-ui div.block {
  background: var(--primary-background);
}

.block-ui .block .block-description {
  padding: 0 15px 15px;
  border-bottom: 3px solid var(--secondary-background);
}

.map-cert-title > h3 {
  font-size: 1.17rem;
  margin-block: 0;
  margin-inline: 15px 0;
}

.map-cert-title > svg {
  display: inline-block;
  height: 40px;
  width: auto;
  min-width: 25px;
}

.map-title > h4 {
  margin: 0;
}

.map-title-completed {
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  min-width: 100px;
  -webkit-padding-start: 20px;
          padding-inline-start: 20px;
}

.map-title-completed-big {
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  -webkit-padding-end: 15px;
          padding-inline-end: 15px;
  -webkit-padding-start: 20px;
          padding-inline-start: 20px;
  position: relative;
  top: 4px;
}

.map-title svg {
  width: 14px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  fill: var(--color-quaternary) !important;
  stroke: var(--color-quaternary);
}

.open > .map-title > svg:first-child {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.block-grid .map-title > svg:last-child {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}

.block-grid.open .map-title > svg:last-child {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.map-challenges-ul {
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  margin-bottom: 0;
}

.map-challenge-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.13rem;
}

.map-challenge-title a {
  padding: 10px 15px;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.map-challenges-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, 3.4rem);
  grid-gap: 3px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto 18px;
  width: calc(100% - 50px);
  list-style: none;
}

.map-challenges-grid .map-challenge-title a:focus {
  outline-offset: 1px;
}

.map-challenges-grid .map-challenge-wrap {
  margin: 6px 0;
  max-width: 3.4rem;
}

.map-challenge-wrap a.map-grid-item {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 3.4rem;
  height: 3.4rem;
  min-width: 24px;
  min-height: 24px;
  border: 1px dashed var(--background-quaternary);
}

.map-dialogue-wrap {
  grid-column: 1 / -1;
  margin: 0 auto 6px;
  width: 100%;
}

.map-dialogue-wrap a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 50px;
  padding: 10px 15px;
}

.block-description {
  padding: 18px 0;
}

.block-description > p:last-child {
  margin-bottom: 0;
}

.block-grid .block-description {
  padding: 18px 15px;
}

a.map-grid-item.challenge-completed {
  background: var(--highlight-background);
  position: relative;
  border: 1px solid var(--primary-color);
}

.challenge-completed span {
  font-weight: 900;
  margin-top: -0.05rem;
}

@media screen and (max-width: 500px) {
  .super-block-intro-page p {
    font-size: 1rem;
  }

  .big-subheading {
    font-size: 1.35rem;
  }

  .big-block-title {
    font-size: 1.17rem;
  }

  .block-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .block-cta-wrapper {
    padding: 25px 15px 10px;
  }

  .course-title,
  .map-cert-title,
  .map-challenge-title {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .intro-layout-container {
    padding: 0 10px;
  }

  button.map-title {
    width: 100%;
  }

  .map-challenge-title {
    max-width: 100%;
  }

  .map-title-completed {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-padding-start: 15px;
            padding-inline-start: 15px;
  }
}

.intro-layout {
  margin-top: 1.45rem;
}

.intro-toc {
  margin-bottom: 20px;
  padding-left: 0;
  list-style-type: none;
}

.intro-toc li {
  margin: 5px auto;
  padding: 10px 15px;
}

.intro-toc li:hover {
  background-color: var(--tertiary-background);
}

.intro-toc a:hover {
  text-decoration: none;
  text-decoration-style: none;
  color: var(--secondary-color);
}

.cert-tag {
  text-align: left;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1rem;
  display: block;
  margin-bottom: 5px;
  -webkit-margin-end: 5px;
          margin-inline-end: 5px;
  padding: 4px 10px;
  color: var(--highlight-color);
  background-color: var(--highlight-background);
}

.block-grid {
  border-bottom: 4px solid var(--secondary-background);
}

.block-grid .block-header {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: transparent;
  border: none;
  text-align: left;
  width: 100%;
  cursor: pointer;
  padding: 18px 15px;
}

.block-grid .block-header:hover {
  color: var(--tertiary-color);
  background-color: var(--tertiary-background);
}

.block-grid .block-header[aria-expanded='true'] {
  border-bottom: 2px solid var(--secondary-background);
}

.block-header-button-text {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: var(--primary-color);
}

.block-grid .block-header .block-link {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.block-ui .block-grid .block-description {
  border: none;
  padding: 25px;
}

.title-wrapper {
  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;
  width: 100%;
}
.course-title,
.map-title,
.block-header-button-text,
.title-wrapper {
  gap: 10px;
}

.block-grid .progress-wrapper {
  width: 100%;
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 18px;
  margin-bottom: 14px;
}

.block-grid .progress-wrapper > div {
  position: relative;
  width: 80%;
  -webkit-margin-end: 0.25em;
          margin-inline-end: 0.25em;
}

.tags-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.grid-project-block {
  margin-bottom: 50px;
  padding: 18px 15px;
  position: relative;
}

.grid-project-block-no-margin {
  margin-bottom: 0;
}

.block-grid.grid-project-block:hover {
  cursor: pointer;
  background: var(--tertiary-background);
}

.grid-project-block a.block-header {
  padding: 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-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 10px;
}

/* make entire certification card clickable */
.grid-project-block a.block-header::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.grid-project-block .tags-wrapper a {
  position: relative;
  z-index: 100;
}

.grid-project-block:hover:has(.tags-wrapper a:hover) {
  background: var(--primary-background);
}

.challenge-grid-block .challenge-grid-block-panel {
  /* Add some space between panel content and the top edge of the container.
    The value (18px) is the same value `.map-challenges-grid` uses
    to create space between the grid and the bottom edge of the container. */
  margin-top: 18px;
}

.chapter-button .dropdown-icon,
.module-button .dropdown-icon {
  width: 14px;
  height: 14px;
}

/* these are all used in the AccordionBlock() layout in Block.tsx */
.accordion-block-expanded {
  padding: 0 24px;
}

.accordion-block-expanded .block-description {
  padding: 18px 15px;
  border-bottom: 1px solid var(--secondary-background);
}

.accordion-block-expanded .challenge-jump-link {
  margin: 0 15px 25px;
}

.accordion-block-expanded .map-challenges-grid {
  margin: 0 15px 18px;
}

.block-header-wrapper {
  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;
  width: 100%;
}

.block-header-wrapper .block-grid-title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.block-reset-button {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
  margin-left: 8px;
  margin-right: 8px;
  color: var(--foreground-primary);
  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;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  opacity: 0;
  -webkit-transition:
    opacity 0.2s,
    color 0.2s,
    background-color 0.2s;
  transition:
    opacity 0.2s,
    color 0.2s,
    background-color 0.2s;
}

.block-header-wrapper:hover .block-reset-button,
.chapter-header-wrapper:hover .block-reset-button,
.module-header-wrapper:hover .block-reset-button {
  opacity: 1;
  color: var(--primary-color);
}

.block-reset-button:focus-visible {
  opacity: 1;
  color: var(--primary-color);
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 2px;
}

.block-header-wrapper .block-reset-button:hover,
.chapter-header-wrapper .block-reset-button:hover,
.module-header-wrapper .block-reset-button:hover {
  color: var(--danger-color);
  background-color: var(--quaternary-background);
}

.block-reset-button:disabled {
  opacity: 0;
  cursor: not-allowed;
}

.block-header-wrapper:hover .block-reset-button:disabled,
.chapter-header-wrapper:hover .block-reset-button:disabled,
.module-header-wrapper:hover .block-reset-button:disabled,
.block-reset-button:disabled:focus-visible {
  opacity: 0.3;
  color: var(--primary-color);
}

.block-reset-button:disabled:hover {
  color: var(--primary-color);
  background-color: transparent;
}

@media screen and (max-width: 767px) {
  .block-reset-button {
    display: none;
  }
}

.super-block-accordion {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0;
}

.super-block-accordion ul {
  padding: 0;
  margin: 0;
}

.super-block-accordion li {
  list-style-type: none;
}

.super-block-accordion li a {
  text-decoration: none;
}

.super-block-accordion .chapter {
  border: 3px solid var(--tertiary-background);
  margin-bottom: 16px;
}

.super-block-accordion .chapter-header-wrapper,
.super-block-accordion .module-header-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.super-block-accordion .chapter-header-wrapper .chapter-button-main,
.super-block-accordion .module-header-wrapper .module-button-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.super-block-accordion .chapter-header-wrapper .chapter-button-toggle,
.super-block-accordion .module-header-wrapper .module-button-toggle {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.super-block-accordion .chapter-header-wrapper {
  background-color: var(--primary-background);
}

.super-block-accordion .chapter-button {
  border: none;
  background-color: transparent;
  padding: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.super-block-accordion .chapter-button-toggle {
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

.super-block-accordion .chapter-link {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: var(--primary-background);
  padding: 16px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.super-block-accordion .aligner-dash {
  width: 14px;
}

.super-block-accordion .map-icon {
  width: 26px;
  max-height: 40px;
}

.super-block-accordion .chapter-button .chapter-button-left,
.super-block-accordion .chapter-link .chapter-button-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: start;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
}

.super-block-accordion .block-grid {
  border: none;
}

.super-block-accordion .block-grid .block-header[aria-expanded='true'] {
  border: none;
}

button .block-header-button-text {
  font-weight: normal;
  font-size: 1rem;
}

.super-block-accordion .map-title,
.super-block-accordion .block-header-button-text {
  gap: 10px;
  padding: 0px;
}

.super-block-accordion .block-header-button-text {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}

.super-block-accordion .chapter-button .chapter-button-right,
.super-block-accordion .chapter-link .chapter-button-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
}

.super-block-accordion .dropdown-wrap,
.super-block-accordion .checkmark-wrap {
  position: relative;
  top: 2px;
}

.super-block-accordion .chapter-checkmark-wrap {
  right: 5px;
}

.super-block-accordion .module-button,
.super-block-accordion .block-header {
  border: none;
  background-color: transparent;
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: normal;
  gap: 10px;
  color: var(--primary-color);
}

.super-block-accordion .module-button-toggle {
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

.super-block-accordion .block-header {
  width: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.super-block-accordion .module-button-left,
.super-block-accordion .module-button-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}

.super-block-accordion .module-button-left {
  text-align: start;
}

.super-block-accordion .module-button-right {
  text-align: end;
}

.super-block-accordion .module-steps {
  font-size: 0.75em;
  color: var(--quaternary-color);
}

.super-block-accordion .chapter-header-wrapper:hover,
.super-block-accordion .module-header-wrapper:hover {
  background-color: var(--tertiary-background);
}

.super-block-accordion .chapter-header-wrapper:hover .chapter-button,
.super-block-accordion .module-header-wrapper:hover .module-button {
  color: var(--primary-color);
}

.super-block-accordion .chapter-link:hover {
  background-color: var(--tertiary-background);
  color: var(--primary-color);
}

.super-block-accordion .block-header:hover {
  background-color: var(--tertiary-background);
  color: var(--primary-color);
}

.super-block-accordion .chapter-button[aria-expanded='false'] .dropdown-icon,
.super-block-accordion .module-button[aria-expanded='false'] .dropdown-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.super-block-accordion .chapter-button[aria-expanded='true'] .dropdown-icon,
.super-block-accordion .module-button[aria-expanded='true'] .dropdown-icon {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.super-block-accordion .chapter-panel {
  background-color: var(--primary-background);
  border-top: 1px solid var(--tertiary-background);
}

.super-block-accordion .module-panel .block-header {
  padding: 10px 0px;
  -webkit-padding-start: 26px;
          padding-inline-start: 26px;
}

.super-block-accordion .block-label {
  font-size: 0.6rem;
}

.super-block-accordion
  .module-panel
  .accordion-block-expanded
  .map-challenge-title
  > * {
  padding-inline: 64px 10px;
  padding-block: 10px;
}

.super-block-accordion .module-panel .accordion-block-expanded .tags-wrapper {
  padding-inline: 64px 10px;
}

.super-block-accordion
  .module-panel
  .accordion-block-expanded
  .map-challenge-title
  > .map-grid-item {
  padding: 0;
  height: 2.6rem;
  width: 2.6rem;
}

.super-block-accordion
  .module-panel
  .accordion-block-expanded
  .map-challenges-grid {
  padding-block: 10px;
  -webkit-padding-start: 64px;
          padding-inline-start: 64px;
  grid-template-columns: repeat(auto-fill, 2.6rem);
  grid-gap: 6px;
}

.super-block-accordion .map-challenge-title {
  font-size: 1rem;
}

.super-block-accordion .accordion-block-expanded .map-challenges-grid,
.super-block-accordion .challenge-grid-block .challenge-grid-block-panel {
  margin: 0;
}

.super-block-accordion .map-challenge-title a,
.super-block-accordion .accordion-block-expanded {
  padding: 0;
}
.super-block-accordion .chapter-panel > li:last-child {
  border-bottom: none;
}

.super-block-accordion .chapter-panel > li:last-child .block-grid,
.super-block-accordion .module-panel > li:last-child .block-grid {
  border-bottom: 0;
}

.super-block-accordion .module-panel,
.super-block-accordion .accordion-block-expanded {
  position: relative;
}
.super-block-accordion .module-panel::before {
  position: absolute;
  inset-inline-start: 16px;
  width: 1px;
  height: 100%;
  content: '';
  background: var(--quaternary-background);
}

.super-block-accordion .accordion-block-expanded::before {
  position: absolute;
  inset-inline-start: 32px;
  width: 1px;
  height: 100%;
  top: 0;
  content: '';
  background: var(--quaternary-background);
}

.super-block-accordion .chapter-steps {
  font-size: 0.85rem;
  color: var(--quaternary-color);
}

.super-block-accordion .badge {
  color: var(--quaternary-color);
  border: 1px solid var(--quaternary-color);
  -ms-flex-item-align: center;
      align-self: center;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1px 6px 2px;
  font-size: 0.85rem;
  position: relative;
  top: 1px;
}

.super-block-accordion .coming-soon-module {
  font-size: 1.25rem;
}

.super-block-accordion .module-intro {
  padding: 16px 16px 0px 32px;
}

.super-block-accordion .module-intro p {
  font-size: 1rem;
  margin-bottom: 1rem;
}

.super-block-accordion .module-intro p:last-of-type {
  margin-bottom: 0;
  padding-bottom: 1rem;
}

.super-block-accordion
  .chapter-panel
  .chapter-button[aria-expanded='false']
  .dropdown-icon,
.super-block-accordion
  .chapter-panel
  .module-button[aria-expanded='false']
  .dropdown-icon,
.super-block-accordion
  .chapter-panel
  .block-grid
  .block-header[aria-expanded='false']
  .dropdown-icon {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

[dir='rtl']
  .super-block-accordion
  .chapter-panel
  .chapter-button[aria-expanded='false']
  .dropdown-icon,
[dir='rtl']
  .super-block-accordion
  .chapter-panel
  .module-button[aria-expanded='false']
  .dropdown-icon,
[dir='rtl']
  .super-block-accordion
  .chapter-panel
  .block-grid
  .block-header[aria-expanded='false']
  .dropdown-icon {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.super-block-accordion
  .chapter-panel
  .chapter-button[aria-expanded='true']
  .dropdown-icon,
.super-block-accordion
  .chapter-panel
  .module-button[aria-expanded='true']
  .dropdown-icon,
.super-block-accordion
  .chapter-panel
  .block-grid
  .block-header[aria-expanded='true']
  .dropdown-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.full-width-container {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}

.super-benefits-container {
  background-color: var(--gray-75);
  color: var(--gray-15);
  padding-inline: 15px;
  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;
  padding: 20px;
}

.super-block-intro-page .intro-top-cta {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 30px;
}

.super-block-benefits > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 20px;
}

.super-block-benefits p {
  margin: 0;
}

.super-block-benefits {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}

.super-block-benefits svg path,
.super-block-benefits p {
  fill: var(--gray-15);
}

.super-block-benefits h3 {
  color: var(--gray05);
}

@media screen and (min-width: 700px) {
  .super-block-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
  .super-block-benefits svg {
    margin-top: -10px;
  }
}

@media screen and (max-width: 500px) {
  .super-block-accordion .block-label {
    -webkit-margin-start: auto;
            margin-inline-start: auto;
    -webkit-margin-end: 10px;
            margin-inline-end: 10px;
  }
  .super-block-accordion .block-header:has(.block-label-cert-project) {
    -webkit-padding-end: 0;
            padding-inline-end: 0;
  }
}

.super-block-search-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 12px;
}

#super-block-search-input {
  padding-inline: 30px;
  width: 100%;
}

#super-block-search-input::-webkit-search-cancel-button {
  display: none;
}

.super-block-search-magnifier {
  position: absolute;
  inset-inline-start: 10px;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.super-block-search-magnifier path,
.super-block-search-reset-btn path {
  fill: var(--foreground-quaternary);
}

.super-block-search-reset-btn {
  position: absolute;
  inset-inline-end: 6px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
}

.super-block-search-reset-btn:hover,
.super-block-search-reset-btn:focus {
  background-color: var(--tertiary-background);
}

.super-block-search-form p.super-block-search-status {
  font-size: 1rem;
  height: 1.4rem;
}

/**
 * Adapted from:
 * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML
 * Based on https://github.com/chriskempson/tomorrow-theme
 * @author Rose Pritchard
 */

.dark-palette code[class*='language-'],
.dark-palette pre[class*='language-'] {
  color: var(--secondary-color);
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  font-size: 1em;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;

  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -ms-hyphens: none;
  hyphens: none;
  text-shadow: none;
}

.dark-palette pre[class*='language-'] code[class*='language-'] {
  color: var(--quaternary-color);
}

/* Code blocks */
.dark-palette pre[class*='language-'] {
  padding: 1em;
  margin: 0.5em 0;
  overflow: auto;
}

/* Without this, the above selector takes precedence and messes up the answer
padding in night mode */
.dark-palette .video-quiz-option > pre {
  padding: 0;
  margin: 0;
}

.dark-palette :not(pre) > code[class*='language-'],
.dark-palette pre[class*='language-'] {
  background: var(--primary-background);
}

.dark-palette pre[class*='language-']::-moz-selection, .dark-palette pre[class*='language-'] ::-moz-selection, .dark-palette code[class*='language-']::-moz-selection, .dark-palette code[class*='language-'] ::-moz-selection {
  background: var(--selection-color);
}

.dark-palette pre[class*='language-']::selection,
.dark-palette pre[class*='language-'] ::selection,
.dark-palette code[class*='language-']::selection,
.dark-palette code[class*='language-'] ::selection {
  background: var(--selection-color);
}

/* Inline code */
.dark-palette :not(pre) > code[class*='language-'] {
  padding: 0.1em;
  border-radius: 0.3em;
  white-space: normal;
}

.dark-palette .token.comment,
.dark-palette .token.block-comment,
.dark-palette .token.prolog,
.dark-palette .token.doctype,
.dark-palette .token.cdata {
  color: #608b4e;
}

.dark-palette .token.punctuation {
  color: #ffff00;
}

.dark-palette .token.tag,
.dark-palette .token.attr-name,
.dark-palette .token.namespace,
.dark-palette .token.deleted {
  color: #e2777a;
}

.dark-palette .token.function-name {
  color: #d4d4d4;
}

.dark-palette .token.boolean,
.dark-palette .token.number,
.dark-palette .token.function {
  color: #569cd6;
}

.dark-palette .token.property,
.dark-palette .token.class-name,
.dark-palette .token.constant,
.dark-palette .token.symbol {
  color: #f8c555;
}

.dark-palette .token.selector,
.dark-palette .token.important,
.dark-palette .token.atrule,
.dark-palette .token.keyword,
.dark-palette .token.builtin {
  color: #569cd6;
}

.dark-palette .token.string,
.dark-palette .token.char,
.dark-palette .token.attr-value,
.dark-palette .token.regex,
.dark-palette .token.variable {
  color: #7ec699;
}

/* CSS code block strings have low contrast in night mode. This attempts to increase contrast above 4.5:1 */
.dark-palette .language-css .token.string,
.dark-palette .style .token.string {
  color: #ec9126;
  background: hsl(0 0% 100% / 0.12);
}

.dark-palette .token.operator,
.dark-palette .token.entity,
.dark-palette .token.url {
  color: #67cdcc;
  background: none;
}

.dark-palette .token.important,
.dark-palette .token.bold {
  font-weight: bold;
}
.dark-palette .token.italic {
  font-style: italic;
}

.dark-palette .token.entity {
  cursor: help;
}

.dark-palette .token.inserted {
  color: green;
}

body.reflex-col-resize {
  cursor: col-resize; }

body.reflex-row-resize {
  cursor: row-resize; }

.reflex-container {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  /* align items in Main Axis */
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  /* align items in Cross Axis */
  -ms-flex-line-pack: stretch;
      align-content: stretch;
  /* OLD - iOS 6-, Safari 3.1-6 */
  /* OLD - Firefox 19- (buggy but mostly works) */
  /* TWEENER - IE 10 */
  /* NEW - Chrome */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  height: 100%;
  width: 100%; }

.reflex-container.horizontal {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 1px; }

.reflex-container.vertical {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  min-width: 1px; }

.reflex-container > .reflex-element {
  position: relative;
  overflow: auto;
  height: 100%;
  width: 100%; }

.reflex-container.reflex-resizing > .reflex-element {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          -ms-user-select: none;
      user-select: none; }

.reflex-container > .reflex-element > .reflex-size-aware {
  height: 100%;
  width: 100%; }

.reflex-container > .reflex-splitter {
  background-color: #eeeeee;
  z-index: 100; }

.reflex-container > .reflex-splitter.active,
.reflex-container > .reflex-splitter:hover {
  background-color: #c6c6c6;
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }

.horizontal > .reflex-splitter {
  border-bottom: 1px solid #c6c6c6;
  border-top: 1px solid #c6c6c6;
  cursor: row-resize;
  width: 100%;
  height: 2px; }

.reflex-element.horizontal .reflex-handle {
  cursor: row-resize;
  -webkit-user-select: none;
     -moz-user-select: none;
          -ms-user-select: none;
      user-select: none; }

.reflex-container.horizontal > .reflex-splitter:hover,
.reflex-container.horizontal > .reflex-splitter.active {
  border-bottom: 1px solid #eeeeee;
  border-top: 1px solid #eeeeee; }

.reflex-container.vertical > .reflex-splitter {
  border-right: 1px solid #c6c6c6;
  border-left: 1px solid #c6c6c6;
  cursor: col-resize;
  height: 100%;
  width: 2px; }

.reflex-element.vertical .reflex-handle {
  cursor: col-resize;
  -webkit-user-select: none;
     -moz-user-select: none;
          -ms-user-select: none;
      user-select: none; }

.reflex-container.vertical > .reflex-splitter:hover,
.reflex-container.vertical > .reflex-splitter.active {
  border-right: 1px solid #eeeeee;
  border-left: 1px solid #eeeeee; }

.reflex-container > .reflex-splitter.reflex-thin {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -moz-background-clip: padding;
  -webkit-background-clip: padding;
  background-clip: padding-box;
  opacity: 0.2;
  z-index: 100; }

.reflex-container > .reflex-splitter.reflex-thin.active
.reflex-container > .reflex-splitter.reflex-thin:hover {
  -webkit-transition: all 1.5s ease;
  transition: all 1.5s ease;
  opacity: 0.5; }

.reflex-container.horizontal > .reflex-splitter.reflex-thin {
  border-bottom: 8px solid rgba(255, 255, 255, 0);
  border-top: 8px solid rgba(255, 255, 255, 0);
  height: 17px !important;
  cursor: row-resize;
  margin: -8px 0;
  width: 100%; }

.reflex-container.horizontal > .reflex-splitter.reflex-thin.active,
.reflex-container.horizontal > .reflex-splitter.reflex-thin:hover {
  border-bottom: 8px solid #e4e4e4;
  border-top: 8px solid #e4e4e4; }

.reflex-container.vertical > .reflex-splitter.reflex-thin {
  border-right: 8px solid rgba(255, 255, 255, 0);
  border-left: 8px solid rgba(255, 255, 255, 0);
  width: 17px !important;
  cursor: col-resize;
  margin: 0 -8px;
  height: 100%; }

.reflex-container.vertical > .reflex-splitter.reflex-thin.active,
.reflex-container.vertical > .reflex-splitter.reflex-thin:hover {
  border-right: 8px solid #e4e4e4;
  border-left: 8px solid #e4e4e4; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxrQkFBa0IsRUFBRTs7QUFFdEI7RUFDRSxrQkFBa0IsRUFBRTs7QUFFdEI7RUFDRSwyQkFBMkI7RUFDM0IsNkJBQTZCO0VBQzdCLG9CQUFvQjtFQUNwQiw4QkFBOEI7RUFDOUIsc0JBQXNCO0VBRXRCLCtCQUErQjtFQUUvQiwrQ0FBK0M7RUFFL0Msb0JBQW9CO0VBRXBCLGlCQUFpQjtFQUNqQixhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixXQUFXLEVBQUU7O0FBRWY7RUFDRSxzQkFBc0I7RUFDdEIsZUFBZSxFQUFFOztBQUVuQjtFQUNFLG1CQUFtQjtFQUNuQixjQUFjLEVBQUU7O0FBRWxCO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxZQUFZO0VBQ1osV0FBVyxFQUFFOztBQUVmO0VBQ0Usb0JBQW9CO0VBQ3BCLHlCQUFpQjtLQUFqQixzQkFBaUI7VUFBakIsaUJBQWlCLEVBQUU7O0FBRXJCO0VBQ0UsWUFBWTtFQUNaLFdBQVcsRUFBRTs7QUFFZjtFQUNFLHlCQUF5QjtFQUN6QixZQUFZLEVBQUU7O0FBRWhCOztFQUVFLHlCQUF5QjtFQUN6Qix1QkFBdUIsRUFBRTs7QUFFM0I7RUFDRSxnQ0FBZ0M7RUFDaEMsNkJBQTZCO0VBQzdCLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsV0FBVyxFQUFFOztBQUVmO0VBQ0Usa0JBQWtCO0VBQ2xCLHlCQUFpQjtLQUFqQixzQkFBaUI7VUFBakIsaUJBQWlCLEVBQUU7O0FBRXJCOztFQUVFLGdDQUFnQztFQUNoQyw2QkFBNkIsRUFBRTs7QUFFakM7RUFDRSwrQkFBK0I7RUFDL0IsOEJBQThCO0VBQzlCLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osVUFBVSxFQUFFOztBQUVkO0VBQ0Usa0JBQWtCO0VBQ2xCLHlCQUFpQjtLQUFqQixzQkFBaUI7VUFBakIsaUJBQWlCLEVBQUU7O0FBRXJCOztFQUVFLCtCQUErQjtFQUMvQiw4QkFBOEIsRUFBRTs7QUFFbEM7RUFHRSxzQkFBc0I7RUFDdEIsNkJBQTZCO0VBQzdCLGdDQUFnQztFQUNoQyw0QkFBNEI7RUFDNUIsWUFBWTtFQUNaLFlBQVksRUFBRTs7QUFFaEI7O0VBRUUseUJBQXlCO0VBQ3pCLFlBQVksRUFBRTs7QUFFaEI7RUFDRSwrQ0FBK0M7RUFDL0MsNENBQTRDO0VBQzVDLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsY0FBYztFQUNkLFdBQVcsRUFBRTs7QUFFZjs7RUFFRSxnQ0FBZ0M7RUFDaEMsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsOENBQThDO0VBQzlDLDZDQUE2QztFQUM3QyxzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxZQUFZLEVBQUU7O0FBRWhCOztFQUVFLCtCQUErQjtFQUMvQiw4QkFBOEIsRUFBRSIsImZpbGUiOiJzdHlsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYm9keS5yZWZsZXgtY29sLXJlc2l6ZSB7XG4gIGN1cnNvcjogY29sLXJlc2l6ZTsgfVxuXG5ib2R5LnJlZmxleC1yb3ctcmVzaXplIHtcbiAgY3Vyc29yOiByb3ctcmVzaXplOyB9XG5cbi5yZWZsZXgtY29udGFpbmVyIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAvKiBhbGlnbiBpdGVtcyBpbiBNYWluIEF4aXMgKi9cbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIC8qIGFsaWduIGl0ZW1zIGluIENyb3NzIEF4aXMgKi9cbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC8qIE9MRCAtIGlPUyA2LSwgU2FmYXJpIDMuMS02ICovXG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICAvKiBPTEQgLSBGaXJlZm94IDE5LSAoYnVnZ3kgYnV0IG1vc3RseSB3b3JrcykgKi9cbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIC8qIFRXRUVORVIgLSBJRSAxMCAqL1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIC8qIE5FVyAtIENocm9tZSAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnJlZmxleC1jb250YWluZXIuaG9yaXpvbnRhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi1oZWlnaHQ6IDFweDsgfVxuXG4ucmVmbGV4LWNvbnRhaW5lci52ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1pbi13aWR0aDogMXB4OyB9XG5cbi5yZWZsZXgtY29udGFpbmVyID4gLnJlZmxleC1lbGVtZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucmVmbGV4LWNvbnRhaW5lci5yZWZsZXgtcmVzaXppbmcgPiAucmVmbGV4LWVsZW1lbnQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJlZmxleC1jb250YWluZXIgPiAucmVmbGV4LWVsZW1lbnQgPiAucmVmbGV4LXNpemUtYXdhcmUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5yZWZsZXgtY29udGFpbmVyID4gLnJlZmxleC1zcGxpdHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIHotaW5kZXg6IDEwMDsgfVxuXG4ucmVmbGV4LWNvbnRhaW5lciA+IC5yZWZsZXgtc3BsaXR0ZXIuYWN0aXZlLFxuLnJlZmxleC1jb250YWluZXIgPiAucmVmbGV4LXNwbGl0dGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M2YzZjNjtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7IH1cblxuLmhvcml6b250YWwgPiAucmVmbGV4LXNwbGl0dGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjNmM2YzY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzZjNmM2O1xuICBjdXJzb3I6IHJvdy1yZXNpemU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJweDsgfVxuXG4ucmVmbGV4LWVsZW1lbnQuaG9yaXpvbnRhbCAucmVmbGV4LWhhbmRsZSB7XG4gIGN1cnNvcjogcm93LXJlc2l6ZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJlZmxleC1jb250YWluZXIuaG9yaXpvbnRhbCA+IC5yZWZsZXgtc3BsaXR0ZXI6aG92ZXIsXG4ucmVmbGV4LWNvbnRhaW5lci5ob3Jpem9udGFsID4gLnJlZmxleC1zcGxpdHRlci5hY3RpdmUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnJlZmxleC1jb250YWluZXIudmVydGljYWwgPiAucmVmbGV4LXNwbGl0dGVyIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2M2YzZjNjtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYzZjNmM2O1xuICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDJweDsgfVxuXG4ucmVmbGV4LWVsZW1lbnQudmVydGljYWwgLnJlZmxleC1oYW5kbGUge1xuICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZWZsZXgtY29udGFpbmVyLnZlcnRpY2FsID4gLnJlZmxleC1zcGxpdHRlcjpob3Zlcixcbi5yZWZsZXgtY29udGFpbmVyLnZlcnRpY2FsID4gLnJlZmxleC1zcGxpdHRlci5hY3RpdmUge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWVlZWVlO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnJlZmxleC1jb250YWluZXIgPiAucmVmbGV4LXNwbGl0dGVyLnJlZmxleC10aGluIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgb3BhY2l0eTogMC4yO1xuICB6LWluZGV4OiAxMDA7IH1cblxuLnJlZmxleC1jb250YWluZXIgPiAucmVmbGV4LXNwbGl0dGVyLnJlZmxleC10aGluLmFjdGl2ZVxuLnJlZmxleC1jb250YWluZXIgPiAucmVmbGV4LXNwbGl0dGVyLnJlZmxleC10aGluOmhvdmVyIHtcbiAgdHJhbnNpdGlvbjogYWxsIDEuNXMgZWFzZTtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi5yZWZsZXgtY29udGFpbmVyLmhvcml6b250YWwgPiAucmVmbGV4LXNwbGl0dGVyLnJlZmxleC10aGluIHtcbiAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIGJvcmRlci10b3A6IDhweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBoZWlnaHQ6IDE3cHggIWltcG9ydGFudDtcbiAgY3Vyc29yOiByb3ctcmVzaXplO1xuICBtYXJnaW46IC04cHggMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnJlZmxleC1jb250YWluZXIuaG9yaXpvbnRhbCA+IC5yZWZsZXgtc3BsaXR0ZXIucmVmbGV4LXRoaW4uYWN0aXZlLFxuLnJlZmxleC1jb250YWluZXIuaG9yaXpvbnRhbCA+IC5yZWZsZXgtc3BsaXR0ZXIucmVmbGV4LXRoaW46aG92ZXIge1xuICBib3JkZXItYm90dG9tOiA4cHggc29saWQgI2U0ZTRlNDtcbiAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICNlNGU0ZTQ7IH1cblxuLnJlZmxleC1jb250YWluZXIudmVydGljYWwgPiAucmVmbGV4LXNwbGl0dGVyLnJlZmxleC10aGluIHtcbiAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICB3aWR0aDogMTdweCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gIG1hcmdpbjogMCAtOHB4O1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnJlZmxleC1jb250YWluZXIudmVydGljYWwgPiAucmVmbGV4LXNwbGl0dGVyLnJlZmxleC10aGluLmFjdGl2ZSxcbi5yZWZsZXgtY29udGFpbmVyLnZlcnRpY2FsID4gLnJlZmxleC1zcGxpdHRlci5yZWZsZXgtdGhpbjpob3ZlciB7XG4gIGJvcmRlci1yaWdodDogOHB4IHNvbGlkICNlNGU0ZTQ7XG4gIGJvcmRlci1sZWZ0OiA4cHggc29saWQgI2U0ZTRlNDsgfVxuIl19 */
#editor-layout {
  min-height: 0;
  height: 100%;
}

#learn-app-wrapper,
#learn-app-wrapper .desktop-layout,
#learn-app-wrapper .reflex-container.vertical {
  height: 100%;
}

#learn-app-wrapper .desktop-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

#learn-app-wrapper .editor-pane {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 0;
  width: 100%;
}

#learn-app-wrapper .editor-pane-code {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-height: 0;
}
#learn-app-wrapper .editor-pane > .independent-lower-jaw {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-top: auto;
}

#learn-app-wrapper .reflex-container.vertical {
  min-height: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

#learn-app-wrapper .reflex-container.vertical > .reflex-splitter,
#learn-app-wrapper .reflex-container.horizontal > .reflex-splitter {
  background-color: var(--quaternary-background);
  border: none;
}

#learn-app-wrapper .reflex-container.vertical > .reflex-splitter:hover,
#learn-app-wrapper .reflex-container.horizontal > .reflex-splitter:hover {
  background-color: var(--quaternary-color);
}

#learn-app-wrapper .reflex-container.vertical > .reflex-splitter {
  width: 5px;
}

#learn-app-wrapper .reflex-container.horizontal > .reflex-splitter {
  height: 5px;
}

#learn-app-wrapper table {
  display: inline-block;
  overflow: auto;
}

#learn-app-wrapper table thead {
  display: table-header-group;
  vertical-align: middle;
  border-color: inherit;
}

#learn-app-wrapper table th {
  font-weight: 700;
}

#learn-app-wrapper table th,
#learn-app-wrapper table td {
  padding: 6px 13px;
  border: 1px solid var(--secondary-color);
  text-align: center;
}

#learn-app-wrapper table tbody tr:nth-of-type(odd) {
  background-color: var(--tertiary-background);
}

.exam-download-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.exam-qualified p:last-of-type {
  margin-bottom: 0;
}

pre[class*="language-"].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre[class*="language-"].line-numbers > code {
	position: relative;
	white-space: inherit;
}

.line-numbers .line-numbers-rows {
	position: absolute;
	pointer-events: none;
	top: 0;
	font-size: 100%;
	left: -3.8em;
	width: 3em; /* works for line-numbers below 1000 lines */
	letter-spacing: -1px;
	border-right: 1px solid #999;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

}

	.line-numbers-rows > span {
		display: block;
		counter-increment: linenumber;
	}

		.line-numbers-rows > span:before {
			content: counter(linenumber);
			color: #999;
			display: block;
			padding-right: 0.8em;
			text-align: right;
		}

/**
 * prism.js default theme for JavaScript, CSS and HTML
 * Based on dabblet (http://dabblet.com)
 * @author Lea Verou
 */

code[class*="language-"],
pre[class*="language-"] {
	color: black;
	background: none;
	text-shadow: 0 1px white;
	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
	font-size: 1em;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	-ms-hyphens: none;
	hyphens: none;
}

pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
	text-shadow: none;
	background: #b3d4fc;
}

pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
	text-shadow: none;
	background: #b3d4fc;
}

pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
	text-shadow: none;
	background: #b3d4fc;
}

@media print {
	code[class*="language-"],
	pre[class*="language-"] {
		text-shadow: none;
	}
}

/* Code blocks */
pre[class*="language-"] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

:not(pre) > code[class*="language-"],
pre[class*="language-"] {
	background: #f5f2f0;
}

/* Inline code */
:not(pre) > code[class*="language-"] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: slategray;
}

.token.punctuation {
	color: #999;
}

.token.namespace {
	opacity: .7;
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
	color: #905;
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
	color: #690;
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
	color: #9a6e3a;
	/* This background color was intended by the author of this theme. */
	background: hsla(0, 0%, 100%, .5);
}

.token.atrule,
.token.attr-value,
.token.keyword {
	color: #07a;
}

.token.function,
.token.class-name {
	color: #DD4A68;
}

.token.regex,
.token.important,
.token.variable {
	color: #e90;
}

.token.important,
.token.bold {
	font-weight: bold;
}
.token.italic {
	font-style: italic;
}

.token.entity {
	cursor: help;
}

.challenge-instructions blockquote {
  background-color: var(--tertiary-background);
  color: var(--tertiary-color);
  padding: 10px;
  width: 100%;
  margin: 0;
  margin-bottom: 1.45rem;
  font-size: 0.9rem;
}

#description ol li a {
  word-break: break-all;
}

#description ol li {
  line-height: 1.5;
}

.interactive-editor-wrapper {
  margin-bottom: 1rem;
  border-radius: 4px;
}

.sp-cm .cm-gutters {
  color: var(--gray-45);
}

.sp-tabs .sp-tab-button {
  color: var(--gray-10) !important;
}

.sp-tabs .sp-tab-button[aria-selected='true'],
.sp-tabs .sp-tab-button:hover {
  background-color: var(--gray-10);
  color: var(--gray-90) !important;
}

.sp-preview-actions .sp-button {
  background-color: var(--gray-90);
  color: var(--gray-10) !important;
}

.sp-preview-actions .sp-button:hover {
  background-color: var(--gray-10) !important;
  color: var(--gray-90) !important;
  border-color: var(--gray-90) !important;
}

.interactive-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; /* Default for desktop: side-by-side */
  height: 450px;
}

.interactive-editor-column {
  -webkit-box-flex: 1.5 !important;
      -ms-flex: 1.5 !important;
          flex: 1.5 !important;
  height: 100% !important;
}

.interactive-preview-column {
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 !important;
          flex: 1 !important;
  height: 100% !important;
}

.sp-preview {
  height: 100%;
}

@media (max-width: 768px) {
  .interactive-layout {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: auto !important; /* Allow the height to expand as content stacks */
  }

  .interactive-editor-column,
  .interactive-preview-column {
    width: 100%;
    /* Override desktop flex value */
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 auto !important;
            flex: 0 0 auto !important;
    /* Set a reasonable mobile height for the editor */
    height: 400px !important;
  }
}

.monaco-editor-wrapper {
  -webkit-padding-before: 8px;
          padding-block-start: 8px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.monaco-editor .line-numbers {
  color: #858591 !important;
  font-size: 12px;
}

/* hide the outline for the HotKeys component */
div[tabindex='-1']:focus {
  outline-color: transparent;
}

.completion-success-icon {
  width: 200px;
  height: 200px;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0;
  -webkit-animation: success-icon-animation 150ms linear 100ms forwards;
          animation: success-icon-animation 150ms linear 100ms forwards;
}

@-webkit-keyframes success-icon-animation {
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes success-icon-animation {
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.completion-block-details {
  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;
  -ms-flex-item-align: center;
      align-self: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  gap: 0.5rem;
}

.completion-block-name {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 4px;
}

.completion-block-meta {
  color: var(--quaternary-color);
  font-size: 0.8rem;
  margin-top: 5px;
}

.completion-block-details .completion-block-name {
  font-size: 1.2rem;
}

.completion-block-details .completion-block-meta {
  font-size: 1rem;
}

.progress-bar-wrap {
  width: 100%;
  position: relative;
  border: 1px solid var(--quaternary-color);
}

.progress-header {
  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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  font-size: 0.9rem;
}

.progress-bar-background {
  width: 100%;
  height: 10px;
  color: var(--primary-color);
  background-color: var(--quaternary-background);
  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;
  position: absolute;

  top: 0;
  left: 0;
}

.progress-bar-percent {
  height: 10px;
  overflow: hidden;
  position: relative;
  background-color: var(--primary-color);
  -webkit-transition: width 0ms linear;
  transition: width 0ms linear;
}

/* The maximum width of login button is 500px, which is set in global.css.
   An override is needed as 500px is not enough to allow the button to span the modal width. */
.completion-modal-login-btn .signup-btn {
  max-width: 100%;
}

.completion-modal-body {
  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;
}

@media screen and (max-width: 991px) {
  .progress-bar-wrap,
  .progress-bar-background {
    height: 10px;
  }

  .completion-success-icon {
    width: 160px;
    height: 160px;
  }

  .completion-message {
    font-weight: 600;
    font-size: 1.2rem;
  }

  .completion-block-name {
    font-size: 1rem;
  }
}

/* Override global ul styles */
.quiz-challenge-container ul {
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  list-style-type: none;
}

/* Override the bottom margin set in global.css */
.quiz-challenge-container .quiz-answer-label p:last-child,
.quiz-challenge-container div[role='radiogroup'] label p:last-child {
  margin-bottom: 0;
}

/* Quiz question text and option text have the <p> tag removed
   so the HTML can be semantically correct. 
   This also removes the `p` styles that the text should have,
   so we need to clone the CSS of the `p` element here. */
.quiz-question-label,
.quiz-answer-label {
  line-height: 1.5rem;
  font-weight: 400;
  font-size: 1rem;
  margin: 0 0 1.2rem;
}

.quiz-answer-label:has(ruby) {
  line-height: 1.7rem;
}

/* Override global button:hover for the play/pause button in the Quiz component */
.quiz-challenge-container button:has(svg.svg-inline--fa):hover {
  background-color: unset;
  color: unset;
}

.challenge-preview,
.challenge-preview-frame {
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  border: none;
  background-color: white;
}

.enable-iframe {
  pointer-events: auto;
}

.disable-iframe {
  pointer-events: none;
}

.project-preview-modal-body {
  position: relative;
  line-height: 0;
  padding: 0;
  min-height: 70vh;
  height: 70vh;
}

.project-preview-modal-loader {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: var(--primary-background);
}

.project-preview-modal-content {
  height: 100%;
}

.project-preview-modal-content.is-loading {
  opacity: 0;
}

.project-link {
  font-weight: 800;
}

.certification-namespace * {
  margin: 0;
  padding: 0;
}

.certification-namespace h1 {
  margin: 15px 0;
  font-size: 45px;
  color: var(--theme-color);
  line-height: 1.1;
}

.certificate-wrapper {
  --outline-width: 11px;
  --namespace-offset: 10px;
  position: relative;
  width: 100%;
  margin-inline: 1em;
}

.certification-namespace {
  max-width: 1500px;
  width: 100%;
  outline: var(--outline-width) solid var(--gray-85);
  position: relative;
  outline-offset: var(--namespace-offset);
  background-color: white;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' viewBox='0 0 450 390' height='520' version='1.0'%3E%3Cdefs%3E%3CclipPath id='s'%3E%3Cpath d='M393 0h56.957v33.25H393zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='c'%3E%3Cpath d='M0 0h450v390H0z'/%3E%3C/clipPath%3E%3CclipPath id='d'%3E%3Cpath d='M74.246 388.5h1.75v1.496h-1.75zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='e'%3E%3Cpath d='M111.73 373h29.485v16.996H111.73zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='f'%3E%3Cpath d='M75 356.75h57.219v33.246H75zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='g'%3E%3Cpath d='M159 356.75h10.703v33.246H159zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='h'%3E%3Cpath d='M205.434 324.75h1.75v65.246h-1.75zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='i'%3E%3Cpath d='M223.426 324.75h40.73v65.246h-40.73zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='j'%3E%3Cpath d='M177.7 324.75h11.491v65.246H177.7zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='k'%3E%3Cpath d='M18.023 324.75h57.223v65.246H18.023zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='l'%3E%3Cpath d='M.035 324.75h39.23v65.246H.036zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='m'%3E%3Cpath d='M393 128.5h56.957v34.75H393zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='n'%3E%3Cpath d='M449.316 65h.641v65h-.64zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='o'%3E%3Cpath d='M412.586 172.5h37.371v24h-37.371zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='p'%3E%3Cpath d='M449.316 194h.641v1h-.64zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='q'%3E%3Cpath d='M430.574 150.75h19.383V164h-19.383zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='r'%3E%3Cpath d='M449.316 130h.641v1.5h-.64zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='I'%3E%3Cpath d='M430.574 324.75h1.75v65.246h-1.75zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='t'%3E%3Cpath d='M412.586 42.5h37.371v24h-37.371zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='u'%3E%3Cpath d='M449.316 64h.641v1h-.64zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='v'%3E%3Cpath d='M430.574 20.75h19.383V34h-19.383zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='w'%3E%3Cpath d='M449.316 0h.641v1.5h-.64zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='x'%3E%3Cpath d='M393 226h56.957v67.25H393zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='y'%3E%3Cpath d='M449.316 194.75h.641V260h-.64zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='z'%3E%3Cpath d='M412.586 302.5h37.371V325h-37.371zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='A'%3E%3Cpath d='M449.316 324h.641v1h-.64zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='B'%3E%3Cpath d='M430.574 280.75h19.383V294h-19.383zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='C'%3E%3Cpath d='M449.316 260h.641v1.5h-.64zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='D'%3E%3Cpath d='M336.621 373h29.484v16.996h-29.484zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='E'%3E%3Cpath d='M243 259.75h133.602v130.246H243zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='F'%3E%3Cpath d='M402.59 324.75h11.742v65.246H402.59zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='G'%3E%3Cpath d='M384 356.75h10.594v33.246H384zm0 0'/%3E%3C/clipPath%3E%3CclipPath id='H'%3E%3Cpath d='M448.566 324.75h1.391v65.246h-1.39zm0 0'/%3E%3C/clipPath%3E%3Cfilter x='0%25' y='0%25' width='100%25' height='100%25' id='a'%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0' color-interpolation-filters='sRGB'/%3E%3C/filter%3E%3Cmask id='b'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill-opacity='.098' d='M-45-39h540v468H-45z'/%3E%3C/g%3E%3C/mask%3E%3C/defs%3E%3Cg mask='url(%23b)'%3E%3Cg clip-path='url(%23c)'%3E%3Cpath fill='%233b3b4f' d='m56.691 31.852-1.12 1.945V52.87l-8.258-4.77-.747 1.297 9.004 5.204V65h1.5V32.496a.747.747 0 0 0-.379-.644M94.574 33.797l.004.004V0h-1.5v31.203-.004V65h1.496V33.797M65.32 16.902l9.004 5.2v42.464l-.75.434h2.246V.434L76.57 0h-1.496l-.75 1.3v19.071l-8.254-4.77-.75 1.301M47.316 81.898l28.133-16.25A.752.752 0 0 0 75.82 65h-2.246l-16.508 9.535V65h-1.5v10.402l-9 5.2.75 1.296M66.07 114.398l27.008-15.601 1.5-2.602-29.258 16.903.75 1.3'/%3E%3Cpath fill='%233b3b4f' d='m55.57 96.2 1.121 1.945.004.003 55.137-31.851.75-1.297v-.004h1.477l-.75-.43v-.824l.023-.043V44.63l8.238 4.754-.007.015 27.007 15.598h3L122.328 48.11l.008-.011h-.004l-9-5.203V.434l.75-.434h-2.25v64.566l-.75.434-16.508 9.535V65h-1.5v10.398L56.32 96.633l-.75-.434M74.324 128.695l.75 1.301.375-.648.375-.653-.75.434-.75-.434'/%3E%3Cpath fill='%233b3b4f' d='m130.945 33.137-.004.011-.004.004L186.078 65h1.496l-.75-1.3-16.508-9.536 8.254-4.766-.75-1.3-9.004 5.199-36.754-21.23v-.825l.024-.039V12.13l8.238 4.758-.008.015 28.133 16.25a.748.748 0 0 0 .746-.004l-1.12-1.945-16.512-9.535 8.257-4.77-.75-1.296-9.004 5.199-8.984-5.188.008-.015-9.004-5.2V0h-1.5v32.5c0 .273.144.504.36.637M130.96 96.852l-55.136 31.847-.75 1.297h1.5l16.508-9.535v9.535h1.5v-10.402l36.754-21.227.75.43-1.125-1.945M140.336 113.098l-28.133 16.25a.752.752 0 0 0-.371.648h2.246l16.508-9.535.004 9.535h1.496v-10.402l9-5.2-.75-1.296M93.078 98.8l29.254-16.902-.746-1.296-27.012 15.601-1.496 2.598M112.207 65.648l-.375.649.75-.43.75.43-.75-1.297-.375.648'/%3E%3Cpath fill='%233b3b4f' d='m112.582 65 .75 1.297 16.508 9.539-8.254 4.766.75 1.296 9.004-5.199 36.754 21.235v.863l1.125-1.945L114.082 65h-1.5M130.96 96.852l1.126 1.945 16.508 9.531-8.254 4.774.75 1.296 9.004-5.203 9 5.2.75-1.297-28.133-16.25a.737.737 0 0 0-.75.004M148.59 65l29.258 16.898.75-1.296L151.586 65h-2.996M187.598 65h-1.496l.746.434v.863l.75-1.297M169.223 96.852l-1.125 1.945v19.07l-8.254-4.765-.75 1.296 9.004 5.204v10.394h1.5v-32.5a.744.744 0 0 0-.375-.644M207.105 98.797v.004V65h-1.5v31.2-.005 33.801h1.5v-31.2'/%3E%3Cpath fill='%233b3b4f' d='m178.598 80.602-.75 1.296v.004l9.004 5.2v42.464l-.75.43h2.25V65.434l.75-.434 16.507-9.54v9.536h1.5V54.598l36.754-21.23.75.429-1.12-1.945h-.005l-55.136 31.847-.75 1.301-.75 1.297V85.37l-8.254-4.77'/%3E%3Cpath fill='%233b3b4f' d='M188.352 129.996h-2.247l-16.507 9.54-.004-9.536h-1.496v10.402l-9 5.2.75 1.296 28.129-16.25a.749.749 0 0 0 .375-.652M178.602 179.395l27.007-15.602 1.5-2.598-29.257 16.903.75 1.297M187.977 194.348l.375-.653-.75.438-.75-.438.75 1.301.375-.648'/%3E%3Cpath fill='%233b3b4f' d='m234.863 113.094-9.004-5.2v-42.46l.75-.434h-2.25v64.566l-.75.43-16.507 9.54v-9.54h-1.5v10.402l-36.754 21.235-.75-.434 1.125 1.946v.003l55.136-31.851.75-1.3h1.477l-.75-.43v-.829l.023-.039v-19.07l8.239 4.754-.008.015 27.012 15.598h2.996l-29.239-16.887.004-.011v-.004M252.867 178.098l-28.133 16.25a.739.739 0 0 0-.37.648h2.241l16.512-9.535v9.535h1.5v-10.402l9-5.2-.75-1.296M205.605 163.8l29.258-16.902-.75-1.296-27.008 15.601-1.5 2.598'/%3E%3Cpath fill='%233b3b4f' d='M205.61 194.996h1.5v-10.402l36.753-21.23.75.433-1.12-1.945-.005-.004-55.136 31.851-.75 1.297-.75 1.3v19.071l-8.254-4.765-.75 1.296 9.004 5.204v42.46l-.75.434h2.25V195.43l.75-.434 16.507-9.535v9.535M225.11 130l-.75 1.297.75-.43.75.43-.75-1.297M264.117 129.996h-3l29.207 16.871-.02.031v.004l9.005 5.2v42.46l-.75.434h2.25V130.43l.75-.434h-1.5V130h-1.43l.75.434v.746l-.07.117v19.074l-8.2-4.738.016-.031-27.008-15.606M159.848 16.902 187.977.648a.743.743 0 0 0 .375-.648h-2.247l-16.507 9.54-.004-9.54h-1.496v10.402l-9 5.2.75 1.3M178.602 49.398l27.007-15.601 1.5-2.598-29.257 16.899.75 1.3M168.098 31.2l1.125 1.948v.004l55.136-31.851.75-1.301h-1.5l-16.507 9.535V0h-1.5v10.402l-36.754 21.23-.75-.433M187.977 64.348l.375-.649-.75.434-.75-.434.75 1.297.375-.648M252.867 48.098l-28.133 16.25a.748.748 0 0 0-.37.648h2.241l16.512-9.535v9.535h1.5V54.594l9-5.196-.75-1.3'/%3E%3Cpath fill='%233b3b4f' d='m205.605 33.8 29.258-16.898-.75-1.3-27.008 15.601-1.5 2.598M225.11 0l-.376.648-.375.653.75-.434.75.434L225.11 0'/%3E%3Cpath fill='%233b3b4f' d='m242.371 10.836-8.254 4.766h-.004l.75 1.3h.004l9-5.203 36.754 21.235v.746l-.066.117V52.87l-8.203-4.742.02-.031-28.134-16.25a.739.739 0 0 0-.746.004l1.121 1.945 16.508 9.535-8.254 4.77.75 1.296 9.004-5.203 8.95 5.172-.016.031 9 5.204V65h1.5V32.496a.735.735 0 0 0-.325-.61l.016-.034L226.61 0h-1.496l.746 1.3 16.512 9.536M57.07 194.996v-32.5a.743.743 0 0 0-.379-.644l-1.12 1.941v19.074l-8.258-4.765-.747 1.296 9.004 5.204v10.394h1.5M66.07 145.602l-.75 1.296v.004l9.004 5.2v42.46l-.75.434h2.246V130.43l.75-.434h-1.496l-.75 1.3v19.075l-8.254-4.77'/%3E%3Cpath fill='%233b3b4f' d='m56.695 228.148 55.137-31.851.75-1.3h1.477l-.75-.435v-.824l.023-.039v-19.074l8.238 4.758-.007.012 27.007 15.601h3l-29.242-16.89.008-.012h-.004l-9-5.2V130.43l.75-.434h-2.25v64.566l-.75.434-16.508 9.535v-9.535h-1.5v10.402L56.32 226.633l-.75-.438 1.121 1.95.004.003'/%3E%3Cpath fill='%233b3b4f' d='m47.316 211.898 28.133-16.25a.752.752 0 0 0 .371-.648h-2.246l-16.508 9.535V195h-1.5v10.398l-9 5.204.75 1.296M93.078 228.793l1.5-2.598-29.258 16.899.75 1.3 27.008-15.601M75.45 259.344l.374-.649-.75.434-.75-.434.75 1.301.375-.652M168.45 163.148c.238.141.523.13.745 0l-1.12-1.945-16.512-9.539 8.257-4.766-.75-1.3-9.004 5.199-8.984-5.188.008-.011-9.004-5.2v-10.402h-1.5V162.5c0 .27.144.504.36.637l-.005.008-.004.003 55.141 31.848h1.496l-.75-1.297-16.508-9.535 8.254-4.77-.75-1.3v.004l-9.004 5.199-36.754-21.234v-.825l.024-.035V142.13l8.238 4.758-.008.011 28.133 16.25M93.078 161.2v-.005 33.801h1.496v-31.2h.004v-33.8h-1.5V161.2M140.336 243.094l-28.133 16.25a.758.758 0 0 0-.371.652h2.246l16.508-9.535.004 9.535h1.496v-10.402l9-5.2-.75-1.3'/%3E%3Cpath fill='%233b3b4f' d='m93.078 228.797 29.254-16.899-.746-1.3-27.012 15.601-1.496 2.598M94.582 259.996v-10.402l36.754-21.23.75.433-1.125-1.945v-.004l-55.137 31.847-.75 1.301h1.5l16.508-9.535v9.535h1.5M112.582 195l-.75 1.297.75-.434.75.434-.75-1.297M178.598 210.598 151.586 195h-2.996l29.258 16.898.75-1.3'/%3E%3Cpath fill='%233b3b4f' d='m150.094 239.195 9 5.2.75-1.301-28.133-16.25a.755.755 0 0 0-.75.004l1.125 1.945 16.508 9.535-8.254 4.77.75 1.3 9.004-5.203M169.219 226.852v-.004l-55.137-31.852h-1.5l.75 1.3 16.508 9.536-8.254 4.77.75 1.296 9.004-5.199 36.754 21.23v.868l1.125-1.945M187.598 195h-1.496l.746.43v.867l.75-1.297M168.098 259.996h1.5v-32.5a.75.75 0 0 0-.375-.648l-1.125 1.945v19.074l-8.254-4.77-.75 1.301 9.004 5.2v10.398M159.848 276.898l28.129-16.25a.753.753 0 0 0 .375-.652h-2.247l-16.507 9.535-.004-9.535h-1.496v10.402l-9 5.2.75 1.3M207.11 291.195l-29.258 16.899.75 1.297 27.007-15.598 1.5-2.598M187.977 324.344l.375-.649-.75.434-.75-.434.75 1.301.375-.652'/%3E%3Cpath fill='%233b3b4f' d='m234.863 243.094-9.004-5.203V195.43l.75-.434h-2.25v64.566l-.746.434h-.004l-16.507 9.535v-9.535h.003v-65h-1.5V226.2v-.004 33.801h-.003v10.402l-36.754 21.23-.75-.433 1.125 1.946v.004l55.136-31.848.75-1.3h1.477l-.75-.435v-.824l.023-.043v-19.07l8.239 4.758-.008.012 27.012 15.601h2.996l-29.239-16.89.004-.012M252.867 308.094l-28.133 16.25a.745.745 0 0 0-.37.652h2.241l16.512-9.539v9.54h1.5v-10.403l9-5.203-.75-1.297M234.113 275.598l-27.008 15.601-1.5 2.598 29.258-16.899-.75-1.3'/%3E%3Cpath fill='%233b3b4f' d='m224.36 261.297.75-.434.75.434-.75-1.3-.376.651-.375.649M244.613 293.797l-1.12-1.945-.005-.004-55.136 31.847-.75 1.301h1.5l16.507-9.535v9.535h1.5v-10.402l36.754-21.23.75.433M55.57 324.996h1.5v-32.5a.754.754 0 0 0-.379-.648l-1.12 1.945v19.074l-8.258-4.77-.747 1.301 9.004 5.2v10.398M47.316 341.898l28.133-16.253a.747.747 0 0 0 .371-.649h-2.246l-16.508 9.535v-9.535h-1.5v10.402l-9 5.2.75 1.3M94.578 356.191 65.32 373.094l.75 1.297 27.008-15.598 1.5-2.602'/%3E%3Cg clip-path='url(%23d)'%3E%3Cpath fill='%233b3b4f' d='m75.074 389.996.375-.652.375-.649-.75.434-.75-.434.75 1.301'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='m187.574 324.996-.75-1.3-16.508-9.536 8.254-4.77-.75-1.296-9.004 5.203-36.754-21.235v-.824l.024-.039v-19.07l8.234 4.754-.004.015 28.133 16.25c.238.141.524.125.746-.003l-1.12-1.946-16.512-9.535 8.257-4.77-.75-1.3-9.004 5.203-8.984-5.188.008-.015-9.004-5.2v-10.398h-1.5v32.5c0 .27.144.508.36.637l-.005.008-.004.004 55.141 31.851h1.496'/%3E%3Cpath fill='%233b3b4f' d='m122.328 308.105.008-.011h-.004l-9-5.203V260.43l.75-.434h-2.25v64.567l-.75.433-16.508 9.535v-9.535h-1.5v10.402l-36.754 21.23-.75-.433 1.121 1.946.004.004 55.137-31.848.75-1.3h1.477l-.75-.435v-.824l.023-.043v-19.07l8.234 4.758-.004.008 27.008 15.605h3l-29.242-16.89'/%3E%3Cpath fill='%233b3b4f' d='M93.078 291.195v33.801h1.496v-31.203l.004.004v-33.8h-1.5v31.198M76.57 259.996h-1.496l-.75 1.3v19.071l-8.254-4.765-.75 1.296 9.004 5.204v42.46l-.75.434h2.246V260.43l.75-.434'/%3E%3Cg clip-path='url(%23e)'%3E%3Cpath fill='%233b3b4f' d='m140.336 373.094-28.133 16.25a.753.753 0 0 0-.371.652h2.246l16.508-9.539.004 9.54h1.496v-10.403l9-5.203-.75-1.297'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='m121.586 340.598-27.012 15.597-1.496 2.602 29.254-16.902-.746-1.297'/%3E%3Cg clip-path='url(%23f)'%3E%3Cpath fill='%233b3b4f' d='m132.086 358.797-1.125-1.95v-.003l-55.137 31.851-.75 1.301h1.5l16.508-9.539v9.539h1.496v-.004l.004-10.398 36.754-21.235.75.438'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='m112.582 324.996-.375.649-.375.652.75-.434.75.434-.75-1.3M131.71 356.844a.756.756 0 0 0-.75 0l1.126 1.949 16.508 9.535-8.254 4.766.75 1.3 9.004-5.203 9 5.2.75-1.297-28.133-16.25M151.586 324.996h-2.996l29.258 16.899.75-1.297-27.012-15.602M169.219 356.848v-.004l-55.137-31.848h-1.5l.75 1.3 16.508 9.532-8.254 4.77.75 1.3 9.004-5.203 36.754 21.235v.867l1.125-1.95M187.598 324.996h-1.496l.746.434v.867l.75-1.3'/%3E%3Cg clip-path='url(%23g)'%3E%3Cpath fill='%233b3b4f' d='m169.223 356.848-1.125 1.945v19.074l-8.254-4.77-.75 1.298 9.004 5.203v10.398h1.5v-32.504a.744.744 0 0 0-.375-.644'/%3E%3C/g%3E%3Cg clip-path='url(%23h)'%3E%3Cpath fill='%233b3b4f' d='M205.605 356.195v33.801h1.5v-31.203.004-33.8h-1.5v31.198'/%3E%3C/g%3E%3Cg clip-path='url(%23i)'%3E%3Cpath fill='%233b3b4f' d='m234.863 373.094-9.004-5.203V325.43l.75-.434h-2.25v64.567l-.75.433h2.977l-.75-.437v-.825l.023-.039v-19.074l8.239 4.762-.008.008 27.012 15.605h2.996l-29.239-16.89.004-.012'/%3E%3C/g%3E%3Cg clip-path='url(%23j)'%3E%3Cpath fill='%233b3b4f' d='M189.102 324.996h-1.5l-.75 1.3v19.071l-8.254-4.765v-.004l-.75 1.3 9.004 5.204v42.46l-.75.434h2.25V325.43l.75-.434'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='m18.39 98.148 55.137 31.848h1.5l-.75-1.297-16.507-9.535 8.253-4.77-.75-1.296-9.003 5.199-36.754-21.23v-.825l.02-.039V77.13l8.237 4.758-.007.011 28.132 16.25c.243.141.524.13.75 0l-1.125-1.945-16.507-9.539 8.254-4.766-.75-1.3-9.004 5.203-8.985-5.192.008-.011-9.004-5.2V65h-1.5v32.5c0 .27.149.504.36.633l-.004.012v.003'/%3E%3Cpath fill='%233b3b4f' d='M.758 129.996h.75l-.75-.43v-.824l.023-.043v-19.07l8.239 4.754-.008.015 27.011 15.598h2.997L9.78 113.11l.004-.011v-.004l-9.004-5.2v-42.46l.75-.434H.035v64.996h.723M18.04 185.46v9.536h1.5v-10.402l9-5.2-.75-1.296-27.755 16.03v.868h1.496l16.508-9.535M9.035 145.602l-9 5.199v1.73l9.75-5.633-.75-1.296M19.535 163.797l-1.12-1.945-.005-.004L.035 172.465v1.73l18.75-10.832.75.434M.035 130v.867l.746.43zm0 0'/%3E%3Cpath fill='%233b3b4f' d='m65.297 146.898.75-1.296-27.008-15.606h-3l29.258 16.902M28.54 179.398l9.003-5.203 9.004 5.2.746-1.297-28.133-16.254a.748.748 0 0 0-.746.004l1.121 1.945 16.512 9.535-8.258 4.77.75 1.3M9.04 145.602l.75 1.296 9.003-5.199 36.754 21.23v.868l1.121-1.945.004-.004-55.137-31.852h-1.5l.75 1.3 16.508 9.54-8.254 4.766M75.05 130h-1.5l.75.434v.863l.75-1.297M18.04 55.46v9.536h1.5V54.594l9-5.196-.75-1.3L.034 64.128v.868h1.496l16.508-9.535M9.035 15.602l-9 5.203v1.726l9.75-5.629-.75-1.3M19.535 33.797l-1.12-1.945h-.005L.035 42.469v1.726l18.75-10.828.75.43M.035.004v.863l.746.434zM17.293 10.836l-8.254 4.766.75 1.3 9.004-5.203 36.754 21.235v.863l1.121-1.945h.004L1.535 0h-1.5l.75 1.3 16.508 9.536M66.047 15.602 39.039 0h-3l29.258 16.902.75-1.3'/%3E%3Cpath fill='%233b3b4f' d='m28.54 49.398 9.003-5.203 9.004 5.203.746-1.3-28.133-16.25a.739.739 0 0 0-.746.004l1.121 1.945 16.512 9.535-8.258 4.77.75 1.296M74.3 1.3l.75-1.3h-1.5l.75.434V1.3M18.39 228.148l55.137 31.848h1.5l-.75-1.3-16.507-9.536 8.253-4.765-.75-1.301-9.003 5.203-36.754-21.234v-.825l.02-.039v-19.07l8.237 4.754-.007.015 28.132 16.25c.243.141.524.125.75 0l-1.125-1.945-16.507-9.539 8.254-4.77-.75-1.296-9.004 5.199-8.985-5.188.008-.015-9.004-5.2v-10.398h-1.5V227.5c0 .27.149.504.36.633l-.004.012v.003'/%3E%3Cpath fill='%233b3b4f' d='M.758 259.996h.75l-.75-.433v-.825l.023-.043v-19.07l8.239 4.758-.008.012 27.011 15.601h2.997L9.78 243.106l.004-.012-9.004-5.203V195.43l.75-.434H.035v65h.723M18.04 315.457v9.54h1.5v-10.403l9-5.203-.75-1.297L.034 324.129v.867h1.496l16.508-9.539M9.035 275.598l-9 5.199v1.734l9.75-5.633-.75-1.3M19.535 293.797l-1.12-1.945-.005-.004L.035 302.46v1.734l18.75-10.832.75.434M.035 260v.867l.746.43zM65.297 276.898l.75-1.3-27.008-15.602h-3l29.258 16.902'/%3E%3Cpath fill='%233b3b4f' d='m28.54 309.395 9.003-5.2 9.004 5.196.746-1.297-28.133-16.25a.739.739 0 0 0-.746.004l1.121 1.945 16.512 9.535-8.258 4.77.75 1.297M9.04 275.602l.75 1.296 9.003-5.203 36.754 21.235v.867l1.121-1.945.004-.004-55.137-31.852h-1.5l.75 1.3 16.508 9.536-8.254 4.766v.004M75.05 259.996h-1.5l.75.434v.867l.75-1.3'/%3E%3Cg clip-path='url(%23k)'%3E%3Cpath fill='%233b3b4f' d='m57.77 379.16 8.253-4.77-.75-1.296-9.003 5.199-36.754-21.23v-.829l.02-.039v-19.07l8.237 4.758-.007.015 28.132 16.25a.755.755 0 0 0 .75-.003l-1.125-1.946-16.507-9.535 8.254-4.77-.75-1.3-9.004 5.203-8.985-5.188.008-.015-9.004-5.203v-10.395h-1.5v32.5c0 .27.149.504.36.637l-.004.008v.004l55.136 31.851h1.5l-.75-1.3-16.507-9.536'/%3E%3C/g%3E%3Cg clip-path='url(%23l)'%3E%3Cpath fill='%233b3b4f' d='M9.785 373.094.781 367.89V325.43l.75-.434H.035v65h1.473l-.75-.437v-.825l.023-.039v-19.074l8.239 4.762-.008.008 27.011 15.605h2.997L9.78 373.106l.004-.012'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='M319.563 33.797v.004V0h-1.497v31.203l-.003-.004V65h1.5V33.797M300.707 22.047zm-.648.375zm-9.754-5.52 9.004 5.2v42.464l-.75.434h2.25V.434l.75-.434h-2.93l.75.434v.746l-.07.12v19.071l-8.2-4.738.016-.031L264.117 0h-3l29.207 16.871-.02.031'/%3E%3Cpath fill='%233b3b4f' d='m280.621 96.238-.02-.035-16.507-9.539 8.254-4.766-.012-.02 28.101-16.23a.752.752 0 0 0 .372-.648h-2.247l-16.507 9.535V65h-1.5v10.402l-9 5.2.011.015-8.972 5.184-8.98-5.192.003-.011-9.004-5.2V65h-1.5v32.5c0 .27.149.504.364.633l-.008.012v.003l55.136 31.848h2.954l16.507-9.535v9.535h1.5v-10.402l36.754-21.227.75.43-1.12-1.945h-.005l-55.136 31.847-.727 1.262.356-.613.375-.653-.75.434-.688-.395-.02-.035-16.507-9.535 8.254-4.77-.012-.015 26.976-15.582 1.497-2.602-29.254 16.903.011.02-8.972 5.179-36.754-21.23v-.825l.02-.039V77.13l8.238 4.758-.008.011 28.133 16.25c.242.141.523.13.75 0l-.012-.02 55.105-31.831.746-1.297v-.004h1.48l-.75-.43v-.824l.02-.043V44.63l8.239 4.754-.004.015 27.004 15.598h3L347.316 48.11l.004-.011-9.004-5.203V.434l.75-.434h-2.246v64.566l-.75.434-16.511 9.535V65h-1.5v10.398l-36.754 21.235-.684-.395'/%3E%3Cpath fill='%233b3b4f' d='m355.934 33.137-.008.011v.004L411.063 65h1.5l-.75-1.3-16.508-9.536 8.254-4.766-.75-1.3-9.004 5.199-36.754-21.23v-.825l.02-.039V12.13l8.238 4.758-.004.015 28.129 16.25a.755.755 0 0 0 .75-.004l-1.122-1.945-16.511-9.535 8.254-4.77-.75-1.296-9 5.199-8.985-5.188.008-.015-9.008-5.2V0h-1.5v32.5c0 .273.149.504.364.637M336.82 129.996h2.246l16.508-9.535v9.535h1.5v-10.402l9-5.2-.75-1.296-28.133 16.25a.752.752 0 0 0-.37.648M318.063 98.8l29.257-16.902-.75-1.296-27.007 15.601-1.5 2.598M337.566 65l-.375.648-.37.649.745-.43.75.43-.75-1.297'/%3E%3Cpath fill='%233b3b4f' d='m373.582 108.328-8.258 4.774.75 1.296 9.008-5.203 9 5.2.75-1.297-28.137-16.25a.73.73 0 0 0-.746.004l1.121 1.945 16.512 9.531M403.586 80.602 376.574 65h-3l29.262 16.898.75-1.296M347.324 81.898l9.004-5.199 36.754 21.235v.863l1.125-1.945L339.067 65h-1.5l.75 1.297 16.511 9.539-8.254 4.766.75 1.296M412.586 65h-1.496l.75.434v.863l.746-1.297'/%3E%3Cpath fill='%233b3b4f' d='M413.34 66.297 412.59 65l-.75 1.297V85.37l-8.254-4.77-.75 1.297v.004l9.004 5.2v42.464l-.75.43h2.25v-63.7M394.586 129.996v-32.5a.74.74 0 0 0-.379-.644l-1.121 1.945v19.07l-8.254-4.765-.75 1.296 9.004 5.204v10.394h1.5M430.594 129.996h1.5v-31.2l-1.5-2.6v33.8'/%3E%3Cg clip-path='url(%23m)'%3E%3Cpath fill='%233b3b4f' d='M430.688 141.207zm18.66-12.508v.867l-.75.43-16.508 9.54v-9.54h-1.5v10.402l-36.754 21.235-.75-.434 1.121 1.946v.003l55.14-31.851.61-1.055v-.488l-.234-.406-.375-.649'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='M413.336 129.996h-2.242l-16.512 9.54V130h-1.5l.004 10.402-9.004 5.2.75 1.296 28.133-16.25a.745.745 0 0 0 .37-.652M432.094 161.195l-29.258 16.903.75 1.297 27.008-15.602 1.5-2.598M412.965 194.348l.375-.653-.75.438-.75-.438.75 1.301.375-.648'/%3E%3Cg clip-path='url(%23n)'%3E%3Cpath fill='%233b3b4f' d='M449.348 65v63.7l.609 1.054V65h-.61'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='M432.094 65h-1.5v31.203l1.5 2.598V65'/%3E%3Cg clip-path='url(%23o)'%3E%3Cpath fill='%233b3b4f' d='M432 183.79zm-19.41 11.206.375.652.375.649v-.867l.75-.434 16.508-9.535-.004 9.535h1.5l.004-10.402 17.859-10.317v-1.73l-36.617 21.152-.75 1.297'/%3E%3C/g%3E%3Cg clip-path='url(%23p)'%3E%3Cpath fill='%233b3b4f' d='M449.348 194.996h.609v-.785l-.234.137a.743.743 0 0 0-.375.648'/%3E%3C/g%3E%3Cg clip-path='url(%23q)'%3E%3Cpath fill='%233b3b4f' d='m430.594 163.8 19.363-11.187v-1.73l-17.863 10.32-1.5 2.598'/%3E%3C/g%3E%3Cg clip-path='url(%23r)'%3E%3Cpath fill='%233b3b4f' d='m449.348 131.297.609-.352v-.703l-.234.406-.375.649'/%3E%3C/g%3E%3Cg clip-path='url(%23s)'%3E%3Cpath fill='%233b3b4f' d='M430.688 11.21zM448.598 0 432.09 9.535V0h-1.5v10.402l-36.754 21.23-.75-.433 1.121 1.95v.003l55.14-31.851.61-1.059V0h-1.36'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='M384.832 16.902 412.965.648a.739.739 0 0 0 .37-.648h-2.241l-16.512 9.54V0h-1.5l.004 10.402-9.004 5.2.75 1.3M432.094 31.2l-29.258 16.898.75 1.3 27.008-15.601 1.5-2.598M412.965 64.348l.375-.649-.75.434-.75-.434.75 1.297.375-.648'/%3E%3Cg clip-path='url(%23t)'%3E%3Cpath fill='%233b3b4f' d='M432 53.79zM412.59 65l.75 1.297v-.863l.75-.434 16.508-9.54-.004 9.536h1.5l.004-10.398 17.859-10.317v-1.734L413.34 63.699 412.59 65'/%3E%3C/g%3E%3Cg clip-path='url(%23u)'%3E%3Cpath fill='%233b3b4f' d='M449.348 64.996h.609v-.785l-.234.137a.752.752 0 0 0-.375.648'/%3E%3C/g%3E%3Cg clip-path='url(%23v)'%3E%3Cpath fill='%233b3b4f' d='m430.594 33.8 19.363-11.183v-1.734l-17.863 10.32-1.5 2.598'/%3E%3C/g%3E%3Cg clip-path='url(%23w)'%3E%3Cpath fill='%233b3b4f' d='m449.348 1.3.609-.355V.242l-.234.406-.375.653'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='M282.055 194.996v-32.5a.742.742 0 0 0-.325-.613l.016-.031v-.004l-55.137-31.852h-1.496l.746 1.3 16.512 9.54-8.254 4.766h-.004l.75 1.296h.004l9-5.199 36.754 21.23v.75l-.066.114v19.074l-8.203-4.738.02-.031-28.134-16.254a.748.748 0 0 0-.746.004l1.121 1.945 16.508 9.535-8.254 4.77.75 1.3 9.004-5.203 8.95 5.172-.016.031 9 5.204v10.394h1.5M319.563 163.797v-33.8h-1.497v31.202l-.003-.004v33.801h1.5v-31.2M393.434 163.148c.242.141.523.13.75 0l-1.122-1.945-16.511-9.539 8.254-4.766-.75-1.3-9 5.199-8.985-5.188.008-.011-9.008-5.2v-10.402h-1.5V162.5c0 .27.149.504.364.633l-.008.012v.003l55.137 31.848h1.5l-.75-1.297-16.508-9.535 8.254-4.77-.75-1.3v.004l-9.004 5.199-36.754-21.234v-.825l.02-.035V142.13l8.238 4.758-.004.011 28.129 16.25M355.574 250.46v9.536h1.5v-10.402l9-5.2-.75-1.3-28.133 16.25a.758.758 0 0 0-.37.652h2.245l16.508-9.535M318.063 228.797l29.257-16.899-.75-1.3-27.007 15.601-1.5 2.598'/%3E%3Cpath fill='%233b3b4f' d='M319.566 259.996v-10.402l36.754-21.23.75.433-1.12-1.945-.005-.004-55.136 31.847-.727 1.262.356-.613.375-.649-.75.434-.688-.395-.02-.039-16.507-9.535 8.254-4.765-.012-.02 26.976-15.582 1.497-2.598-29.254 16.899.011.02-8.972 5.183-36.754-21.234v-.825l.02-.039v-19.07l8.238 4.754-.008.015 28.133 16.25c.242.141.523.125.75 0l-.012-.023 55.105-31.828.746-1.3h1.48l-.75-.435v-.824l.02-.039v-19.074l8.239 4.758-.004.012 27.004 15.601h3l-29.239-16.89.004-.012-9.004-5.2V130.43l.75-.434h-2.246v64.566l-.75.434-16.511 9.535v-9.535h-1.5v10.402l-36.754 21.235-.684-.399-.02-.03-16.507-9.54 8.254-4.77-.012-.015 28.101-16.23a.752.752 0 0 0 .372-.649h-2.247l-16.507 9.535V195h-1.5v10.398l-9 5.204.011.015-8.972 5.18-8.98-5.188.003-.015-9.004-5.2v-10.398h-1.5V227.5c0 .27.149.504.364.633l-.008.012v.003l55.136 31.848h2.954l16.507-9.535v9.535h1.5'/%3E%3Cpath fill='%233b3b4f' d='m337.566 195-.746 1.297.746-.434.75.434-.75-1.297M403.586 210.598 376.574 195h-3l29.262 16.898.75-1.3M366.074 244.398l9.008-5.203 9 5.2.75-1.301-28.137-16.25a.748.748 0 0 0-.746.004l1.121 1.945 16.512 9.535-8.258 4.77.75 1.3M347.324 211.898l9.004-5.199 36.754 21.23v.868l1.125-1.945v-.004l-55.14-31.852h-1.5l.75 1.3 16.511 9.536-8.254 4.77.75 1.296M412.586 195h-1.496l.75.43v.867l.746-1.297'/%3E%3Cpath fill='%233b3b4f' d='m413.34 196.297-.75-1.3-.75 1.3v19.07l-8.254-4.765-.75 1.296 9.004 5.204v42.46l-.75.434h2.25v-63.7M394.586 259.996v-32.5a.746.746 0 0 0-.379-.648l-1.121 1.945v19.074l-8.254-4.77-.75 1.301 9.004 5.2v10.398h1.5'/%3E%3Cg clip-path='url(%23x)'%3E%3Cpath fill='%233b3b4f' d='M430.688 271.207zm18.66-12.512v.868l-.746.433h-.004l-16.508 9.535v-9.535h.004v-31.203l-1.5-2.598v33.801h-.004v10.402l-36.754 21.23-.75-.433 1.121 1.946v.004l55.14-31.848.61-1.055v-.488l-.234-.406-.375-.653'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='M413.336 259.996h-2.242l-16.512 9.535v-9.535h-1.5l.004 10.402-9.004 5.2.75 1.3 28.133-16.25a.75.75 0 0 0 .37-.652M432.094 291.195l-29.258 16.899.75 1.297 27.008-15.598 1.5-2.598M412.59 324.996l.375-.652.375-.649-.75.434-.75-.434.75 1.301'/%3E%3Cg clip-path='url(%23y)'%3E%3Cpath fill='%233b3b4f' d='M449.348 194.996v63.7l.609 1.058v-64.758h-.61'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='M432.094 194.996h-1.5V226.2l1.5 2.598v-33.8'/%3E%3Cg clip-path='url(%23z)'%3E%3Cpath fill='%233b3b4f' d='M432 313.785zm-19.41 11.211h1.5l16.508-9.535-.004 9.535h1.5l.004-10.402 17.859-10.32v-1.727l-36.617 21.148-.75 1.301'/%3E%3C/g%3E%3Cg clip-path='url(%23A)'%3E%3Cpath fill='%233b3b4f' d='M449.348 324.996h.609v-.789l-.234.137a.749.749 0 0 0-.375.652'/%3E%3C/g%3E%3Cg clip-path='url(%23B)'%3E%3Cpath fill='%233b3b4f' d='m430.594 293.797 19.363-11.184v-1.734l-17.863 10.32-1.5 2.598'/%3E%3C/g%3E%3Cg clip-path='url(%23C)'%3E%3Cpath fill='%233b3b4f' d='m449.348 261.297.609-.352v-.703l-.234.406-.375.649'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='M282.055 324.996v-32.5a.75.75 0 0 0-.325-.617l.016-.027v-.004l-55.137-31.852h-1.496l.746 1.3 16.512 9.536-8.254 4.766s0 .004-.004.004l.75 1.296h.004l9-5.203 36.754 21.235v.746l-.066.117v19.074l-8.203-4.738.02-.035-28.134-16.25a.739.739 0 0 0-.746.004l1.121 1.945 16.508 9.535-8.254 4.77.75 1.297 9.004-5.2 8.95 5.172-.016.031 9 5.2v10.398h1.5M393.434 293.148c.242.141.523.125.75-.003l-1.122-1.946-16.511-9.535 8.254-4.77-.75-1.3-9 5.203-8.985-5.188.008-.015-9.008-5.2v-10.398h-1.5v32.5c0 .27.149.508.364.637l-.008.008v.004l55.137 31.851h1.5l-.75-1.3-16.508-9.536 8.254-4.77-.75-1.296-9.004 5.203-36.754-21.235v-.824l.02-.039v-19.07l8.238 4.754-.004.015 28.129 16.25M318.066 291.195h-.003v33.801h1.5v-31.203.004-33.8h-1.497v31.198'/%3E%3Cpath fill='%233b3b4f' d='M301.559 259.996h-2.93l.75.434v.75l-.07.117v19.07l-8.2-4.738.016-.031-27.008-15.602h-3l29.207 16.871-.02.031 9.005 5.204v42.46l-.75.434h2.25V260.43l.75-.434'/%3E%3Cg clip-path='url(%23D)'%3E%3Cpath fill='%233b3b4f' d='m365.324 373.094-28.133 16.25a.753.753 0 0 0-.37.652h2.245l16.508-9.539v9.54h1.5v-10.403l9-5.203-.75-1.297'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='m318.063 358.797 29.257-16.902-.75-1.297-27.007 15.597-1.5 2.602'/%3E%3Cg clip-path='url(%23E)'%3E%3Cpath fill='%233b3b4f' d='m357.07 358.797-1.12-1.95-.005-.003-55.136 31.851-.727 1.258.356-.61.375-.648-.75.434-.688-.395-.02-.039-16.507-9.535 8.254-4.77-.012-.019 26.976-15.578 1.497-2.602-29.254 16.903.011.02-8.972 5.179-36.754-21.23v-.829l.02-.039v-19.07l8.238 4.758-.008.015 28.133 16.25a.755.755 0 0 0 .75-.003l-.012-.02 55.105-31.828.746-1.3h1.48l-.75-.435v-.824l.02-.043v-19.07l8.239 4.758-.004.008 27.004 15.605h3l-29.239-16.89.004-.012-9.004-5.203V260.43l.75-.434h-2.246v64.567l-.75.433-16.511 9.535v-9.535h-1.5v10.402l-36.754 21.23-.684-.394-.02-.035-16.507-9.535 8.254-4.77-.012-.015 28.101-16.234a.747.747 0 0 0 .372-.649h-2.247l-16.507 9.535v-9.535h-1.5v10.402l-9 5.2.011.02-8.972 5.179-8.98-5.188.003-.015-9.004-5.203v-10.395h-1.5v32.5c0 .27.149.504.364.637l-.008.008v.004l55.136 31.851h2.954l16.507-9.539v9.54h1.5v-10.403l36.754-21.235.75.438'/%3E%3C/g%3E%3Cpath fill='%233b3b4f' d='m337.566 324.996-.375.649-.37.652.745-.434.75.434-.75-1.3M356.695 356.844a.748.748 0 0 0-.746 0l1.121 1.949 16.512 9.535-8.258 4.766.75 1.3 9.008-5.203 9 5.2.75-1.297-28.137-16.25M376.574 324.996h-3l29.262 16.899.75-1.297-27.012-15.602M394.207 356.848v-.004l-55.14-31.848h-1.5l.75 1.3 16.511 9.532-8.254 4.77.75 1.3 9.004-5.203 36.754 21.235v.867l1.125-1.95M412.586 324.996h-1.496l.75.434v.867l.746-1.3'/%3E%3Cg clip-path='url(%23F)'%3E%3Cpath fill='%233b3b4f' d='M411.84 326.297v19.07l-8.254-4.765v-.004l-.75 1.3 9.004 5.204v42.46l-.75.434h2.25V325.43l.75-.434h-1.5l-.75 1.3'/%3E%3C/g%3E%3Cg clip-path='url(%23G)'%3E%3Cpath fill='%233b3b4f' d='m394.207 356.848-1.121 1.945v19.074l-8.254-4.77-.75 1.298 9.004 5.203v10.398h1.5v-32.504a.74.74 0 0 0-.379-.644'/%3E%3C/g%3E%3Cg clip-path='url(%23H)'%3E%3Cpath fill='%233b3b4f' d='M449.348 324.996v64.567l-.75.433h1.359v-65h-.61'/%3E%3C/g%3E%3Cg clip-path='url(%23I)'%3E%3Cpath fill='%233b3b4f' d='M430.594 356.195v33.801h1.5v-31.203.004-33.8h-1.5v31.198'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.certificate-wrapper::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  outline: var(--outline-width) solid var(--gray-00);
  outline-offset: calc(var(--outline-width) + var(--namespace-offset));
}

.certificate-wrapper::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  outline: var(--outline-width) solid var(--gray-85);
  outline-offset: calc(
    var(--outline-width) + var(--namespace-offset) + var(--namespace-offset)
  );
}

.certification-namespace .row {
  margin: 0;
}

/* center the certificate vertically */
.certificate-outer-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 100vh;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: var(--header-height);
}

.certificate-outer-wrapper .donation-section hr {
  border: 1px solid var(--gray-10);
}

.certificate-outer-wrapper .donation-completion .btn {
  background-color: var(--gray-15);
  border-color: var(--gray-85);
  color: var(--gray-85);
}

.certificate-outer-wrapper .donation-completion .btn:hover {
  border-color: var(--gray-85);
  background-color: var(--gray-85);
  color: var(--gray-05);
}

.certificate-outer-wrapper .donation-completion .btn[disabled],
.certificate-outer-wrapper .donation-completion .btn[disabled]:hover {
  background-color: var(--gray-15);
  border-color: var(--quaternary-color);
  color: var(--quaternary-color);
}

.certification-namespace header {
  width: 100%;
  height: 100px;
  background-color: var(--theme-color);
  position: relative;
}

.certification-namespace header div {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.certification-namespace .logo {
  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;
  height: 50px;
}

.certification-namespace .logo svg {
  height: 100%;
  width: 100%;
  max-width: 500px;
}

.certification-namespace .dual-logo {
  width: 50%;
  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;
}

.certification-namespace .dual-logo svg {
  max-width: 70%;
  height: auto;
}

.certification-namespace .fcc-logo svg {
  width: 350px;
}

.certification-namespace .ms-logo svg {
  width: 220px;
}

.certification-namespace .information {
  height: 380px;
  text-align: center;
  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;
}

.certification-namespace p {
  margin: 0;
}

.certification-namespace h3 {
  font-size: 25px;
  font-weight: normal;
  line-height: 1.1;
}

.certification-namespace h4 {
  font-size: 25px;
}

.certification-namespace .signatures {
  text-align: center;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
}

.certification-namespace .signatures img {
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
}

.certification-namespace .signatures p {
  padding-top: 1px;
}

.certification-namespace .microsoft-signature {
  padding-top: 30px;
  display: grid;
  justify-items: center;
}

.certification-namespace .microsoft-signature img {
  z-index: 1;
  position: sticky;
}

.certification-namespace .signature-underline {
  width: 300px;
  height: 1px;
  background: -webkit-gradient(
    linear,
    left top, right top,
    from(rgb(200, 200, 200)),
    color-stop(8%, rgb(104, 104, 104)),
    color-stop(92%, rgb(110, 110, 110)),
    to(rgb(200, 200, 200))
  );
  background: linear-gradient(
    90deg,
    rgb(200, 200, 200) 0%,
    rgb(104, 104, 104) 8%,
    rgb(110, 110, 110) 92%,
    rgb(200, 200, 200) 100%
  );
  position: relative;
  top: -9px;
  margin-bottom: 8px;
}

.certification-namespace .signee-name {
  font-size: 20px;
}

.certification-namespace .signee-role {
  font-size: 17px;
}

.certification-namespace .verify {
  padding: 30px 0 4px;
  font-size: 15px;
  text-align: center;
  word-wrap: break-word;
}

.qr-wrap,
.ribbon-wrap {
  display: block;
  width: 100%;
  height: 0;
  position: relative;
}

.qr-code {
  position: absolute;
  width: 150px;
  height: 150px;
  top: -120px;
  left: 35px;
}

.ribbon {
  position: absolute;
  width: 180px;
  height: 180px;
  top: -130px;
  right: 0px;
}

@media screen and (max-width: 992px) {
  .certification-namespace header {
    height: 100px;
  }

  .certification-namespace .logo {
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    padding: 20px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 85px;
  }

  .certification-namespace .information {
    height: 300px;
  }

  .certification-namespace .information-container {
    margin: 0px 15px;
    text-align: center;
    word-wrap: break-word;
  }

  .certification-namespace h3,
  .certification-namespace h4 {
    font-size: 20px;
  }

  .certification-namespace h1 {
    font-size: 30px;
  }

  .qr-code,
  .ribbon {
    display: none;
  }
}

@media (max-width: 830px) {
  .certificate-wrapper::after {
    display: none;
  }
  .certificate-wrapper::before {
    display: none;
  }
  .certification-namespace {
    outline-offset: unset;
  }
}

@media screen and (max-width: 675px) {
  .certification-namespace h1 {
    font-size: 25px;
  }
}

/* print media queries */
@media print {
  body {
    height: 210mm;
    width: 297mm;
  }

  .certificate-outer-wrapper {
    width: 100%;
    margin: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  .certification-namespace {
    border-color: var(--theme-color) !important;
  }

  .certificate-outer-wrapper header {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    background-color: var(--theme-color) !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }

  .certification-namespace h3,
  .certification-namespace h4 {
    font-size: 25px;
  }

  .certification-namespace h1 {
    font-size: 45px;
  }

  .certification-namespace .information {
    height: 300px;
  }

  .certification-namespace .signatures img {
    max-width: 300px !important;
  }

  .row.certificate-links,
  .donation-section {
    display: none;
  }
}

.username,
.name,
.bio,
.location {
  overflow-wrap: break-word;
}

.avatar-camper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: -160px;
}

.header {
  font-size: 26px;
}

.avatar-camper .avatar {
  height: 180px;
  width: 180px;
  -o-object-fit: cover;
     object-fit: cover;
}

.avatar-camper div {
  height: 200px;
}

.avatar-camper .avatar-container {
  border-width: 10px;
}

.supporter svg {
  height: 1.2em;
  width: auto;
  margin: 0 0.2em -0.3em;
}

.profile-meta-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  color: var(--quaternary-color);
}

.profile-edit-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-top: 2em;
}

.profile-edit-container h1 {
  margin: 0;
}

.profile-edit-container button {
  position: absolute;
  inset-inline-end: 18px;
  top: 18px;
}

.profile-meta-container div {
  -webkit-margin-end: 12px;
          margin-inline-end: 12px;
}

.profile-meta-container svg {
  -webkit-margin-end: 4px;
          margin-inline-end: 4px;
}

.social-icons-row {
  margin-top: 1em;
}

.social-icons-row a {
  display: inline-block;
  -webkit-margin-end: 12px;
          margin-inline-end: 12px;
  color: var(--quaternary-color);
}

.badge-card-container {
  display: grid;
  margin-top: 1.5rem;
  grid-template-columns: repeat(2, minmax(300px, 1fr));
  gap: 1rem;
  -webkit-box-align: top;
      -ms-flex-align: top;
          align-items: top;
}

.badge-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  width: 300px;
  max-width: 300px;
  font-size: 20px;
}

.badge-card svg {
  height: 100px;
  width: 100px;
}

.badge-card p {
  color: var(--quaternary-color);
}

.badge-card-description {
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-start: 1rem;
          margin-inline-start: 1rem;
}

.camper-badge {
  -webkit-margin-end: 1em;
          margin-inline-end: 1em;
}
@media (max-width: 768px) {
  .badge-card-container {
    grid-template-columns: 1fr;
  }
}

.social-media-icons {
  margin-top: 1.5em;
}

.social-media-icons > a {
  margin: 0 1.5em 0 0;
}

.social-media-icons > a:last-child {
  margin: 0 0 1.5em;
}

.social-media-icons > a:hover,
.social-media-icons > a:focus {
  background: transparent;
  color: var(--secondary-color);
}

.profile-certifications {
  ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
  }
}

.stats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  color: var(--primary-color);
}

.stats dt {
  font-size: 18px;
}

.stats dd {
  font-size: 2rem;
  margin-top: 16px;
}

@media (max-width: 600px) {
  .stats dd {
    font-size: 1.5rem;
  }
}

/*
 * react-calendar-heatmap styles
 *
 * All of the styles in this file are optional and configurable!
 * The github and gitlab color scales are provided for reference.
 */

.react-calendar-heatmap text {
  font-size: 10px;
  fill: #aaa;
}

.react-calendar-heatmap .react-calendar-heatmap-small-text {
  font-size: 5px;
}

.react-calendar-heatmap rect:hover {
  stroke: #555;
  stroke-width: 1px;
}

/*
 * Default color scale
 */

.react-calendar-heatmap .color-empty {
  fill: #eeeeee;
}

.react-calendar-heatmap .color-filled {
  fill: #8cc665;
}

/*
 * Github color scale
 */

.react-calendar-heatmap .color-github-0 {
  fill: #eeeeee;
}
.react-calendar-heatmap .color-github-1 {
  fill: #d6e685;
}
.react-calendar-heatmap .color-github-2 {
  fill: #8cc665;
}
.react-calendar-heatmap .color-github-3 {
  fill: #44a340;
}
.react-calendar-heatmap .color-github-4 {
  fill: #1e6823;
}

/*
 * Gitlab color scale
 */

.react-calendar-heatmap .color-gitlab-0 {
  fill: #ededed;
}
.react-calendar-heatmap .color-gitlab-1 {
  fill: #acd5f2;
}
.react-calendar-heatmap .color-gitlab-2 {
  fill: #7fa8d1;
}
.react-calendar-heatmap .color-gitlab-3 {
  fill: #49729b;
}
.react-calendar-heatmap .color-gitlab-4 {
  fill: #254e77;
}

.heatmap-nav-btn {
  margin: 0 20px;
  width: 44px;
  height: 44px;
}

.react-calendar-heatmap-month-label {
  fill: var(--gray-45) !important;
}

.react-calendar-heatmap .color-empty {
  fill: var(--tertiary-background);
}
.react-calendar-heatmap .color-scale-1 {
  fill: var(--gray-45);
}
.react-calendar-heatmap .color-scale-2 {
  fill: var(--quaternary-color);
}
.react-calendar-heatmap .color-scale-a-lot {
  fill: var(--primary-color);
}

.react-tooltip {
  color: var(--primary-color) !important;
  background-color: var(--primary-background) !important;
  border: 1px solid var(--primary-color) !important;
}

.__react_component_tooltip:after {
  border-top-color: var(--primary-color) !important;
}

.button-fit {
  width: 30px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0 !important;
}

.card {
  margin: 0;
  padding: 1em;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: var(--primary-background);
  border: 1px solid var(--quaternary-background);
  margin-bottom: 1em;
}

.card-header {
  position: relative;
}

.profile-section-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem;
}

.profile-section-heading h2 {
  margin: 0;
}

.profile-private-badge {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.15rem 0.55rem;
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--quaternary-color);
  border: 1px solid var(--quaternary-color);
  white-space: nowrap;
}

.portfolio-item-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem;
}

.portfolio-item-wrapper .portfolio-card {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

/* Base styles for mobile devices */
.portfolio-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.portfolio-image {
  position: relative;
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
}

.portfolio-card-description {
  margin: 1rem 0rem;
  width: auto;
  overflow-wrap: break-word;
}

#link-icon {
  -webkit-margin-start: 10px;
          margin-inline-start: 10px;
}

a.portfolio-card {
  text-decoration: none;
}

.portfolio-card p {
  margin-bottom: 10px;
}

a.portfolio-card:hover,
a.portfolio-card:focus {
  background-color: transparent;
}

a.portfolio-card:hover h3,
a.portfolio-card:focus h3 {
  text-decoration: underline;
}

a.portfolio-card:hover img,
a.portfolio-card:focus img {
  opacity: 0.8;
}

/* Adjust styles for desktop screens */
@media (min-width: 769px) {
  .portfolio-card {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    min-width: 0;
    max-height: none;
  }

  .portfolio-image {
    width: 300px;
    min-width: 300px;
    min-height: auto;
  }

  .portfolio-card-description {
    margin: 0rem 1rem 1rem;
    width: 100%;
  }
}

/* Timeline pagination */
.timeline-pagination_list {
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0.5rem;
}

.timeline-pagination_list_item {
  margin: 0 5px;
}

.timeline-pagination_list_item > button {
  outline-color: transparent;
  height: 44px;
  width: 44px;
}

.timeline-row {
  height: 60px;
}

.timeline-row > td {
  vertical-align: middle !important;
  width: 100%;
}

.timeline-cert-link {
  -webkit-margin-end: 20px;
          margin-inline-end: 20px;
}

.timeline-cert-link > svg {
  display: inline-block;
  height: 25px;
  width: auto;
  -webkit-margin-start: 10px;
          margin-inline-start: 10px;
  position: absolute;
}

.experience-item-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem;
}

.experience-item-wrapper .experience-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.experience-company {
  font-weight: normal;
  margin-bottom: 0rem;
}

.experience-date {
  color: #858591;
  font-size: 0.9rem;
  margin-bottom: 0rem;
}

.experience-description {
  margin-top: 0.75rem;
  white-space: pre-wrap;
}

.profile-completeness {
  padding: 1em;
  background: var(--primary-background);
  border: 1px solid var(--quaternary-background);
  margin-bottom: 1em;
}

.profile-completeness-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  color: var(--primary-color);
  text-align: left;
}

.profile-completeness-header:hover {
  background: none;
  color: var(--primary-color);
}

.profile-completeness-title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
}

.profile-completeness-percentage {
  font-size: 0.9rem;
  font-weight: 600;
  white-space: nowrap;
}

.profile-completeness-chevron {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.profile-completeness-chevron svg {
  width: 15px;
  height: 15px;
}

.profile-completeness-chevron.expanded {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.profile-completeness-expanded {
  margin-top: 1rem;
}

.profile-completeness-bar-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.profile-completeness-bar-container {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 8px;
  border-radius: 0;
  overflow: hidden;
  background: var(--quaternary-background);
}

.profile-completeness-bar-fill {
  height: 100%;
  background-color: var(--blue-mid);
  border-radius: 0;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

.profile-completeness-progress-text {
  font-size: 0.875rem;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.profile-completeness-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
}

.profile-completeness-checklist li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 1rem;
}

.completeness-checkbox {
  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;
  width: 15px;
  height: 15px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.completeness-item-complete {
  color: var(--primary-color);
  opacity: 0.7;
}

.completeness-item-incomplete {
  color: var(--primary-color);
}

.certification-settings table {
  display: table;
  width: 100%;
}

.certification-settings tr {
  height: 57px;
}

.certification-settings .project-title > a {
  line-height: 40px;
}

.soundbar {
  margin: 1em 0 2em;
  width: 100%;
  height: 25px;
  background: var(--quaternary-background);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  overflow: hidden;
  border: 2px solid var(--secondary-color);
}

/* Special styling for WebKit/Blink */
.soundbar::-webkit-slider-thumb {
  -webkit-box-shadow: -2000px 0 0 2000px var(--gray-45);
          box-shadow: -2000px 0 0 2000px var(--gray-45);
  -webkit-appearance: none;
  border: 2px solid var(--primary-color);
  height: 25px;
  width: 16px;
  background: var(--primary-background);
  cursor: pointer;
}

/* All the same stuff for Firefox */
.soundbar::-moz-range-thumb {
  box-shadow: -2000px 0 0 2000px var(--gray-45);
  border: 2px solid var(--primary-color);
  border-radius: 0;
  height: 25px;
  width: 16px;
  background: var(--primary-background);
  cursor: pointer;
}

.soundbar::-moz-range-progress {
  background: var(--gray-90);
  height: 25px;
}

.toggle-setting-container {
  margin-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.toggle-description {
  max-width: 50%;
}

.toggle-description > p:first-child {
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.toggle-description > p:not(:first-child) {
  font-style: italic;
  font-size: 0.8rem;
}

.toggle-button-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: -webkit-min-content;
  grid-template-rows: min-content;
  gap: 3px;
}

.toggle-button-group button {
  padding: 5px 1.5rem;
  border: 3px solid var(--secondary-color);
  white-space: nowrap;
  display: grid;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 6rem;
}

.toggle-button-group button[aria-pressed='true'] {
  background-color: var(--secondary-color);
  color: var(--secondary-background);
}

.toggle-button-group button > span {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.toggle-button-group button > span > svg {
  position: absolute;
  right: -1.5rem;
  margin-top: 0.1rem;
}

.toggle-button-group button:first-of-type > span > svg,
[dir='rtl'] .toggle-button-group button > span > svg {
  right: unset;
  left: -1.25rem;
}

[dir='rtl'] .toggle-button-group button:first-of-type > span > svg {
  left: unset;
  right: -1.5rem;
}

.toggle-button-group button[aria-pressed='true']:hover {
  cursor: default;
}

.toggle-radio-group label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.toggle-radio-group label + label {
  -webkit-margin-start: 2rem;
          margin-inline-start: 2rem;
}

.toggle-radio-group label.not-checked {
  cursor: pointer;
}

.toggle-radio-group input {
  position: absolute;
  inset-inline-start: -9999px;
}

.custom-circle {
  -webkit-margin-end: 8px;
          margin-inline-end: 8px;
  position: relative;
  display: inline-block;
  min-width: calc(0.889em + 4px);
  min-height: calc(0.889em + 4px);
  max-width: calc(0.889em + 4px);
  max-height: calc(0.889em + 4px);
  border-radius: 50%;
  background-color: var(--secondary-background);
  border: 2px solid var(--primary-color);
}

.toggle-radio-group input:focus-visible + .custom-circle {
  outline: 3px solid var(--focus-outline-color);
}

.toggle-radio-group input:checked + .custom-circle:after {
  content: '';
  width: 0.556rem;
  height: 0.556rem;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: var(--primary-color);
  border-radius: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.toggle-radio-group span {
  font-weight: 500;
}

/* checkIconStyle css */
.checkIcon {
  height: 1rem;
  width: 1.25rem;
}

@media (max-width: 35rem) {
  .toggle-setting-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 1rem;
  }

  .toggle-description {
    max-width: none;
  }

  .toggle-description > p:not(:first-child) {
    margin-bottom: 0.5rem;
  }
}

.profile-privacy {
  padding: 1em;
  background: var(--primary-background);
  border: 1px solid var(--quaternary-background);
  margin-bottom: 1.5em;
}

.profile-privacy-header {
  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;
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  color: var(--primary-color);
  text-align: left;
}

.profile-privacy-header:hover {
  background: none;
  color: var(--primary-color);
}

.profile-privacy-title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
}

.profile-privacy-chevron {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.profile-privacy-chevron svg {
  width: 15px;
  height: 15px;
}

.profile-privacy-chevron.expanded {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.profile-privacy-content {
  margin-top: 1rem;
}

label[for='scrollbar-width-slider'] {
  margin-bottom: 1rem;
}

input.scrollbar-width[type='range'] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: 0;
  background: transparent;
  position: relative;
  height: calc(1rem + 6px);
  width: 100%;
}

input.scrollbar-width[type='range']::-webkit-slider-runnable-track {
  width: 100%;
  height: 5px;
  background: var(--secondary-color);
}

input.scrollbar-width[type='range']::-webkit-slider-thumb {
  /* box-shadow is needed to allow left hand side of slider track to have 
     same color as right side. */
  -webkit-box-shadow: 1px 1px 1px #3d3d3d;
          box-shadow: 1px 1px 1px #3d3d3d;
  background: var(--secondary-color);
  -webkit-appearance: none;
  width: calc(1rem + 6px);
  height: calc(1rem + 6px);
  margin-top: -0.5rem;
}

input.scrollbar-width[type='range']:focus-visible::-webkit-slider-thumb {
  outline: 3px solid var(--focus-outline-color);
  outline-offset: -3px;
}

input.scrollbar-width[type='range']::-moz-range-track {
  width: 100%;
  height: 5px;
  background: var(--secondary-color);
}

input.scrollbar-width[type='range']::-moz-range-progress {
  background: var(--secondary-color);
  height: 5px;
}

input.scrollbar-width[type='range']::-moz-range-thumb {
  box-shadow: 1px 1px 1px #3d3d3d;
  border: 3px solid var(--secondary-color);
  height: 1rem;
  width: 1rem;
  background: var(--secondary-color);
  position: relative;
  z-index: 400;
}

input.scrollbar-width[type='range']:focus-visible::-moz-range-thumb {
  outline: 3px solid var(--focus-outline-color);
  outline-offset: -3px;
}

.scrollbar-width-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.scrollbar-width-numbers span:nth-child(1) {
  position: relative;
  inset-inline-start: 0.375rem;
}

.scrollbar-width-numbers span:nth-child(2) {
  position: relative;
  inset-inline-start: 0.5rem;
}

.scrollbar-width-numbers span:nth-child(3) {
  position: relative;
  inset-inline-start: 0.325rem;
}

.scrollbar-width-numbers span:nth-child(4) {
  position: relative;
  inset-inline-start: 0.15rem;
}

.scrollbar-width-numbers span:nth-child(5) {
  position: relative;
  inset-inline-start: -0.05rem;
}

.scrollbar-width-numbers .selected {
  font-weight: 900;
  background-color: transparent;
}

.scrollbar-width-container .scrollbar-width-ticks {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.scrollbar-width-container .tick {
  height: 1rem;
  width: 1rem;
  border: 2px solid var(--secondary-color);
  background: var(--secondary-background);
  position: absolute;
  z-index: 100;
  top: 3px;
  display: block;
}

.scrollbar-width-container .tick[data-current='true'] {
  z-index: -1;
}

.scrollbar-width-ticks .tick:nth-child(1),
[dir='rtl'] .scrollbar-width-ticks .tick:nth-child(5) {
  left: 3px;
}

.scrollbar-width-ticks .tick:nth-child(2),
[dir='rtl'] .scrollbar-width-ticks .tick:nth-child(4) {
  left: calc(25% - 0.25rem + 2px);
}

.scrollbar-width-ticks .tick:nth-child(3) {
  left: calc(50% - 0.5rem + 0.5px);
}

.scrollbar-width-ticks .tick:nth-child(4),
[dir='rtl'] .scrollbar-width-ticks .tick:nth-child(2) {
  left: calc(75% - 0.5rem - 5px);
}

.scrollbar-width-ticks .tick:nth-child(5),
[dir='rtl'] .scrollbar-width-ticks .tick:nth-child(1) {
  left: calc(100% - 1rem - 2px);
}

.scrollbar-width-ticks .tick:hover,
.scrollbar-width-numbers span:hover {
  cursor: pointer;
}

.scrollbar-width-preview {
  display: inline-block;
  background: var(--secondary-color);
  height: 1.5rem;
  position: absolute;
  margin: 0 0.5rem;
}

.honesty-panel p {
  margin-inline: 10px;
}

.honesty-panel {
  padding-top: 15px;
}

.shortcuts-modal-table {
  width: 100%;
  margin-bottom: 2rem !important;
}

.shortcuts-modal-table caption {
  text-align: center;
}

.shortcuts-modal-table th {
  font-weight: bold;
  text-align: center;
}

.shortcuts-modal-table tbody tr {
  line-height: 2rem;
  border-bottom: 1px solid #ccc;
}

.shortcuts-modal-table tbody tr td:nth-child(2) {
  text-align: right;
  font-weight: bold;
}

.challenge-heading-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 7px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.challenge-heading {
  font-size: 16px;
}

.assignments-not-complete {
  text-align: center;
  color: var(--danger-color);
}

.challenge-transcript-heading {
  cursor: pointer;
  font-weight: bold;
  margin-top: 1.5em;
}

.challenge-transcript .transcript-dialogue {
  border: 1px solid var(--secondary-color);
}

.challenge-transcript .transcript-dialogue p {
  margin: 0;
  padding: 6px 13px;
  text-align: start;
}

.challenge-transcript .transcript-dialogue p:nth-child(odd) {
  background-color: var(--tertiary-background);
}

.character-wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.character-wrap-hidden {
  visibility: hidden;
}

.character-feature {
  position: absolute;
  max-width: 100%;
  max-height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform-origin: left;
          transform-origin: left;
}

.challenge-summary {
  cursor: pointer;
}

.scene-wrapper {
  overflow: hidden;
  position: relative;
  color: var(--gray-00);
}

.scene-dialogue-wrap {
  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-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 5px calc(5px + 3.5vw);
  font-size: calc(0.25vw + 0.75rem);
  min-height: calc(35px + 1vw + 2rem);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 80%;
          flex: 0 0 80%;
  background: var(--primary-background-translucent);
  color: var(--primary-color);
}

.scene-dialogue-label {
  color: var(--highlight-color);
  font-weight: bold;
}

.scene-dialogue-align-left {
  text-align: left;
}

.scene-dialogue-align-right {
  text-align: right;
}

.scene-dialogue-align-center {
  text-align: center;
}

.scene-dialogue-text {
  font-size: calc(0.25vw + 1rem);
  padding: 0 10px;
}

.scene-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-item-align: center;
      align-self: center;
  background: var(--primary-background);
  padding: 0 10px;
  min-height: 60px;
  max-height: 60px;
}

/* Transport controls track time, not text, so they keep their LTR order. */
[dir='rtl'] .scene-controls {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.scene-btn,
.scene-btn:hover,
.scene-btn:focus,
.scene-btn:active {
  color: var(--tertiary-color);
  background: rgba(0, 0, 0, 0);
  border: none;
  scale: 0.75;
}

.scene-play-btn {
  background: rgba(0, 0, 0, 0);
}

.scene-a11y-btn svg {
  width: 60px;
  height: 60px;
}

.speaking-modal-body {
  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;
  padding: 1.5rem 0;
}

.speaking-modal-sentence-container {
  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;
  width: 80%;
  gap: 2rem;
  background-color: var(--background-primary);
  border: 2px solid var(--background-tertiary);
  padding: 0.5rem 1rem;
}

.speaking-modal-sentence {
  margin: 0;
}

.speaking-modal-record-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  margin-top: 1.5rem;
}

.speaking-modal-record-icon {
  -webkit-margin-end: 0.5rem;
          margin-inline-end: 0.5rem;
}

.speaking-modal-feedback {
  margin-top: 2rem;
}

.speaking-modal-correct-text {
  color: var(--background-success);
}

.speaking-modal-feedback-message {
  margin-top: 8px;
  margin-bottom: 0;
}

.speaking-modal-comparison-word-correct {
  color: var(--background-success);
  -webkit-margin-start: 4px;
          margin-inline-start: 4px;
}

.speaking-modal-comparison-word-incorrect {
  color: var(--background-danger);
  -webkit-margin-start: 4px;
          margin-inline-start: 4px;
}

.help-form-legend {
  color: var(--secondary-color);
  border: 0;
  font-size: 18px;
}

.checkbox-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  text-align: left;
}

.help-text-warning {
  text-align: left;
}

.output-text {
  white-space: pre-wrap;
  word-break: normal;
  padding-top: 0;
  height: 100%;
  width: 100%;
  overflow-y: auto;
}

pre.output-text code {
  background-color: var(--quaternary-background);
  color: var(--tertiary-color);
  font-size: 90%;
  padding: 2px 4px;
}

.output-text:focus-visible {
  outline-offset: -2px;
}

@supports not selector(:focus-visible) {
  .output-text:focus {
    outline-offset: -2px;
  }
}

.challenge-test-suite {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 15px 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

.challenge-test-suite-heading {
  font-size: 1em;
}

.sk-spinner {
  color: var(--primary-color);
}

.challenge-test-suite code {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.test-result {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.5;
  padding: 6px;
}

.test-result:nth-child(odd) {
  background-color: var(--tertiary-background);
}

.test-result:nth-child(odd) code {
  background-color: var(--secondary-background);
}

.test-output {
  padding: 5px 10px;
}

.test-output p {
  margin: 0;
}

.test-status-icon {
  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;
}

.test-status-icon > svg {
  width: 30px;
  height: 30px;
}

.MathJax,
.MathJax_SVG,
.MathJax_Display {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

.instructions-panel {
  position: relative;
  padding: 0 10px;
  overflow-y: scroll;
  height: 100%;
  width: 100%;
}

#mobile-layout-pane-instructions > .instructions-panel {
  height: auto;
  overflow-y: none;
}

.example-app-link {
  text-decoration: underline;
}

.example-app-link:hover,
.example-app-link:active,
.example-app-link:focus {
  text-decoration: none;
  background-color: var(--tertiary-background);
}

.video-modal-body {
  height: 85vh;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.video-modal-body iframe {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.video-modal-body p {
  margin-bottom: 0;
}

.xterm-screen {
  height: 100vh !important;
}

/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */

/**
 *  Default styles for xterm.js
 */

.xterm {
  cursor: text;
  position: relative;
  -moz-user-select: none;
       user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
}

.xterm.focus,
.xterm:focus {
  outline: none;
}

.xterm .xterm-helpers {
  position: absolute;
  top: 0;
  /**
     * The z-index of the helpers must be higher than the canvases in order for
     * IMEs to appear on top.
     */
  z-index: 5;
}

.xterm .xterm-helper-textarea {
  padding: 0;
  border: 0;
  margin: 0;
  /* Move textarea out of the screen to the far left, so that the cursor is not visible */
  position: absolute;
  opacity: 0;
  left: -9999em;
  top: 0;
  width: 0;
  height: 0;
  z-index: -5;
  /** Prevent wrapping so the IME appears against the textarea at the correct position */
  white-space: nowrap;
  overflow: hidden;
  resize: none;
}

.xterm .composition-view {
  /* TODO: Composition position got messed up somewhere */
  background: #000;
  color: #fff;
  display: none;
  position: absolute;
  white-space: nowrap;
  z-index: 1;
}

.xterm .composition-view.active {
  display: block;
}

.xterm .xterm-viewport {
  /* On OS X this is required in order for the scroll bar to appear fully opaque */
  background-color: #000;
  overflow-y: scroll;
  cursor: default;
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
}

.xterm .xterm-screen {
  position: relative;
}

.xterm .xterm-screen canvas {
  position: absolute;
  left: 0;
  top: 0;
}

.xterm .xterm-scroll-area {
  visibility: hidden;
}

.xterm-char-measure-element {
  display: inline-block;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: -9999em;
  line-height: normal;
}

.xterm.enable-mouse-events {
  /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */
  cursor: default;
}

.xterm.xterm-cursor-pointer,
.xterm .xterm-cursor-pointer {
  cursor: pointer;
}

.xterm.column-select.focus {
  /* Column selection mode */
  cursor: crosshair;
}

.xterm .xterm-accessibility,
.xterm .xterm-message {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 10;
  color: transparent;
  pointer-events: none;
}

.xterm .live-region {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.xterm-dim {
  /* Dim should not apply to background, so the opacity of the foreground color is applied
     * explicitly in the generated class and reset to 1 here */
  opacity: 1 !important;
}

.xterm-underline-1 {
  text-decoration: underline;
}
.xterm-underline-2 {
  text-decoration: double underline;
}
.xterm-underline-3 {
  text-decoration: wavy underline;
}
.xterm-underline-4 {
  text-decoration: dotted underline;
}
.xterm-underline-5 {
  text-decoration: dashed underline;
}

.xterm-overline {
  text-decoration: overline;
}

.xterm-overline.xterm-underline-1 {
  text-decoration: overline underline;
}
.xterm-overline.xterm-underline-2 {
  text-decoration: overline double underline;
}
.xterm-overline.xterm-underline-3 {
  text-decoration: overline wavy underline;
}
.xterm-overline.xterm-underline-4 {
  text-decoration: overline dotted underline;
}
.xterm-overline.xterm-underline-5 {
  text-decoration: overline dashed underline;
}

.xterm-strikethrough {
  text-decoration: line-through;
}

.xterm-screen .xterm-decoration-container .xterm-decoration {
  z-index: 6;
  position: absolute;
}

.xterm-screen
  .xterm-decoration-container
  .xterm-decoration.xterm-decoration-top-layer {
  z-index: 7;
}

.xterm-decoration-overview-ruler {
  z-index: 8;
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
}

.xterm-decoration-top {
  z-index: 2;
  position: relative;
}

/* Monaco editor has its own font-family rule, which overrides ours */
.monaco-editor {
  font-family: inherit;
}

.monaco-editor .margin-view-overlays .line-numbers,
.monaco-editor .margin-view-overlays .myLineDecoration + .line-numbers {
  color: var(--primary-color);
}

.monaco-scrollable-element {
  overflow: visible !important;
}

.monaco-editor-background {
  overflow: visible !important;
  contain: none !important;
}

.vs .monaco-scrollable-element > .scrollbar > .slider {
  z-index: 11;
}

.editor-container {
  background: var(--editor-background);
}

.breadcrumbs-demo {
  position: fixed;
  top: var(--header-height);
  left: 0;
  right: 0;
  z-index: var(--z-index-breadcrumbs);
  font-size: 16px;
  margin: 0;
  padding: 10px;
  height: var(--breadcrumbs-height);
  background: var(--secondary-background);
}

@media screen and (max-height: 300px) {
  .default-layout:has(#mobile-layout) .breadcrumbs-demo {
    height: auto;
    padding-block: 2px;
  }
}

.editor-upper-jaw {
  padding-inline: 0 15px;
  padding-block: 15px;
  max-width: unset !important;
  -webkit-user-select: text;
  -moz-user-select: text;
   -ms-user-select: text;
       user-select: text;
}

.editor-upper-jaw code {
  white-space: pre-wrap;
}

.editor-upper-jaw pre {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.editor-file-name {
  font-size: 18px;
  font-weight: bold;
  border-bottom: 1px solid var(--quaternary-background);
  padding-left: 11px;
  overflow: hidden;
}

.description-container {
  background-color: var(--secondary-background);
  padding: 1rem;
  border: 2px solid var(--quaternary-background);
  /* the max-width is set to keep the characters in a line at below ~70 to help
  with readability */
  max-width: 600px;
}

.challenge-description-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
  margin: 0.1em 0 0.6rem;
}

.description-container .breadcrumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 1rem;
  list-style-type: none;
  font-size: 16px;
  text-align: center;
  margin-bottom: 0.8rem;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  width: 100%;
  min-width: 0;
  color: var(--foreground-quaternary);
}

.description-container .breadcrumbs li:first-child {
  position: relative;
  max-width: 35%;
}

.description-container .breadcrumbs li:first-child:after {
  content: ' >';
  font-size: 17px;
  position: absolute;
  top: 0;
  right: -0.7rem;
}

.description-container .breadcrumbs li:nth-child(2) {
  min-width: 0;
}

.description-container .breadcrumbs a {
  width: 100%;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  border-bottom: 1px solid var(--foreground-quaternary);
}

.description-container .breadcrumbs a:focus {
  background-color: inherit;
}

.description-container h1 {
  color: var(--secondary-color);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.1;
  margin: 0;
}

.description-highlighter {
  background-color: var(--secondary-background);
  opacity: 1;
  -webkit-animation-name: example;
          animation-name: example;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

@-webkit-keyframes example {
  from {
    background-color: var(--highlight-background);
  }

  to {
    background-color: var(--secondary-background);
  }
}

@keyframes example {
  from {
    background-color: var(--highlight-background);
  }

  to {
    background-color: var(--secondary-background);
  }
}

#description p:last-child {
  margin: 0px;
}

.myEditableLineDecoration {
  background-color: var(--gray-45);
  width: 15px !important;
  margin-inline: 5px !important;
}

.myEditableLineDecoration.tests-passed {
  background-color: #4caf50;
}

.editable-region {
  background-color: var(--primary-background);
  z-index: -1;
}

/* Unless we increase the z-index the help widget gets obscured by the jaws */
.accessibilityHelpWidget {
  z-index: 1;
}

.fade-in {
  -webkit-animation-name: FadeIn;
          animation-name: FadeIn;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

@-webkit-keyframes FadeIn {
  0% {
    opacity: 0;
  }

  /* keep test feedback contents initially hidden for 200ms*/
  40% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes FadeIn {
  0% {
    opacity: 0;
  }

  /* keep test feedback contents initially hidden for 200ms*/
  40% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.progress-bar-container {
  text-align: center;
}

.code-details {
  font-weight: 700;
  margin-bottom: 0.6rem;
}

.code-details-summary {
  display: list-item;
  cursor: pointer;
}

.editor-upper-jaw pre code {
  white-space: pre;
}

/* overwriting default arrow styles for accessibility */
:root {
  --monaco-scrollbar-arrow-box-size: 0;
  --monaco-scrollbar-arrow-icon-top-bottom: 0;
  --monaco-scrollbar-arrow-icon-left: 0;
  --monaco-scrollbar-arrow-icon-size: 11px;
  --monaco-scrollbar-arrow-icon-font-size: 11px;
}

/* z-index is needed for arrox box and icons because the scrollbar may
   overlap the arrow buttons when zoomed in */

/* arrow box - by default the width is the same as the scrollbar,
   so we only need to ajdust the height */
.vs .monaco-scrollable-element .scrollbar .arrow-background {
  height: var(--monaco-scrollbar-arrow-box-size) !important;
  background-color: #666;
  z-index: 199;
}

/* arrow icons - includes both up and down */
.vs .monaco-scrollable-element .scrollbar .scra {
  top: var(--monaco-scrollbar-arrow-icon-top-bottom) !important;
  left: var(--monaco-scrollbar-arrow-icon-left) !important;
  width: var(--monaco-scrollbar-arrow-icon-size) !important;
  height: var(--monaco-scrollbar-arrow-icon-size) !important;
  font-size: var(--monaco-scrollbar-arrow-icon-font-size) !important;
  color: white;
  z-index: 199;
}

/* down arrow icon only */
.vs .monaco-scrollable-element .scrollbar .codicon-scrollbar-button-down {
  top: unset !important;
  bottom: var(--monaco-scrollbar-arrow-icon-top-bottom) !important;
}

/* we can live with no color change for hover state if browser doesn't
   support :has (the mouse cursor will still change to pointer) */
@supports (selector(html:has(body))) {
  .vs .monaco-scrollable-element .scrollbar .arrow-background:hover,
  .vs
    .monaco-scrollable-element
    .scrollbar
    .arrow-background:has(+ .codicon:hover) {
    cursor: pointer;
    background-color: #222 !important;
  }
}

.independent-lower-jaw {
  width: 100%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  position: relative;
  z-index: 101;
}

.independent-lower-jaw .hint-container {
  background-color: var(--background-quaternary);
  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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
  padding: 12px;
  position: absolute;
  bottom: 100%;
  width: 97%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin-bottom: 12px;
  border: 1px solid var(--background-secondary);
  opacity: 0;
  -webkit-animation: jaw-hint-fade-in 0.3s ease forwards;
          animation: jaw-hint-fade-in 0.3s ease forwards;
}

.independent-lower-jaw .hint-container .hint-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-bottom: 10px;
}

.independent-lower-jaw .hint-container .hint-header svg {
  height: 1.4rem;
  width: 1.4rem;
}

.independent-lower-jaw .hint-container .hint-body p:last-child {
  margin-bottom: 0;
}

@-webkit-keyframes jaw-hint-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes jaw-hint-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.independent-lower-jaw .btn-cta {
  padding: 6px 12px;
}

.independent-lower-jaw .buttons-row-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  background-color: var(--background-secondary);
  border: var(--background-quaternary) 1px solid;
  padding: 12px;
}

.action-row-right {
  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;
}

.independent-lower-jaw .hint-container button {
  font-size: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid var(--quaternary-color);
}

.independent-lower-jaw .action-row-right button {
  height: 40px;
  width: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: none;
  margin-left: 10px;
}

.independent-lower-jaw .tooltip {
  position: relative;
  display: inline-block;
}

.independent-lower-jaw .socrates-feature-dot {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--red80);
  pointer-events: none;
  -webkit-animation: socrates-dot-pulse 2s ease-out infinite;
          animation: socrates-dot-pulse 2s ease-out infinite;
}

@-webkit-keyframes socrates-dot-pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 var(--red80);
            box-shadow: 0 0 0 0 var(--red80);
  }

  70% {
    -webkit-box-shadow: 0 0 0 6px rgba(248, 33, 83, 0);
            box-shadow: 0 0 0 6px rgba(248, 33, 83, 0);
  }

  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(248, 33, 83, 0);
            box-shadow: 0 0 0 0 rgba(248, 33, 83, 0);
  }
}

@keyframes socrates-dot-pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 var(--red80);
            box-shadow: 0 0 0 0 var(--red80);
  }

  70% {
    -webkit-box-shadow: 0 0 0 6px rgba(248, 33, 83, 0);
            box-shadow: 0 0 0 6px rgba(248, 33, 83, 0);
  }

  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(248, 33, 83, 0);
            box-shadow: 0 0 0 0 rgba(248, 33, 83, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .independent-lower-jaw .socrates-feature-dot {
    -webkit-animation: none;
            animation: none;
  }
}

/* Tooltip text */
.independent-lower-jaw .tooltip .tooltiptext {
  visibility: hidden;
  opacity: 0;
  background-color: var(--background-quaternary);
  color: var(--foreground-primary);
  border: 1px solid var(--foreground-secondary);
  padding: 5px 10px;
  font-size: 1rem;
  text-align: center;
  position: absolute;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  top: -60px;
  z-index: 1;
}

/* Show the tooltip text when you mouse over the tooltip container */
.independent-lower-jaw .tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease 1s;
  transition: opacity 0.5s ease 1s;
}

/* .independent-lower-jaw  */

.tooltiptext::after {
  content: '';
  position: absolute;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-style: solid;
  border-width: 0px 1px 1px 0px;
  border-color: var(--color-border-primary);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  bottom: -5px;
  left: calc(50% - 0.25rem);
  background-image: linear-gradient(
    to top left,
    var(--background-quaternary) 55%,
    rgba(0, 0, 0, 0) 20%
  );
}

.independent-lower-jaw .tooltip .tooltiptext.left-tooltip {
  left: 0;
}

.share-button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  margin-top: 10px;
  gap: 10px;
}

.socrates-skeleton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  padding: 8px 0;
}

.skeleton-line {
  height: 16px;
  border-radius: 2px;
}

.skeleton-line-1 {
  background-color: var(--tertiary-background);
  width: 100%;
  -webkit-animation: pulse-1 1.5s ease-in-out infinite;
          animation: pulse-1 1.5s ease-in-out infinite;
}

.skeleton-line-2 {
  background-color: var(--tertiary-background);
  width: 85%;
  -webkit-animation: pulse-2 1.5s ease-in-out infinite;
          animation: pulse-2 1.5s ease-in-out infinite;
}

@-webkit-keyframes pulse-1 {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

@keyframes pulse-1 {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

@-webkit-keyframes pulse-2 {
  0% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}

@keyframes pulse-2 {
  0% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}

.share-button-wrapper a {
  border: 1px solid var(--quaternary-color);
  padding: 2px 6px;
}

.socrates-donation-cta {
  border-top: 1px solid var(--background-secondary);
  margin-top: 8px;
  padding-top: 10px;
}

.reflex-element {
  overflow: hidden !important;
}

.monaco-menu .action-label {
  color: var(--highlight-color);
  letter-spacing: 0.02em;
}

.monaco-aria-container {
  top: -999em;
}

.monaco-menu .monaco-action-bar.vertical .action-item:nth-last-child(n + 5),
.monaco-menu .monaco-action-bar.vertical .action-item:last-child,
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
  display: none !important;
}

.action-row {
  height: var(--action-row-height);
  position: fixed;
  top: calc(var(--header-height) + var(--breadcrumbs-height));
  left: 0;
  right: 0;
  z-index: 100;
  padding: 0 10px 10px;
  border-bottom: 1px solid var(--quaternary-background);
  background-color: var(--secondary-background);
}

.monaco-editor-tabs button[aria-expanded='true'],
.panel-display-tabs button[aria-expanded='true'],
.tabs-row button[aria-expanded='true'] {
  border-color: var(--primary-color);
  background-color: var(--primary-color);
  color: var(--secondary-background);
}

.monaco-editor-tabs button:hover,
.panel-display-tabs button:hover,
.tabs-row button:hover {
  color: var(--secondary-color);
  background-color: var(--primary-background);
}

.monaco-editor-tabs button[aria-expanded='true']:hover,
.panel-display-tabs button[aria-expanded='true']:hover,
.tabs-row button[aria-expanded='true']:hover {
  background-color: var(--quaternary-color);
  color: var(--secondary-background);
}

.panel-display-tabs button:focus-visible {
  position: relative;
  z-index: 20;
}

.tabs-row {
  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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.tabs-row button,
.monaco-editor-tabs button {
  padding: 6px 12px;
  border-width: 3px;
  border-style: solid;
}

.tabs-row-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

.tabs-row-middle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3px;
  /* these three center the middle items on the page */
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.tabs-row-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.monaco-editor-tabs button + button {
  -webkit-margin-start: 3px;
          margin-inline-start: 3px;
}

.monaco-editor-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-margin-end: auto;
          margin-inline-end: auto;
}

.panel-display-tabs button:first-child {
  margin: 0 10px 0 0;
}

.panel-display-tabs button:last-child {
  margin: 0;
}

.panel-display-tabs button:last-of-type {
  border-inline-start-width: 1px;
}

.panel-display-tabs button:last-of-type:first-of-type {
  border-inline-start-width: 3px;
}

.panel-display-tabs button:nth-last-child(2) {
  border-inline-end-width: 1px;
}

.interactive-editor-tab {
  /* Ensure the right group pins to the end even when no left/middle items exist */
  margin-left: auto;
}

.restart-step-tab {
  margin: 0 auto;
}

#mobile-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}

#mobile-layout .nav-lists {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid var(--quaternary-color);
  height: 2rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* Need to narrow width of tabs to make room for preview toggle button */
#mobile-layout[data-haspreview='true'] [role='tablist'] {
  width: calc(100% - 2rem);
}

#mobile-layout .nav-lists > button {
  height: 100%;
  font-size: 0.8em;
  /* Need to override radix-ui defaults on side padding to allow room for
     four tabs and a preview toggle button at narrow view ports */
  padding-left: 0.2rem;
  padding-right: 0.2rem;
}

#mobile-layout .nav-lists button[data-state='active'] {
  pointer-events: none;
}

#mobile-layout
  .nav-lists
  > button:is([aria-selected='false'], [aria-expanded='false']) {
  color: inherit;
  background-color: inherit;
}

#mobile-layout .nav-lists > button:hover,
.portal-button:hover {
  background: var(--quaternary-background);
  color: var(--secondary-color);
}

.portal-button {
  width: 2rem;
  border: 0;
  padding: 0;
  background-color: inherit;
  font-size: 0.8rem;
  height: 100%;
}

.portal-button[aria-expanded='true'] {
  border-color: var(--quaternary-color);
  background-color: var(--quaternary-color);
  color: var(--secondary-background);
}

.portal-button:focus-visible {
  outline-offset: -3px;
}

#mobile-layout .tab-content {
  height: 100%;
  overflow-y: hidden;
}

#mobile-layout .tab-content[data-state='inactive'] {
  height: 1px;
}

#mobile-layout .tab-content[data-state='active'] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

#mobile-layout .independent-lower-jaw {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: auto;
}

#mobile-layout .preview-external-window {
  text-align: center;
  margin-top: 60px;
}

#mobile-layout-pane-editor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

#mobile-layout .portal-button-wrap {
  position: absolute;
  top: auto;
  inset-inline-end: 0;
  height: 2rem;
  border-bottom: 1px solid var(--quaternary-color);
}

#mobile-layout .tab-content[data-state='active'] .portal-button-wrap {
  -webkit-transform: translateY(-2rem);
          transform: translateY(-2rem);
}

#mobile-layout #mobile-layout-pane-instructions {
  overflow-y: auto;
}

#mobile-layout-pane-instructions:focus-visible {
  outline-offset: -2px;
}

@supports not selector(:focus-visible) {
  #mobile-layout-pane-instructions:focus {
    outline-offset: -2px;
  }
}

#mobile-layout .monaco-editor-tabs {
  padding: 10px;
  width: 100%;
}

#mobile-layout .monaco-editor-tabs button {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 50%;
}

/* Focus indicator for tab panel */
.nav-lists [role='tab']:focus {
  outline-offset: -3px;
}

@media screen and (max-width: 480px) {
  #mobile-layout .monaco-editor-tabs {
    padding: 10px 5px;
  }
}

@media screen and (max-height: 300px) {
  #mobile-layout .nav-lists {
    height: 1.5rem;
  }

  #mobile-layout .nav-lists > button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  #mobile-layout .portal-button-wrap {
    height: 1.5rem;
  }

  #mobile-layout .tab-content[data-state='active'] .portal-button-wrap {
    height: 1.52rem;
    -webkit-transform: translateY(-1.5rem);
            transform: translateY(-1.5rem);
  }

  #mobile-layout .portal-button-wrap button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 1.43rem;
    font-size: initial;
  }

  #mobile-layout .portal-button-wrap button svg {
    scale: 0.8;
  }

  #mobile-layout .monaco-editor-tabs {
    padding: 5px;
  }

  .monaco-editor-tabs button {
    padding: 2px 12px;
  }
}

.mobile-lang-selector-toggle {
  background-color: var(--secondary-background);
  border: 0;
  border-right: 1px solid var(--quaternary-color);
  color: var(--primary-color);
  font-size: 0.8em;
  height: 100%;
  padding-left: 0.4rem;
  padding-right: 0.4rem;
}

.mobile-lang-selector-toggle:hover {
  background-color: var(--quaternary-background);
  color: var(--secondary-color);
}

.hide-test-frame {
  position: absolute;
  top: -9999px;
  left: -9999px;
  visibility: hidden;
}

.not-found-wrapper {
  min-height: 100vh;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px;
  text-align: center;
}

.not-found-wrapper img {
  width: 380px;
}

.quote-wrapper {
  background-color: var(--tertiary-background);
  padding-inline: 42px 20px;
  padding-block: 20px;
  border-width: 0;
  position: relative;
  max-width: 980px;
}

.quote-wrapper .quote {
  font-style: italic;
  font-size: 20px;
  margin-bottom: 0.6em;
  text-align: left;
}

.quote-wrapper .quote::before {
  content: open-quote;
  font-size: 25px;
  font-weight: 700;
}

.quote-wrapper .author {
  text-align: right;
  margin: 0;
}

.button-wrapper {
  width: 100%;
  max-width: 635px;
}

.sidebar-panel {
  overflow-y: auto;
  scrollbar-color: var(--quaternary-background) var(--secondary-background);
  scrollbar-width: thin;
  background-color: var(--secondary-background);
  -webkit-border-end: 3px solid var(--tertiary-background);
          border-inline-end: 3px solid var(--tertiary-background);
  padding: 1rem 0;
  color: var(--primary-color);
  font-size: 1rem;
}

.sidebar-panel::-webkit-scrollbar {
  width: 6px;
}

.sidebar-panel::-webkit-scrollbar-track {
  background: var(--secondary-background);
}

.sidebar-panel::-webkit-scrollbar-thumb {
  background-color: var(--quaternary-background);
  border-radius: 3px;
}

.sidebar-panel-item {
  list-style: none;
}

.classroom-mode-panel p {
  margin-inline: 10px;
}

.classroom-mode-panel {
  padding-top: 15px;
}

.settings-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: calc(100vh - var(--header-height));
}

.settings-main {
  -webkit-box-flex: 4;
      -ms-flex: 4;
          flex: 4;
  padding: 1rem;
}

.settings-sidebar-nav ul {
  list-style-type: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

.settings-sidebar-nav > ul > li {
  margin-bottom: 0.5rem;
}

.settings-sidebar-nav ul ul li {
  margin-bottom: 0.15rem;
}

.settings-sidebar-nav {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: sticky;
  top: var(--header-height);
  height: calc(100vh - var(--header-height));
}

.settings-sidebar-nav .sidebar-nav-section-heading {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  -webkit-padding-start: 1rem;
          padding-inline-start: 1rem;
  text-decoration: none;
  cursor: pointer;
}

.settings-sidebar-nav .sidebar-nav-anchor-btn {
  display: inline-block;
  width: 100%;
  text-decoration: none;
  cursor: pointer;
  padding-block: 0;
  padding-inline: 2rem 1rem;
  font-size: 0.85rem;
}

.settings-sidebar-nav .sidebar-nav-section-heading.active,
.settings-sidebar-nav .sidebar-nav-anchor-btn.active {
  -webkit-box-shadow: inset 3px 0 0 0 var(--highlight-color);
          box-shadow: inset 3px 0 0 0 var(--highlight-color);
  background-color: var(--tertiary-background);
}

[dir='rtl'] .settings-sidebar-nav .sidebar-nav-section-heading.active,
[dir='rtl'] .settings-sidebar-nav .sidebar-nav-anchor-btn.active {
  -webkit-box-shadow: inset -3px 0 0 0 var(--highlight-color);
          box-shadow: inset -3px 0 0 0 var(--highlight-color);
}

@media (max-width: 980px) {
  .settings-sidebar-nav {
    display: none;
  }

  .settings-container {
    display: block;
  }
}

.settings-user-token-heading,
.settings-danger-zone-heading,
.settings-exam-token-heading {
  color: inherit;
  font-size: inherit;
  margin: 0;
  text-align: center;
}

button[aria-described-by='codeally-cookie-warning'] {
  font-size: 1.1rem;
}

.exam-wrapper,
.exam-results-wrapper {
  margin-top: 60px;
  padding: 25px;
  background-color: var(--primary-background);
  border: 2px solid var(--tertiary-background);
}

@media (max-width: 600px) {
  .exam-wrapper,
  .exam-results-wrapper {
    margin-top: 80px;
  }
}

.exam-header,
.exam-results-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
}

.exam-questions {
  padding: 0 30px;
}

.exam-answers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.exam-answer-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 15px;
  padding: 20px;
  cursor: pointer;
  font-weight: normal;
}

.exam-answer-label > .line-numbers,
.exam-questions > .line-numbers {
  display: inline-block;
}

.exam-answers pre,
.exam-questions pre {
  color: var(--tertiary-color);
  border: 1px solid var(--secondary-color);
  background-color: var(--quaternary-background);
  padding: 10px;
}

.exam-answer-label p {
  margin: 0;
}

.exam-answer-input-visible {
  -webkit-margin-end: 15px;
          margin-inline-end: 15px;
  position: relative;
  top: 2px;
  display: inline-block;
  min-width: 20px;
  min-height: 20px;
  max-width: 20px;
  max-height: 20px;
  border-radius: 50%;
  background-color: var(--secondary-background);
  border: 2px solid var(--primary-color);
}

.exam-answer-input-selected {
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: var(--primary-color);
  border-radius: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.exam-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.exam-buttons .exam-button {
  margin: 0 10px;
  max-width: 40%;
}

.exam-results-message {
  text-align: center;
}

.exam-results {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
}

.fill-in-the-blank-wrap {
  background-color: var(--primary-background);
  padding: 20px;
  border: 4px solid var(--tertiary-background);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em;
}

.fill-in-the-blank-wrap > p {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.5;
}

.fill-in-the-blank-input {
  font-family: monospace;
  padding: 0;
  text-align: center;
  background-color: var(--primary-background);
  border-radius: 0;
  overflow-wrap: anywhere;
  line-height: 1.5;
  z-index: 1;
  position: relative;
  border-left: none;
  border-right: none;
  border-top: none;
  border-bottom-width: 4px;
  border-bottom-color: var(--gray-45) !important;
}

.fill-in-the-blank-input:focus {
  z-index: 2;
}

.correct-blank-answer {
  color: var(--background-success) !important;
  font-weight: bold;
}

.incorrect-blank-answer {
  border-bottom-color: var(--background-danger) !important;
}

.content-layout-fluid {
  padding-inline: 0 !important;
}

.content-layout-container {
  padding-inline: 0;
  width: 100%;
}

/* Two-column flex row containing the sidebar and the main content */
.content-layout-row {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.content-main-column {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  margin-inline: auto;
  max-width: calc(100% - 16rem);
  min-width: 0;
  /* Compensate row negative gutters used inside challengeBody. */
  padding-inline: 15px;
}

.content-sidebar-column {
  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-flex: 0;
      -ms-flex: 0 0 16rem;
          flex: 0 0 16rem;
  gap: 0.75rem;
}

.content-outline-panel {
  height: calc(
    100vh - var(--header-height) - var(--breadcrumbs-height) -
      var(--action-row-height)
  );
}

.content-outline-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.content-outline-item {
  margin-bottom: 0.35rem;
}

.content-outline-item-level-2 {
  -webkit-padding-start: 0.85rem;
          padding-inline-start: 0.85rem;
}

.content-outline-item-level-3 {
  -webkit-padding-start: 1.5rem;
          padding-inline-start: 1.5rem;
}

.content-outline-link {
  color: var(--primary-color);
  cursor: pointer;
  display: block;
  font-weight: 600;
  padding: 0.2rem 0.45rem 0.2rem 1rem;
  text-decoration: none;
}

.content-outline-link:hover,
.content-outline-link:focus {
  background-color: var(--tertiary-background);
  text-decoration: none;
}

.content-outline-link.active {
  background-color: var(--tertiary-background);
  -webkit-box-shadow: inset 3px 0 0 0 var(--highlight-color);
          box-shadow: inset 3px 0 0 0 var(--highlight-color);
}

@media (min-width: 992px) {
  .content-sidebar-column {
    -ms-flex-item-align: start;
        align-self: flex-start;
    position: sticky;
    top: calc(
      var(--header-height) + var(--breadcrumbs-height) +
        var(--action-row-height)
    );
  }
}

@media (max-width: 991px) {
  .content-sidebar-column {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 0px;
            flex: 0 0 0;
    overflow: visible;
  }

  .content-main-column {
    max-width: 100%;
  }

  .content-outline-panel {
    height: calc(
      100vh - var(--header-height) - var(--breadcrumbs-height) -
        var(--action-row-height)
    );
    left: 0;
    position: fixed;
    top: calc(
      var(--header-height) + var(--breadcrumbs-height) +
        var(--action-row-height)
    );
    width: 100vw;
    z-index: 200;
  }
}

input[type='checkbox'] {
  display: grid;
  place-content: center;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background-color: var(--primary-background);
  min-width: 1.15em;
  min-height: 1.15em;
  max-width: 1.15em;
  max-height: 1.15em;
  -webkit-margin-end: 15px;
          margin-inline-end: 15px;
  border: 2px solid var(--primary-color);
  border-radius: 0.15em;
  -webkit-transform: translateY(-0.075em);
          transform: translateY(-0.075em);
  cursor: pointer;
}

input[type='checkbox']::before {
  content: '';
  width: 0.65em;
  height: 0.65em;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms transform ease-in-out;
  transition: 120ms transform ease-in-out, 120ms -webkit-transform ease-in-out;
  -webkit-box-shadow: inset 1em 1em var(--primary-color);
          box-shadow: inset 1em 1em var(--primary-color);
}

input[type='checkbox']:checked::before {
  -webkit-transform: scale(1);
          transform: scale(1);
}

audio {
  background-color: aqua;
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.video-wrapper iframe,
.video-wrapper object,
.video-wrapper embed,
.video-wrapper .display-youtube-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.video-placeholder-loader {
  min-height: 540px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.display-youtube-video {
  display: block;
}

.hide-youtube-video {
  display: none;
}

.video-quiz-options {
  background-color: var(--primary-background);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

/* remove bootstrap margin and center the radio buttons */
.video-quiz-options > label {
  margin: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--quaternary-background) var(--secondary-background);
}

.video-quiz-options > label::-webkit-scrollbar {
  height: 15px;
}

.video-quiz-options > label::-webkit-scrollbar-track {
  background: var(--secondary-background);
}
.video-quiz-options > label::-webkit-scrollbar-thumb {
  background-color: var(--quaternary-background);
}

.video-quiz-option-label {
  padding: 20px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: normal;
}

.video-quiz-input-visible {
  -webkit-margin-end: 15px;
          margin-inline-end: 15px;
  position: relative;
  top: 2px;
  display: inline-block;
  min-width: 20px;
  min-height: 20px;
  max-width: 20px;
  max-height: 20px;
  border-radius: 50%;
  background-color: var(--secondary-background);
  border: 2px solid var(--primary-color);
}

input:focus-visible + .video-quiz-input-visible {
  outline: 3px solid var(--focus-outline-color);
  outline-offset: 2px;
}

.video-quiz-selected-input {
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: var(--primary-color);
  border-radius: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/* remove bootstrap properties */
.video-quiz-option > p {
  margin: 0;
}

/* remove bootstrap properties */
.video-quiz-option > pre {
  padding: 0;
  margin: 0;
  /* remove default prism background */
  background: none;
}

.mcq-option-row {
  /* Use grid so we can align the speaking button to the option content row only */
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto; /* row1 = option content, row2 = feedback */
  gap: 0 1rem;
  border-left: 4px solid var(--tertiary-background);
  border-right: 4px solid var(--tertiary-background);
  border-top: 2px solid var(--tertiary-background);
  border-bottom: 2px solid var(--tertiary-background);
}

/* Without a speaking button the second column collapses, but its gap survives. */
.mcq-option-row:not(:has(.mcq-speaking-button-wrapper)) {
  -webkit-column-gap: 0;
     -moz-column-gap: 0;
          column-gap: 0;
}

.mcq-option-row:first-child {
  border-top: 4px solid var(--tertiary-background);
}

.mcq-option-row:last-child {
  border-bottom: 4px solid var(--tertiary-background);
}

.mcq-option-row:has(.mcq-correct) {
  border-left-color: var(--success-background);
}

.mcq-option-row:has(.mcq-incorrect) {
  border-left-color: var(--danger-background);
}

.mcq-option-with-feedback {
  display: contents;
}

.mcq-option-content {
  display: block;
  grid-column: 1;
  grid-row: 1;
  overflow-x: auto;
}

.mcq-option-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* LTR answers sit at the far edge; the radio stays at the inline-start. Must be
   physical: dir='auto' resolves these to LTR, so a logical margin would flip. */
[dir='rtl'] .mcq-option-label .video-quiz-option[dir='auto'] {
  margin-right: auto;
}

.mcq-correct {
  color: var(--success-color);
  border-left-color: var(--success-background);
}

.mcq-incorrect {
  color: var(--danger-color);
  border-left-color: var(--danger-background);
}

.mcq-hide-border {
  border-bottom: none;
}

.mcq-speaking-button-wrapper {
  grid-column: 2;
  /* place the button in the same grid row as the option content */
  grid-row: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; /* vertically center the button within the option content row */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-padding-end: 20px;
          padding-inline-end: 20px;
}

/* ensure feedback occupies the second grid row */
.mcq-feedback {
  grid-column: 1;
  grid-row: 2;
  border-top: none;
  display: block;
}

.mcq-prism-correct code {
  color: var(--success-color);
}

.mcq-prism-incorrect code {
  color: var(--danger-color);
}

.mcq-fieldset {
  min-width: 0;
}

/* Override the default styles of `legend` element */
.mcq-question-text {
  border: none;
  color: var(--primary-color);
  margin: 0;
  max-width: 100%;
}

.mcq-question-text pre {
  max-width: 100%;
  overflow-x: auto;
}

.link-ms-user-ol li {
  margin-bottom: 5px;
}

.link-ms-user-ol li a {
  word-break: break-all;
}

.link-ms-user-ol li:last-child {
  margin-bottom: 0;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* -------------------- IE10 remove auto clear button -------------------- */

::-ms-clear {
	display: none;
}

/* All widgets */
/* I am not a big fan of this rule */
.monaco-editor .editor-widget input {
	color: inherit;
}

/* -------------------- Editor -------------------- */

.monaco-editor {
	position: relative;
	overflow: visible;
	-webkit-text-size-adjust: 100%;
	color: var(--vscode-editor-foreground);
	background-color: var(--vscode-editor-background);
	overflow-wrap: initial;
}
.monaco-editor-background {
	background-color: var(--vscode-editor-background);
}
.monaco-editor .rangeHighlight {
	background-color: var(--vscode-editor-rangeHighlightBackground);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid var(--vscode-editor-rangeHighlightBorder);
}
.monaco-editor.hc-black .rangeHighlight, .monaco-editor.hc-light .rangeHighlight {
	border-style: dotted;
}
.monaco-editor .symbolHighlight {
	background-color: var(--vscode-editor-symbolHighlightBackground);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid var(--vscode-editor-symbolHighlightBorder);
}
.monaco-editor.hc-black .symbolHighlight, .monaco-editor.hc-light .symbolHighlight {
	border-style: dotted;
}

.monaco-editor .editorCanvas {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
}

/* -------------------- Misc -------------------- */

.monaco-editor .overflow-guard {
	position: relative;
	overflow: hidden;
}

.monaco-editor .view-overlays {
	position: absolute;
	top: 0;
}

.monaco-editor .view-overlays > div, .monaco-editor .margin-view-overlays > div {
	position: absolute;
	width: 100%;
}

/*
.monaco-editor .auto-closed-character {
	opacity: 0.3;
}
*/


.monaco-editor .squiggly-error {
	border-bottom: 4px double var(--vscode-editorError-border);
}
.monaco-editor .squiggly-error::before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: var(--vscode-editorError-background);
}
.monaco-editor .squiggly-warning {
	border-bottom: 4px double var(--vscode-editorWarning-border);
}
.monaco-editor .squiggly-warning::before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: var(--vscode-editorWarning-background);
}
.monaco-editor .squiggly-info {
	border-bottom: 4px double var(--vscode-editorInfo-border);
}
.monaco-editor .squiggly-info::before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: var(--vscode-editorInfo-background);
}
.monaco-editor .squiggly-hint {
	border-bottom: 2px dotted var(--vscode-editorHint-border);
}
.monaco-editor.showUnused .squiggly-unnecessary {
	border-bottom: 2px dashed var(--vscode-editorUnnecessaryCode-border);
}
.monaco-editor.showDeprecated .squiggly-inline-deprecated {
	text-decoration: line-through;
	text-decoration-color: var(--vscode-editor-foreground, inherit);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Arrows */
.monaco-scrollable-element > .scrollbar > .scra {
	cursor: pointer;
	font-size: 11px !important;
}

.monaco-scrollable-element > .visible {
	opacity: 1;

	/* Background rule added for IE9 - to allow clicks on dom node */
	background:rgba(0,0,0,0);

	-webkit-transition: opacity 100ms linear;

	transition: opacity 100ms linear;
	/* In front of peek view */
	z-index: 11;
}
.monaco-scrollable-element > .invisible {
	opacity: 0;
	pointer-events: none;
}
.monaco-scrollable-element > .invisible.fade {
	-webkit-transition: opacity 800ms linear;
	transition: opacity 800ms linear;
}

/* Scrollable Content Inset Shadow */
.monaco-scrollable-element > .shadow {
	position: absolute;
	display: none;
}
.monaco-scrollable-element > .shadow.top {
	display: block;
	top: 0;
	left: 3px;
	height: 3px;
	width: 100%;
	-webkit-box-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;
	        box-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;
}
.monaco-scrollable-element > .shadow.left {
	display: block;
	top: 3px;
	left: 0;
	height: 100%;
	width: 3px;
	-webkit-box-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;
	        box-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;
}
.monaco-scrollable-element > .shadow.top-left-corner {
	display: block;
	top: 0;
	left: 0;
	height: 3px;
	width: 3px;
}
.monaco-scrollable-element > .shadow.top.left {
	-webkit-box-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;
	        box-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;
}

.monaco-scrollable-element > .scrollbar {
	background: var(--vscode-scrollbar-background);
}

.monaco-scrollable-element > .scrollbar > .slider {
	background: var(--vscode-scrollbarSlider-background);
}

.monaco-scrollable-element > .scrollbar > .slider:hover {
	background: var(--vscode-scrollbarSlider-hoverBackground);
}

.monaco-scrollable-element > .scrollbar > .slider.active {
	background: var(--vscode-scrollbarSlider-activeBackground);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .blockDecorations-container {
	position: absolute;
	top: 0;
	pointer-events: none;
}

.monaco-editor .blockDecorations-block {
	position: absolute;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .view-overlays .current-line {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 100%;
}

.monaco-editor .margin-view-overlays .current-line {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 100%;
}

.monaco-editor
	.margin-view-overlays
	.current-line.current-line-margin.current-line-margin-both {
	border-right: 0;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	Keeping name short for faster parsing.
	cdr = core decorations rendering (div)
*/
.monaco-editor .lines-content .cdr {
	position: absolute;
	height: 100%;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .glyph-margin {
	position: absolute;
	top: 0;
}

/*
	Keeping name short for faster parsing.
	cgmr = core glyph margin rendering (div)
*/
.monaco-editor .glyph-margin-widgets .cgmr {
	position: absolute;
	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;
}

/*
	Ensure spinning icons are pixel-perfectly centered and avoid wobble.
	This is only applied to icons that spin to avoid unnecessary
	GPU layers and blurry subpixel AA.
*/
.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin::before  {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .lines-content .core-guide {
	position: absolute;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 100%;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .margin-view-overlays .line-numbers {
	bottom: 0;
	font-variant-numeric: tabular-nums;
	position: absolute;
	text-align: right;
	display: inline-block;
	vertical-align: middle;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	cursor: default;
}

.monaco-editor .relative-current-line-number {
	text-align: left;
	display: inline-block;
	width: 100%;
}

.monaco-editor .margin-view-overlays .line-numbers.lh-odd {
	margin-top: 1px;
}

.monaco-editor .line-numbers {
	color: var(--vscode-editorLineNumber-foreground);
}

.monaco-editor .line-numbers.active-line-number {
	color: var(--vscode-editorLineNumber-activeForeground);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-mouse-cursor-text {
	cursor: text;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Uncomment to see lines flashing when they're painted */
/*.monaco-editor .view-lines > .view-line {
	background-color: none;
	animation-name: flash-background;
	animation-duration: 800ms;
}
@keyframes flash-background {
	0%   { background-color: lightgreen; }
	100% { background-color: none }
}*/

.mtkcontrol {
	color: rgb(255, 255, 255) !important;
	background: rgb(150, 0, 0) !important;
}

.mtkoverflow {
	background-color: var(--vscode-button-background, var(--vscode-editor-background));
	color: var(--vscode-button-foreground, var(--vscode-editor-foreground));
	border-width: 1px;
	border-style: solid;
	border-color: var(--vscode-contrastBorder);
	border-radius: 2px;
	padding: 4px;
	cursor: pointer;
}
.mtkoverflow:hover {
	background-color: var(--vscode-button-hoverBackground);
}

.monaco-editor.no-user-select .lines-content,
.monaco-editor.no-user-select .view-line,
.monaco-editor.no-user-select .view-lines {
	-moz-user-select: none;
	 -ms-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
}
/* Use user-select: text for lookup feature on macOS */
/* https://github.com/microsoft/vscode/issues/85632 */
.monaco-editor.mac .lines-content:hover,
.monaco-editor.mac .view-line:hover,
.monaco-editor.mac .view-lines:hover {
	-moz-user-select: text;
	     user-select: text;
	-webkit-user-select: text;
	-ms-user-select: text;
}

.monaco-editor.enable-user-select {
	-moz-user-select: initial;
	 -ms-user-select: initial;
	     user-select: initial;
	-webkit-user-select: initial;
}

.monaco-editor .view-lines {
	white-space: nowrap;
}

.monaco-editor .view-line {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	position: absolute;
	width: 100%;
}

/* There are view-lines in view-zones. We have to make sure this rule does not apply to them, as they don't set a line height */
.monaco-editor .lines-content > .view-lines > .view-line > span {
	top: 0;
	bottom: 0;
	position: absolute;
}

.monaco-editor .mtkw {
	color: var(--vscode-editorWhitespace-foreground) !important;
}

.monaco-editor .mtkz {
	display: inline-block;
	color: var(--vscode-editorWhitespace-foreground) !important;
}

/* TODO@tokenization bootstrap fix */
/*.monaco-editor .view-line > span > span {
	float: none;
	min-height: inherit;
	margin-left: inherit;
}*/

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .lines-decorations {
	position: absolute;
	top: 0;
	background: white;
}

/*
	Keeping name short for faster parsing.
	cldr = core lines decorations rendering (div)
*/
.monaco-editor .margin-view-overlays .cldr {
	position: absolute;
	height: 100%;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .margin {
	background-color: var(--vscode-editorGutter-background);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	Keeping name short for faster parsing.
	cmdr = core margin decorations rendering (div)
*/
.monaco-editor .margin-view-overlays .cmdr {
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* START cover the case that slider is visible on mouseover */
.monaco-editor .minimap.slider-mouseover .minimap-slider {
	opacity: 0;
	-webkit-transition: opacity 100ms linear;
	transition: opacity 100ms linear;
}
.monaco-editor .minimap.slider-mouseover:hover .minimap-slider {
	opacity: 1;
}
.monaco-editor .minimap.slider-mouseover .minimap-slider.active {
	opacity: 1;
}
/* END cover the case that slider is visible on mouseover */
.monaco-editor .minimap-slider .minimap-slider-horizontal {
	background: var(--vscode-minimapSlider-background);
}
.monaco-editor .minimap-slider:hover .minimap-slider-horizontal {
	background: var(--vscode-minimapSlider-hoverBackground);
}
.monaco-editor .minimap-slider.active .minimap-slider-horizontal {
	background: var(--vscode-minimapSlider-activeBackground);
}
.monaco-editor .minimap-shadow-visible {
	-webkit-box-shadow: var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset;
	        box-shadow: var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset;
}
.monaco-editor .minimap-shadow-hidden {
	position: absolute;
	width: 0;
}
.monaco-editor .minimap-shadow-visible {
	position: absolute;
	left: -6px;
	width: 6px;
	pointer-events: none;
}
.monaco-editor.no-minimap-shadow .minimap-shadow-visible {
	position: absolute;
	left: -1px;
	width: 1px;
}

/* 0.5s fade in/out for the minimap */
.minimap.minimap-autohide-mouseover,
.minimap.minimap-autohide-scroll {
	opacity: 0;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
.minimap.minimap-autohide-scroll{
	pointer-events: none;
}
.minimap.minimap-autohide-mouseover:hover,
.minimap.minimap-autohide-scroll.active {
	opacity: 1;
	pointer-events: auto;
}

.monaco-editor .minimap {
	z-index: 5;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .overlayWidgets {
	position: absolute;
	top: 0;
	left:0;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .view-ruler {
	position: absolute;
	top: 0;
	-webkit-box-shadow: 1px 0 0 0 var(--vscode-editorRuler-foreground) inset;
	        box-shadow: 1px 0 0 0 var(--vscode-editorRuler-foreground) inset;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .scroll-decoration {
	position: absolute;
	top: 0;
	left: 0;
	height: 6px;
	-webkit-box-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;
	        box-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	Keeping name short for faster parsing.
	cslr = core selections layer rendering (div)
*/
.monaco-editor .lines-content .cslr {
	position: absolute;
}

.monaco-editor .focused .selected-text {
	background-color: var(--vscode-editor-selectionBackground);
}

.monaco-editor .selected-text {
	background-color: var(--vscode-editor-inactiveSelectionBackground);
}

.monaco-editor			.top-left-radius		{ border-top-left-radius: 3px; }
.monaco-editor			.bottom-left-radius		{ border-bottom-left-radius: 3px; }
.monaco-editor			.top-right-radius		{ border-top-right-radius: 3px; }
.monaco-editor			.bottom-right-radius	{ border-bottom-right-radius: 3px; }

.monaco-editor.hc-black .top-left-radius		{ border-top-left-radius: 0; }
.monaco-editor.hc-black .bottom-left-radius		{ border-bottom-left-radius: 0; }
.monaco-editor.hc-black .top-right-radius		{ border-top-right-radius: 0; }
.monaco-editor.hc-black .bottom-right-radius	{ border-bottom-right-radius: 0; }

.monaco-editor.hc-light .top-left-radius		{ border-top-left-radius: 0; }
.monaco-editor.hc-light .bottom-left-radius		{ border-bottom-left-radius: 0; }
.monaco-editor.hc-light .top-right-radius		{ border-top-right-radius: 0; }
.monaco-editor.hc-light .bottom-right-radius	{ border-bottom-right-radius: 0; }

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .cursors-layer {
	position: absolute;
	top: 0;
}

.monaco-editor .cursors-layer > .cursor {
	position: absolute;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

/* -- smooth-caret-animation -- */
.monaco-editor .cursors-layer.cursor-smooth-caret-animation > .cursor {
	-webkit-transition: all 80ms;
	transition: all 80ms;
}

/* -- block-outline-style -- */
.monaco-editor .cursors-layer.cursor-block-outline-style > .cursor {
	background: transparent !important;
	border-style: solid;
	border-width: 1px;
}

/* -- underline-style -- */
.monaco-editor .cursors-layer.cursor-underline-style > .cursor {
	border-bottom-width: 2px;
	border-bottom-style: solid;
	background: transparent !important;
}

/* -- underline-thin-style -- */
.monaco-editor .cursors-layer.cursor-underline-thin-style > .cursor {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	background: transparent !important;
}

@-webkit-keyframes monaco-cursor-smooth {
	0%,
	20% {
		opacity: 1;
	}
	60%,
	100% {
		opacity: 0;
	}
}

@keyframes monaco-cursor-smooth {
	0%,
	20% {
		opacity: 1;
	}
	60%,
	100% {
		opacity: 0;
	}
}

@-webkit-keyframes monaco-cursor-phase {
	0%,
	20% {
		opacity: 1;
	}
	90%,
	100% {
		opacity: 0;
	}
}

@keyframes monaco-cursor-phase {
	0%,
	20% {
		opacity: 1;
	}
	90%,
	100% {
		opacity: 0;
	}
}

@-webkit-keyframes monaco-cursor-expand {
	0%,
	20% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
	}
	80%,
	100% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
	}
}

@keyframes monaco-cursor-expand {
	0%,
	20% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
	}
	80%,
	100% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
	}
}

.cursor-smooth {
	-webkit-animation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate;
	        animation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate;
}

.cursor-phase {
	-webkit-animation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate;
	        animation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate;
}

.cursor-expand > .cursor {
	-webkit-animation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate;
	        animation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .selection-anchor {
	background-color: #007ACC;
	width: 2px !important;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .mwh {
	position: absolute;
	color: var(--vscode-editorWhitespace-foreground) !important;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .bracket-match {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background-color: var(--vscode-editorBracketMatch-background);
	border: 1px solid var(--vscode-editorBracketMatch-border);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .monaco-decoration-css-rule-extractor {
	visibility: hidden;
	pointer-events: none;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.inline-editor-progress-decoration {
	display: inline-block;
	width: 1em;
	height: 1em;
}

.inline-progress-widget  {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.inline-progress-widget .icon {
	font-size: 80% !important;
}

.inline-progress-widget:hover .icon {
	font-size: 90% !important;
	-webkit-animation: none;
	        animation: none;
}

.inline-progress-widget:hover .icon::before {
	content: var(--vscode-icon-x-content);
	font-family: var(--vscode-icon-x-font-family);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .inputarea {
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	position: absolute;
	outline: none !important;
	resize: none;
	border: none;
	overflow: hidden;
	color: transparent;
	background-color: transparent;
	z-index: -10;
}
/*.monaco-editor .inputarea {
	position: fixed !important;
	width: 800px !important;
	height: 500px !important;
	top: initial !important;
	left: initial !important;
	bottom: 0 !important;
	right: 0 !important;
	color: black !important;
	background: white !important;
	line-height: 15px !important;
	font-size: 14px !important;
	z-index: 10 !important;
}*/
.monaco-editor .inputarea.ime-input {
	z-index: 10;
	caret-color: var(--vscode-editorCursor-foreground);
	color: var(--vscode-editor-foreground);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .monaco-editor-overlaymessage {
	padding-bottom: 8px;
	z-index: 10000;
}

.monaco-editor .monaco-editor-overlaymessage.below {
	padding-bottom: 0;
	padding-top: 8px;
	z-index: 10000;
}

@-webkit-keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
.monaco-editor .monaco-editor-overlaymessage.fadeIn {
	-webkit-animation: fadeIn 150ms ease-out;
	        animation: fadeIn 150ms ease-out;
}

@-webkit-keyframes fadeOut {
	from { opacity: 1; }
	to { opacity: 0; }
}

@keyframes fadeOut {
	from { opacity: 1; }
	to { opacity: 0; }
}
.monaco-editor .monaco-editor-overlaymessage.fadeOut {
	-webkit-animation: fadeOut 100ms ease-out;
	        animation: fadeOut 100ms ease-out;
}

.monaco-editor .monaco-editor-overlaymessage .message {
	padding: 2px 4px;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-inputValidation-infoBorder);
	border-radius: 3px;
}

.monaco-editor .monaco-editor-overlaymessage .message p {
	margin-block: 0px;
}

.monaco-editor .monaco-editor-overlaymessage .message a {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .monaco-editor-overlaymessage .message a:hover {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor.hc-black .monaco-editor-overlaymessage .message,
.monaco-editor.hc-light .monaco-editor-overlaymessage .message {
	border-width: 2px;
}

.monaco-editor .monaco-editor-overlaymessage .anchor {
	width: 0 !important;
	height: 0 !important;
	border-color: transparent;
	border-style: solid;
	z-index: 1000;
	border-width: 8px;
	position: absolute;
	left: 2px;
}

.monaco-editor .monaco-editor-overlaymessage .anchor.top {
	border-bottom-color: var(--vscode-inputValidation-infoBorder);
}

.monaco-editor .monaco-editor-overlaymessage .anchor.below {
	border-top-color: var(--vscode-inputValidation-infoBorder);
}

.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,
.monaco-editor .monaco-editor-overlaymessage.below .anchor.below {
	display: none;
}

.monaco-editor .monaco-editor-overlaymessage.below .anchor.top {
	display: inherit;
	top: -8px;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .native-edit-context {
	margin: 0;
	padding: 0;
	position: absolute;
	overflow-y: scroll;
	scrollbar-width: none;
	z-index: -10;
	white-space: pre-wrap;
}

.monaco-editor .ime-text-area {
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	position: absolute;
	outline: none !important;
	resize: none;
	border: none;
	overflow: hidden;
	color: transparent;
	background-color: transparent;
	z-index: -10;
}

.monaco-editor .edit-context-composition-none {
	background-color: transparent;
	border-bottom: none;
}

.monaco-editor :not(.hc-black, .hc-light) .edit-context-composition-secondary {
	border-bottom: 1px solid var(--vscode-editor-compositionBorder);
}

.monaco-editor :not(.hc-black, .hc-light) .edit-context-composition-primary {
	border-bottom: 2px solid var(--vscode-editor-compositionBorder);
}

.monaco-editor :is(.hc-black, .hc-light) .edit-context-composition-secondary {
	border: 1px solid var(--vscode-editor-compositionBorder);
}

.monaco-editor :is(.hc-black, .hc-light) .edit-context-composition-primary {
	border: 2px solid var(--vscode-editor-compositionBorder);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-text-button {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	padding: 4px;
	border-radius: 2px;
	text-align: center;
	cursor: pointer;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	border: 1px solid var(--vscode-button-border, transparent);
	line-height: 18px;
}

.monaco-text-button:focus {
	outline-offset: 2px !important;
}

.monaco-text-button:hover {
	text-decoration: none !important;
}

.monaco-button.disabled:focus,
.monaco-button.disabled {
	opacity: 0.4 !important;
	cursor: default;
}

.monaco-text-button .codicon {
	margin: 0 0.2em;
	color: inherit !important;
}

.monaco-text-button.monaco-text-button-with-short-label {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	padding: 0 4px;
	overflow: hidden;
	height: 28px;
}

.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label {
	-ms-flex-preferred-size: 100%;
	    flex-basis: 100%;
}

.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	width: 0;
	overflow: hidden;
}

.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label,
.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-weight: normal;
	font-style: inherit;
	padding: 4px 0;
}

.monaco-button-dropdown {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	cursor: pointer;
}

.monaco-button-dropdown.disabled {
	cursor: default;
}

.monaco-button-dropdown > .monaco-button:focus {
	outline-offset: -1px !important;
}

.monaco-button-dropdown.disabled > .monaco-button.disabled,
.monaco-button-dropdown.disabled > .monaco-button.disabled:focus,
.monaco-button-dropdown.disabled > .monaco-button-dropdown-separator {
	opacity: 0.4 !important;
}

.monaco-button-dropdown > .monaco-button.monaco-text-button {
	border-right-width: 0 !important;
}

.monaco-button-dropdown .monaco-button-dropdown-separator {
	padding: 4px 0;
	cursor: default;
}

.monaco-button-dropdown .monaco-button-dropdown-separator > div {
	height: 100%;
	width: 1px;
}

.monaco-button-dropdown > .monaco-button.monaco-dropdown-button {
	border: 1px solid var(--vscode-button-border, transparent);
	border-left-width: 0 !important;
	border-radius: 0 2px 2px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.monaco-button-dropdown > .monaco-button.monaco-text-button {
	border-radius: 2px 0 0 2px;
}

.monaco-description-button {
	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;
	margin: 4px 5px; /* allows button focus outline to be visible */
}

.monaco-description-button .monaco-button-description {
	font-style: italic;
	font-size: 11px;
	padding: 4px 20px;
}

.monaco-description-button .monaco-button-label,
.monaco-description-button .monaco-button-description {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.monaco-description-button .monaco-button-label > .codicon,
.monaco-description-button .monaco-button-description > .codicon {
	margin: 0 0.2em;
	color: inherit !important;
}

/* default color styles - based on CSS variables */

.monaco-button.default-colors,
.monaco-button-dropdown.default-colors > .monaco-button{
	color: var(--vscode-button-foreground);
	background-color: var(--vscode-button-background);
}

.monaco-button.default-colors:hover,
.monaco-button-dropdown.default-colors > .monaco-button:hover {
	background-color: var(--vscode-button-hoverBackground);
}

.monaco-button.default-colors.secondary,
.monaco-button-dropdown.default-colors > .monaco-button.secondary {
	color: var(--vscode-button-secondaryForeground);
	background-color: var(--vscode-button-secondaryBackground);
}

.monaco-button.default-colors.secondary:hover,
.monaco-button-dropdown.default-colors > .monaco-button.secondary:hover {
	background-color: var(--vscode-button-secondaryHoverBackground);
}

.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator {
	background-color: var(--vscode-button-background);
	border-top: 1px solid var(--vscode-button-border);
	border-bottom: 1px solid var(--vscode-button-border);
}

.monaco-button-dropdown.default-colors .monaco-button.secondary + .monaco-button-dropdown-separator {
	background-color: var(--vscode-button-secondaryBackground);
}

.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator > div {
	background-color: var(--vscode-button-separator);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-select-box {
	width: 100%;
	cursor: pointer;
	border-radius: 2px;
}

.monaco-select-box-dropdown-container {
	font-size: 13px;
	font-weight: normal;
	text-transform: none;
}

/** Actions */

.monaco-action-bar .action-item.select-container {
	cursor: default;
}

.monaco-action-bar .action-item .monaco-select-box {
	cursor: pointer;
	min-width: 100px;
	min-height: 18px;
	padding: 2px 23px 2px 8px;
}

.mac .monaco-action-bar .action-item .monaco-select-box {
	font-size: 11px;
	border-radius: 3px;
	min-height: 24px;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-list {
	position: relative;
	height: 100%;
	width: 100%;
	white-space: nowrap;
}

.monaco-list.mouse-support {
	-moz-user-select: none;
	 -ms-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
}

.monaco-list > .monaco-scrollable-element {
	height: 100%;
}

.monaco-list-rows {
	position: relative;
	width: 100%;
	height: 100%;
}

.monaco-list.horizontal-scrolling .monaco-list-rows {
	width: auto;
	min-width: 100%;
}

.monaco-list-row {
	position: absolute;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	overflow: hidden;
	width: 100%;
}

.monaco-list.mouse-support .monaco-list-row {
	cursor: pointer;
	-ms-touch-action: none;
	    touch-action: none;
}

/* Make sure the scrollbar renders above overlays (sticky scroll) */
.monaco-list .monaco-scrollable-element > .scrollbar.vertical,
.monaco-pane-view > .monaco-split-view2.vertical > .monaco-scrollable-element > .scrollbar.vertical {
	z-index: 14;
}

/* for OS X ballistic scrolling */
.monaco-list-row.scrolling {
	display: none !important;
}

/* Focus */
.monaco-list.element-focused,
.monaco-list.selection-single,
.monaco-list.selection-multiple {
	outline: 0 !important;
}

/* Filter */

.monaco-list-type-filter-message {
	position: absolute;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	padding: 40px 1em 1em 1em;
	text-align: center;
	white-space: normal;
	opacity: 0.7;
	pointer-events: none;
}

.monaco-list-type-filter-message:empty {
	display: none;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-drag-image {
	display: inline-block;
	padding: 1px 7px;
	border-radius: 10px;
	font-size: 12px;
	position: absolute;
	z-index: 1000;

	/* Default styles */
	background-color: var(--vscode-list-activeSelectionBackground);
	color: var(--vscode-list-activeSelectionForeground);
	outline: 1px solid var(--vscode-list-focusOutline);
	outline-offset: -1px;

	/*
	 * Browsers apply an effect to the drag image when the div becomes too
	 * large which makes them unreadable. Use max width so it does not happen
	 */
	max-width: 120px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Use custom CSS vars to expose padding into parent select for padding calculation */
.monaco-select-box-dropdown-padding {
	--dropdown-padding-top: 1px;
	--dropdown-padding-bottom: 1px;
}

.hc-black .monaco-select-box-dropdown-padding,
.hc-light .monaco-select-box-dropdown-padding {
	--dropdown-padding-top: 3px;
	--dropdown-padding-bottom: 4px;
}

.monaco-select-box-dropdown-container {
	display: none;
	-webkit-box-sizing:	border-box;
	        box-sizing:	border-box;
}

.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown * {
	margin: 0;
}

.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown a:focus {
	outline: 1px solid -webkit-focus-ring-color;
	outline-offset: -1px;
}

.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown code {
	line-height: 15px; /** For some reason, this is needed, otherwise <code> will take up 20px height */
	font-family: var(--monaco-monospace-font);
}


.monaco-select-box-dropdown-container.visible {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	text-align: left;
	width: 1px;
	overflow: hidden;
	border-bottom-left-radius: 3px;
	border-bottom-right-radius: 3px;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	-ms-flex-item-align: start;
	    align-self: flex-start;
	padding-top: var(--dropdown-padding-top);
	padding-bottom: var(--dropdown-padding-bottom);
	padding-left: 1px;
	padding-right: 1px;
	width: 100%;
	overflow: hidden;
	-webkit-box-sizing:	border-box;
	        box-sizing:	border-box;
}

.monaco-select-box-dropdown-container > .select-box-details-pane {
	padding: 5px;
}

.hc-black .monaco-select-box-dropdown-container > .select-box-dropdown-list-container {
	padding-top: var(--dropdown-padding-top);
	padding-bottom: var(--dropdown-padding-bottom);
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row {
	cursor: pointer;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-text {
	text-overflow: ellipsis;
	overflow: hidden;
	padding-left: 3.5px;
	white-space: nowrap;
	float: left;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-detail {
	text-overflow: ellipsis;
	overflow: hidden;
	padding-left: 3.5px;
	white-space: nowrap;
	float: left;
	opacity: 0.7;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-decorator-right {
	text-overflow: ellipsis;
	overflow: hidden;
	padding-right: 10px;
	white-space: nowrap;
	float: right;
}


/* Accepted CSS hiding technique for accessibility reader text  */
/* https://webaim.org/techniques/css/invisiblecontent/ */

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .visually-hidden {
		position: absolute;
		left: -10000px;
		top: auto;
		width: 1px;
		height: 1px;
		overflow: hidden;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
	-ms-flex-item-align: start;
	    align-self: flex-start;
	opacity: 0;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div {
	overflow: hidden;
	max-height: 0px;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div > .option-text-width-control {
	padding-left: 4px;
	padding-right: 8px;
	white-space: nowrap;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-action-bar {
	white-space: nowrap;
	height: 100%;
}

.monaco-action-bar .actions-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 auto;
	padding: 0;
	height: 100%;
	width: 100%;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.monaco-action-bar.vertical .actions-container {
	display: inline-block;
}

.monaco-action-bar .action-item {
	display: block;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	cursor: pointer;
	position: relative;  /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */
}

.monaco-action-bar .action-item.disabled {
	cursor: default;
}

.monaco-action-bar .action-item .icon,
.monaco-action-bar .action-item .codicon {
	display: block;
}

.monaco-action-bar .action-item .codicon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 16px;
	height: 16px;
}

.monaco-action-bar .action-label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 11px;
	padding: 3px;
	border-radius: 5px;
}

.monaco-action-bar .action-item.disabled .action-label:not(.icon) ,
.monaco-action-bar .action-item.disabled .action-label:not(.icon)::before,
.monaco-action-bar .action-item.disabled .action-label:not(.icon):hover {
	color: var(--vscode-disabledForeground);
}

/* Unable to change color of SVGs, hence opacity is used */
.monaco-action-bar .action-item.disabled .action-label.icon ,
.monaco-action-bar .action-item.disabled .action-label.icon::before,
.monaco-action-bar .action-item.disabled .action-label.icon:hover {
	opacity: 0.6;
}

/* Vertical actions */

.monaco-action-bar.vertical {
	text-align: left;
}

.monaco-action-bar.vertical .action-item {
	display: block;
}

.monaco-action-bar.vertical .action-label.separator {
	display: block;
	border-bottom: 1px solid var(--vscode-disabledForeground);
	padding-top: 1px;
	margin-left: .8em;
	margin-right: .8em;
}

.monaco-action-bar .action-item .action-label.separator {
	width: 1px;
	height: 16px;
	margin: 5px 4px !important;
	cursor: default;
	min-width: 1px;
	padding: 0;
	background-color: var(--vscode-disabledForeground);
}

.secondary-actions .monaco-action-bar .action-label {
	margin-left: 6px;
}

/* Action Items */
.monaco-action-bar .action-item.select-container {
	overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	max-width: 170px;
	min-width: 60px;
	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;
	margin-right: 10px;
}

.monaco-action-bar .action-item.action-dropdown-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	cursor: default;
}

.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator > div {
	width: 1px;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .margin-view-overlays .gpu-mark {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	display: inline-block;
	border-left: solid 2px var(--vscode-editorWarning-foreground);
	opacity: 0.2;
	-webkit-transition: background-color 0.1s linear;
	transition: background-color 0.1s linear;
}

.monaco-editor .margin-view-overlays .gpu-mark:hover {
	background-color: var(--vscode-editorWarning-foreground)
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.action-widget {
	font-size: 13px;
	border-radius: 0;
	min-width: 100px;
	max-width: 80vw;
	z-index: 40;
	display: block;
	width: 100%;
	border: 1px solid var(--vscode-menu-border) !important;
	border-radius: 5px;
	background-color: var(--vscode-menu-background);
	color: var(--vscode-menu-foreground);
	padding: 4px;
	-webkit-box-shadow: 0 2px 8px var(--vscode-widget-shadow);
	        box-shadow: 0 2px 8px var(--vscode-widget-shadow);
}

.context-view-block {
	position: fixed;
	cursor: initial;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.context-view-pointerBlock {
	position: fixed;
	cursor: initial;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.action-widget .monaco-list {
	-moz-user-select: none;
	 -ms-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
	border: none !important;
	border-width: 0 !important;
}

.action-widget .monaco-list:focus:before {
	outline: 0 !important;
}

.action-widget .monaco-list .monaco-scrollable-element {
	overflow: visible;
}

/** Styles for each row in the list element **/
.action-widget .monaco-list .monaco-list-row {
	padding: 0 4px 0 4px;
	white-space: nowrap;
	cursor: pointer;
	-ms-touch-action: none;
	    touch-action: none;
	width: 100%;
	border-radius: 3px;
}

.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled) {
	background-color: var(--vscode-list-activeSelectionBackground) !important;
	color: var(--vscode-list-activeSelectionForeground);
	outline: 1px solid var(--vscode-menu-selectionBorder, transparent);
	outline-offset: -1px;
}

.action-widget .monaco-list-row.group-header {
	color: var(--vscode-descriptionForeground) !important;
	font-weight: 600;
	font-size: 13px;
}

.action-widget .monaco-list-row.group-header:not(:first-of-type) {
	margin-top: 2px;
}

.action-widget .monaco-scrollable-element .monaco-list-rows .monaco-list-row.separator {
	border-top: 1px solid var(--vscode-editorHoverWidget-border);
	color: var(--vscode-descriptionForeground);
	font-size: 12px;
	padding: 0;
	margin: 4px 0 0 0;
	cursor: default;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	border-radius: 0;
}

.action-widget .monaco-scrollable-element .monaco-list-rows .monaco-list-row.separator.focused {
	outline: 0 solid;
	background-color: transparent;
	border-radius: 0;
}

.action-widget .monaco-list-row.separator:first-of-type {
	border-top: none;
	margin-top: 0;
}

.action-widget .monaco-list .group-header,
.action-widget .monaco-list .option-disabled,
.action-widget .monaco-list .option-disabled:before,
.action-widget .monaco-list .option-disabled .focused,
.action-widget .monaco-list .option-disabled .focused:before {
	cursor: default !important;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	 -ms-user-select: none;
	     user-select: none;
	background-color: transparent !important;
	outline: 0 solid !important;
}

.action-widget .monaco-list-row.action {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 4px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.action-widget .monaco-list-row.action.option-disabled,
.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,
.action-widget .monaco-list-row.action.option-disabled .codicon,
.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled {
	color: var(--vscode-disabledForeground);
}


.action-widget .monaco-list-row.action:not(.option-disabled) .codicon {
	color: inherit;
}

.action-widget .monaco-list-row.action .title {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
}

.action-widget .monaco-list-row.action .monaco-keybinding > .monaco-keybinding-key {
		background-color: var(--vscode-keybindingLabel-background);
		color: var(--vscode-keybindingLabel-foreground);
		border-style: solid;
		border-width: 1px;
		border-radius: 3px;
		border-color: var(--vscode-keybindingLabel-border);
		border-bottom-color: var(--vscode-keybindingLabel-bottomBorder);
		-webkit-box-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);
		        box-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);
}

/* Action bar */

.action-widget .action-widget-action-bar {
	background-color: var(--vscode-menu-background);
	border-top: 1px solid var(--vscode-menu-border);
	margin-top: 2px;
}

.action-widget .action-widget-action-bar::before {
	display: block;
	content: "";
	width: 100%;
}

.action-widget .action-widget-action-bar .actions-container {
	padding: 4px 8px 2px 24px;
}

.action-widget-action-bar .action-label {
	color: var(--vscode-textLink-activeForeground);
	font-size: 13px;
	line-height: 22px;
	padding: 0;
	pointer-events: all;
}

.action-widget-action-bar .action-item {
	margin-right: 16px;
	pointer-events: none;
}

.action-widget-action-bar .action-label:hover {
	background-color: transparent !important;
}

.monaco-action-bar .actions-container.highlight-toggled .action-label.checked {
	/* The important gives this rule precedence over the hover rule. */
	background: var(--vscode-actionBar-toggledBackground) !important;
}

.action-widget .monaco-list .monaco-list-row .description {
	opacity: 0.7;
	margin-left: 0.5em;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-keybinding {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	line-height: 10px;
}

.monaco-keybinding > .monaco-keybinding-key {
	display: inline-block;
	border-style: solid;
	border-width: 1px;
	border-radius: 3px;
	vertical-align: middle;
	font-size: 11px;
	padding: 3px 5px;
	margin: 0 2px;
}

.monaco-keybinding > .monaco-keybinding-key:first-child {
	margin-left: 0;
}

.monaco-keybinding > .monaco-keybinding-key:last-child {
	margin-right: 0;
}

.monaco-keybinding > .monaco-keybinding-key-separator {
	display: inline-block;
}

.monaco-keybinding > .monaco-keybinding-key-chord-separator {
	width: 6px;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.post-edit-widget {
	-webkit-box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
	        box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
	border: 1px solid var(--vscode-widget-border, transparent);
	border-radius: 4px;
	color: var(--vscode-button-foreground);
	background-color: var(--vscode-button-background);
	overflow: hidden;
}

.post-edit-widget .monaco-button {
	padding: 2px;
	border: none;
	border-radius: 0;
}

.post-edit-widget .monaco-button:hover {
	background-color: var(--vscode-button-hoverBackground) !important;
}

.post-edit-widget .monaco-button .codicon {
	margin: 0;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

@font-face {
	font-family: "codicon";
	font-display: block;
	src: url(/static/codicon-4c354c82c52ca6cc254386118520f3cd.ttf) format("truetype");
}

.codicon[class*='codicon-'] {
	font: normal normal normal 16px/1 codicon;
	display: inline-block;
	text-decoration: none;
	text-rendering: auto;
	text-align: center;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-moz-user-select: none;
	 -ms-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
}

/* icon rules are dynamically created by the platform theme service (see iconsStyleSheet.ts) */

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.codicon-wrench-subaction {
	opacity: 0.5;
}

@-webkit-keyframes codicon-spin {
	100% {
		-webkit-transform:rotate(360deg);
		        transform:rotate(360deg);
	}
}

@keyframes codicon-spin {
	100% {
		-webkit-transform:rotate(360deg);
		        transform:rotate(360deg);
	}
}

.codicon-sync.codicon-modifier-spin,
.codicon-loading.codicon-modifier-spin,
.codicon-gear.codicon-modifier-spin,
.codicon-notebook-state-executing.codicon-modifier-spin {
	/* Use steps to throttle FPS to reduce CPU usage */
	-webkit-animation: codicon-spin 1.5s steps(30) infinite;
	        animation: codicon-spin 1.5s steps(30) infinite;
}

.codicon-modifier-disabled {
	opacity: 0.4;
}

/* custom speed & easing for loading icon */
.codicon-loading,
.codicon-tree-item-loading::before {
	-webkit-animation-duration: 1s !important;
	        animation-duration: 1s !important;
	-webkit-animation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;
	        animation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* stylelint-disable layer-checker */

.monaco-editor .codicon.codicon-symbol-array,
.monaco-workbench .codicon.codicon-symbol-array { color: var(--vscode-symbolIcon-arrayForeground); }
.monaco-editor .codicon.codicon-symbol-boolean,
.monaco-workbench .codicon.codicon-symbol-boolean { color: var(--vscode-symbolIcon-booleanForeground); }
.monaco-editor .codicon.codicon-symbol-class,
.monaco-workbench .codicon.codicon-symbol-class { color: var(--vscode-symbolIcon-classForeground); }
.monaco-editor .codicon.codicon-symbol-method,
.monaco-workbench .codicon.codicon-symbol-method { color: var(--vscode-symbolIcon-methodForeground); }
.monaco-editor .codicon.codicon-symbol-color,
.monaco-workbench .codicon.codicon-symbol-color { color: var(--vscode-symbolIcon-colorForeground); }
.monaco-editor .codicon.codicon-symbol-constant,
.monaco-workbench .codicon.codicon-symbol-constant { color: var(--vscode-symbolIcon-constantForeground); }
.monaco-editor .codicon.codicon-symbol-constructor,
.monaco-workbench .codicon.codicon-symbol-constructor { color: var(--vscode-symbolIcon-constructorForeground); }
.monaco-editor .codicon.codicon-symbol-value,
.monaco-workbench .codicon.codicon-symbol-value,
.monaco-editor .codicon.codicon-symbol-enum,
.monaco-workbench .codicon.codicon-symbol-enum { color: var(--vscode-symbolIcon-enumeratorForeground); }
.monaco-editor .codicon.codicon-symbol-enum-member,
.monaco-workbench .codicon.codicon-symbol-enum-member { color: var(--vscode-symbolIcon-enumeratorMemberForeground); }
.monaco-editor .codicon.codicon-symbol-event,
.monaco-workbench .codicon.codicon-symbol-event { color: var(--vscode-symbolIcon-eventForeground); }
.monaco-editor .codicon.codicon-symbol-field,
.monaco-workbench .codicon.codicon-symbol-field { color: var(--vscode-symbolIcon-fieldForeground); }
.monaco-editor .codicon.codicon-symbol-file,
.monaco-workbench .codicon.codicon-symbol-file { color: var(--vscode-symbolIcon-fileForeground); }
.monaco-editor .codicon.codicon-symbol-folder,
.monaco-workbench .codicon.codicon-symbol-folder { color: var(--vscode-symbolIcon-folderForeground); }
.monaco-editor .codicon.codicon-symbol-function,
.monaco-workbench .codicon.codicon-symbol-function { color: var(--vscode-symbolIcon-functionForeground); }
.monaco-editor .codicon.codicon-symbol-interface,
.monaco-workbench .codicon.codicon-symbol-interface { color: var(--vscode-symbolIcon-interfaceForeground); }
.monaco-editor .codicon.codicon-symbol-key,
.monaco-workbench .codicon.codicon-symbol-key { color: var(--vscode-symbolIcon-keyForeground); }
.monaco-editor .codicon.codicon-symbol-keyword,
.monaco-workbench .codicon.codicon-symbol-keyword { color: var(--vscode-symbolIcon-keywordForeground); }
.monaco-editor .codicon.codicon-symbol-module,
.monaco-workbench .codicon.codicon-symbol-module { color: var(--vscode-symbolIcon-moduleForeground); }
.monaco-editor .codicon.codicon-symbol-namespace,
.monaco-workbench .codicon.codicon-symbol-namespace { color: var(--vscode-symbolIcon-namespaceForeground); }
.monaco-editor .codicon.codicon-symbol-null,
.monaco-workbench .codicon.codicon-symbol-null { color: var(--vscode-symbolIcon-nullForeground); }
.monaco-editor .codicon.codicon-symbol-number,
.monaco-workbench .codicon.codicon-symbol-number { color: var(--vscode-symbolIcon-numberForeground); }
.monaco-editor .codicon.codicon-symbol-object,
.monaco-workbench .codicon.codicon-symbol-object { color: var(--vscode-symbolIcon-objectForeground); }
.monaco-editor .codicon.codicon-symbol-operator,
.monaco-workbench .codicon.codicon-symbol-operator { color: var(--vscode-symbolIcon-operatorForeground); }
.monaco-editor .codicon.codicon-symbol-package,
.monaco-workbench .codicon.codicon-symbol-package { color: var(--vscode-symbolIcon-packageForeground); }
.monaco-editor .codicon.codicon-symbol-property,
.monaco-workbench .codicon.codicon-symbol-property { color: var(--vscode-symbolIcon-propertyForeground); }
.monaco-editor .codicon.codicon-symbol-reference,
.monaco-workbench .codicon.codicon-symbol-reference { color: var(--vscode-symbolIcon-referenceForeground); }
.monaco-editor .codicon.codicon-symbol-snippet,
.monaco-workbench .codicon.codicon-symbol-snippet { color: var(--vscode-symbolIcon-snippetForeground); }
.monaco-editor .codicon.codicon-symbol-string,
.monaco-workbench .codicon.codicon-symbol-string { color: var(--vscode-symbolIcon-stringForeground); }
.monaco-editor .codicon.codicon-symbol-struct,
.monaco-workbench .codicon.codicon-symbol-struct { color: var(--vscode-symbolIcon-structForeground); }
.monaco-editor .codicon.codicon-symbol-text,
.monaco-workbench .codicon.codicon-symbol-text { color: var(--vscode-symbolIcon-textForeground); }
.monaco-editor .codicon.codicon-symbol-type-parameter,
.monaco-workbench .codicon.codicon-symbol-type-parameter { color: var(--vscode-symbolIcon-typeParameterForeground); }
.monaco-editor .codicon.codicon-symbol-unit,
.monaco-workbench .codicon.codicon-symbol-unit { color: var(--vscode-symbolIcon-unitForeground); }
.monaco-editor .codicon.codicon-symbol-variable,
.monaco-workbench .codicon.codicon-symbol-variable { color: var(--vscode-symbolIcon-variableForeground); }

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .lightBulbWidget {
	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;
}

.monaco-editor .lightBulbWidget:hover{
	cursor: pointer;
}

.monaco-editor .lightBulbWidget.codicon-light-bulb,
.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle {
	color: var(--vscode-editorLightBulb-foreground);
}

.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,
.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix {
	color: var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground));
}

.monaco-editor .lightBulbWidget.codicon-sparkle-filled {
	color: var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground));
}

.monaco-editor .lightBulbWidget:before {
	position: relative;
	z-index: 2;
}

.monaco-editor .lightBulbWidget:after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0.3;
	z-index: 1;
}

/* gutter decoration */
.monaco-editor .glyph-margin-widgets .cgmr[class*="codicon-gutter-lightbulb"] {
	display: block;
	cursor: pointer;
}

.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb,
.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle {
	color: var(--vscode-editorLightBulb-foreground);
}

.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-auto-fix,
.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-aifix-auto-fix {
	color: var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground));
}

.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle-filled {
	color: var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground));
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .codelens-decoration {
	overflow: hidden;
	display: -webkit-inline-box !important;
	display: -ms-inline-flexbox !important;
	display: inline-flex !important; /* !important to override inline display:block style */
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--vscode-editorCodeLens-foreground);
	line-height: var(--vscode-editorCodeLens-lineHeight);
	font-size: var(--vscode-editorCodeLens-fontSize);
	padding-right: calc(var(--vscode-editorCodeLens-fontSize)*0.5);
	-webkit-font-feature-settings: var(--vscode-editorCodeLens-fontFeatureSettings);
	        font-feature-settings: var(--vscode-editorCodeLens-fontFeatureSettings);
	font-family: var(--vscode-editorCodeLens-fontFamily), var(--vscode-editorCodeLens-fontFamilyDefault);
}

.monaco-editor .codelens-decoration > span,
.monaco-editor .codelens-decoration > a {
	-moz-user-select: none;
	 -ms-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
	white-space: nowrap;
	vertical-align: sub;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.monaco-editor .codelens-decoration > a {
	text-decoration: none;
}

.monaco-editor .codelens-decoration > a:hover {
	cursor: pointer;
	color: var(--vscode-editorLink-activeForeground) !important;
}

.monaco-editor .codelens-decoration > a:hover .codicon {
	color: var(--vscode-editorLink-activeForeground) !important;
}

.monaco-editor .codelens-decoration .codicon[class*='codicon-'] {
	vertical-align: middle;
	color: currentColor !important;
	color: var(--vscode-editorCodeLens-foreground);
	line-height: var(--vscode-editorCodeLens-lineHeight);
	font-size: var(--vscode-editorCodeLens-fontSize);
}


.monaco-editor .codelens-decoration > a:hover .codicon::before {
	cursor: pointer;
}

@-webkit-keyframes fadein {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

@keyframes fadein {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

.monaco-editor .codelens-decoration.fadein {
	-webkit-animation: fadein 0.1s linear;
	        animation: fadein 0.1s linear;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-dropdown {
	height: 100%;
	padding: 0;
}

.monaco-dropdown > .dropdown-label {
	cursor: pointer;
	height: 100%;
	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;
}

.monaco-dropdown > .dropdown-label > .action-label.disabled {
	cursor: default;
}

.monaco-dropdown-with-primary {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	border-radius: 5px;
}

.monaco-dropdown-with-primary > .action-container > .action-label {
	margin-right: 0;
}

.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {
	font-size: 12px;
	padding-left: 0px;
	padding-right: 0px;
	line-height: 16px;
	margin-left: -3px;
}

.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {
	display: block;
	background-size: 16px;
	background-position: center center;
	background-repeat: no-repeat;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-action-bar .action-item.menu-entry .action-label.icon {
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: 16px;
}

.monaco-action-bar .action-item.menu-entry.text-only .action-label {
	color: var(--vscode-descriptionForeground);
	overflow: hidden;
	border-radius: 2px;
}

.monaco-action-bar .action-item.menu-entry.text-only.use-comma:not(:last-of-type) .action-label::after {
	content: ', ';
}

.monaco-action-bar .action-item.menu-entry.text-only + .action-item:not(.text-only) > .monaco-dropdown .action-label {
	color: var(--vscode-descriptionForeground);
}

.monaco-dropdown-with-default {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	border-radius: 5px;
}

.monaco-dropdown-with-default > .action-container > .action-label {
	margin-right: 0;
}

.monaco-dropdown-with-default > .action-container.menu-entry > .action-label.icon {
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: 16px;
}

.monaco-dropdown-with-default:hover {
	background-color: var(--vscode-toolbar-hoverBackground);
}

.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {
	font-size: 12px;
	padding-left: 0px;
	padding-right: 0px;
	line-height: 16px;
	margin-left: -3px;
}

.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {
	display: block;
	background-size: 16px;
	background-position: center center;
	background-repeat: no-repeat;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-toolbar {
	height: 100%;
}

.monaco-toolbar .toolbar-toggle-more {
	display: inline-block;
	padding: 0;
}

.monaco-toolbar.responsive {
	.monaco-action-bar > .actions-container > .action-item {
		-ms-flex-negative: 1;
		    flex-shrink: 1;
		min-width: 20px;
	}
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .inlineSuggestionsHints {
	padding: 4px;

	.warningMessage p {
		margin: 0;
	}
}

.monaco-editor .inlineSuggestionsHints.withBorder {
	z-index: 39;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
}

.monaco-editor .inlineSuggestionsHints a {
	color: var(--vscode-foreground) !important;
}

.monaco-editor .inlineSuggestionsHints a:hover {
	color: var(--vscode-foreground) !important;
}

.monaco-editor .inlineSuggestionsHints .keybinding {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: 4px;
	opacity: 0.6;
}

.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key {
	font-size: 8px;
	padding: 2px 3px;
}

.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	min-width: 19px;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.monaco-editor .inlineSuggestionStatusBarItemLabel {
	margin-right: 2px;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

:root {
	--vscode-sash-size: 4px;
	--vscode-sash-hover-size: 4px;
}

.monaco-sash {
	position: absolute;
	z-index: 35;
	-ms-touch-action: none;
	    touch-action: none;
}

.monaco-sash.disabled {
	pointer-events: none;
}

.monaco-sash.mac.vertical {
	cursor: col-resize;
}

.monaco-sash.vertical.minimum {
	cursor: e-resize;
}

.monaco-sash.vertical.maximum {
	cursor: w-resize;
}

.monaco-sash.mac.horizontal {
	cursor: row-resize;
}

.monaco-sash.horizontal.minimum {
	cursor: s-resize;
}

.monaco-sash.horizontal.maximum {
	cursor: n-resize;
}

.monaco-sash.disabled {
	cursor: default !important;
	pointer-events: none !important;
}

.monaco-sash.vertical {
	cursor: ew-resize;
	top: 0;
	width: var(--vscode-sash-size);
	height: 100%;
}

.monaco-sash.horizontal {
	cursor: ns-resize;
	left: 0;
	width: 100%;
	height: var(--vscode-sash-size);
}

.monaco-sash:not(.disabled) > .orthogonal-drag-handle {
	content: " ";
	height: calc(var(--vscode-sash-size) * 2);
	width: calc(var(--vscode-sash-size) * 2);
	z-index: 100;
	display: block;
	cursor: all-scroll;
	position: absolute;
}

.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)
	> .orthogonal-drag-handle.start,
.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)
	> .orthogonal-drag-handle.end {
	cursor: nwse-resize;
}

.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)
	> .orthogonal-drag-handle.end,
.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)
	> .orthogonal-drag-handle.start {
	cursor: nesw-resize;
}

.monaco-sash.vertical > .orthogonal-drag-handle.start {
	left: calc(var(--vscode-sash-size) * -0.5);
	top: calc(var(--vscode-sash-size) * -1);
}
.monaco-sash.vertical > .orthogonal-drag-handle.end {
	left: calc(var(--vscode-sash-size) * -0.5);
	bottom: calc(var(--vscode-sash-size) * -1);
}
.monaco-sash.horizontal > .orthogonal-drag-handle.start {
	top: calc(var(--vscode-sash-size) * -0.5);
	left: calc(var(--vscode-sash-size) * -1);
}
.monaco-sash.horizontal > .orthogonal-drag-handle.end {
	top: calc(var(--vscode-sash-size) * -0.5);
	right: calc(var(--vscode-sash-size) * -1);
}

.monaco-sash:before {
	content: '';
	pointer-events: none;
	position: absolute;
	width: 100%;
	height: 100%;
	background: transparent;
}

.monaco-enable-motion .monaco-sash:before {
	-webkit-transition: background-color 0.1s ease-out;
	transition: background-color 0.1s ease-out;
}

.monaco-sash.hover:before,
.monaco-sash.active:before {
	background: var(--vscode-sash-hoverBorder);
}

.monaco-sash.vertical:before {
	width: var(--vscode-sash-hover-size);
	left: calc(50% - (var(--vscode-sash-hover-size) / 2));
}

.monaco-sash.horizontal:before {
	height: var(--vscode-sash-hover-size);
	top: calc(50% - (var(--vscode-sash-hover-size) / 2));
}

.pointer-events-disabled {
	pointer-events: none !important;
}

/** Debug **/

.monaco-sash.debug {
	background: cyan;
}

.monaco-sash.debug.disabled {
	background: rgba(0, 255, 255, 0.2);
}

.monaco-sash.debug:not(.disabled) > .orthogonal-drag-handle {
	background: red;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-hover {
	cursor: default;
	position: absolute;
	overflow: hidden;
	-moz-user-select: text;
	 -ms-user-select: text;
	     user-select: text;
	-webkit-user-select: text;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	line-height: 1.5em;
	white-space: var(--vscode-hover-whiteSpace, normal);
}

.monaco-hover.fade-in {
	-webkit-animation: fadein 100ms linear;
	        animation: fadein 100ms linear;
}

.monaco-hover.hidden {
	display: none;
}

.monaco-hover a:hover:not(.disabled) {
	cursor: pointer;
}

.monaco-hover .hover-contents:not(.html-hover-contents) {
	padding: 4px 8px;
}

.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) {
	max-width: var(--vscode-hover-maxWidth, 500px);
	word-wrap: break-word;
}

.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) hr {
	min-width: 100%;
}

.monaco-hover p,
.monaco-hover .code,
.monaco-hover ul,
.monaco-hover h1,
.monaco-hover h2,
.monaco-hover h3,
.monaco-hover h4,
.monaco-hover h5,
.monaco-hover h6 {
	margin: 8px 0;
}

.monaco-hover h1,
.monaco-hover h2,
.monaco-hover h3,
.monaco-hover h4,
.monaco-hover h5,
.monaco-hover h6 {
	line-height: 1.1;
}

.monaco-hover code {
	font-family: var(--monaco-monospace-font);
}

.monaco-hover hr {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-left: 0px;
	border-right: 0px;
	margin-top: 4px;
	margin-bottom: -4px;
	margin-left: -8px;
	margin-right: -8px;
	height: 1px;
}

.monaco-hover p:first-child,
.monaco-hover .code:first-child,
.monaco-hover ul:first-child {
	margin-top: 0;
}

.monaco-hover p:last-child,
.monaco-hover .code:last-child,
.monaco-hover ul:last-child {
	margin-bottom: 0;
}

/* MarkupContent Layout */
.monaco-hover ul {
	padding-left: 20px;
}
.monaco-hover ol {
	padding-left: 20px;
}

.monaco-hover li > p {
	margin-bottom: 0;
}

.monaco-hover li > ul {
	margin-top: 0;
}

.monaco-hover code {
	border-radius: 3px;
	padding: 0 0.4em;
}

.monaco-hover .monaco-tokenized-source {
	white-space: var(--vscode-hover-sourceWhiteSpace, pre-wrap);
}

.monaco-hover .hover-row.status-bar {
	font-size: 12px;
	line-height: 22px;
}

.monaco-hover .hover-row.status-bar .info {
	font-style: italic;
	padding: 0px 8px;
}

.monaco-hover .hover-row.status-bar .actions {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0px 8px;
	width: 100%;
}

.monaco-hover .hover-row.status-bar .actions .action-container {
	margin-right: 16px;
	cursor: pointer;
	overflow: hidden;
	text-wrap: nowrap;
	text-overflow: ellipsis;
}

.monaco-hover .hover-row.status-bar .actions .action-container .action .icon {
	padding-right: 4px;
	vertical-align: middle;
}

.monaco-hover .hover-row.status-bar .actions .action-container a {
	color: var(--vscode-textLink-foreground);
	text-decoration: var(--text-link-decoration);
}

.monaco-hover .hover-row.status-bar .actions .action-container a .icon.codicon {
	color: var(--vscode-textLink-foreground);
}

.monaco-hover .markdown-hover .hover-contents .codicon {
	color: inherit;
	font-size: inherit;
	vertical-align: middle;
}

.monaco-hover .hover-contents a.code-link:hover,
.monaco-hover .hover-contents a.code-link {
	color: inherit;
}

.monaco-hover .hover-contents a.code-link:before {
	content: '(';
}

.monaco-hover .hover-contents a.code-link:after {
	content: ')';
}

.monaco-hover .hover-contents a.code-link > span {
	text-decoration: underline;
	/** Hack to force underline to show **/
	border-bottom: 1px solid transparent;
	text-underline-position: under;
	color: var(--vscode-textLink-foreground);
}

.monaco-hover .hover-contents a.code-link > span:hover {
	color: var(--vscode-textLink-activeForeground);
}

/**
 * Spans in markdown hovers need a margin-bottom to avoid looking cramped:
 * https://github.com/microsoft/vscode/issues/101496

 * This was later refined to only apply when the last child of a rendered markdown block (before the
 * border or a `hr`) uses background color:
 * https://github.com/microsoft/vscode/issues/228136
 */
.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) p:last-child [style*="background-color"] {
	margin-bottom: 4px;
	display: inline-block;
}

/**
 * Add a slight margin to try vertically align codicons with any text
 * https://github.com/microsoft/vscode/issues/221359
 */
.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span.codicon {
	margin-bottom: 2px;
}

.monaco-hover-content .action-container a {
	-webkit-user-select: none;
	-moz-user-select: none;
	 -ms-user-select: none;
	     user-select: none;
}

.monaco-hover-content .action-container.disabled {
	pointer-events: none;
	opacity: 0.4;
	cursor: default;
}

/* Prevent text selection in all button-like elements within hovers */
.monaco-hover .action-container,
.monaco-hover .action,
.monaco-hover button,
.monaco-hover .monaco-button,
.monaco-hover .monaco-text-button,
.monaco-hover [role="button"] {
	-webkit-user-select: none;
	-moz-user-select: none;
	 -ms-user-select: none;
	     user-select: none;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-custom-toggle {
	margin-left: 2px;
	float: left;
	cursor: pointer;
	overflow: hidden;
	width: 20px;
	height: 20px;
	border-radius: 3px;
	border: 1px solid transparent;
	padding: 1px;
	-webkit-box-sizing:	border-box;
	        box-sizing:	border-box;
	-moz-user-select: none;
	 -ms-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
}

.monaco-custom-toggle:hover {
	background-color: var(--vscode-inputOption-hoverBackground);
}

.hc-black .monaco-custom-toggle:hover,
.hc-light .monaco-custom-toggle:hover {
	border: 1px dashed var(--vscode-focusBorder);
}

.hc-black .monaco-custom-toggle,
.hc-light .monaco-custom-toggle {
	background: none;
}

.hc-black .monaco-custom-toggle:hover,
.hc-light .monaco-custom-toggle:hover {
	background: none;
}

.monaco-custom-toggle.monaco-checkbox {
	height: 18px;
	width: 18px;
	border: 1px solid transparent;
	border-radius: 3px;
	margin-right: 9px;
	margin-left: 0px;
	padding: 0px;
	opacity: 1;
	background-size: 16px !important;
}

.monaco-action-bar .checkbox-action-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	border-radius: 2px;
	padding-right: 2px;
}

.monaco-action-bar .checkbox-action-item:hover {
	background-color: var(--vscode-toolbar-hoverBackground);
}

.monaco-action-bar .checkbox-action-item > .monaco-custom-toggle.monaco-checkbox {
	margin-right: 4px;
}

.monaco-action-bar .checkbox-action-item > .checkbox-label {
	font-size: 12px;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Find widget */
.monaco-editor .find-widget {
	position: absolute;
	z-index: 35;
	height: 33px;
	overflow: hidden;
	line-height: 19px;
	-webkit-transition: -webkit-transform 200ms linear;
	transition: -webkit-transform 200ms linear;
	transition: transform 200ms linear;
	transition: transform 200ms linear, -webkit-transform 200ms linear;
	padding: 0 4px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-transform: translateY(calc(-100% - 10px));
	        transform: translateY(calc(-100% - 10px)); /* shadow (10px) */
	-webkit-box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
	        box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
	color: var(--vscode-editorWidget-foreground);
	border-left: 1px solid var(--vscode-widget-border);
	border-right: 1px solid var(--vscode-widget-border);
	border-bottom: 1px solid var(--vscode-widget-border);
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	background-color: var(--vscode-editorWidget-background);
}

.monaco-reduce-motion .monaco-editor .find-widget {
	-webkit-transition: -webkit-transform 0ms linear;
	transition: -webkit-transform 0ms linear;
	transition: transform 0ms linear;
	transition: transform 0ms linear, -webkit-transform 0ms linear;
}

.monaco-editor .find-widget textarea {
	margin: 0px;
}

.monaco-editor .find-widget.hiddenEditor {
	display: none;
}

/* Find widget when replace is toggled on */
.monaco-editor .find-widget.replaceToggled > .replace-part {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.monaco-editor .find-widget.visible {
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

/* This outline-color rule is used to override the outline color for synthetic-focus find input. */
.monaco-editor .find-widget .monaco-inputbox.synthetic-focus {
	outline: 1px solid -webkit-focus-ring-color;
	outline-offset: -1px;
	outline-color: var(--vscode-focusBorder);
}

.monaco-editor .find-widget .monaco-inputbox .input {
	background-color: transparent;
	min-height: 0;
}

.monaco-editor .find-widget .monaco-findInput .input {
	font-size: 13px;
}

.monaco-editor .find-widget > .find-part,
.monaco-editor .find-widget > .replace-part {
	margin: 3px 25px 0 17px;
	font-size: 12px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.monaco-editor .find-widget > .find-part .monaco-inputbox,
.monaco-editor .find-widget > .replace-part .monaco-inputbox {
	min-height: 25px;
}


.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {
	padding-right: 22px;
}

.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .input,
.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .mirror,
.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .input,
.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {
	padding-top: 2px;
	padding-bottom: 2px;
}

.monaco-editor .find-widget > .find-part .find-actions {
	height: 25px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.monaco-editor .find-widget > .replace-part .replace-actions {
	height: 25px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.monaco-editor .find-widget .monaco-findInput {
	vertical-align: middle;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element {
	/* Make sure textarea inherits the width correctly */
	width: 100%;
}

.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical {
	/* Hide vertical scrollbar */
	opacity: 0;
}

.monaco-editor .find-widget .matchesCount {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: initial;
	    -ms-flex: initial;
	        flex: initial;
	margin: 0 0 0 3px;
	padding: 2px 0 0 2px;
	height: 25px;
	vertical-align: middle;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	text-align: center;
	line-height: 23px;
}

.monaco-editor .find-widget .button {
	width: 16px;
	height: 16px;
	padding: 3px;
	border-radius: 5px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: initial;
	    -ms-flex: initial;
	        flex: initial;
	margin-left: 3px;
	background-position: center center;
	background-repeat: no-repeat;
	cursor: pointer;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

/* find in selection button */
.monaco-editor .find-widget .codicon-find-selection {
	width: 22px;
	height: 22px;
	padding: 3px;
	border-radius: 5px;
}

.monaco-editor .find-widget .button.left {
	margin-left: 0;
	margin-right: 3px;
}

.monaco-editor .find-widget .button.wide {
	width: auto;
	padding: 1px 6px;
	top: -1px;
}

.monaco-editor .find-widget .button.toggle {
	position: absolute;
	top: 0;
	left: 3px;
	width: 18px;
	height: 100%;
	border-radius: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

.monaco-editor .find-widget .button.toggle.disabled {
	display: none;
}

.monaco-editor .find-widget .disabled {
	color: var(--vscode-disabledForeground);
	cursor: default;
}

.monaco-editor .find-widget > .replace-part {
	display: none;
}

.monaco-editor .find-widget > .replace-part > .monaco-findInput {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	vertical-align: middle;
	-webkit-box-flex: 1;
	    -ms-flex: auto;
	        flex: auto;
	-webkit-box-flex: 0;
	    -ms-flex-positive: 0;
	        flex-grow: 0;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

.monaco-editor .find-widget > .replace-part > .monaco-findInput > .controls {
	position: absolute;
	top: 3px;
	right: 2px;
}

/* REDUCED */
.monaco-editor .find-widget.reduced-find-widget .matchesCount {
	display: none;
}

/* NARROW (SMALLER THAN REDUCED) */
.monaco-editor .find-widget.narrow-find-widget {
	max-width: 257px !important;
}

/* COLLAPSED (SMALLER THAN NARROW) */
.monaco-editor .find-widget.collapsed-find-widget {
	max-width: 170px !important;
}

.monaco-editor .find-widget.collapsed-find-widget .button.previous,
.monaco-editor .find-widget.collapsed-find-widget .button.next,
.monaco-editor .find-widget.collapsed-find-widget .button.replace,
.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,
.monaco-editor .find-widget.collapsed-find-widget > .find-part .monaco-findInput .controls {
	display: none;
}

.monaco-editor .find-widget.no-results .matchesCount {
	color: var(--vscode-errorForeground);
}

.monaco-editor .findMatch {
	-webkit-animation-duration: 0;
	        animation-duration: 0;
	-webkit-animation-name: inherit !important;
	        animation-name: inherit !important;
	background-color: var(--vscode-editor-findMatchHighlightBackground);
}

.monaco-editor .currentFindMatch {
	background-color: var(--vscode-editor-findMatchBackground);
	border: 2px solid var(--vscode-editor-findMatchBorder);
	padding: 1px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

.monaco-editor .findScope {
	background-color: var(--vscode-editor-findRangeHighlightBackground);
}

.monaco-editor .find-widget .monaco-sash {
	left: 0 !important;
	background-color: var(--vscode-editorWidget-resizeBorder, var(--vscode-editorWidget-border));
}

.monaco-editor.hc-black .find-widget .button:before {
	position: relative;
	top: 1px;
	left: 2px;
}

/* Action bars */
.monaco-editor .find-widget .button:not(.disabled):hover,
.monaco-editor .find-widget .codicon-find-selection:hover {
	background-color: var(--vscode-toolbar-hoverBackground) !important;
}

.monaco-editor.findMatch {
	background-color: var(--vscode-editor-findMatchHighlightBackground);
}

.monaco-editor.currentFindMatch {
	background-color: var(--vscode-editor-findMatchBackground);
}

.monaco-editor.findScope {
	background-color: var(--vscode-editor-findRangeHighlightBackground);
}

.monaco-editor.findMatch {
	background-color: var(--vscode-editorWidget-background);
}

/* Close button position. */
.monaco-editor .find-widget > .button.codicon-widget-close {
	position: absolute;
	top: 5px;
	right: 4px;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-inputbox {
	position: relative;
	display: block;
	padding: 0;
	-webkit-box-sizing:	border-box;
	        box-sizing:	border-box;
	border-radius: 2px;

	/* Customizable */
	font-size: inherit;
}

.monaco-inputbox > .ibwrapper > .input,
.monaco-inputbox > .ibwrapper > .mirror {

	/* Customizable */
	padding: 4px 6px;
}

.monaco-inputbox > .ibwrapper {
	position: relative;
	width: 100%;
}

.monaco-inputbox > .ibwrapper > .input {
	display: inline-block;
	-webkit-box-sizing:	border-box;
	        box-sizing:	border-box;
	width: 100%;
	height: 100%;
	line-height: inherit;
	border: none;
	font-family: inherit;
	font-size: inherit;
	resize: none;
	color: inherit;
}

.monaco-inputbox > .ibwrapper > input {
	text-overflow: ellipsis;
}

.monaco-inputbox > .ibwrapper > textarea.input {
	display: block;
	scrollbar-width: none; /* Firefox: hide scrollbars */
	outline: none;
}

.monaco-inputbox > .ibwrapper > textarea.input::-webkit-scrollbar {
	display: none; /* Chrome + Safari: hide scrollbar */
}

.monaco-inputbox > .ibwrapper > textarea.input.empty {
	white-space: nowrap;
}

.monaco-inputbox > .ibwrapper > .mirror {
	position: absolute;
	display: inline-block;
	width: 100%;
	top: 0;
	left: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	white-space: pre-wrap;
	visibility: hidden;
	word-wrap: break-word;
}

/* Context view */

.monaco-inputbox-container {
	text-align: right;
}

.monaco-inputbox-container .monaco-inputbox-message {
	display: inline-block;
	overflow: hidden;
	text-align: left;
	width: 100%;
	-webkit-box-sizing:	border-box;
	        box-sizing:	border-box;
	padding: 0.4em;
	font-size: 12px;
	line-height: 17px;
	margin-top: -1px;
	word-wrap: break-word;
}

/* Action bar support */
.monaco-inputbox .monaco-action-bar {
	position: absolute;
	right: 2px;
	top: 4px;
}

.monaco-inputbox .monaco-action-bar .action-item {
	margin-left: 2px;
}

.monaco-inputbox .monaco-action-bar .action-item .codicon {
	background-repeat: no-repeat;
	width: 16px;
	height: 16px;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
/* ---------- Find input ---------- */

.monaco-findInput {
	position: relative;
}

.monaco-findInput .monaco-inputbox {
	font-size: 13px;
	width: 100%;
}

.monaco-findInput > .controls {
	position: absolute;
	top: 3px;
	right: 2px;
}

.vs .monaco-findInput.disabled {
	background-color: #E1E1E1;
}

/* Theming */
.vs-dark .monaco-findInput.disabled {
	background-color: #333;
}

/* Highlighting */
.monaco-findInput.highlight-0 .controls,
.hc-light .monaco-findInput.highlight-0 .controls {
	-webkit-animation: monaco-findInput-highlight-0 100ms linear 0s;
	        animation: monaco-findInput-highlight-0 100ms linear 0s;
}

.monaco-findInput.highlight-1 .controls,
.hc-light .monaco-findInput.highlight-1 .controls {
	-webkit-animation: monaco-findInput-highlight-1 100ms linear 0s;
	        animation: monaco-findInput-highlight-1 100ms linear 0s;
}

.hc-black .monaco-findInput.highlight-0 .controls,
.vs-dark  .monaco-findInput.highlight-0 .controls {
	-webkit-animation: monaco-findInput-highlight-dark-0 100ms linear 0s;
	        animation: monaco-findInput-highlight-dark-0 100ms linear 0s;
}

.hc-black .monaco-findInput.highlight-1 .controls,
.vs-dark  .monaco-findInput.highlight-1 .controls {
	-webkit-animation: monaco-findInput-highlight-dark-1 100ms linear 0s;
	        animation: monaco-findInput-highlight-dark-1 100ms linear 0s;
}

@-webkit-keyframes monaco-findInput-highlight-0 {
	0% { background: rgba(253, 255, 0, 0.8); }
	100% { background: transparent; }
}

@keyframes monaco-findInput-highlight-0 {
	0% { background: rgba(253, 255, 0, 0.8); }
	100% { background: transparent; }
}
@-webkit-keyframes monaco-findInput-highlight-1 {
	0% { background: rgba(253, 255, 0, 0.8); }
	/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/
	99% { background: transparent; }
}
@keyframes monaco-findInput-highlight-1 {
	0% { background: rgba(253, 255, 0, 0.8); }
	/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/
	99% { background: transparent; }
}

@-webkit-keyframes monaco-findInput-highlight-dark-0 {
	0% { background: rgba(255, 255, 255, 0.44); }
	100% { background: transparent; }
}

@keyframes monaco-findInput-highlight-dark-0 {
	0% { background: rgba(255, 255, 255, 0.44); }
	100% { background: transparent; }
}
@-webkit-keyframes monaco-findInput-highlight-dark-1 {
	0% { background: rgba(255, 255, 255, 0.44); }
	/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/
	99% { background: transparent; }
}
@keyframes monaco-findInput-highlight-dark-1 {
	0% { background: rgba(255, 255, 255, 0.44); }
	/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/
	99% { background: transparent; }
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.colorpicker-widget {
	height: 190px;
	-moz-user-select: none;
	 -ms-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
}

/* Decoration */

.colorpicker-color-decoration,
.hc-light .colorpicker-color-decoration {
	border: solid 0.1em #000;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0.1em 0.2em 0 0.2em;
	width: 0.8em;
	height: 0.8em;
	line-height: 0.8em;
	display: inline-block;
	cursor: pointer;
}

.hc-black .colorpicker-color-decoration,
.vs-dark .colorpicker-color-decoration {
	border: solid 0.1em #eee;
}

/* Header */

.colorpicker-header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 24px;
	position: relative;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=");
	background-size: 9px 9px;
	-ms-interpolation-mode: nearest-neighbor;
	    image-rendering: -webkit-optimize-contrast;
	    image-rendering: pixelated;
}

.colorpicker-header .picked-color {
	width: 240px;
	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;
	line-height: 24px;
	cursor: pointer;
	color: white;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	white-space: nowrap;
	overflow: hidden;
}

.colorpicker-header .picked-color .picked-color-presentation {
	white-space: nowrap;
	margin-left: 5px;
	margin-right: 5px;
}

.colorpicker-header .picked-color .codicon {
	color: inherit;
	font-size: 14px;
}

.colorpicker-header .picked-color.light {
	color: black;
}

.colorpicker-header .original-color {
	width: 74px;
	z-index: inherit;
	cursor: pointer;
}

.standalone-colorpicker {
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
}

.colorpicker-header.standalone-colorpicker {
	border-bottom: none;
}

.colorpicker-header .close-button {
	cursor: pointer;
	background-color: var(--vscode-editorHoverWidget-background);
	border-left: 1px solid var(--vscode-editorHoverWidget-border);
}

.colorpicker-header .close-button-inner-div {
	width: 100%;
	height: 100%;
	text-align: center;
}

.colorpicker-header .close-button-inner-div:hover {
	background-color: var(--vscode-toolbar-hoverBackground);
}

.colorpicker-header .close-icon {
	padding: 3px;
}

/* Body */

.colorpicker-body {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 8px;
	position: relative;
}

.colorpicker-body .saturation-wrap {
	overflow: hidden;
	height: 150px;
	position: relative;
	min-width: 220px;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.colorpicker-body .saturation-box {
	height: 150px;
	position: absolute;
}

.colorpicker-body .saturation-selection {
	width: 9px;
	height: 9px;
	margin: -5px 0 0 -5px;
	border: 1px solid rgb(255, 255, 255);
	border-radius: 100%;
	-webkit-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8);
	        box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8);
	position: absolute;
}

.colorpicker-body .strip {
	width: 25px;
	height: 150px;
}

.colorpicker-body .standalone-strip {
	width: 25px;
	height: 122px;
}

.colorpicker-body .hue-strip {
	position: relative;
	margin-left: 8px;
	cursor: -webkit-grab;
	cursor: grab;
	background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), color-stop(17%, #ffff00), color-stop(33%, #00ff00), color-stop(50%, #00ffff), color-stop(67%, #0000ff), color-stop(83%, #ff00ff), to(#ff0000));
	background: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
}

.colorpicker-body .opacity-strip {
	position: relative;
	margin-left: 8px;
	cursor: -webkit-grab;
	cursor: grab;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=");
	background-size: 9px 9px;
	-ms-interpolation-mode: nearest-neighbor;
	    image-rendering: -webkit-optimize-contrast;
	    image-rendering: pixelated;
}

.colorpicker-body .strip.grabbing {
	cursor: -webkit-grabbing;
	cursor: grabbing;
}

.colorpicker-body .slider {
	position: absolute;
	top: 0;
	left: -2px;
	width: calc(100% + 4px);
	height: 4px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid rgba(255, 255, 255, 0.71);
	-webkit-box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.85);
	        box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.85);
}

.colorpicker-body .strip .overlay {
	height: 150px;
	pointer-events: none;
}

.colorpicker-body .standalone-strip .standalone-overlay {
	height: 122px;
	pointer-events: none;
}

.standalone-colorpicker-body {
	display: block;
	border: 1px solid transparent;
	border-bottom: 1px solid var(--vscode-editorHoverWidget-border);
	overflow: hidden;
}

.colorpicker-body .insert-button {
	position: absolute;
	height: 20px;
	width: 58px;
	padding: 0px;
	right: 8px;
	bottom: 8px;
	background: var(--vscode-button-background);
	color: var(--vscode-button-foreground);
	border-radius: 2px;
	border: none;
	cursor: pointer;
}

.colorpicker-body .insert-button:hover{
	background: var(--vscode-button-hoverBackground);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .peekview-widget .head {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
}

.monaco-editor .peekview-widget .head .peekview-title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	font-size: 13px;
	margin-left: 20px;
	min-width: 0;
	text-overflow: ellipsis;
	overflow: hidden;
}

.monaco-editor .peekview-widget .head .peekview-title.clickable {
	cursor: pointer;
}

.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) {
	font-size: 0.9em;
	margin-left: 0.5em;
}

.monaco-editor .peekview-widget .head .peekview-title .meta {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.monaco-editor .peekview-widget .head .peekview-title .dirname {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .peekview-widget .head .peekview-title .filename {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty)::before {
	content: '-';
	padding: 0 0.3em;
}

.monaco-editor .peekview-widget .head .peekview-actions {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	text-align: right;
	padding-right: 2px;
}

.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar {
	display: inline-block;
}

.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar,
.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar > .actions-container {
	height: 100%;
}

.monaco-editor .peekview-widget > .body {
	border-top: 1px solid;
	position: relative;
}

.monaco-editor .peekview-widget .head .peekview-title .codicon {
	margin-right: 4px;
	-ms-flex-item-align: center;
	    align-self: center;
}

.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon {
	color: inherit !important;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .zone-widget {
	position: absolute;
	z-index: 10;
}


.monaco-editor .zone-widget .zone-widget-container {
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-width: 0;
	border-bottom-width: 0;
	position: relative;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-split-view2 {
	position: relative;
	width: 100%;
	height: 100%;
}

.monaco-split-view2 > .sash-container {
	position: absolute;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.monaco-split-view2 > .sash-container > .monaco-sash {
	pointer-events: initial;
}

.monaco-split-view2 > .monaco-scrollable-element {
	width: 100%;
	height: 100%;
}

.monaco-split-view2 > .monaco-scrollable-element > .split-view-container {
	width: 100%;
	height: 100%;
	white-space: nowrap;
	position: relative;
}

.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view {
	white-space: initial;
	position: absolute;
}

.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view:not(.visible) {
	display: none;
}

.monaco-split-view2.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view {
	width: 100%;
}

.monaco-split-view2.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view {
	height: 100%;
}

.monaco-split-view2.separator-border > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
	content: ' ';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	pointer-events: none;
	background-color: var(--separator-border);
}

.monaco-split-view2.separator-border.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
	height: 100%;
	width: 1px;
}

.monaco-split-view2.separator-border.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
	height: 1px;
	width: 100%;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-table {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	position: relative;
	height: 100%;
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.monaco-table > .monaco-split-view2 {
	border-bottom: 1px solid transparent;
}

.monaco-table > .monaco-list {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.monaco-table-tr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
}

.monaco-table-th {
	width: 100%;
	height: 100%;
	font-weight: bold;
	overflow: hidden;
	text-overflow: ellipsis;
}

.monaco-table-th,
.monaco-table-td {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {
	content: "";
	position: absolute;
	left: calc(var(--vscode-sash-size) / 2);
	width: 0;
	border-left: 1px solid transparent;
}

.monaco-enable-motion .monaco-table > .monaco-split-view2,
.monaco-enable-motion .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {
	-webkit-transition: border-color 0.2s ease-out;
	transition: border-color 0.2s ease-out;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-tl-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	position: relative;
}

.monaco-tl-row.disabled {
	cursor: default;
}
.monaco-tl-indent {
	height: 100%;
	position: absolute;
	top: 0;
	left: 16px;
	pointer-events: none;
}

.hide-arrows .monaco-tl-indent {
	left: 12px;
}

.monaco-tl-indent > .indent-guide {
	display: inline-block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 100%;
	border-left: 1px solid transparent;
	opacity: 0;
}

.monaco-enable-motion .monaco-tl-indent > .indent-guide {
	-webkit-transition: opacity 0.1s linear;
	transition: opacity 0.1s linear;
}

.monaco-tl-twistie,
.monaco-tl-contents {
	height: 100%;
}

.monaco-tl-twistie {
	font-size: 10px;
	text-align: right;
	padding-right: 6px;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: 16px;
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-transform: translateX(3px);
	        transform: translateX(3px);
}

.monaco-tl-contents {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	overflow: hidden;
}

.monaco-tl-twistie::before {
	border-radius: 20px;
}

.monaco-tl-twistie.collapsed::before {
	-webkit-transform: rotate(-90deg);
	        transform: rotate(-90deg);
}

.monaco-tl-twistie.codicon-tree-item-loading::before {
	/* Use steps to throttle FPS to reduce CPU usage */
	-webkit-animation: codicon-spin 1.25s steps(30) infinite;
	        animation: codicon-spin 1.25s steps(30) infinite;
}

.monaco-tree-type-filter {
	position: absolute;
	top: 0;
	right: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 3px;
	max-width: 200px;
	z-index: 100;
	margin: 0 10px 0 6px;
	border: 1px solid var(--vscode-widget-border);
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}

.monaco-enable-motion .monaco-tree-type-filter {
	-webkit-transition: top 0.3s;
	transition: top 0.3s;
}

.monaco-tree-type-filter.disabled {
	top: -40px !important;
}

.monaco-tree-type-filter-input {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.monaco-tree-type-filter-input .monaco-inputbox {
	height: 23px;
}

.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .input,
.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .mirror {
	padding: 2px 4px;
}

.monaco-tree-type-filter-input .monaco-findInput > .controls {
	top: 2px;
}

.monaco-tree-type-filter-actionbar {
	margin-left: 4px;
}

.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label {
	padding: 2px;
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	z-index: 13; /* Settings editor uses z-index: 12 */

	/* Backup color in case the tree does not provide the background color */
	background-color: var(--vscode-sideBar-background);
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{
	position: absolute;
	width: 100%;
	opacity: 1 !important; /* Settings editor uses opacity < 1 */
	overflow: hidden;

	/* Backup color in case the tree does not provide the background color */
	background-color: var(--vscode-sideBar-background);
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{
	background-color: var(--vscode-list-hoverBackground) !important;
	cursor: pointer;
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,
.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow {
	display: none;
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow {
	position: absolute;
	bottom: -3px;
	left: 0px;
	height: 0px; /* heigt is 3px and only set when there is a treeStickyScrollShadow color */
	width: 100%;
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{
	outline: none;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* -- zone widget */
.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget {
	border-top-width: 1px;
	border-bottom-width: 1px;
}

.monaco-editor .reference-zone-widget .inline {
	display: inline-block;
	vertical-align: top;
}

.monaco-editor .reference-zone-widget .messages {
	height: 100%;
	width: 100%;
	text-align: center;
	padding: 3em 0;
}

.monaco-editor .reference-zone-widget .ref-tree {
	line-height: 23px;
	background-color: var(--vscode-peekViewResult-background);
	color: var(--vscode-peekViewResult-lineForeground);
}

.monaco-editor .reference-zone-widget .ref-tree .reference {
	text-overflow: ellipsis;
	overflow: hidden;
}

.monaco-editor .reference-zone-widget .ref-tree .reference-file {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	width: 100%;
	height: 100%;
	color: var(--vscode-peekViewResult-fileForeground);
}

.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file {
	color: inherit !important;
}

.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) {
	background-color: var(--vscode-peekViewResult-selectionBackground);
	color: var(--vscode-peekViewResult-selectionForeground) !important;
}

.monaco-editor .reference-zone-widget .ref-tree .reference-file .count {
	margin-right: 12px;
	margin-left: auto;
}

.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight {
	color: var(--vscode-peekViewResult-fileForeground) !important;
	background-color: var(--vscode-peekViewResult-matchHighlightBackground) !important;
}

.monaco-editor .reference-zone-widget .preview .reference-decoration {
	background-color: var(--vscode-peekViewEditor-matchHighlightBackground);
	border: 2px solid var(--vscode-peekViewEditor-matchHighlightBorder);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,
.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {
	background-color: var(--vscode-peekViewEditor-background);
}

.monaco-editor .reference-zone-widget .preview .monaco-editor .margin {
	background-color: var(--vscode-peekViewEditorGutter-background);
}

/* High Contrast Theming */

.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,
.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file {
	font-weight: bold;
}

.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,
.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight {
	border: 1px dotted var(--vscode-contrastActiveBorder, transparent);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-count-badge {
	padding: 3px 5px;
	border-radius: 11px;
	font-size: 11px;
	min-width: 18px;
	min-height: 18px;
	line-height: 11px;
	font-weight: normal;
	text-align: center;
	display: inline-block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

.monaco-count-badge.long {
	padding: 2px 3px;
	border-radius: 2px;
	min-height: auto;
	line-height: normal;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* ---------- Icon label ---------- */

.monaco-icon-label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex; /* required for icons support :before rule */
	overflow: hidden;
	text-overflow: ellipsis;
}

.monaco-icon-label::before {

	/* svg icons rendered as background image */
	background-size: 16px;
	background-position: left center;
	background-repeat: no-repeat;
	padding-right: 6px;
	width: 16px;
	height: 22px;
	line-height: inherit !important;
	display: inline-block;

	/* fonts icons */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	vertical-align: top;

	-ms-flex-negative: 0;

	    flex-shrink: 0; /* fix for https://github.com/microsoft/vscode/issues/13787 */
}

.monaco-icon-label-iconpath {
	width: 16px;
	height: 22px;
	margin-right: 6px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.monaco-icon-label-container.disabled {
	color: var(--vscode-disabledForeground);
}
.monaco-icon-label > .monaco-icon-label-container {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name {
	color: inherit;
	white-space: pre; /* enable to show labels that include multiple whitespaces */
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name > .label-separator {
	margin: 0 2px;
	opacity: 0.5;
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-suffix-container > .label-suffix {
	opacity: .7;
	white-space: pre;
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	opacity: .7;
	margin-left: 0.5em;
	font-size: 0.9em;
	white-space: pre; /* enable to show labels that include multiple whitespaces */
}

.monaco-icon-label.nowrap > .monaco-icon-label-container > .monaco-icon-description-container > .label-description{
	white-space: nowrap
}

.vs .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	opacity: .95;
}

.monaco-icon-label.bold > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,
.monaco-icon-label.bold > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	font-weight: bold;
}

.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,
.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	font-style: italic;
}

.monaco-icon-label.deprecated {
	text-decoration: line-through;
	opacity: 0.66;
}

.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,
.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	text-decoration: line-through;
}

.monaco-icon-label::after {
	opacity: 0.75;
	font-size: 90%;
	font-weight: 600;
	margin: auto 16px 0 5px; /* https://github.com/microsoft/vscode/issues/113223 */
	text-align: center;
}

/* make sure selection color wins when a label is being selected */
.monaco-list:focus .selected .monaco-icon-label, /* list */
.monaco-list:focus .selected .monaco-icon-label::after
{
	color: inherit !important;
}

.monaco-list-row.focused.selected .label-description,
.monaco-list-row.selected .label-description {
	opacity: .8;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* marker zone */

.monaco-editor .peekview-widget .head .peekview-title .severity-icon {
	display: inline-block;
	vertical-align: text-top;
	margin-right: 4px;
}

.monaco-editor .marker-widget {
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .marker-widget > .stale {
	opacity: 0.6;
	font-style: italic;
}

.monaco-editor .marker-widget .title {
	display: inline-block;
	padding-right: 5px;
}

.monaco-editor .marker-widget .descriptioncontainer {
	position: absolute;
	white-space: pre;
	-moz-user-select: text;
	 -ms-user-select: text;
	     user-select: text;
	-webkit-user-select: text;
	padding: 8px 12px 0 20px;
}

.monaco-editor .marker-widget .descriptioncontainer .message {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.monaco-editor .marker-widget .descriptioncontainer .message .details {
	padding-left: 6px;
}

.monaco-editor .marker-widget .descriptioncontainer .message .source,
.monaco-editor .marker-widget .descriptioncontainer .message span.code {
	opacity: 0.6;
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link {
	opacity: 0.6;
	color: inherit;
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before {
	content: '(';
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after {
	content: ')';
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link > span {
	text-decoration: underline;
	/** Hack to force underline to show **/
	border-bottom: 1px solid transparent;
	text-underline-position: under;
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor .marker-widget .descriptioncontainer .filename {
	cursor: pointer;
	color: var(--vscode-textLink-activeForeground);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-diff-editor .diff-review {
	position: absolute;

}

.monaco-component.diff-review {
	-moz-user-select: none;
	 -ms-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
	z-index: 99;


	.diff-review-line-number {
		text-align: right;
		display: inline-block;
		color: var(--vscode-editorLineNumber-foreground);
	}

	.diff-review-summary {
		padding-left: 10px;
	}

	.diff-review-shadow {
		position: absolute;
		-webkit-box-shadow: var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset;
		        box-shadow: var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset;
	}

	.diff-review-row {
		white-space: pre;
	}

	.diff-review-table {
		display: table;
		min-width: 100%;
	}

	.diff-review-row {
		display: table-row;
		width: 100%;
	}

	.diff-review-spacer {
		display: inline-block;
		width: 10px;
		vertical-align: middle;
	}

	.diff-review-spacer > .codicon {
		font-size: 9px !important;
	}

	.diff-review-actions {
		display: inline-block;
		position: absolute;
		right: 10px;
		top: 2px;
		z-index: 100;
	}

	.diff-review-actions .action-label {
		width: 16px;
		height: 16px;
		margin: 2px 0;
	}

	.revertButton {
		cursor: pointer;
	}

	.action-label {
		background: var(--vscode-editorActionList-background);
	}
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .zone-widget .codicon.codicon-error,
.markers-panel .marker-icon.error, .markers-panel .marker-icon .codicon.codicon-error,
.text-search-provider-messages .providerMessage .codicon.codicon-error,
.extensions-viewlet > .extensions .codicon.codicon-error,
.extension-editor .codicon.codicon-error,
.chat-attached-context-attachment .codicon.codicon-error {
	color: var(--vscode-problemsErrorIcon-foreground);
}

.monaco-editor .zone-widget .codicon.codicon-warning,
.markers-panel .marker-icon.warning, .markers-panel .marker-icon .codicon.codicon-warning,
.text-search-provider-messages .providerMessage .codicon.codicon-warning,
.extensions-viewlet > .extensions .codicon.codicon-warning,
.extension-editor .codicon.codicon-warning,
.preferences-editor .codicon.codicon-warning {
	color: var(--vscode-problemsWarningIcon-foreground);
}

.monaco-editor .zone-widget .codicon.codicon-info,
.markers-panel .marker-icon.info, .markers-panel .marker-icon .codicon.codicon-info,
.text-search-provider-messages .providerMessage .codicon.codicon-info,
.extensions-viewlet > .extensions .codicon.codicon-info,
.extension-editor .codicon.codicon-info {
	color: var(--vscode-problemsInfoIcon-foreground);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .diff-hidden-lines-widget {
	width: 100%;
}

.monaco-editor .diff-hidden-lines {
	height: 0px; /* The children each have a fixed height, the transform confuses the browser */
	-webkit-transform: translate(0px, -10px);
	        transform: translate(0px, -10px);
	font-size: 13px;
	line-height: 14px;
}

.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,
.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,
.monaco-editor .diff-hidden-lines .top.dragging,
.monaco-editor .diff-hidden-lines .bottom.dragging {
	background-color: var(--vscode-focusBorder);
}

.monaco-editor .diff-hidden-lines .top,
.monaco-editor .diff-hidden-lines .bottom {
	-webkit-transition: background-color 0.1s ease-out;
	transition: background-color 0.1s ease-out;
	height: 4px;
	background-color: transparent;
	background-clip: padding-box;
	border-bottom: 2px solid transparent;
	border-top: 4px solid transparent;
	/*cursor: n-resize;*/
}

.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,
.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),
.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom) {
	cursor: n-resize !important;
}

.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,
.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,
.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom {
	cursor: s-resize !important;
}

.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,
.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,
.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom {
	cursor: ns-resize !important;
}

.monaco-editor .diff-hidden-lines .top {
	-webkit-transform: translate(0px, 4px);
	        transform: translate(0px, 4px);
}

.monaco-editor .diff-hidden-lines .bottom {
	-webkit-transform: translate(0px, -6px);
	        transform: translate(0px, -6px);
}

.monaco-editor .diff-unchanged-lines {
	background: var(--vscode-diffEditor-unchangedCodeBackground);
}

.monaco-editor .noModificationsOverlay {
	z-index: 1;
	background: var(--vscode-editor-background);

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}


.monaco-editor .diff-hidden-lines .center {
	background: var(--vscode-diffEditor-unchangedRegionBackground);
	color: var(--vscode-diffEditor-unchangedRegionForeground);
	overflow: hidden;
	display: block;
	text-overflow: ellipsis;
	white-space: nowrap;

	height: 24px;
	-webkit-box-shadow: inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow), inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow);
	        box-shadow: inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow), inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow);
}

.monaco-editor .diff-hidden-lines .center span.codicon {
	vertical-align: middle;
}

.monaco-editor .diff-hidden-lines .center a:hover .codicon {
	cursor: pointer;
	color: var(--vscode-editorLink-activeForeground) !important;
}

.monaco-editor .diff-hidden-lines div.breadcrumb-item {
	cursor: pointer;
}

.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover {
	color: var(--vscode-editorLink-activeForeground);
}

.monaco-editor .movedOriginal {
	border: 2px solid var(--vscode-diffEditor-move-border);
}

.monaco-editor .movedModified {
	border: 2px solid var(--vscode-diffEditor-move-border);
}

.monaco-editor .movedOriginal.currentMove, .monaco-editor .movedModified.currentMove {
	border: 2px solid var(--vscode-diffEditor-moveActive-border);
}

.monaco-diff-editor .moved-blocks-lines path.currentMove {
	stroke: var(--vscode-diffEditor-moveActive-border);
}

.monaco-diff-editor .moved-blocks-lines path {
	pointer-events: visiblestroke;
}

.monaco-diff-editor .moved-blocks-lines .arrow {
	fill: var(--vscode-diffEditor-move-border);
}

.monaco-diff-editor .moved-blocks-lines .arrow.currentMove {
	fill: var(--vscode-diffEditor-moveActive-border);
}

.monaco-diff-editor .moved-blocks-lines .arrow-rectangle {
	fill: var(--vscode-editor-background);
}

.monaco-diff-editor .moved-blocks-lines {
	position: absolute;
	pointer-events: none;
}

.monaco-diff-editor .moved-blocks-lines path {
	fill: none;
	stroke: var(--vscode-diffEditor-move-border);
	stroke-width: 2;
}

.monaco-editor .char-delete.diff-range-empty {
	margin-left: -1px;
	border-left: solid var(--vscode-diffEditor-removedTextBackground) 3px;
}

.monaco-editor .char-insert.diff-range-empty {
	border-left: solid var(--vscode-diffEditor-insertedTextBackground) 3px;
}

.monaco-editor .fold-unchanged {
	cursor: pointer;
}

.monaco-diff-editor .diff-moved-code-block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	margin-top: -4px;
}

.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon {
	width: 12px;
	height: 12px;
	font-size: 12px;
}

/* ---------- DiffEditor ---------- */

.monaco-diff-editor .diffOverview {
	z-index: 9;
}

.monaco-diff-editor .diffOverview .diffViewport {
	z-index: 10;
}

/* colors not externalized: using transparancy on background */
.monaco-diff-editor.vs			.diffOverview { background: rgba(0, 0, 0, 0.03); }
.monaco-diff-editor.vs-dark		.diffOverview { background: rgba(255, 255, 255, 0.01); }

.monaco-scrollable-element.modified-in-monaco-diff-editor.vs		.scrollbar { background: rgba(0,0,0,0); }
.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark	.scrollbar { background: rgba(0,0,0,0); }
.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black	.scrollbar { background: none; }
.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light	.scrollbar { background: none; }

.monaco-scrollable-element.modified-in-monaco-diff-editor .slider {
	z-index: 10;
}
.modified-in-monaco-diff-editor				.slider.active { background: rgba(171, 171, 171, .4); }
.modified-in-monaco-diff-editor.hc-black	.slider.active { background: none; }
.modified-in-monaco-diff-editor.hc-light	.slider.active { background: none; }

/* ---------- Diff ---------- */

.monaco-editor .insert-sign,
.monaco-diff-editor .insert-sign,
.monaco-editor .delete-sign,
.monaco-diff-editor .delete-sign {
	font-size: 11px !important;
	opacity: 0.7 !important;
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.monaco-editor.hc-black .insert-sign,
.monaco-diff-editor.hc-black .insert-sign,
.monaco-editor.hc-black .delete-sign,
.monaco-diff-editor.hc-black .delete-sign,
.monaco-editor.hc-light .insert-sign,
.monaco-diff-editor.hc-light .insert-sign,
.monaco-editor.hc-light .delete-sign,
.monaco-diff-editor.hc-light .delete-sign {
	opacity: 1;
}

.monaco-editor .inline-deleted-margin-view-zone {
	text-align: right;
}
.monaco-editor .inline-added-margin-view-zone {
	text-align: right;
}

.monaco-editor .arrow-revert-change {
	z-index: 10;
	position: absolute;
}

.monaco-editor .arrow-revert-change:hover {
	cursor: pointer;
}

/* ---------- Inline Diff ---------- */

.monaco-editor .view-zones .view-lines .view-line span {
	display: inline-block;
}

.monaco-editor .margin-view-zones .lightbulb-glyph:hover {
	cursor: pointer;
}

.monaco-editor .char-insert, .monaco-diff-editor .char-insert {
	background-color: var(--vscode-diffEditor-insertedTextBackground);
}

.monaco-editor .line-insert, .monaco-diff-editor .line-insert {
	background-color: var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground));
}

.monaco-editor .line-insert,
.monaco-editor .char-insert {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid var(--vscode-diffEditor-insertedTextBorder);
}
.monaco-editor.hc-black .line-insert, .monaco-editor.hc-light .line-insert,
.monaco-editor.hc-black .char-insert, .monaco-editor.hc-light .char-insert {
	border-style: dashed;
}

.monaco-editor .line-delete,
.monaco-editor .char-delete {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid var(--vscode-diffEditor-removedTextBorder);
}
.monaco-editor.hc-black .line-delete, .monaco-editor.hc-light .line-delete,
.monaco-editor.hc-black .char-delete, .monaco-editor.hc-light .char-delete {
	border-style: dashed;
}

.monaco-editor .inline-added-margin-view-zone,
.monaco-editor .gutter-insert, .monaco-diff-editor .gutter-insert {
	background-color: var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground));
}

.monaco-editor .char-delete, .monaco-diff-editor .char-delete, .monaco-editor .inline-deleted-text {
	background-color: var(--vscode-diffEditor-removedTextBackground);
}

.monaco-editor .inline-deleted-text {
	text-decoration: line-through;
}

.monaco-editor .line-delete, .monaco-diff-editor .line-delete {
	background-color: var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground));
}

.monaco-editor .inline-deleted-margin-view-zone,
.monaco-editor .gutter-delete, .monaco-diff-editor .gutter-delete {
	background-color: var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground));
}

.monaco-diff-editor.side-by-side .editor.modified {
	-webkit-box-shadow: -6px 0 5px -5px var(--vscode-scrollbar-shadow);
	        box-shadow: -6px 0 5px -5px var(--vscode-scrollbar-shadow);
	border-left: 1px solid var(--vscode-diffEditor-border);
}

.monaco-diff-editor.side-by-side .editor.original {
	-webkit-box-shadow: 6px 0 5px -5px var(--vscode-scrollbar-shadow);
	        box-shadow: 6px 0 5px -5px var(--vscode-scrollbar-shadow);
	border-right: 1px solid var(--vscode-diffEditor-border);
}

.monaco-diff-editor .diffViewport {
	background: var(--vscode-scrollbarSlider-background);
}

.monaco-diff-editor .diffViewport:hover {
	background: var(--vscode-scrollbarSlider-hoverBackground);
}

.monaco-diff-editor .diffViewport:active {
	background: var(--vscode-scrollbarSlider-activeBackground);
}

.monaco-editor .diagonal-fill {
	background-image: linear-gradient(
		-45deg,
		var(--vscode-diffEditor-diagonalFill) 12.5%,
		#0000 12.5%, #0000 50%,
		var(--vscode-diffEditor-diagonalFill) 50%, var(--vscode-diffEditor-diagonalFill) 62.5%,
		#0000 62.5%, #0000 100%
	);
	background-size: 8px 8px;
}

.monaco-diff-editor .gutter {
	position: relative;
	overflow: hidden;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	-webkit-box-flex: 0;
	    -ms-flex-positive: 0;
	        flex-grow: 0;

	& > div {
		position: absolute;
	}

	.gutterItem {
		opacity: 0;
		-webkit-transition: opacity 0.7s;
		transition: opacity 0.7s;

		&.showAlways {
			opacity: 1;
			-webkit-transition: none;
			transition: none;
		}

		&.noTransition {
			-webkit-transition: none;
			transition: none;
		}
	}

	&:hover .gutterItem {
		opacity: 1;
		-webkit-transition: opacity 0.1s ease-in-out;
		transition: opacity 0.1s ease-in-out;
	}

	.gutterItem {
		.background {
			position: absolute;
			height: 100%;
			left: 50%;
			width: 1px;

			border-left: 2px var(--vscode-menu-separatorBackground) solid;
		}

		.buttons {
			position: absolute;
			/*height: 100%;*/
			width: 100%;

			display: -webkit-box;

			display: -ms-flexbox;

			display: flex;
			-webkit-box-pack: center;
			    -ms-flex-pack: center;
			        justify-content: center;
			-webkit-box-align: center;
			    -ms-flex-align: center;
			        align-items: center;

			.monaco-toolbar {
				height: -webkit-fit-content;
				height: -moz-fit-content;
				height: fit-content;
				.monaco-action-bar  {
					line-height: 1;

					.actions-container {
						width: -webkit-fit-content;
						width: -moz-fit-content;
						width: fit-content;
						border-radius: 4px;
						background: var(--vscode-editorGutter-itemBackground);

						.action-item {
							&:hover {
								background: var(--vscode-toolbar-hoverBackground);
							}

							.action-label {
								color: var(--vscode-editorGutter-itemGlyphForeground);
								padding: 1px 2px;
							}
						}
					}
				}
			}
		}
	}
}


.monaco-diff-editor .diff-hidden-lines-compact {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 11px;
	.line-left, .line-right {
		height: 1px;
		border-top: 1px solid;
		border-color: var(--vscode-editorCodeLens-foreground);
		opacity: 0.5;
		margin: auto;
		width: 100%;
	}

	.line-left {
		width: 20px;
	}

	.text {
		color: var(--vscode-editorCodeLens-foreground);
		text-wrap: nowrap;
		font-size: 11px;
		line-height: 11px;
		margin: 0 4px;
	}
}

.monaco-editor .line-delete-selectable {
	-moz-user-select: text !important;
	 -ms-user-select: text !important;
	     user-select: text !important;
	-webkit-user-select: text !important;
	z-index: 1 !important;
}

.line-delete-selectable .view-line {
	-moz-user-select: text !important;
	 -ms-user-select: text !important;
	     user-select: text !important;
	-webkit-user-select: text !important;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .hoverHighlight {
	background-color: var(--vscode-editor-hoverHighlightBackground);
}

.monaco-editor .monaco-resizable-hover {
	border: 1px solid var(--vscode-editorHoverWidget-border);
	border-radius: 3px;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
}

.monaco-editor .monaco-resizable-hover > .monaco-hover {
	border: none;
	border-radius: none;
}

.monaco-editor .monaco-hover {
	border: 1px solid var(--vscode-editorHoverWidget-border);
	border-radius: 3px;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
}

.monaco-editor .monaco-hover a {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .monaco-hover a:hover {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor .monaco-hover .hover-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.monaco-editor .monaco-hover .hover-row.hover-row-with-copy {
	position: relative;
	padding-right: 20px;
}

.monaco-editor .monaco-hover .hover-row .hover-row-contents {
	min-width: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions {
	border-right: 1px solid var(--vscode-editorHoverWidget-border);
	width: 22px;
	overflow-y: clip;
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	padding-left: 5px;
	padding-right: 5px;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	position: relative;
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner .codicon {
	cursor: pointer;
	font-size: 11px;
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner .codicon.enabled {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner .codicon.disabled {
	opacity: 0.6;
}

.monaco-editor .monaco-hover .hover-row .actions {
	background-color: var(--vscode-editorHoverWidget-statusBarBackground);
}

.monaco-editor .monaco-hover code {
	background-color: var(--vscode-textCodeBlock-background);
}

.monaco-editor .monaco-hover .hover-copy-button {
	position: absolute;
	top: 4px;
	right: 4px;
	padding: 2px 4px;
	border-radius: 3px;
	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;
	opacity: 0;
}

.monaco-editor .monaco-hover .hover-row-with-copy:hover .hover-copy-button,
.monaco-editor .monaco-hover .hover-row-with-copy:focus-within .hover-copy-button {
	opacity: 1;
}

.monaco-editor .monaco-hover .hover-copy-button:hover {
	background-color: var(--vscode-toolbar-hoverBackground);
	cursor: pointer;
}

.monaco-editor .monaco-hover .hover-copy-button:focus {
	outline: 1px solid var(--vscode-focusBorder);
	outline-offset: -1px;
}

.monaco-editor .monaco-hover .hover-copy-button .codicon {
	font-size: 16px;
	color: var(--vscode-foreground);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor.vs .dnd-target,
.monaco-editor.hc-light .dnd-target {
	border-right: 2px dotted black;
	color: white; /* opposite of black */
}
.monaco-editor.vs-dark .dnd-target {
	border-right: 2px dotted #AEAFAD;
	color: #51504f; /* opposite of #AEAFAD */
}
.monaco-editor.hc-black .dnd-target {
	border-right: 2px dotted #fff;
	color: #000; /* opposite of #fff */
}

.monaco-editor.mouse-default .view-lines,
.monaco-editor.vs-dark.mac.mouse-default .view-lines,
.monaco-editor.hc-black.mac.mouse-default .view-lines,
.monaco-editor.hc-light.mac.mouse-default .view-lines {
	cursor: default;
}
.monaco-editor.mouse-copy .view-lines,
.monaco-editor.vs-dark.mac.mouse-copy .view-lines,
.monaco-editor.hc-black.mac.mouse-copy .view-lines,
.monaco-editor.hc-light.mac.mouse-copy .view-lines {
	cursor: copy;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .findOptionsWidget {
	background-color: var(--vscode-editorWidget-background);
	color: var(--vscode-editorWidget-foreground);
	-webkit-box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
	        box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
	border: 2px solid var(--vscode-contrastBorder);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,
.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,
.monaco-editor .margin-view-overlays .codicon-folding-expanded,
.monaco-editor .margin-view-overlays .codicon-folding-collapsed {
	cursor: pointer;
	opacity: 0;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
	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;
	font-size: 140%;
	margin-left: 2px;
}

.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,
.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,
.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,
.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed {
	-webkit-transition: initial;
	transition: initial;
}

.monaco-editor .margin-view-overlays:hover .codicon,
.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,
.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,
.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons {
	opacity: 1;
}

.monaco-editor .inline-folded:after {
	color: var(--vscode-editor-foldPlaceholderForeground);
	margin: 0.1em 0.2em 0 0.2em;
	content: "\22EF"; /* ellipses unicode character */
	display: inline;
	line-height: 1em;
	cursor: pointer;
}

.monaco-editor .folded-background {
	background-color: var(--vscode-editor-foldBackground);
}

.monaco-editor .cldr.codicon.codicon-folding-expanded,
.monaco-editor .cldr.codicon.codicon-folding-collapsed,
.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,
.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed {
	color: var(--vscode-editorGutter-foldingControlForeground) !important;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .snippet-placeholder {
	min-width: 2px;
	outline-style: solid;
	outline-width: 1px;
	background-color: var(--vscode-editor-snippetTabstopHighlightBackground, transparent);
	outline-color: var(--vscode-editor-snippetTabstopHighlightBorder, transparent);
}

.monaco-editor .finish-snippet-placeholder {
	outline-style: solid;
	outline-width: 1px;
	background-color: var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);
	outline-color: var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Suggest widget*/

.monaco-editor .suggest-widget {
	width: 430px;
	z-index: 40;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	border-radius: 3px;
}

.monaco-editor .suggest-widget.message {
	-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;
}

.monaco-editor .suggest-widget,
.monaco-editor .suggest-details {
	-webkit-box-flex: 0;
	    -ms-flex: 0 1 auto;
	        flex: 0 1 auto;
	width: 100%;
	border-style: solid;
	border-width: 1px;
	border-color: var(--vscode-editorSuggestWidget-border);
	background-color: var(--vscode-editorSuggestWidget-background);
}

.monaco-editor.hc-black .suggest-widget,
.monaco-editor.hc-black .suggest-details,
.monaco-editor.hc-light .suggest-widget,
.monaco-editor.hc-light .suggest-details {
	border-width: 2px;
}

/* Styles for status bar part */


.monaco-editor .suggest-widget .suggest-status-bar {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: none;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-flow: row nowrap;
	        flex-flow: row nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: 100%;
	font-size: 80%;
	padding: 0 4px 0 4px;
	border-top: 1px solid var(--vscode-editorSuggestWidget-border);
	overflow: hidden;
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.monaco-editor .suggest-widget .suggest-status-bar .left {
	padding-right: 8px;
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label {
	color: var(--vscode-editorSuggestWidgetStatus-foreground);
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label {
	margin-right: 0;
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label::after {
	content: ', ';
	margin-right: 0.3em;
}

.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row > .contents > .main > .right > .readMore,
.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {
	display: none;
}

.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover > .contents > .main > .right.can-expand-details > .details-label {
	width: 100%;
}

/* Styles for Message element for when widget is loading or is empty */

.monaco-editor .suggest-widget > .message {
	padding-left: 22px;
}

/** Styles for the list element **/

.monaco-editor .suggest-widget > .tree {
	height: 100%;
	width: 100%;
}

.monaco-editor .suggest-widget .monaco-list {
	-moz-user-select: none;
	 -ms-user-select: none;
	     user-select: none;
	-webkit-user-select: none;
}

/** Styles for each row in the list element **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-mox-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding-right: 10px;
	background-repeat: no-repeat;
	background-position: 2px 2px;
	white-space: nowrap;
	cursor: pointer;
	-ms-touch-action: none;
	    touch-action: none;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused {
	color: var(--vscode-editorSuggestWidget-selectedForeground);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon {
	color: var(--vscode-editorSuggestWidget-selectedIconForeground);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	height: 100%;
	overflow: hidden;
	padding-left: 2px;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: pre;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused) > .contents > .main .monaco-icon-label {
	color: var(--vscode-editorSuggestWidget-foreground);
}

.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight {
	font-weight: bold;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main .monaco-highlighted-label .highlight {
	color: var(--vscode-editorSuggestWidget-highlightForeground);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused > .contents > .main .monaco-highlighted-label .highlight {
	color: var(--vscode-editorSuggestWidget-focusHighlightForeground);
}

/** ReadMore Icon styles **/

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore::before {
	color: inherit;
	opacity: 1;
	font-size: 14px;
	cursor: pointer;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close {
	position: absolute;
	top: 6px;
	right: 2px;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close:hover,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore:hover {
	opacity: 1;
}

/** signature, qualifier, type/details opacity **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {
	opacity: 0.7;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .signature-label {
	overflow: hidden;
	text-overflow: ellipsis;
	opacity: 0.6;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .qualifier-label {
	margin-left: 12px;
	opacity: 0.4;
	font-size: 85%;
	line-height: initial;
	text-overflow: ellipsis;
	overflow: hidden;
	-ms-flex-item-align: center;
	    align-self: center;
}

/** Type Info and icon next to the label in the focused completion item **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {
	font-size: 85%;
	margin-left: 1.1em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label > .monaco-tokenized-source {
	display: inline;
}

/** Details: if using CompletionItem#details, show on focus **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {
	display: none;
}

.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused > .contents > .main > .right > .details-label {
	display: inline;
}

/** Details: if using CompletionItemLabel#details, always show **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .right > .details-label,
.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label) > .contents > .main > .right > .details-label {
	display: inline;
}

/** Ellipsis on hover **/

.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right.can-expand-details > .details-label {
	width: calc(100% - 26px);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left {
	-ms-flex-negative: 1;
	    flex-shrink: 1;
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	overflow: hidden;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .monaco-icon-label {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .left > .monaco-icon-label {
	max-width: 100%;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .left > .monaco-icon-label {
	-ms-flex-negative: 1;
	    flex-shrink: 1;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {
	overflow: hidden;
	-ms-flex-negative: 4;
	    flex-shrink: 4;
	max-width: 70%;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {
	display: inline-block;
	position: absolute;
	right: 10px;
	width: 18px;
	height: 18px;
	visibility: hidden;
}

/** Do NOT display ReadMore when docs is side/below **/

.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {
	display: none !important;
}

/** Do NOT display ReadMore when using plain CompletionItemLabel (details/documentation might not be resolved) **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .right > .readMore {
	display: none;
}

/** Focused item can show ReadMore, but can't when docs is side/below **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {
	display: inline-block;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right > .readMore {
	visibility: visible;
}

/** Styles for each row in the list **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated {
	opacity: 0.66;
	text-decoration: unset;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated > .monaco-icon-label-container > .monaco-icon-name-container {
	text-decoration: line-through;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label::before {
	height: 100%;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon {
	display: block;
	height: 16px;
	width: 16px;
	margin-left: 2px;
	background-repeat: no-repeat;
	background-size: 80%;
	background-position: center;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide {
	display: none;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin-right: 4px;
}

.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,
.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon::before {
	display: none;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan {
	margin: 0 0 0 0.3em;
	border: 0.1em solid #000;
	width: 0.7em;
	height: 0.7em;
	display: inline-block;
}

/** Styles for the docs of the completion item in focus **/

.monaco-editor .suggest-details-container {
	z-index: 41;
}

.monaco-editor .suggest-details {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	cursor: default;
	color: var(--vscode-editorSuggestWidget-foreground);
}

.monaco-editor .suggest-details:focus {
	border-color: var(--vscode-focusBorder);
}

.monaco-editor .suggest-details a {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .suggest-details a:hover {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor .suggest-details code {
	background-color: var(--vscode-textCodeBlock-background);
}

.monaco-editor .suggest-details.no-docs {
	display: none;
}

.monaco-editor .suggest-details > .monaco-scrollable-element {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 100%;
	width: 100%;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type {
	-webkit-box-flex: 2;
	    -ms-flex: 2;
	        flex: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	opacity: 0.7;
	white-space: pre;
	margin: 0 24px 0 0;
	padding: 4px 0 4px 5px;
}

.monaco-editor .suggest-details.detail-and-doc > .monaco-scrollable-element > .body > .header > .type {
	padding-bottom: 12px;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type.auto-wrap {
	white-space: normal;
	word-break: break-all;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs {
	margin: 0;
	padding: 4px 5px;
	white-space: pre-wrap;
}

.monaco-editor .suggest-details.no-type > .monaco-scrollable-element > .body > .docs {
	margin-right: 24px;
	overflow: hidden;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs {
	padding: 0;
	white-space: initial;
	min-height: calc(1rem + 8px);
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div,
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > span:not(:empty) {
	padding: 4px 5px;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:first-child {
	margin-top: 0;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:last-child {
	margin-bottom: 0;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .monaco-tokenized-source {
	white-space: pre;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs .code {
	white-space: pre-wrap;
	word-wrap: break-word;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .codicon {
	vertical-align: sub;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > p:empty {
	display: none;
}

.monaco-editor .suggest-details code {
	border-radius: 3px;
	padding: 0 0.4em;
}

.monaco-editor .suggest-details ul {
	padding-left: 20px;
}

.monaco-editor .suggest-details ol {
	padding-left: 20px;
}

.monaco-editor .suggest-details p code {
	font-family: var(--monaco-monospace-font);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .suggest-preview-additional-widget {
	white-space: nowrap;
}

.monaco-editor .suggest-preview-additional-widget .content-spacer {
	color: transparent;
	white-space: pre;
}

.monaco-editor .suggest-preview-additional-widget .button {
	display: inline-block;
	cursor: pointer;
	text-decoration: underline;
	text-underline-position: under;
}

.monaco-editor .ghost-text-hidden {
	opacity: 0;
	font-size: 0;
}

.monaco-editor .ghost-text-decoration,
.monaco-editor .suggest-preview-text .ghost-text {
	font-style: italic;
}

.monaco-editor .suggest-preview-text.clickable .view-line {
	z-index: 1;
}

.monaco-editor .ghost-text-decoration.clickable,
.monaco-editor .ghost-text-decoration-preview.clickable,
.monaco-editor .suggest-preview-text.clickable .ghost-text {
	cursor: pointer;
}

.monaco-editor .inline-completion-text-to-replace {
	text-decoration: underline;
	text-underline-position: under;
}

.monaco-editor .ghost-text-decoration,
.monaco-editor .ghost-text-decoration-preview,
.monaco-editor .suggest-preview-text .ghost-text {
	&.syntax-highlighted {
		opacity: 0.7;
	}
	&:not(.syntax-highlighted) {
		color: var(--vscode-editorGhostText-foreground);
	}
	background-color: var(--vscode-editorGhostText-background);
	border: 1px solid var(--vscode-editorGhostText-border);
}

.monaco-editor .ghost-text-decoration.warning,
.monaco-editor .ghost-text-decoration-preview.warning,
.monaco-editor .suggest-preview-text .ghost-text.warning {
	background: var(--monaco-editor-warning-decoration) repeat-x bottom left;
	border-bottom: 4px double var(--vscode-editorWarning-border);
}

.ghost-text-view-warning-widget-icon {
	.codicon {
		color: var(--vscode-editorWarning-foreground) !important;
	}
}

.monaco-editor {
	.edits-fadeout-decoration {
		opacity: var(--animation-opacity, 1);
		background-color: var(--vscode-inlineEdit-modifiedChangedTextBackground);
	}
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .sticky-widget {
	overflow: hidden;
	border-bottom: 1px solid var(--vscode-editorStickyScroll-border);
	width: 100%;
	-webkit-box-shadow: var(--vscode-editorStickyScroll-shadow) 0 4px 2px -2px;
	        box-shadow: var(--vscode-editorStickyScroll-shadow) 0 4px 2px -2px;
	z-index: 4;
	right: initial !important;
	margin-left: '0px';
}

.monaco-editor .sticky-widget .sticky-widget-line-numbers {
	float: left;
	background-color: var(--vscode-editorStickyScrollGutter-background);
}

.monaco-editor .sticky-widget.peek .sticky-widget-line-numbers {
	background-color: var(--vscode-peekViewEditorStickyScrollGutter-background);
}

.monaco-editor .sticky-widget .sticky-widget-lines-scrollable {
	display: inline-block;
	position: absolute;
	overflow: hidden;
	width: var(--vscode-editorStickyScroll-scrollableWidth);
	background-color: var(--vscode-editorStickyScroll-background);
}

.monaco-editor .sticky-widget.peek .sticky-widget-lines-scrollable {
	background-color: var(--vscode-peekViewEditorStickyScroll-background);
}

.monaco-editor .sticky-widget .sticky-widget-lines {
	position: absolute;
	background-color: inherit;
}

.monaco-editor .sticky-widget .sticky-line-number,
.monaco-editor .sticky-widget .sticky-line-content {
	color: var(--vscode-editorLineNumber-foreground);
	white-space: nowrap;
	display: inline-block;
	position: absolute;
	background-color: inherit;
}

.monaco-editor .sticky-widget .sticky-line-number .codicon-folding-expanded,
.monaco-editor .sticky-widget .sticky-line-number .codicon-folding-collapsed {
	float: right;
	-webkit-transition: var(--vscode-editorStickyScroll-foldingOpacityTransition);
	transition: var(--vscode-editorStickyScroll-foldingOpacityTransition);
	position: absolute;
	margin-left: 2px;
}

.monaco-editor .sticky-widget .sticky-line-content {
	width: var(--vscode-editorStickyScroll-scrollableWidth);
	background-color: inherit;
	white-space: nowrap;
}

.monaco-editor .sticky-widget .sticky-line-number-inner {
	display: inline-block;
	text-align: right;
}

.monaco-editor .sticky-widget .sticky-line-content:hover {
	background-color: var(--vscode-editorStickyScrollHover-background);
	cursor: pointer;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	@keyframes blink { 50% { border-color: orange; }  }
*/

.monaco-editor {
	.inline-edits-view-indicator {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;

		z-index: 34; /* Below the find widget */
		height: 20px;

		color: var(--vscode-inlineEdit-gutterIndicator-primaryForeground);
		background-color: var(--vscode-inlineEdit-gutterIndicator-background);
		border: 1px solid var(--vscode-inlineEdit-gutterIndicator-primaryBorder);
		border-radius: 3px;

		-webkit-box-align: center;

		    -ms-flex-align: center;

		        align-items: center;
		padding: 2px;
		padding-right: 10px;
		margin: 0 4px;

		/*
		animation: blink 1s;
		animation-iteration-count: 3;
		*/

		opacity: 0;

		&.contained {
			-webkit-transition: opacity 0.2s ease-in-out;
			transition: opacity 0.2s ease-in-out;
			-webkit-transition-delay: 0.4s;
			        transition-delay: 0.4s;
		}

		&.visible {
			opacity: 1;
		}

		&.top {
			opacity: 1;

			.icon {
				-webkit-transform: rotate(90deg);
				        transform: rotate(90deg);
			}
		}

		&.bottom {
			opacity: 1;

			.icon {
				-webkit-transform: rotate(-90deg);
				        transform: rotate(-90deg);
			}
		}

		.icon {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			    -ms-flex-align: center;
			        align-items: center;
			margin: 0 2px;
			-webkit-transform: none;
			        transform: none;
			-webkit-transition: -webkit-transform 0.2s ease-in-out;
			transition: -webkit-transform 0.2s ease-in-out;
			transition: transform 0.2s ease-in-out;
			transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
			.codicon {
				color: var(--vscode-inlineEdit-gutterIndicator-primaryForeground);
			}
		}

		.label {
			margin: 0 2px;

			display: -webkit-box;

			display: -ms-flexbox;

			display: flex;
			-webkit-box-pack: center;
			    -ms-flex-pack: center;
			        justify-content: center;
			width: 100%;
		}
	}

	.inline-edits-view .editorContainer {
		.preview .monaco-editor {
			.view-overlays .current-line-exact {
				border: none;
			}

			.current-line-margin {
				border: none;
			}
		}

		.inline-edits-view-zone.diagonal-fill {
			opacity: 0.5;
		}
	}

	.strike-through {
		text-decoration: line-through;
	}

	.inlineCompletions-line-insert {
		background: var(--vscode-inlineEdit-modifiedChangedLineBackground);
	}

	.inlineCompletions-line-delete {
		background: var(--vscode-inlineEdit-originalChangedLineBackground);
	}

	.inlineCompletions-char-insert {
		background: var(--vscode-inlineEdit-modifiedChangedTextBackground);
		cursor: pointer;
	}

	.inlineCompletions-char-delete {
		background: var(--vscode-inlineEdit-originalChangedTextBackground);
	}

	.inlineCompletions-char-delete.diff-range-empty {
		margin-left: -1px;
		border-left: solid var(--vscode-inlineEdit-originalChangedTextBackground) 3px;
	}

	.inlineCompletions-char-insert.diff-range-empty {
		border-left: solid var(--vscode-inlineEdit-modifiedChangedTextBackground) 3px;
	}

	.inlineCompletions-char-delete.single-line-inline { /* Editor Decoration */
		border: 1px solid var(--vscode-editorHoverWidget-border);
		margin: -2px 0 0 -2px;
	}

	.inlineCompletions-char-insert.single-line-inline { /* Inline Decoration */
		border-top: 1px solid var(--vscode-inlineEdit-modifiedBorder); /* TODO: Do not set border inline but create overlaywidget (like deletion view) */
		border-bottom: 1px solid var(--vscode-inlineEdit-modifiedBorder); /* TODO: Do not set border inline but create overlaywidget (like deletion view) */
	}
	.inlineCompletions-char-insert.single-line-inline.start {
		border-top-left-radius: 4px;
		border-bottom-left-radius: 4px;
		border-left: 1px solid var(--vscode-inlineEdit-modifiedBorder); /* TODO: Do not set border inline but create overlaywidget (like deletion view) */
	}
	.inlineCompletions-char-insert.single-line-inline.end {
		border-top-right-radius: 4px;
		border-bottom-right-radius: 4px;
		border-right: 1px solid var(--vscode-inlineEdit-modifiedBorder); /* TODO: Do not set border inline but create overlaywidget (like deletion view) */
	}

	.inlineCompletions-char-delete.single-line-inline.empty,
	.inlineCompletions-char-insert.single-line-inline.empty {
		display: none;
	}

	.inlineCompletions.strike-through {
		text-decoration-thickness: 1px;
	}

	/* line replacement bubbles */

	.inlineCompletions-modified-bubble {
		background: var(--vscode-inlineEdit-modifiedChangedTextBackground);
	}

	.inlineCompletions-original-bubble {
		background: var(--vscode-inlineEdit-originalChangedTextBackground);
	}

	.inlineCompletions-modified-bubble,
	.inlineCompletions-original-bubble {
		pointer-events: none;
		display: inline-block;
	}

	.inline-edit.ghost-text,
	.inline-edit.ghost-text-decoration,
	.inline-edit.ghost-text-decoration-preview,
	.inline-edit.suggest-preview-text .ghost-text {
		&.syntax-highlighted {
			opacity: 1 !important;
		}
		font-style: normal !important;
	}

	.inline-edit.modified-background.ghost-text,
	.inline-edit.modified-background.ghost-text-decoration,
	.inline-edit.modified-background.ghost-text-decoration-preview,
	.inline-edit.modified-background.suggest-preview-text .ghost-text {
		background: var(--vscode-inlineEdit-modifiedChangedTextBackground) !important;
		display: inline-block !important;
	}

	.inlineCompletions-original-lines {
		background: var(--vscode-editor-background);
	}
}

.monaco-menu-option {
	color: var(--vscode-editorActionList-foreground);
	font-size: 13px;
	padding: 0 4px;
	line-height: 28px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 4px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	border-radius: 3px;
	cursor: pointer;

	.monaco-keybinding-key {
		font-size: 13px;
		opacity: 0.7;
	}

	&.active {
		background: var(--vscode-editorActionList-focusBackground);
		color: var(--vscode-editorActionList-focusForeground);
		outline: 1px solid var(--vscode-menu-selectionBorder, transparent);
		outline-offset: -1px;

		.monaco-keybinding-key {
			color: var(--vscode-editorActionList-focusForeground);
		}
	}
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .goto-definition-link {
	text-decoration: underline;
	cursor: pointer;
	color: var(--vscode-editorLink-activeForeground) !important;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/


.monaco-editor.vs .valueSetReplacement {
	outline: solid 2px var(--vscode-editorBracketMatch-border);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.floating-menu-overlay-widget {
	padding: 0px;
	color: var(--vscode-button-foreground);
	background-color: var(--vscode-button-background);
	border-radius: 2px;
	border: 1px solid var(--vscode-contrastBorder);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	z-index: 10;
	-webkit-box-shadow: 0 2px 8px var(--vscode-widget-shadow);
	        box-shadow: 0 2px 8px var(--vscode-widget-shadow);
	overflow: hidden;

	.action-item > .action-label {
		padding: 5px;
		font-size: 12px;
		border-radius: 2px;
	}

	.action-item > .action-label.codicon {
		color: var(--vscode-button-foreground);
	}

	.action-item > .action-label.codicon:not(.separator) {
		padding-top: 6px;
		padding-bottom: 6px;
	}

	.action-item:first-child > .action-label {
		padding-left: 7px;
	}

	.action-item:last-child > .action-label {
		padding-right: 7px;
	}

	.action-item .action-label.separator {
		background-color: var(--vscode-menu-separatorBackground);
	}
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .linked-editing-decoration {
	background-color: var(--vscode-editor-linkedEditingBackground);

	/* Ensure decoration is visible even if range is empty */
	min-width: 1px;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .iPadShowKeyboard {
	width: 58px;
	min-width: 0;
	height: 36px;
	min-height: 0;
	margin: 0;
	padding: 0;
	position: absolute;
	resize: none;
	overflow: hidden;
	background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==") center center no-repeat;
	border: 4px solid #F6F6F6;
	border-radius: 4px;
}

.monaco-editor.vs-dark .iPadShowKeyboard {
	background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==") center center no-repeat;
	border: 4px solid #252526;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .detected-link,
.monaco-editor .detected-link-active {
	text-decoration: underline;
	text-underline-position: under;
}

.monaco-editor .detected-link-active {
	cursor: pointer;
	color: var(--vscode-editorLink-activeForeground) !important;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .tokens-inspect-widget {
	z-index: 50;
	-moz-user-select: text;
	 -ms-user-select: text;
	     user-select: text;
	-webkit-user-select: text;
	padding: 10px;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-editor.hc-black .tokens-inspect-widget, .monaco-editor.hc-light .tokens-inspect-widget {
	border-width: 2px;
}

.monaco-editor .tokens-inspect-widget .tokens-inspect-separator {
	height: 1px;
	border: 0;
	background-color: var(--vscode-editorHoverWidget-border);
}

.monaco-editor .tokens-inspect-widget .tm-token {
	font-family: var(--monaco-monospace-font);
}

.monaco-editor .tokens-inspect-widget .tm-token-length {
	font-weight: normal;
	font-size: 60%;
	float: right;
}

.monaco-editor .tokens-inspect-widget .tm-metadata-table {
	width: 100%;
}

.monaco-editor .tokens-inspect-widget .tm-metadata-value {
	font-family: var(--monaco-monospace-font);
	text-align: right;
}

.monaco-editor .tokens-inspect-widget .tm-token-type {
	font-family: var(--monaco-monospace-font);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor {
	.scroll-editor-on-middle-click-dot {
		cursor: all-scroll;
		position: absolute;
		z-index: 1;
		background-color: var(--vscode-editor-foreground, white);
		border: 1px solid var(--vscode-editor-background, black);
		opacity: 0.5;
		width: 5px;
		height: 5px;
		border-radius: 50%;
		-webkit-transform: translate(-50%, -50%);
		        transform: translate(-50%, -50%);

		&.hidden {
			display: none;
		}
	}

	&.scroll-editor-on-middle-click-editor * {
		cursor: all-scroll;
	}
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/


/* Default standalone editor fonts */
.monaco-editor {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;
	--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace;
}

.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label {
	stroke-width: 1.2px;
}

.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,
.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,
.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label {
	stroke-width: 1.2px;
}

.monaco-hover p {
	margin: 0;
}

/* See https://github.com/microsoft/monaco-editor/issues/2168#issuecomment-780078600 */
.monaco-aria-container {
	position: absolute !important;
	top: 0; /* avoid being placed underneath a sibling element */
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
}

.monaco-editor .synthetic-focus, .monaco-diff-editor .synthetic-focus,
.monaco-editor [tabindex="0"]:focus, .monaco-diff-editor [tabindex="0"]:focus,
.monaco-editor [tabindex="-1"]:focus, .monaco-diff-editor [tabindex="-1"]:focus,
.monaco-editor button:focus, .monaco-diff-editor button:focus,
.monaco-editor input[type=button]:focus, .monaco-diff-editor input[type=button]:focus,
.monaco-editor input[type=checkbox]:focus, .monaco-diff-editor input[type=checkbox]:focus,
.monaco-editor input[type=search]:focus, .monaco-diff-editor input[type=search]:focus,
.monaco-editor input[type=text]:focus, .monaco-diff-editor input[type=text]:focus,
.monaco-editor select:focus, .monaco-diff-editor select:focus,
.monaco-editor textarea:focus, .monaco-diff-editor textarea:focus {
	outline-width: 1px;
	outline-style: solid;
	outline-offset: -1px;
	outline-color: var(--vscode-focusBorder);
	opacity: 1
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .focused .selectionHighlight {
	background-color: var(--vscode-editor-selectionHighlightBackground);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid var(--vscode-editor-selectionHighlightBorder);
}
.monaco-editor.hc-black .focused .selectionHighlight, .monaco-editor.hc-light .focused .selectionHighlight {
	border-style: dotted;
}

.monaco-editor .wordHighlight {
	background-color: var(--vscode-editor-wordHighlightBackground);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid var(--vscode-editor-wordHighlightBorder);
}
.monaco-editor.hc-black .wordHighlight, .monaco-editor.hc-light .wordHighlight {
	border-style: dotted;
}

.monaco-editor .wordHighlightStrong {
	background-color: var(--vscode-editor-wordHighlightStrongBackground);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid var(--vscode-editor-wordHighlightStrongBorder);
}
.monaco-editor.hc-black .wordHighlightStrong, .monaco-editor.hc-light .wordHighlightStrong {
	border-style: dotted;
}

.monaco-editor .wordHighlightText {
	background-color: var(--vscode-editor-wordHighlightTextBackground);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid var(--vscode-editor-wordHighlightTextBorder);
}
.monaco-editor.hc-black .wordHighlightText, .monaco-editor.hc-light .wordHighlightText {
	border-style: dotted;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* stylelint-disable layer-checker */

.monaco-hover.workbench-hover {
	position: relative;
	font-size: 13px;
	line-height: 19px;
	/* Must be higher than sash's z-index and terminal canvases */
	z-index: 40;
	overflow: hidden;
	max-width: 700px;
	background: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
	border-radius: 5px;
	color: var(--vscode-editorHoverWidget-foreground);
	-webkit-box-shadow: 0 2px 8px var(--vscode-widget-shadow);
	        box-shadow: 0 2px 8px var(--vscode-widget-shadow);
}

.monaco-hover.workbench-hover .monaco-action-bar .action-item .codicon {
	/* Given our font-size, adjust action icons accordingly */
	width: 13px;
	height: 13px;
}

.monaco-hover.workbench-hover hr {
	border-bottom: none;
}

.monaco-hover.workbench-hover.compact {
	font-size: 12px;
}

.monaco-hover.workbench-hover.compact .monaco-action-bar .action-item .codicon {
	/* Given our font-size, adjust action icons accordingly */
	width: 12px;
	height: 12px;
}

.monaco-hover.workbench-hover.compact .hover-contents {
	padding: 2px 8px;
}

.workbench-hover-container.locked .monaco-hover.workbench-hover {
	outline: 1px solid var(--vscode-editorHoverWidget-border);
}
.workbench-hover-container:focus-within.locked .monaco-hover.workbench-hover {
	outline-color: var(--vscode-focusBorder);
}

.workbench-hover-pointer {
	position: absolute;
	/* Must be higher than workbench hover z-index */
	z-index: 41;
	pointer-events: none;
}

.workbench-hover-pointer:after {
	content: '';
	position: absolute;
	width: 5px;
	height: 5px;
	background-color: var(--vscode-editorHoverWidget-background);
	border-right: 1px solid var(--vscode-editorHoverWidget-border);
	border-bottom: 1px solid var(--vscode-editorHoverWidget-border);
}
.workbench-hover-container:not(:focus-within).locked .workbench-hover-pointer:after {
	width: 4px;
	height: 4px;
	border-right-width: 2px;
	border-bottom-width: 2px;
}
.workbench-hover-container:focus-within .workbench-hover-pointer:after {
	border-right: 1px solid var(--vscode-focusBorder);
	border-bottom: 1px solid var(--vscode-focusBorder);
}

.workbench-hover-pointer.left   { left: -3px; }
.workbench-hover-pointer.right  { right: 3px; }
.workbench-hover-pointer.top    { top: -3px; }
.workbench-hover-pointer.bottom { bottom: 3px; }

.workbench-hover-pointer.left:after {
	-webkit-transform: rotate(135deg);
	        transform: rotate(135deg);
}

.workbench-hover-pointer.right:after {
	-webkit-transform: rotate(315deg);
	        transform: rotate(315deg);
}

.workbench-hover-pointer.top:after {
	-webkit-transform: rotate(225deg);
	        transform: rotate(225deg);
}

.workbench-hover-pointer.bottom:after {
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}

.monaco-hover.workbench-hover a {
	color: var(--vscode-textLink-foreground);
}

.monaco-hover.workbench-hover a:focus {
	outline: 1px solid;
	outline-offset: -1px;
	text-decoration: underline;
	outline-color: var(--vscode-focusBorder);
}

.monaco-hover.workbench-hover a.codicon:focus,
.monaco-hover.workbench-hover a.monaco-button:focus {
	text-decoration: none;
}

.monaco-hover.workbench-hover a:hover,
.monaco-hover.workbench-hover a:active {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-hover.workbench-hover code {
	background: var(--vscode-textCodeBlock-background);
}

.monaco-hover.workbench-hover .hover-row .actions {
	background: var(--vscode-editorHoverWidget-statusBarBackground);
}

.monaco-hover.workbench-hover.right-aligned {
	/* The context view service wraps strangely when it's right up against the edge without this */
	left: 1px;
}

.monaco-hover.workbench-hover.right-aligned .hover-row.status-bar .actions {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}

.monaco-hover.workbench-hover.right-aligned .hover-row.status-bar .actions .action-container {
	margin-right: 0;
	margin-left: 16px;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .parameter-hints-widget {
	/* Must be higher than the sash's z-index and terminal canvases but lower than the suggest widget */
	z-index: 39;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	line-height: 1.5em;
	cursor: default;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
}

.hc-black .monaco-editor .parameter-hints-widget,
.hc-light .monaco-editor .parameter-hints-widget {
	border-width: 2px;
}

.monaco-editor .parameter-hints-widget > .phwrapper {
	max-width: 440px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
}

.monaco-editor .parameter-hints-widget.multiple {
	min-height: 3.3em;
	padding: 0;
}

.monaco-editor .parameter-hints-widget.multiple .body::before {
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	opacity: 0.5;
	border-left: 1px solid var(--vscode-editorHoverWidget-border);
}

.monaco-editor .parameter-hints-widget p,
.monaco-editor .parameter-hints-widget ul {
	margin: 8px 0;
}

.monaco-editor .parameter-hints-widget .monaco-scrollable-element,
.monaco-editor .parameter-hints-widget .body {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	min-height: 100%;
}

.monaco-editor .parameter-hints-widget .signature {
	padding: 4px 5px;
	position: relative;
}

.monaco-editor .parameter-hints-widget .signature.has-docs::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	padding-top: 4px;
	opacity: 0.5;
	border-bottom: 1px solid var(--vscode-editorHoverWidget-border);
}

.monaco-editor .parameter-hints-widget .code {
	font-family: var(--vscode-parameterHintsWidget-editorFontFamily), var(--vscode-parameterHintsWidget-editorFontFamilyDefault);
}

.monaco-editor .parameter-hints-widget .docs {
	padding: 0 10px 0 5px;
	white-space: pre-wrap;
}

.monaco-editor .parameter-hints-widget .docs.empty {
	display: none;
}

.monaco-editor .parameter-hints-widget .docs a {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .parameter-hints-widget .docs a:hover {
	color: var(--vscode-textLink-activeForeground);
	cursor: pointer;
}

.monaco-editor .parameter-hints-widget .docs .markdown-docs {
	white-space: initial;
}

.monaco-editor .parameter-hints-widget .docs code {
	font-family: var(--monaco-monospace-font);
	border-radius: 3px;
	padding: 0 0.4em;
	background-color: var(--vscode-textCodeBlock-background);
}

.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,
.monaco-editor .parameter-hints-widget .docs .code {
	white-space: pre-wrap;
}

.monaco-editor .parameter-hints-widget .controls {
	display: none;
	-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;
	min-width: 22px;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

.monaco-editor .parameter-hints-widget.multiple .controls {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0 2px;
}

.monaco-editor .parameter-hints-widget.multiple .button {
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	cursor: pointer;
}

.monaco-editor .parameter-hints-widget .button.previous {
	bottom: 24px;
}

.monaco-editor .parameter-hints-widget .overloads {
	text-align: center;
	height: 12px;
	line-height: 12px;
	font-family: var(--monaco-monospace-font);
}

.monaco-editor .parameter-hints-widget .signature .parameter.active {
	color: var(--vscode-editorHoverWidget-highlightForeground);
	font-weight: bold;
}

.monaco-editor .parameter-hints-widget .documentation-parameter > .parameter {
	font-weight: bold;
	margin-right: 0.5em;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.context-view {
	position: absolute;
}

.context-view.fixed {
	all: initial;
	font-family: inherit;
	font-size: 13px;
	position: fixed;
	color: inherit;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor {
	.editorPlaceholder {
		top: 0px;
		position: absolute;
		overflow: hidden;
		text-overflow: ellipsis;
		text-wrap: nowrap;
		pointer-events: none;

		color: var(--vscode-editor-placeholder-foreground);
	}
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.quick-input-widget {
	font-size: 13px;
}

.quick-input-widget .monaco-highlighted-label .highlight,
.quick-input-widget .monaco-highlighted-label .highlight {
	color: #0066BF;
}

.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight,
.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight {
	color: #9DDDFF;
}

.vs-dark .quick-input-widget .monaco-highlighted-label .highlight,
.vs-dark .quick-input-widget .monaco-highlighted-label .highlight {
	color: #0097fb;
}

.hc-black .quick-input-widget .monaco-highlighted-label .highlight,
.hc-black .quick-input-widget .monaco-highlighted-label .highlight {
	color: #F38518;
}

.hc-light .quick-input-widget .monaco-highlighted-label .highlight,
.hc-light .quick-input-widget .monaco-highlighted-label .highlight {
	color: #0F4A85;
}

.monaco-keybinding > .monaco-keybinding-key {
	background-color: rgba(221, 221, 221, 0.4);
	border: solid 1px rgba(204, 204, 204, 0.4);
	border-bottom-color: rgba(187, 187, 187, 0.4);
	-webkit-box-shadow: inset 0 -1px 0 rgba(187, 187, 187, 0.4);
	        box-shadow: inset 0 -1px 0 rgba(187, 187, 187, 0.4);
	color: #555;
}

.hc-black .monaco-keybinding > .monaco-keybinding-key {
	background-color: transparent;
	border: solid 1px rgb(111, 195, 223);
	-webkit-box-shadow: none;
	        box-shadow: none;
	color: #fff;
}

.hc-light .monaco-keybinding > .monaco-keybinding-key {
	background-color: transparent;
	border: solid 1px #0F4A85;
	-webkit-box-shadow: none;
	        box-shadow: none;
	color: #292929;
}

.vs-dark .monaco-keybinding > .monaco-keybinding-key {
	background-color: rgba(128, 128, 128, 0.17);
	border: solid 1px rgba(51, 51, 51, 0.6);
	border-bottom-color: rgba(68, 68, 68, 0.6);
	-webkit-box-shadow: inset 0 -1px 0 rgba(68, 68, 68, 0.6);
	        box-shadow: inset 0 -1px 0 rgba(68, 68, 68, 0.6);
	color: #ccc;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .rename-box {
	z-index: 100;
	color: inherit;
	border-radius: 4px;
}

.monaco-editor .rename-box.preview {
	padding: 4px 4px 0 4px;
}

.monaco-editor .rename-box .rename-input-with-button {
	padding: 3px;
	border-radius: 2px;
	width: calc(100% - 8px); /* 4px padding on each side */
}

.monaco-editor .rename-box .rename-input {
	width: calc(100% - 8px); /* 4px padding on each side */
	padding: 0;
}

.monaco-editor .rename-box .rename-input:focus {
	outline: none;
}

.monaco-editor .rename-box .rename-suggestions-button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 3px;
	background-color: transparent;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

.monaco-editor .rename-box .rename-suggestions-button:hover {
	background-color: var(--vscode-toolbar-hoverBackground)
}

.monaco-editor .rename-box .rename-candidate-list-container .monaco-list-row {
	border-radius: 2px;
}

.monaco-editor .rename-box .rename-label {
	display: none;
	opacity: .8;
}

.monaco-editor .rename-box.preview .rename-label {
	display: inherit;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.quick-input-widget {
	position: absolute;
	width: 600px;
	z-index: 2550;
	left: 50%;
	-webkit-app-region: no-drag;
	border-radius: 6px;
}

.quick-input-titlebar {
	cursor: -webkit-grab;
	cursor: grab;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
}

.quick-input-left-action-bar {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: 4px;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

/* give some space between input and action bar */
.quick-input-inline-action-bar > .actions-container > .action-item:first-child {
	margin-left: 5px;
}

/* center horizontally */
.quick-input-inline-action-bar > .actions-container > .action-item {
	margin-top: 2px;
}

.quick-input-title {
	cursor: -webkit-grab;
	cursor: grab;
	padding: 3px 0px;
	text-align: center;
	text-overflow: ellipsis;
	overflow: hidden;
}

.quick-input-right-action-bar {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-right: 4px;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.quick-input-right-action-bar > .actions-container {
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

.quick-input-right-action-bar > .actions-container > .action-item {
	margin-left: 4px;
}

.quick-input-titlebar .monaco-action-bar .action-label.codicon {
	background-position: center;
	background-repeat: no-repeat;
	padding: 2px;
}

.quick-input-description {
	margin: 6px 6px 6px 11px;
}

.quick-input-header .quick-input-description {
	margin: 4px 2px;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.quick-input-header {
	cursor: -webkit-grab;
	cursor: grab;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 6px 6px 2px 6px;
}

.quick-input-widget.hidden-input .quick-input-header {
	/* reduce margins and paddings when input box hidden */
	padding: 0;
	margin-bottom: 0;
}

.quick-input-and-message {
	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-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	min-width: 0;
	position: relative;
}

.quick-input-check-all {
	-ms-flex-item-align: center;
	    align-self: center;
	margin: 0;
}

.quick-input-widget .quick-input-header .monaco-checkbox {
	margin-top: 6px;
}

.quick-input-filter {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
}

.quick-input-box {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
}

.quick-input-widget.show-checkboxes .quick-input-box,
.quick-input-widget.show-checkboxes .quick-input-message {
	margin-left: 5px;
}

.quick-input-visible-count {
	position: absolute;
	left: -10000px;
}

.quick-input-count {
	-ms-flex-item-align: center;
	    align-self: center;
	position: absolute;
	right: 4px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.quick-input-count .monaco-count-badge {
	vertical-align: middle;
	padding: 2px 4px;
	border-radius: 2px;
	min-height: auto;
	line-height: normal;
}

.quick-input-action {
	margin-left: 6px;
}

.quick-input-action .monaco-text-button {
	font-size: 11px;
	padding: 0 6px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 25px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.quick-input-message {
	margin-top: -1px;
	padding: 5px;
	overflow-wrap: break-word;
}

.quick-input-message > .codicon {
	margin: 0 0.2em;
	vertical-align: text-bottom;
}

/* Links in descriptions & validations */
.quick-input-message a {
	color: inherit;
}

.quick-input-progress.monaco-progress-container {
	position: relative;
}

.quick-input-list {
	line-height: 22px;
}

.quick-input-widget.hidden-input .quick-input-list {
	margin-top: 4px;
	/* reduce margins when input box hidden */
	padding-bottom: 4px;
}

.quick-input-list .monaco-list {
	overflow: hidden;
	max-height: calc(20 * 22px);
	padding-bottom: 5px;
}

.quick-input-list .monaco-scrollable-element {
	padding: 0px 6px;
}

.quick-input-list .quick-input-list-entry {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0 6px;
}

.quick-input-list .quick-input-list-entry.quick-input-list-separator-border {
	border-top-width: 1px;
	border-top-style: solid;
}

.quick-input-list .monaco-list-row {
	border-radius: 3px;
}

.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border {
	border-top-style: none;
}

.quick-input-list .quick-input-list-label {
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.quick-input-widget .monaco-checkbox {
	margin-right: 0;
}

.quick-input-widget .quick-input-list .monaco-checkbox,
.quick-input-widget .quick-input-tree .monaco-checkbox {
	margin-top: 4px;
}

.quick-input-list .quick-input-list-icon {
	background-size: 16px;
	background-position: left center;
	background-repeat: no-repeat;
	padding-right: 6px;
	width: 16px;
	height: 22px;
	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;
}

.quick-input-list .quick-input-list-rows {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	height: 100%;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	margin-left: 5px;
}

.quick-input-list .quick-input-list-rows > .quick-input-list-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label,
.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	/* make sure the icon label grows within the row */
}

.quick-input-list .quick-input-list-rows > .quick-input-list-row .codicon[class*='codicon-'] {
	vertical-align: text-bottom;
}

.quick-input-list .quick-input-list-rows .monaco-highlighted-label > span {
	opacity: 1;
}

.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding {
	margin-right: 8px;
	/* separate from the separator label or scrollbar if any */
}

.quick-input-list .quick-input-list-label-meta {
	opacity: 0.7;
	line-height: normal;
	text-overflow: ellipsis;
	overflow: hidden;
}

/* preserve list-like styling instead of tree-like styling */
.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight {
	font-weight: bold;
	background-color: unset;
	color: var(--vscode-list-highlightForeground) !important;
}

/* preserve list-like styling instead of tree-like styling */
.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight {
	color: var(--vscode-list-focusHighlightForeground) !important;
}

.quick-input-list .quick-input-list-entry .quick-input-list-separator {
	margin-right: 4px;
	/* separate from keybindings or actions */
}

.quick-input-list .quick-input-list-entry-action-bar {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 0;
	    -ms-flex: 0;
	        flex: 0;
	overflow: visible;
}

.quick-input-list .quick-input-list-entry-action-bar .action-label {
	/*
	 * By default, actions in the quick input action bar are hidden
	 * until hovered over them or selected.
	 */
	display: none;
}

.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon {
	margin-right: 4px;
	padding: 2px;
}

.quick-input-list .quick-input-list-entry-action-bar {
	margin-top: 1px;
}

.quick-input-list .quick-input-list-entry-action-bar {
	margin-right: 4px;
	/* separate from scrollbar */
}

.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,
.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,
.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,
.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,
.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.quick-input-list > .monaco-list:focus .monaco-list-row.focused {
	outline: 1px solid var(--vscode-list-focusOutline) !important;
	outline-offset: -1px;
}

.quick-input-list > .monaco-list:focus .monaco-list-row.focused .quick-input-list-entry.quick-input-list-separator-border {
	border-color: transparent;
}

/* focused items in quick pick */
.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,
.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator {
	color: inherit
}

.quick-input-list .monaco-list-row.focused .monaco-keybinding-key {
	background: none;
}

.quick-input-list .quick-input-list-separator-as-item {
	padding: 4px 6px;
	font-size: 12px;
}

/* Quick input separators as full-row item */
.quick-input-list .quick-input-list-separator-as-item .label-name {
	font-weight: 600;
}

.quick-input-list .quick-input-list-separator-as-item .label-description {
	/* Override default description opacity so we don't have a contrast ratio issue. */
	opacity: 1 !important;
}

/* Hide border when the item becomes the sticky one */
.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border {
	border-top-style: none;
}

/* Give sticky row the same padding as the scrollable list */
.quick-input-list .monaco-tree-sticky-row {
	padding: 0 5px;
}

/* Hide the twistie containers so that there isn't blank indent */
.quick-input-list .monaco-tl-twistie {
	display: none !important;
}

/* Tree */

.quick-input-tree .monaco-list {
	overflow: hidden;
	max-height: calc(20 * 22px);
	padding-bottom: 5px;
}

.quick-input-tree .quick-input-tree-entry {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0 6px;
}

.quick-input-tree .quick-input-tree-label {
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.quick-input-tree .quick-input-tree-icon {
	background-size: 16px;
	background-position: left center;
	background-repeat: no-repeat;
	padding-right: 6px;
	width: 16px;
	height: 22px;
	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;
}

.quick-input-tree .quick-input-tree-rows {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	height: 100%;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	margin-left: 5px;
}

.quick-input-tree .quick-input-tree-rows > .quick-input-tree-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.quick-input-tree .quick-input-tree-rows > .quick-input-tree-row .monaco-icon-label,
.quick-input-tree .quick-input-tree-rows > .quick-input-tree-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	/* make sure the icon label grows within the row */
}

.quick-input-tree .quick-input-tree-rows > .quick-input-tree-row .codicon[class*='codicon-'] {
	vertical-align: text-bottom;
}

.quick-input-tree .quick-input-tree-rows .monaco-highlighted-label > span {
	opacity: 1;
}

.quick-input-tree .quick-input-tree-entry-action-bar {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 0;
	    -ms-flex: 0;
	        flex: 0;
	overflow: visible;
}

.quick-input-tree .quick-input-tree-entry-action-bar .action-label {
	/*
	 * By default, actions in the quick input action bar are hidden
	 * until hovered over them or selected.
	 */
	display: none;
}

.quick-input-tree .quick-input-tree-entry-action-bar .action-label.codicon {
	margin-right: 4px;
	padding: 2px;
}

.quick-input-tree .quick-input-tree-entry-action-bar {
	margin-top: 1px;
}

.quick-input-tree .quick-input-tree-entry-action-bar {
	margin-right: 4px;
	/* separate from scrollbar */
}

.quick-input-tree .quick-input-tree-entry .quick-input-tree-entry-action-bar .action-label.always-visible,
.quick-input-tree .quick-input-tree-entry:hover .quick-input-tree-entry-action-bar .action-label,
.quick-input-tree .quick-input-tree-entry.focus-inside .quick-input-tree-entry-action-bar .action-label,
.quick-input-tree .monaco-list-row.focused .quick-input-tree-entry-action-bar .action-label,
.quick-input-tree .monaco-list-row.passive-focused .quick-input-tree-entry-action-bar .action-label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.quick-input-tree > .monaco-list:focus .monaco-list-row.focused {
	outline: 1px solid var(--vscode-list-focusOutline) !important;
	outline-offset: -1px;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .unicode-highlight {
	border: 1px solid var(--vscode-editorUnicodeHighlight-border);
	background-color: var(--vscode-editorUnicodeHighlight-background);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-progress-container {
	width: 100%;
	height: 2px;
	overflow: hidden; /* keep progress bit in bounds */
}

.monaco-progress-container .progress-bit {
	width: 2%;
	height: 2px;
	position: absolute;
	left: 0;
	display: none;
}

.monaco-progress-container.active .progress-bit {
	display: inherit;
}

.monaco-progress-container.discrete .progress-bit {
	left: 0;
	-webkit-transition: width 100ms linear;
	transition: width 100ms linear;
}

.monaco-progress-container.discrete.done .progress-bit {
	width: 100%;
}

.monaco-progress-container.infinite .progress-bit {
	-webkit-animation-name: progress;
	        animation-name: progress;
	-webkit-animation-duration: 4s;
	        animation-duration: 4s;
	-webkit-animation-iteration-count: infinite;
	        animation-iteration-count: infinite;
	-webkit-transform: translate3d(0px, 0px, 0px);
	        transform: translate3d(0px, 0px, 0px);
	-webkit-animation-timing-function: linear;
	        animation-timing-function: linear;
}

.monaco-progress-container.infinite.infinite-long-running .progress-bit {
	/*
		The more smooth `linear` timing function can cause
		higher GPU consumption as indicated in
		https://github.com/microsoft/vscode/issues/97900 &
		https://github.com/microsoft/vscode/issues/138396
	*/
	-webkit-animation-timing-function: steps(100);
	        animation-timing-function: steps(100);
}

/**
 * The progress bit has a width: 2% (1/50) of the parent container. The animation moves it from 0% to 100% of
 * that container. Since translateX is relative to the progress bit size, we have to multiple it with
 * its relative size to the parent container:
 * parent width: 5000%
 *    bit width: 100%
 * translateX should be as follow:
 *  50%: 5000% * 50% - 50% (set to center) = 2450%
 * 100%: 5000% * 100% - 100% (do not overflow) = 4900%
 */
@-webkit-keyframes progress { from { -webkit-transform: translateX(0%) scaleX(1); transform: translateX(0%) scaleX(1) } 50% { -webkit-transform: translateX(2500%) scaleX(3); transform: translateX(2500%) scaleX(3) } to { -webkit-transform: translateX(4900%) scaleX(1); transform: translateX(4900%) scaleX(1) } }
@keyframes progress { from { -webkit-transform: translateX(0%) scaleX(1); transform: translateX(0%) scaleX(1) } 50% { -webkit-transform: translateX(2500%) scaleX(3); transform: translateX(2500%) scaleX(3) } to { -webkit-transform: translateX(4900%) scaleX(1); transform: translateX(4900%) scaleX(1) } }

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.editor-banner {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	cursor: default;
	width: 100%;
	font-size: 12px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	overflow: visible;

	height: 26px;

	background: var(--vscode-banner-background);
}


.editor-banner .icon-container {
	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;
	padding: 0 6px 0 10px;
}

.editor-banner .icon-container.custom-icon {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 16px;
	width: 16px;
	padding: 0;
	margin: 0 6px 0 10px;
}

.editor-banner .message-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	line-height: 26px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.editor-banner .message-container p {
	-webkit-margin-before: 0;
	        margin-block-start: 0;
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}

.editor-banner .message-actions-container {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	line-height: 26px;
	margin: 0 4px;
}

.editor-banner .message-actions-container a.monaco-button {
	width: inherit;
	margin: 2px 8px;
	padding: 0px 12px;
}

.editor-banner .message-actions-container a {
	padding: 3px;
	margin-left: 12px;
	text-decoration: underline;
}

.editor-banner .action-container {
	padding: 0 10px 0 6px;
}

.editor-banner {
	background-color: var(--vscode-banner-background);
}

.editor-banner,
.editor-banner .action-container .codicon,
.editor-banner .message-actions-container .monaco-link {
	color: var(--vscode-banner-foreground);
}

.editor-banner .icon-container .codicon {
	color: var(--vscode-banner-iconForeground);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .rendered-markdown kbd {
	background-color: var(--vscode-keybindingLabel-background);
	color: var(--vscode-keybindingLabel-foreground);
	border-style: solid;
	border-width: 1px;
	border-radius: 3px;
	border-color: var(--vscode-keybindingLabel-border);
	border-bottom-color: var(--vscode-keybindingLabel-bottomBorder);
	-webkit-box-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);
	        box-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);
	vertical-align: middle;
	padding: 1px 3px;
}

.rendered-markdown li:has(input[type=checkbox]) {
	list-style-type: none;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-link {
	color: var(--vscode-textLink-foreground);
}

.monaco-link:hover {
	color: var(--vscode-textLink-activeForeground);
}


/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-component.multiDiffEditor {
	background: var(--vscode-multiDiffEditor-background);

	position: relative;

	height: 100%;
	width: 100%;

	overflow-y: hidden;

	> div {
		position: absolute;
		top: 0px;
		left: 0px;

		height: 100%;
		width: 100%;

		&.placeholder {
			visibility: hidden;

			&.visible {
				visibility: visible;
			}

			display: grid;
			place-items: center;
			place-content: center;
		}
	}

	.active {
		--vscode-multiDiffEditor-border: var(--vscode-focusBorder);
	}

	.multiDiffEntry {
		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-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
		overflow: hidden;


		.collapse-button {
			margin: 0 5px;
			cursor: pointer;

			a {
				display: block;
			}
		}

		.header {
			z-index: 1000;
			background: var(--vscode-editor-background);

			&:not(.collapsed) .header-content {
				border-bottom: 1px solid var(--vscode-sideBarSectionHeader-border);
			}

			.header-content {
				margin: 8px 0px 0px 0px;
				padding: 4px 5px;

				border-top: 1px solid var(--vscode-multiDiffEditor-border);

				display: -webkit-box;

				display: -ms-flexbox;

				display: flex;
				-webkit-box-align: center;
				    -ms-flex-align: center;
				        align-items: center;

				color: var(--vscode-foreground);
				background: var(--vscode-multiDiffEditor-headerBackground);

				&.shadow {
					-webkit-box-shadow: var(--vscode-scrollbar-shadow) 0px 6px 6px -6px;
					        box-shadow: var(--vscode-scrollbar-shadow) 0px 6px 6px -6px;
				}

				.file-path {
					display: -webkit-box;
					display: -ms-flexbox;
					display: flex;
					-webkit-box-flex: 1;
					    -ms-flex: 1;
					        flex: 1;
					min-width: 0;

					.title {
						font-size: 14px;
						line-height: 22px;

						&.original {
							-webkit-box-flex: 1;
							    -ms-flex: 1;
							        flex: 1;
							min-width: 0;
							text-overflow: ellipsis;
						}
					}

					.status {
						font-weight: 600;
						opacity: 0.75;
						margin: 0px 10px;
						line-height: 22px;

						/*
							TODO@hediet: move colors from git extension to core!
						&.renamed {
							color: v ar(--vscode-gitDecoration-renamedResourceForeground);
						}

						&.deleted {
							color: v ar(--vscode-gitDecoration-deletedResourceForeground);
						}

						&.added {
							color: v ar(--vscode-gitDecoration-addedResourceForeground);
						}
						*/
					}
				}

				.actions {
					padding: 0 8px;
				}
			}


		}

		.editorParent {
			-webkit-box-flex: 1;
			    -ms-flex: 1;
			        flex: 1;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-orient: vertical;
			-webkit-box-direction: normal;
			    -ms-flex-direction: column;
			        flex-direction: column;

			border-bottom: 1px solid var(--vscode-multiDiffEditor-border);
			overflow: hidden;
		}

		.editorContainer {
			-webkit-box-flex: 1;
			    -ms-flex: 1;
			        flex: 1;
		}
	}
}

