:root {
    --asset-leather-black: url("/pages/wbs3/background-black2.png");
    --asset-leather-red: url("/pages/wbs3/background-red.png");
    --asset-corner: url("/pages/wbs3/corner_icon.png");
    --asset-rivet: url("/pages/wbs3/beveled-tack.png");
    --asset-flourish-icon: url("/pages/wbs3/flourish_icon.png");

    --gold-bright: #f8dd82;
    --gold: #c99828;
    --gold-dark: #6f4612;
    --red-deep: #280000;
    --red: #630400;
    --black: #050403;
    --cream: #fff2c9;
    --muted: #d6c7a1;
}

* { box-sizing: border-box; }

html,
body {
    min-height: 100%;
}

body {
    margin: 0;
    color: var(--cream);
    font-family: Arial, Helvetica, sans-serif;
    background:
        linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.35) 15%, rgba(0,0,0,.35) 85%, rgba(0,0,0,.96)),
        var(--asset-leather-black) center top repeat,
        #020202;
}

a {
    color: #fff0af;
    text-decoration: underline;
}

a:hover,
a:focus-visible {
    color: #ffffff;
    outline: none;
}

.warning {
    width: min(1180px, calc(100vw - 24px));
    margin: 10px auto;
    padding: 10px 14px;
    color: #fff4bf;
    background: #5b0000;
    border: 1px solid var(--gold);
    text-align: center;
    font-weight: bold;
}

.petition-stage {
    position: relative;
    width: 1040px;
    max-width: calc(100vw - 24px);
    margin: 14px auto;
    padding: 34px 46px 42px;
    overflow: hidden;
    border-radius: 18px;
    background: transparent;
}

.petition-stage::before {
    content: "";
    position: absolute;
    inset: 18px;
    pointer-events: none;
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(255,222,119,.08), transparent 90px),
        var(--asset-leather-red) center top repeat,
        radial-gradient(circle at 50% 20%, #80100b, #260000 72%);
    z-index: 0;
}

.petition-stage::after {
    content: "";
    position: absolute;
    inset: 14px;
    pointer-events: none;
    border: 1px solid rgba(255,207,94,.72);
    border-radius: 12px;
    box-shadow:
        0 0 0 1px rgba(0,0,0,.75),
        0 0 26px rgba(0,0,0,.75) inset;
    z-index: 1;
}

.stage-corner,
.stage-rivet,
.panel-rivet {
    position: absolute;
    pointer-events: none;
    z-index: 4;
}

.stage-corner {
    width: 90px;
    height: 90px;
    background: var(--asset-corner) no-repeat center center;
    background-size: contain;
    opacity: .94;
}

.stage-corner-tl { top: 0; left: 0; }
.stage-corner-tr { top: 0; right: 0; transform: scaleX(-1); }
.stage-corner-bl { bottom: 0; left: 0; transform: scaleY(-1); }
.stage-corner-br { bottom: 0; right: 0; transform: scale(-1); }

.stage-rivet,
.panel-rivet {
    width: 18px;
    height: 18px;
    background: var(--asset-rivet) no-repeat center center;
    background-size: contain;
}

.stage-rivet-tl { top: 8px; left: 8px; }
.stage-rivet-tr { top: 8px; right: 8px; }
.stage-rivet-bl { bottom: 8px; left: 8px; }
.stage-rivet-br { bottom: 8px; right: 8px; }

.petition-header,
.petition-panel,
.petition-footer {
    position: relative;
    z-index: 2;
}

.petition-header {
    padding: 4px 44px 22px;
    text-align: center;
}

.petition-logo-link {
    display: inline-block;
    margin: 0 auto 12px;
    text-decoration: none;
}

.petition-logo {
    display: block;
    width: min(456px, 86vw);
    height: auto;
    filter: drop-shadow(0 5px 6px rgba(0,0,0,.75));
}

