#gerrit_topmenu {
  font-size: 9pt;
  padding-top: 5px;
  padding-left: 5px;
  padding-right: 5px;
  background: #d4e9a9;
}
#gerrit_body {
  font-size: 11pt;
  padding-left: 5px;
  padding-right: 5px;
  width: 98%;
}
#gerrit_pagefooter {
  clear: both;
  margin-top: 15px;
  padding-top: 2px;
  margin-bottom: 15px;
}
#gerrit_btmmenu {
 clear: both;
}
#gerrit_btmmenu .gerrit-version,
#gerrit_btmmenu .gerrit-keyhelp {
  color: #a0adcc;
  right: 0;
  padding-right: 10px;
  text-align: right;
}
#gerrit_btmmenu .gerrit-version a,
#gerrit_btmmenu .gerrit-version a:visited,
#gerrit_btmmenu .gerrit-version a:hover {
  color: #2a5db0;
}


/** Widgets **/
.gwt-Button {
  white-space: nowrap;
}

.gerrit-Hyperlink {
  text-decoration: underline;
}

.gerrit-AccountName {
  white-space: nowrap;
}

.gerrit-visualtab {
  border: 1px dotted red;
}

.gerrit-whitespaceerror {
  background: red;
}

.gerrit-InputFieldTypeHint {
  color: grey;
}

.gerrit-SmallHeading {
  margin-top: 5px;
  font-weight: bold;
}

.gerrit-BlockHeader {
  font-size: small;
  font-weight: bold;
  background: #d4e9a9;
  padding: 0.2em 0.2em 0.2em 0.5em;
}


