body {
    margin: 0;
    padding: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    color: #250033;
    background:
        linear-gradient(
            180deg,
            #2a0038 0%,
            #4b126d 16%,
            #f7efff 16%,
            #ffffff 100%
        );
}

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

div.container {
    max-width: 1500px;
    margin: 8px auto 30px auto;
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    border: 2px solid #c58cff;
    box-shadow: 0 14px 42px rgba(0,0,0,.28);
}

/* =========================
   HEADER
========================= */

a.topofpage,
h1.topofpage {

    display: block;
    position: relative;

    margin: 0 auto;

    min-height: 210px;

    padding:
        26px
        50px
        46px
        50px;

    overflow: hidden;

    text-align: center;

    text-decoration: none !important;

    border-radius: 28px 28px 0 0;

    background:

        radial-gradient(
            circle at 20% 18%,
            rgba(185,105,255,.16),
            transparent 28%
        ),

        radial-gradient(
            circle at 80% 12%,
            rgba(255,255,255,.10),
            transparent 24%
        ),

        linear-gradient(
            135deg,
            #180021 0%,
            #32104a 34%,
            #5b2390 70%,
            #9158d7 100%
        );

    box-shadow:
        0 12px 30px rgba(0,0,0,.30);

    border-bottom:
        5px solid #d6af58;
}

/* CURVED LOWER SWEEP */

a.topofpage::after,
h1.topofpage::after {

    content: "";

    position: absolute;

    left: -5%;
    right: -5%;

    bottom: -70px;

    height: 125px;

    background:
        #ffffff;

    border-top:
        5px solid #d6af58;

    border-radius:
        0 0 50% 50% / 0 0 100% 100%;

    z-index: 1;
}

/* MAIN TITLE */

.maintitle {

    position: relative;

    z-index: 5;

    display: block;

    color: #f3df9a;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 78px;

    font-weight: normal;

    line-height: .95;

    letter-spacing: -2px;

    text-shadow:
        0 3px 0 #2b063e,
        0 8px 20px rgba(0,0,0,.42);
}

/* SUBTITLE ROW */

.subtitlewrap {

    position: relative;

    z-index: 5;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 18px;

    margin-top: 16px;
}

/* GOLD ORNAMENT LINES */

.ornament {

    width: 110px;

    height: 2px;

    background:
        linear-gradient(
            to right,
            transparent,
            #d7b15d,
            transparent
        );

    opacity: .95;
}

/* SUBTITLE */

.subtitle {

    color: #ffffff;

    font-family:
        Georgia,
        serif;

    font-size: 24px;

    letter-spacing: 5px;

    white-space: nowrap;

    text-shadow:
        0 2px 8px rgba(0,0,0,.40);
}
/* =========================
   MAIN CONTENT
========================= */

h1:not(.topofpage) {

    margin:
        28px
        60px
        10px
        60px;

    color: #5b168a;

    font-size: 56px;

    line-height: 1;
}

h2 {

    display: block !important;

    position: relative !important;

    left: 0 !important;

    margin-top: 24px !important;
    margin-right: 60px !important;
    margin-bottom: 14px !important;
    margin-left: 60px !important;

    padding-left: 0 !important;

    transform: none !important;

    text-indent: 0 !important;

    white-space: normal !important;

    overflow: visible !important;

    color: #681c94;

    font-size: 26px;

    line-height: 1.25;

    max-width: 1200px;
}

h3,
h4,
h5 {

    color: #681c94;
}

p {

    margin-left: 60px;

    margin-right: 60px;
}

a {

    color: #6f22a6;

    font-weight: bold;

    text-decoration: none;
}

a:hover {

    color: #3a0058;

    text-decoration: underline;
}

/* =========================
   SEARCH TABLE
========================= */

table.search {

    width: 860px;

    margin:
        16px
        60px
        30px
        60px;

    border-collapse: collapse;

    background:
        linear-gradient(
            90deg,
            #fbf5ff 0%,
            #ffffff 100%
        );

    border:
        1px solid #d8b8f4;

    box-shadow:
        0 8px 20px rgba(100,20,140,.08);
}

