*, *:before, *:after, input[type="search"] {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

html {
    background-color: #FDF8F1;
	color: #083F3B;
	font-size: 16px;
	line-height: 1.55em;
}

body {
	font-family: 'Nunito Sans', sans-serif;
	width: 100%;
}

main {
	padding: 0 16px;
	padding-right: max(16px, env(safe-area-inset-right));
	margin: auto;
	position: relative;
	max-width: 632px;
}
nav {
	background-color: #FAFAFA;
}
nav .logo-bar {
	height: 56px;
	height: calc(56px + env(safe-area-inset-top));
	background: #FFFFFF;
	border-bottom: 1px solid #EEEEEE;
	padding: 12px 16px;
	padding-top: calc(12px + env(safe-area-inset-top));
}
nav .logo-bar a {
	display: block;
}
nav .logo-bar svg {
	height: 34px;
	width: auto;
}
nav img.avatar,
nav p.name {
	display: none;
}
nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: space-evenly;
	align-items: stretch;
}
nav ul li {
	/* width: 20%; */
	flex-grow: 1;
	display: flex;
}
nav ul li a {
	flex-grow: 1;
	text-decoration: none;
	text-align: center;
	position: relative;
	display: flex;
	flex-flow: column;
	align-items: center;
	padding: 16px 0px;
	border-bottom: 1px solid #EEEEEE;
	color: #5B7775;
	background-color: white;
	font-size: .75rem;
	line-height: 1.25em;
}
nav ul li a i {
	font-size: 20px;
	margin-bottom: 8px;
}
/* nav ul li a svg {
	height: 20px;
	margin-bottom: 8px;
} */
nav ul li a:hover {
	background-color: #F3F9F6;
	color: #083F3B;
}
nav ul li a:hover img {
	transform: scale(1.1);
}
nav ul li a.active {
	color: inherit;
}
nav ul li a.active i {
	color: #56C8BB;
}
nav ul li a.active:before {
	content: "";
	position: absolute;
	height: 8px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	background: #56C8BB;
}
nav ul li a span {
	display: none;
}
nav ul li a[data-abbr]:after {
	content: attr(data-abbr);
}

nav ul li a img {
	width: 32px;
	margin-bottom: 8px;
	transition: 200ms transform;
}
nav ul li a .fa-external-link-square {
	display: none;
}
.env-selection {
	position: relative;
	margin-right: 16px;
}

.env-selection select {
	padding-left: 48px;
}
.env-selection label {
	font-weight: normal;
	position: absolute;
	line-height: 40px;
	left: 8px;
	color: #5B7775;
	user-select: none;
	pointer-events: none;
	margin-top: 0;
}
.env-selection label span {
	display: none;
}

.sticky-bar {
	position: fixed;
	left: 0px;
	right: 0;
	bottom: 0;
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.13);
	border-top: 1px solid #EEEEEE;
	background-color: white;
	padding: 16px;
	padding-bottom: max(16px, env(safe-area-inset-bottom));
	padding-right: max(16px, env(safe-area-inset-right));
	text-align: right;
	z-index: 9;
}
.sticky-bar .container {
	margin: auto;
	max-width: 600px;
	display: flex;
	justify-content: space-between;
}

header {
	margin: 32px 0;
}
header a.back,
header a.other {
	color: #56C8BB;
	text-decoration: none;
	line-height: 1.55em;
}
header a.other {
	float: right;
}
header a.back:before {
	content: "";
	font-family: 'Font Awesome 6 Sharp' !important;
	font-weight: 900;
	margin-right: 8px;
}
header a.back:after {
	content: "";
	font-family: 'Font Awesome 6 Sharp' !important;
	float: right;
	font-weight: 900;
	margin-left: 8px;
}

h1 {
	color: #083F3B;
	font-weight: bold;
	margin: 0;
	line-height: 1.55em;
}
.card {
	background: #FFFFFF;
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.13);
	border-radius: 4px;
	margin: 16px 0;
	padding: 16px;
	width: 100%;
	position: relative;
}

.card.with-buttons {
	padding-bottom: 0px;
}

section.buttons {
	background-color: #FDFBF8;
	margin: 16px -16px 0;
	border-top: 1px solid #EEEEEE;
	padding: 16px;
	text-align: right;
	display: flex;
	flex-flow: row-reverse wrap;
	justify-content: flex-start;
	border-bottom-right-radius: 4px;
	border-bottom-left-radius: 4px;
}
.card h2 {
	margin: 0 0 16px 0;
	font-weight: normal;
	font-size: 1.5rem;
}
.card h2:only-child {
	margin: 0;
}
.card h2 i.fa-sharp,
.card h2 i.fab,
.card h2 span {
	margin-right: 16px;
}

