html,
body {
    margin: 0;
    padding: 0;
}

#alert {
    display: none;
    position: fixed;
    background-color: rgba(100,100,100,.9);
    z-index: 1000;
    width: 100vw;
    height: 100vh;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(2px);
}
#alert.show {
    display: flex;
}
div#alertBox {
    width: min(100vw,400px);
    height: min(50vh,300px);
    background-color: white;
    border-radius: 51px;
    box-shadow: 2px 2px 28px 6px;
    display: flex;
    flex-direction: column;
}
div#alertTitle {
    height: 25%;
    display: flex;
    justify-content: center;
    align-items: center;
    font: 16pt system-ui;
    border-bottom: 2px solid;
    text-shadow: 1px 1px 3px rgb(0 0 0 / 40%);
}
div#alertMessage {
    height: 75%;
    padding: 1cm;
    font: 12pt system-ui;
}
div#alertButtons {
    height: 25%;
    display: flex;
    border-top: 2px solid;
    cursor: pointer;
}
div#alertButtons div {
    display: flex;
    align-items: center;
    justify-content: center;
    font: 600 14pt system-ui;
    flex: 1;
    text-shadow: 1px 1px 5px rgb(0 0 0 / 40%);
}
div#alertButtons div#alertCancel {
    display: none;
    border-left: 2px solid;
}
#processingAnimation {
    display: none;
    position: fixed;
    z-index: 1000;
    width: 100vw;
    height: 100vh;
    background-color: #fffb;
}
#processingAnimation.show {
    display: flex;
}

