/*
	Copyright (C) 2020 Samotari (Charles Hill, Carlos Garcia Ortiz)

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU Affero General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU Affero General Public License for more details.

	You should have received a copy of the GNU Affero General Public License
	along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
/* FONTS */
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
	font-weight: 200;
	src: url('../fonts/OpenSans/OpenSans-Light.eot');
	src: local('OpenSans-Light'),
		 url('../fonts/OpenSans/OpenSans-Light.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/OpenSans/OpenSans-Light.woff2') format('woff2'),
		 url('../fonts/OpenSans/OpenSans-Light.woff') format('woff'),
		 url('../fonts/OpenSans/OpenSans-Light.ttf') format('truetype'),
		 url('../fonts/OpenSans/OpenSans-Light.svg#OpenSans-Light') format('svg');
	font-display: swap;
}
@font-face {
	font-family: 'OpenSans';
	font-style: italic;
	font-weight: 200;
	src: url('../fonts/OpenSans/OpenSans-LightItalic.eot');
	src: local('OpenSans-LightItalic'),
		 url('../fonts/OpenSans/OpenSans-LightItalic.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/OpenSans/OpenSans-LightItalic.woff2') format('woff2'),
		 url('../fonts/OpenSans/OpenSans-LightItalic.woff') format('woff'),
		 url('../fonts/OpenSans/OpenSans-LightItalic.ttf') format('truetype'),
		 url('../fonts/OpenSans/OpenSans-LightItalic.svg#OpenSansLight-Italic') format('svg');
	font-display: swap;
}
@font-face {
	font-family: 'OpenSans';
	font-style: italic;
	font-weight: 400;
	src: url('../fonts/OpenSans/OpenSans-Italic.eot');
	src: local('OpenSans-Italic'),
		 url('../fonts/OpenSans/OpenSans-Italic.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/OpenSans/OpenSans-Italic.woff2') format('woff2'),
		 url('../fonts/OpenSans/OpenSans-Italic.woff') format('woff'),
		 url('../fonts/OpenSans/OpenSans-Italic.ttf') format('truetype'),
		 url('../fonts/OpenSans/OpenSans-Italic.svg#OpenSans-Italic') format('svg');
	font-display: swap;
}
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/OpenSans/OpenSans-Regular.eot');
	src: local('OpenSans'),
		 local('OpenSans-Regular'),
		 url('../fonts/OpenSans/OpenSans-Regular.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/OpenSans/OpenSans-Regular.woff2') format('woff2'),
		 url('../fonts/OpenSans/OpenSans-Regular.woff') format('woff'),
		 url('../fonts/OpenSans/OpenSans-Regular.ttf') format('truetype'),
		 url('../fonts/OpenSans/OpenSans-Regular.svg#OpenSans') format('svg');
	font-display: swap;
}
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
	font-weight: 600;
	src: url('../fonts/OpenSans/OpenSans-Semibold.eot');
	src: local('OpenSans-Semibold'),
		 url('../fonts/OpenSans/OpenSans-Semibold.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/OpenSans/OpenSans-Semibold.woff2') format('woff2'),
		 url('../fonts/OpenSans/OpenSans-Semibold.woff') format('woff'),
		 url('../fonts/OpenSans/OpenSans-Semibold.ttf') format('truetype'),
		 url('../fonts/OpenSans/OpenSans-Semibold.svg#OpenSans-Semibold') format('svg');
	font-display: swap;
}
@font-face {
	font-family: 'OpenSans';
	font-style: italic;
	font-weight: 600;
	src: url('../fonts/OpenSans/OpenSans-SemiboldItalic.eot');
	src: local('OpenSans-SemiboldItalic'),
		 url('../fonts/OpenSans/OpenSans-SemiboldItalic.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/OpenSans/OpenSans-SemiboldItalic.woff2') format('woff2'),
		 url('../fonts/OpenSans/OpenSans-SemiboldItalic.woff') format('woff'),
		 url('../fonts/OpenSans/OpenSans-SemiboldItalic.ttf') format('truetype'),
		 url('../fonts/OpenSans/OpenSans-SemiboldItalic.svg#OpenSans-SemiboldItalic') format('svg');
	font-display: swap;
}
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/OpenSans/OpenSans-Bold.eot');
	src: local('OpenSans-Bold'),
		 url('../fonts/OpenSans/OpenSans-Bold.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/OpenSans/OpenSans-Bold.woff2') format('woff2'),
		 url('../fonts/OpenSans/OpenSans-Bold.woff') format('woff'),
		 url('../fonts/OpenSans/OpenSans-Bold.ttf') format('truetype'),
		 url('../fonts/OpenSans/OpenSans-Bold.svg#OpenSans-Bold') format('svg');
	font-display: swap;
}
@font-face {
	font-family: 'OpenSans';
	font-style: italic;
	font-weight: 700;
	src: url('../fonts/OpenSans/OpenSans-BoldItalic.eot');
	src: local('OpenSans-BoldItalic'),
		 url('../fonts/OpenSans/OpenSans-BoldItalic.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/OpenSans/OpenSans-BoldItalic.woff2') format('woff2'),
		 url('../fonts/OpenSans/OpenSans-BoldItalic.woff') format('woff'),
		 url('../fonts/OpenSans/OpenSans-BoldItalic.ttf') format('truetype'),
		 url('../fonts/OpenSans/OpenSans-BoldItalic.svg#OpenSans-BoldItalic') format('svg');
	font-display: swap;
}
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
	font-weight: 900;
	src: url('../fonts/OpenSans/OpenSans-ExtraBold.eot');
	src: local('OpenSans-Extrabold'),
		 url('../fonts/OpenSans/OpenSans-ExtraBold.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/OpenSans/OpenSans-ExtraBold.woff2') format('woff2'),
		 url('../fonts/OpenSans/OpenSans-ExtraBold.woff') format('woff'),
		 url('../fonts/OpenSans/OpenSans-ExtraBold.ttf') format('truetype'),
		 url('../fonts/OpenSans/OpenSans-ExtraBold.svg#OpenSans-Extrabold') format('svg');
	font-display: swap;
}
@font-face {
	font-family: 'OpenSans';
	font-style: italic;
	font-weight: 900;
	src: url('../fonts/OpenSans/OpenSans-ExtraBoldItalic.eot');
	src: local('OpenSans-ExtraboldItalic'),
		 url('../fonts/OpenSans/OpenSans-ExtraBoldItalic.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/OpenSans/OpenSans-ExtraBoldItalic.woff2') format('woff2'),
		 url('../fonts/OpenSans/OpenSans-ExtraBoldItalic.woff') format('woff'),
		 url('../fonts/OpenSans/OpenSans-ExtraBoldItalic.ttf') format('truetype'),
		 url('../fonts/OpenSans/OpenSans-ExtraBoldItalic.svg#OpenSans-ExtraboldItalic') format('svg');
	font-display: swap;
}
/* FONTS */

