
@charset "utf-8";

@import url(../../fonts/FontAwesome/style.css);

:root {
    --font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --body-font-family: var(--font-sans-serif);
    --body-font-size: 1rem;
    --body-font-weight: 400;
    --body-line-height: 1.5;
	--code-font-family: var(--font-monospace);
	--border-width: 1px;
	--border-radius: .375rem;

    --font-icon: 'FontAwesome';
    /*
    --font-icon-weight: 300;
    --font-icon--weight-solid: 900;
    */
}

[theme=light] {
    --color-success: #198754;
    --color-info: #0dcaf0;
    --color-warning: #ffc107;
    --color-danger: #dc3545;

    --color-primary: #212529;
	--color-primary-muted: #74808b;
    --color-primary-bg: #f8f9fa;
    --color-secondary: #f8f9fa;
	--color-secondary-muted: #979a9d;
    --color-secondary-bg: #212529;
    --color-link: #0d6efd;
    --color-link-hover: #0a58ca;
    --color-button: #f8f9fa;
    --color-button-bg: #0d6efd;
    --color-button-bg-hover: #0a58ca;
    --color-button-bg-muted: #74808b;
    --color-focus-shadow: rgba(13,110,253,.25);
	--color-highlight: #212529;
	--color-highlight-bg: #fff3cd;  
}

/* Document
 */

*,
*::before,
*::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

html {
    font-family: var(--body-font-family);
    font-size: var(--body-font-size);
    font-weight: var(--body-font-weight);
	line-height: var(--body-line-height);
	text-size-adjust: 100%; /* prevent adjustments of font size after orientation changes in iOS */
}

/* Sections
 */

body {
	margin: 0;
    color: var(--color-primary);
    background-color: var(--color-primary-bg);
    /*
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    */
}

/*
main {
	display: block;
}
*/

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
	margin-top: 0;
	margin-bottom: 1rem;
	font-weight: 500;
	line-height: 1.2;
}
  
h1, .h1 {
	font-size: calc(1.375rem + 1.5vw);
}
  
h2, .h2 {
	font-size: calc(1.325rem + 0.9vw);
}
  
h3, .h3 {
	font-size: calc(1.3rem + 0.6vw);
}
  
h4, .h4 {
	font-size: calc(1.275rem + 0.3vw);
}
  
h5, .h5 {
	font-size: 1.25rem;
}
  
h6, .h6 {
	font-size: 1rem;
}
  
/* Grouping content
 */

hr {
	box-sizing: content-box;
	height: 0; /* correct box sizing in Firefox */
	overflow: visible; /* show the overflow in Edge and IE */

	margin: 1rem 0;
	color: inherit;
	border: 0;
	border-top: 1px solid;
	opacity: 0.25;  
}

p {
	margin-top: 0;
	margin-bottom: 1rem;
}
  
pre,
code,
kbd,
samp {
	font-family: var(--code-font-family);
	font-size: 1em; /* correct the odd `em` font sizing in all browsers */
}

pre {
	display: block;
	margin-top: 0;
	margin-bottom: 1rem;
	overflow: auto;
	/*font-size: 0.875em;*/
}

pre code {
	font-size: inherit;
	color: inherit;
	word-break: normal;
}
  
code {
	/*font-size: 0.875em;*/
	/*color: var(--color-primary);*/
	word-wrap: break-word;
}
  
kbd {
	padding: 0.1875rem 0.375rem;
	font-size: 0.875em;
	color: var(--color-primary-bg);
	background-color: var(--color-primary);
	border-radius: 0.25rem;
}
  
/* Text-level semantics
 */

a {
	color: var(--color-link);
	background-color: transparent; /* remove the gray background on active links in IE10 */
	/*text-decoration: underline;*/
    text-decoration: none;
}

a:hover {
	color: var(--color-link-hover);
}
  
a:not([href]):not([class]), a:not([href]):not([class]):hover {
	color: inherit;
	text-decoration: none;
}
  
