mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-03-03 09:29:10 +01:00
Use variable based bootstrap and creativestart
fix
This commit is contained in:
parent
04fbe42bda
commit
fdc1aa25e4
22 changed files with 7228 additions and 17042 deletions
|
@ -21,12 +21,16 @@ namespace BTCPayServer.HostedServices
|
|||
{
|
||||
public void Update(ThemeSettings data)
|
||||
{
|
||||
if (String.IsNullOrWhiteSpace(data.ThemeCssUri))
|
||||
_themeUri = "/css/btcpay-theme.css";
|
||||
else
|
||||
_themeUri = data.ThemeCssUri;
|
||||
|
||||
if (String.IsNullOrWhiteSpace(data.BootstrapCssUri))
|
||||
_bootstrapUri = "/vendor/bootstrap4/css/bootstrap.css?v=" + DateTime.Now.Ticks;
|
||||
_bootstrapUri = "/vendor/bootstrap/bootstrap.css";
|
||||
else
|
||||
_bootstrapUri = data.BootstrapCssUri;
|
||||
|
||||
|
||||
if (String.IsNullOrWhiteSpace(data.CreativeStartCssUri))
|
||||
_creativeStartUri = "/vendor/bootstrap4-creativestart/creative.css?v=" + DateTime.Now.Ticks;
|
||||
else
|
||||
|
@ -34,6 +38,12 @@ namespace BTCPayServer.HostedServices
|
|||
FirstRun = data.FirstRun;
|
||||
}
|
||||
|
||||
private string _themeUri;
|
||||
public string ThemeUri
|
||||
{
|
||||
get { return _themeUri; }
|
||||
}
|
||||
|
||||
private string _bootstrapUri;
|
||||
public string BootstrapUri
|
||||
{
|
||||
|
@ -77,7 +87,7 @@ namespace BTCPayServer.HostedServices
|
|||
|
||||
public void OnActionExecuted(ActionExecutedContext context)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void OnActionExecuting(ActionExecutingContext context)
|
||||
|
@ -94,6 +104,10 @@ namespace BTCPayServer.HostedServices
|
|||
{
|
||||
policies.Clear();
|
||||
}
|
||||
if (manager.ThemeUri != null && Uri.TryCreate(manager.ThemeUri, UriKind.Absolute, out uri))
|
||||
{
|
||||
policies.Clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,11 @@ namespace BTCPayServer.Services
|
|||
{
|
||||
public class ThemeSettings
|
||||
{
|
||||
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
|
||||
[MaxLength(500)]
|
||||
[Display(Name = "Custom theme CSS file")]
|
||||
public string ThemeCssUri { get; set; }
|
||||
|
||||
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
|
||||
[MaxLength(500)]
|
||||
[Display(Name = "Custom bootstrap CSS file")]
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<link href="@Context.Request.GetRelativePathOrAbsolute(themeManager.BootstrapUri)" rel="stylesheet" />
|
||||
<link href="@Context.Request.GetRelativePathOrAbsolute(themeManager.ThemeUri)" rel="stylesheet" />
|
||||
@if (Model.CustomCSSLink != null)
|
||||
{
|
||||
<link href="@Model.CustomCSSLink" rel="stylesheet" />
|
||||
|
@ -32,7 +33,7 @@
|
|||
<bundle name="wwwroot/bundles/crowdfund-bundle.min.css"></bundle>
|
||||
@if (!string.IsNullOrEmpty(Model.EmbeddedCSS))
|
||||
{
|
||||
@Safe.Raw($"<style>{Model.EmbeddedCSS}</style>");
|
||||
@Safe.Raw($"<style>{Model.EmbeddedCSS}</style>");
|
||||
}
|
||||
|
||||
</head>
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
<link rel="manifest" href="~/manifest.json">
|
||||
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.BootstrapUri)" rel="stylesheet" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.ThemeUri)" rel="stylesheet" />
|
||||
@if (Model.CustomCSSLink != null)
|
||||
{
|
||||
<link href="@Model.CustomCSSLink" rel="stylesheet" />
|
||||
|
@ -47,15 +48,15 @@
|
|||
max-width: 320px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.js-cart-item-count::-webkit-inner-spin-button,
|
||||
.js-cart-item-count::-webkit-outer-spin-button {
|
||||
|
||||
.js-cart-item-count::-webkit-inner-spin-button,
|
||||
.js-cart-item-count::-webkit-outer-spin-button {
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
margin: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
@if (!string.IsNullOrEmpty(Model.EmbeddedCSS))
|
||||
{
|
||||
|
@ -318,7 +319,7 @@
|
|||
<span class="text-muted small">@String.Format(Model.ButtonText, @item.Price.Formatted)</span>
|
||||
@if (item.Inventory.HasValue)
|
||||
{
|
||||
|
||||
|
||||
<div class="w-100 pt-2 text-center text-muted">
|
||||
@if (item.Inventory > 0)
|
||||
{
|
||||
|
@ -453,7 +454,7 @@
|
|||
</div>
|
||||
}else if (anyInventoryItems)
|
||||
{
|
||||
<div class="w-100 pt-2"> </div>
|
||||
<div class="w-100 pt-2"> </div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<link href="@Context.Request.GetRelativePathOrAbsolute(themeManager.BootstrapUri)" rel="stylesheet" />
|
||||
<link href="@Context.Request.GetRelativePathOrAbsolute(themeManager.ThemeUri)" rel="stylesheet" />
|
||||
@if (Model.CustomCSSLink != null)
|
||||
{
|
||||
<link href="@Model.CustomCSSLink" rel="stylesheet" />
|
||||
|
@ -31,7 +32,7 @@
|
|||
}
|
||||
|
||||
<bundle name="wwwroot/bundles/payment-request-bundle.min.css"></bundle>
|
||||
|
||||
|
||||
@Safe.Raw(Model.EmbeddedCSS)
|
||||
</head>
|
||||
<body>
|
||||
|
@ -185,8 +186,8 @@ else
|
|||
|
||||
Pay now
|
||||
</button>
|
||||
<button class="btn btn-secondary btn-lg mt-1"
|
||||
v-if="srvModel.anyPendingInvoice && !srvModel.pendingInvoiceHasPayments"
|
||||
<button class="btn btn-secondary btn-lg mt-1"
|
||||
v-if="srvModel.anyPendingInvoice && !srvModel.pendingInvoiceHasPayments"
|
||||
v-on:click="cancelPayment()"
|
||||
:disabled="loading">
|
||||
<div v-if="loading" class="spinner-grow spinner-grow-sm" role="status">
|
||||
|
@ -195,7 +196,6 @@ else
|
|||
|
||||
Cancel current invoice</button>
|
||||
</template>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
@ -206,12 +206,11 @@ else
|
|||
|
||||
</div>
|
||||
<div class="card-footer text-muted d-flex justify-content-between">
|
||||
|
||||
<div >
|
||||
<div>
|
||||
<span v-on:click="print" class="btn-link d-print-none" style="cursor: pointer"> <span class="fa fa-print"></span> Print</span>
|
||||
<span>Updated {{lastUpdated}}</span>
|
||||
</div>
|
||||
<div >
|
||||
<div>
|
||||
<span class="text-muted">Powered by </span><a href="https://btcpayserver.org" target="_blank">BTCPay Server</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
<link rel="manifest" href="~/manifest.json">
|
||||
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.BootstrapUri)" rel="stylesheet" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.ThemeUri)" rel="stylesheet" />
|
||||
<link href="~/vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
|
||||
|
||||
<bundle name="wwwroot/bundles/lightning-node-info-bundle.min.js" />
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
@* CSS *@
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.BootstrapUri)" rel="stylesheet" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.CreativeStartUri)" rel="stylesheet" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.ThemeUri)" rel="stylesheet" />
|
||||
<bundle name="wwwroot/bundles/main-bundle.min.css" />
|
||||
@* JS *@
|
||||
<bundle name="wwwroot/bundles/main-bundle.min.js" />
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
{
|
||||
<div class="alert alert-danger alert-dismissible" style="position:absolute; top:75px;" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<span>Your access to BTCPay Server is over an unsecured network. If you are using the docker deployment method with NGINX and HTTPS is not available, you probably did not configure your DNS settings correctly. <br />
|
||||
<span>Your access to BTCPay Server is over an unsecured network. If you are using the docker deployment method with NGINX and HTTPS is not available, you probably did not configure your DNS settings correctly. <br />
|
||||
We disabled the register and login link so you don't leak your credentials.</span>
|
||||
</div>
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
"inputFiles": [
|
||||
"wwwroot/vendor/jquery/jquery.js",
|
||||
"wwwroot/vendor/popper/popper.js",
|
||||
"wwwroot/vendor/bootstrap4/js/bootstrap.js",
|
||||
"wwwroot/vendor/bootstrap/bootstrap.js",
|
||||
"wwwroot/vendor/jquery-easing/jquery.easing.js",
|
||||
"wwwroot/vendor/scrollreveal/scrollreveal.min.js",
|
||||
"wwwroot/vendor/magnific-popup/jquery.magnific-popup.js",
|
||||
|
@ -56,7 +56,6 @@
|
|||
"wwwroot/checkout/**/*.js"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"outputFileName": "wwwroot/bundles/lightning-node-info-bundle.min.js",
|
||||
"inputFiles": [
|
||||
|
@ -71,12 +70,11 @@
|
|||
"outputFileName": "wwwroot/bundles/cart-bundle.min.js",
|
||||
"inputFiles": [
|
||||
"wwwroot/vendor/jquery/jquery.js",
|
||||
"wwwroot/vendor/bootstrap4/js/bootstrap.js",
|
||||
"wwwroot/vendor/bootstrap/bootstrap.js",
|
||||
"wwwroot/cart/js/cart.js",
|
||||
"wwwroot/cart/js/cart.jquery.js"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"outputFileName": "wwwroot/bundles/crowdfund-bundle-1.min.js",
|
||||
"inputFiles": [
|
||||
|
@ -89,7 +87,6 @@
|
|||
"wwwroot/crowdfund/**/*.js"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"outputFileName": "wwwroot/bundles/crowdfund-bundle-2.min.js",
|
||||
"inputFiles": [
|
||||
|
@ -133,7 +130,6 @@
|
|||
"wwwroot/vendor/summernote/summernote-bs4.css"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"outputFileName": "wwwroot/bundles/crowdfund-bundle.min.css",
|
||||
"inputFiles": [
|
||||
|
@ -142,7 +138,6 @@
|
|||
"wwwroot/crowdfund/**/*.css"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"outputFileName": "wwwroot/bundles/payment-request-admin-bundle.min.js",
|
||||
"inputFiles": [
|
||||
|
@ -150,14 +145,12 @@
|
|||
"wwwroot/payment-request-admin/**/*.js"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"outputFileName": "wwwroot/bundles/payment-request-admin-bundle.min.css",
|
||||
"inputFiles": [
|
||||
"wwwroot/vendor/summernote/summernote-bs4.css"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"outputFileName": "wwwroot/bundles/payment-request-bundle-1.min.js",
|
||||
"inputFiles": [
|
||||
|
@ -170,7 +163,6 @@
|
|||
"wwwroot/payment-request/**/*.js"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"outputFileName": "wwwroot/bundles/payment-request-bundle-2.min.js",
|
||||
"inputFiles": [
|
||||
|
|
76
BTCPayServer/wwwroot/css/btcpay-theme.css
Normal file
76
BTCPayServer/wwwroot/css/btcpay-theme.css
Normal file
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
* BTCPay variables as CSS custom properties.
|
||||
* -> These get used in the _variables.scss
|
||||
*/
|
||||
:root {
|
||||
--btcpay-accent-light: #CEDC21;
|
||||
--btcpay-accent-medium: #51B13E;
|
||||
--btcpay-accent-dark: #137547;
|
||||
--btcpay-accent-darkest: #0F3B21;
|
||||
--btcpay-neutral-100: #FBFAF8;
|
||||
--btcpay-neutral-200: #F5F5F3;
|
||||
--btcpay-neutral-300: #E5E5E5;
|
||||
--btcpay-neutral-600: #536E8D;
|
||||
--btcpay-neutral-700: #465C76;
|
||||
--btcpay-neutral-900: #202C39;
|
||||
--btcpay-color-white: #fff;
|
||||
--btcpay-color-gray-100: #f8f9fa;
|
||||
--btcpay-color-gray-200: #e9ecef;
|
||||
--btcpay-color-gray-300: #dee2e6;
|
||||
--btcpay-color-gray-400: #ced4da;
|
||||
--btcpay-color-gray-500: #adb5bd;
|
||||
--btcpay-color-gray-600: #6c757d;
|
||||
--btcpay-color-gray-700: #495057;
|
||||
--btcpay-color-gray-800: #343a40;
|
||||
--btcpay-color-gray-900: #212529;
|
||||
--btcpay-color-black: #000;
|
||||
--btcpay-color-blue: #0069d9;
|
||||
--btcpay-color-indigo: #6610f2;
|
||||
--btcpay-color-purple: #6f42c1;
|
||||
--btcpay-color-pink: #e83e8c;
|
||||
--btcpay-color-red: #dc3545;
|
||||
--btcpay-color-orange: #ff6f27;
|
||||
--btcpay-color-yellow: #ffc107;
|
||||
--btcpay-color-green: #329f80;
|
||||
--btcpay-color-teal: #20c997;
|
||||
--btcpay-color-cyan: #17a2b8;
|
||||
--btcpay-color-primary: var(--btcpay-color-green);
|
||||
--btcpay-color-primary-dark: #267861;
|
||||
--btcpay-color-primary-alpha: rgba(81, 173, 147, 0.25);
|
||||
--btcpay-color-secondary: var(--btcpay-color-gray-600);
|
||||
--btcpay-color-secondary-dark: var(--btcpay-color-gray-800);
|
||||
--btcpay-color-secondary-alpha: rgba(130, 138, 145, 0.25);
|
||||
--btcpay-color-success: var(--btcpay-color-green);
|
||||
--btcpay-color-success-dark: #1e7e34;
|
||||
--btcpay-color-success-alpha: rgba(72, 180, 97, 0.25);
|
||||
--btcpay-color-info: var(--btcpay-color-cyan);
|
||||
--btcpay-color-info-dark: #117a8b;
|
||||
--btcpay-color-info-alpha: rgba(58, 176, 195, 0.25);
|
||||
--btcpay-color-warning: var(--btcpay-color-yellow);
|
||||
--btcpay-color-warning-dark: #d39e00;
|
||||
--btcpay-color-warning-alpha: rgba(2 22, 170, 12, 0.25);
|
||||
--btcpay-color-danger: var(--btcpay-color-red);
|
||||
--btcpay-color-danger-dark: #bd2130;
|
||||
--btcpay-color-danger-alpha: rgba(225, 83, 97, 0.25);
|
||||
--btcpay-color-light: var(--btcpay-color-gray-100);
|
||||
--btcpay-color-light-dark: #dae0e5;
|
||||
--btcpay-color-light-alpha: rgba(216, 217, 219, 0.25);
|
||||
--btcpay-color-dark: var(--btcpay-neutral-900);
|
||||
--btcpay-color-dark-dark: #1d2124;
|
||||
--btcpay-color-dark-alpha: rgba(82, 88, 93, 0.25);
|
||||
--btcpay-bg-body: var(--btcpay-color-gray-100);
|
||||
--btcpay-bg-dark: var(--btcpay-accent-darkest);
|
||||
--btcpay-color-body: var(--btcpay-color-gray-900);
|
||||
--btcpay-color-link: var(--btcpay-color-primary);
|
||||
--btcpay-color-link-hover: var(--btcpay-color-primary-dark);
|
||||
--btcpay-font-size-base: 14px;
|
||||
--btcpay-font-family-head: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
|
||||
--btcpay-font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--btcpay-font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
|
||||
|
||||
/* Bootstrap modifications */
|
||||
html {
|
||||
font-size: var(--btcpay-font-size-base); }
|
||||
|
||||
.bg-dark {
|
||||
background-color: var(--btcpay-bg-dark) !important; }
|
6998
BTCPayServer/wwwroot/vendor/bootstrap/bootstrap.css
vendored
Normal file
6998
BTCPayServer/wwwroot/vendor/bootstrap/bootstrap.css
vendored
Normal file
File diff suppressed because it is too large
Load diff
|
@ -4,335 +4,170 @@
|
|||
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-creative/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
:root {
|
||||
--off-white: #f9fafb;
|
||||
}
|
||||
|
||||
|
||||
body,
|
||||
html {
|
||||
width: 100%;
|
||||
/* background: #f9fafb; */
|
||||
background: var(--off-white);
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Helvetica Neue', Arial, sans-serif;
|
||||
background: var(--off-white);
|
||||
}
|
||||
|
||||
hr {
|
||||
max-width: 50px;
|
||||
border-width: 3px;
|
||||
border-color: #329F80;
|
||||
}
|
||||
|
||||
hr.light {
|
||||
border-color: white;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
|
||||
}
|
||||
|
||||
p {
|
||||
/*font-size: 16px;*/
|
||||
line-height: 1.5;
|
||||
margin-bottom: 20px;
|
||||
font-family: var(--btcpay-font-family-head);
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 100px 0;
|
||||
padding: 100px 0;
|
||||
}
|
||||
|
||||
.section-heading {
|
||||
margin-top: 0;
|
||||
p {
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
::-moz-selection {
|
||||
color: white;
|
||||
background: #222222;
|
||||
text-shadow: none;
|
||||
hr {
|
||||
max-width: 50px;
|
||||
border-width: 3px;
|
||||
border-color: var(--btcpay-color-primary);
|
||||
}
|
||||
|
||||
::selection {
|
||||
color: white;
|
||||
background: #222222;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
img::selection {
|
||||
color: white;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
img::-moz-selection {
|
||||
color: white;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
body {
|
||||
-webkit-tap-highlight-color: #222222;
|
||||
hr.light {
|
||||
border-color: var(--btcpay-color-white);
|
||||
}
|
||||
|
||||
#mainNav {
|
||||
border-color: rgba(34, 34, 34, 0.05);
|
||||
background-color: #0F3723;
|
||||
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
|
||||
-webkit-transition: all 0.2s;
|
||||
-moz-transition: all 0.2s;
|
||||
transition: all 0.2s;
|
||||
background-color: var(--btcpay-bg-dark);
|
||||
font-family: var(--btcpay-font-family-head);
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
#mainNav .navbar-brand {
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
color: #0F3B21;
|
||||
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
|
||||
}
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link {
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
color: var(--btcpay-color-white);
|
||||
}
|
||||
|
||||
#mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
|
||||
color: #0F3B21;
|
||||
}
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus:hover,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:hover {
|
||||
color: var(--btcpay-color-white);
|
||||
}
|
||||
|
||||
#mainNav .navbar-toggle {
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
color: #222222;
|
||||
}
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus.active,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link.active {
|
||||
color: var(--btcpay-color-white) !important;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link {
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus:hover,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus.active,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link.active {
|
||||
color: white !important;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus.active:hover,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link.active:hover {
|
||||
background-color: transparent;
|
||||
}
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus.active:hover,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link.active:hover {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
#mainNav {
|
||||
border-color: rgba(255, 255, 255, 0.3);
|
||||
background-color: transparent;
|
||||
}
|
||||
#mainNav {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#mainNav .navbar-brand {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
|
||||
#mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:hover,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#mainNav.navbar-shrink {
|
||||
border-color: rgba(34, 34, 34, 0.05);
|
||||
background-color: #0F3723;
|
||||
}
|
||||
|
||||
#mainNav.navbar-shrink .navbar-brand {
|
||||
font-size: 16px;
|
||||
color: #0F3B21;
|
||||
}
|
||||
|
||||
#mainNav.navbar-shrink .navbar-brand:focus, #mainNav.navbar-shrink .navbar-brand:hover {
|
||||
color: #0F3B21;
|
||||
}
|
||||
|
||||
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link,
|
||||
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link:focus {
|
||||
color: white;
|
||||
}
|
||||
#mainNav.navbar-shrink {
|
||||
background-color: var(--btcpay-bg-dark);
|
||||
}
|
||||
}
|
||||
|
||||
header.masthead {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
min-height: auto;
|
||||
text-align: center;
|
||||
background-image: url("../../img/bg.png");
|
||||
background-position: center;
|
||||
-webkit-background-size: cover;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
position: relative;
|
||||
display: block;
|
||||
min-height: auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
header.masthead .header-content {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
padding: 150px 15px 100px;
|
||||
text-align: center;
|
||||
}
|
||||
header.masthead::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0; left: 0;
|
||||
width: 100%; height: 100%;
|
||||
background-image: url("../../img/bg.png");
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
header.masthead .header-content .header-content-inner h1 {
|
||||
font-size: 30px;
|
||||
font-weight: 700;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
header.masthead .header-content {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
padding: 150px 15px 100px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
header.masthead .header-content .header-content-inner hr {
|
||||
margin: 30px auto;
|
||||
}
|
||||
header.masthead .header-content .header-content-inner h1 {
|
||||
font-size: 30px;
|
||||
font-weight: 700;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
header.masthead .header-content .header-content-inner p {
|
||||
font-size: 16px;
|
||||
font-weight: 300;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
header.masthead .header-content .header-content-inner hr {
|
||||
margin: 30px auto;
|
||||
}
|
||||
|
||||
header.masthead .header-content .header-content-inner p {
|
||||
font-size: 16px;
|
||||
font-weight: 300;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
header.masthead {
|
||||
height: 70%;
|
||||
min-height: 600px;
|
||||
}
|
||||
header.masthead {
|
||||
height: 70%;
|
||||
min-height: 600px;
|
||||
}
|
||||
|
||||
header.masthead .header-content {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
padding: 0 50px;
|
||||
-webkit-transform: translateY(-50%);
|
||||
-ms-transform: translateY(-50%);
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
header.masthead .header-content {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
padding: 0 50px;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
header.masthead .header-content .header-content-inner {
|
||||
max-width: 1000px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
header.masthead .header-content .header-content-inner {
|
||||
max-width: 1000px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
header.masthead .header-content .header-content-inner h1 {
|
||||
font-size: 50px;
|
||||
}
|
||||
header.masthead .header-content .header-content-inner h1 {
|
||||
font-size: 50px;
|
||||
}
|
||||
|
||||
header.masthead .header-content .header-content-inner p {
|
||||
font-size: 18px;
|
||||
max-width: 80%;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
header.masthead .header-content .header-content-inner p {
|
||||
font-size: 18px;
|
||||
max-width: 80%;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.service-box {
|
||||
max-width: 400px;
|
||||
margin: 50px auto 0;
|
||||
max-width: 400px;
|
||||
margin: 50px auto 0;
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.service-box {
|
||||
margin: 20px auto 0;
|
||||
}
|
||||
.service-box {
|
||||
margin: 20px auto 0;
|
||||
}
|
||||
}
|
||||
|
||||
.service-box p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.portfolio-box {
|
||||
position: relative;
|
||||
display: block;
|
||||
max-width: 650px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.portfolio-box .portfolio-box-caption {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
opacity: 0;
|
||||
background: rgba(240, 95, 64, 0.9);
|
||||
-webkit-transition: all 0.2s;
|
||||
-moz-transition: all 0.2s;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 100%;
|
||||
transform: translateY(-50%);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category,
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
|
||||
padding: 0 15px;
|
||||
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
|
||||
}
|
||||
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.portfolio-box:hover .portfolio-box-caption {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.portfolio-box:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
|
||||
font-size: 22px;
|
||||
}
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.call-to-action {
|
||||
padding: 50px 0;
|
||||
padding: 50px 0;
|
||||
}
|
||||
|
||||
.call-to-action h2 {
|
||||
margin: 0 auto 20px;
|
||||
}
|
||||
.call-to-action h2 {
|
||||
margin: 0 auto 20px;
|
||||
}
|
||||
|
||||
.no-gutter > [class*='col-'] {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
$primary: #329f80;
|
||||
$secondary: #2284A6;
|
||||
$dark: #0f3b21;
|
||||
$font-size-base: 0.9rem;
|
9898
BTCPayServer/wwwroot/vendor/bootstrap4/css/bootstrap.css
vendored
9898
BTCPayServer/wwwroot/vendor/bootstrap4/css/bootstrap.css
vendored
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue