/* Purelymail custom */
@font-face { font-family: "DejaVu Serif"; src: url('fonts/DejaVuSerif.woff') format('woff'); }
@font-face { font-family: "DejaVu Serif"; src: url('fonts/DejaVuSerifBold.woff') format('woff'); font-weight: bold; }
@font-face { font-family: "DejaVu Serif"; src: url('fonts/DejaVuSerifItalic.woff') format('woff'); font-style: italic; }

/* A bit of custom header styling */
h2 {
    padding-bottom: 0.3em;
    border-bottom: 1px solid #00000030;
}
h3::before {
    content: "> ";
    color: #0000002e;
}
h4::before {
    content: "> > ";
    color: #0000002e;
}
h5::before {
    content: "> > > ";
    color: #0000002e;
}

/* Inputs w/ prefixes and suffixes */
.input-group-addon {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    color: #f4f4f4;
    text-align: center;
    background-color: #686868;
    border: 1px solid #ccc;
    width: 1%;
    white-space: nowrap;
    vertical-align: middle;
    display: table-cell;
}

.input-group input {
    position: relative;
    z-index: 2;
    float: left;
    width: 100%;
    display: table-cell;
    padding: 6px 12px;
    border: 1px solid #ccc;
    margin: 0;
}

.suffix input {
    border-radius: 4px 0px 0px 4px !important;
}
.suffix .input-group-addon {
    border-left: 0;
    border-radius: 0px 4px 4px 0px;
}
.prefix input {
    border-radius: 0px 4px 4px 0px !important;
}
.prefix .input-group-addon {
    border-right: 0;
    border-radius: 4px 0px 0px 4px;
}
.presuffix input {
    border-radius: 0px;
}
.input-group-addon.prefix {
    border-radius: 4px 0px 0px 4px;
    border-right: 0;
}
.input-group-addon.suffix {
    border-radius: 0px 4px 4px 0px;
    border-left: 0;
}
.input-group {
    position: relative;
    display: table;
    border-collapse: separate;
}

/* End input prefix/suffixes */

/* Short highlight anim used in anchor links */
@keyframes highlight {
    0% {
        background: yellow
    }
    100% {
        background: none;
    }
}
/* Highlight when anchor-target */
h1:target,h2:target,h3:target,*:has(.anchor:target) {
    animation: highlight 2s;
}

h1,h2,h3 {
    line-height: 1.2;
}

.anchor {
    display: block;
    position: relative;
    top: -250px;
    visibility: hidden;
}

/* Custom checkboxes/radios */
.selectableContainer {
    position: relative;
    display: flex;
    align-items: center;
}

.selectableContainer input {
    opacity: 0;
    width: 25px;
    height: 25px;
}

.selectableCheckmark, .selectableRadio {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: white;
    border: 1px solid black;
}

.selectableRadio {
    border-radius: 50%;
    border: 1px solid gray;
}

.selectableContainer:hover input ~ .selectableDraw {
    background-color: #ccc;
}
.selectableContainer input:checked ~ .selectableDraw {
    background-color: #91009b;
}

.selectableContainer input:disabled ~.selectableDraw {
    opacity: 0.5;
    filter: brightness(80%);
}

.selectableContainer input:focus ~.selectableDraw {
    border: 2px dashed black;
}

.selectableDraw:after {
    content: "";
    position: absolute;
    display: none;
}
.selectableContainer input:checked ~ .selectableDraw:after {
    display: block;
}
.selectableContainer .selectableCheckmark:after {
    left: 7px;
    top: 0;
    width: 7px;
    height: 14px;
    border: solid white;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}
.selectableContainer .selectableRadio:after {
    top: 8px;
    left: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: white;
}

/* Misc */
body {
    color: #686868;
    background-color: #d7d7d7;
}

.codebox {
    background-color: rgb(233, 229, 224);
    border-radius: 5px;
    padding: 0 5px;
    white-space: pre;
    color: #0E9F88;
}