abbr[title] {
	border-bottom: none; /* remove the bottom border in Chrome57- */
	/*text-decoration: underline;*/
	text-decoration: underline dotted; /* add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
	cursor: help;
	/*
	-webkit-text-decoration: underline dotted;
	-webkit-text-decoration-skip-ink: none;
	text-decoration-skip-ink: none;
	*/
}

address {
	margin-bottom: 1rem;
	font-style: normal;
	line-height: inherit;
}
  
ol,
ul {
	padding-left: 2rem;
}

menu {
    padding: 0;
    margin: 0;
    list-style: none;
}

ol,
ul,
dl {
	margin-top: 0;
	margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
	margin-bottom: 0;
}

ol[type=none],
ul[type=none] {
    padding-left: 0;
    list-style: none;
}

ul.inline {
    padding-left: 0;
    list-style: none;
}

ul.inline li {
    display: inline-block;
}

dt {
	font-weight: 700;
}

dd {
	margin-bottom: 0.5rem;
	margin-left: 0;
}

blockquote {
	margin: 0 0 1rem;
}
	
b,
strong {
	font-weight: bolder;
}
  
small, .small {
	font-size: 0.875em;
}
  
mark, .mark {
	padding: 0.1875em;
	background-color: var(--color-highlight-bg);
}
  
