/* Variables */
:root {
    --chart-main-rgb: 68, 164, 49;
    --chart-series-a-rgb: var(--chart-main-rgb);
    --chart-series-b-rgb: 245, 0, 0;
    --chart-series-c-rgb: 0, 109, 242;
    --chart-series-d-rgb: 255, 188, 4;
    --chart-series-e-rgb: 160, 98, 75;
}

/* General and site-wide Bootstrap modifications */
p {
    margin-bottom: 1.5rem;
}

hr.primary {
    width: 50px;
    height: 3px;
    background: var(--btcpay-primary);
    display: inline-block;
}

.no-gutter > [class*='col-'] {
    padding-right: 0;
    padding-left: 0;
}

.hide-when-js,
.input-group-clear {
    display: none;
}

.input-group-clear .icon {
    --btn-icon-size: .65rem;
}

.note-editable {
    color: var(--btcpay-form-text);
    background-color: var(--btcpay-form-bg);
}

.wraptextAuto {
    max-width: 300px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: block;
    white-space: nowrap;
}

@media (min-width: 768px) {
    .text-md-nowrap {
        white-space: nowrap;
    }
}

@media (min-width: 768px) {
    .wraptextAuto {
        max-width: 600px;
    }
}

.smMaxWidth {
    max-width: 150px;
}

@media (min-width: 768px) {
    .smMaxWidth {
        max-width: 300px;
    }
}

@media (min-width: 1400px) {
    .col-xxl-constrain {
        max-width: 800px;
    }
}

a.unobtrusive-link {
    color: inherit;
    text-decoration: inherit;
}

.btn.btn-link:focus {
    box-shadow: none;
}

[aria-expanded] > svg.icon-caret-down {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-left: auto;
    transition: transform 0.2s ease-in-out;
}

[aria-expanded="true"] > svg.icon-caret-down {
    transform: rotate(-180deg);
}

/* Badges */
.badge-pending,
.badge-new {
    background: #d4edda;
    color: #000;
}

.badge-expired {
    background: #eee;
    color: #000;
}

.badge-invalid {
    background: #c94a47;
    color: #fff;
}

.badge-processing {
    background: #f1c332;
    color: #000;
}

.badge-settled {
    background: #329f80;
    color: #fff;
}

/* Info icons in main headline */
h2 small .fa-question-circle-o {
    position: relative;
    top: -.1rem;
    font-size: var(--btcpay-font-size-l);
}

/* Invoices */
.invoice-details-row {
    background: var(--btcpay-bg-tile);
}
.badge .dropdown-toggle {
    cursor: pointer;
    padding: 0;
}
@media (min-width: 1200px) {
    #MassAction {
        margin-top: -4rem;
    }
}
/* Prevent layout from breaking on hyperlinks with very long URLs as the visible text */
.invoice-details a {
    word-break: break-word;
}

#qrCode {
    padding: 10px;
    background: white;
    display: inline-block;
}

.feedback-icon-loading {
    color: orange;
}
.feedback-icon-success {
    color: green;
}
.feedback-icon-failed {
    color: red;
}

.pin-button {
    height: 135px;
    margin-top: 20px;
    background-color: white;
    border: solid lightgray 4px;
    cursor: pointer;
}

.pin-button:hover {
    background-color: lightgray;
}

[v-cloak] { display: none !important; }
[v-cloak-loading] > * { display: none !important; }
[v-cloak-loading]::before { content: "loading…" }

.list-group-item a:not(.btn) {
  color: inherit;
}

.list-group-item .icon-caret-right {
    flex: 0 0 24px;
    height: 24px;
    align-self: center;
}

.content-wrapper {
    padding: 50px 0;
}

@media screen and (min-width: 768px) {
    .content-wrapper {
        padding: 75px 0;
    }
}

[class*="field-validation"]:not(:empty) {
    display: inline-block;
    margin-top: .5rem;
}

