@charset "utf-8";
:root { --min-width:320px; --max-width:768px;
  --main-font:16px/1.4em myriad-pro, sans-serif; --alt-font:myriad-pro-condensed, sans-serif;
  --blueP:#242e80; --blueL:#4653a0; --blueD:#11175a; --blueH1:#d9ddff; --blueH2:#e5e8ff;
  --rustP:#832931; --rustD:#5c1d22; --rustH:#e5dadb;
  --highlight:#626BB3; }

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

*, *:before, *:after { -webkit-box-sizing:border-box; -moz-box-sizing:border-box;
  box-sizing:border-box; -webkit-tap-highlight-color:rgba(0,0,0,0); }
article, aside, footer, header, main, nav, section { display:block; }
h1, h2, h3, h4, h5, h6, p, dd, dt, ul, li { margin:0; }
span { display:inline-block; }
b, strong { font-weight:600; }
em { font-style:italic; } small { font-size:80%; }
pre, code, kbd, samp { font-family:monospace, monospace; font-size:1em; }
sub, sup { font-size:70%; line-height:0; position:relative; vertical-align:baseline; }
sub { bottom:0; } sup { top:-0.5em; }
abbr[title], acronym { border-bottom:none; text-decoration:none; }
a { color:var(--blueP); text-decoration:underline; background-color:transparent; }
  a:hover { text-decoration:none; } a:focus { text-decoration:none; outline:thin dotted; }
  a:hover, a:active { outline:0; } a span { text-decoration:inherit; }
hr { box-sizing:content-box; height:0; overflow:visible; }
img { display:block; width:100%; border-style:none; }

::selection { background:var(--highlight); color:#fff; text-shadow:none; }
:-moz-selection { background:var(--highlight); color:#fff; text-shadow:none; }
::-moz-selection { background:var(--highlight); color:#fff; text-shadow:none; }
::-webkit-selection { background:var(--highlight); color:#fff; text-shadow:none; }

.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0, 0, 0, 0); border:0; }

button, input, optgroup, select, textarea { padding:0; margin:0;
  font-family:inherit; font-size:inherit; line-height:inherit; color:inherit;
  background:#fff; border-radius:0; border:0; }
button, input { overflow:visible; } button, select { text-transform:none; cursor:pointer; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance:button; }
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; }
legend { box-sizing:border-box; color:inherit; display:table; max-width:100%; padding:0; white-space:normal; }
fieldset { min-width:0; padding:0.01em 0 0 0; margin:0; border:0; }
  body:not(:-moz-handler-blocked) fieldset { display:table-cell; }
textarea { overflow:auto; }
[type="checkbox"], [type="radio"] { box-sizing:border-box; padding:0; }
input:focus, select:focus, textarea:focus { outline:0; }
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }

/* ===== Styles ==================================================================
   Author:Michael Rathmann - mrathmanndesign.com

   ============================================================================ */

html { width:100%; height:100%; font:var(--main-font); font-weight:400; font-style:normal;
  font-size-adjust:100%; -webkit-text-size-adjust:100%; -moz-text-size-adjust:100%; -ms-text-size-adjust:100%;
  -o-text-size-adjust:100%; text-size-adjust:100%; }

body { position:absolute; top:0; right:0; bottom:0; left:0; width:100%; margin:0; color:#000;
  overflow-x:hidden; background:#fff; }
header, form, main, footer { min-width:var(--min-width); }
h1, h2, h3 { font-family:var(--alt-font); letter-spacing:.5px; }
h1 { font-size:1.8em; line-height:1em; font-weight:900; text-transform:uppercase; }
h2 { padding:16px 0 0; font-size:1.5em; line-height:1em; font-weight:700; }
h3 { padding:16px 0 0; font-size:1.2em; font-weight:600; }
p { padding:16px 0 0; }

.no-legend > label { display:block; padding:8px 0; }
input, select, textarea { width:100%; padding:8px 12px; } select[disabled]{ cursor:default; }

.note { clear:both; display:flex; margin:20px 0; overflow:hidden; color:var(--blueL);
  border-width:1px 0; border-style:solid; border-color:var(--blueH2); }
  .in-error .note { color:var(--rustP); }
  .note .icon { position:relative; display:flex; align-items:center; padding:12px 4px 12px 12px;
    font-size:2.4em; background:var(--blueH1); }
    .in-error .note .icon { color:#fff; background:var(--rustP); }
    .note .icon:after { position:absolute; top:0; right:-12px; content:''; width:12px; height:100%;
      background:var(--blueH1); border-top-right-radius:100% 50%; border-bottom-right-radius:100% 50%;
      border-right:1px solid var(--blueH1); }
      .in-error .note .icon:after { background:var(--rustP); border-color:var(--rustP); }
  .note-text { display:flex; align-items:center; padding:4px 12px 18px 24px;
    font-size:.9em; line-height:1.3em; } .disclaimer-text a { color:inherit; }
.note h2, .note p { padding-top:12px; }

@media print { header, footer, form, .inactive h2 svg, .error { display:none !important; } }

@media screen {
  body { background:var(--blueD); }
    .container { position:relative; max-width:var(--max-width); margin:0 auto; }


  header { background:var(--blueH1); border-top:4px solid #fff; } header .container { padding:20px; }
    header .container { display:flex; align-items:center; justify-content:space-between; }
    .logo { display:block; width:165px; height:50px;
      background-image:url('/template-v2022/graphics/logo.svg'); background-repeat:no-repeat; background-size:contain; }
    a.return { display:none; padding:12px 18px; margin:0;
      font-size:30px; line-height:20px; color:var(--blueP); cursor:pointer; border:0; border-radius:8px;
      background-color:rgba(255,255,255,.50); transition:all .3s ease; }
      a.return:hover, a.return:focus { background-color:rgba(255,255,255,1.00); }
      a.return:active svg { transform:scale(140%); transition:all .1s ease; }


  main { height:auto; min-height:calc(100vh - 98px); padding:16px 0 120px; background:var(--blueH2); }
    .hidden, .error, .in-error, .inactive .section-content { display:none; }
  .intro { padding:0 20px 20px; }
  a.link-return { display:inline-block; padding:8px 12px; margin-top:40px; font-size:.8em;
    text-decoration:none; border-radius:8px; background:rgba(255,255,255,.5); transition:all .3s ease; }
    a.link-return:hover, a.link-return:focus { background:rgba(255,255,255,1); }
    a.link-return svg { transform:scale(120%); margin-right:8px; transition:all .1s ease; }
    a.link-return:active svg { transform:scale(160%); transition:all .1s ease; }

  h2 { position:relative; padding:16px 20px 8px; text-transform:uppercase; transition:all .2s ease;
    color:#fff; border-top:1px solid var(--rustD); }
    .active h2 { background-color:var(--rustP); } .active h2 svg { display:none; }
    .inactive h2 { padding:8px 20px; font-size:.8em; background-color:var(--blueL); border-color:var(--blueD); cursor:pointer; }
      .inactive h2 svg { margin-right:4px; font-size:.8em; vertical-align:-.05em; }
      .inactive h2:hover, .inactive h2:focus { background-color:var(--blueP); outline:none; }
      .inactive h2:active { background-color:var(--blueD); }

  .section-content { border-top:1px solid var(--rustD); }
    .note { margin:20px 8px; background:#fff; border-radius:8px; }
      .adjust { padding-top:20px; margin:0 8px; }

  h3 { position:relative; padding:8px 20px; color:#242e80; text-transform:uppercase;
    border-top:1px solid rgba(255,255,255,.8); background-color:#c3c8f1; }
  p.padded-text { padding:0 20px 16px; }
  p.meals-note { padding:4px 12px; margin:4px 0; font-size:.8em; line-height:1.3em; color:var(--blueP);
    background:var(--blueH1); border-radius:4px; }
  input, select, textarea { display:block;
    border-color:var(--blueL); border-radius:4px; transition:all .2s ease; }
    input, select { height:40px; }
    select { -webkit-appearance:none; } .select { position:relative; }
      .select svg { position:absolute; top:12px; right:12px; pointer-events:none; }
    textarea { min-height:86px; resize:vertical; }
    input, select, textarea, .flex-field, .clicker { outline:0 solid var(--blueH1); }
    input:hover, .select select:hover, textarea:hover, .flex-field:hover, .clicker:hover { outline-width:2px; }
    input:focus, .select select:focus, textarea:focus { outline:2px solid var(--blueL); }

  fieldset, .in-fieldset { border-top:1px solid rgba(255,255,255,.5); }
  legend, .no-legend label { display:block; width:100%; padding:8px 20px 4px;
    font-weight:600; color:#4653a0; background:var(--blueH1); }
    legend { float:inline-start; }
    legend span, .no-legend label span { font-weight:400; font-size:.9em; }
      .no-legend label sub { text-transform:uppercase; margin-left:1px; }
  .in-fieldset { clear:both; } .in-fieldset .note { margin:12px 8px 0; }
  
  .field, .flex-row { clear:both; display:flex; flex-direction:column; gap:9px; padding:12px 8px 20px;
    border-top:1px solid rgba(255,255,255,.5); }
    @media (min-width:585px) { .flex-row { flex-direction:row; width:100%; align-items:end; }
      .flex-row > * { width:calc(100% - 4px); } } .no-border-top { border:0; }
  .flex-cell { position:relative; }
  .flex-cell label { display:block; padding:0 12px 4px; font-size:.9em; line-height:1.2em; color:var(--blueP); }
    .flex-cell label span { font-size:.9em; line-height:1.2em; }
    .flex-cell sub { text-transform:uppercase; margin-left:1px; }
  .flex-field { display:flex; gap:4px; align-content:center; height:40px; padding:8px 12px;
    background:#fff; border-radius:4px; transition:all .2s ease; }
    .flex-field:focus-within { outline:2px solid var(--blueL); }
    .flex-field select { width:fit-content; height:fit-content; padding:0; border:0; border-radius:0; transition:none; }
      .flex-field option { color:#000; background:#fff; }
      .flex-field span { padding:0; } .flex-field select:focus { color:#fff; background:var(--highlight); outline:none; }

  .flex-cell.flagged input,.flex-cell .flagged select { outline:1px solid var(--rustP); }
    .flex-cell.flagged input:focus, .flex-cell.flagged select:focus, .flex-cell.flagged select:hover {
      outline-color:var(--rustP); outline-width:1px; }
    .flagged .error { position:absolute; bottom:-14px; z-index:2; display:block; width:100%; padding:2px 12px 4px;
      font-size:.7em; line-height:1; color:#fff; background:var(--rustP); border-radius:0 0 4px 4px;
      outline:3px solid var(--rustP); outline-offset:-2px; }
  .flagged .in-error { display:block; } fieldset.flagged .flex-row { border:0; }
  @media (max-width:585px) { .flagged { padding-bottom:20px; } .flagged .error { bottom:6px; } }

  /* Number clicker */
  .clicker { display:flex; gap:1px; align-items:center; background:#fff; border-radius:4px; transition:all .2s ease; overflow:hidden; }
    .clicker:focus-within { outline:2px solid var(--blueL); }
    .clicker [type="number"] { -moz-appearance:textfield; height:40px; outline:none !important; }
    .clicker button { height:40px; padding:0 8px; border:0; color:#fff; text-align:center; background:var(--blueL); transition:all .2s ease; }
      .clicker button:hover, .clicker button:focus { background:var(--blueP); }
      .clicker button:focus { outline:none; } .clicker button:active { background:var(--blueD); }
  
  /* Checkbox/radio */
  .check label { position:relative; z-index:1; display:block; padding:12px 12px 20px 48px;
    color:var(--blueP); cursor:pointer; }
    .check input { position:absolute; z-index:0; opacity:0; width:0; height:0; }
    .check svg { position:absolute; top:9px; left:12px; width:28px; height:28px; color:#fff; }
      .fa-square-check { transition:all .2s ease; }
      .check input + label:hover .fa-square-check, .check:focus-within .fa-square-check { color:var(--blueH1); }
      .check input:checked + label .fa-square-check { color:var(--blueL); }
        .check input:checked + label:hover .fa-square-check,
          .check:focus-within input:checked + label .fa-square-check { color:var(--blueP); }

  footer { position:fixed; z-index:2; bottom:0px; width:100%; color:#fff;
    background:rgba(36,46,128,.95); border-top:1px solid var(--blueD) } footer a { color:inherit; }
    @supports (-webkit-backdrop-filter:none) or (backdrop-filter:none) {
      footer { -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); } }
    footer .container { padding:12px 20px 20px; }
      footer button { padding:6px 8px; font-family:var(--alt-font); line-height:1em; text-transform:uppercase;
        border-width:1px; border-style:solid; border-radius:4px; transition:all .2s ease-in-out; }
        footer button:focus { outline:2px solid #fff !important; }
      .foot-buttons { display:flex; justify-content:space-between; }
        .foot-buttons button span { padding:0 4px; }
        .left-buttons button { font-size:1em; background:var(--blueL); border-color:rgba(229,232,255,.2); }
          .left-buttons button svg { vertical-align:-.2em; }
          .left-buttons button:hover { background-color:var(--blueP); }
        .right-buttons button { font-size:1.4em; background:var(--rustP); border-color:rgba(229,218,219,.2); }
          .right-buttons button svg { vertical-align:-.15em;}
          .right-buttons button:hover { background-color:var(--rustD); }
          .grecaptcha-badge { display:none; }
      .foot-disclaimer { padding-top:16px; font-size:.8em; line-height:1.2em; text-align:center; }

  @-moz-document url-prefix() { 
    .left-buttons button svg { vertical-align:-.15em; }
    [type="date"], [type="time"] { padding:8px 8px !important; }
  }
}