/* Coast Breakz forms: live's table.form look on the Divi contact form module (desktop geometry from 1170px; the stacked tablet and phone form is in cb-mobile.css).
   Live form table cells: th 100px + 5px/10px padding, td 5px 20px 5px 5px, inputs 236x34 (1px #e1e1e1), textarea 609x98, required star on the td. */
body.cb-site #page-container .cb-contact-form { margin: 15px 0; padding: 0; background: none; width: auto; max-width: none; }
body.cb-site #page-container .cb-contact-form .et_pb_contact { padding: 0; }
body.cb-site #page-container .cb-contact-form form.et_pb_contact_form { margin: 0; padding: 0; background: none; }
body.cb-site #page-container .cb-contact-form p.et_pb_contact_field { margin: 0; padding: 0; width: auto; float: none; }
body.cb-site #page-container .cb-contact-form .et_pb_contact_form_label {
  display: block; box-sizing: border-box; min-height: 47px; margin: 0; padding: 5px 10px 5px 5px; background: none; color: #000000; text-align: right;
  font: 400 15px/37px 'ProximaNovaRgRegular', Arial, Helvetica, sans-serif; text-transform: none; letter-spacing: normal; }
body.cb-site #page-container .content.bottom .cb-contact-form .et_pb_contact_form_label { color: #333333; }
body.cb-site #page-container .cb-contact-form .et_pb_contact_field input.input,
body.cb-site #page-container .cb-contact-form .et_pb_contact_field textarea.input {
  display: block; box-sizing: border-box; margin: 5px 20px 5px 5px; width: 236px; height: 34px; padding: 8px 15px; border: 1px solid #e1e1e1; border-radius: 0;
  background: #ffffff; box-shadow: none; font: 400 15px/normal 'ProximaNovaRgRegular', Helvetica, sans-serif; color: #666666; }
body.cb-site #page-container .cb-contact-form .et_pb_contact_field textarea.input { width: 609px; height: 98px; min-height: 0; resize: vertical; }
body.cb-site #page-container .cb-contact-form .et_pb_contact_field .input::placeholder { color: transparent; }
body.cb-site #page-container .cb-contact-form .et_contact_bottom_container { float: none; margin: 0; text-align: left; }
body.cb-site #page-container .cb-contact-form .et_pb_contact_right { float: none; width: auto; text-align: left; }
body.cb-site #page-container .cb-contact-form .et_pb_contact_right p.clearfix {
  position: relative; box-sizing: border-box; margin: 0; padding: 5px 20px 5px 120px; min-height: 47px; float: none; text-align: left;
  font: 400 15px/34px 'ProximaNovaRgRegular', Arial, Helvetica, sans-serif; color: #333333; }
body.cb-site #page-container .cb-contact-form .et_pb_contact_right p.clearfix::before {
  content: "Verification"; position: absolute; left: 0; top: 0; width: 115px; height: 47px; box-sizing: border-box; padding: 5px 10px 5px 5px; text-align: right;
  font: 400 15px/37px 'ProximaNovaRgRegular', Arial, Helvetica, sans-serif; color: #333333; }
body.cb-site #page-container .cb-contact-form .et_pb_contact_right p.clearfix::after { display: none; }
body.cb-site #page-container .cb-contact-form .et_pb_contact_captcha_question { font: 400 15px/34px 'ProximaNovaRgRegular', Arial, Helvetica, sans-serif; color: #333333; }
body.cb-site #page-container .cb-contact-form input.et_pb_contact_captcha {
  display: inline-block; box-sizing: border-box; width: 60px; height: 34px; margin: 0 0 0 10px; padding: 8px 15px; border: 1px solid #e1e1e1; border-radius: 0; background: #ffffff;
  font: 400 15px/normal 'ProximaNovaRgRegular', Helvetica, sans-serif; color: #666666; vertical-align: top; }
/* the submit is live's input.button: 40px high, padding 0 25px, 18px bold caps with 2px tracking, 5px radius, #f72626 and #ffcd00 on hover (#1a1a1a inside .container.main) */
html body.cb-site #page-container .cb-contact-form .et_pb_contact_submit.et_pb_button,
html body #page-container .et_pb_section .cb-contact-form.et_pb_contact_form_container.et_pb_module .et_pb_button {
  display: inline-block; box-sizing: border-box; width: auto; height: 40px; margin: 5px 20px 0 0; padding: 0 25px !important; border: 0 !important; border-radius: 5px !important;
  background: #f72626 !important; color: #ffffff !important; font: 700 18px/40px 'ProximaNovaRgBold', Arial, Helvetica, sans-serif !important;
  text-transform: uppercase; letter-spacing: 2px !important; text-align: center; cursor: pointer; transition: all 1s; }