.petition-header h1 {
    margin: 0;
    color: var(--gold-bright);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 46px;
    line-height: .95;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-variant: small-caps;
    text-shadow:
        0 1px 0 #fff7cf,
        0 2px 0 #d9a73d,
        0 3px 0 #7a4b10,
        0 4px 0 #2b1603,
        0 0 8px rgba(0,0,0,.9),
        0 0 14px rgba(255,206,74,.24);
}

.petition-header p {
    margin: 12px 0 0;
    color: #f3ead2;
    font-size: 17px;
    letter-spacing: .3px;
    text-shadow: 0 2px 2px #000;
}

.petition-panel {
    max-width: 850px;
    margin: 0 auto;
    padding: 34px 42px 38px;
    border: 2px solid #181005;
    border-radius: 7px;
    background:
        linear-gradient(180deg, rgba(255,219,104,.08), transparent 34px),
        var(--asset-leather-black) center top repeat,
        linear-gradient(180deg, #10100d, #050504);
    box-shadow:
        0 0 0 1px #b48625 inset,
        0 0 0 4px rgba(0,0,0,.62) inset,
        0 0 0 5px rgba(217,154,41,.22) inset,
        0 0 18px rgba(0,0,0,.9);
}

.panel-rivet { width: 14px; height: 14px; }
.panel-rivet-tl { top: 12px; left: 12px; }
.panel-rivet-tr { top: 12px; right: 12px; }
.panel-rivet-bl { bottom: 12px; left: 12px; }
.panel-rivet-br { bottom: 12px; right: 12px; }

.petition-panel h2 {
    margin: 0 0 18px;
    color: var(--gold-bright);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    line-height: 1;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase;
    font-variant: small-caps;
    text-shadow: 0 2px 2px #000, 0 0 8px rgba(255,211,86,.25);
}

.petition-panel h2::before,
.petition-panel h2::after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 16px;
    margin: 0 13px;
    background: var(--asset-flourish-icon) no-repeat center center;
    background-size: contain;
    transform: translateY(-1px);
}

.petition-panel h2::before {
    transform: translateY(-1px) scaleX(-1);
}

.intro-line {
    margin: 0 0 22px;
    padding: 12px 16px;
    color: #fff0d4;
    font-size: 17px;
    line-height: 1.55;
    text-shadow: 0 1px 1px #000;
    border-left: 5px solid var(--gold-bright);
    background: rgba(78, 0, 0, .55);
    box-shadow: 0 0 0 1px rgba(255,207,94,.28) inset;
}

.petition-form {
    margin: 0;
}

.form-row {
    margin: 0 0 16px;
}

.form-row label {
    display: block;
    margin: 0 0 6px;
    color: #ffe8ad;
    font-weight: bold;
    letter-spacing: .3px;
    text-shadow: 0 1px 1px #000;
}

.form-row label span {
    color: #d6c7a1;
    font-weight: normal;
}

.form-row input,
.form-row select,
.form-row textarea {
    display: block;
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    color: #fff5dc;
    font: 16px Arial, Helvetica, sans-serif;
    border: 1px solid rgba(205,123,24,.78);
    border-radius: 5px;
    background:
        linear-gradient(180deg, rgba(160,8,3,.32), rgba(49,0,0,.82)),
        var(--asset-leather-red) center center repeat,
        #230000;
    box-shadow:
        0 1px 0 rgba(255,219,102,.15) inset,
        0 -1px 0 rgba(0,0,0,.72) inset,
        0 0 0 3px rgba(0,0,0,.28) inset;
    outline: none;
}

.form-row textarea {
    min-height: 130px;
    resize: vertical;
}

.form-row input[type="file"] {
    padding: 9px 10px;
}

.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {
    border-color: #f8dd82;
    box-shadow:
        0 1px 0 rgba(255,219,102,.2) inset,
        0 -1px 0 rgba(0,0,0,.72) inset,
        0 0 0 3px rgba(248,221,130,.18),
        0 0 14px rgba(248,221,130,.15);
}

.form-row select option {
    color: #fff5dc;
    background: #280000;
}