.codeboxCopy {
    margin:0;
    padding: 0;
}
.codeboxCopy.copied:after {
    content: 'Copied!';
    position: absolute;
    left: 100%;
    display: inline;
    background-color: darkgray;
    color: green;
    border-radius:5px;
    opacity: 0;
    animation: fadeout 3s;
}

.underShadow:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    box-shadow: 10px 5px 5px 3px darkgray;
}

@keyframes fadeout {
    from { opacity: 1; }
    50% { opacity: 1; }
    to   { opacity: 0; }
}

.errorFadeOut {
    opacity: 0;
    animation: fadeout 6s;
}

/* Tables */
.borderedTable, .borderedTable th, .borderedTable td {
    border: 1px solid rgba(128, 128, 128, 0.6);
}

.borderedTable th, .borderedTable td {
    padding: 5px;
}

.borderedTable {
    border-collapse: collapse;
}

.centerHeader th {
    text-align: center;
}

.deletedRow td:not(.action) {
    opacity: 0.5;
    filter: blur(0.8px);
    pointer-events: none
}

/*! chota.css v0.6.2 | MIT License | github.com/jenil/chota */
:root {
    --color-primary: #9f1274;
    --color-lightGrey: #d2d6dd;
    --color-grey: #7e818b;
    --color-darkGrey: #3f4144;
    --color-error: #d43939;
    --color-delete: #d43939;
    --color-success: #28bd14;
    --grid-maxWidth: 120rem;
    --grid-gutter: 2rem;
    --font-size: 18px;
    --font-family: dejavu_serifbook, Arial, Sans-Serif, Avenir, "Avenir Next",
    "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans",
    "Droid Sans", "Helvetica Neue", sans-serif;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
html {
    font-size: 62.5%;
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
body {
    letter-spacing: 0.01em;
    line-height: 1.6;
    font-size: var(--font-size);
    font-weight: 400;
    font-family: "Segoe UI", "Helvetica Neue", sans-serif; /*fallback*/
    font-family: var(--font-family);
    margin: 0;
    padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 500;
    margin: 0.35em 0 0.7em 0;
}
h1 {
    font-size: 2em;
}
h2 {
    font-size: 1.75em;
}
h3 {
    font-size: 1.5em;
}
h4 {
    font-size: 1.25em;
}
h5 {
    font-size: 1em;
}
h6 {
    font-size: 0.85em;
}
a {
    color: var(--color-primary);
    text-decoration: none;
}
a:hover:not(.button) {
    opacity: 0.75;
}
p {
    margin-top: 0;
}
blockquote {
    background-color: #f3f3f6;
    padding: 1.5rem 2rem;
    border-left: 3px solid var(--color-lightGrey);
}
dl dt {
    font-weight: bold;
}
hr {
    border: none;
    background-color: var(--color-lightGrey);
    height: 1px;
    margin: 1rem 0;
}
table {
    width: 100%;
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
    text-align: left;
}
table.striped tr:nth-of-type(2n) {
    background-color: #ddd;
}
td,
th {
    vertical-align: middle;
    padding: 1.2rem 0.4rem;
}
thead {
    border-bottom: 2px solid var(--color-lightGrey);
}
tfoot {
    border-top: 2px solid var(--color-lightGrey);
}
code,
kbd,
pre,
samp,
tt {
    font-family: monaco, "Consolas", "Lucida Console", monospace;
}
code,
kbd {
    padding: 0 0.4rem;
    font-size: 90%;
    white-space: pre-wrap;
    border-radius: 4px;
    color: #d43939;
    padding: 0.2em 0.4em;
    background-color: #f3f3f6;
}
pre {
    background-color: #f3f3f6;
    font-size: 1em;
    padding: 1rem;
    overflow-x: auto;
}
pre code {
    background: none;
    padding: 0;
}
abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}
img {
    max-width: 100%;
}
fieldset {
    border: 1px solid var(--color-lightGrey);
}
iframe {
    border: 0;
}

fieldset {
    padding: 0.5rem 2rem;
}
legend {
    text-transform: uppercase;
    font-size: 0.8em;
    letter-spacing: 0.1rem;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="color"]):not([type="button"]):not([type="reset"]),
