#structure {
  --tr-height: 32px;
}

#structure .tr {
  position: relative;
  height: var(--tr-height);
  border-bottom: 1px solid #eeeeee;
  margin: 0;
  padding: 0;
  display: flex;
}

/*z-index needed by IE */
#structure.ie .tr {
  z-index: 0;
}

#structure.ie .tr.s-edited {
  z-index: 1;
}

/*conflict*/
#structure .main .aui-shadow .tr {
  position: absolute;
  height: auto;
  border: none;
  background-color: transparent;
}

#structure .td {
  position: relative;
  height: calc(var(--tr-height) - 1);
  min-height: calc(var(--tr-height) - 1);
  margin: 0;
  padding: 0;
}

#structure .tr:not(.s-edited) .td {
  z-index: 101; /* a bit higher than z-index for #structure .grad */
}

#structure .celldiv {
  white-space: nowrap;
  padding-top: 7px; /* (rowHeight - lineHeight)/2 */
  padding-bottom: 7px;
  padding-left: 10px;
  position: relative;
  height: 18px;
  line-height: 18px;
  min-height: 18px;
  max-height: 18px;
  overflow: hidden;
}

#structure .celldiv .value {
  display: inline-block;
  white-space: nowrap;
  padding: 0;
  background: transparent;
  max-width: none;
}

/* generic rule */
#structure .tr:not(.s-wrapping) .celldiv:not([class*="customfield"]) .value * {
  display: inline;
  font-size: inherit;
  line-height: inherit;
  white-space: inherit;
}

/* overrides generic rule */
#structure .tr:not(.s-wrapping) .celldiv:not([class*="customfield"]) .value .s-summary-icon {
  display: block;
  font-size: 14px;
  line-height: 1;
}

/* overrides generic rule */
#structure .tr:not(.s-wrapping) .celldiv:not([class*="customfield"]) .value span.aui-lozenge {
  /* manually picked parameters to make lozenges show nicely next to summary */
  font-size: 11px;
  vertical-align: top;
  display: inline-block;
  block-size: 10px;
  line-height: 10px;
  margin-top: 1px;
}

/* overrides generic rule */
#structure .tr:not(.s-wrapping) .celldiv:not([class*="customfield"]) .value .s-user-field,
#structure .tr .celldiv .value .s-user-field,
#structure .s-overflow-hint .value .s-user-field {
  display: flex;
  align-items: center;
}

#structure .tr:not(.s-wrapping) .celldiv:not([class*="customfield"]) .value .s-user-field,
#structure .tr:not(.s-wrapping) .celldiv .value .s-user-field,
#structure .s-overflow-hint .value .s-user-field {
  margin-top: -3px;
}

/* overrides generic rule */
#structure .tr .celldiv:not([class*="customfield"]) .value .s-user-field * {
  display: block;
}

#structure .tr .celldiv .value .s-user-field .aui-avatar,
#structure .s-overflow-hint .value .s-user-field .aui-avatar {
  margin-right: 8px;
}

/* hide replaced and implicitly non-inline elements - except images and some tags */
#structure .tr:not(.s-wrapping) .celldiv:not([class*="customfield"]) .value input,
#structure .tr:not(.s-wrapping) .celldiv:not([class*="customfield"]) .value textarea,
#structure .tr:not(.s-wrapping) .celldiv:not([class*="customfield"]) .value br,
#structure .tr:not(.s-wrapping) .celldiv .value br,
#structure .tr:not(.s-wrapping) .celldiv:not([class*="customfield"]) .value select {
  display: none;
}

/* hide images and most everything in the main column */
#structure .tr:not(.s-wrapping) .celldiv:not([class*="customfield"]) .value .s-item-attribute img:not([class*="emoticon"]),
#structure .tr:not(.s-wrapping) .celldiv:not([class*="customfield"]) .value .s-item-attribute pre,
#structure .tr:not(.s-wrapping) .celldiv:not([class*="customfield"]) .value .s-item-attribute table {
  display: none;
}

#structure .tr .celldiv .value .aui-icon {
  display: inline-block;
  vertical-align: -3px;
}

#structure .celldiv .value > .aui-avatar,
#structure .s-cell-overflow-hint .value > .aui-avatar {
  vertical-align: middle;
  /** depends on .celldiv height and --aui-avatar-size Jira variable which equals 24px in Jira 8.12 */
  margin-top: -4px;
}

#structure .celldiv.s-f-thumbnail {
  height: 30px;
  max-height: 30px;
  padding-top: 1px;
  padding-bottom: 1px;
}

#structure .celldiv.s-f-thumbnail .value a {
  text-decoration: none;
}

#structure .celldiv .value ul.labels li {
  float: none;
  margin-right: 0;
}

#structure .celldiv .issue-link > img,
#structure .celldiv .s-icons > img,
#structure .s-cell-overflow-hint .s-icons > img {
  width: 16px;
  height: 16px;
  padding: 1px 0 1px;
}

.celldiv .s-parent-page:not(:last-of-type) {
  padding-right: 3px;
}

.celldiv .s-parent-page:not(:first-of-type) {
  padding-left: 3px;
}

#structure .celldiv .value .s-item-attribute {
  color: #6b778c;
}

#structure .celldiv .value .s-item-attribute:before {
  content: '•';
  padding: 0 5px;
  color: #172b4d;
}

#structure .celldiv .value . a,
#structure .celldiv .value .s-item-attribute a:visited,
#structure .celldiv .value .s-item-attribute a:active {
  color: #91a2b5;
}

/* prevent <sup> in item descriptions from affecting line-height */
#structure .celldiv .value .s-item-attribute sup {
  vertical-align: baseline;
  font-size: smaller;
  position: relative;
  top: -0.4em;
}

#structure .celldiv .value .s-item-attribute sub {
  font-size: smaller
}

/* **** */
/* ROW BACKGROUND COLORS AND GRADIENTS --- THE ORDER OF RULES IS IMPORTANT! */
/* **** */
#structure .tr {
  background-color: #ffffff;
}

#structure .tr.s-h-added,
#structure .tr.s-h-copied,
#structure .tr.s-h-movedTo {
  background-color: #f3fff3;
}

#structure .tr.s-h-removed,
#structure .tr.s-h-movedFrom {
  background-color: #fff3f3;
}

#structure .tr.rootpath {
  background-color: #fafafa;
}

#structure .tr.hrowf {
  background-color: #f0f0f0;
}

#structure .st-focused .tr.s-focused,
#structure .st-details-focused .tr.s-focused {
  background-color: #EAF1FD;
}

#st-edit-column .grad,
#structure .grad {
  position: absolute;
  top: 0;
  right: 0;
  height: var(--tr-height);
  width: 16px;
  z-index: 100; /* if you change that also change z-index in #structure .td */
  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.90) 70%, #ffffff 100%); /* FF 3.6+ */
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.90) 70%, #ffffff 100%); /* Chrome, Safari 4+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00FFFFFF', endColorstr='#FFFFFF', GradientType=1); /* IE 6-9 */
  background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.90) 70%, #ffffff 100%); /* IE 10+ */
  background: linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.90) 70%, #ffffff 100%); /* W3C */
}

#structure .s-h-added .grad,
#structure .s-h-copied .grad,
#structure .s-h-movedTo .grad {
  background: -moz-linear-gradient(left, rgba(243, 255, 243, 0) 0%, rgba(243, 255, 243, 1) 100%); /* FF 3.6+ */
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(243, 255, 243, 0)), color-stop(100%, rgba(243, 255, 243, 1))); /* Chrome, Safari 4+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00F3FFF3', endColorstr='#F3FFF3', GradientType=1); /* IE 6-9 */
  background: -ms-linear-gradient(left, rgba(243, 255, 243, 0) 0%, rgba(243, 255, 243, 1) 100%); /* IE 10+ */
  background: linear-gradient(left, rgba(243, 255, 243, 0) 0%, rgba(243, 255, 243, 1) 100%); /* W3C */
}