.card h2 input[type=checkbox] {
	float: right;
	display: none;
}

.card p:last-child {
	margin-bottom: 0;
}

p,
label,
textarea,
input {
	font-size: 1em;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #ABA398;
	line-height: 1.55em;
	opacity: 1; /* Firefox */
}

label {
	display: block;
	font-weight: bold;
	margin-top: 32px;
}

textarea + label,
input + label,
label.sublabel {
	font-weight: normal;
}

input + label {
	display: inline;
}
label.sublabel {
	color: #5B7775;
	font-size: 0.77rem;
	margin: -4px 0 4px;
}
label span.value {
	float: right;
	color: #A8A9A8;
}
label:hover span.value {
	color: initial;
}
.button {
	display: inline-block;
	padding: 4px 16px;
	line-height: 28px;
	height: 40px;
	text-decoration: none;
	-webkit-appearance: none;
			appearance: none;
}

.button.primary {
	color: #083F3B;
	background: #D8F85D;
	border: 1px solid #D8F85D;
}
.button.primary:hover,
.button.primary:active {
	color: #D8F85D;
	background: #083F3B;
}

.button.secondary {
	color: #083F3B;
	background: #FFFFFF;
	border: 1px solid #56C8BB;
}
.button.secondary:hover,
.button.secondary:active {
	color: #FDF8F1;
	background: #56C8BB;
	border-color: #56C8BB;
}

.button.secondary.app img {
	height: 1.4em;
	vertical-align: text-top;
	margin-left: 5px;
}

.button.secondary.app img.ddy {
	display: inline-block;
}

select,
textarea,
input[type=email],
input[type=tel],
input[type=password],
input[type=text],
input[type=number],
input[type=radio],
input[type=checkbox] {
	background: #FFFFFF;
	border: 1px solid #DDDDDD;
	border-radius: 0;
	box-sizing: border-box;
	box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.25);
	-webkit-appearance: none;
			appearance: none;
}

select,
textarea,
input[type=email],
input[type=tel],
input[type=password],
input[type=text],
input[type=number] {
	width: 100%;
	height: 40px;
	padding: 0px 8px;
}
textarea {
	min-height: 160px;
	padding: 8px;
	line-height: 1.55em;
}
textarea.higher {
	min-height: 320px;
}
input[type=radio] {
	border-radius: 40px;
	position: relative;
}

input[type=radio],
input[type=checkbox] {
	width: 20px;
	height: 20px;
	margin-right: 8px;
	margin-top: 2px;
	flex-shrink: 0;
}
input[type=checkbox] {
	border-radius: 1px 6px 1px 1px;
}
input[type=radio]:checked,
input[type=checkbox]:checked {
	border-color: #56C8BB;
	box-shadow: none;
}
input[type=radio]:checked:after {
	content: "";
	position: absolute;
	left: 2px;
	right: 2px;
	top: 2px;
	bottom: 2px;
	border-radius: 40px;
	box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.25);
	background-color: #56C8BB;
}
input[type=checkbox]:checked:after {
	color: white;
	background-color: #56C8BB;
	content: "";
	font-family: 'Font Awesome 6 Sharp' !important;
	font-weight: 900;
	box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25);
	width: 100%;
	height: 100%;
	display: flex;
	font-size: 12px;
	justify-content: center;
	align-items: center;
}
input[type=radio]:disabled,
input[type=checkbox]:disabled {
	background: #ECEBEA;
	border-color: #DDDDDD;
	box-shadow: none;
}

.input-checkbox {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 8px;
}
.input-checkbox label {
	flex-grow: 1;
	margin-top: 0;
}

section.buttons .button:not(:last-child) {
	margin-left: 16px;
}
.qrcode-image {
	width: 100%;
	max-width: 400px;
	margin: 32px auto;
	display: block;
	background: #FFFFFF;
	border: 1px solid #EEEEEE;
	border-radius: 4px;
	padding: 8px;
}

.input-button-combo {
	display: flex;
}
.input-button-combo input {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-right: none;
}
.input-button-combo .button {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	white-space: nowrap;
	border-color: #DDDDDD;
}

footer {
	margin-bottom: 104px;
	text-align: center;
	color: #5B7775;
}
footer p {
	margin: 0;
	font-size: 0.75rem;
}
h1 a:link,
h1 a:visited,
p a:link,
p a:visited {
	color: #56C8BB;
	text-decoration: none;
}
h1 a:hover,
h1 a:active,
p a:hover,
p a:active {
	text-decoration: underline;
}
ul.list_items {
	list-style: none;
	padding: 0;
	border-top: 1px solid #EEEEEE;
	border-bottom: 1px solid #EEEEEE;
	margin: 0 -16px;
}
li.list_item {
	border-bottom: 1px solid #EEEEEE;
	padding: 0;
}
li.list_item:last-child {
	border-bottom: none;
}

