/* Juran ACF theme additions: inline SVG icons (Font Awesome removed), converted-content helpers. */
.x-framework-icon svg { width: 1em; height: 1em; vertical-align: -0.125em; fill: currentColor; }
.x-btn-navbar .x-icon-bars svg { width: 1em; height: 1em; }
.x-framework-icon { justify-content: center; }
.x-framework-icon > svg { flex: 0 0 auto; }
.x-framework-icon.x-icon-angle-right { width: .725em; }
.x-framework-icon.x-icon-angle-up    { width: .875em; }
.x-framework-icon.x-icon-arrow-left  { width: .975em; }
.x-framework-icon.x-icon-arrow-right { width: .975em; }
.x-framework-icon.x-icon-bars        { width: .875em; }
.x-framework-icon.x-icon-bookmark    { width: .75em; }
.x-framework-icon.x-icon-calendar    { width: .875em; }
.x-framework-icon.x-icon-comments    { width: 1.25em; }
.x-framework-icon.x-icon-home        { width: 1.125em; }
.x-framework-icon.x-icon-pencil      { width: 1em; }
.x-framework-icon.x-icon-search      { width: 1.0737em; }
.x-searchform-overlay { display: none; }
.x-searchform-overlay.x-active { display: block; }
.fc-video-embed { position: relative; padding-bottom: 56.25%; height: 0; margin: 1.5em 0; }
.fc-video-embed iframe, .fc-video-embed video, .fc-video-embed object { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.fc-oembed { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; margin: 0; }
.fc-oembed > iframe, .fc-oembed > video, .fc-oembed > object, .fc-oembed > embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; display: block; }
.fc-stat strong { font-size: 2em; display: block; }
/* Converted Cornerstone content (see wp-rebuild/convert.php) */
.fc-cols { display: flex; flex-wrap: wrap; gap: 0 4%; }
.fc-col { flex: 1 1 100%; min-width: 0; }
@media (min-width: 768px) {
  .fc-col--1-2 { flex-basis: 48%; }
  .fc-col--1-3 { flex-basis: 30.66%; }
  .fc-col--2-3 { flex-basis: 65.33%; }
  .fc-col--1-4 { flex-basis: 22%; }
  .fc-col--3-4 { flex-basis: 74%; }
}
.fc-level { margin: 1.5em 0; }
.fc-level__label { display: block; font-weight: 700; text-transform: uppercase; font-size: 0.75em; letter-spacing: 0.05em; margin-bottom: 0.4em; }
.fc-level__track { display: block; background: #e6e6e6; height: 1.8em; overflow: hidden; }
.fc-level__bar { display: block; height: 100%; background: #ff8f1c; color: #fff; font-size: 0.7em; line-height: 2.6em; padding: 0; text-indent: 0.8em; font-weight: 700; white-space: nowrap; }
.fc-feature-list { list-style: none; margin: 1.5em 0; padding: 0; }
.fc-feature-list__item:not(.x-feature-box) { position: relative; padding-left: 3em; margin-bottom: 1.25em; }
.fc-feature-list__title { position: absolute; left: 0; top: 0; width: 2.2em; height: 2.2em; border-radius: 50%; background: #231460; color: #fff; text-align: center; line-height: 2.2em; font-size: 0.9em; }
.fc-tabs__title { margin: 1.5em 0 0.5em; padding-bottom: 0.3em; border-bottom: 2px solid #231460; }
.fc-tabs .x-tab-pane p { font-size: 15px; line-height: 1.7; margin-bottom: 1.313em; }

.hero .x-container h1.hero__title--white { color: #fff !important; font-size: 42px; }
@media only screen and (max-width: 1200px) {
  .hero .x-container h1.hero__title--white { font-size: 36px; }
}
@media only screen and (max-width: 768px) {
  .hero .x-container h1.hero__title--white { color: #23145f !important; }
}

.fc-full-width-text__column:has(> .content-strip__text > .fc-cols) { width: 100% !important; }
@media only screen and (min-width: 769px) {
  .hero:has(h1.hero__title--white) .hero__background { background-position: 50% 50%; background-repeat: no-repeat; }
}
.hero .x-container h1.hero__title--white { line-height: 1.3; margin-bottom: 60px; }
.hero .x-container h1.hero__title--white::after { background-color: #ff9010; top: auto; bottom: -30px; }
@media only screen and (min-width: 769px) {
  .hero--ttl .hero__background { background-position: 50% 50%; }
}

.x-skill-bar > .bar, .fc-level__bar { transition: width 1.2s cubic-bezier(.25,.8,.25,1); }
.x-navbar .desktop .x-nav li > a > span .x-framework-icon svg { font-size: 100%; }
.fc-feature-list .x-feature-box-graphic.circle, .fc-feature-list .x-feature-box-graphic-outer.circle, .fc-feature-list .x-feature-box-graphic-inner.circle { height: 60px; }
.fc-feature-list .x-feature-box-graphic-inner.circle { font-size: 60px; }
.fc-feature-list .x-framework-icon.circle { color: #fff; background-color: #231460; border-radius: 100em; width: 1em; height: 1em; display: flex; align-items: center; justify-content: center; }
.fc-feature-list .x-framework-icon.circle > svg { width: .5em; height: .5em; }
.fc-statistic-columns .x-column.x-md.x-2-3:only-child { float: none; margin-left: auto; margin-right: auto; }
@media only screen and (min-width: 981px) {
  .hero--tall { height: auto !important; min-height: 500px; display: flex; align-items: center; padding-top: 64px; padding-bottom: 64px; }
  .hero--tall > .x-container { position: static; }
  .hero--tall .hero__container { position: static; top: auto; transform: none; }
}
.fc-feature-list .x-feature-box-connector { font-size: 60px; left: 0; right: calc(100% - 60px); border-left: 1px dashed #272727; }
.fc-feature-list .x-feature-box-graphic-outer.circle { margin-right: 20px; }
.fc-feature-list .x-feature-box { margin-bottom: 0; }
.fc-feature-list .x-feature-box-graphic, .fc-feature-list .x-feature-box-content { padding-bottom: 1.313em; }
.fc-feature-list .x-feature-box:last-child .x-feature-box-graphic, .fc-feature-list .x-feature-box:last-child .x-feature-box-content { padding-bottom: 0; }
.fc-feature-list .x-feature-box-text { font-size: 15px; line-height: 1.7; }
.fc-navigation-bar--sub-navigation .x-container { display: flex; flex-wrap: wrap; justify-content: center; }
.fc-navigation-bar--sub-navigation .fc-navigation-bar__link { padding: 10px; margin: 25px; line-height: normal; }
@media only screen and (max-width: 767px) {
  .fc-navigation-bar--sub-navigation { display: none; }
}
@media only screen and (min-width: 979px) and (max-width: 1179.98px) {
  .x-nav-wrap.desktop { display: none; }
  .x-nav-wrap.mobile { display: block; }
  .x-nav-wrap.mobile.x-collapsed { display: none; }
  .masthead-inline .x-btn-navbar { display: block; float: right; }
  .x-navbar-fixed-top { position: relative; }
  .x-navbar-fixed-top-active .x-navbar-wrap { height: auto; margin-bottom: 0; }
  .masthead { height: 65px; }
  .masthead .x-navbar { padding-bottom: 10px; }
  .masthead .x-brand { max-width: 130px; margin: 0; height: 30px; margin-top: 17px; }
}
