body {
    background-color: white;
    font-size: 1rem;
    line-height: 1.625rem;
    font-weight: 400;
    font-family: "Tofino", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica", sans-serif;
    color: #2a2a2a;
    margin: 0px;
}

main {
    margin: 10px;
}

header {
    background-color: rgb(34, 106, 106);
    color: white;
    padding: 0.8em;
    border-bottom: 3px solid rgb(186, 216, 95);
}

footer {
    margin: 10px;
    text-align: right;
}

header .atomist-logo {
    width: 100px;
}

header .around-page-title {
    display: table
}

header .page-title {
    display: table-cell;
    vertical-align: middle;
    font-weight: normal;
    font-size: 1.5em;
    font-size: 2rem;
    font-weight: 500;
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);
}

.actionItemBox {
    font-size: large;
    border: 2px solid;
    padding-left: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
    background: rgba(34, 106, 106, 0.2);
}

.scoreCategoryName {
    font-family: "American Typewriter", sans-serif;
}

.analysesProvenanceDetail {
    font-size: x-small;
    margin: 0;
}

.insightsImage {
    width: 1em;
    height: 1em;
}

/* analysis tracking page */

.typeThisAtCommandLine {
    font-family: "American Typewriter", sans-serif;
}

.ongoingAnalysis {
    padding: 5px;
    background-color: lightgreen;
}

.nongoingAnalysis {
    padding: 5px;
    background-color: lightgray;
}

div.repositoryColumns {
    display: flex;
}

div.repositoryColumns>div {
    border: 1px dotted blue;
    vertical-align: top;
    padding: 5px;
    overflow: scroll;
}

.keptExistingAnalysis {
    color: gray;
    font-style: italic;
}

.linkToSourceImage {
    width: 1em;
    height: 1em;
    border: 1px white outset;
}

.linkToInsightsImage {
    width: 1em;
    height: 1em;
    border: 1px white outset;
}

.analysisRepoDescription {
    margin: 0px;
}

.analysisTrackingRepo {
    margin: 5px;
    padding: 2px;
    padding-left: 5px;
    border-color: burlywood;
    border-width: 4px;
    border-style: ridge;
    background-color: antiquewhite;
}

.analysisTrackingRepo.Going {
    border-color: deeppink;
}

.analysisTrackingRepo.Stopped {
    border-color: forestgreen;
}

.analysisTrackingRepo.failed {
    border-color: crimson;
}

.analyzeRepoErrors {
    border-color: crimson;
    border-style: ridge;
    border-width: 3px;
    padding-left: 4px;
}

.failedAspect {
    border-color: crimson;
    border-style: ridge;
    border-width: 3px;
    padding-left: 4px;
    font-size: small;
    line-height: 1em;
    overflow: scroll;
    max-height: 1in;
}

.timeTakenToAnalyzeRepo {
    font-size: x-small;
}

.envisionSpeed {
    background-color: gray;
    color: transparent;
    white-space: nowrap;
}

.belowLow {
    display: inline-block;
    background-color: gray;
    white-space: nowrap;
}

.betweenLowAndHigh {
    display: inline-block;
    background-color: purple;
    white-space: nowrap;
}

.maxiestMax {
    text-align: right;
}

th.runHeader {
    font-size: small;
}

td.runTiming {
    font-size: small;
}

/* "explore" sunburst page */

.percentageOfProjectWithoutTag {
    width: 100%;
    background-color: grey;
    height: 10px;
    color: transparent;
}

.percentageOfProjectsWithTag {
    background-color: lightGreen;
    height: 100%;
    color: inherit;
}

.tagGroup {
    display: inline-block;
    margin: 5px;
    padding: 3px;
    border: 1px black solid;
    border-radius: 3px;
    vertical-align: top;
}

.taggydoober {
    width: 20px;
    display: none;
}

.errorTagGroup img.taggydoober {
    content: url("/taggydoober-error.png");
    display: inline;
}

.warnTagGroup img.taggydoober {
    content: url("/taggydoober-warning.png");
    display: inline;
}

.tagGroup form {
    display: inline;
}

.tagGroup input {
    margin: 0px 5px;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    color: transparent;
    border: 2px solid transparent;
}

