/* Privnote replica — clean stylesheet (design 1:1) */

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

body {
    background: #f1f1f1;
    margin: 0;
    padding: 0;
    text-align: center;
    font: 300 18px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #222;
}

h1, h2, h3 { margin: 0; }
a { color: #000; }

/* ---------- forms ---------- */
input[type="text"], input[type="password"], input[type="email"], textarea, select {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #ccc;
    border-radius: 0;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    color: rgba(0, 0, 0, 0.75);
    font: inherit;
    font-size: 0.875rem;
    transition: border-color 0.15s linear, background 0.15s linear;
}
input:focus, textarea:focus, select:focus { background: #fafafa; border-color: #999; outline: none; }

select {
    appearance: none;
    background: #fafafa url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='5'><polygon fill='%23555' points='10,0 5,5 0,0'/></svg>") no-repeat right center;
    padding-right: 25px;
}

label {
    display: block;
    text-align: left;
    font-size: 0.8rem;
    line-height: 1.5em;
    color: #4d4d4d;
}
label.checkbox { font-size: 0.9rem; line-height: 1rem; }

label .caption {
    display: block;
    margin-top: -1px;
    padding: 0.33333rem 0.5rem 0.5rem;
    background: #f9d15f;
    color: #000;
    font-size: 0.8rem;
    font-style: italic;
}
label .error {
    display: block;
    margin: -1px 0 0.4em;
    padding: 0.33333rem 0.5rem 0.5rem;
    background: #f04124;
    color: #fff;
    font-size: 0.8rem;
    font-style: italic;
}
label .very_weak { background: #cfc; }
label .weak, label .good { background: #6c9; }
label .strong, label .very_strong { background: #00b283; color: #fff; }

/* ---------- grid ---------- */
.section { clear: both; margin: 0 0 0.8em; }
.group::before, .group::after { content: ""; display: table; }
.group::after { clear: both; }
.col { display: block; float: left; margin-left: 1.6%; }
.col:first-child { margin-left: 0; }
.span_1_of_6 { width: 15.33%; }
.span_2_of_6 { width: 32.26%; }
.span_3_of_6 { width: 49.2%; }
.span_4_of_6 { width: 66.13%; }
.span_6_of_6 { width: 100%; }

/* ---------- buttons ---------- */
.button, .primary_button, .small_button {
    display: block;
    width: 100%;
    margin: 0;
    border-radius: 5px;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    font: inherit;
}
.button {
    padding: 0.5em;
    border: 1px solid #aaa;
    background: #f0f0f0;
    color: #333;
    font-size: 1rem;
    line-height: 2rem;
}
.primary_button {
    padding: 0.5em;
    border: 1px solid #960000;
    background: #960000;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 2rem;
}
.primary_button:hover { background: #b00000; }
.small_button {
    padding: 0.5em;
    border: 1px solid #aaa;
    background: #f0f0f0;
    color: #333;
    font-size: 0.8rem;
    line-height: 1.6rem;
}
.help_button {
    float: right;
    padding: 0 0.5em;
    border: 1px solid #aaa;
    border-radius: 5px;
    background: #f0f0f0;
    color: #333;
    text-decoration: none;
    cursor: pointer;
}
.danger { background: #f9d15f; }

/* ---------- blocks ---------- */
.help_block { margin: 0.5rem 0; padding: 0.5rem; background: #eee; font-size: 0.85rem; }
.warning_block { margin: 0.5rem 0; padding: 0.5rem; background: #f9d15f; font-size: 0.85rem; font-weight: 700; text-align: center; }
.error_block { margin: 0.5rem 0 1rem; padding: 0.5rem; background: #f04124; color: #fff; font-size: 0.85rem; font-style: italic; text-align: center; }
.hint { margin: 0.3rem; font-size: 0.9rem; font-style: italic; text-align: center; }

/* ---------- header ---------- */
#header_bg { background: #960000; color: #fff; border-bottom: 14px solid #f1f1f1; }
#header { width: 740px; height: 74px; margin: 0 auto; padding: 8px 0; text-align: left; }
#header a { color: #fff; text-decoration: none; }
#header h1 { float: left; width: 240px; margin: 0; font-size: 1rem; }
#header h1 img { border: 0; }
#header h1 img:hover { border-bottom: 4px solid #ddd; }
#header h1 span { position: absolute; left: -1000px; }
#header h2 { float: left; width: 220px; margin: 0; padding-top: 14px; color: #ddd; font-size: 0.78rem; font-weight: 300; }

/* ---------- content ---------- */
#content { background: #fff; padding: 5px 0 1.8em; }
#content > div { width: 760px; margin: 0 auto; padding: 0 10px; text-align: left; }
#content h1 { margin-bottom: 0.5rem; font-size: 1.5rem; }
#content h3 { margin: 0 0 0.2em; font-size: 1.2rem; }
#content textarea {
    width: 100%;
    max-width: 100%;
    height: 250px;
    margin-bottom: 1em;
    border: none;
    box-shadow: none;
    background: #ffface;
    font-family: "Lucida Console", Monaco, monospace;
    font-size: 0.9rem;
}
#note_link_input { background: #ffa; font-weight: 700; }
#note_contents_div {
    margin: 0 0 1em;
    padding: 2.5rem 1rem;
    background: #ffface;
    font-family: "Lucida Console", Monaco, monospace;
    font-size: 0.8rem;
    white-space: pre-wrap;
    word-break: break-word;
}
#advanced_options_tip { margin: 0 0 1em; font-size: 0.8rem; font-style: italic; text-align: center; }

/* ---------- footer ---------- */
#footer { padding: 1em 0 0; background: #f1f1f1; color: #888; font-size: 0.8rem; }
#footer a { color: #888; }
#footer > div { width: 760px; margin: 0 auto; }
#footer .col { line-height: 1.5rem; }
#footnote { padding: 1em; font-size: 0.7rem; text-align: left; }
#footer select { margin-bottom: 0.6em; color: #888; }
.info-body { text-align: left; margin: 0 0 1.5rem; color: #333; font-size: 0.95rem; }
.info-body h2 { margin: 0 0 0.8rem; font-size: 1.45rem; font-weight: 400; }
.info-body h3 { margin: 1.2rem 0 0.4rem; font-size: 1.05rem; font-weight: 600; text-align: left; }
.info-body p { margin: 0 0 1em; }
.info-body ol, .info-body ul { margin: 0 0 1em; padding-left: 1.3rem; }
.info-body li { margin: 0.2rem 0; }
.info-body a { color: #960000; }

/* ---------- misc ---------- */
.hidden { display: none !important; }
.right { float: right; }

@media (max-width: 760px) {
    .col { margin: 0 0 0.8em; }
    .span_1_of_6, .span_2_of_6, .span_3_of_6, .span_4_of_6, .span_6_of_6 { width: 100%; }
    #header { width: auto; height: auto; padding: 5px 10px; }
    #header_bg { border-bottom: 0; }
    #header h1 { float: none; width: auto; }
    #header h1 img { height: 40px; }
    #header h2 { display: none; }
    #content > div, #footer > div { width: auto; }
    #content textarea { height: 150px; }
    #footer .col { margin-bottom: 0.8em; line-height: 1.7rem; }
}
