 html {
     line-height: 1.15
 }

 body {
     margin: 0;
 }

 main {
     display: block;
 }

 h1 {
     font-size: 2em;
     margin: .67em 0;
 }

 hr {
     box-sizing: content-box;
     height: 0;
     overflow: visible
 }

 pre {
     font-family: monospace, monospace;
     font-size: 1em
 }

 a {
     background-color: transparent;
 }

 abbr[title] {
     border-bottom: none;
     text-decoration: underline;
     text-decoration: underline dotted
 }

 b,
 strong {
     font-weight: bolder;
 }

 code,
 kbd,
 samp {
     font-family: monospace, monospace;
     font-size: 1em
 }

 small {
     font-size: 80%;
 }

 sub,
 sup {
     font-size: 75%;
     line-height: 0;
     position: relative;
     vertical-align: baseline;
 }

 sub {
     bottom: -.25em;
 }

 sup {
     top: -.5em;
 }

 img {
     border-style: none;
 }

 button,
 input,
 optgroup,
 select,
 textarea {
     font-family: inherit;
     font-size: 100%;
     line-height: 1.15;
     margin: 0
 }

 button,
 input {
     overflow: visible;
 }

 button,
 select {
     text-transform: none;
 }

 button::-moz-focus-inner,
 [type="button"]::-moz-focus-inner,
 [type="reset"]::-moz-focus-inner,
 [type="submit"]::-moz-focus-inner {
     border-style: none;
     padding: 0;
 }

 button:-moz-focusring,
 [type="button"]:-moz-focusring,
 [type="reset"]:-moz-focusring,
 [type="submit"]:-moz-focusring {
     outline: 1px dotted ButtonText;
 }

 fieldset {
     padding: .35em .75em .625em;
 }

 legend {
     box-sizing: border-box;
     color: inherit;
     display: table;
     max-width: 100%;
     padding: 0;
     white-space: normal
 }

 progress {
     vertical-align: baseline;
 }

 textarea {
     overflow: auto;
 }

 [type="checkbox"],
 [type="radio"] {
     box-sizing: border-box;
     padding: 0
 }

 [type="number"]::-webkit-inner-spin-button,
 [type="number"]::-webkit-outer-spin-button {
     height: auto;
 }

 [type="search"] {
     outline-offset: -2px
 }

 [type="search"]::-webkit-search-decoration {
     -webkit-appearance: none;
 }

 ::-webkit-file-upload-button {
     -webkit-appearance: button;
     font: inherit
 }

 details {
     display: block;
 }

 summary {
     display: list-item;
 }

 template {
     display: none;
 }

 [hidden] {
     display: none;
 }

 a {
     color: #4d4d4d;
 }

 body {
     background-color: #fff;
     color: #1a1a1a;
     display: flex;
     flex-direction: column;
     font-family: -apple-system, sans-serif;
     font-size: 16px;
     line-height: 20px;
     margin: 0 auto 0 auto;
     min-height: 100vh;
 }

 button,
 input[type=submit] {
     background: #7c959a;
     border: 1px solid #7c959a;
     border-radius: 2px;
     color: #fff;
     cursor: pointer;
     font-size: 1.15em;
     padding: 12px 6px;
     transition: all .2s ease;
     min-width: 20vw;
 }

 button:hover,
 input[type=submit]:hover {
     color: #dbe4e6;
 }

 button.cancel {
     color: #899294;
     background-color: #e1e3e3;
     border: 1px solid #899294;
     margin-left: 1vw;
     min-width: 10vw;
 }

 dd,
 dt {
     float: left;
     padding-bottom: 1vh;
 }

 details {
     border: 1px solid #aaa;
     border-radius: 4px;
     padding: .5em .5em 0;
 }

 details+details {
     margin: 2vh 0;
 }

 details summary {
     cursor: pointer;
     font-weight: bold;
     list-style-type: none;
     margin: -.5em -.5em 0;
     padding: .5em;
 }

 details summary::-webkit-details-marker {
     display: none;
 }

 details>summary::before {
     content: url(data:image/svg+xml;base64,PCEtLSBHZW5lcmF0ZWQgYnkgSWNvTW9vbi5pbyAtLT4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgo8dGl0bGU+a2V5Ym9hcmRfYXJyb3dfcmlnaHQ8L3RpdGxlPgo8cGF0aCBkPSJNOC41NzggMTYuNTk0bDQuNTk0LTQuNTk0LTQuNTk0LTQuNTk0IDEuNDA2LTEuNDA2IDYgNi02IDZ6Ij48L3BhdGg+Cjwvc3ZnPgo=);
     float: left;
     margin: -2px 0 0 0;
 }

 details[open]>summary::before {
     content: url(data:image/svg+xml;base64,PCEtLSBHZW5lcmF0ZWQgYnkgSWNvTW9vbi5pbyAtLT4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgo8dGl0bGU+a2V5Ym9hcmRfYXJyb3dfZG93bjwvdGl0bGU+CjxwYXRoIGQ9Ik03LjQwNiA4LjU3OGw0LjU5NCA0LjU5NCA0LjU5NC00LjU5NCAxLjQwNiAxLjQwNi02IDYtNi02eiI+PC9wYXRoPgo8L3N2Zz4K);
     float: left;
     margin: -2px 0 0 0;
 }

 details.section {
     border: 0;
     border-radius: 0;
     border-top: 1px solid #aaa;
 }

 details.section summary {
     font-size: 1.1em;
     font-weight: normal;
 }

 dialog {
     border: 2px solid #899294;
     border-radius: 2px;
     box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);
     min-width: 50vw;
     overflow: hidden;
 }

 dialog button {
     float: right;
 }

 div.error,
 div.success,
 div.working {
     background-color: #fafafa;
     border-bottom: 1px solid #6f797a;
     font-size: 1.1em;
     padding: 1vw;
 }

 div.error p {
     color: #93000a;
 }

 div.success p,
 div.working p {
     color: #6f9654;
 }

 dl,
 fieldset {
     display: block;
     overflow: hidden;
 }

 dt {
     clear: both;
     min-width: 20%;
 }

 fieldset,
 fieldset ol,
 fieldset ul {
     border: 0;
     list-style: none;
     margin: 0;
     padding: 0;
 }

 fieldset label {
     display: block;
     padding-bottom: 1vh;
 }

 fieldset ol li,
 fieldset ul li {
     padding-bottom: 4vh;
 }

 fieldset ol li ol li {
     padding-bottom: 1vh;
 }

 fieldset ol li p,
 fieldset ul li p {
     color: #999;
     margin: 0 0 1vh 0;
 }

 fieldset .error {
     border-left: 2px solid #93000a;
     color: #93000a;
     margin-top: .5em;
     padding-left: .5em;
 }

 footer {
     background-color: #eaeff0;
     color: #666;
     font-size: .9em;
     margin-top: auto;
 }

 footer article section {
     padding: .5vh 1vh;
 }

 footer p {
     margin-bottom: .25vh;
 }

 footer p,
 footer ul {
     margin-top: 0;
 }

 footer ul {
     padding: 0;
 }

 footer ul li {
     list-style: none;
     padding: 0;
 }

 footer,
 header {
     padding: 0 1vw;
 }

 form {
     width: 100%;
 }

 h1,
 h2,
 h3 {
     line-height: 1.1em;
     margin-top: 0;
 }

 h1 span,
 h2 span,
 h3 span {
     float: right;
 }

 h1 span svg,
 h2 span svg {
     fill: #666;
     height: 1.50em;
     width: 1.50em;
 }

 header {
     background-color: #1a1a1a;
     padding-bottom: 1vh;
     padding-top: 3vh;
 }

 header,
 header a {
     color: #fff;
     text-decoration: none;
 }

 header h1 {
     margin-top: 0;
 }

 html {
     background-color: #dbe4e6;
 }

 img {
     max-width: 100%;
     height: auto;
 }

 input[type=checkbox] {
     height: 1.15em;
     vertical-align: middle;
     width: 1.15em;
 }

 input[type=password],
 input[type=tel],
 input[type=text],
 select,
 textarea {
     border: 1px solid #999;
     border-radius: 2px;
     box-sizing: border-box;
     padding: 12px;
     width: 100%;
 }

 input:focus,
 select:focus {
     border: 1px solid #1a1a1a;
     outline: none;
 }

 input::placeholder {
     font-weight: 200;
     opacity: .5;
 }

 label {
     font-size: 1.05em;
 }

 main {
     padding-bottom: 1em;
 }

 nav {
     background-color: #aec2c7;
     position: relative;
 }

 nav ul {
     margin: 0;
     padding: 1vw;
 }

 nav ul li {
     display: inline-block;
     list-style: none;
     vertical-align: middle;
 }

 nav ul li:last-child {
     float: right;
     margin-right: 0 !important;
 }

 nav ul li a span {
     display: none;
 }

 ol li,
 ul li {
     margin-bottom: 2vh;
 }

 ol.card,
 ol.list,
 ul.card,
 ul.list {
     padding-left: 0;
 }

 ol.card,
 ul.card {
     display: flex;
     flex-wrap: wrap;
 }

 ol.card li,
 ul.card li {
     width: 50%;
 }

 ul.card li details {
     border: 0;
     border-radius: 0;
     border-bottom: 1px solid #aaa;
     padding-bottom: 1vh;
 }

 ul.card li:nth-child(odd) details {
     margin-right: 1vw;
 }

 ul.card li details summary {
     font-size: 1.1em;
     font-weight: normal;
 }

 ol.card li,
 ol.list li,
 ul.card li,
 ul.list li {
     list-style: none;
     overflow: hidden;
 }

 ol.list li,
 ul.list li {
     border-bottom: 1px solid #bfc8ca;
     width: 100%;
 }

 p {
     color: #4d4d4d;
 }

 select {
     appearance: none;
     background: url(data:image/svg+xml;base64,PCEtLSBHZW5lcmF0ZWQgYnkgSWNvTW9vbi5pbyAtLT4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgo8dGl0bGU+a2V5Ym9hcmRfYXJyb3dfZG93bjwvdGl0bGU+CjxwYXRoIGQ9Ik03LjQwNiA4LjU3OGw0LjU5NCA0LjU5NCA0LjU5NC00LjU5NCAxLjQwNiAxLjQwNi02IDYtNi02eiI+PC9wYXRoPgo8L3N2Zz4K) no-repeat 98% 50%;
     width: 20%;
 }

 select.medium {
     width: 50%;
 }

 select.large {
     width: 100%;
 }

 table {
     border-collapse: collapse;
     border-spacing: 0;
     width: 100%;
 }

 td,
 th {
     padding: .25em;
 }

 td {
     border-bottom: 1px solid #bfc8ca;
     vertical-align: top;
 }

 th {
     background-color: #bfc8ca;
     border-bottom: 2px solid #3f484a;
 }

 th.small {
     width: 4vw;
 }

 tr:hover td {
     background-color: #e1e3e3;
 }

 .columns {
     display: flex;
     flex-flow: row wrap;
     align-content: flex-start;
 }

 .columns article {
     width: 100%;
 }

 .columns article section {
     padding: 1vw;
 }

 .columns.alert {
     border: red solid 1px;
     width: 100%;
 }

 .columns.alert p,
 .columns.center {
     margin: 0 auto;
 }

 .columns.center,
 .columns.three article {
     width: 33.33%;
 }

 .columns.center button,
 .columns.center input[type=submit] {
     display: block;
     width: 100%;
 }

 .columns.four article {
     width: 25%;
 }

 .columns.two article {
     width: 50%;
 }

 .columns.two.offset article {
     width: 66.66%;
 }

 .columns.two.offset article+article {
     width: 33.33%;
 }

 .hidden {
     display: none;
 }

 .icon {
     fill: #1a1a1a;
     height: 1em;
     width: 1em;
 }

 .ionc-menu {
     display: none;
 }

 .no-border {
     border: 0;
 }

 li:has(:required) label::after {
     content: "＊";
 }

 @media (min-width:1024px) {
     body {
         width: 1024px
     }
 }

 @media (min-width:768px) and (max-width:1023px) {
     body {
         width: 100%
     }
 }

 @media (max-width:767px) {
     body {
         width: 100%
     }

     .columns.center {
         width: 66.66%
     }

     .columns.two article,
     .columns.three article {
         width: 100%
     }
 }