table.search td {

    padding: 10px 14px;

    border:
        1px solid #cfa8f2;
}

/* LEFT COLUMN SHADING */

table.search tr td:nth-child(1),
table.search tbody tr td:nth-child(1),
form table tr td:nth-child(1) {

    width: 245px;

    background:
        linear-gradient(
            90deg,
            #d8b5ff 0%,
            #ead4ff 55%,
            #faf3ff 100%
        ) !important;

    color: #260033 !important;

    font-weight: bold !important;

    border-right:
        1px solid #bb89e7 !important;

    border-bottom:
        1px solid #cfa8f2 !important;
}

/* =========================
   FORM CONTROLS
========================= */

.form-control,
select,
input[type=text] {

    width: 100%;

    padding: 9px 12px;

    border:
        1px solid #bb89e7;

    border-radius: 10px;

    background: #ffffff;

    color: #250033;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 15px;
}

.form-control:focus,
select:focus,
input[type=text]:focus {

    outline: none;

    border-color: #7d22b6;

    box-shadow:
        0 0 0 4px rgba(125,34,182,.14);
}

/* =========================
   BUTTONS
========================= */

.btn,
.pp-btn,
button,
input[type=submit] {

    background:
        linear-gradient(
            135deg,
            #4a0065 0%,
            #8d2de2 100%
        );

    color: #ffffff;

    border: none;

    border-radius: 999px;

    padding: 10px 24px;

    font-size: 16px;

    font-weight: bold;

    cursor: pointer;

    box-shadow:
        0 5px 14px rgba(82,0,116,.30);
}

.btn:hover,
.pp-btn:hover,
button:hover,
input[type=submit]:hover {

    background:
        linear-gradient(
            135deg,
            #7c2bc0 0%,
            #b466ff 100%
        );
}

/* =========================
   OTHER TABLES
========================= */

table.report,
table.result,
table.form-table,
table.input {

    margin:
        16px
        60px;

    border-collapse: collapse;

    background: #ffffff;

    border:
        1px solid #d8b8f4;
}

table.report td,
table.result td,
table.result th,
table.form-table td,
table.form-table th,
table.input td {

    padding: 8px 10px;

    border:
        1px solid #e3cafa;
}

table.result tr:nth-child(even),
tr.altresult {

    background: #faf2ff;
}

/* =========================
   PEDIGREE DETAILS
========================= */

div.subject,
div.namewithtitles {

    font-size: 34px;

    color: #4b126d;

    font-weight: bold;
}

.subjectcall {

    font-size: 18px;

    color: #7a36b8;

    font-style: italic;
}

span.title,
.champion,
span.warning {

    color: #7b2cbf !important;

    font-weight: bold;
}

div.subjectdetails,
span.resultdetails,
span.resultsiredam,
span.ancestordetails {

    color: #342040;
}

/* =========================
   FOOTER
========================= */

footer {

    margin-top: 40px;

    padding:
        28px
        60px;

    background:

        radial-gradient(
            circle at right center,
            rgba(163,88,222,.28),
            transparent 18%
        ),

        linear-gradient(
            135deg,
            #1c0028 0%,
            #42105f 48%,
            #260034 100%
        );

    border-top:
        5px solid #d7b15d;

    color: #f6ebff !important;
}

footer *,
footer p,
footer div,
footer span,
footer font {

    color: #f6ebff !important;
}

footer a {

    color: #ffe08d !important;
}

div.pagelinks {

    margin: 0;

    padding:
        18px
        60px
        30px
        60px;

    background: #260034;
}

div.pagelinks a {

    color: #ffffff !important;

    font-size: 18px;

    margin-right: 34px;

    text-decoration: none !important;
}

/* =========================
   MISC
========================= */

.notice,
div.legend,
div.panel {

    margin:
        16px
        60px;

    padding: 12px;

    background: #fbf4ff;

    border:
        1px solid #d8b8f4;

    border-radius: 12px;
}

