form#contactForm{background-image:url(/img/send.svg);background-size:50%;background-position:bottom right;background-repeat:no-repeat}form#contactForm.hidden{display:none}form#contactForm label{display:block;margin-bottom:2ex;font-size:.875rem;color:var(--text-medium)}form#contactForm input,form#contactForm textarea{font-family:"Josefin Sans",sans-serif;display:block;border:solid 1px var(--light);border-radius:4px;padding:2ex 2ch;width:100%;background:0 0;resize:vertical;outline:0}form#contactForm input+.error,form#contactForm textarea+.error{display:none;color:var(--error);margin-top:1ex}form#contactForm input+.error:before,form#contactForm textarea+.error:before{content:"Error: ";font-weight:500}form#contactForm input:hover,form#contactForm textarea:hover{border-style:dotted;border-color:var(--accent)}form#contactForm input:focus-visible,form#contactForm textarea:focus-visible{border-style:solid;border-color:var(--accent)}form#contactForm input:invalid,form#contactForm textarea:invalid{border-left:solid 5px var(--error)}form#contactForm input:invalid.touched+.error,form#contactForm textarea:invalid.touched+.error{display:block}form#contactForm input:valid,form#contactForm textarea:valid{border-left:solid 5px var(--tertiary)}form#contactForm .actions{text-align:center}form#contactForm button{display:block;background:var(--primary);color:#fff;border:none;padding:3ex 0;box-shadow:2px 2px 2px var(--light);clip-path:polygon(0 0,85% 0,100% 50%,85% 100%,0 100%,15% 50%);shape-outside:polygon(0 0,85% 0,100% 50%,85% 100%,0 100%);transition:all 250ms ease-in-out;margin:0 auto;width:250px}form#contactForm button:not(:disabled):focus-visible,form#contactForm button:not(:disabled):hover{cursor:pointer;background:var(--tertiary);color:var(--text-dark);border:none}form#contactForm button:disabled{background:var(--light);color:var(--text-dark);border-color:transparent}.message{font-weight:300;text-align:center;display:none}.message.visible{display:block}.success{text-align:center}.success h3{color:var(--success)}.error{color:var(--error-text)}.error.form-error{border:solid 1px var(--error);padding:1rem;margin-top:1rem}.error.form-error ul{list-style-type:disc}.error.form-error li{display:list-item}#contact-submit-error,#contact-submit-failed,#contact-submit-success{display:none}#contact-submit-error.visible,#contact-submit-failed.visible,#contact-submit-success.visible{display:block}