/* Print */
@media print {
    .table td,
    .table th {
        background: transparent;
    }
    .bg-tile.h-100.p-3 {
        padding: 1rem 0 !important;
    }
    .text-print-default {
        color: inherit !important;
    }
    a {
        text-decoration: none !important;
    }
    .toasted-container {
        display: none !important;
    }
    #markStatusDropdownMenuButton {
        border: 0;
        background: transparent;
        padding: 0 !important;
        color: inherit;
        font-weight:  var(--btcpay-font-weight-normal);
        font-size: var(--btcpay-body-font-size);
    }
    #markStatusDropdownMenuButton::after {
        content: none;
    }
}

/* Richtext editor */
.note-editor .table.table-sm {
    border-collapse: collapse !important;
}

.note-editor .table.table-sm th,
.note-editor .table.table-sm td {
    border: 1px dotted var(--btcpay-neutral-400);
}

/* Icons */
svg.icon {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0 !important;
}

svg.icon-note {
  color: var(--btcpay-neutral-500);
}

/* Services */
.services-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--btcpay-space-l);
}

.services-list .service {
    --service-width: 100px;
    flex: 0 0 var(--service-width);
    text-align: center;
}

.services-list .service img {
    width: var(--service-width);
    height: var(--service-width);
}

.services-list .service h6 {
    margin: var(--btcpay-space-m) 0 0 0;
}

/* Setup Guide */
#SetupGuide {
    max-width: 30em;
}

#SetupGuide .list-group-item .icon {
    width: 1.5rem;
    height: 1.5rem;
    margin: 1rem;
}

#SetupGuide .list-group-item .content {
    flex: 1;
    padding: 1rem 0;
}

/* Dashboard */
#Dashboard {
    display: grid;
    gap: var(--btcpay-space-m);
    grid-template-columns: repeat(12, 1fr);
}

.widget {
    --widget-padding: var(--btcpay-space-m);
    --widget-chart-width: 100vw;
    
    border: 1px solid var(--btcpay-body-border-light);
    border-radius: var(--btcpay-border-radius-l);
    padding: var(--widget-padding);
    background: var(--btcpay-bg-tile);

    grid-column-start: 1;
    grid-column-end: 13;
}

.widget header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--btcpay-space-s);
    gap: var(--btcpay-space-s);
    line-height: 1.2;
}

.widget header a,
.widget header .btn-link {
    margin-top: var(--btcpay-space-xs);
    font-weight: var(--btcpay-font-weight-semibold);
}

.widget h3,
.widget .h3 {
    margin-bottom: 0;
}

.widget h6,
.widget .h6 {
    font-weight: var(--btcpay-font-weight-semibold);
    color: var(--btcpay-body-text-muted);
    margin-bottom: 0;
}

.widget .currency-toggle .btn {
    background-color: var(--btcpay-bg-tile);
    border-color: var(--btcpay-body-border-light);
}

.widget .currency-toggle input:not(:checked) + .btn {
    color: var(--btcpay-body-text-muted);
}

.widget .btn-group {
    display: inline-flex;
    gap: var(--btcpay-space-m);
    align-items: center;
    justify-content: space-between;
}

.widget .btn-link {
    color: var(--btcpay-body-text-muted);
    padding: 0;
    font-weight: var(--btcpay-font-weight-semibold);
    box-shadow: none !important;
    text-decoration: none !important;
}

.widget input:checked + .btn-link {
    color: var(--btcpay-body-link-accent);
}

.widget.store-lightning-balance .balances {
    gap: 1.5rem 2.25rem;
}

.widget.store-lightning-services .services-list {
    gap: var(--btcpay-space-m);
}

.widget.store-lightning-services .services-list .service {
    --service-width: 3rem;
}

.widget.store-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--btcpay-space-l) var(--btcpay-space-xl);
}

.widget.store-numbers header {
    justify-content: space-between;
}