select,
textarea,
textarea[type="text"] {
    font-family: inherit;
    padding: 0.8rem 1rem;
    border-radius: 4px;
    border: 1px solid var(--color-lightGrey);
    font-size: 1em;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    display: block;
    width: 100%;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="color"]):not([type="button"]):not([type="reset"]):not(:disabled):hover,
select:hover,
textarea:hover,
textarea[type="text"]:hover {
    border-color: var(--color-grey);
}
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="color"]):not([type="button"]):not([type="reset"]):focus,
select:focus,
textarea:focus,
textarea[type="text"]:focus {
    outline: none;
    border-color: var(--color-primary);
    -webkit-box-shadow: 0 0 1px var(--color-primary);
    box-shadow: 0 0 1px var(--color-primary);
}
input.error:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="color"]):not([type="button"]):not([type="reset"]),
textarea.error {
    border-color: var(--color-error);
}
input.success:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="color"]):not([type="button"]):not([type="reset"]),
textarea.success {
    border-color: var(--color-success);
}
select {
    -webkit-appearance: none;
    background: #f3f3f6 no-repeat 100%;
    background-size: 1ex;
    background-origin: content-box;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='40' fill='%23555'><polygon points='0,0 60,0 30,40'/></svg>");
}
[type="checkbox"],
[type="radio"] {
    width: 1.6rem;
    height: 1.6rem;
}
/* BUTTONS */
.button,
[type="button"],
[type="reset"],
[type="submit"],
button {
    margin: 1rem;
    padding: 1rem 2.5rem;
    color: var(--color-darkGrey);
    background: var(--color-lightGrey);
    border-radius: 4px;
    border: 1px solid transparent;
    font-size: var(--font-size);
    line-height: 1;
    text-align: center;
    -webkit-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
    text-decoration: none;
    -webkit-transform: scale(1);
    transform: scale(1);
    display: inline-block;
    cursor: pointer;
}
.button + .button {
    margin-left: 1rem;
}
.buttons > .button + .button {
    margin-left: 0;
}
.button:hover,
[type="button"]:hover,
[type="reset"]:hover,
[type="submit"]:hover,
button:hover {
    opacity: 0.8;
}
.button:active,
[type="button"]:active,
[type="reset"]:active,
[type="submit"]:active,
button:active {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
}
input:disabled,
button:disabled,
input:disabled:hover,
button:disabled:hover {
    opacity: 0.4;
    cursor: not-allowed;
}
.button.primary,
.button.secondary,
.button.dark,
.button.error,
.button.delete,
.button.success,
[type="submit"] {
    color: #fff;
    background-color: #000;
    background-color: var(--color-primary);
}
.button.secondary {
    background-color: var(--color-grey);
}
.button.dark {
    background-color: var(--color-darkGrey);
}
.button.error {
    background-color: var(--color-error);
}
.button.delete {
    background-color: var(--color-delete);
}
.button.success {
    background-color: var(--color-success);
}
.button.outline {
    background-color: transparent;
    border-color: var(--color-lightGrey);
}
.button.outline.primary {
    border-color: var(--color-primary);
    color: var(--color-primary);
}
.button.outline.secondary {
    border-color: var(--color-grey);
    color: var(--color-grey);
}
.button.outline.dark {
    border-color: var(--color-darkGrey);
    color: var(--color-darkGrey);
}
.button.clear {
    background-color: transparent;
    border-color: transparent;
    color: var(--color-primary);
}
.button.icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.button.icon > img {
    margin-left: 2px;
}
.button.icon-only {
    padding: 1rem;
}
::-webkit-input-placeholder {
    color: #bdbfc4;
}
:-ms-input-placeholder {
    color: #bdbfc4;
}
::-ms-input-placeholder {
    color: #bdbfc4;
}
::placeholder {
    color: #bdbfc4;
}