/* The login, registration, forgot-password, set-new-password and instructor-login pages: every rule that was a style= attribute (audit SEC-03, PR-D).
   The edge Content-Security-Policy may forbid inline styles, so the declarations moved here unchanged and in their original order.
   A class is named s-<7 hex of the sha1 of its declarations>: the same declarations are the same class on every page.
   To style something new, add a rule to the hand-written part at the end of this file; a style= attribute would be blocked. */

.s-03ec90f {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 50px;
}
.s-11552de {
    margin-bottom: 25px;
    text-align: right;
}
.s-1169661 {
    margin: 0;
}
.s-1bae882 {
    width: 100%;
    padding: 12px;
    box-sizing: border-box;
}
.s-236f397 {
    display: inline-block;
    padding: 12px 25px;
    color: var(--text-color);
    font-weight: bold;
    text-decoration: underline;
}
.s-255fd18 {
    width: 100%;
    padding: 15px;
    font-weight: bold;
    font-size: 1.2rem;
    background: var(--text-color);
    color: var(--bg-color);
    cursor: pointer;
    border: none;
    border-radius: 4px;
}
.s-2f496ab {
    margin-bottom: 30px;
    border-bottom: 2px solid var(--border-color);
    padding-bottom: 20px;
}
.s-45feeb4 {
    font-size: 1.1em;
    line-height: 1.6;
}
.s-4693cf6 {
    font-size: 1.1em;
    font-weight: bold;
    padding: 15px;
    border: 2px dashed darkred;
    background-color: rgba(139, 0, 0, 0.05);
}
.s-49f14f8 {
    margin-bottom: 20px;
}
.s-4c0bd1b {
    background: var(--input-bg);
    padding: 25px;
    border: 2px solid var(--border-color);
}
.s-4c1f562 {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
}
.s-4fc8983 {
    text-align: center;
    margin-bottom: 20px;
}
.s-51faa61 {
    opacity: 0.8;
}
.s-53a78bd {
    background: var(--input-bg);
    padding: 30px;
    border: 2px solid var(--border-color);
    border-radius: 8px;
    margin-top: 20px;
    text-align: left;
}
.s-559891d {
    max-width: 500px;
    margin: 50px auto;
    padding: 30px;
    border: 2px solid var(--border-color);
    background: var(--input-bg);
}
.s-5bba688 {
    display: block;
    font-weight: bold;
    margin-bottom: 8px;
}
.s-688de30 {
    margin-bottom: 15px;
}
.s-6a010f7 {
    margin-top: 25px;
}
.s-6b0fb41 {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
}
.s-6b25421 {
    margin-top: 0;
    font-size: 1.4em;
}
.s-830e527 {
    font-weight: bold;
    color: var(--text-color);
}
.s-8577de8 {
    margin-bottom: 25px;
}
.s-8a8a7e8 {
    width: 100%;
    padding: 15px;
    font-weight: bold;
    font-size: 1.2rem;
    background: var(--text-color);
    color: var(--bg-color);
    cursor: pointer;
}
.s-8eff51e {
    display: flex;
    justify-content: center;
    width: 100%;
}
.s-a3f9802 {
    width: 100%;
    padding: 15px;
    background: var(--text-color);
    color: var(--bg-color);
    font-size: 1.2rem;
    font-weight: bold;
    cursor: pointer;
}
.s-a4246a0 {
    width: 100%;
    max-width: 500px;
}
.s-c270875 {
    margin-top: 30px;
    text-align: center;
}
.s-c38386d {
    font-weight: bold;
    color: var(--focus-color);
    text-decoration: underline;
}
.s-c9c7094 {
    margin-top: 20px;
    text-align: center;
}
.s-ca3c8dd {
    color: darkred;
}
.s-cb2b3da {
    width: 100%;
    padding: 15px;
    font-weight: bold;
    font-size: 1.2rem;
    background: var(--text-color);
    color: var(--bg-color);
    cursor: pointer;
    border: none;
}
.s-ce154c0 {
    display: inline-block;
    margin-top: 10px;
    font-weight: bold;
    color: var(--text-color);
}
.s-d142c3c {
    font-size: 1.1em;
    margin-top: 5px;
}
.s-d462248 {
    margin-top: 0;
}
.s-e504c2f {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
    padding: 40px 20px;
}
.s-e5148ce {
    width: 100%;
    padding: 12px;
    box-sizing: border-box;
    border: 1px solid var(--border-color);
    background-color: var(--bg-color);
    color: var(--text-color);
}
.s-eb4b6c6 {
    width: 100%;
    padding: 12px;
    box-sizing: border-box;
    border: 1px solid var(--border-color);
}
.s-fd3c92a {
    font-size: 1.1em;
    line-height: 1.6;
    font-weight: bold;
    padding: 15px;
    background: rgba(0,0,0,0.05);
    border-left: 4px solid var(--focus-color);
}

/* ---- hand-written: conditional states, progress widths and the narrow-screen rule ---- */


/* A row of controls that does not fit a narrow screen wraps instead of pushing the page sideways (audit A11Y-14).
   base.css does this for style="display: flex" rows; these rows are classes now. */
@media (max-width: 700px) {
    .s-03ec90f,
    .s-8eff51e { flex-wrap: wrap !important; }
}
