/* reset 1em = 20px 
html {
font-size: 100%;
line-height: 125%;
}
*/

/* selection */
img,
audio,
video,
canvas,
iframe,
a {
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}

.text *,
form input,
form select,
form textarea {
-webkit-user-select: text;
-khtml-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
-o-user-select: text;
user-select: text;
}

*::selection,
input::selection {
background: #000;
color: #fff;
-webkit-text-fill-color: #fff;
-moz-text-fill-color: #fff;
-o-text-fill-color: #fff;
-ms-text-fill-color: #fff;
text-fill-color: #fff;
}

textarea::selection {
background: #000;
color: #fff;
-webkit-text-fill-color: #fff;
-moz-text-fill-color: #fff;
-o-text-fill-color: #fff;
-ms-text-fill-color: #fff;
text-fill-color: #fff;
}

::selection {
background: #000;
color: #fff;
text-decoration: none;
}

input:focus,
textarea:focus {
outline: none;
outline: -webkit-focus-ring-color 0 0;
background-color: #eee;
}

input[type=text]:focus,
input[type=checkbox],
input[type=radio],
textarea:focus {
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
-o-appearance: none;
appearance: none;
}

input[type=checkbox],
input[type=radio] {
margin: 0 0.25em 0 0;
}

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

::-webkit-input-placeholder {
font-family: inherit;
color: #999;
-webkit-text-fill-color: #999;
}

::-moz-placeholder {
font-family: inherit;
color: #999;
-moz-text-fill-color: #999;
}

:-ms-input-placeholder {
font-family: inherit;
color: #999;
-ms-text-fill-color: #999;
}

:-moz-placeholder {
font-family: inherit;
color: #999;
-moz-text-fill-color: #999;
}

/* form */
button,
input,
select,
textarea {
border: none;
background-color: #ddd;
}

textarea {
width: 100%;
max-width: 100%;
min-width: 100%;
overflow: auto;
}

label[for],
input[tape=radio],
input[tape=checkbox],
button {
cursor: pointer;
}

button,
input[type=text],
input[type=url],
input[type=tel],
input[type=date],
input[type=month],
input[type=week],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=number],
input[type=password],
input[type=button],
input[type=color],
input[type=reset],
input[type=submit],
input[type=search],
textarea {
border-radius:0;
outline: none;
box-shadow: none;
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
-o-appearance: none;
appearance: none;
text-shadow: 0px 0px 0px rgba(0,0,0,0);
-webkit-text-fill-color: #000;
-moz-text-fill-color: #000;
-o-text-fill-color: #000;
-ms-text-fill-color: #000;
text-fill-color: #000;
padding: 0.625em;
line-height: 125%;
}

input[type=date],
input[type=month],
input[type=week],
input[type=datetime-local] {
padding: 0.5em 0.625em;
line-height: 100%;
}

input[type=color],
input[type=range] {
padding: 0;
height: 1.5em;
font-size: 100%;
line-height: 100%;
float: left;
}

input[type=radio],
input[type=checkbox] {
padding: 0;
height: 1.5em;
width: 1.5em;
float: left;
}

button {
width: auto;
min-width: 1em;
border-radius: 0;
padding: 0 0.25em;
line-height: 150%;
}

label {
width: auto;
float: left;
padding: 0.625em;
line-height: 125%;
}

select {
margin: 0;
padding: 0.25em;
width: 100%;
min-width: 100%;
max-width: 100%;
border-radius: 0;
outline: none !important;
background-color: transparent;
background-color: rgba(255,255,255,0);
cursor: pointer;
-webkit-appearance: none;
-moz-appearance:window;
-ms-appearance: none;
-o-appearance: none;
overflow: hidden;
text-overflow: ellipsis;
}


.form-item {
background-color: #ddd;
width: 100%;
float: left;
margin: 0.625em 0;
}

.form-item.input label {
margin-right: -100%;
position: relative;
z-index: 2;
pointer-events: none;
}

.form-item.input input {
width: 100%;
position: relative;
z-index: 1;
padding-left: 20%;
}

/* list */
.text ul,
.text ol {
overflow: hidden;
width: 100%;
float: left;
padding: 0.625em 0 0.625em 1.8em;
}

.text ol li,
.text ul li {
position: relative;
padding: 0.625em 0;
}

.text ul {
padding-left: 1.5em;
}

.text ul li:before {
position: absolute;
content: "–";
top: 0.5em;
left: -1.5em;
float: left;
font-size: 110%;
}

.text ul.list li:before {
content: "";
display: none;
}

.text ol {
list-style: decimal;
}

/* table */
.table-wrapper.scroll {
overflow: hidden;
overflow-x: scroll;
-webkit-overflow-scrolling: touch;
-moz-overflow-scrolling: touch;
-ms-overflow-scrolling: touch;
-o-overflow-scrolling: touch;
overflow-scrolling: touch;
margin-right: 0;
}

.table-wrapper table {
min-width: 320px !important;
}

.text table {
width: auto !important;
float: left;
border-collapse: collapse;
border-spacing: 0;
vertical-align: top;
border: none;
margin-bottom: 0.625em;
}

.text table:first-child,
.text .table-wrapper:first-child table {
margin-top: 0.625em;
}

.text table *:not(.align-r,.align-c) {
text-align: left;
}

.text table caption {
padding: 0 0 0.625em 0;
}

.text table td,
.text table th {
vertical-align: top;
padding: 0.625em 1.25em 0.625em 0;
border-bottom: 1px solid #dededf;
}

.text table th {
white-space: nowrap;
border: none;
}

.text table thead th,
.text table tbody tr:first-child td {
border-top: 1px solid #dededf;
}

.text table tfoot tr:last-child th {
border-bottom: 1px solid #dededf;
}

.text table td:last-child,
.text table th:last-child {
padding-right: 0;
}

/* align */
.align-r {
text-align: right;
}

.align-l {
text-align: left;
}

.align-c {
text-align: center;
}

/* text */
p {
display: block;
clear: both;
}

.text p {
padding-top: 1.5em;
display: block;
clear: both;
}

.text p:first-child {
padding-top: 0;
}

/* overlay (prevent body scrolling on mobile device) */
.scrollstop {
position: fixed !important;
left: 0px !important;
right: 0px !important;
}

/* hidden */
.hidden {
display: none;
}