img.pedphoto {

    border-radius: 12px;

    border:
        2px solid #d7b15d;
}

.ismale {
    background-color: #efe7ff;
}

.isfemale {
    background-color: #ffe8fb;
}

@media (max-width: 900px) {

    body {
        background: #f6eeff;
    }

    a.topofpage,
    h1.topofpage {

        font-size: 42px;

        padding: 28px;

        min-height: auto;
    }

    a.topofpage::before,
    h1.topofpage::before {

        display: none;
    }

    a.topofpage::after,
    h1.topofpage::after {

        font-size: 14px;

        letter-spacing: 2px;
    }

    h1:not(.topofpage),
    h2,
    p,
    footer,
    div.pagelinks,
    table.report,
    table.result,
    table.form-table,
    table.input,
    .notice,
    div.legend,
    div.panel {

        margin-left: 18px;

        margin-right: 18px;
    }

    table.search {

        width: calc(100% - 36px);

        margin-left: 18px;

        margin-right: 18px;
    }

}/* FORCE SEARCH PAGE INTRO TEXT INTO PLACE */
div.container > p,
div.container > div,
div.blurb,
div.searchtitle,
form + p,
h1 + p,
h1 + div,
h2,
h2 + p {
    margin-left: 60px !important;
    margin-right: 60px !important;
    padding-left: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    text-indent: 0 !important;
    max-width: calc(100% - 120px) !important;
    white-space: normal !important;
} body
}/* FIX OFFSCREEN FOLLOW LINE */
body h2,
body h3,
body b,
body strong {

    position: static !important;

    left: auto !important;

    margin-left: 60px !important;

    padding-left: 0 !important;

    transform: none !important;

    text-indent: 0 !important;

    float: none !important;

    clear: both !important;

    display: block !important;

    max-width: calc(100% - 120px) !important;
}/* RESTORE BACKGROUND + KEEP FOLLOW LINE FIXED */
body {
    background:
        linear-gradient(
            180deg,
            #2a0038 0%,
            #4b126d 16%,
            #f7efff 16%,
            #ffffff 100%
        ) !important;
}

/* FIX OFFSCREEN FOLLOW LINE */
body h2,
body h3,
body b,
body strong {
    position: static !important;
    left: auto !important;
    margin-left: 60px !important;
    padding-left: 0 !important;
    transform: none !important;
    text-indent: 0 !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    max-width: calc(100% - 120px) !important;
}/* SOFTER SEARCH FORM */

table.search {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #dfc3f7 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 10px 26px rgba(84, 20, 120, .10) !important;
}

table.search td {
    border: none !important;
    border-bottom: 1px solid #ead8fa !important;
    padding: 14px 16px !important;
}

table.search tr:last-child td {
    border-bottom: none !important;
}