#structure .s-h-removed .grad,
#structure .s-h-movedFrom .grad {
  background: -moz-linear-gradient(left, rgba(255, 243, 243, 0) 0%, rgba(255, 243, 243, 1) 100%); /* FF 3.6+ */
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 243, 243, 0)), color-stop(100%, rgba(255, 243, 243, 1))); /* Chrome, Safari 4+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00FFF3F3', endColorstr='#FFF3F3', GradientType=1); /* IE 6-9 */
  background: -ms-linear-gradient(left, rgba(255, 243, 243, 0) 0%, rgba(255, 243, 243, 1) 100%); /* IE 10+ */
  background: linear-gradient(left, rgba(255, 243, 243, 0) 0%, rgba(255, 243, 243, 1) 100%); /* W3C */
}

#structure .rootpath .grad {
  background: -moz-linear-gradient(left, rgba(250, 250, 250, 0) 0%, rgba(250, 250, 250, 1) 100%); /* FF 3.6+ */
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(250, 250, 250, 0)), color-stop(100%, rgba(250, 250, 250, 1))); /* Chrome, Safari 4+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00FAFAFA', endColorstr='#FAFAFA', GradientType=1); /* IE 6-9 */
  background: -ms-linear-gradient(left, rgba(250, 250, 250, 0) 0%, rgba(250, 250, 250, 1) 100%); /* IE 10+ */
  background: linear-gradient(left, rgba(250, 250, 250, 0) 0%, rgba(250, 250, 250, 1) 100%); /* W3C */
}

#structure .hrow .grad {
  visibility: visible;
  background: -moz-linear-gradient(left, rgba(240, 240, 240, 0) 0%, rgba(240, 240, 240, 0.90) 69%, #f0f0f0 100%);
  background: -webkit-linear-gradient(left, rgba(240, 240, 240, 0) 0%, rgba(240, 240, 240, 0.90) 69%, #f0f0f0 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00F0F0F0', endColorstr='#F0F0F0', GradientType=1);
  background: -ms-linear-gradient(left, rgba(240, 240, 240, 0) 0%, rgba(240, 240, 240, 0.90) 69%, #f0f0f0 100%);
  background: linear-gradient(left, rgba(240, 240, 240, 0) 0%, rgba(240, 240, 240, 0.90) 69%, #f0f0f0 100%);
}

#structure .s-bganimation .alm-more-s,
#structure .s-bganimation .grad,
#structure .st-dnd-content .alm-more-s,
#structure .dragging .grad {
  visibility: hidden;
}

#structure .st-focused .tr.s-focused .s-editorpanel .s-editorborder .grad {
  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%); /* FF 3.6+ */
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, rgba(255, 255, 255, 1))); /* Chrome, Safari 4+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00FFFFFF', endColorstr='#FFFFFF', GradientType=1); /* IE 6-9 */
  background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%); /* IE 10+ */
  background: linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%); /* W3C */
}

#structure .st-focused .tr.s-focused .grad,
#structure .st-details-focused .tr.s-focused .grad {
  background: -moz-linear-gradient(left, rgba(234, 241, 253, 0) 0%, rgba(234, 241, 253, 0.90) 69%, #ebf1fd 100%); /* FF 3.6+ */
  background: -webkit-linear-gradient(left, rgba(234, 241, 253, 0) 0%, rgba(234, 241, 253, 0.90) 69%, #ebf1fd 100%); /* Chrome, Safari 4+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00EAF1FD', endColorstr='#EAF1FD', GradientType=1); /* IE 6-9 */
  background: -ms-linear-gradient(left, rgba(234, 241, 253, 0) 0%, rgba(234, 241, 253, 0.90) 69%, #ebf1fd 100%); /* IE 10+ */
  background: linear-gradient(left, rgba(234, 241, 253, 0) 0%, rgba(234, 241, 253, 0.90) 69%, #ebf1fd 100%); /* W3C */
}

#structure .th .grad {
  z-index: 90;
}

#structure .value p:not(.links-list .srissuepicker .link-content > p) {
  display: inline;
}

#structure .issueKey {
  padding-right: 0.5em;
}

#structure .tr.rootpathlast {
  border-color: #bbbbbb;
}

#structure .tr.root .offset {
  font-weight: bold;
}

#structure .rootpath .value {
  opacity: 0.7;
  background-color: inherit;
}