/** CommentPanel **/
.gerrit-CommentPanel {
  -moz-border-radius-topleft: 8px;
  -moz-border-radius-topright: 8px;
  -moz-border-radius-bottomleft: 0;
  -moz-border-radius-bottomright: 0;
  
  -webkit-border-top-left-radius: 8px;
  -webkit-border-top-right-radius: 8px;
  -webkit-border-bottom-left-radius: 0px;
  -webkit-border-bottom-right-radius: 0px;

  border-top: 1px solid lightgray;
  border-left: 1px solid lightgray;
  border-right: 1px solid lightgray;
}
.gerrit-CommentPanel-Last {
  -moz-border-radius-bottomleft: 8px;
  -moz-border-radius-bottomright: 8px;

  -webkit-border-bottom-left-radius: 8px;
  -webkit-border-bottom-right-radius: 8px;

  border-bottom: 1px solid lightgray;
}
.gerrit-CommentPanel-Header {
  cursor: pointer;
  width: 100%;
}
.gerrit-CommentPanel-Summary {
  color: #777777;
  white-space: nowrap;
  overflow: hidden;
}
.gerrit-CommentPanel-AuthorCell {
  font-weight: bold;
  white-space: nowrap;
}
.gerrit-CommentPanel-SummaryCell {
  width: 100%;
}
.gerrit-CommentPanel-DateCell {
  white-space: nowrap;
}
.gerrit-CommentPanel-Message {
  font-size: small;
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.gerrit-CommentPanel-Message p {
  margin-top: 0px;
  margin-bottom: 0px;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
.gerrit-CommentPanel-Buttons {
  margin-left: 0.5em;
}
.gerrit-CommentPanel-Buttons .gwt-Button {
  margin-right: 2em;
  font-size: 7pt;
  padding: 1px;
}

.gerrit-CommentEditorPanel textarea {
  margin-left: 0.5em;
  font-size: small;
  font-family: Arial Unicode MS,Arial,sans-serif;
}


/** TabPanel **/
.gwt-TabBar {
  border-bottom: 1px solid black;
}
.gwt-TabBar .gwt-TabBarFirst {
  display: none;
}
.gwt-TabBar .gwt-TabBarItem {
  margin: 0px;
  background: #d4e9a9;
  padding-top: 0.5em;
  padding-bottom: 1px;
  padding-left: 1em;
  padding-right: 1em;
  border-right: 1px solid black;
}
.gwt-TabBar .gwt-TabBarItem-selected {
  background: #ffffcc;
}
.gwt-TabBar .gwt-TabBarRest {
  background: #d4e9a9;
  padding-top: 0.5em;
  padding-bottom: 1px;
}
.gwt-TabBar .gwt-TabPanelBottom {
  background: #d4e9a9;
  border-top: 1px solid black;
  border-left: none;
  border-right: none;
  border-bottom: none;
  padding: 1px;
}
.gwt-TabPanel .gwt-TabPanelBottom {
  border: none;
}


/** Menu **/
.gerrit-LinkMenuBar {
  font-size: 9pt;
  display: inline;
  white-space: nowrap;
}
.gerrit-MenuItem {
  padding-left: 5px;
  padding-right: 5px;
}
.gerrit-LinkMenuItem-NotLast {
  border-right: 1px solid black;
}

.gerrit-topmenu {
  width: 100%;
}
.gerrit-topmenu-TDmenu {
  vertical-align: top;
}
.gerrit-topmenu-TDglue {
  width: 100%;
}
.gerrit-topmenu-menuLeft {
  width: 300px;
  border-left: 1px solid #d4e9a9;
  border-right: 1px solid #d4e9a9;
  border-bottom: 1px solid #d4e9a9;
}
.gerrit-topmenu-menuLeft .gwt-TabBarFirst {
  display: none;
}
.gerrit-topmenu-menuLeft .gwt-TabBarItem {
  margin: 0px;
  background: #d4e9a9;
  padding-top: 0px;
  padding-bottom: 1px;
  padding-left: 1em;
  padding-right: 1em;
  border-right: 1px solid black;
}
.gerrit-topmenu-menuLeft .gwt-TabBarItem-selected {
  background: #ffffcc;
}
.gerrit-topmenu-menuLeft .gwt-TabBarRest {
  background: #d4e9a9;
  padding-top: 0px;
}
.gerrit-topmenu-menuLeft .gwt-TabPanelBottom {
  background: #d4e9a9;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: none;
  padding: 1px;
}
.gerrit-topmenu-menuLeft .gerrit-MenuItem {
  padding-left: 1em;
  padding-right: 1em;
  border-right: none;
}

.gerrit-topmenu-menuRight {
  float: right;
  text-align: right;
}
.gerrit-MenuBarUserName {
  font-weight: bold;
  padding-left: 5px;
  padding-right: 5px;
  white-space: nowrap;
}
.gerrit-SearchPanel {
  white-space: nowrap;
}
.gerrit-SearchPanel .gwt-TextBox {
  font-size: 7pt;
}
.gerrit-SearchPanel .gwt-Button {
  font-size: 7pt;
  margin-left: 2px;
  padding: 1px;
}

/** RPC Status **/
.gerrit-RpcStatusPanel {
  position: absolute;
  left: 50%;
  float: left;
  top: 6px;
}

.gerrit-RpcStatus {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 10px;
  padding-right: 10px;
  text-align: center;
  font-weight: bold;
}

.gerrit-RpcStatus-Loading {
  background: #FFF1A8;
}


/** Error Dialog **/
.gerrit-ErrorDialog {
  margin: 10px 10px 10px 10px;
}

.gerrit-ErrorDialog-ErrorType {
  font-weight: bold;
  white-space: nowrap;
  margin-bottom: 15px;
}

.gerrit-ErrorDialog-Buttons {
  width: 100%;
  margin-top: 15px;
  text-align: right;
}
.gerrit-ErrorDialog-Buttons .gwt-Button {
  margin-left: 2em;
}


/** Screen **/
.gerrit-Screen {
}

.gerrit-ScreenHeader {
  white-space: nowrap;
  font-size: 16pt;
  margin: 3px 0 8px;
  text-overflow: ellipsis;
  overflow: hidden;
}


/** ChangeTable **/
.gerrit-ChangeTable {
  border-collapse: separate;
  border-spacing: 0;
}

.gerrit-ChangeTable .IconCell {
  width: 1px;
  padding: 0px;
  vertical-align: middle;
  border-bottom: 1px solid #d4e9a9;
}

.gerrit-ChangeTable .ChangeTypeCell {
  width: 1px;
  padding-left: 5px;
  padding-right: 5px;
  border-right: 1px solid #d4e9a9;
  border-bottom: 1px solid #d4e9a9;
  vertical-align: top;
}

.gerrit-ChangeTable .CommentCell {
  text-align: right;
  font-weight: bold;
  white-space: nowrap;
}
.gerrit-ChangeTable .CommentCell span.Drafts {
  color: #ff5555;
}

.gerrit-ChangeTable .FilePathCell {
  white-space: nowrap;
}

.gerrit-ChangeTable .FilePathCell .SourceFilePath {
  font-style: italic;
  font-size: 9pt;
}

.gerrit-ChangeTable .DiffLinkCell {
  white-space: nowrap;
}

.gerrit-ChangeTable .LeftMostCell {
  border-left: 1px solid #d4e9a9;
}

.gerrit-ChangeTable .DataCell {
  padding-left: 5px;
  padding-right: 5px;
  border-right: 1px solid #d4e9a9;
  border-bottom: 1px solid #d4e9a9;
}

.gerrit-AccountDashboard.gerrit-ChangeTable tr {
  color: #444444;
  background: #F6F6F6;
}
.gerrit-AccountDashboard.gerrit-ChangeTable tr a {
  color: #444444;
  text-decoration: none;
}
.gerrit-AccountDashboard.gerrit-ChangeTable .NeedsReview {
  font-weight: bold;
  color: #000000;
  background: #ffffff;
}

.gerrit-ChangeTable .ActiveRow,
.gerrit-AccountDashboard.gerrit-ChangeTable .ActiveRow {
  background: #ffffcc;
}
 
.gerrit-ChangeTable .C_ID {
  width: 3.5em;
}
.gerrit-ChangeTable .DataCell.C_ID {
  font-family: monospace;
}

.gerrit-ChangeTable .C_SUBJECT div {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.gerrit-ChangeTable .C_PROJECT {
  white-space: nowrap;
}

.gerrit-ChangeTable .C_LAST_UPDATE {
  white-space: nowrap;
  text-align: right;
  width: 1em;
}

.gerrit-ChangeTable .DataCell.GroupName {
  white-space: nowrap;
}

.gerrit-ChangeTable .DataCell.C_APPROVAL {
  width: 0.5em;
  text-align: center;
}
.gerrit-ChangeTable .DataCell.negscore {
  color: red;
}
.gerrit-ChangeTable .DataCell.posscore {
  color: #08a400;
}

.gerrit-ChangeTable .IconHeader {
  border-top: 1px solid white;
  border-bottom: 1px solid white;
  background-color: #d4e9a9;
}

.gerrit-ChangeTable .DataHeader {
  border: 1px solid white;
  padding: 2px 6px 1px;
  background-color: #d4e9a9;
  font-style: italic;
  white-space: nowrap;
  color: #000000;
}

.gerrit-ChangeTable .SectionHeader {
  border-top: 8px solid white;
  padding: 2px 6px 1px;
  background-color: #d4e9a9;
  white-space: nowrap;
  font-weight: bold;
  color: #000000;
}

.gerrit-ChangeTable .EmptySection {
  border-left: 1px solid #d4e9a9;
  border-right: 1px solid #d4e9a9;
  border-bottom: 1px solid #d4e9a9;
  font-style: italic;
  padding-left: 25px;
}

.gerrit-ChangeTable-PrevNextLinks {
  float: right;
  padding-right: 5px;
}
.gerrit-ChangeTable-PrevNextLinks td {
  width: 5em;
  text-align: right;
}
.gerrit-ChangeTable-PrevNextLinks .gwt-Hyperlink {
  font-size: 9pt;
  color: #2a5db0;
}


/** PatchScreen **/
.gerrit-PatchScreen-DisplayControls .gwt-CheckBox {
  margin-right: 1em;
}


/** PatchContentTable **/
.gerrit-PatchContentTable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.gerrit-PatchContentTable td {
  font-size: 8pt;
  font-family: monospace;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
}

.gerrit-PatchContentTable .IconCell {
  width: 1px;
  padding: 0px;
  vertical-align: middle;
}

.gerrit-PatchContentTable .DiffText {
  white-space: pre;
  padding-left: 0.2em;
}

.gerrit-PatchContentTable .DiffText-FILE_HEADER {
  color: grey;
  font-weight: bold;
}
.gerrit-PatchContentTable .DiffText-NO_LF {
  color: grey;
  font-weight: bold;
}
.gerrit-PatchContentTable .DiffText-HUNK_HEADER {
  color: blue;
}
.gerrit-PatchContentTable .DiffText-DELETE {
  color: #a00000;
}
.gerrit-PatchContentTable .DiffText-CONTEXT {
  color: grey;
}
.gerrit-PatchContentTable .DiffText-INSERT {
  color: #006000;
}

.gerrit-PatchContentTable tr.CommentHolder .DiffText {
  background: #F2F4F7;
  white-space: normal;
}
.gerrit-PatchContentTable .gerrit-CommentPanel {
  font-family: Arial Unicode MS,Arial,sans-serif;
}
.gerrit-PatchContentTable .gerrit-CommentPanel td {
  font-family: Arial Unicode MS,Arial,sans-serif;
}

.gerrit-PatchContentTable .FileColumnHeader {
  background: #d4e9a9;
  font-family: Arial Unicode MS,Arial,sans-serif;
  font-weight: bold;
  text-align: center;
}

.gerrit-PatchContentTable .LineNumber {
  padding-left: 0.2em;
  white-space: pre;
  width: 3.5em;
  text-align: right;
  border-right: thin solid #b0bdcc;
  padding-right: 0.2em;
}

.gerrit-PatchContentTable .NoLineLineNumber {
  font-family: monospace;
  width: 3.5em;
  padding-left: 0.2em;
  padding-right: 0.2em;
}

.gerrit-PatchContentTable .FileLine {
  padding-left: 0.2em;
  white-space: pre;
  padding-right: 0.2em;
}

.gerrit-PatchContentTable .FileLineNone {
  background: #eeeeee;
}
.gerrit-PatchContentTable .FileLine-DELETE {
  background: #ffeeee;
}
.gerrit-PatchContentTable .FileLine-CONTEXT {
}
.gerrit-PatchContentTable .FileLine-INSERT {
  background: #ddffdd;
}

.gerrit-PatchContentTable .SkipLine {
  font-family: Arial Unicode MS,Arial,sans-serif;
  text-align: center;
  font-style: italic;
  background: lightblue;
}
.gerrit-PatchContentTable .SkipLine div {
  display: inline;
}

.gerrit-PatchContentTable .ActiveRow {
  background: #ffffcc;
}
.gerrit-PatchContentTable .ActiveRow td.IconCell,
.gerrit-PatchContentTable .ActiveRow td.LineNumber,
.gerrit-PatchContentTable .ActiveRow td.FileLine,
.gerrit-PatchContentTable .ActiveRow td.DiffText {
  border-top: 1px solid blue;
  border-bottom: 1px solid blue;
}


/** Change **/
.gerrit-ChangeScreen-StarIcon {
  margin-right: 5px;
}

.gerrit-ChangeScreen .gwt-DisclosurePanel .header td {
  font-weight: bold;
  white-space: nowrap;
}

.gerrit-ChangeScreen .gwt-DisclosurePanel .complexHeader {
  white-space: nowrap;
}
.gerrit-ChangeScreen .gwt-DisclosurePanel .complexHeader span {
  white-space: nowrap;
}

.gerrit-PatchSetRevision {
  padding-left: 20px;
  font-size: 8pt;
}
.gerrit-PatchSetLink {
  padding-left: 0.5em;
  font-size: 8pt;
}

.gerrit-ChangeScreen .gwt-DisclosurePanel .content {
  margin-bottom: 10px;
}

.gerrit-ChangeScreen-Description {
  white-space: pre;
  font-family: monospace;
  font-size: small;
}
.gerrit-ChangeScreen-Description p {
  margin-top: 0px;
  padding-top: 0.5em;
}

.gerrit-ChangeComments {
  margin-left: 0.5em;
  margin-right: 0.5em;
  width: 60em;
}

.gerrit-InfoTable {
  border-collapse: collapse;
  border-spacing: 0;
}

.gerrit-InfoTable td {
  border-left: 1px solid #d4e9a9;
  border-bottom: 1px solid #d4e9a9;
  padding: 2px 6px 1px;
}

.gerrit-InfoTable td.header {
  background-color: #d4e9a9;
  border-left: 1px solid white;
  font-weight: normal;
  padding: 2px 4px 0 6px;
  font-style: italic;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.gerrit-InfoTable td.leftmost  {
}

.gerrit-InfoTable td.rightmost  {
  border-right: 1px solid #d4e9a9;
}

.gerrit-InfoTable td.approvalrole {
  width: 5em;
  border-left: none;
  font-style: italic;
  white-space: nowrap;
}

.gerrit-InfoTable td.approvalscore {
  text-align: center;
}
.gerrit-InfoTable td.negscore {
  color: red;
}
.gerrit-InfoTable td.posscore {
  color: #08a400;
}

.gerrit-InfoTable td.approvalhint {
  white-space: nowrap;
  background-left: 1px none;
  background-bottom: 1px none;
  border: none;
  color: #444444;
}

.gerrit-ChangeInfoBlock {
  margin-right: 15px;
}

.gerrit-InfoBlock {
  border-collapse: collapse;
  border-spacing: 0;
}

.gerrit-InfoBlock td {
  padding: 2px 4px 2px 6px;
  border-right: 1px solid #d4e9a9;
  border-bottom: 1px solid #d4e9a9;
  text-align: left;
  white-space: nowrap;
}

.gerrit-InfoBlock td.topmost {
  border-top: 1px solid #d4e9a9;
}

.gerrit-InfoBlock td.header {
  border-bottom: 1px solid white;
  background-color: #d4e9a9;
  font-style: italic;
  text-align: right;
}

.gerrit-InfoBlock td.bottomheader {
  border-bottom: 1px solid #d4e9a9;
}

.gerrit-InfoBlock td.closedstate {
  font-weight: bold;
}

.gerrit-InfoBlock td.permalink {
  border-right: 1px none;
  border-bottom: 1px none;
  text-align: right;
}
.gerrit-InfoBlock td.permalink div div {
  display: inline;
}

.gerrit-InfoBlock td.command {
  white-space: pre;
  font-family: monospace;
  font-size: 12px;
}

.gerrit-InfoBlock td.useridentity {
  white-space: nowrap;
}
.gerrit-ChangeInfoBlock td.changeid {
  font-size: x-small;
}


.gerrit-PatchSetInfoBlock {
  margin-bottom: 10px;
}
.gerrit-PatchSetUserIdentity {
  white-space: nowrap;
}
.gerrit-PatchSetUserIdentity .gwt-InlineLabel {
  margin-left: 0.2em;
}

.gerrit-PatchSetActions {
  margin-bottom: 10px;
}
.gerrit-PatchSetActions .gwt-Button {
  margin-right: 5px;
  font-size: 8pt;
}

.gerrit-ChangeScreen .gerrit-ApprovalTable {
  margin-top: 1em;
  margin-bottom: 1em;
}
.gerrit-MissingApprovalList {
  margin-top: 5px;
  margin-left: 1em;
  padding-left: 1em;
  margin-bottom: 0px;
}
.gerrit-MissingApproval {
  font-size: small;
  white-space: nowrap;
}
.gerrit-AddReviewer {
  margin-left: 1em;
  margin-top: 5px;
  white-space: nowrap;
}


/** SideBySideScreen **/
.gerrit-SideBySideScreen-SideBySideTable {
  width: 100%;
  border: 1px solid #B0BDCC;
  display: table;
}

.gerrit-SideBySideScreen-LinkTable {
  width: 100%;
}
.gerrit-SideBySideScreen-LinkTable td {
  width: 33%;
}

.gerrit-PatchNoDifference {
  margin-top: 1em;
  margin-bottom: 2em;
  margin-left: 1em;
  margin-right: 5em;
  font-weight: bold;
}

/** Patch History Table **/
.gerrit-PatchHistoryTable {
  width: auto;
  margin-bottom: 10px;
}

.gerrit-PatchHistoryTable .DataCell {
  white-space: nowrap;
}


/** AccountSettings  **/
.gerrit-SshPanel-username {
  font-family: monospace;
  font-size: small;
  margin-right: 0.2em;
}
.gerrit-SshKeyPanel-EncodedKey {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  font-family: monospace;
  font-size: small;
}
.gerrit-SshKeyPanel-Invalid {
  white-space: nowrap;
  color: red;
  font-weight: bold;
}
.gerrit-Identity-UntrustedExternalId {
  white-space: nowrap;
  color: red;
  font-weight: bold;
}

.gerrit-AccountInfoBlock {
  margin-bottom: 10px;
}
.gerrit-AccountContactPrivacyDetails {
  margin-left: 10px;
  margin-top: 5px;
  margin-bottom: 5px;
  width: 40em;
}
.gerrit-AccountContactOnFile {
  margin-left: 10px;
  margin-top: 5px;
  margin-bottom: 5px;
  font-weight: bold;
}

.gerrit-AddSshKeyPanel {
  margin-top: 10px;
  background-color: #d4e9a9;
  padding: 5px 5px 5px 5px;
}

.gerrit-SshHostKeyPanel {
  margin-top: 10px;
  border: 1px solid #d4e9a9;
  padding: 5px 5px 5px 5px;
}
.gerrit-SshHostKeyPanel-Heading {
  white-space: nowrap;
  margin-top: 5px;
  margin-left: 1em;
}
.gerrit-SshHostKeyPanel-FingerprintData {
  margin-left: 2em;
  white-space: nowrap;
  font-family: monospace;
  font-size: small;
}
.gerrit-SshHostKeyPanel-KnownHostEntry {
  margin-left: 2em;
  white-space: nowrap;
  font-family: monospace;
  font-size: small;
  overflow: hidden;
  width: 80em;
}
.gerrit-SshHostKeyPanel-KnownHostEntry .gwtexpui-Clippy-Control {
  display: block;
  margin-left: 0px;
  margin-top: 2px;
}

.gerrit-ContributorAgreement-Button {
  font-weight: bold;
}

.gerrit-ContributorAgreement-ShortDescription {
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 10px;
  padding: 5px 5px 5px 5px;
  border: 1px solid #b0bdcc;
}

.gerrit-ContributorAgreement-AlreadySubmitted {
  margin-left: 20px;
  margin-right: 20px;
  padding: 5px 5px 5px 5px;
  color: red;
}

.gerrit-ContributorAgreement-Legal {
  margin-left: 20px;
  margin-right: 20px;
  padding: 5px 5px 5px 5px;
  border: 1px solid #b0bdcc;
}

.gerrit-RegisterScreen-Section {
  margin-top: 2em;
}
.gerrit-RegisterScreen-Explain {
  margin-left: 10px;
  margin-top: 5px;
  margin-bottom: 5px;
  width: 45em;
}
.gerrit-RegisterScreen-NextLinks {
  margin-top: 2em;
}
.gerrit-RegisterScreen-NextLinks .gwt-InlineHyperlink {
  margin-left: 2em;
  white-space: nowrap;
}
.gerrit-RegisterScreen-Section .gerrit-ChangeTable {
  width: 45em;
}
.gerrit-RegisterScreen-Section .gerrit-AddSshKeyPanel {
  background: none;
}
.gerrit-RegisterScreen-Section .gerrit-SshHostKeyPanel {
  border: none;
}
.gerrit-RegisterScreen-Section .gerrit-SshHostKeyPanel .gerrit-SshHostKeyPanel-KnownHostEntry {
  width: 45em;
}

.gerrit-ProjectAdmin-ApprovalCategoryRangeLine {
  white-space: nowrap;
}
.gerrit-ProjectAdmin-ApprovalCategoryValue {
  font-family: monospace;
  font-size: small;
}


/** PublishCommentsScreen **/

.gerrit-PublishCommentsScreen .gerrit-SmallHeading {
  font-size: small;
  font-weight: bold;
  white-space: nowrap;
}
.gerrit-PublishCommentsScreen .gerrit-ApprovalCategoryList {
  margin-bottom: 10px;
  margin-left: 10px;
  background: #d4e9a9;
  width: 25em;
  white-space: nowrap;
  padding-top: 2px;
  padding-bottom: 2px;
}
.gerrit-PublishCommentsScreen .gerrit-CoverMessage {
  margin-left: 10px;
  padding: 5px 5px 5px 5px;
}
.gerrit-PublishCommentsScreen .gerrit-CoverMessage textarea {
  font-size: small;
}
.gerrit-PublishCommentsScreen .gerrit-ApprovalCategoryList .gwt-RadioButton {
  font-size: smaller;
}
.gerrit-PublishCommentsScreen .gerrit-PatchComments {
  margin-left: 1em;
  margin-right: 0.5em;
  margin-bottom: 0.5em;
}
.gerrit-PublishCommentsScreen .gwt-Hyperlink {
  white-space: nowrap;
  font-size: small;
}
.gerrit-PublishCommentsScreen .gerrit-LineHeader {
  white-space: nowrap;
  font-family: monospace;
  font-size: small;
  font-style: italic;
  padding-left: 3px;
}
.gerrit-PublishCommentsScreen .gerrit-CommentPanel {
  border: none;
  width: 35em;
}
.gerrit-PublishCommentsScreen .gerrit-CommentPanel-Content {
  -moz-border-radius-topleft: 8px;
  -moz-border-radius-topright: 8px;
  -moz-border-radius-bottomleft: 8px;
  -moz-border-radius-bottomright: 8px;
  
  -webkit-border-top-left-radius: 8px;
  -webkit-border-top-right-radius: 8px;
  -webkit-border-bottom-left-radius: 8px;
  -webkit-border-bottom-right-radius: 8px;

  border: 1px solid lightgray;
  padding-bottom: 1px;
}
.gerrit-PublishCommentsScreen .gerrit-CommentPanel-DateCell {
  display: none;
}


/** AbandonChangeDialog **/

.gerrit-AbandonChangeDialog .gwt-DisclosurePanel .header td {
  font-weight: bold;
  white-space: nowrap;
}

.gerrit-AbandonChangeDialog .gerrit-SmallHeading {
  font-size: small;
  font-weight: bold;
  white-space: nowrap;
}
.gerrit-AbandonChangeDialog .gerrit-AbandonMessage {
  margin-left: 10px;
  background: #d4e9a9;
  padding: 5px 5px 5px 5px;
}
.gerrit-AbandonChangeDialog .gerrit-AbandonMessage textarea {
  font-size: small;
}
.gerrit-AbandonChangeDialog .gwt-Hyperlink {
  white-space: nowrap;
  font-size: small;
}


/** OpenIdLoginPanel **/
.gerrit-OpenID-loginform {
  margin-left: 10px;
  margin-right: 10px;
}

.gerrit-OpenID-logobox {
  width: 98%;
  text-align: right;
}

.gerrit-OpenID-loginline {
  margin-bottom: 10px;
}
.gerrit-OpenID-loginline div {
  white-space: nowrap;
}

.gerrit-OpenID-openid_identifier {
  background: #ffffff url(openidlogin_bg1.cache.gif) no-repeat scroll 5px 50%;
  padding-left: 25px;
  border: 1px solid #999999;
  margin-right: 5px;
}

.gerrit-OpenID-directlink {
  vertical-align: middle;
  margin-right: 5px;
  color: blue;
}
.gerrit-OpenID-directlink:hover {
  text-decoration: underline;
}
.gerrit-OpenID-directlink img {
  margin-right: 3px;
  border: 0 none;
}

.gerrit-OpenID-errorline {
  padding-top: 5px;
  padding-bottom: 5px;
}
.gerrit-OpenID-errorline span {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 10px;
  padding-right: 10px;
  background: #fff1a8;
}


/** PatchBrowserPopup **/
.gerrit-PatchBrowserPopup {
  opacity: 0.90;
}
.gerrit-PatchBrowserPopup-Body {
  background: #ffffff;
  margin: 4px;
  opacity: 0.90;
}