html body #page-container .et_pb_section .cb-contact-form.et_pb_contact_form_container.et_pb_module .et_pb_button:hover { background: #ffcd00 !important; padding: 0 25px !important; }
html body #page-container .et_pb_section .container.main .cb-contact-form.et_pb_contact_form_container.et_pb_module .et_pb_button:hover { background: #1a1a1a !important; }
html body #page-container .et_pb_section .cb-contact-form.et_pb_contact_form_container.et_pb_module .et_pb_button::after { display: none !important; }
/* "Required fields": live's em.required inside the form table; the page keeps its own paragraph for the text parity, shown here by the form */
body.cb-site #page-container .cb-contact-form + p.ils-required-note { display: none; }
body.cb-site #page-container .cb-contact-form form.et_pb_contact_form::after {
  content: "Required fields"; display: block; visibility: visible; height: auto; clear: none; box-sizing: border-box; text-align: right;
  font: 400 11px/22px 'ProximaNovaRgRegular', Helvetica, sans-serif; font-style: normal; color: #333333; padding-right: 20px; margin: 0 20px 0 5px;
  background: url(/wp-content/uploads/ilaunch/skin/images/icon-required.png) no-repeat right center; }
/* required star: live paints it on the td at right 7px */
body.cb-site #page-container .cb-contact-form p.et_pb_contact_field:has(> [data-required_mark="required"])::after {
  content: ""; display: block; width: 16px; height: 16px; margin-top: 7px; justify-self: end; align-self: start; background: url(/wp-content/uploads/ilaunch/skin/images/icon-required.png) no-repeat; }
body.cb-site #page-container .cb-contact-form:not(:has(form)) { width: auto; max-width: none; margin-left: 0; margin-right: 0; }
/* the unsubscribe form has no "Required fields" line on live */
body.cb-site #page-container .cb-contact-form form.et_pb_contact_form:not(:has(.et_pb_contact_field_1))::after { display: none; }