#structure .s-summary-icon,
#structure .s-service-desk-icon {
  flex: 0 0 18px;
  height: 18px; /* =: iconMaxHeight */

  /* compensating differences in .value line-height and .s-summary-icon line-height to make icons appear at the center */
  position: relative;

  /* gap before the text, picked manually */
  margin-right: 4px;

  overflow: hidden;
  text-align: center;

  /* default color for font icons */
  color: #6F6F6F;
}

/*todo review and either remove or make optional or make default*/
#structure.dim-icons .s-summary-icon {
  color: #ccc;
}

#structure .s-summary-icon .s-generator-icon,
#structure .s-summary-overflow-icon .s-generator-icon {
  color: #aa5500;
}

#structure .s-summary-icon .s-effector-icon,
#structure .s-summary-overflow-icon .s-effector-icon {
  color: #00A321;
}

#structure .s-stop-summary-icon .s-generator-icon {
  color: #333333;
}

#structure .tr .celldiv .value .s-summary-icon .s-no-summary-icon {
  /* overrides generic rule for all elements in .value */
  font-size: 10px;
}

.s-summary-icon > img,
.st-details-title-icon > img {
  /* scale down the image */
  max-width: 16px;
  max-height: 16px;
  padding: 1px 0 1px;
}

.s-summary-icon.s-dimmed-icons > img {
  filter: grayscale(100%);
  filter: url("data:image/svg+xml;utf8,&lt;svg xmlns=\'http://www.w3.org/2000/svg\'&gt;&lt;filter id=\'grayscale\'&gt;&lt;feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/&gt;&lt;/filter&gt;&lt;/svg&gt;#grayscale"); /* Firefox 10+, Firefox on Android */
  filter: gray; /* IE6-9 */
  -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
  opacity: 0.35;
}

.hrow .s-summary-icon.s-dimmed-icons > img, .s-focused .s-summary-icon.s-dimmed-icons > img {
  /* images become visible on hovered / focused row */
  filter: none;
  -webkit-filter: none;
  opacity: 1;
}

#structure .s-expander {
  visibility: hidden;
  display: inline;
  height: 14px; /* =: expanderHeight */
  font-size: 14px; /* = expanderHeight */
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  color: #7a869a;
  /* using padding and margin to set different taken area and clickable area */
  padding: 2px 0;
  margin: 0 3px; /* left=right=(levelOffset - expanderWidth) / 2 */
}

#structure .s-expander:before {
  content: " ";
  display: inline-block;
  width: 26px; /* =: expanderWidth */
  /* center vertically with baseline, but it results in a slightly lower icon */
  position: relative;
  top: -1px;
}

#structure .s-expander:hover {
  color: #344563;
}

#structure .collapsed .s-expander, #structure .expanded .s-expander {
  visibility: visible;
}

#structure .st-dnd-content .tr .s-expander {
  visibility: hidden;
}

#structure div.rootpath .s-expander {
  color: #cecece;
  cursor: default;
}

#structure .collapsed .s-expander:before {
  /* fa-caret-right */
  content: "\f0da";
}

#structure .expanded .s-expander:before {
  /* fa-caret-down */
  content: "\f0d7";
}

#structure .tr .celldiv .value > .s-summary + span.aui-lozenge {
  margin-left: 5px;
  margin-right: 2px;
}

#structure .tr .celldiv span.generator-summary,
#structure .s-summary-overflow-hint span.generator-summary {
  color: #AA5500;
}

#structure .tr .celldiv span.effector-summary,
#structure .s-summary-overflow-hint span.effector-summary {
  color: #00A321;
}

span.automation-parameter {
  font-weight: bolder;
}

#structure .automation-parameter.invalid, #structure .automation-parameter.invalid, .st-cgen-hint .automation-parameter.invalid {
  font-style: italic;
  color: #D04437;
}

#structure .dimmed .value {
  opacity: 0.4;
  background-color: inherit;
}

#structure .celldiv, #structure .td {
  background-color: inherit;
}

/* workaround for https://bugs.webkit.org/show_bug.cgi?id=4059 */
#structure.webkit .s-bganimation .celldiv, #structure.webkit .s-bganimation .td, #structure.webkit .s-bganimation .value {
  background-color: transparent;
}