table.search tr td:first-child {
    background: linear-gradient(90deg, #ead2ff 0%, #f5eaff 100%) !important;
    width: 250px !important;
    font-weight: bold !important;
    color: #2a003b !important;
}

table.search tr:hover td {
    background-color: #fbf6ff !important;
}

table.search tr:hover td:first-child {
    background: linear-gradient(90deg, #e3c5ff 0%, #f3e4ff 100%) !important;
}

.form-control,
select,
input[type=text] {
    min-height: 38px !important;
    border-radius: 12px !important;
    border: 1px solid #c99af0 !important;
    background: #fff !important;
    box-shadow: inset 0 1px 3px rgba(80,0,120,.06) !important;
}

input[type=submit],
button,
.btn,
.pp-btn {
    padding: 10px 28px !important;
    border-radius: 999px !important;
}/* SEARCH BUTTON BALANCE */

input[type=submit],
button,
.btn,
.pp-btn {

    margin-top: 12px !important;

    display: inline-block !important;

    vertical-align: middle !important;
}

table.search tr:last-child td:last-child {

    padding-top: 18px !important;
    padding-bottom: 20px !important;
}
/* =========================
   PRINT PEDIGREE FIX
========================= */

@media print {

    @page {
        size: landscape;
        margin: 0.25in;
    }

    body {
    background: #ffffff !important;
    zoom: 98% !important;
    margin: 0 !important;
    padding: 0 !important;
    }

    div.container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    a.topofpage,
    h1.topofpage,
    footer,
    div.pagelinks,
    .noprint,
    .print-button-wrap {
        display: none !important;
    }

    table.report {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        page-break-inside: avoid !important;
        border-collapse: collapse !important;
    }

    table.report td {
        font-size: 12px !important;
        line-height: 1.15 !important;
        padding: 4px 5px !important;
        overflow: hidden !important;
    }

    td.reportheader {
        font-size: 14px !important;
        padding: 6px !important;
    }

    span.ancestordetails {
        font-size: 10px !important;
        line-height: 1.1 !important;
    }

    a {
        color: #000000 !important;
        text-decoration: none !important;
    }
}/* FINAL HEADER OVERRIDE */

a.topofpage {
    display: block !important;
    position: relative !important;
    min-height: 240px !important;
    padding: 36px 40px 70px 40px !important;
    text-align: center !important;
    overflow: hidden !important;
    border-radius: 28px 28px 0 0 !important;
    text-decoration: none !important;
    background:
        radial-gradient(circle at 20% 20%, rgba(145,80,210,.35), transparent 28%),
        radial-gradient(circle at 75% 12%, rgba(255,255,255,.10), transparent 24%),
        linear-gradient(135deg, #160020 0%, #2d0644 42%, #64259c 76%, #9455d7 100%) !important;
    border-bottom: none !important;
}

a.topofpage::after {
    content: "" !important;
    position: absolute !important;
    left: -6% !important;
    right: -6% !important;
    bottom: -76px !important;
    height: 140px !important;
    background: #ffffff !important;
    border-top: 6px solid #d6af58 !important;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0 !important;
    z-index: 1 !important;
}

a.topofpage .maintitle {
    position: relative !important;
    z-index: 5 !important;
    display: block !important;
    color: #f3df9a !important;
    font-size: 76px !important;
    line-height: .95 !important;
    letter-spacing: -2px !important;
    font-weight: normal !important;
    text-shadow:
        0 3px 0 #2b063e,
        0 8px 20px rgba(0,0,0,.45) !important;
}

a.topofpage .subtitlewrap {
    position: relative !important;
    z-index: 5 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 22px !important;
    margin-top: 18px !important;
}

a.topofpage .subtitle {
    color: #ffffff !important;
    font-size: 24px !important;
    letter-spacing: 5px !important;
    white-space: nowrap !important;
    font-weight: normal !important;
}

a.topofpage .ornament {
    display: block !important;
    width: 115px !important;
    height: 2px !important;
    background: linear-gradient(to right, transparent, #d7b15d, transparent) !important;
}/* PRINT PEDIGREE SOURCE TEXT */

.pedigree-print-top-source {
    display: none;
}

.pedigree-bottom-source {

    text-align: center;

    font-size: 8px;

    color: #666;

    margin-top: 8px;

    margin-bottom: 4px;
}

@media print {

    .pedigree-print-top-source {

        display: block !important;

        text-align: LEFT;

        font-size: 10px !important;

        color: #444 !important;

        margin: 0 0 2px 0 !important;

        line-height: 4 !important;
    }

    .pedigree-bottom-source {

        font-size: 10px !important;

        color: #444 !important;

        margin-top: 6px !important;

        margin-bottom: 4px !important;

        line-height: 4 !important;

        text-align: LEFT !important;
    }
}/* MOBILE / SMALL SCREEN FIX */

html,
body {
    overflow-x: auto !important;
}

div.container {
    min-width: 1100px;
}

table.report,
table.search,
table.form-table,
table.result,
table.input {
    min-width: 900px;
}

@media (max-width: 900px) {

    body {
        overflow-x: auto !important;
    }

    div.container {
        width: 1100px !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    table.report,
    table.search,
    table.form-table,
    table.result,
    table.input {
        min-width: 900px !important;
    }
}html,
body {
    touch-action: auto !important;
    overflow-x: auto !important;
}