sub,
sup {
	position: relative;
	font-size: 0.75em;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
  
sub {
	bottom: -0.25em;
}
  
sup {
	top: -0.5em;
}

/* Tables
 */

table {
    --border-width: 1px;
    --color-strip-bg: lightgray;
    width: 100%;
    margin-bottom: .5rem;
    caption-side: bottom;
    border-collapse: collapse;
}

caption {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    /*color: var(--color-secondary);*/
    text-align: center;
}

th {
    text-align: inherit;
    /*text-align: -webkit-match-parent;*/
    font-weight: inherit;
}

thead,
tbody,
tfoot,
tr,
td,
th {
    border-color: inherit;
    border-style: solid;
    border-width: 0;
}

table > :not(caption) > * > * {
    padding: 0.375rem 0.75rem;
  }
  
table.bordered > :not(caption) > * {
    border-width: var(--border-width) 0;
}

table.bordered > :not(caption) > * > * {
    border-width: 0 var(--border-width);
}

table.striped.rows > :not(caption) > tr:nth-of-type(odd) > * {
    background-color: var(--color-primary-muted);
}
  
.table.striped.columns > :not(caption) > tr > :nth-child(even) {
    background-color: var(--color-primary-muted);
}

/* Embedded content
 */

figure {
    margin: 0 0 1rem;
}
  
img {
	border-style: none; /* remove the border on images inside links in IE10 */
}

figure img {
    width: 100%;
}

svg.placeholder {
    text-anchor: middle;
}

/* Forms
 */

form {
	/*
    display: flex;
    flex-direction: column;
    gap: .375rem;
	*/
}

form.inline {
	/*
    display: flex;
    flex-direction: row;
    gap: .5rem;
    align-items: baseline;
	*/
	display: inline-block;
}

form.inline * {
	display: inline-block;
	width: auto;
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

legend {
    margin-bottom: .375rem;
}
/*
label {
    display: inline-block;
    margin-bottom: .375rem;
}
*/
input,
select,
textarea {
    background-clip: padding-box;
	font-family: inherit;
    font-size: 100%;
    font-weight: var(--body-font-weight);
    line-height: var(--body-line-height);
	color: var(--color-primary);
	background: var(--color-primary-bg);
	border: var(--border-width) solid var(--color-primary-muted);
	border-radius: var(--border-radius);
}

input,
select {
	display: inline-block;
	width: auto;
	margin: 0; /* remove the margin in Firefox and Safari */
}

input,
textarea {
	padding: .375rem .75rem;
}

select {
	padding: .375rem 2.25rem .375rem .75rem;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: none;
}

input:focus,
select:focus,
textarea:focus {
	/*border: var(--border-width) solid var(--color-primary-muted);*/
	box-shadow: 0 0 0 .25rem var(--color-focus_shadow);
}

.button,
[type=button],
[type=submit],
[type=reset] {
    display: inline-block;
    padding: .375rem .75rem;
    color: var(--color-button);
    background: var(--color-button-bg);
    border: var(--border-width) solid var(--color-button-bg);
    border-radius: var(--border-radius);
    text-decoration: none;
    line-height: var(--body-line-height);
    cursor: pointer;
}

.button:hover,
[type=button]:hover,
[type=submit]:hover,
[type=reset]:hover {
    color: var(--color-button);
    background: var(--color-button-bg-hover);
    border-color: var(--color-button-bg-hover);
}

.button:disabled,
[type=button]:disabled,
[type=submit]:disabled,
[type=reset]:disabled {
    background-color: var(--color-button-bg-muted);
    border-color: var(--color-button-bg-muted);
    cursor: default;
}

::placeholder {
    color: var(--color-primary-muted);
}

[type=radio],
[type=checkbox] {
	position: relative;
	/*width: 1.5rem;
	height: 1.5rem;*/
	width: 1rem;
	height: 1rem;
	padding: 0;
	margin-right: .2rem;
	margin-top: -.25rem;
	flex-shrink: 0;
	flex-grow: 0;
	display: inline-block;
	vertical-align: middle;
}

[type=radio] {
    border-radius: 50%;
}

[type=checkbox]::after,
[type=radio]::after {
    position: absolute;
    left: -.2rem;
    top: -.25rem;
    width: 1.4rem;
    padding-left: .2rem;
    height: 1.5rem;
    padding-bottom: .25rem;
    z-index: 1;
    background-color: var(--color-primary-bg);
    color: var(--color-primary);
    font-family: var(--font-icon);
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 1.5rem;
}

[type=checkbox]:disabled::after,
[type=radio]:disabled::after {
    color: var(--color-primary-muted);
    cursor: default;
}

[type=checkbox]::after {
    content: '\f0c8';
}

[type=checkbox]:checked::after {
    content: '\f14a';
}

[type=radio]::after {
    content: '\f111';
    padding-left: .15rem;
}

[type=radio]:checked:after {
    content: '\f192';
}

[type=radio]+label,
[type=checkbox]+label {
    cursor: pointer;
}

[type=radio]:disabled+label,
[type=checkbox]:disabled+label {
    cursor: default;
}

label [type=checkbox],
label [type=radio] {
    margin-right: .5rem;
}

[type=file] {
    cursor: pointer;
}

::file-selector-button {
    display: inline-block;
    padding: .375rem .75rem;
    margin: -.375rem -.75rem;
    /*-webkit-margin-end: 0.75rem;*/
    margin-inline-end: 0.75rem;
    /*
    color: var(--color-primary);
    background-color: var(--color-primary-bg);
    */
    background-color: inherit;
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-right-width: var(--border-width);
    border-radius: 0;
    /*border-inline-end-width: var(--border-width);*/
    font-size: inherit;
    line-height: inherit;
}

[type=range] {
    width: 100%;
    height: 1.5rem;
    padding: 0;
    background-color: transparent;  
}

[type=range]:focus {
    outline: none;
    box-shadow: none;
}

/* Interactive
 */

details {
    position: relative;
    display: block;
    padding-left: 1.5rem;
}

details[type=before] {
    padding-left: 1.5rem;
    padding-right: 0;
}

details[type=after] {
    padding-left: 0;
    padding-right: 1.5rem;
}
/*
details::not(open) {
    margin-bottom: .375rem;
}
*/
details>summary {
	display: list-item;
    list-style: none;
	cursor: pointer;
    margin-bottom: .375rem;
}
/*
details[open] > summary {
}
*/
details>summary::after {
    content: '\f078';
    position: absolute;
    top: 0;
    left: 0;
    flex-shrink: 0;
    flex-grow: 0;
    font-family: var(--font-icon);
    font-weight: 300;
    cursor: pointer;
}

details[type=before]>summary::after {
    left: 0;
    right: auto;
}

details[type=after]>summary::after {
    left: auto;
    right: 0;
}

details[open]>summary::after {
    content: '\f077';
}

/* Misc 
 */

template,
[hidden] {
	display: none; /* add correct display in IE10+ */
}