#structure.ie .s-bganimation .celldiv, #structure.ie .s-bganimation .td, #structure.ie .s-bganimation .value {
  background-color: transparent;
}

#structure .dimmed.hrow .value, #structure .dimmed.hrowf .value {
  opacity: 1;
}

#structure .tr span.s-aggr-own,
#structure .s-overflow-hint span.s-aggr-own {
  margin-left: 1em;
  color: #aaa;
}

#structure .tr .celldiv.s-main {
  display: flex;
}

#structure .tr .celldiv.s-main .value {
  display: inline-flex;
  flex-grow: 1;
}

.tr.s-type-loop-marker .celldiv:not(.s-main) .value,
.tr.s-type-loop-marker .celldiv.s-main .s-summary-content {
  opacity: 0.5;
  filter: grayscale(100%); /* Firefox 35+ */
  filter: gray; /* IE6-9 */
  -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
}

#structure .tr.s-type-loop-marker .s-summary-icon {
  color: #2e83ff;
}

#structure .tr .celldiv .value .s-summary-icon .alm {
  font-size: 16px;
  line-height: 1;
}

#structure .tr .celldiv .value .s-summary-icon .alm-folder,
#structure .tr .celldiv .value .s-summary-icon .alm-sprint,
#structure .tr .celldiv .value .s-summary-icon .alm-loop {
  vertical-align: -3px;
}

#structure .tr .celldiv .value .s-summary-icon .s-fa-fw {
  vertical-align: -2px;
}

/* Otherwise it would show the ADG component icon ("lego brick") instead of the Jira icon ("tiles"). */
#structure .tr .celldiv .value .aui-iconfont-component::before {
  font-family: "Atlassian Icons";
}

#structure .tr .celldiv .value .s-version-icon-archived {
  opacity: 0.5;
}

.s-type-project .s-summary {
  font-weight: bolder;
  font-kerning: normal;
}

.s-i-loading-failed {
  color: #999;
  font-style: italic;
}

/* display structures */
.tr.s-type-structure .value {
  font-weight: bold;
  color: #555;
}

#structure .sd-request-type.sd-request-type-column-view > img {
  max-width: 21px;
  max-height: 16px;
  padding: 0 5px 0 0;
}

#structure .td.s-outdated-value .celldiv {
  opacity: 0.33;
}

#structure .td.s-absent-value .alm-more-s {
  display: none;
}

.s-absent {
  display: inline-block;
  width: 100%;
  color: #d4d8e2;
  text-overflow: ellipsis;
  overflow: hidden;
}

.s-absent.alm {
  font-size: 10px;
}

.s-absent.alm-fw,
.safari .s-absent.alm-fw.s-absent-animated.s-dots-overflow {
  text-align: center;
}

.s-absent.alm-fw.s-absent-animated.s-dots-overflow {
  text-align: start;
}

.s-absent-static {
  width: 100%;
  letter-spacing: 4px;
}

.s-absent-animated > .s-absent-static {
  display: none;
}

@keyframes s-text-lightening {
  from {
    color: #555;
  }
  50% {
    color: #97a0af;
  }
  to {
    color: #d4d8e2;
  }
}

.s-absent-dot {
  display: inline-block;
  padding-right: 4px;
  animation-name: s-text-lightening;
}

#structure .value .links-list .srissuepicker ul.link-snapshot {
  text-align: start;
  width: 100px;
}

#structure .value .links-list .srissuepicker {
  padding-right: 0;
}

#structure .value .links-list {
  display: flex;
}

#structure .tr.s-wrapping .value .links-list,
#structure .s-overflow-hint .value .links-list {
  flex-direction: column;
}

#structure .value .links-list .srissuepicker .link-content {
  display: flex;
  padding: 0;
}

#structure .tr.s-wrapping .value .links-list .srissuepicker .link-content,
#structure .s-overflow-hint .value .links-list .srissuepicker .link-content {
  flex-wrap: wrap;
}

#structure .tr.s-wrapping .value .links-list .srissuepicker .link-content *:not(.status > span),
#structure .s-overflow-hint .value .links-list .srissuepicker .link-content *:not(.status > span) {
  white-space: normal;
}