@media screen and (min-width: 1000px) {
    #wholepage {
        background: url(nature-misty.jpg);
        background-position: center;
        background-size: cover;
        height: 100vh;
        width: min(100vw,100%);
        margin: 0;
        position: fixed;
        overflow-y: auto;
    }

    #topbanner {
        height: 200px;
        width: 100vw;
        filter: drop-shadow(0 1px 6px #a61);
        position: fixed;
    }

    #arch {
        height: 200px;
        background-color: #FFFD;
        clip-path: url(#archpath);
        backdrop-filter: blur(2px);
    }

    div#welcome {
        font-family: "princess sofia";
        font-size: 41pt;
        margin-left: 1em;
        text-shadow: 1px 1px 3px #2d3c0ba0;
        color: #2d3c0b;
    }

    #main {
        width: min(100vw,100%);
        height: calc(98vh - 200px);
        position: absolute;
        top: 200px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .break-flex {
        flex-basis: 100%;
        height: 0;
    }

    .page {
        margin: auto;
        position: absolute;
        transform: translateX(-200vw);
    }

    .page.showpage {
        position: relative;
        transform: translateX(0);
        max-width: 100vw;
        width: 1250px;
        background-color: #f5f5f5eb;
        border-radius: 6pt;
        /*max-height: 100%;*/
        height: 600px;
        box-shadow: 2px 2px 17px -2px;
    }

    .policy-link {
        align-self: end;
        margin-right: 1cm;
        margin-bottom: -1.2cm;
        font-size: 9pt;
        font-style: italic;
    }
    
    div#page3 {
        display: flex;
        flex-direction: column;
        align-content: center;
        justify-content: space-evenly;
        align-items: center;
    }

    div#notifInfo {
        font-size: 19pt;
        border-top: 4pt double gray;
        border-bottom: 4pt double gray;
        padding: 2mm 0;
    }

    div#accountSnapShot {
        width: 100%;
        font-family: system-ui;
        text-shadow: 0 0 3px rgb(0 0 0 / 40%);
        display: flex;
        flex-direction: column;
        align-items: stretch;
        height: 100%;
        justify-content: space-between;
    }

    div#accountSnapShot>* {
        margin: 3mm 0;
    }

    form {
        max-height: 100%;
        width: 960px;
        max-width: 96%;
    }

    form#accountform {
        height: 100%;
    }

    .form-header {
        display: flex;
        align-content: center;
        width: 100%;
        justify-content: center;
        font-family: system-ui;
        font-size: 14pt;
        padding: 10pt 0;
        font-weight: 700;
        border-bottom: ridge;
        border-bottom-width: 4pt;
        position: relative;
    }

    .accnum {
        position: absolute;
        right: 13px;
        top: -1.7em;
        background-color: rgb(255 255 255 /85%);
        padding: 2pt 15pt;
        border-radius: 16px 16px 4px 4px;
        font-weight: 400;
        font-family: system-ui;
        font-size: 14pt;
    }

    .form-body {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        flex-direction: column;
        align-content: center;
        height: calc(100% - 60px);
        width: 100%;
        align-items: center;
        padding: 1em 0;
        box-sizing: border-box;
    }

    form#loginform {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        flex-direction: row;
        align-content: space-around;
        height: calc(100% - 60px);
        width: 100%;
    }

    #circlingGear,
    #Layer_1 {
        width: 300px;
        margin: calc(25% - 150px) calc(50% - 150px) !important;
    }

    .account-form-row {
        display: flex;
        width: 100%;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .label {
        display: flex;
        padding-bottom: 3mm;
        justify-content: space-between;
    }

    .label>div {
        text-align: right;
    }

    .parent-info-table {
        align-self: end;
        margin-left: auto;
        display: flex;
        column-gap: 4em;
    }

    .parent-info-table>div:nth-child(2) {
        text-align: right;
    }

    .financial-list {
        display: grid;
        justify-items: stretch;
        grid-template-columns: 82px 2fr .6fr;
        grid-template-rows: max-content;
        grid-column-gap: 7pt;
        border: 4px inset;
        padding: 2mm 1em 1em 1em;
        background-color: rgb(0 0 0 / 10%);
        border-radius: 11pt;
        text-shadow: 0 0 9px grey;
        margin-right: 14pt;
        max-height: 1.7in;
        overflow-y: auto;
        height: calc(100% - 22px);
        width: 400px;
        box-shadow: 0 0 3px 0px black;
    }

    .financial-list div {
        text-transform: capitalize;
    }

    .financial-list div:nth-child(-n+3) {
        font: 10pt system-ui;
        text-align: center;
        border-bottom: ridge;
        margin-bottom: 7pt;
    }

    .desc {
        font-size: 90%;
    }

    .paid {
        color: #41690f;
    }

    .credit {
        color: #41690f;
    }

    .financial-list div:nth-child(3n+5) {
        font-size: 87%;
        padding-top: 2pt;
    }

    .financial-list div:nth-child(3n+6):before {
        content: '$';
        margin-right: 2px;
        font-weight: 800;
    }

    .total-title {
        grid-column: 2;
        font: 800 12pt system-ui;
        text-align: right;
        padding-right: 13pt;
    }

    .total-amount {
        font-size: 100% !important;
        font-weight: 800;
        padding-top: 0 !important;
    }

    .total-amount:before {
        content: '$';
        margin-right: 2px;
        font-weight: 800;
    }

    .data-tables {
        display: flex;
        justify-content: space-between;
    }

    .data-tables>div {
        display: flex;
        flex-direction: column;
        margin: 0 auto;
    }

    .data-title {
        text-align: center;
        font-family: system-ui;
        transform: rotateX(45deg);
        height: 22px;
    }

    .camper-list {
        display: grid;
        justify-items: stretch;
        grid-template-columns: .4fr .2fr .3fr 1.1fr;
        grid-template-rows: max-content;
        grid-column-gap: 7pt;
        border: 4px inset;
        padding: 2mm 1em 1em 1em;
        background-color: rgb(0 0 0 / 10%);
        border-radius: 11pt;
        text-shadow: 0 0 9px grey;
        height: calc(100% - 22px);
        width: 400px;
        box-shadow: 0 0 3px 0px black;
    }

    .camper-list div {
        text-transform: capitalize;
    }

    .camper-list>div:nth-child(4n+8) {
        font-size: 90%;
    }

    .camper-list>div:not(:nth-child(4n+5)) {
        text-align: center;
    }

    .camper-list div:nth-child(-n+4) {
        font: 10pt system-ui;
        text-align: center;
        border-bottom: ridge;
        margin-bottom: 7pt;
    }

    div#returningList {
        display: flex;
        flex-wrap: wrap;
        border: 1.5px solid #6666;
        border-radius: 6pt;
        padding: 1em 2em;
        margin-bottom: 1em;
        background-color: #0002;
        box-shadow: inset -2px -6px 15px 1px #0005, inset 7px 7px 14px 11px #fff;
        text-shadow: 1px 1px 2px #666a;
        font-size: 1.2rem;
        align-items: center;
    }

    div#returningList > :nth-child(n+2) {
        margin-left: 1em;
    }

    #page4 span.returning-dropdown select {
        padding: .7em;
    }

    div#returningCampers .camper-input input[readonly] {
        border: .5px solid #6663;
        /* box-shadow: inset 2px 3px 10px -3px #000c; */
        outline: none;
        background-color: #fff8;
        text-indent: 2mm;
        font-weight: 600;
    }

    div#returningCampers .camper-input input[readonly]::placeholder {
        font-weight: 100;
        color: #0003;
    }

    div#returningCampers .form-row{
        display: none;
    }
    div#returningCampers .form-row.filled{
        display: flex;
    }

    div#returningCampers .form-row:nth-child(n+2) {
        margin-top: -6mm;
    }
    
    div#returningCampers .form-row:nth-child(n+2) .caption {
        display: none;
    }

    .trip-info {
        position: relative;
        border-style: ridge;
        border-width: medium;
        background-color: rgb(255 255 255 / 60%);
        padding: 2pt 6pt;
        border-radius: 6pt;
        box-shadow: 2px 6px 14px -6px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        font: 500 12pt/20pt system-ui;
        text-align: center;
    }

    .trip-info:before,
    .trip-info:after {
        content: "";
        position: absolute;
        height: 100%;
        width: 20px;
        top: 0px;
        background-image: radial-gradient(circle at center, #060d00 5px, transparent 6px), radial-gradient(circle at center, #060d00 5px, transparent 6px);
        background-size: 20px 20px;
        background-position: top center, bottom center;
        background-repeat: no-repeat;
    }

    .trip-info:before {
        left: 0px;
    }

    .trip-info:after {
        right: 0px;
    }

    .missing-info {
        text-align: center;
        color: red;
        font: 700 14pt/0pt system-ui;
        cursor: pointer;
        text-decoration: overline underline;
        text-underline-position: under;
        filter: drop-shadow(1px 1px 1px #966);
    }

    .missing-list {
        display: inline;
        font-style: italic;
    }

    div#permaInfo {
        min-height: 45pt;
        display: flex;
        align-items: center;
    }

    form#editinfoform {
        display: block;
        flex-flow: wrap;
        padding: 3mm;
        margin: -1mm;
        justify-content: space-evenly;
        overflow-y: auto;
    }

    .editinfo-input {
        position: relative;
        justify-content: center;
        align-items: center;
        align-content: center;
    }

    .info-caption {
        position: absolute;
        top: -1pt;
        left: 18pt;
        font-family: system-ui;
        font-size: 71%;
    }

    .form-field {
        margin: 0 12pt;
    }

    .form-field-title {
        font-family: system-ui;
        font-size: 10pt;
        position: relative;
        left: 10pt;
    }

    .form-field-input input[type="text"] {
        line-height: 26pt;
        font-size: 14pt;
        text-indent: 0.4em;
        margin: 0 2pt;
        border-radius: 6px;
        border-width: thin;
    }

    .form-submit {
        flex: 2 0 100%;
        flex-wrap: wrap;
        display: flex;
        justify-content: center;
        padding: 14pt 0;
    }

    .form-submit input {
        padding: 6pt 17pt;
        font: 700 12pt system-ui;
        min-width: 2.2in;
        border-radius: 15px;
        margin: 7px 15pt;
        background-color: rgba(0, 0, 0, .05);
        box-shadow: 0px 1px 6px -1px;
    }

    div#accoutnBtns {
        margin: 3% -2mm;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    table.parent-info-table {
        max-width: 100%;
        margin: auto !important;
    }

    table.parent-info-table td {
        width: 50%;
    }

    table.parent-info-table td:nth-child(2) {
        text-align: right;
    }

    .cancel-button {
        height: 51px;
        width: 51px;
        position: absolute;
        right: 5px;
        top: 2px;
        cursor: pointer;
        z-index: 100;
    }

    .cancel-button div {
        background-color: crimson;
        height: 100%;
        width: 100%;
        clip-path: url(#cancelpath);
    }

    input.account-button {
        border-radius: 19px;
        padding: 2mm;
        text-align: center;
        font-size: 92%;
        margin: 2mm 2mm;
        font-weight: 700;
        cursor: pointer;
    }

    div#editInfo {
        height: calc(100% - 100pt);
    }

    form#editinfoform {
        display: flex;
        flex-flow: wrap;
        padding: 0.7in;
        margin: -1mm;
        justify-content: space-evenly;
    }

    [data-required] .caption:after {
        content: '*';
        margin-left: 2px;
        color: red;
        text-shadow: 0 0 2px darkred;
    }

    .editinfo-input {
        position: relative;
        flex: 1 1;
        margin: auto 12pt;
    }

    .edit-address {
        flex: 1.3;
    }

    .edit-zip {
        flex: .6;
    }

    .edit-state {
        flex: .3;
    }

    .info-caption {
        position: absolute;
        top: -1pt;
        left: 2pt;
        font-family: system-ui;
        font-size: 71%;
    }

    .form-break {
        flex: 3 0 100%;
        height: 2mm;
    }

    #editinfoform input[type="text"] {
        width: 100%;
        line-height: 200%;
        text-indent: 0.4em;
        margin: 4mm auto;
        border-radius: 6px;
        box-shadow: inset 1px 1px 5px -1px;
        padding: 2pt 0 0 4pt;
        box-sizing: border-box;
        font-family: monospace;
    }

    .submit-box {
        flex: 1 0 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 1em;
    }

    .submit-box input[type="submit"] {
        padding: 2mm 7mm;
        margin-top: 4mm;
        border-radius: 19px;
        font-size: 100%;
        font-weight: 700;
    }

    .info-header {
        display: flex;
        justify-content: space-between;
        margin-bottom: 10%;
        width: 96%;
    }

    .info-header>div {
        position: relative;
        border-style: ridge;
        border-width: medium;
        background-color: rgb(255 255 255 / 60%);
        padding: 6pt 3pt;
        border-radius: 6pt;
        box-shadow: 2px 6px 14px -6px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        font: 500 12pt/20pt system-ui;
        text-align: center;
        width: 250pt;
    }

    .info-header>div:before,
    .info-header>div:after {
        content: "";
        position: absolute;
        height: 100%;
        width: 20px;
        top: 0px;
        background-image: radial-gradient(circle at center, #060d00 5px, transparent 6px), radial-gradient(circle at center, #060d00 5px, transparent 6px);
        background-size: 20px 20px;
        background-position: top center, bottom center;
        background-repeat: no-repeat;
    }

    .info-header>div:before {
        left: 0px;
    }

    .info-header>div:after {
        right: 0px;
    }

    /** Camper Info */
    #page4 .form-body {
        width: 100%;
        padding: 10pt;
        box-sizing: border-box;
        justify-content: flex-start;
    }

    .form-row {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-bottom: 0.7cm;
        padding: 0 6pt;
        box-sizing: border-box;
    }

    .caption {
        font: 9pt system-ui;
        text-indent: 3pt;
        margin-bottom: 1.5pt;
    }

    #page4 input[type="text"] {
        min-width: 7.8em;
        padding: 4pt;
        border-radius: 4pt;
        border-width: 1px;
        width: 100%;
        box-sizing: border-box;
    }

    #page4 input[type="date"] {
        width: 8em;
        position: relative;
        padding: 3.25pt;
        border-radius: 4pt;
        border-width: 1px;
    }

    input[type="date"]::-webkit-calendar-picker-indicator {
        position: absolute;
        right: 0;
    }

    input[type="text"][name="c_grade"] {
        min-width: 3em !important;
    }

    #page4 select {
        padding: 3pt;
        border-radius: 3pt;
        width: 100%;
    }

    .ugly-announcement {
        font: 500 13pt/18pt system-ui;
        text-align: center;
        margin-top: -7%;
        padding: 15pt 5%;
        color: firebrick;
    }

    .camper-buttons {
        display: flex;
        justify-content: center;
        padding: 4mm;
        flex-wrap: wrap;
        box-sizing: border-box;
    }

    .camper-buttons input[type="submit"] {
        width: 2.5in;
        padding: 3mm;
        border-radius: 18pt;
        font-weight: 900;
        margin: 7pt;
    }

    .camper-input {
        flex: 1 0 3em;
        padding: 1pt;
        margin: auto;
    }

    .camper-input.grade {
        flex: 1 1;
    }

    .camper-input.select {
        flex: 1 1 1em;
    }

    .camper-input.longer {
        flex: 2 1;
        margin-bottom: 0;
    }

    .camper-input.previous {
        flex: .3 0 8pt;
    }

    .previous .caption {
        text-align: center;
    }

    .camper-input.ethnicity {
        flex: 2 1;
    }

    .camper-input:nth-child(4) {
        flex: .7
    }

    .camper-input label {
        height: 100%;
        display: flex;
        align-content: flex-end;
        align-items: center;
        flex-direction: column;
    }

    .camper-input input[type="checkbox"] {
        width: 15pt;
        height: 15pt;
        margin-bottom: 3pt;
        box-shadow: inset 1px 1px 7px -2px;
    }

    .camper-input label [type="checkbox"]+span {
        line-break: normal;
        height: 62%;
        font-size: 11pt;
        font-family: system-ui;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        padding: 2pt;
        box-sizing: border-box;
        align-self: end;
    }

    /** End Camper Info*/
    .st0,
    .st1,
    .st2,
    .st3 {
        fill: transparent;
        stroke: #1f2a06;
        stroke-width: 42;
        stroke-miterlimit: 10;
    }

    circle.st0 {
        stroke-dasharray: 12.1947, 12.1947, 12.1947, 12.1947, 12.1947, 12.1947;
    }

    circle.st1 {
        stroke-dasharray: 50, 90, 200, 30, 40, 0;
    }

    circle.st2 {
        stroke-dasharray: 120, 20, 110, 20, 140;
        stroke-linecap: square;
    }

    circle.st3 {
        stroke-width: 16;
        stroke-linecap: square;
        fill: transparent;
    }

    div#paymentInfo {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-evenly;
        min-height: 100%;
    }

    .payment-row {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    .payinfo-input {
        position: relative;
    }

    .payinfo-input select {
        padding: 3pt;
        border-radius: 4pt;
    }

    .payinfo-input input[type="text"] {
        padding: 4pt;
        border-radius: 4pt;
        border-width: thin;
    }

    input#Amount {
        width: 7em;
    }

    input#expDate {
        padding: 2pt;
        border-radius: 4pt;
        border-width: thin;
        width: 12em;
    }

    input#CheckNumber {
        width: 6em;
    }

    input#Installments {
        width: 10em;
    }

    input#StartOn {
        padding: 3pt;
        border-radius: 4pt;
        border-width: thin;
        width: 10em;
    }

    .payinfo-submit-box {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 1em
    }

    .payinfo-submit-box input[type="submit"] {
        width: 1.8in;
        padding: 3mm;
        border-radius: 18pt;
        font-weight: 900;
        margin: 7pt;
    }

    .campforms-upload {
        display: flex;
        justify-content: center;
        margin-top: 1cm;
    }

    .campforms-upload label {
        height: 1.6in;
        background-color: lightgray;
        padding: 1em;
        box-sizing: border-box;
        border: 3pt dashed;
        border-radius: 1cm;
        display: inline-flex;
        margin: 4pt;
        width: 1.6in;
        text-align: center;
        flex-direction: column;
        justify-content: space-around;
        position: relative;
        cursor: pointer;
    }

    .campforms-upload label.contains-file {
        background-color: #7aad3b;
    }

    .number-label {
        position: absolute;
        bottom: -20px;
        font: 700 18pt system-ui;
        width: 36px;
        height: 36px;
        left: calc(50% - 22px);
        background-color: inherit;
        border: 4px dashed;
        border-radius: 50%;
    }

    div#newInfo {
        width: 100%;
        height: calc(100% - 20pt - 23pt);
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        align-items: center;
    }
    form#newinfoform {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
    }
    .newinfo-input {
        position: relative;
        flex: 1 0;
        margin: 6pt;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
    }
    .newinfo-input :is(input[type="text"], input[type="number"]) {
        padding: 6pt;
        border-radius: 6pt;
        border-width: thin;
        font: 12pt/12pt courier;
        width: 100%;
        box-sizing: border-box;
    }
    .newinfo-input.new-title {
        flex: .4;
    }
    .newinfo-input.new-name {
        flex: .6;
    }
    .newinfo-input.new-zip {
        flex: .3;
    }
    .newinfo-input.new-state {
        flex: .3;
    }
    .newinfo-input.new-email {
        flex: 1.5;
    }
    .newinfo-input.new-occupation {
        flex: 1.5;
    }
    .newinfo-input.new-children {
        flex: .6;
    }
    .newinfo-input select {
        width: 100%;
        box-sizing: border-box;
        font-size: 12pt;
        padding: 5pt;
        font-family: monospace;
        border-radius: 6pt;
    }
    form#newinfoform .form-break {
        flex: 3 0 100%;
        height: 5mm;
    }
    form#newinfoform .submit-box{
        margin: 2em;
    }
    .newinfo-input.prev-year {
        display: none;
    }
    .newinfo-input.new-mother-years {
        display: none;
    }
    form#newinfoform .caption {
        font: 8pt system-ui;
        text-indent: 3pt;
        margin-bottom: 1.5pt;
        position: absolute;
        top: -15px;
        left: 0;
        padding-left: 4pt;
    }
    form#newinfoform input[type="checkbox"] {
        width: 16pt;
        height: 16pt;
        vertical-align: sub;
    }
    #page9 .form-body {
        width: 100%;
        padding: 10pt;
        box-sizing: border-box;
        justify-content: flex-start;
    }

    #page9 .camper-input.ethnicity {
        flex: 1.4 1;
    }

    #page9 .camper-input.hispanicity {
        flex: .5;
    }

    #page9 :is(input[type="text"], input[type="number"]) {
        min-width: 6.8em;
        padding: 4pt;
        border-radius: 4pt;
        border-width: 1px;
        width: 100%;
        box-sizing: border-box;
    }

    #page9 input[type="date"] {
        width: 8em;
        position: relative;
        padding: 3.25pt;
        border-radius: 4pt;
        border-width: 1px;
    }

    #page9 select {
        padding: 3pt;
        border-radius: 3pt;
        width: 100%;
    }

    .camper-input.teacher-number {
        flex: 2.2;
    }

    .nc-grade {
        flex: 1 1;
    }

    .campforms input[type="file"] {
        position: fixed;
        visibility: hidden;
    }

}


