body {
    font-size: 13px;
    color: #555;
}

h3 {
    font-size: 18px;
}

h4 {
    font-size: 14px;
}

.page-header {
    border-bottom: none;
    margin: 30px 0;
}

.page-header h2 {
    border-bottom: none;
    border-right: 1px solid #ccc;
    padding: 0 10px 0 0;
    margin: 0 10px 0 0;
    display: inline-block;
    vertical-align: middle;
}

.page-header span {
    font-size: 14px;
    font-weight: normal;
    vertical-align: middle;
}

.margin-0 {
    margin-bottom: 0;
}

.margin-10 {
    margin-bottom: 10px;
}

.margin-20 {
    margin-bottom: 20px;
}

.margin-30 {
    margin-bottom: 30px;
}

.margin-40 {
    margin-bottom: 40px;
}

.avatar {
    border: 1px solid #f4f6f8;
    border-radius: 3px;
    padding: 2px;
    margin-right: 10px;
    background: #fff;
    width: 150px;
    height: 150px;
    line-height: 144px;
    text-align: center;
    margin-right: 20px;
    margin: 20px auto;
}

.avatar img {
    width: 150px;
    height: 150px;
}

.avatar .initials {
    background: #AECBDF;
    color: white;
    font-size: 36px;
}

.data-row {
    display: flex;
    margin-bottom: 5px;
}

.data-row.highlight {
    font-weight: bold;
    background-color: #feffc0;
}

.data-row.highlight .data-name {
    background-color: #eeefaf;
}

.data-row .data-name {
    background: #e7e7e7;
    padding: 5px;
    flex: 0 0 140px;
    margin-right: 10px;
}

.data-row .data-value {
    flex: 1 1 auto;
    min-width: 0;
    padding-top: 5px;
}

.data-row .json-value {
    display: inline-block;
    vertical-align: top;
    max-width: 100%;
    overflow-x: auto;
    white-space: pre;
    font-family: monospace;
}

.data-row .spinner {
    position: relative;
    margin-left: 8px;
    vertical-align: inherit;
}

.info-right {
    border-left: 1px solid #ddd;
    padding-left: 30px;
}

.legacy-options label {
    font-weight: normal;
    margin-left: 3px;
}

.legacy-options input[type=checkbox] {
    vertical-align: middle;
    margin-top: -1px;
}

.devices {
    text-align: center;
    margin-top: 20px;
}

.devices .device {
    border-radius: 50%;
    border: 1px solid #e7e7e7;
    width: 50px;
    height: 50px;
    display: inline-block;
    margin-right: 10px;
    text-align: center;
    line-height: 50px;
    background: #efefef;
}

.devices .device.recent {
    background: #dff0d8;
    border: 1px solid #dff0d8;
}

.devices .device i {
    font-size: 26px;
    display: inline-block;
    vertical-align: middle;
    color: #fff;
}

.devices .device i.fa-mobile-phone {
    font-size: 38px;
}

.devices .device i.fa-tablet {
    font-size: 30px;
}

.user-activity {
    text-align: left;
    margin-top: 20px;
}

.user-activity .fa {
    font-size: 15px;
}

.user-activity .custom-icon {
    display: inline-block;
    height: 15px;
    width: 15px;
    background-size: 15px;
}

.user-activity .custom-icon.imindmap {
    background-image: url(../img/imindmap.png);
}

.user-activity .custom-icon.chromeWebStore {
    background-image: url(../img/chromeWebStore.png);
}

table.payments tbody>tr>td {
    height: 45px;
    vertical-align: middle;
}

table.payments tr.details td {
    background: #f9f9f9;
}

table.payments tr td.desc {
    border-top: none;
}

table.payments tr td.desc div.interesting-desc-line {
    color: darkgreen;
}

table.payments tr td.desc div.desc-line:not(:last-child) {
    margin-bottom: 10px;
}

