Don’t wait — scroll down and apply filters now to uncover opportunities that match your ambitions.
New roles are posted every hour, and your next big break could be just one click away.
Pro tip: Bookmark this page, set your filters (you can even filter by benefits important to you) and subscribe to alerts — you'll stay ahead of the competition.
Search by benefits important to your life and future. Select one or more to
refine your search.
VCA Laconia Veterinary Hospital is seeking a full time Certified Veterinary Technician to join our full service, AAHA accredited hospital in beautiful Gilford, NH! We are proud to have served the local New Hampshire comm...
Medical Solutions Allied is seeking a travel Nuclear Medicine Technologist for a travel job in Laconia, New Hampshire. Job Description & Requirements Specialty: Nuclear Medicine Technologist Discipline: Allied Health...
Medical Solutions Allied is seeking a travel Nuclear Medicine Technologist for a travel job in Wolfeboro, New Hampshire. Job Description & Requirements Specialty: Nuclear Medicine Technologist Discipline: Allied Heal...
First Connect Health is seeking a travel nurse RN Med Surg for a travel nursing job in Concord, New Hampshire. Job Description & Requirements Specialty: Med Surg Discipline: RN Start Date: 06/15/2026 Duration: 13 wee...
First Connect Health is seeking a travel nurse RN Pediatric PCU - Progressive Care Unit for a travel nursing job in Concord, New Hampshire. Job Description & Requirements Specialty: Pediatric PCU - Progressive Care U...
Dietitian Career Opportunity Appreciated for your Dietitian Skills Are you a dedicated dietitian in search of a career that feels close to home and heart? As a dietitian at Encompass Health, you'll play a crucial role in...
Respiratory Therapist Career Opportunity Join Encompass Health's Respiratory Care Family: A Career of Impact Are you in search of a career that resonates with your heart and community? Encompass Health welcomesyouintoour...
';
}
/* ── CORE ────────────────────────────────────────────────────────── */
function injectStyles() {
if (document.getElementById('gzj-sc-styles')) return;
var style = document.createElement('style');
style.id = 'gzj-sc-styles';
style.textContent = CSS;
(document.head || document.body).appendChild(style);
}
function kv(line) {
var sep = line.indexOf(': ');
if (sep === -1) return null;
return [line.slice(0, sep).toLowerCase().trim(), line.slice(sep + 2).trim()];
}
function isDivider(line) {
return /^={5,}/.test(line);
}
function parseSections(lines) {
var sections = {};
var name = null;
var buf = [];
for (var i = 0; i < lines.length; i++) {
var line = lines[i].trim();
if (isDivider(line) && i + 2 < lines.length && isDivider(lines[i + 2].trim())) {
if (name) sections[name] = buf;
name = lines[i + 1].trim().toUpperCase();
buf = [];
i += 2;
} else if (name && line) {
buf.push(line);
}
}
if (name) sections[name] = buf;
return sections;
}
function parseText(container) {
/* Read one line per
element to avoid double-newline issues with
innerText across different browsers. Falls back to innerText split
if no
elements are found (e.g. plain text node). */
var paras = container.querySelectorAll('p');
var lines;
if (paras.length) {
lines = Array.prototype.map.call(paras, function (p) {
return p.textContent;
});
} else {
var raw = (typeof container.innerText !== 'undefined') ? container.innerText : container.textContent;
lines = raw.split('\n');
}
var secs = parseSections(lines);
var data = { stats: [], badges: [], industries: [], highlights: [], pros: [], cons: [] };
/* CITY INFO */
var groups = {};
(secs['CITY INFO'] || []).forEach(function (line) {
var p = kv(line);
if (!p) return;
var k = p[0], v = p[1];
if (k === 'city') data.city = v;
else if (k === 'state') data.state = v;
else if (k === 'page title') data.tagline = v;
else if (k === 'intro') data.intro = v;
else if (/^stat \d+$/.test(k)) {
var parts = v.split('|');
data.stats.push({ value: parts[0].trim(), label: (parts[1] || '').trim() });
}
else if (/^tag \d+$/.test(k)) data.badges.push(v);
});
/* INDUSTRIES */
groups = {};
(secs['INDUSTRIES'] || []).forEach(function (line) {
var p = kv(line);
if (!p) return;
var k = p[0], v = p[1];
if (k === 'section title') data.industries_heading = v;
else if (k === 'section intro') data.industries_intro = v;
else {
var m = k.match(/^industry (\d+) - (\w+)$/);
if (m) {
var n = m[1], prop = m[2];
groups[n] = groups[n] || {};
if (prop === 'icon') groups[n].icon = v;
else if (prop === 'title') groups[n].title = v;
else if (prop === 'salary') groups[n].salary = v;
else if (prop === 'description') groups[n].description = v;
}
}
});
Object.keys(groups).sort(function (a, b) { return a - b; }).forEach(function (n) { data.industries.push(groups[n]); });
/* CITY HIGHLIGHTS */
groups = {};
(secs['CITY HIGHLIGHTS'] || []).forEach(function (line) {
var p = kv(line);
if (!p) return;
var k = p[0], v = p[1];
if (k === 'section title') data.highlights_heading = v;
else {
var m = k.match(/^highlight (\d+) - (\w+)$/);
if (m) {
var n = m[1], prop = m[2];
groups[n] = groups[n] || {};
if (prop === 'icon') groups[n].icon = v;
else if (prop === 'title') groups[n].title = v;
else if (prop === 'text') groups[n].text = v;
}
}
});
Object.keys(groups).sort(function (a, b) { return a - b; }).forEach(function (n) { data.highlights.push(groups[n]); });
/* FIT CHECK */
(secs['FIT CHECK'] || []).forEach(function (line) {
var p = kv(line);
if (!p) return;
var k = p[0], v = p[1];
if (k === 'section title') data.fit_heading = v;
else if (/^good fit \d+$/.test(k)) data.pros.push(v);
else if (/^think twice \d+$/.test(k)) data.cons.push(v);
});
/* CALL TO ACTION */
(secs['CALL TO ACTION'] || []).forEach(function (line) {
var p = kv(line);
if (!p) return;
var k = p[0], v = p[1];
if (k === 'heading') data.cta_heading = v;
else if (k === 'subtext') data.cta_subtext = v;
else if (k === 'button text') data.cta_text = v;
else if (k === 'button url') data.cta_url = v;
});
return data;
}
function transform() {
var container = document.querySelector(TARGET);
if (!container) return false;
container.style.visibility = 'hidden';
var data = parseText(container);
if (!data.city) {
container.style.visibility = '';
return false;
}
injectStyles();
container.innerHTML = buildAll(data);
container.style.visibility = '';
return true;
}
function init() {
if (transform()) return;
var observer = new MutationObserver(function () {
if (transform()) observer.disconnect();
});
observer.observe(document.body, { childList: true, subtree: true });
setTimeout(function () { observer.disconnect(); }, 10000);
}
document.readyState === 'loading'
? document.addEventListener('DOMContentLoaded', init)
: init();
})();
Never Miss a New Opportunity
Subscribe and get the latest jobs directly to your inbox