body,
button,
input,
select,
textarea,
.ui-widget {
    font-family: "Roboto Mono", sans-serif;
}

h1 {
	font-size: 32px;
	font-weight: 500;
	margin-top: 0;
}

h2 {
	font-size: 18px;
	font-weight: 600;
}

h3 {
	font-size: 16px;
	font-weight: 500;
}

h1 img {
	margin-right: 1ex;
	vertical-align: -2px;
}

html {
    height: 100%;
}

body {
    background: #A08EC2;
    font-size: 14px;
    font-weight: normal;
    margin: 0;
    overflow-y: scroll;
    padding-bottom: 64px;
    position: relative;
    min-height: 100%;
    box-sizing: border-box;
}

body.headless {
    background: none;
    overflow-y: hidden;
    padding-bottom: 0;
}

wbr::after {
    content: "\200b"; /* ZERO WIDTH SPACE */
}

input:focus,
select:focus,
textarea:focus,
button:focus {
	outline: none;
}

#wrap {
    box-shadow: 0 0 2em 1em #502E8A;
    margin-left: 76px;
}

.headless #wrap {
    box-shadow: none;
    margin-left: 0;
}

#page,
.panels .panel {
    color: #352159;
}

#page {
	background: #F6F6F6;
    clear: both;
    margin: 0 auto 1em;
    overflow: hidden;
    position: relative;
    padding: 2em 1em;
}

.headless #page {
    margin-bottom: 0;
}

a img {
    border: none;
}

.brick {
    display: inline-block;
    vertical-align: top;
}

.clear {
    clear: both;
}

.half,
.third {
    display: inline-block;
    margin-left: 0;
    margin-right: 0;
    vertical-align: top;
}

.half {
    width: 49%;
}

.third {
    text-align: center;
    width: 33%;
}

.half:first-child,
.third:first-child {
    text-align: left;
}

.third:last-child {
    text-align: right;
}

input[type="search"] {
    -webkit-appearance: textfield;
}

input[type="number"],
.ui-widget input[type="number"] {
    box-sizing: content-box;
    text-align: right;
    width: 4em;
}

input[type="password"].password + small span {
    font-weight: bold;
}

input[type="password"].password + small .valid {
    color: green;
}

input.date {
    box-sizing: content-box;
    text-align: center;
    width: 6em;
}

select {
    max-width: 100%;
}

dt {
    font-weight: bolder;
}

.row {
    box-sizing: border-box;
    clear: both;
    display: block;
    margin: 1em 0;
    width: 100%;
}

.row > .row {
    margin: 0;
}

fieldset.row > .row {
    margin: inherit;
}

fieldset.row > .row:first-child,
fieldset.row > legend + .row {
    margin-top: 0;
}

fieldset.row > .row:last-child {
    margin-bottom: 0;
}

.row span ~ label {
	margin-left: 1em;
}

.label {
    display: inline-block;
    width: 8em;
}

.numeric {
    text-align: right;
    white-space: nowrap;
}

.centered {
    text-align: center;
}

.right {
    float: right;
}

.logo {
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain;
    height: 64px;
}

#page .legal > nav {
	background: #352159;
}

#page .legal > nav > a {
    color: #A08EC2;
    text-decoration: none;
}

#page .legal > nav > a:hover {
	color: white;
}

#page .legal > nav > a.selected,
#page .legal > nav > a.selected:hover {
    color: #502E8A;
}

#page .legal > nav > a.selected {
	background: #E0D8EF;
}

.circle {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: inline-block;
	border-radius: 50%;
}

#footer {
    box-sizing: border-box;
	color: white;
    position: absolute;
    left: 0;
    bottom: 0;
    text-align: center;
    width: 100%;
}

#footer a {
	color: white;
	text-decoration: none;
}

#footer a:hover {
	color: #FB8B00;
}

.button,
.ui-widget-content .button,
.field,
.ui-widget .field {
    border: thin solid #A08EC2;
    border-radius: 1em;
    box-sizing: border-box;
    font-size: 16px;
    padding: 1ex;
}

.ui-widget-content .button,
.ui-widget .field {
    line-height: 21px;
}

textarea.field {
    font-size: smaller;
}

.button,
.ui-widget-content .button {
    background: #502e8a;
    border-color: transparent;
    color: #f0f0f0;
    padding-left: 1em;
    padding-right: 1em;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    display: inline-flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    margin-right: 1ex;
    margin-bottom: 1ex;
    vertical-align: top;
}

.button:hover {
	background: #A08EC2;
}

.centered .button {
    margin-left: 1ex;
}

.numeric .button:last-child {
    margin-right: 0;
}