table.payments tr.edit-payment-row td,
table.payments tr.refund-payment-row td,
table.payments tr.refunds-payment-row td {
    height: 0;
    padding: 0;
    border-top: 0;
}

table.payments tr.edit-payment-row td > div,
table.payments tr.refund-payment-row td > div {
    padding: 8px;
    border-top: 1px solid #ddd;
}

table.payments tr.refunds-payment-row td > div {
    padding: 8px 16px;
    border-top: 1px solid #ddd;
}

table.payments tr.refund-payment-row td .radio {
    display: inline-flex;
    position: relative;
    padding: 0;
    margin: 0 0 15px;
}

table.payments tr.refund-payment-row td label {
    margin: 0;
    padding: 0 15px 10px 38px;
    width: 280px;
}

table.payments tr.refund-payment-row td .reason-for-refund .input-group {
    width: 280px;
}

table.payments tr.refund-payment-row td label.well {
    padding: 10px 15px 10px 38px;
}

table.payments tr.refund-payment-row td .radio label.selected {
    cursor: default;
}

table.payments tr.refund-payment-row td .radio label input {
    left: 15px;
    top: 20px;
    position: absolute;
}

table.payments tr.refund-payment-row td .radio label strong {
    display: block;
    font-weight: bold;
    margin-bottom: 4px;
}

table.payments tr.refund-payment-row td .radio label em {
    display: block;
    font-size: 12px;
}

table.payments tr .actions {
    text-align: right;
}

table.payments tr .actions button {
    padding: 1px 3px;
    font-size: 10px;
    background: lightgrey;
    margin-left: 2px;
}

div.user-actions-header div.date,
div.user-actions-header div.type,
div.refunds-header div.amount,
div.refunds-header div.date,
div.refunds-header div.by,
div.refunds-header div.items {
    font-weight: bold;
}

div.refunds-header div.amount,
div.refunds-header div.date,
div.refunds-header div.by,
div.refunds-header div.items {
    padding: 8px;
    float: left;
    width: 200px;
}
div.refunds-header div.amount {
    margin-left: 20px;
    width: 140px;
}

div.user-actions-header div.date,
div.user-action-header div.date {
    padding: 8px;
    float: left;
    width: 200px;
}

div.user-action-header div.date {
    border-right: 1px solid #ddd;
}

div.user-actions-header div.type,
div.user-action-header div.type,
div.refunds-header div.icon {
    padding: 8px;
    margin-left: 200px;
}

div.refunds div.refund div.data-icon {
    padding: 8px;
    float: left;
    width: 20px;
}

div.refunds div.refund div.data-value {
    padding: 8px;
    float: left;
    width: 200px;
}

div.refunds div.refund div.data-value.amount {
    width: 140px;
}

div.user-actions,
div.refunds {
    background-color: #f5f5f5;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
    border: 1px solid #ddd;
    margin-bottom: 10px;
}

div.user-actions > div,
div.refunds > div {
    border-top: 1px solid #ddd;
}

div.user-actions div.data-name {
    background: #e7e7e7;
    padding: 8px;
    float: left;
    width: 200px;
}

div.user-actions div.data-value {
    background-color: #fff;
    padding: 8px;
    margin-left: 200px;
}

div.user-actions.error div.user-action-header {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}

div.user-actions.success div.user-action-header {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}

div.user-actions div.user-action-error-stack {
    padding: 8px;
}

div.user-actions div.user-action-error-stack pre {
    overflow: auto;
    word-wrap: normal;
    white-space: pre;
    margin: 0;
}

.stat {
    background: #3F7577;
    color: #fff;
    font-size: 42px;
    padding: 4px 25px;
}

.stat .count {
    vertical-align: middle;
}

.stat .desc {
    font-weight: normal;
    font-size: 18px;
    vertical-align: middle;
}

.stat.green {
    background: #67773F;
}

.stat.orange {
    background: #D36B19;
}

