/*          Additional styles for contact forms - HTML5 & CSS3
                              ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
*/
/* ------------------------------------------------------------------------------------------------ Variables -- */
:root {
    --max-char: 80ch ;
}
/* ============================================================================================ Document-wide == */
nav+article {
    float: none ; position: static ; display: block ;
    max-width: none ; margin: 3ex auto 0 auto ; overflow: hidden ;
}
  article h2 { display: none ; }
  figure, section, figure+section, aside { width: 85ch ; max-width: none ; } /* To match cols in html */
  figure, section, figure+section, aside {
      float: none ; position: static ; display: block ; margin: 0 auto 0 auto ; 
  }
  figure+section { clear: left ; padding-top: 3ex ; }
    figure img {
        float: right ; width: auto ; height: 160px ;
        margin: 10px 0 3ex 30px  ; border: 1px solid var(--altVeryLight) ; cursor: pointer ;
    }
    figure img:last-child { margin-left: -1ch ; }

    section h3 { margin: 10px 0 140px 2ch ; }

form {
    position: relative ; clear: both ; float: right ; border-top: 2px solid var(--altMid-dark) ; padding: 3ex 3ch 3ex 3ch ; 
    background: white ; color: black ;
}
  fieldset { clear: right ; float: right ; margin: 0 ; padding: 0 ; }
    form label { clear: right ; margin: 0 1ch 0 0 ; }
      section form ul:not(.Paragraphed) { border: none ; margin: 1ex 0 0 0 ; background: transparent ; list-style: none ; }
        form fieldset ul:not(.Paragraphed) li::before { content: none ; }
        form li { float: left ; clear: both ; margin: 0.8ex 0 1ex 0 ; }
          form ul li :is(a, a:hover, a:visited) { font-size: 110% ; }
    input { margin: 1ex 0 0 0 ; }
    input[type="radio"] { position: relative ; top: 0.2ex ; margin: 0 1ch 0 0 ; }

  /* Lots of px dimensions for reCAPTCHA */
  #final { padding: 0 0 1.5ex 0 ; margin: 4ex 0 3rem 0 ; }
    .g-recaptcha, #buttons { position: absolute ; top: 0 ; display: inline-block ; }
    #final, .g-recaptcha, #buttons, .g-recaptcha div, .g-recaptcha iframe { height: 62px ; overflow: hidden ; }
    #final, .g-recaptcha, .g-recaptcha div, .g-recaptcha iframe {
        position: relative ; top: 0 ; right: 0 ; visibility: visible ; width: 300px ; z-index: 0 ; background: #f9f9f9 ; 
    }
  div.rc-anchor-pt, div.rc-anchor-classic-warning { display: none ; }
	div.rc-anchor-classic-warning div { display: none ; }
      #buttons {
          position: absolute ; right: 0 ; width: 70px ; z-index: 1 ;
          border-top: 1px solid var(--altVeryLight) ; background: #f9f9f9 ; padding: 20px 0 40px 0 ;
      }
        input[type="reset"] { display: none ; margin: 3ex 16ch 0 0 ; }
        input[type="submit"] { border: 2px outset var(--altMid-light) ; padding: 0.2ex ; }

  article form > footer {
      float: none ; max-width: 72ch ; border-top: 1px solid var(--altMid-dark) ; padding: 0 ; margin: 0 auto 0 auto ;
      text-align: left ; font-size: 95% ; background: transparent ;
  }
    form footer ul { }
      form footer li {
          float: inherit ; margin: 0 0 3ex 3ch ; display: none ;
          text-indent: -2.5ch ; line-height: 120% ;
      }
      form footer #reCaptchaMsg, form footer #snailmail { display: list-item ; }
        form footer strong samp { font-size: 120% ; }

  #copyright { display: none ; }
