/* Keep the canvas typography identical to the standalone OLS preview.
   The7 assigns font families directly to headings and controls, so setting
   only the body font does not override them. The toolbar is left untouched. */
@font-face {
  font-family: "OLS Mulish";
  src: url("assets/mulish.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
}
body.ols-canvas {
  font-family: "OLS Mulish", Mulish, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  font-style: normal;
  color: var(--ink);
  background: var(--paper);
}
body.ols-canvas .ols-shell,
body.ols-canvas .site-header,
body.ols-canvas .site-footer,
body.ols-canvas .utility,
body.ols-canvas .skip,
body.ols-canvas .ols-persistent-apply,
body.ols-canvas .ols-shell :is(h1,h2,h3,h4,h5,h6,p,figcaption,summary,button,input,select,textarea),
body.ols-canvas .ols-shell :is(.btn,.text-link,.eyebrow,.quick-item,.stage-link,.photo-note),
body.ols-canvas .site-header :is(a,summary,button),
body.ols-canvas .site-footer :is(a,p),
body.ols-canvas .utility a {
  font-family: "OLS Mulish", Mulish, Arial, sans-serif !important;
  font-synthesis: none;
}
body.ols-canvas .ols-shell h1,
body.ols-canvas .ols-shell h2,
body.ols-canvas .ols-shell h3,
body.ols-canvas .ols-shell h4,
body.ols-canvas .ols-shell h5,
body.ols-canvas .ols-shell h6 {
  font-style: normal;
}
body.ols-canvas.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
  body.ols-canvas.admin-bar .site-header { top: 46px; }
}
@media (max-width: 600px) {
  body.ols-canvas.admin-bar .site-header { top: 0; }
}

/* Shared OLS footer remains visible when the parent theme has page-specific footer rules. */
body.ols-canvas > .ols-site-footer { display: block !important; clear: both; position: relative; width: 100%; visibility: visible; opacity: 1; }

/* The OLS opening section meets the header on desktop as well as mobile. */
body.ols-canvas > #main.ols-shell { margin-top: 0 !important; padding-top: 0 !important; }
/* Retain the existing mobile row and canvas reset. */
@media (max-width: 980px) {
  body.ols-canvas > #main.ols-shell { margin: 0 !important; padding: 0 !important; }
  body.ols-canvas > #main.ols-shell > .vc_row:first-child,
  body.ols-canvas > #main.ols-shell > .vc_row:first-child > .vc_column_container > .vc_column-inner { margin-top: 0 !important; padding-top: 0 !important; }
}

/* Scope presentation changes to the selected application page. Gravity Forms
   continues to own fields, conditional visibility, validation and submissions. */
body.ols-canvas > #main.ols-application{padding:0!important;margin:0!important}
.ols-application .gform_wrapper,.ols-application .gform_confirmation_wrapper{box-sizing:border-box;width:calc(100% - 96px);max-width:1184px;margin:48px auto 64px;padding:38px 40px;background:#fff;border:1px solid #d9dbe5;border-radius:10px;color:#242441}
.ols-application .gform_wrapper.gform-theme{--gf-color-primary:#303083!important;--gf-color-primary-rgb:48,48,131!important;--gf-color-primary-darker:#20205e!important;--gf-color-primary-lighter:#e7f1f6!important;--gf-color-in-ctrl-primary:#303083!important;--gf-ctrl-btn-bg-color-primary:#303083!important;--gf-ctrl-btn-bg-color-hover-primary:#20205e!important;--gf-ctrl-btn-color-primary:#fff!important;--gf-ctrl-label-color-primary:#303083!important;--gf-ctrl-label-font-size-primary:15px!important;--gf-ctrl-label-font-weight-primary:750!important;--gf-ctrl-radius:6px!important;--gf-radius:6px!important;--gf-font-size-primary:16px!important;--gf-field-gap-y:25px!important}
.ols-application .gform_wrapper :is(input,select,textarea,button,label,legend,.gfield_description,.gfield_list_group){font-family:"OLS Mulish",Mulish,Arial,sans-serif!important;letter-spacing:normal}
.ols-application .gform_wrapper .gsection{padding:19px 23px;background:#e7f1f6;border:0;border-left:4px solid #ce8443;border-radius:0 6px 6px 0;margin-top:22px}
.ols-application .gform_wrapper .gsection:first-child{margin-top:0}
.ols-application .gform_wrapper .gsection_title{font-size:23px!important;line-height:1.45!important;letter-spacing:-.02em;font-weight:800;color:#303083;margin:0}
.ols-application .gform_wrapper :is(.gfield_label,.gform-field-label){white-space:normal;line-height:1.6}
.ols-application .gform_wrapper :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=file]),select,textarea){min-height:48px;font-size:16px;line-height:1.5;border-radius:6px;border:1px solid #bdc3d2;background:#fff;color:#242441;padding:11px 13px;box-shadow:none}
.ols-application .gform_wrapper :is(input,select,textarea):focus-visible{outline:2px solid #ce8443;outline-offset:2px}
.ols-application .gform_wrapper :is(input[type=checkbox],input[type=radio]){accent-color:#303083}
.ols-application .gform_wrapper .gfield_error :is(input:not([type=hidden]),select,textarea){border-color:#b3261e}
.ols-application .gform_wrapper :is(.gfield_description,.ginput_complex label){font-size:13px;line-height:1.65}
.ols-application .gform_wrapper :is(.gform_footer,.gform_page_footer){border-top:1px solid #d9dbe5;padding-top:26px;margin-top:30px;gap:15px}
.ols-application .gform_wrapper :is(.gform_button,.gform_next_button,.gform_previous_button){font-size:15px!important;font-weight:800!important;min-height:50px;padding:13px 28px!important;border-radius:5px!important;background:#303083!important;color:#fff!important;border:1px solid #303083!important;line-height:1.4!important}
.ols-application .gform_wrapper .gform_previous_button{background:#fff!important;color:#303083!important}
.ols-application .gform_wrapper :is(.gptos_terms_container,.gwtos_terms_container){width:100%!important;height:auto!important;min-height:150px;max-height:320px;overflow:auto;border:1px solid #c7ccd9;border-radius:6px;background:#f8f7f2;font-size:14px;line-height:1.75}
.ols-application .gform_wrapper .gptos_input_container{margin-top:16px}
.ols-application .gform_wrapper .gfield_list{max-width:100%;overflow-x:auto}
@media(max-width:980px){.ols-application .gform_wrapper,.ols-application .gform_confirmation_wrapper{width:calc(100% - 64px);padding:30px}}
@media(max-width:640px){.ols-application .gform_wrapper,.ols-application .gform_confirmation_wrapper{width:calc(100% - 30px);padding:23px 18px;margin:25px auto 40px}.ols-application .gform_wrapper .gfield{grid-column:1 / -1}.ols-application .gform_wrapper .gsection{padding:15px 16px}.ols-application .gform_wrapper .gsection_title{font-size:20px!important}.ols-application .gform_wrapper :is(.gform_button,.gform_next_button,.gform_previous_button){width:100%}}