th.sortable {
    cursor: pointer;
}

.sortable:before {
    font-family: "FontAwesome";
    content: "\f0d7";
    display: inline;
    float: right;
    opacity: 0;
}

.sortable:hover {
    background-color: #eee;
}

.sortable.current {
    background-color: #eee;
}

.sortable.desc:hover:before {
    font-family: "FontAwesome";
    content: "\f0d7";
    display: inline;
    float: right;
    opacity: 1;
}

.sortable.asc:hover:before {
    font-family: "FontAwesome";
    content: "\f0d8";
    display: inline;
    float: right;
    opacity: 1;
}

.sortable.current.desc:before {
    font-family: "FontAwesome";
    content: "\f0d7";
    display: inline;
    float: right;
    opacity: 1;
}

.sortable.current.asc:before {
    font-family: "FontAwesome";
    content: "\f0d8";
    display: inline;
    float: right;
    opacity: 1;
}

.sortable.current.desc:hover:before {
    font-family: "FontAwesome";
    content: "\f0d8";
    display: inline;
    float: right;
    opacity: 1;
}

.sortable.current.asc:hover:before {
    font-family: "FontAwesome";
    content: "\f0d7";
    display: inline;
    float: right;
    opacity: 1;
}

.daterangepicker .ranges {
    width: 180px !important;
}

.date-picker-form {
    margin-bottom: 20px;
}

table.notes th {
    white-space: nowrap;
}

table.notes td {
    white-space: nowrap;
}

table.notes td.note {
    width: 100%;
    white-space: pre-wrap;
}

table.notes td.note-editor {
    width: 100%;
}

#note-form .submit,
.edit-note-form .submit {
    text-align: right;
}

table.notes td.note-editor {
    display: none;
}

table.notes .edits {
    color: rgba(0,0,0,0.3);
}

table.notes td.note .edit-note {
    cursor: pointer;
}

.avatar-small {
    border: 1px solid #f4f6f8;
    border-radius: 3px;
    padding: 2px;
    background: #fff;
    width: 40px;
    height: 40px;
    line-height: 32px;
    text-align: center;
    display: inline-block;
}

.avatar-small .initials {
    background: #AECBDF;
    color: white;
    font-size: 12px;
    padding: 1px 0 1px 0
}

.avatar-small img {
    width: 100%;
}

table.team tr td.member-name {
    width: 100%;
    vertical-align: middle;
}

table.team tr td.member-avatar {
    white-space: nowrap;
    vertical-align: middle;
}

table.team tr td.member-status {
    white-space: nowrap;
    vertical-align: middle;
    color: #ccc;
}
table.team tr.self {
    background-color: #f6f6f6;
}

.email-preferences h3 {
    display: inline-block;
    margin-left: 5px;
    line-height: 18px;
    font-weight: 400;
    vertical-align: text-top;
    margin-top: 0;
}

.email-preferences .btn {
    padding: 0 6px;
}

.email-preferences .email-settings {
    margin-left: 30px;
}
.email-preferences .email-settings .option:last-child {
    margin-bottom: 10px;
}
.email-preferences .email-settings .checkbox:last-child {
    margin-bottom: 20px;
}

.email-preferences .checkbox {
    margin-top: 0;
}

.email-preferences #emailSubmit > button {
    display: inline-block;
}

table .border-left {
    border-left: 2px solid #ddd;
}

table .text-center th {
    text-align: center;
}

table .sales {
    text-align: left;
}

table .revenue,
table .refunds,
table .mrr {
    text-align: right
}

.users-list > tbody > tr > td,
.users-list > thead > tr > td,
.users-list > thead > tr > th {
  padding: 0;
  vertical-align: middle;
}

.users-list tr.user td,
.users-list tr.user-list-header th {
  padding: 5px;
}

.users-list tr.users-list-actions .bulk-action-buttons {
    display: none;
}

