  .page{
    width:8.5in;
    min-height:11in;
    margin:0 auto;
    background:#fff;
    padding:.42in .48in .33in;
    box-shadow:var(--shadow);
  }
  .halfpage{
    width:8.5in;
    margin:0 auto;
    background:#fff;
    padding:.42in .48in .33in;
    box-shadow:var(--shadow);
    min-height:fit-content;
  }
  .header{
    height:.84in;
    background:var(--navy);
    color:#fff;
    display:grid;
    grid-template-columns:1.65in 1fr;
    align-items:center;
    padding:0 .25in;
    position:relative;
    overflow:hidden;
    h1{ font-size:20px; text-align:center;}
  }
  /*.header:after{
    content:"";
    position:absolute;
    right:-.1in; top:-.15in;
    width:.65in; height:1.2in;
    background:
      linear-gradient(70deg, transparent 0 28%, rgba(255,255,255,.16) 29% 44%, transparent 45% 58%, rgba(255,255,255,.28) 59% 68%, transparent 69%);
  }*/
  .church{
    text-align:center;
    line-height:1.05;
    font-family:Georgia,"Times New Roman",serif;
    letter-spacing:.4px;
  }
  .church .small{font-size:8px;letter-spacing:.8px}
  .church .big{font-size:17px}
  .intro{font-size:10px;line-height:1.2;margin:7px 0 4px}
  .section-title{
    background:var(--teal);
    color:#fff;
    font-size:11px;
    font-weight:700;
    padding:4px 5px;
    margin-top:4px;
  }
  .section-title.gray{background:var(--gray)}
  .section-title .note{font-weight:400;margin-left:8px}
  .grid{display:grid;border-left:1px solid transparent}
  .cell{
    min-height:31px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:2px 3px 1px;
    position:relative;
  }
  .cell.no-border{border-bottom:none;}
  .cell:last-child{border-right:0}
  .label{display:block;font-size:9px;line-height:1.05;color:#555;margin-bottom:1px}
  input[type=text], input[type=date], input[type=tel], input[type=email], input[type=number], textarea{
    width:100%;
    max-width:100%;
    /*border:1px solid var(--line);*/border:none;
    outline:none;
    background:transparent;
    font:var(--font-stack);
    font-size:13px;
    font-weight:500;
    padding:0;
    color:#111;
  }
  .req{
    color:red;
    font-weight:bold;
  }
  /*textarea{resize:none;overflow:hidden;line-height:1.15}*/
  .tall textarea{field-sizing:content;min-height:40px;resize:none;}
  .med textarea{field-sizing: content;min-height:26px;resize:none;}
  .checkrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:9px;margin-top:2px}
  .checkrow label{display:inline-flex;align-items:center;gap:3px}
  input[type=checkbox]{width:10px;height:10px;margin:0}
  .phone-line{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:7px;align-items:end;
  }
  .phone-line .checks{display:flex;gap:7px;justify-content:flex-end;font-size:9px;white-space:nowrap}
  .phone-line label{display:inline-flex;align-items:center;gap:2px}
  .plain-row{
    border-bottom:1px solid var(--line);
    min-height:27px;
    padding:2px 3px;
  }
  .prompt-grid{
    display:grid;
    grid-template-columns:1fr 1.55fr;
    border-bottom:1px solid var(--line);
  }
  .prompt{
    min-height:34px;
    padding:2px 3px;
  }
  .prompt + .prompt{border-left:1px solid var(--line)}
  .prompt .question{font-size:9px;color:#555;line-height:1.1}
  .prompt textarea{field-sizing:content;min-height:22px;resize:none}
  .permission{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    font-size:9.4px;
    line-height:1.23;
    margin:4px 0 5px;
  }
  .permission p{margin:0 0 5px}
  .sig-grid{
    display:grid;
    grid-template-columns:3fr 1fr;
    border-top:1px solid var(--line);
  }
  dialog canvas{
    border:1px dashed var(--navy);
  }
  .sig{
    min-height:33px;
    border-bottom:1px solid var(--line);
    padding:4px 3px;
    font-size:9px;
    color:#555;
  }
  .sig:nth-child(odd){border-right:1px solid var(--line)}
  .sig-instructions{display:flex;flex-direction:row; gap:8px; justify-content:space-between;flex-wrap:wrap;
  button{
    font-size:large;
    padding:8px;
  }}
  .footer{
    text-align:right;
    font-size:6.8px;
    color:#666;
    margin-top:5px;
  }
  .row-event1{grid-template-columns:2fr 1fr}
  .row-ward{grid-template-columns:1fr 1fr}
  .row-leader{grid-template-columns:1fr 1fr 1fr}
  .row-person{grid-template-columns:2fr 1fr 1fr}
  .row-phone{grid-template-columns:1fr 1fr}
  .row-address{grid-template-columns:2.2fr 1fr .65fr}
  .row-emergency{grid-template-columns:1fr 1.15fr 1.1fr}
  .tight .cell{min-height:27px}
  .no-right{border-right:0!important}
  .spacer{height:6px}
  .hidden-diag{display:none;};

input[type=text].plain, input[type=date].plain, input[type=tel].plain, input[type=email].plain, textarea.plain{
    border:1px solid black;
    width:auto;
    padding:4px;
    border-radius:var(--radius);
  }
  .signature-img{
    max-width:100vw;
  }
 
  @page{size:Letter portrait;margin:0}
  @media print{
    html,body{background:#fff}
    body{padding:0}
    .page{box-shadow:none;margin:0;width:8.5in;height:11in;min-height:11in}
  }
  table,tr,td,th .compact{
    white-space:nowrap;
    font-size:smaller;
    text-align:center;
  }
  fieldset{
    width:100%;
    border:none;
    padding:0;
    margin:0;
  }
input[type="checkbox"]:disabled {
  appearance:none;
  border:1px solid gray;
  border-radius:3px;  
  opacity: 1;            /* Prevents the default browser fade effect */
  cursor: not-allowed;   /* Keeps the visual cue that it is non-interactive */
  }
input[type="checkbox"]:disabled:checked {
    background-color:var(--navy); /* Set your desired color here */
  }
input[type="radio"]:disabled{appearance:none;
width:12px;height:12px;border-radius:50%;border:2px solid lightgray;
}
input[type="radio"]:disabled:checked {
  background-color:var(--navy);
}
fieldset:disabled{
 background-color:var(--light);
}
  @media(max-width:800px){
    .page,.halfpage{
      width:100%;
      padding-right:0px;
      padding-left:0px
    }

    .header{
     display:flex;
     flex-direction:column;
     height:fit-content;
     gap:10px;
     justify-content:space-around;
     padding:10px;
    }
    .header h1{
      font-size:15px;
    }
    
    .grid{
      display:block;
      width:100%;
    }
    
   .createNewEventForm{
    text-align:center;
   }
   .centered{
    width:100%;
    text-align:center;
   }
   dialog:modal{
    box-sizing:border-box;
    padding-right:0px;
    padding-left:0px;
    margin-left:0px;
    margin-right:0px;
    width:100vw;
    text-align:center;
    max-width:100%;
   }
   .sig-grid{
    grid-template-columns:1fr;
   }
  }