.newinfo-input .caption:has(+ [required])::after {
    content: ' *';
    color: red;
}

.editinfo-input input[type="text"]:placeholder-shown {
    border-color: red;
    border-style: double;
    border-width: medium;
    box-shadow: inset 5px 5px 7px red;
    background: linear-gradient(180deg, #f005 1%, transparent 75%, #f005);
    font-style: italic;
}

.camper-list>div:nth-child(4n+5):not(.no-underline) {
    text-decoration: underline;
    cursor: pointer;
}

.campforms-download {
    font: 700 14pt/18pt system-ui;
    margin: 14pt;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}
.campform-formname {
    font: 600 12pt system-ui;
}

.form-announcement {
    margin-top: -5%;
    margin-bottom: 5%;
    box-shadow: inset 0px 2px 13px -2px;
    background-color: #0001;
    border-radius: 7pt;
    font: 700 14pt system-ui;
    height: 90px;
    width: 500px;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.campforms-submit {
    display: flex;
    justify-content: center;
    align-content: center;
    height: 2cm;
    align-items: flex-end;
}

.campforms-submit input[type="button"] {
    padding: 4pt 2em;
    border-radius: 16pt;
    font: 700 12pt system-ui;
}

.being-dragged {
    background-color: lightblue !important;
    border-style: dotted !important;
}

.campform-blanks {
    display: flex;
    justify-content: center;
    position: relative;
    margin-top: 36px;
    padding-right: 200px;
}
h4.campforms-upload-caption {
    margin-top: 2cm;
    text-align: center;
    font-size: 120%;
    font: 700 13pt system-ui;
    text-decoration: overline underline;
    text-decoration-style: double;
    text-underline-offset: 5pt;
}
ul.links.dropdown {
    list-style-type: none;
    display: inline-block;
    position: absolute;
    margin: 0;
    z-index: 100;
    right: 10%;
    /* background-color: white; */
    background-color: #9998;
    border: 2pt inset;
    border-radius: 6pt;
    padding: 6pt 20pt 2pt 40pt;
}
ul.links.dropdown li:first-child {
    list-style-type: disclosure-closed;
}
ul.links.dropdown:hover li:first-child {
    list-style-type: disclosure-open;
}

ul.links.dropdown li.link {
    /* position: absolute; */
    background-color: white;
    padding: 4pt 14pt;
    margin: 1pt 0;
    margin-top: -13%;
    transition: margin-top .5s;
    visibility: collapse;
    border-radius: 4pt;
}
ul.links.dropdown:hover li.link {
    visibility: visible;
    margin-top: 1pt;
}
#page12 .form-row {
    align-items: stretch;
    font-family: system-ui;
}
.season-second .show-on-season-1 {
    display: none;
}
.season-first .show-on-season-2 {
    display: none;
}
.bunk-choices input::placeholder {
    color: #bbb;
    font-style: italic;
    font-size: 8pt;
    text-indent: 1em;
}

.bunkmate-section {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: 1.2 1 220px;
    margin: 6pt 22pt;
}
.bunkmate-section > div:first-child {
    font-size: 9.5pt;
}
.bunk-choices {
    padding: 0;
    display: flex;
    width: 100%;
    margin-top: 5pt;
    flex-direction: column;
}
.bunk-choices input {
    padding: 2pt 4pt;
    margin: 0.8pt 0;
    border-radius: 6pt;
    border-width: thin;
}
.request-section {
    flex: 1 1 220px;
    margin: 6pt 22pt;
    min-height: 6em;
}
textarea#bunknotes {
    width: 100%;
    height: 100%;
    border-radius: 7px;
    padding: 5pt;
    box-sizing: border-box;
}
.picture-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    flex: 1 1 220px;
    /* padding: 0 6pt; */
    margin: 6pt 22pt;
    min-height: 80px;
}
.picture-section div:nth-child(2) {
    border: 0.7px dotted;
    border-radius: 6pt;
    height: 3.1em;
}
input#camperpicture {
    display: none;
}
.camperpicture-label {
    height: 100%;
    width: min(22rem, 100%);
    color: rgb(255, 255, 255);
    border-radius: 40px;
    font-weight: 700;
    font-size: 16pt;
    background-image: linear-gradient(0deg, #0000 57%, #fffc 93%, #0000);
    background-color: rgb(35,136,203);
    box-shadow: rgb(0, 0, 0) 3px 3px 19px -6px, 0 0 1px 2px rgba(28,110,164,.8);
    display: flex;
    flex-direction: column;
    text-shadow: 0 0 3px BLACK;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    cursor: pointer;
}
div.has-picture .camperpicture-label {
    color: rgb(155, 55, 55);
    text-shadow: 0 0 3px white;
    font-size: 11pt;
}
label.camperpicture-label:hover {
    background-image: linear-gradient(180deg, #0000 46%, #fffc 102%, #0000);
    box-shadow: inset -4px 4px 22px -3px black;
    padding-top: 2pt;
}
input#camperpicture {
    display: inline;
    font-size: x-small;
    margin-top: 2pt;
    color: #000b;
    text-align: right !important;
    text-shadow: 0px 0px 4px #fffb;
    height: 0px;
}
input#camperpicture::file-selector-button {
    display: none;
}
div#camper_thumbnail {
    max-height: 96px;
    flex: .8 1 50px;
    display: none;
}
div.has-picture div#camper_thumbnail {
    display: block;
}
div#camper_thumbnail img {
    height: 60px;
    width: auto;
    border-radius: 12PX;
}
.camperdetails-submit-box {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1em
}