.captcha-wrap {
    margin: 20px 0;
    display: flex;
    justify-content: center;
    padding: 12px;
    border: 1px solid rgba(212,152,38,.55);
    border-radius: 5px;
    background: rgba(38,0,0,.72);
    box-shadow:
        0 0 0 3px rgba(0,0,0,.55) inset,
        0 0 0 4px rgba(177,108,20,.18) inset;
}

.form-actions {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

button[type="submit"] {
    min-width: 210px;
    padding: 12px 22px;
    color: #2a1400;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: .8px;
    text-transform: uppercase;
    border: 1px solid #ffe18b;
    border-radius: 5px;
    cursor: pointer;
    background:
        linear-gradient(180deg, #fff1aa 0%, #d9a13a 45%, #9a5f15 100%);
    box-shadow:
        0 1px 0 #fff7cf inset,
        0 -2px 0 rgba(54,27,2,.55) inset,
        0 4px 10px rgba(0,0,0,.65);
    text-shadow: 0 1px 0 rgba(255,255,255,.45);
}

button[type="submit"]:hover,
button[type="submit"]:focus-visible {
    color: #180b00;
    background:
        linear-gradient(180deg, #fff7c7 0%, #edbd54 45%, #aa711d 100%);
    outline: none;
}

.alert {
    margin: 0 0 18px;
    padding: 13px 16px;
    color: #fff4d5;
    font-weight: bold;
    line-height: 1.45;
    text-align: center;
    border-radius: 5px;
    text-shadow: 0 1px 1px #000;
    box-shadow:
        0 0 0 3px rgba(0,0,0,.45) inset,
        0 0 12px rgba(0,0,0,.55);
}

.alert-success {
    border: 1px solid rgba(248,221,130,.8);
    background:
        linear-gradient(180deg, rgba(98,88,21,.78), rgba(39,75,24,.88));
}

.alert-danger {
    border: 1px solid rgba(255,173,128,.9);
    background:
        linear-gradient(180deg, rgba(137,20,10,.82), rgba(54,0,0,.9));
}

.petition-footer {
    min-height: 80px;
    margin: 12px 0 0;
    padding: 18px 40px 14px;
    text-align: center;
    color: #f8ecd0;
    border: 2px solid #100a04;
    border-radius: 6px 6px 12px 12px;
    background:
        linear-gradient(180deg, rgba(148, 9, 2, .6), rgba(40, 0, 0, .95)),
        var(--asset-leather-red) center center repeat;
    box-shadow:
        0 0 0 1px #a97a22 inset,
        0 0 0 4px rgba(0, 0, 0, .52) inset;
}

.petition-footer p {
    margin: 0;
    color: #fff0d6;
    font-size: 12px;
    line-height: 1.45;
}

.wbs-logo-link {
	display: inline-block;
	margin-bottom: 12px;
	line-height: 0;
	text-decoration: none;
	filter: drop-shadow(0 4px 5px rgba(0,0,0,.72));
}

.wbs-logo-link img {
	max-width: min(321px, 88vw);
	height: auto;
	border: 0;
	margin-bottom: 25px;

@media (max-width: 760px) {
    .petition-stage {
        max-width: calc(100vw - 10px);
        margin: 5px auto;
        padding: 24px 14px 18px;
    }

    .stage-corner,
    .stage-rivet {
        display: none;
    }

    .petition-header {
        padding: 8px 12px 20px;
    }

    .petition-header h1 {
        font-size: 36px;
    }

    .petition-header p,
    .intro-line {
        font-size: 15px;
    }

    .petition-panel {
        padding: 26px 18px 28px;
    }

    .petition-panel h2 {
        font-size: 24px;
    }

    .petition-panel h2::before,
    .petition-panel h2::after {
        display: none;
    }

    .captcha-wrap {
        overflow-x: auto;
        justify-content: flex-start;
    }

    .petition-footer {
        padding-left: 18px;
        padding-right: 18px;
    }
}