.button.dialog,
.radioButtons .button.dialog,
.button[type="submit"],
.ui-widget-content .button[type="submit"] {
	background: #FB8B00;
	color: white;
}

.button.dialog:hover,
.radioButtons .button.dialog:hover,
.button[type="submit"]:hover,
.ui-widget-content .button[type="submit"]:hover {
	background: #FFB150;
}

.button:disabled,
.radioButtons .button:disabled,
.button.dialog:disabled,
.button.dialog:disabled:hover,
.radioButtons .button.dialog:disabled,
.radioButtons .button.dialog:disabled:hover,
.button[type="submit"]:disabled,
.button[type="submit"]:disabled:hover,
.ui-widget-content .button[type="submit"]:disabled,
.ui-widget-content .button[type="submit"]:disabled:hover,
.radioButtons input:disabled + .button,
.radioButtons input:checked:disabled + .button,
.radioButtons input:disabled + .button:hover,
.radioButtons input:checked:disabled + .button:hover {
    background: none;
    border-color: inherit;
    color: GrayText;
    cursor: not-allowed;
}

.field,
.ui-widget .field {
    background: white;
    box-sizing: border-box;
}

#alert {
    white-space: pre-line;
}

.ui-dialog {
    box-sizing: border-box;
}

.error-message {
    border: thin inset;
    color: #502e8a;
    margin: 1em auto;
    padding: 1ex 0;
    text-align: center;
}

.error-message,
.form,
.preview {
    box-sizing: border-box;
    width: 640px;
    max-width: 100%;
}

.preview {
    height: 914px; /* Fit A4 document */
}

.form {
    margin: 2em auto 0;
    text-align: left;
}

.preview + .form {
    display: inline-block;
    margin: 0 0 0 1em;
    vertical-align: top;
}

.form h1 {
    border-bottom: 3px solid;
    font-size: 50px;
    font-weight: inherit;
    margin: 0 0 16px;
    padding-bottom: 16px;
    text-align: center;
}

.summary {
	background: white;
    border-spacing: 0;
    box-sizing: border-box;
    margin-top: 1em;
    width: 100%;
}

.summary > thead {
	background: #EBE6F3;
	color: #A08EC2;
}

.summary th {
    padding: 0 1ex;
    text-transform: capitalize;
}

.summary > thead th {
	font-weight: normal;
    text-align: left;
}

.summary > tbody > tr:first-child th {
    text-align: left;
}

.summary > tbody td,
.summary th {
    padding: 1ex;
    vertical-align: middle;
}

.summary > tbody > tr.separator {
    background: none;
    height: 1em;
}

.summary > tbody > tr {
    cursor: pointer;
}

.readOnly .summary > tbody > tr {
    cursor: default;
}

.summary > tbody > tr:hover {
	outline: thin solid #FFB150;
}

.summary > tbody > tr.header:hover,
.summary > tbody > tr.separator:hover {
	outline: none;
}

.summary > tbody[data-readOnly] > tr,
.summary > tbody > tr.header,
.summary > tbody > tr.separator {
    cursor: inherit;
}

.summary > tbody[data-readOnly] > tr:hover,
.summary > tbody > tr.header:hover,
.summary > tbody > tr.separator:hover {
    color: inherit;
}

.summary tr.open {
	height: 4em;
}

.summary .toolbar {
    display: none;
    margin-top: 1ex;
    position: absolute;
    white-space: nowrap;
}

.in-progress {
	color: #a08ec2;
}

.summary .toolbar a,
.summary .toolbar button,
#page nav a,
.radioButtons input:enabled + .button:hover,
.incomplete {
	color: #FFB150;
}

.summary .toolbar a,
.summary .toolbar button,
#page nav a,
.incomplete small {
	font-weight: bolder;
}

.summary .toolbar a,
.summary .toolbar button {
	cursor: pointer;
    font-size: smaller;
}

.summary .toolbar a,
.summary .toolbar button,
nav a {
	margin-right: 1em;
	text-decoration: none;
}

.summary .toolbar img,
nav a img {
	margin-right: 1ex;
}

.summary .toolbar button {
	background: none;
	border: none;
}

.summary .toolbar label,
.summary .toolbar a,
.summary .toolbar form,
.summary .toolbar button {
    display: inline-block;
    vertical-align: top;
}

.summary .open .toolbar {
    display: block;
}

.summary.framed > thead > tr:first-child > td,
.summary.framed > thead > tr:first-child > th,
.summary.framed > tbody > tr.separator:last-child > th,
.summary.framed > tbody:first-child > tr:first-child > td,
.summary.framed > tbody:first-child > tr:first-child > th {
    border-top: thin solid #333;
}