.camperdetails-submit-box input {
    width: 1.8in;
    padding: 3mm;
    border-radius: 18pt;
    font-weight: 900;
    margin: 7pt;
    cursor: pointer;
}

div#camperBus {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    border: 2px ridge;
    border-radius: 12px;
    box-shadow: inset 2px 6px 20px -7px black;
    padding: 0.5cm 1cm;
    background-color: #0001;
}

.camper-bus-caption {
    margin: auto 1cm;
    font-weight: 700;
    font-family: system-ui;
    flex: 2 0 100%;
    text-align: center;
    padding-bottom: 3mm;
}

.camper-bus-caption ~ div {
    margin: 2mm auto;
    position: relative;
}

.camper-bus-season1::before {
    content: 'First Season';
}
.camper-bus-season2::before {
    content: 'Second Season';
}
:is(.camper-bus-season1, .camper-bus-season2)::before {
    position: absolute;
    top: -8pt;
    font: 700 8pt system-ui;
    width: 100%;
    text-align: center;
    text-decoration: underline;
}

.camper-bus-to {
    display: flex;
    justify-content: space-between;
    margin: 1mm auto;
}

.camper-bus-header {
    margin-right: 5mm;
}

.showontop {
    transform: translateX(0);
    z-index: 1000;
}
.showontop :is(#circlingGear, #Layer_1) {
    filter: drop-shadow(2px 4px 13px black);
}