@media (min-width: 1170px) {
  body.cb-site #page-container .cb-contact-form form.et_pb_contact_form { display: grid; }
  body.cb-site #page-container .cb-contact-form p.et_pb_contact_field,
  body.cb-site #page-container .cb-contact-form .et_contact_bottom_container,
  body.cb-site #page-container .cb-contact-form .et_pb_contact_right,
  body.cb-site #page-container .cb-contact-form .et_pb_contact { display: contents; }

  /* contact and reviews: 3 label and field pairs, the message under them, captcha beside the message, submit then the note */
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form.et_pb_contact_form:has(.et_pb_contact_field_3) {
    width: 1170px; grid-template-columns: 100px 261px 114px 261px 105px 329px; grid-template-rows: minmax(47px, auto) 114px 45px 27px; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form.et_pb_contact_form:has([data-id="Location"]) { grid-template-columns: 102px 261px 114px 261px 103px 329px; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form .et_pb_contact_field_0 > label { grid-area: 1 / 1; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form .et_pb_contact_field_0 > .input { grid-area: 1 / 2; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form .et_pb_contact_field_0::after { grid-area: 1 / 2; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form .et_pb_contact_field_1 > label { grid-area: 1 / 3; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form .et_pb_contact_field_1 > .input { grid-area: 1 / 4; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form .et_pb_contact_field_1::after { grid-area: 1 / 4; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form .et_pb_contact_field_2 > label { grid-area: 1 / 5; padding-left: 15px; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form .et_pb_contact_field_2 > .input { grid-area: 1 / 6; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form .et_pb_contact_field_2::after { grid-area: 1 / 6; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form .et_pb_contact_field_3 > label { grid-area: 2 / 1; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form .et_pb_contact_field_3 > .input { grid-area: 2 / 2 / 3 / 5; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form .et_pb_contact_field_3::after { grid-area: 2 / 2 / 3 / 5; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form:has(.et_pb_contact_field_3) .et_pb_contact_right p.clearfix { grid-area: 2 / 5 / 3 / 7; padding-left: 105px; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form:has(.et_pb_contact_field_3) .et_pb_contact_right p.clearfix::before { width: 105px; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form.et_pb_contact_form:has([data-id="Location"]) .et_pb_contact_right p.clearfix { padding-left: 103px; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form.et_pb_contact_form:has([data-id="Location"]) .et_pb_contact_right p.clearfix::before { width: 103px; }
  html body.cb-site:not(.cb-property) #page-container .et_pb_section .cb-contact-form.et_pb_contact_form_container.et_pb_module:has(.et_pb_contact_field_3) .et_pb_contact_submit.et_pb_button { grid-area: 3 / 1 / 4 / 7; justify-self: end; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form:has(.et_pb_contact_field_3)::after { grid-area: 4 / 1 / 5 / 7; }

  /* property enquiry: one 489px column, a 47px caption row then the field row, captcha caption and field, submit, note */
  body.cb-site.cb-property #page-container .cb-contact-form form.et_pb_contact_form {
    width: 489px; grid-template-columns: 489px; grid-template-rows: 47px 46px 47px 46px 47px 46px 47px 116px auto 50px 26px; }
  body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_form_label {
    height: 47px; text-align: left; font-weight: 700; text-transform: uppercase; color: #333333; }
  body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field input.input { width: 459px; height: 36px; margin: 5px 25px 5px 5px; border: 2px solid #bbbbbb; }
  body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field textarea.input { width: 464px; height: 100px; margin: 5px 20px 11px 5px; border: 2px solid #bbbbbb; }
  body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field_0 > label { grid-area: 1 / 1; }
  body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field_0 > .input, body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field_0::after { grid-area: 2 / 1; }
  body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field_1 > label { grid-area: 3 / 1; }
  body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field_1 > .input, body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field_1::after { grid-area: 4 / 1; }
  body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field_2 > label { grid-area: 5 / 1; }
  body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field_2 > .input, body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field_2::after { grid-area: 6 / 1; }
  body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field_3 > label { grid-area: 7 / 1; }
  body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field_3 > .input, body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_field_3::after { grid-area: 8 / 1; }
  body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_right p.clearfix { grid-area: 9 / 1; padding: 0 20px 5px 5px; min-height: 135px; box-sizing: border-box; }
  body.cb-site.cb-property #page-container .cb-contact-form .et_pb_contact_right p.clearfix::before {
    position: static; display: block; width: auto; height: 47px; margin: 0 -20px 0 -5px; padding: 5px 10px 5px 5px; text-align: left; font-weight: 700; text-transform: uppercase; content: "CAPTCHA Verification"; }
  html body.cb-site.cb-property #page-container .et_pb_section .cb-contact-form.et_pb_contact_form_container.et_pb_module .et_pb_contact_submit.et_pb_button { grid-area: 10 / 1; justify-self: start; margin: 5px 0 5px 5px; }
  body.cb-site.cb-property #page-container .cb-contact-form form.et_pb_contact_form::after { content: "Required Fields"; grid-area: 11 / 1; text-align: right; margin: 5px 0 5px 5px; padding: 0 20px 0 0; line-height: 16px; background-position: right center; }

  /* win (2 fields): th 115 + td 261, captcha as its own row (the form sits beside a 600px floated photo, so a wider grid would drop below it);
     unsubscribe (1 field): th 115 + td 261 with the captcha in the free space to their right so the page keeps live's height */
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form.et_pb_contact_form:has(.et_pb_contact_field_1):not(:has(.et_pb_contact_field_2)) {
    width: 376px; grid-template-columns: 115px 261px; grid-template-rows: 47px 47px 47px 72px; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form.et_pb_contact_form:not(:has(.et_pb_contact_field_1)) {
    width: 756px; grid-template-columns: 115px 261px 115px 261px; grid-template-rows: 47px 50px; padding: 2px; column-gap: 2px; row-gap: 2px; box-sizing: content-box; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form:not(:has(.et_pb_contact_field_2)) .et_pb_contact_field_0 > label { grid-area: 1 / 1; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form:not(:has(.et_pb_contact_field_2)) .et_pb_contact_field_0 > .input { grid-area: 1 / 2; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form:not(:has(.et_pb_contact_field_2)) .et_pb_contact_field_0::after { grid-area: 1 / 2; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form:has(.et_pb_contact_field_1):not(:has(.et_pb_contact_field_2)) .et_pb_contact_field_1 > label { grid-area: 2 / 1; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form:has(.et_pb_contact_field_1):not(:has(.et_pb_contact_field_2)) .et_pb_contact_field_1 > .input { grid-area: 2 / 2; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form:has(.et_pb_contact_field_1):not(:has(.et_pb_contact_field_2)) .et_pb_contact_field_1::after { grid-area: 2 / 2; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form:has(.et_pb_contact_field_1):not(:has(.et_pb_contact_field_2)) .et_pb_contact_right p.clearfix { grid-area: 3 / 1 / 4 / 3; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form:not(:has(.et_pb_contact_field_1)) .et_pb_contact_right p.clearfix { grid-area: 1 / 3 / 2 / 5; }
  html body.cb-site:not(.cb-property) #page-container .et_pb_section .cb-contact-form.et_pb_contact_form_container.et_pb_module:has(.et_pb_contact_field_1):not(:has(.et_pb_contact_field_2)) .et_pb_contact_submit.et_pb_button { grid-area: 4 / 2; justify-self: start; align-self: start; margin: 5px 0 0 5px; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form:has(.et_pb_contact_field_1):not(:has(.et_pb_contact_field_2))::after { grid-area: 4 / 2; align-self: end; margin: 0 20px 5px 5px; }
  html body.cb-site:not(.cb-property) #page-container .et_pb_section .cb-contact-form.et_pb_contact_form_container.et_pb_module:not(:has(.et_pb_contact_field_1)) .et_pb_contact_submit.et_pb_button { grid-area: 2 / 2; justify-self: start; margin: 5px 0 0 5px; }
  body.cb-site:not(.cb-property) #page-container .cb-contact-form form:not(:has(.et_pb_contact_field_2))::after { text-align: left; color: #979797; }
}