.summary.framed > thead > tr:last-child > td,
.summary.framed > thead > tr:last-child > th,
.summary.framed > tbody > tr:first-child > th,
.summary.framed > tbody > tr:last-child > td,
.summary.framed > tbody > tr:last-child > th,
.summary.framed > tfoot > tr:last-child > th,
.summary.framed > tfoot > tr:last-child > td {
    border-bottom: thin solid #333;
}

.summary.framed > tbody:last-child > tr.separator:last-child > th {
    border-bottom: none;
}

.summary.framed > tbody > tr.separator > th {
    border-left: none;
    border-right: none;
}

.summary.framed td:first-child,
.summary.framed th:first-child {
    border-left: thin solid #333;
}

.summary.framed td:last-child,
.summary.framed th:last-child {
    border-right: thin solid #333;
}

.sortable {
    cursor: pointer /*n-resize*/;
}

.sortable::after {
	content: url('../img/order.svg');
	margin-left: 4px;
	vertical-align: middle;
}

.sortable.up {
    cursor: pointer /*s-resize*/;
}

.sortable.up::after {
    content: ' \25b2'; /* BLACK UP-POINTING TRIANGLE */
}

.sortable.down::after {
    content: ' \25bc'; /* BLACK DOWN-POINTING TRIANGLE */
}

form.dialog,
div.dialog {
    display: none;
}

fieldset {
    display: inline-block;
    vertical-align: top;
}

img.icon,
input.icon,
button.icon > img {
    vertical-align: bottom;
    height: 16px;
}

input.icon,
button.icon {
    cursor: pointer;
}

button.icon {
    background: none;
    border: none;
    padding: 0;
}

.plainbox input[type="radio"] + span::before,
.plainbox input[type="checkbox"] + span::before {
	display: inline-block;
	margin-right: 1ex;
	vertical-align: middle;
}

.plainbox input[type="radio"]:disabled + span::before,
.plainbox input[type="checkbox"]:disabled + span::before {
	opacity: 0.5;
}

.plainbox input[type="radio"] + span:empty::before,
.plainbox input[type="checkbox"] + span:empty::before {
	margin-right: 0;
}

.plainbox input[type="radio"] + span::before {
	content: url("../img/radiobutton.svg");
}

.plainbox input[type="radio"]:checked + span::before {
	content: url("../img/radiobutton-checked.svg");
}

.plainbox input[type="checkbox"] + span::before {
	content: url("../img/checkbox.svg");
}

.plainbox input[type="checkbox"]:checked + span::before {
	content: url("../img/checkbox-checked.svg");
}

.radioButtons input[type="radio"],
.plainbox input[type="radio"],
.plainbox input[type="checkbox"] {
    display: none;
}

.plainbox input[type="radio"].no-plainbox,
.plainbox input[type="checkbox"].no-plainbox {
    display: inline-block;
}

.plainbox label {
	white-space: nowrap;
}

.radioButtons input:checked + .button {
    background: #A08EC2;
    color: white;
}

.radioButtons .button {
    background: white;
    color: #474747;
    font-size: 16px;
    width: 130px;
    height: 58px;
    margin: 2px 0;
    position: relative;
}

.radio > label {
    margin-right: 1em;
    white-space: nowrap;
}

iframe[name="hidden"] {
    display: none;
}

.mark {
	border-radius: 0.5em;
    box-sizing: content-box;
    cursor: default;
    display: inline-block;
    font-weight: bolder;
    text-align: center;
    height: 1em;
    width: 1em;
}

#droppable {
    display: none;
    background: #352159;
    position: fixed;
    left: 0;
    width: 100%;
    top: 0;
    height: 100%;
    padding-top: 25%;
    text-align: center;
}

#droppable span {
	color: #a08ec2;
    font-weight: bold;
    font-size: xx-large;
    letter-spacing: 1ex;
    padding: 1em;
}

#droppable em {
    color: #fb8b00;
}

.droppable #droppable {
    display: block;
}

.droppable iframe[name="us-entrypoint-buttonV2"] {
	visibility: hidden;
}

.total > span {
    margin-right: 1em;
}

/* intTelInput */
.iti {
    width: 100%;
}

.chart {
    display: inline-block;
    position: relative;
    height: 400px;
    width: calc(50% - 1em);
    min-width: 600px;
}

.chart.round {
    width: calc(33% - 1em);
    min-width: 400px;
}

.incomplete img {
	vertical-align: middle;
}

.info {
	background: url("../img/info.svg") no-repeat left top/1em;
	padding-left: 1.5em;
}

#info {
    white-space: pre-line;
}

a.webview {
	text-decoration: none;
}