.tagGroup input.requireButton {
    background-image: url(require.png);
}

.tagGroup input.resetTagSelection {
    background-image: url(reset.png);
}

.tagGroup input.excludeButton {
    background-image: url(exclude.png);
}

.requiredTag input.requireButton {
    border: groove;
    background-color: lightgray;
}

.excludedTag input.excludeButton {
    border: groove;
    background-color: lightgray;
}

.requiredTag input.excludeButton {
    opacity: 0.5;
}

.requiredTag span.tagDescription {
    font-weight: bold;
}

.excludedTag span.tagDescription {
    text-decoration: line-through;
}

.score {
    font-size: larger;
    font-family: "American Typewriter";
}

/* d3 sunburst stuff */

svg .slice {
    cursor: pointer;
}

svg .slice:hover {
    stroke-width: 2px;
    color: red;
}

svg .slice .main-arc {
    stroke: #fff;
    stroke-width: 1px;
}

svg .slice .hidden-arc {
    fill: none;
}

svg .slice text {
    pointer-events: none;
    dominant-baseline: middle;
    text-anchor: middle;
}

svg textPath.textOutline {
    fill: none;
    stroke: #fff;
    stroke-width: 5;
    stroke-linejoin: round;
}

svg .slice:hover textPath.textOutline {
    fill: none;
    stroke: #faa;
    stroke-width: 5;
    stroke-linejoin: round;
}

/*
 * set ideal button stuff, on sunburst page
 */

button {
    margin: 5px;
}

label[for="setIdeal"] | label[for="noteProblem"] {
    margin: 5px;
}

label.nothingToSay {
    outline-color: transparent;
}

label.error {
    color: red;
}

label.success {
    color: green;
}

.unfrozenLevelData {
    padding-left: 1em;
}

.frozenLevelData {
    padding-left: 1em;
}

/* Collapsible content stuff 
 * https://alligator.io/css/collapsible/
 */

.wrap-collapsible {
    margin-bottom: 1.2rem 0;
    padding-bottom: 1rem;
}

input[type='checkbox'].sneaky {
    display: none;
}

.lbl-toggle {
    display: block;
    font-weight: bold;
    font-size: 1.2rem;
    text-transform: uppercase;
    text-align: left;
    padding: 1rem;
    color: #2a2a2a;
    background: rgb(186, 216, 95);
    cursor: pointer;
    border-radius: 7px;
    transition: all 0.25s ease-out;
}

.lbl-toggle:hover {
    color: rgb(34, 106, 106);
}

.lbl-toggle::before {
    content: ' ';
    display: inline-block;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid currentColor;
    vertical-align: middle;
    margin-right: .7rem;
    transform: translateY(-2px);
    transition: transform .2s ease-out;
}

.toggle:checked+.lbl-toggle::before {
    transform: rotate(90deg) translateX(-3px);
}

.collapsible-content {
    max-height: 0px;
    overflow: hidden;
    transition: max-height .25s ease-in-out;
}

.toggle:checked+.lbl-toggle+.collapsible-content {
    max-height: none;
}

.toggle:checked+.lbl-toggle {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.collapsible-content .content-inner {
    background: rgba(186, 216, 95, 0.75);
    border-bottom: 1px solid rgba(186, 216, 95, .45);
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
    padding: .5rem 1rem;
}

.owner-collapsible .collapsible-content .content-inner {
    background: rgba(195, 204, 233, 0.75);
    border-bottom: 1px solid rgb(180, 181, 230, 0.45);
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
    padding: .5rem 1rem;
}

.owner-collapsible .lbl-toggle {
    display: block;
    font-weight: bold;
    font-size: 1.2rem;
    text-transform: uppercase;
    text-align: left;
    padding: 1rem;
    color: #2a2a2a;
    background: rgb(180, 181, 230);
    cursor: pointer;
    border-radius: 7px;
    transition: all 0.25s ease-out;
}

/* Sunburst page */

.sunburst .sunburstData {
    width: 180px;
    padding: 1em;
    display: inline-block;
    vertical-align: top
}

.sunburst .sunburstSvg {
    display: inline-block;
}