.elementor-8124 .elementor-element.elementor-element-8b8b02a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-8124 .elementor-element.elementor-element-a837a54{text-align:start;}.elementor-8124 .elementor-element.elementor-element-a837a54 img{width:50%;}.elementor-8124 .elementor-element.elementor-element-d2ab186{text-align:end;}.elementor-8124 .elementor-element.elementor-element-d2ab186 img{width:50%;}.elementor-8124 .elementor-element.elementor-element-6c0e66e{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-8124 .elementor-element.elementor-element-63255a2 > .elementor-widget-container{padding:0px 0px 0px 0px;}body.elementor-page-8124:not(.elementor-motion-effects-element-type-background), body.elementor-page-8124 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6EFDD;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-8124 .elementor-element.elementor-element-6c0e66e{--content-width:700px;}}@media(max-width:1024px){.elementor-8124 .elementor-element.elementor-element-a837a54{text-align:start;}.elementor-8124 .elementor-element.elementor-element-d2ab186{text-align:end;}}@media(max-width:767px){.elementor-8124 .elementor-element.elementor-element-8b8b02a{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-8124 .elementor-element.elementor-element-a837a54{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;text-align:start;}.elementor-8124 .elementor-element.elementor-element-d2ab186{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;text-align:end;}.elementor-8124 .elementor-element.elementor-element-63255a2{width:100%;max-width:100%;}.elementor-8124 .elementor-element.elementor-element-63255a2 > .elementor-widget-container{padding:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-c720856 *//* --- Ticket Base --- */
.osf-ticket {
  display: flex;
  background: #1b2d1b; /* Deep forest green */
  color: #ffffff;
  border-radius: 18px;
  margin-top: 0 !important;
  margin-bottom: 0 !important; /* Removed extra space */
  position: relative;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.2);
  overflow: hidden;

  /* Transparent notch mask */
  -webkit-mask-image: 
    radial-gradient(circle 13px at calc(100% - 150px) 0, transparent 99%, #000 100%),
    radial-gradient(circle 13px at calc(100% - 150px) 100%, transparent 99%, #000 100%);
  mask-image: 
    radial-gradient(circle 13px at calc(100% - 150px) 0, transparent 99%, #000 100%),
    radial-gradient(circle 13px at calc(100% - 150px) 100%, transparent 99%, #000 100%);

  -webkit-mask-composite: destination-in;
  mask-composite: intersect;
}

.osf-ticket-main {
  flex: 1;
  padding: 30px 28px;
  position: relative;
}

.osf-eyebrow {
  font-family: 'Montserrat', sans-serif;
  color: #72a372;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.osf-ticket h1 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 26px;
  margin: 8px 0 10px;
  color: #ffffff;
  line-height: 1.25;
}

.osf-ticket h1 em {
  color: #72a372;
  font-style: normal;
}

.osf-ticket p {
  font-family: 'Helvetica', 'Arial', sans-serif;
  font-size: 14px;
  color: #d1ded1;
  margin: 0 0 10px 0;
  line-height: 1.5;
}

.osf-ticket-fine {
  font-family: 'Helvetica', 'Arial', sans-serif;
  font-size: 12px;
  color: #a3b8a3;
}

.osf-ticket-fine strong {
  color: #ffffff;
}

/* --- Right Stub Section --- */
.osf-ticket-stub {
  width: 150px;
  flex-shrink: 0;
  background: #466a46; /* Brand green */
  border-left: 2px dashed rgba(255, 255, 255, 0.4);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px 10px;
  text-align: center;
  position: relative;
}

.osf-num {
  font-family: 'Montserrat', sans-serif;
  font-size: 44px;
  color: #ffffff;
  font-weight: 800;
  line-height: 1;
}

.osf-num-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.2px;
  color: #ffffff;
  margin-top: 6px;
  opacity: 0.9;
}

/* Mobile Alignment */
@media (max-width: 560px) {
  .osf-ticket {
    flex-direction: column;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .osf-ticket-stub {
    width: 100%;
    border-left: none;
    border-top: 2px dashed rgba(255, 255, 255, 0.4);
    padding: 16px;
    flex-direction: row;
    gap: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-63255a2 *//* ==========================================================================
   CONTACT FORM 7 — CLEAN & CONSISTENT SPACING
   ========================================================================== */

/* --- Base Layout --- */

.osf-page-wrap {
  max-width: 760px;
  margin: 0 auto;
  font-family: 'Helvetica', 'Arial', sans-serif;
  color: #000000;
  box-sizing: border-box;
}

.osf-page-wrap *,
.osf-page-wrap *::before,
.osf-page-wrap *::after {
  box-sizing: border-box;
}


/* ==========================================================================
   CARDS
   ========================================================================== */

.osf-card {
  background: #ffffff;
  border: 1.5px solid #e0e0e0;
  border-radius: 16px;
  padding: 22px 24px !important;
  margin: 0 0 16px 0 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.02);
  display: block !important;
}


/* ==========================================================================
   CF7 RESET
   ========================================================================== */

/* Remove default CF7 paragraph spacing */
.osf-card p,
.osf-card > p,
.osf-card .wpcf7-form-control-wrap p {
  margin: 0 !important;
  padding: 0 !important;
}

/* IMPORTANT: CF7 adds <br> after labels/fields. Remove to prevent gaps */
.osf-card br {
  display: none !important;
}


/* ==========================================================================
   CARD HEADER
   ========================================================================== */

.osf-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;

  border-bottom: 1px dashed #e0e0e0;

  padding-bottom: 9px !important;
  margin: 0 0 13px 0 !important;

  gap: 10px;
  flex-wrap: wrap;
}

.osf-card h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #000000;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 1.25 !important;
}

.osf-badge {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;

  color: #466a46;
  background: #EEF0E2;

  padding: 4px 10px;
  border-radius: 999px;

  letter-spacing: 0.7px;
  white-space: nowrap;
}


/* ==========================================================================
   QUESTION LABELS & SPACING
   ========================================================================== */

label.osf-lbl {
  display: block !important;

  font-family: 'Montserrat', sans-serif;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;

  color: #000000 !important;

  margin: 0 0 5px 0 !important;
  padding: 0 !important;
}

.req {
  color: #cc0000;
}


/* ==========================================================================
   FORM CONTROL WRAPPER
   ========================================================================== */

.wpcf7 .wpcf7-form-control-wrap {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* ==========================================================================
   PART 1 GRID
   ========================================================================== */

.osf-grid {
  display: grid !important;

  grid-template-columns: 1fr 1fr !important;

  column-gap: 14px !important;
  row-gap: 10px !important;

  margin: 0 0 10px 0 !important;
  padding: 0 !important;
}

.osf-full {
  grid-column: 1 / -1 !important;
}

/* Reset everything inside grid */
.osf-grid p,
.osf-grid .wpcf7-form-control-wrap {
  margin: 0 !important;
  padding: 0 !important;
}

/* Grid labels sit directly above their fields */
.osf-grid label.osf-lbl {
  font-size: 14px !important;
  margin: 0 0 5px 0 !important;
}


/* ==========================================================================
   TEXT INPUTS / SELECT
   ========================================================================== */

.osf-card input[type="text"],
.osf-card input[type="email"],
.osf-card input[type="tel"],
.osf-card input[type="number"],
.osf-card select {
  width: 100% !important;
  height: 38px !important;

  font-family: 'Helvetica', 'Arial', sans-serif !important;
  font-size: 14px !important;

  background: #ffffff !important;
  color: #000000 !important;

  border: 1.5px solid #466a46 !important;
  border-radius: 7px !important;

  padding: 7px 11px !important;
  margin: 0 !important;

  outline: none !important;
  box-shadow: none !important;
}


/* ==========================================================================
   SELECT
   ========================================================================== */

.osf-card select {
  appearance: none !important;
  -webkit-appearance: none !important;

  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' stroke='%23466a46' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;

  background-repeat: no-repeat !important;
  background-position: right 12px center !important;

  padding-right: 34px !important;
}


/* ==========================================================================
   TEXTAREA
   ========================================================================== */

.osf-card textarea {
  width: 100% !important;

  min-height: 78px !important;
  height: auto !important;

  font-family: 'Helvetica', 'Arial', sans-serif !important;
  font-size: 14px !important;

  background: #ffffff !important;
  color: #000000 !important;

  border: 1.5px solid #466a46 !important;
  border-radius: 7px !important;

  padding: 9px 11px !important;
  margin: 0 !important;

  resize: vertical !important;

  outline: none !important;
  box-shadow: none !important;
}


/* ==========================================================================
   FOCUS
   ========================================================================== */

.osf-card input:focus,
.osf-card select:focus,
.osf-card textarea:focus {
  border-color: #466a46 !important;
  box-shadow: 0 0 0 2px rgba(70,106,70,0.18) !important;
}


/* ==========================================================================
   CHECKBOX / RADIO QUESTION BLOCK
   ========================================================================== */

.osf-cf7-options {
  display: block !important;

  margin: 4px 0 10px 0 !important;
  padding: 0 !important;
}

/* Checkbox / radio grid */

.osf-cf7-options .wpcf7-checkbox,
.osf-cf7-options .wpcf7-radio {
  display: grid !important;

  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  column-gap: 8px !important;
  row-gap: 6px !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Individual option */

.osf-cf7-options .wpcf7-list-item {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Option label */

.osf-cf7-options .wpcf7-list-item label {
  display: flex !important;
  align-items: center !important;

  width: 100% !important;
  min-height: 36px !important;

  margin: 0 !important;
  padding: 7px 10px !important;

  gap: 7px !important;

  font-family: 'Helvetica', 'Arial', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;

  color: #222222 !important;

  background: #ffffff !important;

  border: 1.5px solid #466a46 !important;
  border-radius: 7px !important;

  cursor: pointer !important;

  transition:
    background 0.2s ease,
    border-color 0.2s ease !important;
}

.osf-cf7-options .wpcf7-list-item label:hover {
  background: #f4f7f4 !important;
}

/* Checkbox / radio input */

.osf-cf7-options input[type="checkbox"],
.osf-cf7-options input[type="radio"] {
  width: 14px !important;
  height: 14px !important;

  margin: 0 !important;
  padding: 0 !important;

  accent-color: #466a46 !important;

  cursor: pointer !important;

  flex: 0 0 14px !important;
}


/* ==========================================================================
   STRICT 10px QUESTION SPACING OVERRIDES
   ========================================================================== */

/* Push 10px bottom margin on containers so every question is spaced equally */
.osf-card .wpcf7-form-control-wrap,
.osf-card .osf-cf7-options,
.osf-card p {
  margin-bottom: 10px !important;
}

/* Remove label top margin and set tight bottom margin */
.osf-card label.osf-lbl {
  margin-top: 0 !important;
  margin-bottom: 5px !important;
}

/* First question immediately after header */
.osf-card-head + label.osf-lbl,
.osf-card-head + p label.osf-lbl,
.osf-card > label.osf-lbl:first-of-type,
.osf-card > p:first-of-type label.osf-lbl {
  margin-top: 0 !important;
}

/* Prevent double margins inside grid wrappers */
.osf-grid .wpcf7-form-control-wrap {
  margin-bottom: 0 !important;
}

/* Remove bottom margin on the final element of a card */
.osf-card > *:last-child,
.osf-card p:last-child,
.osf-card .wpcf7-form-control-wrap:last-child,
.osf-card .osf-cf7-options:last-child {
  margin-bottom: 0 !important;
}


/* ==========================================================================
   TERMS & CONDITIONS CHECKBOX STYLING
   ========================================================================== */

.osf-terms-wrap .wpcf7-acceptance label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-family: 'Helvetica', 'Arial', sans-serif !important;
  font-size: 12.5px !important;
  color: #ffffff !important;
  cursor: pointer !important;
}

.osf-terms-wrap input[type="checkbox"] {
  width: 15px !important;
  height: 15px !important;
  accent-color: #466a46 !important;
  margin: 0 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}


/* ==========================================================================
   SUBMIT CARD (FORCED DISPLAY & FULL SPECIFICITY)
   ========================================================================== */

div.osf-submit-card,
.osf-submit-card {
  background: #1b2d1b !important;
  color: #ffffff !important;

  border-radius: 16px !important;

  padding: 28px 24px !important;

  text-align: center !important;

  margin: 18px 0 0 0 !important;

  display: flex !important;
  flex-direction: column !important;

  align-items: center !important;
  justify-content: center !important;

  gap: 12px !important;

  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
}

.osf-submit-card p,
.osf-submit-card .wpcf7-form-control-wrap {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

.osf-submit-card div:first-child {
  font-family: 'Montserrat', sans-serif !important;

  font-size: 10px !important;
  font-weight: 700 !important;

  color: #a3d9a3 !important;

  text-transform: uppercase !important;

  letter-spacing: 1.5px !important;

  margin: 0 !important;
}

div.osf-submit-card input.wpcf7-submit,
.osf-submit-card .wpcf7-submit,
.osf-submit-btn {
  background: #466a46 !important;

  color: #ffffff !important;

  font-family: 'Montserrat', sans-serif !important;

  font-size: 13px !important;
  font-weight: 700 !important;

  text-transform: uppercase !important;

  letter-spacing: 0.8px !important;

  border: none !important;

  border-radius: 999px !important;

  padding: 13px 38px !important;

  cursor: pointer !important;

  width: auto !important;
  height: auto !important;

  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;

  margin: 0 auto !important;

  box-shadow: 0 4px 14px rgba(0,0,0,0.25) !important;

  transition:
    background 0.2s ease,
    transform 0.2s ease !important;
}

.osf-submit-card .wpcf7-submit:hover,
.osf-submit-btn:hover {
  background: #355235 !important;
  transform: translateY(-1px) !important;
}

.osf-submit-card p:last-child {
  font-size: 11px !important;

  color: #b5c7b5 !important;

  margin: 0 !important;

  line-height: 1.45 !important;

  max-width: 520px !important;
}

/* Hide CF7 spinner */

.wpcf7-spinner {
  display: none !important;
}


/* ==========================================================================
   TABLET / MOBILE
   ========================================================================== */

@media screen and (max-width: 1024px) {

  .osf-page-wrap {
    padding: 0 10px !important;
  }

  .osf-card {
    padding: 18px 16px !important;
    margin-bottom: 12px !important;
    border-radius: 13px !important;
  }

  .osf-card-head {
    margin-bottom: 11px !important;
  }

  .osf-grid {
    grid-template-columns: 1fr !important;
    row-gap: 10px !important;
  }

  .osf-cf7-options .wpcf7-checkbox,
  .osf-cf7-options .wpcf7-radio {
    grid-template-columns: 1fr !important;
    row-gap: 6px !important;
  }

  div.osf-submit-card,
  .osf-submit-card {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding: 25px 16px !important;
    margin-top: 15px !important;
    border-radius: 14px !important;
  }

  div.osf-submit-card input.wpcf7-submit,
  .osf-submit-card .wpcf7-submit,
  .osf-submit-btn {
    width: 100% !important;
    display: block !important;
    padding: 14px 16px !important;
  }
}/* End custom CSS */