@media screen and (max-width: 1000px) {
    div#nav {
        display: flex;
        position: absolute;
    }

    form#editinfoform {
        display: block;
        flex-flow: wrap;
        padding: 3mm;
        margin: -1mm;
        justify-content: space-evenly;
        overflow-y: auto;
        height: calc(100vh - 270px);
    }

    .editinfo-input {
        position: relative;
        display: inline-flex;
        width: calc(50% - 1mm);
        justify-content: center;
        align-items: center;
        align-content: center;
    }

    .info-caption {
        position: absolute;
        top: -1pt;
        left: 18pt;
        font-family: system-ui;
        font-size: 71%;
    }

    #editinfoform input[type="text"] {
        line-height: 200%;
        text-indent: 0.4em;
        margin: 4mm auto;
        border-radius: 6px;
        box-shadow: inset 1px 1px 5px -1px;
        padding: 2pt 0 0 4pt;
        box-sizing: border-box;
        font-family: monospace;
        width: 11em;
    }

    .camper-list {
        grid-template-columns: .4fr .7fr 1fr;
        font-size: 80%;
    }

    .camper-list div:nth-child(4n-2) {
        display: none;
    }

    .camper-input label [type="checkbox"]+span {
        align-self: baseline;
    }

    .submit-box {
        display: flex;
        justify-content: center;
    }

    div#page3 {
        display: flex;
        flex-direction: column;
        align-content: center;
        justify-content: flex-start;
        align-items: center;
    }

    table.parent-info-table td {
        width: 100%;
        margin-top: 2mm;
    }

    tr {
        display: flex;
        flex-wrap: wrap;
    }

    /***/
    #wholepage {
        background: url(nature-misty.jpg);
        background-position: center;
        background-size: cover;
        height: 100vh;
        width: 100vw;
        margin: 0;
        position: fixed;
        overflow-y: auto;
    }

    #topbanner {
        height: 13vw;
        width: 100vw;
        filter: drop-shadow(0 1px 6px #a61);
        position: fixed;
    }

    #arch {
        height: 13vw;
        background-color: #FFFD;
        backdrop-filter: blur(2px);
        display: flex;
        align-content: center;
        justify-content: center;
        align-items: center;
    }

    div#welcome {
        font-family: "princess sofia";
        font-size: 8vw;
        text-align: center;
        text-shadow: 1px 1px 3px #2d3c0ba0;
        color: #2d3c0b;
        width: 100%;
        height: 100%;
        margin: 0;
    }

    #main {
        width: 100vw;
        height: calc(100vh - 13vw);
        position: fixed;
        top: 13vw;
        display: flex;
        justify-content: center;
        align-items: center;
        overflow-y: auto;
    }

    .break-flex {
        flex-basis: 100%;
        height: 0;
    }

    .page {
        margin: auto;
        position: absolute;
        transform: translateX(-200vw);
    }

    .page.showpage {
        position: relative;
        transform: translateX(0);
        max-width: 100vw;
        background-color: #f5f5f5eb;
        min-height: 100%;
        padding-bottom: 1in;
    }

    div#page3 {
        display: flex;
        flex-direction: column;
        align-content: center;
        justify-content: space-evenly;
        align-items: center;
    }

    div#notifInfo {
        font-size: 19pt;
        border-top: 4pt double gray;
        border-bottom: 4pt double gray;
        padding: 2mm 0;
    }

    div#accountSnapShot {
        width: 100%;
        font-family: system-ui;
        text-shadow: 0 0 3px rgb(0 0 0 / 40%);
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: space-between;
    }

    form {
        max-height: 100%;
        max-width: 100%;
    }

    .form-header {
        display: flex;
        align-content: center;
        width: 100%;
        justify-content: center;
        font-family: system-ui;
        font-size: 14pt;
        padding: 10pt 0;
        font-weight: 700;
        border-bottom: ridge;
        border-bottom-width: 4pt;
        position: relative;
    }

    .accnum {
        padding: 2pt 15pt;
        font-weight: 400;
        font-family: system-ui;
        font-size: 14pt;
    }

    .form-body {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        flex-direction: column;
        align-content: center;
        width: 100%;
        align-items: center;
        padding: 1em 0.5em;
        box-sizing: border-box;
        min-height: 80vh;
    }

    form#loginform {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        flex-direction: row;
        align-content: space-around;
        height: calc(100% - 60px);
        width: 100%;
    }

    #circlingGear,
    #Layer_1 {
        width: 300px;
        margin: calc(25% - 150px) calc(50% - 150px) !important;
    }

    .account-form-row {
        display: flex;
        width: 100%;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .parent-info-display {
        margin-bottom: 1em;
    }

    .label {
        display: flex;
        padding-bottom: 3mm;
        justify-content: center;
        flex-wrap: wrap;
    }

    .label>div {
        text-align: center;
    }

    .parent-info-table {
        align-self: end;
        margin-left: auto;
        display: flex;
        column-gap: 4em;
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
    }

    .parent-info-table>div:nth-child(2) {
        text-align: center;
    }

    .missing-info{
        text-align: center;
        color: red;
        font: 700 1.3rem system-ui;
    }

    .financial-list {
        display: grid;
        justify-items: stretch;
        grid-template-columns: 82px 2fr .6fr;
        grid-column-gap: 7pt;
        border: 1px inset;
        padding: 1mm;
        background-color: rgb(0 0 0 / 10%);
        border-radius: 7pt;
        text-shadow: 0 0 9px grey;
        overflow-y: auto;
        width: 100%;
        box-shadow: 0 0 3px 0px black;
        box-sizing: border-box;
    }

    .financial-list div {
        text-transform: capitalize;
    }

    .financial-list div:nth-child(-n+3) {
        font: 10pt system-ui;
        text-align: center;
        border-bottom: ridge;
        margin-bottom: 7pt;
    }

    .desc {
        font-size: 90%;
    }

    .paid {
        color: #41690f;
    }

    .credit {
        color: #41690f;
    }

    .financial-list div:nth-child(3n+5) {
        font-size: 87%;
        padding-top: 2pt;
    }

    .financial-list div:nth-child(3n+6):before {
        content: '$';
        margin-right: 2px;
        font-weight: 800;
    }

    .total-title {
        grid-column: 2;
        font: 800 12pt system-ui;
        text-align: right;
        padding-right: 13pt;
    }

    .total-amount {
        font-size: 100% !important;
        font-weight: 800;
        padding-top: 0 !important;
    }

    .total-amount:before {
        content: '$';
        margin-right: 2px;
        font-weight: 800;
    }

    .data-tables {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .data-tables>div {
        display: flex;
        flex-direction: column;
        margin: auto;
        width: 100%;
        margin-top: 1em;
    }

    .data-title {
        text-align: center;
        font-family: system-ui;
        transform: rotateX(45deg);
        height: 22px;
    }

    .camper-list {
        display: grid;
        justify-items: stretch;
        grid-template-columns: .4fr .3fr 1.1fr;
        grid-column-gap: 7pt;
        border: 1px inset;
        padding: 1mm;
        background-color: rgb(0 0 0 / 10%);
        border-radius: 6pt;
        text-shadow: 0 0 9px grey;
        width: 100%;
        box-shadow: 0 0 3px 0px black;
        box-sizing: border-box;
    }

    .camper-list div {
        text-transform: capitalize;
    }

    .camper-list>div:nth-child(4n+8) {
        font-size: 90%;
    }

    .camper-list>div:not(:nth-child(4n+5)) {
        text-align: center;
    }

    .camper-list div:nth-child(-n+4) {
        font: 10pt system-ui;
        text-align: center;
        border-bottom: ridge;
        margin-bottom: 7pt;
    }

    .trip-info {
        position: relative;
        background-color: rgb(255 255 255 / 60%);
        box-shadow: 2px 6px 14px -6px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        font: 500 12pt/20pt system-ui;
        text-align: center;
        width: calc(100%);
        border-top: 3px double;
        border-bottom: 3px double;
        margin-bottom: 1em;
    }

    div#permaInfo {
        min-height: 45pt;
        display: flex;
        align-items: center;
    }

    form#editinfoform {
        display: block;
        flex-flow: wrap;
        padding: 3mm;
        margin: -1mm;
        justify-content: space-evenly;
        overflow-y: auto;
    }

    .editinfo-input {
        position: relative;
        justify-content: center;
        align-items: center;
        align-content: center;
    }

    .info-caption {
        position: absolute;
        top: -1pt;
        left: 18pt;
        font-family: system-ui;
        font-size: 71%;
    }

    .form-field {
        margin: 0 12pt;
    }

    .form-field-title {
        font-family: system-ui;
        font-size: 10pt;
        position: relative;
        left: 10pt;
    }

    .form-field-input input[type="text"] {
        line-height: 26pt;
        font-size: 14pt;
        text-indent: 0.4em;
        margin: 0 2pt;
        border-radius: 6px;
        border-width: thin;
    }

    .form-submit {
        flex: 2 0 100%;
        flex-wrap: wrap;
        display: flex;
        justify-content: center;
        padding: 14pt 0;
    }

    .form-submit input {
        padding: 6pt 17pt;
        font: 700 12pt system-ui;
        min-width: 2.2in;
        border-radius: 15px;
        margin: 7px 15pt;
        background-color: rgba(0, 0, 0, .05);
        box-shadow: 0px 1px 6px -1px;
    }

    div#accoutnBtns {
        margin: 3% -4mm;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    table.parent-info-table {
        max-width: 100%;
        margin: auto !important;
    }

    table.parent-info-table td {
        width: 50%;
    }

    table.parent-info-table td:nth-child(2) {
        text-align: right;
    }

    .cancel-button {
        height: 51px;
        width: 51px;
        position: absolute;
        right: 5px;
        top: 2px;
        cursor: pointer;
        z-index: 100;
    }

    .cancel-button div {
        background-color: crimson;
        height: 100%;
        width: 100%;
        clip-path: url(#cancelpath);
    }

    input.account-button {
        border-radius: 19px;
        padding: 2mm;
        text-align: center;
        font-size: 93%;
        margin: 2mm 4mm;
        font-weight: 800;
        cursor: pointer;
    }

    form#editinfoform {
        display: flex;
        flex-flow: wrap;
        padding: 3mm;
        justify-content: space-evenly;
    }

    [data-required] .caption:after {
        content: '*';
        margin-left: 2px;
        color: red;
        text-shadow: 0 0 2px darkred;
    }

    .editinfo-input {
        position: relative;
    }

    .info-caption {
        position: absolute;
        top: -1pt;
        left: 8pt;
        font-family: system-ui;
        font-size: 71%;
    }

    .form-break {
        flex: 3 0 100%;
        height: 8mm;
    }

    #editinfoform input[type="text"] {
        line-height: 200%;
        text-indent: 0.4em;
        margin: 4mm auto;
        border-radius: 6px;
        box-shadow: inset 1px 1px 5px -1px;
        padding: 2pt 0 0 4pt;
        box-sizing: border-box;
        font-family: monospace;
    }

    .submit-box {
        flex: 1 0 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 1em;
    }

    .submit-box input[type="submit"] {
        padding: 2mm 7mm;
        margin-top: 4mm;
        border-radius: 19px;
        font-size: 100%;
        font-weight: 700;
    }

    .info-header {
        display: flex;
        justify-content: space-between;
        margin-bottom: 10%;
        width: 96%;
    }

    .info-header>div {
        position: relative;
        border-style: ridge;
        border-width: medium;
        background-color: rgb(255 255 255 / 60%);
        padding: 6pt 3pt;
        border-radius: 6pt;
        box-shadow: 2px 6px 14px -6px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        font: 500 12pt/20pt system-ui;
        text-align: center;
        width: 250pt;
    }

    .info-header>div:before,
    .info-header>div:after {
        content: "";
        position: absolute;
        height: 100%;
        width: 20px;
        top: 0px;
        background-image: radial-gradient(circle at center, #060d00 5px, transparent 6px), radial-gradient(circle at center, #060d00 5px, transparent 6px);
        background-size: 20px 20px;
        background-position: top center, bottom center;
        background-repeat: no-repeat;
    }

    .info-header>div:before {
        left: 0px;
    }

    .info-header>div:after {
        right: 0px;
    }

    /** Camper Info */
    #page4 .form-body {
        width: 100%;
        padding: 10pt;
        box-sizing: border-box;
        justify-content: flex-start;
    }

    div#returningList {
        font-family: system-ui;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        margin-bottom: .5cm;
    }
    span.returning-dropdown {
        margin-top: 4pt;
    }
    #page4 span.returning-dropdown select {
        padding: 9pt;
    }
    #returningCampers > div.form-row {
        display: none;
    }
    #returningCampers > div.form-row.filled {
        display: flex;
    }

    .form-row {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-bottom: 0.7cm;
        padding: 0 6pt;
        box-sizing: border-box;
    }

    .caption {
        font: 9pt system-ui;
        text-indent: 3pt;
        margin-bottom: 1.5pt;
    }

    #page4 input[type="text"] {
        min-width: 7.8em;
        padding: 4pt;
        border-radius: 4pt;
        border-width: 1px;
        width: 100%;
        box-sizing: border-box;
    }
    /*
    #page4 input[type="date"] {
        width: 8em;
        position: relative;
        padding: 3.25pt;
        border-radius: 4pt;
        border-width: 1px;
    }*/
    #page4 input[type="date"] {
        width: 100%;
        position: relative;
        padding: 3.4pt;
        border-radius: 4pt;
        border-width: 1px;
        box-sizing: border-box;
    }

    input[type="date"]::-webkit-calendar-picker-indicator {
        position: absolute;
        right: 0;
    }

    input[type="text"][name="c_grade"] {
        min-width: 3em !important;
    }

    #page4 select {
        padding: 3pt;
        border-radius: 3pt;
    }

    .camper-buttons {
        display: flex;
        justify-content: center;
        padding: 4mm;
        flex-wrap: wrap;
        box-sizing: border-box;
    }

    .camper-buttons input[type="submit"] {
        width: 2.5in;
        padding: 3mm;
        border-radius: 18pt;
        font-weight: 900;
        margin: 7pt;
    }

    .camper-input {
        flex: 1 0 3em;
        padding: 1pt;
        margin: auto;
    }

    .camper-input.select {
        flex: 1 0 3em;
    }

    .camper-input.longer {
        flex: 2 1;
        margin-bottom: 0;
    }

    .camper-input:nth-child(4) {
        /*flex: .9*/
    }

    .camper-input label {
        height: 100%;
        display: flex;
        align-content: flex-end;
        align-items: flex-end;
    }

    .camper-input input[type="checkbox"] {
        width: 15pt;
        height: 15pt;
        margin-bottom: 3pt;
        box-shadow: inset 1px 1px 7px -2px;
    }

    .camper-input label [type="checkbox"]+span {
        line-break: normal;
        height: 62%;
        font-size: 11pt;
        font-family: system-ui;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        padding: 2pt;
        box-sizing: border-box;
        align-self: end;
    }

    #page9 .camper-input {
        flex: 1 0 40%;
        padding: 1pt;
        margin: auto;
        box-sizing: border-box;
    }
    #page9 .camper-input input[type="text"] {
        width: 100%;
        padding: 5pt;
        border-radius: 5px;
        border-width: thin;
        box-sizing: border-box;
    }
    #page9 .camper-input input[type="date"] {
        width: 100%;
        box-sizing: border-box;
        padding: 4pt;
        border-radius: 5px;
        border-width: thin;
        position: relative;
    }
    #page9 .camper-input.select select {
        width: 100%;
        box-sizing: border-box;
        padding: 4.3pt;
        border-radius: 5px;
    }

    div#paymentInfo {
        min-height: calc(100% - 60px);
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        align-items: center;
        padding: 4mm;
    }
    .payment-title {
        font: 10pt/14pt system-ui;
        margin-bottom: 2mm;
    }
    .payment-row {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .payinfo-input {
        position: relative;
        margin: 4mm .3mm
    }
    .payinfo-input select {
        height: 23pt;
        border-radius: 5pt;
        width: 45vw;
    }
    
    .payinfo-input > :nth-child(2):not(select) {
        width: 43vw;
        height: 20pt !important;
        margin: 0;
        padding: 1pt !important;
        border-radius: 5pt;
        border-width: thin;
    }
    .payinfo-submit-box {
        margin-top: 1cm;
    }
    .payinfo-submit-box input[type="submit"] {
        padding: 8pt 2cm;
        font: 700 13pt/18pt system-ui;
        border-radius: 50% / 190%;
        text-shadow: 1px 1px 4px grey;
    }
    form#newinfoform div#newInfo {
        width: 100vw;
    }
    form#newinfoform {
        max-height: 100%;
        max-width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        padding: 2mm;
    }
    form#newinfoform .newinfo-input {
        flex: 1 2 40%;
        position: relative;
        margin: 2mm 1mm;
    }
    form#newinfoform select {
        width: 100%;
        box-sizing: border-box;
        padding: 2mm;
        border-radius: 6pt;
        font-size: 10pt;
    }
    form#newinfoform input[type="text"] {
        width: 100%;
        box-sizing: border-box;
        padding: 2mm 2mm;
        border-radius: 6pt;
        border-width: thin;
        font-size: 11pt;
    }
    form#newinfoform input[type="checkbox"] {
        height: 14pt;
        width: 14pt;
        float: left;
        margin-right: 2mm;
        /* margin-top: auto; */
        /* margin-block: auto; */
    }
    form#newinfoform .newinfo-input.new-deja {
        display: flex;
        justify-content: center;
    }
    form#newinfoform .newinfo-input label{
        display: flex;
        align-content: center;
        align-items: center;
    }
    .newinfo-input.prev-year {
        display: none;
    }

    /** End Camper Info*/

    #page10 iframe {
        height: min(80vh, 540px);
    }

    .st0,
    .st1,
    .st2,
    .st3 {
        fill: transparent;
        stroke: #1f2a06;
        stroke-width: 42;
        stroke-miterlimit: 10;
    }

    circle.st0 {
        stroke-dasharray: 12.1947, 12.1947, 12.1947, 12.1947, 12.1947, 12.1947;
    }

    circle.st1 {
        stroke-dasharray: 50, 90, 200, 30, 40, 0;
    }

    circle.st2 {
        stroke-dasharray: 120, 20, 110, 20, 140;
        stroke-linecap: square;
    }

    circle.st3 {
        stroke-width: 16;
        stroke-linecap: square;
        fill: transparent;
    }
}


/**
* Lifted from https://stackoverflow.com/a/19207528/4864937 
*/
.dropdown-check-list {
    display: inline-block;
  }
  
  .dropdown-check-list .anchor {
    position: relative;
    cursor: pointer;
    display: inline-block;
    padding: 5px 50px 5px 10px;
    border: 1px solid #ccc;
  }
  
  .dropdown-check-list .anchor:after {
    position: absolute;
    content: "";
    border-left: 2px solid black;
    border-top: 2px solid black;
    padding: 5px;
    right: 10px;
    top: 20%;
    -moz-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  
  .dropdown-check-list .anchor:active:after {
    right: 8px;
    top: 21%;
  }
  
  .dropdown-check-list ul.list-check-items {
    padding: 2px;
    display: none;
    margin: 0;
    border: 1px solid #ccc;
    border-top: none;
  }
  
  .dropdown-check-list ul.list-check-items li {
    list-style: none;
  }
  
  .dropdown-check-list.visible .anchor {
    color: #0094ff;
  }
  
  .dropdown-check-list.visible .list-check-items {
    display: block;
    height: 8.5rem;
    overflow-y: auto;
    position: absolute;
    width: 9em;
    background-color: #fffd;
    box-shadow: 2px 3px 6px 0px #999;
  }
