",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 - £55000 per annum
Type
Permanent
Location(s)
London
A world-renowned hospitality design firm are on the hunt for meticulous and creative FF&E Designers to join their team in London…
This company has designed many luxurious, iconic, and sophisticated hospitality spaces for the world's leading luxury hotel brands. With countless awards under their belt, they continue to define new standards in the industry and lead by example.
Due to a strong pipeline of exciting new projects, they are looking for FF&E Designers at various levels. This is a fantastic opportunity to join an award-winning team and work on globally recognised luxury hospitality interiors.
Key requirements to join this team are:
A degree in FF&E, Interior Design, or a related field
A minimum of 3 years' experience in FF&E design for luxury hospitality projects
Excellent knowledge of materials, finishes, furniture, and procurement processes
Strong ability to create mood boards, sample presentations, and FF&E specifications
Proficiency in industry-standard software (InDesign, AutoCAD, Excel)
A collaborative, detail-focused and proactive approach
This is a rare opportunity to join a globally recognised design firm at a very exciting time. You'll be supported in developing your professional skills within a structured, nurturing environment that values creativity, precision, and career growth.
Please note that these are permanent, full-time roles, primarily based in their London studio, with some work from home flexibility once probation is passed.
If you would like to be considered for this opportunity, please apply now.
Position: FF&E Procurement Coordinator Location: Central London (occasional site visits) Start Date: ASAP A globally renowned hospitality brand is seeking a meticulous and highly organised...
I am working with a luxury Interior Design Studio who are going through a very exciting period of expansion, and are looking for an experienced Midweight Interior Designer with excellent FF&E...
Midweight Interior Designer Luxury Design Studio - Central London We're working with a boutique design studio that partners closely with an investment fund to create luxury homes in prime and...
Consulting Engineering > Highways & Transport Planning
Salary:
£55000 - £70000 per annum + plus package
Type:
Permanent
Location(s):
Bristol
What is the opportunity? To be the Civil Engineering team lead, within this well-established C&S team in Bristol Potential to become a shareholder in the company on merit As part of a larger...
Consulting Engineering > Building Structures & Façades
Salary:
£48000 - £54000 per annum
Type:
Permanent
Location(s):
London
This is a great opportunity for a Facade Engineer to grow and develop within a positive collaborative environment. Working with a team of facade specialists utilising all building materials to deliver...
My client are a well established construction contractor that work on mostly D&B negotiated contracts up to £25million and have the ideal position for an autonomous No1 Quantity Surveyor. ...
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.