/* RESET */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
input, textarea, select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
/* RESET */

/* BASE */
body, html {
	position: relative;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
}
body {
	color: #f2f2f2;
	font-family: 'OpenSans', sans-serif;
	font-size: 1em;
	font-weight: 300;
	line-height: 150%;
	background: #222;
	overflow-x: hidden;
	padding: 0;
}
a {
	color: rgba(224, 127, 0, 1);
	font-weight: 400;
	text-decoration: none;
}
a:hover,
a:active {
	color: rgba(224, 127, 0, 1);
}
a:hover {
	text-decoration: underline;
}
i, em { font-style: italic; }
b, strong { font-weight: 700; }
h1, h2, h3, h4, h5, h6 { font-weight: 700; }
h1 { font-size: 1.8rem; line-height: 2.2rem; }
h2 { font-size: 1.4rem; line-height: 1.7rem; }
h3 { font-size: 1.2rem; line-height: 1.5rem; }
h4, h5, h6 { font-size: 1rem; line-height: 1.3rem; }
.warn {
	color: red;
}
.wrap {
	width: 100%;
	box-sizing: border-box;
	padding: 0 1rem;
}
#header {
	position: relative;
	left: 0;
	top: 0;
	z-index: 100;
	width: 100%;
	height: 4rem;
	text-align: left;
	background: #333;
	box-sizing: border-box;
	padding: 0;
}
#header .wrap {
	display: inline-block;
	vertical-align: top;
	height: 100%;
}
#header .header-title {
	float: left;
	position: relative;
	top: -.1rem;
	height: 100%;
	font-size: 1.8rem;
	line-height: 4rem;
	font-weight: 700;
	letter-spacing: .1rem;
}
#header .header-title img {
	position: relative;
	top: 1rem;
	display: block;
	width: auto;
	height: 2rem;
}
#header .header-sub {
	position: relative;
	left: 1rem;
	float: left;
	font-size: .9rem;
	line-height: 4rem;
	letter-spacing: .1rem;
}
#warning {
	color: #fff;
	background: rgb(255, 0, 0, .3);
	text-align: center;
	padding: 1rem;
}
body.authenticated #warning {
	padding-left: 16rem;
}
#content {
	width: 100%;
	height: auto;
	min-height: 25rem;
	background: #222;
	overflow: auto;
	box-sizing: border-box;
	padding: 0;
}
#content h1 {
	margin-bottom: 1rem;
}
#content table {
	width: 100%;
	margin: 0;
}
#content table th,
#content table td {
	min-width: 1.35rem;
	height: 2rem;
	line-height: 2rem;
	font-size: 1rem;
	text-align: center;
	padding: 0 .5rem;
}
#content table th {
	font-weight: 700;
	background: #444;
}
#content table td {
	background: #555;
}
#content table th:first-child,
#content table td:first-child {
	text-align: left;
}
#content table tr:nth-child(even) td {
	background: #484848;
}
#content table tbody td {
	opacity: .8;
}
#content table tbody tr:hover td {
	opacity: 1;
}
#content table .button {
	display: inline-block;
	width: 100%;
	height: 100%;
	border-radius: 0;
	padding: 0;
	margin: 0;
}
#content th.has-button,
#content td.has-button {
	width: 2.4rem;
	padding: 0;
}
#content .box {
	background: #333;
	border-radius: .3rem;
	box-sizing: border-box;
	padding: 1rem;
}
#content .box + .box {
	margin-top: 1rem;
}
#content .box h2 {
	margin-bottom: 1rem;
}
#content .box p {
	background: #444;
	padding: .5rem;
}
#content .box-buttons {
	text-align: left;
	margin-top: .5rem;
}
#content .box .pagination {
	text-align: right;
	margin-top: .5rem;
}
body.authenticated #content {
	padding: 2rem 1rem;
	padding-left: 16rem;/* nav + padding */
}
#nav {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 15rem;
	height: 100%;
	background: #2f2f2f;
	box-sizing: border-box;
	padding-top: 4rem;
}
#nav:after {
	position: fixed;
	z-index: 10;
	left: 0;
	top: 0;
	width: 15rem;
	height: 10000rem;
	content: ' ';
	background: #2f2f2f;
}
.nav-items {
	position: relative;
	z-index: 50;
}
a.nav-item {
	display: block;
	width: 100%;
	height: 3rem;
	line-height: 3rem;
	color: #fff;
	text-decoration: none;
	text-align: center;
	font-size: 1.2rem;
	background: #444;
	opacity: .4;
	box-sizing: border-box;
	padding: 0;
	margin: .5rem 0 0 0;
}
.nav-item.active,
.nav-item:active,
.nav-item:hover {
	text-decoration: none;
	opacity: .8;
}
.version {
	text-align: center;
	font-size: .9rem;
	line-height: 1.4rem;
}
#nav .version {
	position: relative;
	z-index: 200;
	width: 100%;
	box-sizing: border-box;
	padding: 1rem;
}
/* BASE */

