/* Measurements copied from the Gravity Forms and Ultimate Addons styling these forms replace. */
.ad-site-form { margin: 0; width: 100%; font-size: 16px; line-height: 26px; }
.ad-site-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.ad-site-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 16px; }
.ad-site-field { min-width: 0; }
.ad-site-form input, .ad-site-form textarea { box-sizing: border-box; display: block; width: 100%; max-width: 100%; margin: 0; border: 0; box-shadow: none; -webkit-appearance: none; appearance: none; }
.ad-site-form input:focus, .ad-site-form textarea:focus { border: 0; outline: none; }
.ad-site-form input:focus-visible, .ad-site-form textarea:focus-visible, .ad-site-form button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.ad-site-form .ad-site-error:empty { display: none; }
.ad-site-error { display: block; margin-top: 8px; color: #c02b0a; font-size: 14px; line-height: 1.3; }
.ad-site-status:not(:empty) { margin-top: 24px; color: #c02b0a; font-size: 16px; line-height: 1.4; }
.ad-site-status:focus { outline: none; }
.ad-site-confirmation { color: #4d4e4e; }
.ad-site-confirmation a { color: #4d4e4e; text-decoration: underline; }
.ad-site-confirmation:focus { outline: none; }
.ad-site-trap { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.ad-site-form button[type=submit] { display: inline-block; box-sizing: border-box; margin: 0; background: #000; color: #fff; font-family: "NoahGrotesqueBold", sans-serif; text-transform: uppercase; cursor: pointer; box-shadow: none; transition: .25s all ease-in-out; }
.ad-site-form button[type=submit]:hover { opacity: .8; color: #fff; }
.ad-site-form button[type=submit]:disabled { opacity: .6; cursor: wait; }

/* Contact form */
.ad-site-form--contact .ad-site-field--company, .ad-site-form--contact .ad-site-field--location, .ad-site-form--contact .ad-site-field--message { grid-column: 1 / -1; }
.ad-site-form--contact { color: #112337; }
.ad-site-form--contact .ad-site-label { position: relative; display: table; float: none; width: auto; margin: 0 0 8px; padding: 0; font-family: "NoahGrotesqueBold", sans-serif; font-size: 18px; font-weight: 700; line-height: 1; letter-spacing: .05em; text-transform: uppercase; }
.ad-site-form--contact legend.ad-site-label { float: left; }
.ad-site-required { position: absolute; left: calc(100% + 6px); top: -4px; color: #790000; font-size: 30px; font-weight: 500; line-height: 1; letter-spacing: 0; }
.ad-site-form--contact input, .ad-site-form--contact textarea { border-radius: 3px; background: #d9d9d9; color: inherit; font-family: inherit; font-size: 18px; font-weight: 400; }
.ad-site-form--contact input { height: 50px; padding: 0 12px; line-height: 38px; }
.ad-site-form--contact textarea { height: 130px; padding: 12px; line-height: 1.5; resize: vertical; }
.ad-site-split { clear: both; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ad-site-sub { display: block; min-width: 0; }
.ad-site-sublabel { display: block; margin: 8px 0 0; color: #000; font-size: 16px; line-height: 1.43; }
.ad-site-form--contact .ad-site-actions { margin-top: 40px; }
.ad-site-form--contact button[type=submit] { width: 100%; padding: 24px; border: 1px solid transparent; border-radius: 3px; font-size: 30px; font-weight: 500; line-height: 1; letter-spacing: .05em; }

/* Newsletter form */
.ad-site-form--newsletter .ad-site-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 16px; }
.ad-site-form--newsletter .ad-site-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ad-site-form--newsletter input { height: auto; margin: 10px 0 15px; padding: 24px 15px; border-radius: 0; background: #fff; color: #000; font-family: "NoahGrotesqueBold", sans-serif; font-size: 14px; font-weight: 400; line-height: 18.2px; text-transform: uppercase; }
.ad-site-form--newsletter input::placeholder { color: #747474; opacity: 1; }
.ad-site-form--newsletter .ad-site-error { margin: -7px 0 8px; }
.ad-site-form--newsletter .ad-site-actions { text-align: right; }
.ad-site-form--newsletter button[type=submit] { margin-top: 16px; padding: 24px 64px; border: 1px solid #000; border-radius: 0; font-size: 18px; font-weight: 700; line-height: 1; letter-spacing: .1em; }

/* Gravity Forms stacks its fields below 640px; the theme closes the newsletter gaps and widens its button at 400px. */
@media (max-width: 639px) {
  .ad-site-fields, .ad-site-form--newsletter .ad-site-fields, .ad-site-split { grid-template-columns: minmax(0, 1fr); }
  .ad-site-form--newsletter .ad-site-fields { row-gap: 40px; }
}
@media (max-width: 400px) {
  .ad-site-form--newsletter .ad-site-fields { row-gap: 0; }
  .ad-site-form--newsletter button[type=submit] { width: 100%; }
}