.panels .panel {
	background: url("../img/landing/feature.svg") no-repeat center top/contain;
	border-radius: 14px;
	display: inline-block;
	line-height: 24px;
	text-align: center;
	white-space: normal;

	width: 393px;
	height: 365px;
	padding: 20px 50px;
	box-sizing: border-box;

	margin: 0 30px;
	vertical-align: top;
	position: relative;
}

.panels .panel:hover {
	background: url("../img/landing/feature-active.svg") no-repeat -16px -8px/contain;
	color: white;
}

.legal q {
	font-weight: bolder;
}

.legal .top {
	position: fixed;
	right: 0;
	bottom: 90px;
}

.legal .top::after {
	content: url("../img/top.svg");
}

.grid {
	border-collapse: collapse;
}

.grid thead,
.grid tbody {
	vertical-align: top;
}

.grid th,
.grid td {
	border: thin solid;
	padding: 1ex;
}

.grid td > :first-child {
	margin-top: 0;
}

.grid td > :last-child {
	margin-bottom: 0;
}

.headless #header,
.headless #footer {
    display: none;
}

.feedback {
    margin-left: 1ex;
	position: fixed;
    left: 74px;
	bottom: 0;
    z-index: 1;
}

#header.open + #wrap .feedback {
    left: 250px;
}

.feedback .open,
.feedback .close {
	cursor: pointer;
}

.feedback.open .open,
.feedback .close,
.feedback form {
	display: none;
}

.feedback.open .close,
.feedback.open form {
	display: block;
}

.feedback .close {
	float: right;
}

.feedback form {
	background: #35215B;
	border-radius: 1em;
	color: white;
	margin: 0 64px -48px 0;
	padding: 1em;
}

.feedback .versions {
	color: inherit;
	text-decoration: none;
}

.feedback input[name="stars"] {
	display: none;
}

.feedback input[name="stars"] + span {
	margin-right: 1ex;
}

.feedback input[name="stars"] + span::before {
	content: url("../img/feedback/empty-star.svg");
}

.feedback .checked input[name="stars"] + span::before {
	content: url("../img/feedback/full-star.svg");
}

.feedback textarea {
	background: #E0D8EF;
	border: none;
	border-radius: 1em;
	color: #473C57;
	display: block;
	margin: 1em 0;
	padding: 1em;
	width: 100%;
	box-sizing: border-box;
}

.feedback *[type="submit"]::before {
	content: url("../img/feedback/send.svg");
	margin-right: 1ex;
	vertical-align: middle;
}

.feedback *[type="submit"] {
	background: none;
	border: none;
	color: white;
	cursor: pointer;
	font-size: 14pt;
	text-transform: uppercase;
}

.feedback nav a {
	display: block;
	color: inherit;
	margin: 1ex 0;
	text-decoration: none;
}

.feedback nav a img {
	vertical-align: middle;
}

#page .legal {
	max-width: 100%;
}

#page .legal > nav,
#page .legal > main {
    overflow: auto;
}

#page .legal > nav {
    float: left;
    margin-right: 1em;
	width: 12em;
}

#page .legal > nav > a {
	display: block;
	margin: 0;
	padding: 1ex;
}

#page .legal > nav > a.menu {
	display: none;
}

#page .legal > main {
	box-sizing: border-box;
	padding: 0 1em 1em;
}

#page .legal .panels {
    text-align: center;
}

#page .legal .panels .panel {
    margin: 15px;
    text-decoration: none;
    width: 295px;
    height: 274px;
}

.home {
    background: url("../img/home.png") no-repeat center / cover;
    display: inline-block;
    float: left;
    width: 3em;
    height: 3em;
}

.home:hover {
    background-image: url("../img/home-active.png");
}

.charts {
    margin-bottom: 5em;
}

form[name="export"] label,
form[name="docs"] label {
    margin-right: 1em;
}

form[name="export"] input[name="bookkeeper_email"] {
    margin-top: 1ex;
    width: 100%;
}

@media screen and (max-width: 1330px){ /* SXGA: 1280 x 1024 */
	#page .legal > nav {
		background: none;
		display: inline-block;
		float: none;
		position: absolute;
		margin-top: -2em;
		width: auto;
        z-index: 0;
	}

    #page .legal > nav.open {
        z-index: 1;
    }

	#page .legal > nav > a {
		background: #352159;
		display: none;
	}

	#page .legal > nav > a.menu {
		display: block;
	}

	#page .legal > nav.open > a {
		display: block;
	}

	#page .legal > main {
		padding: 0;
	}
}

@media screen and (max-width: 640px) { /* VGA: 640 x 480 */
	.summary tr.open {
		height: 5em;
	}

	.summary .toolbar {
	    margin-top: 0;
	}
}
