* {
    box-sizing: border-box;
}

html, body {
    padding: 0;
    margin: 0;
    -webkit-text-size-adjust: 100%;
}

body {
    background-color: #262626;
    color: #ffffffde;
    font-family: 'Avenir', Helvetica, Arial, sans-serif;
    width: 100vw;
    overflow-x: hidden;
    min-height: calc(100vh);
}

a {
    color: #e7e7e7;
}

p {
    margin: 5px 10px;
}

h1, h2, h3, h4, h5, h6 {
    margin: 10px;
    margin-top: 20px;
}

img {
    max-width: 100%;
}

hr {
    margin: 30px;
    border: 1px dashed;
}

.text-uppercase {
    text-transform: uppercase;
}

.text-underline {
    text-decoration: underline;
}

.font-weight-normal {
    font-weight: normal;
}

.flex {
    display: flex;
}

.justify-content-space-between {
    justify-content: space-between;
}

.align-items-center {
    align-items: center;
}

.mx-2 {
    margin-right: 10px;
    margin-left: 10px;
}

.my-4 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.small {
    color: #bbb;
    font-size: 12px;
}

.lonely-centered {
    padding: 60px 30px;
    text-align: center;
}

button:active,
button:focus,
input:focus,
textarea:focus,
div:focus {
    box-shadow: 0 0 5px 1px #648cfe;
}

/* BUTTON */

.button {
    font-size: 14px;
    text-transform: uppercase;
    border-radius: 3px;
    padding: 8px;
    margin: 5px 0;
    cursor: pointer;
    text-align: center;
    background-color: #333;
    min-width: 33px;
    color: #fff;
    border: none;
    user-select: none;
    -webkit-user-select: none;
}

a.button {
    display: inline-block;
    text-decoration: none;
}

.button.destructive {
    background-color: #e00f0f;
    color: #fff;
}

.button.text-icon {
    font-size: 20px;
    padding: 3px 0 7px 0;
    line-height: 1;
    text-align: center;
}

.button.full {
    width: 100%;
}

.button.primary {
    color: #262626;
    background-color: #fff;
}

.button.disabled,
.button[disabled] {
    opacity: 0.4;
    cursor: auto;
    pointer-events: none;
}

.button-wrapper {
    padding: 10px;
    text-align: center;
    margin: 0 auto;
}

.button-group-right > .button {
    margin-left: 10px;
}

.button-group-left > .button {
    margin-right: 10px;
}

.button--small {
    padding-top: 3px;
    padding-bottom: 3px;
}

.button-row {
  display: flex;
  justify-content: space-between;
}

.button-row > .button {
  width: 100%;
}

.button-row--inline > .button {
  width: auto;
}

.button-row > .button:first-child {
  margin-right: 4px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.button-row > .button:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.button-row > .button:not(:first-child):not(:last-child) {
  border-radius: 0;
  margin-right: 4px;
}

/* FORMS */

.form-field,
.form label {
    margin: 13px 0;
    display: block;
}

.form-field > .markdown {
    padding: 10px 0;
    margin: 0;
}

.form-field__text,
.form-field__textarea,
.form-field__select,
.form input[type=text],
.form input[type=password],
.form input[type=date],
.form select,
.form textarea {
    -webkit-appearance: none;
    width: 100%;
    padding: 10px;
    border-radius: 0;
    font-size: inherit;
    border: none;
    margin: 2px 0;
    background-color: #333;
    color: #fff;
}

.form-field__textarea,
.form textarea {
    min-height: 101px;
    font-family: inherit;
    resize: vertical;
}

.form-field__textarea.code,
.form textarea.code {
    font-family: monospace;
    white-space: pre;
}

.form-field__textarea.code.-indent,
.form textarea.code.-indent {
    padding-left: 20px;
}

.form-field__checkbox,
.form input[type=checkbox] {
    margin: 0;
    margin-left: 10px;
}

.form-field__checkbox + span,
.form input[type=checkbox] + span {
    padding: 0 5px;
}

.form-field__text[readonly],
.form-field__textarea[readonly],
.form-field__select[readonly],
.form textarea[readonly],
.form select[readonly],
.form input[readonly] {
    border-color: #d4d4d4;
    color: #9d9d9d;
}

.form-field__text[disabled],
.form-field__textarea[disabled],
.form-field__select[disabled],
.form textarea[disabled],
.form select[disabled],
.form input[disabled] {
    color: #7b7b7b;
}

.form-field__header {
    display: flex;
    justify-content: space-between;
    margin: 0 10px 2px 10px;
}

.form label span:first-child {
    margin-left: 10px;
    margin-bottom: 2px;
    display: inline-block;
}

.form label span.color-preview {
    width: 100%;
    padding: 10px 10px;
    margin-left: 0;
}

.form .text.text-warning,
.text-warning {
    color: #f56767;
}

.form-field__info,
.form .text {
    color: #b5b5b5;
    margin: 2px 10px 0;
}

/* MARKDOWN */

.markdown {
    line-height: 1.3;
    margin: 20px 0;
}

.markdown p {
    margin: 0 10px 10px;
}

.markdown ul,
.markdown ol {
    padding-left: 0;
    margin: 0 10px 10px 0;
}

.markdown li {
    margin-left: 35px;
}

.markdown li > p {
    margin: 0 0 5px;
}

.markdown blockquote {
    color: #9cb0ca;
    font-size: inherit;
    margin: 15px;
    border-left: 3px solid #464646;
}

.markdown pre {
    line-height: 1.44;
    border: 1px solid #4a4a4a;
    overflow: hidden;
    margin: 15px 10px;
}

.markdown code {
    padding: 2px 4px;
    color: #f4b9af;
    background-color: #51413f;
    border-radius: 3px;
    white-space: pre-wrap;
    word-wrap: normal;
}

.markdown pre code {
    padding: 7px;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
    border-radius: 0;
    overflow-x: scroll;
    white-space: pre;
    display: inline-block;
    width: 100%;
}

.markdown .markdown-table-container {
    overflow-x: scroll;
    margin: 15px -1px;
}

.markdown table {
    border-collapse: collapse;
    margin: 0 auto;
}

.markdown th,
.markdown td {
    border: 1px solid #717171;
    padding: 6px 7px 2px;
    vertical-align: top;
}

.markdown th {
    border-bottom-width: 2px;
    vertical-align: bottom;
    background-color: #313131;
}