.widget.store-numbers header h6 {
    margin-right: var(--btcpay-space-s);
}

.widget header a,
.widget header .btn-link {
    margin-top: 0;
}

.widget .store-number {
    flex: 0 1 calc(50% - var(--btcpay-space-xl) / 2);
}

.widget .number {
    font-weight: var(--btcpay-font-weight-bold);
}

.widget .table {
    margin-left: -.5rem;
    margin-right: -.5rem;
    width: calc(100% + 1rem);
}

.widget .table th {
    color: var(--btcpay-body-text-muted);
    font-weight: var(--btcpay-font-weight-semibold);
}

.widget.app-top-items .ct-chart,
.widget.app-top-items .ct-chart .ct-chart-bar {
    height: 30px;
}

.widget.app-top-items .ct-chart .ct-chart-bar {
    margin-left: -.4rem;
    margin-right: -.5rem;
    width: calc(100% + 1rem) !important;
}

.widget.app-top-items .ct-bar {
    stroke-linecap: round;
    stroke-width: 10px;
}

.widget.app-top-items .ct-grids,
.widget.app-top-items .ct-labels {
    display: none;
}

.widget.app-top-items .app-items {
    display: flex;
    flex-direction: column;
    gap: var(--btcpay-space-s);
}

.widget.app-top-items .app-item {
    display: flex;
    flex-wrap: wrap;
    gap: var(--btcpay-space-xs);
    align-items: center;
    justify-content: space-between;
}

.widget.app-top-items .app-item-point {
    display: inline-block;
    width: var(--btcpay-space-s);
    height: var(--btcpay-space-s);
    margin-right: var(--btcpay-space-s);
    border-radius: 50%;
}

.widget.app-top-items .app-item-value {
    font-weight: var(--btcpay-font-weight-semibold);
}

@media (max-width: 575px) {
    .widget.store-lightning-services .services-list .service {
        --service-width: 3rem;
    }
    
    .widget .store-number {
        flex: 0 1 100%;
    }
}

@media (min-width: 576px) {
    .widget {
        --widget-padding: var(--btcpay-space-l);
    }
}

@media (min-width: 576px) and (max-width: 1199px) {
    .widget.store-lightning-services .services-list {
        gap: 1.5rem;
    }
    .widget.store-lightning-services .services-list .service {
        --service-width: 4rem;
    }
}

@media (max-width: 1199px) {
    /* Reorder so that Lightning is below the wallet balance */
    .widget.store-wallet-balance {
        order: -3;
    }

    .widget.store-lightning-balance {
        order: -2;
    }

    .widget.store-lightning-services {
        order: -1;
    }
}

@media (min-width: 1200px) {
    .widget.app-sales,
    .widget.setup-guide,
    .widget.store-wallet-balance,
    .widget.store-lightning-balance {
        --widget-chart-width: 80vw;
        grid-column-start: 1;
        grid-column-end: 9;
    }

    .widget.store-lightning-services,
    .widget.app-top-items,
    .widget.store-numbers {
        grid-column-start: 9;
        grid-column-end: 13;
    }
    
    .widget.store-numbers {
        flex-direction: column;
        justify-content: start;
    }

    .widget .store-number {
        flex: 0 1;
        width: 100%;
    }

    .widget.store-numbers header {
        justify-content: space-between;
    }

    .widget.store-numbers header h6 {
        margin-right: 0;
    }
}

#tradeModal .qty{ width: 41%; }
#tradeModal .btn-square{ padding: 0; width: 2.5rem; height: 2.5rem; }

#tradeModal .trade-qty {
    display: flex;
    justify-content: space-between;
}

#tradeModal .trade-qty .col-center {
    flex: 0 0 2rem;
    padding-left: 0;
    padding-right: 0;
}

#tradeModal .trade-qty .col-side {
    flex: 1;
}

.modal-footer .modal-footer-left{ margin-right: auto; }