.users-list tr .checkbox-block {
  width: 20px;
}

.users-list tr .checkbox-block input {
  cursor: pointer;
  width: 14px;
  height: 14px;
  margin-top: 5px;
  margin-left: 4px;
}

.users-list tr.users-list-actions td {
  padding: 5px;
}

.users-list tr.users-list-actions .arrow-container {
    margin: 3px -6px -3px 6px;
    height: 22px;
    width: 20px;
}

.btn-success.btn-outline.disabled {
    color: #005d00;
}

.nav-second-level li span {
    margin-left: 37px;
}
.table-responsive {
    width: 100%;
    margin-bottom: 15px;
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
}
.table-responsive > .table {
    margin-bottom: 0;
}
.table-responsive > .table > thead > tr > th,
.table-responsive > .table > tbody > tr > th,
.table-responsive > .table > tfoot > tr > th,
.table-responsive > .table > thead > tr > td,
.table-responsive > .table > tbody > tr > td,
.table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
}
.table-responsive > .table-bordered {
    border: 0;
}
.table-responsive > .table-bordered > thead > tr > th:first-child,
.table-responsive > .table-bordered > tbody > tr > th:first-child,
.table-responsive > .table-bordered > tfoot > tr > th:first-child,
.table-responsive > .table-bordered > thead > tr > td:first-child,
.table-responsive > .table-bordered > tbody > tr > td:first-child,
.table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
}
.table-responsive > .table-bordered > thead > tr > th:last-child,
.table-responsive > .table-bordered > tbody > tr > th:last-child,
.table-responsive > .table-bordered > tfoot > tr > th:last-child,
.table-responsive > .table-bordered > thead > tr > td:last-child,
.table-responsive > .table-bordered > tbody > tr > td:last-child,
.table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
}
.table-responsive > .table-bordered > tbody > tr:last-child > th,
.table-responsive > .table-bordered > tfoot > tr:last-child > th,
.table-responsive > .table-bordered > tbody > tr:last-child > td,
.table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
}

.user-addons-page .user-addon.disabled {
    background: #f2dede;
    color: #a94442;
}

.btn-primary.btn-outline:hover,
.btn-success.btn-outline:hover,
.btn-info.btn-outline:hover,
.btn-warning.btn-outline:hover,
.btn-danger.btn-outline:hover,
.btn-primary.btn-outline:focus,
.btn-success.btn-outline:focus,
.btn-info.btn-outline:focus,
.btn-warning.btn-outline:focus,
.btn-danger.btn-outline:focus,
.btn-primary.btn-outline:active,
.btn-success.btn-outline:active,
.btn-info.btn-outline:active,
.btn-warning.btn-outline:active,
.btn-danger.btn-outline:active,
.btn-primary.btn-outline.active,
.btn-success.btn-outline.active,
.btn-info.btn-outline.active,
.btn-warning.btn-outline.active,
.btn-danger.btn-outline.active,
.open .dropdown-toggle.btn-primary,
.open .dropdown-toggle.btn-success,
.open .dropdown-toggle.btn-info,
.open .dropdown-toggle.btn-warning,
.open .dropdown-toggle.btn-danger {
    color: #fff;
}

.refund-items-form-group .well {
    padding: 10px 15px 10px 38px;
    margin: 0;
    width: 280px;
}

.refund-items-form-group .refund-items-table .refund-items-row,
.disable-addons-table .disable-addons-row {
    cursor: pointer;
}

.refund-items-form-group .refund-items-table .refund-items-total-row {
    border-top: 1px solid #ddd;
    font-weight: bold;
}

.refund-items-form-group .refund-items-table .refund-items-checkbox,
.disable-addons-table .disable-addon-checkbox {
    cursor: inherit;
}