/* BUTTON */
.button {
	display: inline-block;
	vertical-align: top;
	height: 2.4rem;
	cursor: pointer;
	color: #fff;
	text-shadow: 0 0 1px #000;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 2.4rem;
	background: rgba(224, 127, 0, 1);
	border: none;
	outline: none;
	border-radius: .3rem;
	opacity: 1;
	padding: 0 2rem;
}
.button:focus,
.button:hover {
	opacity: .8;
}
a.button,
a.button:hover,
a.button:active {
	color: #fff;
	text-decoration: none;
}
.button.delete,
.button.download {
	background-repeat: no-repeat;
	background-position: center;
	background-size: 60%;
}
.button.delete {
	background-image: url('../images/delete.svg');
}
.button.download {
	background-image: url('../images/download.svg');
}
/* BUTTON */

/* FORM */
.form {
	width: 80%;
	max-width: 36rem;
	margin: 0 auto;
}
.form-group + .form-group {
	margin-top: 2rem;
}
.form-title,
.form-instructions,
.form-group-title,
.form-group-instructions,
.form-errors,
.form-field-description,
.form-buttons {
	text-align: center;
}
.form-title,
.form-group-title {
	margin-bottom: 1rem;
}
.form-group-title + .form-group-instructions {
	margin-top: .5rem;
}
.form-group-title + .form-row {
	margin-top: 1rem;
}
.form-row {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	margin-bottom: .2rem;
}
.form-label {
	float: left;
	width: 40%;
	height: 1.6rem;
	font-size: .9rem;
	line-height: 1.6rem;
	text-align: right;
	box-sizing: border-box;
}
.form-row.required .form-label {
	position: relative;
	padding-right: .5rem;
}
.form-row.required .form-label:after {
	position: absolute;
	right: -.2rem;
	top: 0;
	content: '*';
}
.form-required-fields-notice {
	font-size: .9rem;
	font-style: italic;
	text-align: center;
	margin-top: 1rem;
}
.form-row.required .form-label:after,
.form-required-example {
	color: rgba(224, 127, 0, 1);
}
.form-field {
	float: left;
	width: 60%;
	text-align: left;
	box-sizing: border-box;
	padding-left: 1rem;
}
.form-field-help-toggle b {
	padding: 0 .1rem;
}
.form-field-help {
	display: none;
	float: left;
	width: 100%;
	text-align: center;
	font-size: .9rem;
	font-style: italic;
	padding: .5rem 0;
}
.form-field-help.visible {
	display: block;
}
.form-field-description {
	float: left;
	width: 100%;
	font-size: .9rem;
	font-style: italic;
	padding: .5rem 0;
}
.form-description,
.form-group-instructions,
.form-instructions {
	font-size: .9rem;
}
.form-input {
	width: 100%;
	height: 1.6rem;
	color: #fff;
	font-size: .9rem;
	line-height: 1.6rem;
	text-align: left;
	background: #444;
	border: none;
	outline: none;
	box-sizing: border-box;
	padding: 0 .4rem;
}
select.form-input {
	padding: 0 .2rem;
}
.form-row.has-units .form-input {
	width: 30%;
}
textarea.form-input {
	height: auto;
}
.form-input[readonly],
.form-input:disabled {
	opacity: .6;
}
.form-units {
	float: left;
	width: 24%;
	height: 1.4rem;
	font-size: .8rem;
	text-align: left;
	line-height: 1.4rem;
	box-sizing: border-box;
	padding-left: .3rem;
}
.form-buttons {
	margin-top: 1rem;
}
.form h1,
.form p {
	margin-bottom: 1rem;
}
.form-errors {
	color: red;
	font-weight: 400;
	text-align: center;
}
.form-errors:empty {
	display: none;
}
.form-success {
	color: green;
	font-size: .9rem;
	text-align: center;
}
.form-switch {
	position: relative;
	display: inline-block;
	width: 3rem;
	height: 1.6rem;
	cursor: pointer;
}
.form-switch input {
	display: none;
}
.form-switch-slider {
	position: absolute;
	content: ' ';
	height: 100%;
	left: 0;
	width: 100%;
	bottom: 0;
	background-color: #666;
	transition: background-color .4s, opacity .4s;
	opacity: .2;
	border-radius: 2rem;
}
.form-switch-slider:before {
	position: absolute;
	content: ' ';
	height: 1.2rem;
	width: 1.2rem;
	left: .25rem;
	bottom: .2rem;
	background-color: #fff;
	transition: left .4s;
	border-radius: 50%;
}
input:checked + .form-switch-slider {
	background-color: #2196F3;
	opacity: .8;
}
input:checked + .form-switch-slider:before {
	left: 1.6rem;
}
.form-help {
	font-size: .9rem;
	max-width: 30rem;
	margin: 2rem auto 0 auto;
}
/* FORM */

