",i++)}this.list.innerHTML=e,this.d_built=!0,this.list.scrollTop=0},GetDropdown:function(){return this.d},ApplySearchFilter:function(t){return this.o.search_in_text?-1!==t.toLowerCase().indexOf(this.filter.toLowerCase()):0===t.toLowerCase().indexOf(this.filter.toLowerCase())},Update:function(){this.d_built=!1,$(this.e).trigger("destroy-dropdown"),this.UpdateSelect()},UpdateSelect:function(){var t=this.e[0].querySelectorAll("option:checked");if($(this.select).removeClass("ioselect-placeholder"),this.is_multiple)if(0'+this.o.value_format_function(t[i].text,t[i].value,this)+"");this.select.innerHTML=e;for(var s=$(this.select).find(".ioselect-selected-item"),i=0;i{t.actions.forEach(t=>{"add_class"===t.type&&(e[0].isIntersecting?$(i).addClass(t.params.class):t.params.toggle&&$(i).removeClass(t.params.class))})},e).observe(s)}),recaptcha_loading=!1,recaptcha_callbacks=[],RecaptchaLoaded=function(){for(var t=0;t')[0],$(this.form_element).append(t),""==this.site_key&&alert("Error: Recaptcha site key not set"),this.recaptcha_id=grecaptcha.render(t,{sitekey:this.site_key,callback:this.onValidate.bind(this),"expired-callback":this.onExpired.bind(this),"error-callback":this.onError.bind(this)}),$(this.form_element).find("[type=submit]").each(function(){null!==this.getAttribute("disabled")&&this.removeAttribute("disabled","")}),$(this.form_element).trigger("recaptcha:initialised")))},Validate:function(){this.form.SetValue("recaptcha_id",""),grecaptcha.reset(this.recaptcha_id),grecaptcha.execute(this.recaptcha_id),this.popup_iframe=!1,this.validating=!0,this.popup_interval=setInterval(function(){var t=$('iframe[src*="google.com/recaptcha/api2/bframe"]');if(0'),this.object.addClass("has-progress").append(this.progress)),this.progress.css({width:t.percent+"%"}))},Reset:function(){for(var t in clearTimeout(this.timer),this.GetAttributes())void 0!==this.attributes[t]?this.element.setAttribute(t,this.attributes[t]):this.element.removeAttribute(t);this.SetText(this.original_text)},GetText:function(){return"input"==this.element.nodeName.toLowerCase()?this.object[0].value:this.object[0].innerText},SetText:function(t){"input"==this.element.nodeName.toLowerCase()?this.object[0].value=t:this.object[0].innerText=t},ResetAttributes:function(){this.attributes=this.GetAttributes()},GetAttributes:function(){var t={},e=this.element.attributes;for(index in e)t[e[index].name]=e[index].value;return t}},function(t){this.isAdvancedUpload=("draggable"in(e=document.createElement("div"))||"ondragstart"in e&&"ondrop"in e)&&"FormData"in window&&"FileReader"in window,this.file_element=$(t),this.file_element.data("file-advanced",this),this.file_element.data("files",[]);var e="Drag and drop your file here",t=(void 0!==this.file_element.data("drag-drop-text")&&(e=this.file_element.data("drag-drop-text")),"Click to browse"),i=(void 0!==this.file_element.data("browse-text")&&(t=this.file_element.data("browse-text")),"or");void 0!==this.file_element.data("or-text")&&(i=this.file_element.data("or-text")),this.container=$('
")},Hide:function(){this.active&&(this.active=!1,$(window).off("keydown",this.listen_event),$(this.iframe)[0].setAttribute("src",""),$(this.iframe).remove(),this.mask.remove(),this.mask=null,this.iframe=null)}},$(function(){sCMS_MediaPopups.Init()}),{Init:function(){0!=$("form#form-candidateaccount").length&&(this.form=new ioForm("form#form-candidateaccount"),this.validator=new ioValidate("form#form-candidateaccount"),this.smart_button=new sCMS_SmartButton($("form#form-candidateaccount [type=submit]")),this.form.on("submit",this.Submit.bind(this)))},Submit:function(t){t.preventDefault(),this.smart_button.Set({text:"Saving",class:"c-smart-button--saving",attributes:{disabled:null}});var t=!0;(t=!!this.validator.DoFormValidation(this.form.GetElement())&&t)?((t=this.form.GetValues()).cv_file=this.form.GetValue("cv_file")[0],$.ajax("/api/1/Jobs/CandidateAccount",{method:"post",data:t,success:this.SaveSuccess.bind(this),error:this.SaveError.bind(this)})):this.smart_button.Set({text:"Unable to save",class:"c-smart-button--error",duration:4})},SaveSuccess:function(t){this.smart_button.Set({text:"Update successful, please wait",class:"c-smart-button--success",attributes:{disabled:!0}}),$(this.form.GetElement()).closest("#form-candidateaccount").removeClass("--show"),$("#candidateaccount-success").addClass("--show")},SaveError:function(t){if(this.smart_button.Set({text:"Unable to upload CV",class:"c-smart-button--error",duration:4}),t.errors&&0For each of the criteria below, rate which is most important to you. The more stars you assign to a particular factor, the more important it is.
",current:"
Now rate your current job according to how well it meets each of the criteria.
Rate how highly you think this job offer scores for each of the items below.
Remember, if you don't know how highly this particular job offer rates for a particular item, you can leave no rating and it won't affect the final score.
`):($("#step-description")[0].innerHTML=this.group_descriptions[t],$(this.form.GetElement()).removeClass("--offer")),this.UpdateGroup(),this.UpdateNavigation()},ShowStep:function(t){switch($(".c-job-offer-assessment__steps").find(".c-job-offer-assessment__step.--current").removeClass("--current"),$(".c-job-offer-assessment__steps").find(".c-job-offer-assessment__step#"+t).addClass("--current"),t){case"step-offers":this.current_step="offers",this.UpdateOffersList();break;case"step-results":this.current_step="results",this.UpdateResults();break;default:this.current_step=t.replace(/step\-/,"")}this.UpdateNavigation()},ShowResultTab:function(t){console.log($("[data-result-view]")),$("[data-result-view]").removeClass("--show"),$(`[data-result-view="${t}"]`).addClass("--show"),$("[data-result-tab]").removeClass("--current"),$(`[data-result-tab="${t}"]`).addClass("--current")},FormGoNext:function(){var t=!0;switch(this.current_group){case"priorities":step="step-current";break;case"current":step="step-offers";break;default:t=!1,step="step-offers"}if(t){var e,i=!1;for(e in this.fields)if(null===this.fields[e].GetValue()){i=!0;break}if(i)return void alert("Please rate all items before continuing.")}this.ShowStep(step)},UpdateGroup:function(){var t;if(void 0!==this.group_details[this.current_group]?t=this.group_details[this.current_group].title:(t="New Job Offer",0===this.current_group.indexOf("offer-")&&$("#step-new-offer-form").addClass("--show")),$(".c-job-offer-assessment__form-row").removeClass("--has-value"),void 0!==this.group_values[this.current_group])for(var e in this.fields){var i=parseInt(e.substring(9)),s=$(this.fields[e].GetElement()).closest(".c-job-offer-assessment__form-row");void 0!==this.group_values[this.current_group][i]&&null!==this.group_values[this.current_group][i]?(this.fields[e].SetValue(this.group_values[this.current_group][i]),s.addClass("--has-value")):void 0!==s.find("input:checked")[0]&&(s.find("input:checked")[0].checked=!1)}else{for(var e in this.fields)void 0!==$(this.fields[e].GetElement()).closest(".c-job-offer-assessment__form-row").find("input:checked")[0]&&($(this.fields[e].GetElement()).closest(".c-job-offer-assessment__form-row").find("input:checked")[0].checked=!1);this.group_values[this.current_group]=this.GetWeightingsValues()}$("#step-title")[0].innerText=t,0===this.current_group.indexOf("offer-")&&$("#step-title").addClass("--is-editable"),this.UpdateRatings(),this.UpdateNavigation()},Update:function(){this.group_values[this.current_group]=this.GetWeightingsValues(),this.UpdateGroup(),this.UpdateNavigation()},UpdateOffersList:function(){var t,e=[];for(t in this.group_values)0===t.indexOf("offer-")&&e.push(t);var i="";if(0
${this.group_details[r].title}
`}}$("#joam-offers-list .c-job-offer-assessment__offers-items")[0].innerHTML=i,$("#joam-offers-list .c-job-offer-assessment__offers-item-edit").on("click",function(t){t=$(t.target).closest("[data-offer]").data("offer");this.SetGroup(t)}.bind(this)),$("#joam-offers-list .c-job-offer-assessment__offers-item-delete").on("click",function(t){if(confirm("Are you sure you want to delete this offer?")){var e,i=$(t.target).closest("[data-offer]").data("offer");for(e in this.group_details)if(console.log(e),e===i){delete this.group_details[e],delete this.group_values[e];break}console.log(this.group_details),this.UpdateOffersList(),this.DoSubmitDetails()}}.bind(this)),(1
Construction, engineering, property, architecture, whatever your passion, there’s a job here for you.
FF&E Designer
Architecture & Interior Design > Interior Design
Salary
£35000 - £45000 per annum
Type
Permanent
Location(s)
London
Our client is seeking an experienced and creative FF&E Designer to join their team. This studio is known for delivering some of the most distinctive and talked-about restaurant projects in the hospitality sector - and now is your opportunity to be a part of it!
Their work is celebrated for iconic, immersive dining environments that captivate guests and make headlines. From layered, storytelling-led concepts to meticulously curated details, they create truly unforgettable restaurant destinations.
As an FF&E Designer, you'll play a central role in bringing these unique concepts to life, with responsibility for sourcing, specifying, and delivering exceptional FF&E schemes. You'll collaborate closely with the interior design team, suppliers, and fabricators to ensure every detail reflects the studio's commitment to quality, originality, and atmosphere.
Requirements:
Degree in Interior Design or a related field
Minimum 3 years' experience in an FF&E role, ideally within hospitality or high-end restaurant design
Strong knowledge of furniture, finishes, and supplier networks, with a flair for sourcing unique, characterful pieces
Proficiency in AutoCAD and Adobe Creative Suite (Photoshop, InDesign)
Highly organised, proactive, and comfortable managing multiple projects and deadlines
Excellent communication and presentation skills
This is a full-time, permanent position offering the chance to work on high-profile, headline-making restaurant interiors in a collaborative, creatively driven London studio.
Apply now to be considered for this exciting opportunity.
Senior FF&E Designer - Luxury Projects Join a prestigious, multi-disciplinary design studio in West London, renowned for delivering high-end residential and hospitality projects across London and...
We're working with a world-renowned client seeking a talented FF&E Designer to join their London studio, specialising in luxury hospitality interiors. This celebrated design practice is...
Midweight Interior Designer - URGENT! I am delighted to be recruiting for a boutique Interior Design firm in Dubai, who specialise in delivering elegant and bespoke Interiors for high-end residential...
Consulting Engineering > Building Structures & Façades
Salary:
£28000 - £32000 per annum
Type:
Permanent
Location(s):
London
The client is a Façade specialist due to their on-going success and planned growth, are expanding their team. The Grad Facade Engineer will be part of a successful team working on projects from...
We are seeking an experienced external consultant to support our multi-national client in the preparation and execution of an RFP process for new payroll service providers across Europe and the APAC...
£75000 - £85000 per annum + excellent additional package
Type:
Permanent
Location(s):
Reading, Berkshire
Senior Quantity Surveyor Tier One Main Contractor Western Home Counties £75,000 - £85,000 Amida are partnering with one of the UK's leading Main Contractors to recruit a Senior...
Ready to find your next opportunity in the built environment industry? Register with Amida to stay up-to-date with the latest job openings and connect with our experienced recruiters.
!!This is just placeholder text. Don’t be alarmed, this is just here to fill up space since your finalized copy isn’t ready yet. Once we have your content finalized, we’ll replace this placeholder text.
This website uses cookies to ensure you get the best experience. Please read our privacy policy and click the button below to agree to the use of cookies, and remove this message.