.refund-items-form-group .refund-items-table .refund-items-row td,
.refund-items-form-group .refund-items-table .refund-items-row th,
.disable-addons-table .disable-addons-row td,
.disable-addons-table .disable-addons-row th,
.add-addons-table td,
.add-addons-table th {
    padding: 3px 5px;
}

.refund-items-form-group .refund-items-table th,
.disable-addons-table th,
.add-addons-table th {
    text-align: center;
}

.refund-items-form-group .refund-items-table .refund-items-row.disabled,
.add-addons-table  .add-addons-row.disabled .addon-name {
    text-decoration: line-through;
}

.add-addons-table td,
.add-addons-table th {
    padding: 3px 5px;
}

.add-addons-table th {
    text-align: center;
}

.add-addons-table .add-addons.disabled {
    text-decoration: line-through;
}

.table-striped thead tr,
.table-striped tfoot tr {
    background: #428bca;
    color: #fff;
}
.table-striped thead tr .sortable.current,
.table-striped tfoot tr .sortable.current,
.table-striped thead tr .sortable:hover,
.table-striped tfoot tr .sortable:hover {
    background: #1f67a5;
    color: #fff;
}

.pagination {
    margin-top: 0;
}

.trial-table {
    display: table;
    border-spacing: 5px;
    border: 1px solid #e7e7e7;
}

.trial-table-row {
    display: table-row;
}

.trial-table-row-highlight > .trial-table-cell.trial-table-label {
    background: #eeefaf;
}

.trial-table-row-highlight > .trial-table-cell {
    background: #feffc0;
}

.trial-table-cell {
    display: table-cell;
    padding: 3px 10px;
    vertical-align: middle;
}

.trial-table-label {
    font-weight: bold;
    background: #e7e7e7;
    white-space: nowrap;
}

.trial-table ol {
    list-style-position: inside;
    padding-left: 0;
    margin: 0;
}

.trial-table:not(:last-child) {
    margin-bottom: 10px;
}

form#options {
    display: flex;
}

form#options fieldset {
    display: inline-block;
}

form#options fieldset legend {
    width: auto;
    padding: 0 10px;
    margin: 0;
    border-bottom: none;
    font-size: 15px;
}

.kpi-table tr.totals {
    border-top: 1px solid #ddd;
    font-weight: bold;
}

.kpi-table tr.totals th {
    text-align: center;
}

.kpi-table td.number {
    text-align: right;
}

.kpi-table {
    display: inline-block;
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.kpi-table thead th {
    position: sticky;
    top: 0;
    background-color: #eee;

    /* Here to force a redraw so borders actually get drawn on the sticky element */
    background-clip: padding-box;
}

.kpi-table tr.dates th {
    top: 1.3em;
}

.kpi-table th, .kpi-table td {
    border-left: 1px solid #ddd;
    padding: 0 0.5em;
}

.kpi-table tr:hover {
    background-color: #f9f9f9;
}

.kpi-table tr.subheader {
    font-weight: bold;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background-color: #f9f9f9;
}

.kpi-table tr:nth-of-type(1) th {
    text-align: center;
}

.kpi-table tr.subtotal,
.kpi-table tr.total {
    font-weight: bold;
    border-top: 1px solid #ddd;
}

.kpi-table td, .kpi-table th {
    white-space: nowrap;
}

#monthly-revenue-colgroup,
#monthly-deferred-balance-colgroup {
    border-left: 3px solid #ddd;
}

.revenue-total-header {
    background: #3e6484;
}

.user-type-highlight {
    display: inline-block;
    background-color: #feffc0;
    padding: 5px 15px;
    font-weight: bold;
}

.user-status-deleted {
    color: red;
}

.user-info {
    margin-bottom: 5px;
}

.user-info-image {
    display: inline-block;
}

.user-info-name {
    display: inline-block;
    margin-left: 5px;
}

.document-categories {
    display: flex;
    flex-direction: column;
    border: 1px solid #ddd;
    margin-bottom: 20px;
}