/* TEMPLATES */
body.template-form #content,
body.template-message #content {
	display: flex;
	align-items: center;
}
body.template-form #content .wrap,
body.template-message #content .wrap {
	max-width: 40rem;
	text-align: center;
	padding: 2rem 1rem;
	margin: 0 auto;
}
body.template-form #content h1,
body.template-message #content h1 {
	text-align: center;
	margin-bottom: 1rem;
}
body.template-overview .box.lnurls td:nth-child(4),
body.template-overview .box.apiKeys td:first-child {
	font-family: 'Courier';
}
body.template-help #content .wrap {
	text-align: center;
}
body.template-settings #content h1 {
	text-align: center;
	margin-bottom: 2rem;
}
body.template-settings .subnav {
	text-align: center;
	line-height: 1.5rem;
	margin-bottom: 3rem;
}
body.template-settings .subnav-link {
	font-size: .9rem;
	font-weight: 100;
	color: #eee;
	background: #333;
	opacity: .7;
	border-radius: .4rem;
	padding: .5rem;
}
body.template-settings a.subnav-link {
	text-decoration: none;
}
body.template-settings .subnav-link:hover,
body.template-settings .subnav-link.active {
	color: #fff;
	background: #444;
	opacity: 1;
}
body.template-settings .subnav-link + .subnav-link {
	margin-left: .5rem;
}
body.template-settings #form-settings-lightning .form-group {
	display: none;
}
body.template-settings #form-settings-lightning .form-group + .form-group {
	margin-top: 0;
}
body.template-settings #form-settings-lightning .form-group--general,
body.template-settings #form-settings-lightning .form-group--backend,
body.template-settings #form-settings-lightning .form-group.visible {
	display: block;
}
body.template-settings #form-settings-lightning .form-group--lnd .form-row--lnd-cert,
body.template-settings #form-settings-lightning .form-group--lnd .form-row--lnd-fingerprint,
body.template-settings #form-settings-lightning .form-group--lnd .form-row--lnd-fingerprint256 {
	display: none;
}
body.template-settings #form-settings-lightning .form-group--lnd.use-cert .form-row--lnd-cert,
body.template-settings #form-settings-lightning .form-group--lnd.use-cert .form-row--lnd-fingerprint,
body.template-settings #form-settings-lightning .form-group--lnd.use-cert .form-row--lnd-fingerprint256 {
	display: inline-block;
}
/* TEMPLATES */

/* RESPONSIVE */
@media screen and (max-width: 600px) {
}
/* RESPONSIVE */