li.list_item a {
	color: inherit;
	text-decoration: none;
	padding: 16px 16px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
li.list_item a:hover {
	background: #F3F9F6;
}
li.list_item img {
	width: 30px;
	margin-right: 16px;
}

li.list_item.disabled img {
	filter: grayscale(1);
}
li.list_item.disabled span {
	color: #5B7775;
	font-style: italic;
	margin-left: 8px;
}

code {
	white-space: nowrap;
	font-size: 0.85em;
	padding: 1px 4px;
	border: 1px solid #DDDDDD;
	border-radius: 4px;
}

@media screen and (min-width: 800px) {
	html {
		font-size: 18px;
	}

	body {
		padding-left: 320px;
	}
	nav {
		width: 320px;
		box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.13);
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		border-right: 1px solid #EEEEEE;
		overflow: scroll;
		z-index: 10;
		padding-bottom: 32px;
	}

	nav .logo-bar {
		margin-bottom: 32px;
		padding: 12px 24px;
	}

	nav img.avatar {
		width: 100px;
		box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.2);
		border-radius: 100px;
		margin: auto;
		display: block;
	}
	nav p.name {
		text-align: center;
		font-size: 1.65rem;
		margin: 32px 24px 32px 24px;
		color: #083F3B;
		display: block;
		font-weight: 600;
	}
	nav ul {
		display: unset;
	}
	nav ul li {
		width: 100%;
	}
	nav ul li:first-child {
		border-top: 1px solid #EEEEEE;
	}

	nav ul li a {
		flex-flow: row;
		padding: 20px 24px;
		font-size: unset;
	}
	nav ul li a i {
		margin-right: 16px;
		margin-bottom: 0;

	}
	/* nav ul li a svg {
		height: 1em;
		width: 2em;
		margin-right: 8px;
		margin-bottom: 0;
	} */
	nav ul li a span {
		display: inline;
	}

	nav ul li a[data-abbr]:after {
        content: none;
    }
	nav ul li a img {
		margin-right: 16px;
		margin-bottom: 0;
	}
	nav ul li a.active:before {
		width: 8px;
		height: auto;
		top: 0px;
		right: auto;
	}

	header {
		margin-top: 60px;
	}

	.card {
		margin: 32px 0;
		padding: 16px 24px 24px;
	}
	section.buttons {
		margin: 24px -24px 0;
		padding: 16px 24px;
	}

	.sticky-bar {
		left: 320px;
		padding: 16px;
	}
	.env-selection select {
		padding-left: 124px;
	}
	.env-selection label span {
		display: inline;
	}

	ul.list_items {
		margin: 0 -24px;
	}
	li.list_item a {
		padding: 16px 24px;
	}

}


@media (prefers-color-scheme: dark) {
	html {
		background-color: black ;
		color: #FAFAFA;
	}

	nav p.name,
	h1 {
		color: #FAFAFA;
	}
	code,
	nav,
	section.buttons {
		background-color: #083F3B ;
	}

	code,
	nav {
		border-color: #444444;
	}

	nav .logo-bar,
	.sticky-bar,
	select,
	textarea,
	input[type=email],
	input[type=tel],
	input[type=password],
	input[type=text],
	input[type=number],
	input,
	nav ul li a,
	.card {
		color: #D7EEFF;
		border-color: #24716B;
		background-color: #041F1D;
	}
	section.buttons,
	nav ul li:first-child {
		border-color: #24716B;

	}
	.card {
		border: 1px solid #24716B;
	}
	nav .logo-bar svg path {
		fill: #D7EEFF;
	}
	nav .logo-bar svg path:nth-child(1),
	nav .logo-bar svg path:nth-child(2),
	nav .logo-bar svg path:nth-child(3),
	nav .logo-bar svg path:nth-child(4),
	nav .logo-bar svg path:nth-child(5),
	nav .logo-bar svg path:nth-child(6),
	nav .logo-bar svg path:nth-child(7),
	nav .logo-bar svg path:nth-child(8) {
		fill: #D8F85D;
	}
	.button.secondary {
		background-color: #083F3B;
		border-color: #56C8BB;
		color: #D8F85D;
	}
	.button.secondary:hover {
		background-color: black;
	}
	nav ul li a:hover {
		background-color: black;
		color: #56C8BB;
	}
}