.document-categories .document-category.parent:nth-of-type(odd) {
    background-color: #f9f9f9;
}

.document-categories .document-category.parent {
    padding: 10px;
}

.document-categories .document-category a {
    display: block;
    text-decoration: none;
    padding: 8px 0;
    min-height: 35px;
    color: #707070;
    font-size: 16px;
}

.document-categories .document-category a:hover {
    color: #0090ff;
}

.document-categories .document-category.child a {
    padding: 8px 16px;
    font-size: 14px;
}

.document-categories .document-category.parent .document-category-meta {
    display: flex;
    align-items: center;
}

.document-categories .document-category.parent .document-category-meta button {
    margin-left: auto;
    flex-shrink: 0;
}

.document-categories .document-category.parent .document-category-children {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.document-categories .document-category.parent .create-document-category h3,
.document-categories .document-category.parent .create-document-category label {
    display: none;
}

.document-categories .document-category.parent .create-document-category form {
    display: flex;
    align-items: center;
    padding-left: 16px;
}

.document-categories .document-category.parent .create-document-category form .form-group {
    margin: 0;
}

.document-categories .document-category.parent .create-document-category form .form-group:not(:first-child) {
    margin-left: 10px;
}

#chargebee-tools-buttons {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

#chargebee-tools-buttons div:not(:last-child) {
    margin-bottom: 5px;
}

#chargebee-tools-buttons button:disabled {
    cursor: not-allowed;
    opacity: 0.75;
}

.chargebee-tool-content {
    display: none;
}

.chargebee-tool-buttons {
    margin-top: 10px;
}

#create-trial-subscription-content #trial-subscription-quantity-input,
#create-trial-subscription-content #trial-duration-input {
    width: 50px;
}

.help-link {
    font-weight: bold;
    padding: 3px 6px;
    background: #daf0fd;
    border-radius: 10px;
    border: 1px solid #428bca;
}

.reseller-portal-page-wrapper .pagination-bar {
    display: flex;
    align-items: center;
}

.reseller-portal-page-wrapper .pagination-bar .pagination {
    margin: 0;
}

.reseller-portal-page-wrapper .pagination-bar .btn-group,
.reseller-portal-page-wrapper .pagination-bar .showing,
.reseller-portal-page-wrapper .pagination-bar #toggle-create-vouchers-form,
.reseller-portal-page-wrapper .pagination-bar #toggle-create-invoice-form {
    margin-right: 10px;
}

.reseller-portal-page-wrapper #create-vouchers-form > .form-group:last-child,
.reseller-portal-page-wrapper #create-invoice-form > .form-group:last-child,
.reseller-portal-page-wrapper #filters-form > .form-group:last-child {
    margin-bottom: 0;
}

.user-stats-boxes .user-stats-box {
    padding: 5px;
    border: 1px solid #e7e7e7;
    margin-bottom: 20px;
}

.user-stats-boxes .user-stats-box:last-child {
    margin-bottom: 0;
}

.user-stats-boxes .user-stats-box .user-stats-box-title {
    text-align: center;
    background: #e7e7e7;
    font-weight: bold;
    padding: 3px 10px;
}

.user-stats-boxes .user-stats-box .user-stats-box-content {
    padding: 3px 10px;
}

.user-stats-boxes .user-stats-box .user-stats-table {
    display: table;
}

.user-stats-boxes .user-stats-box .user-stats-table .user-stats-table-row {
    display: table-row;
}

.user-stats-boxes .user-stats-box .user-stats-table .user-stats-table-row .user-stats-table-cell-left {
    display: table-cell;
    text-align: right;
}

.user-stats-boxes .user-stats-box .user-stats-table .user-stats-table-row .user-stats-table-cell-right {
    display: table-cell;
    padding-left: 10px;
}

#event-counts-date-range {
    text-align: center;
}

#event-counts-date-range .event-counts-date-input {
    line-height: revert;
}
