CINXE.COM
Finding the Right Fit: Tips for Hiring PHP Staff
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Finding the Right Fit: Tips for Hiring PHP Staff</title> <link rel="icon" href="/favicon.ico" sizes="any"> <meta name="description" content="Maximize your team's performance with expert PHP staffing strategies. Find top talent, craft detailed job descriptions, and invest in continuous training."> <link rel="canonical" href="http://script-base.eu/Web/Finding-the-Right-Fit-Tips-for-Hiring-PHP-Staff.html"> <meta name="generator" content="HubSpot"> <link rel="alternate" type="application/rss+xml" title="RSS Feed script-base.eu" href="http://script-base.eu/rss.xml"> <meta name="twitter:card" content="summary"> <meta property="og:url" content="http://script-base.eu/Web/Finding-the-Right-Fit-Tips-for-Hiring-PHP-Staff.html"> <meta property="twitter:title" content="Finding the Right Fit: Tips for Hiring PHP Staff" > <meta property="twitter:description" content="Maximize your team's performance with expert PHP staffing strategies. Find top talent, craft detailed job descriptions, and invest in continuous training."> <script type="application/ld+json">{"@context":"https:\/\/schema.org\/","@type":"Blog","@id":"http:\/\/script-base.eu","mainEntityOfPage":"http:\/\/script-base.eu","name":"script-base.eu","description":"","publisher":{"@type":"Organization","@id":"http:\/\/script-base.eu","name":"script-base.eu"},"blogPost":{"@type":"BlogPosting","@id":"\/Web\/Finding-the-Right-Fit-Tips-for-Hiring-PHP-Staff.html","mainEntityOfPage":"\/Web\/Finding-the-Right-Fit-Tips-for-Hiring-PHP-Staff.html","headline":"Finding the Right Fit: Tips for Hiring PHP Staff","name":"Finding the Right Fit: Tips for Hiring PHP Staff","description":"Maximize your team's performance with expert PHP staffing strategies. Find top talent, craft detailed job descriptions, and invest in continuous training.","datePublished":"2024-08-19","url":"\/Web\/Finding-the-Right-Fit-Tips-for-Hiring-PHP-Staff.html"}}</script> <style> html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, cite, code, em, img, strong, sub, sup, i, center, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, main, menu, nav, output, ruby, section, summary, time, mark, audio, video{margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;} body, article, aside, details, figure, footer, header, main, nav, section, time, paginate, blockquote {display: block; box-sizing: border-box;} body {margin:0px;display:flex;flex-direction:column;justify-content:center;line-height: 1; text-align:center;background:rgba(0,59,99,1);font-family: Arial, sans-serif;color: rgba(92,92,92,1);} body:hover{background:rgba(0,59,99,1);} ol, ul {list-style: none;} blockquote, q {quotes: none;} blockquote:before, blockquote:after, q:before, q:after{content: '';content: none;} table {border-collapse: collapse;border-spacing: 0;} header, main, footer {display:block;margin:auto;width:100vw;} header img, header picture {display:block;margin:auto;width:1200px;max-width:100vw;height:auto;} a {color: rgba(231,1,25,1);} a:hover {color: rgba(0,77,128,1);text-decoration:none;} header {order:1;} main {order:2; display: flex;flex-direction:column;flex-wrap:wrap;justify-content:center;align-items: stretch;width:100vw;background:rgba(255,255,255,1);} main:hover {background:rgba(255,255,255,1);} aside {display:block;width:100%;height:auto;margin:10px auto;text-align:center;} main > section {width:95vw;} main > section > h1 {display:block;font-size:1.5em;padding:20px 10px;} main > section > nav > ol {font-size:0.9em;display:flex;flex-direction:column;flex-wrap:wrap;} main > section > nav > ol > li:first-child:before {content:"⌂";margin-right:5px;} main > section > nav > ol > li {display:inline-block;padding:5px;} main > section > nav > ol > li > a:hover {text-decoration:underline;} main > section > article {margin:10px auto;padding:10px;line-height:2em;text-align:justify;background:rgba(255,255,255,0);} main > section > article:hover {background:rgba(255,255,255,0);} main > section > article P {display:block;width:100%;margin:20px 0px;} main > section > article h2 {margin:10px 0px;font-weight:bold;font-size:1.2em;} main > section > article h3 {margin:10px 20px;font-weight:bold;font-size:1em;} main > section > article img {display:block;max-width:90%;margin:auto;} main > section > article a {text-decoration:underline;} main > section > article ul, main > section > article ol { list-style-type: disc; padding-left: 20px;} main > section > article ol {list-style-type: decimal; padding-left: 20px;} main > section > article em, main > section > article i {font-style: italic;} main > section > article strong, main > section > article b {font-weight: bold;} main > section > article u {text-decoration: underline;} main > section > article table {width: 100%;border-collapse: collapse;margin: 20px 0;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);} main > section > article table th, main > section > article table td {border: 1px solid;padding: 10px;text-align: left;} main > section > article table th {font-weight: bold;text-align: center;} main > section > article table tr:nth-child(even) {filter: brightness(0.97);} main > section > time {margin:5px 10px 10px 10px;font-style:italic;text-align:right;} main > section > paginate > ul {width:100%;font-size:0.9em;line-height:1.3em;display:flex;flex-direction:row;justify-content:space-between;} main > section > paginate > ul > li {max-width:40%;} main > section > paginate > ul > li:first-child a:before {display:block;margin:0 0 5px 0;content:"⇦";} main > section > paginate > ul > li:last-child a:before {display:block;margin:0 0 5px 0;content:"⇨";} main > section > paginate > ul > li > a {display:block;margin:auto;padding:15px;border:1px dashed rgba(255,255,255,0);} main > section > section > article {text-align:justify;margin:20px 10px;padding:20px 0px;line-height:1.8em;border-top:1px solid rgba(102,102,102,0.9);} main > section > section > article:first-child {border:0px;} main > section > section > article > h1 {text-align:left;font-weight:bold;margin-bottom:10px;font-size:1.2em;} main > section > section > article > h1:hover {margin-left:10px;} main > section > section > article > div {display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;} main > section > section > article > div, main > section > section > article > div > a, main > section > section > article > div > blockquote {display:block;} main > section > section > article > div > a > img {display:block;max-width:100%;margin:auto;height:auto;} main > section > section > article > div > blockquote > a {text-decoration:underline;} main > section > section > article > div > blockquote > a:hover {text-decoration:none;} main > section > section > h2 {font-weight:bold;margin:15px 0px;} main > section > section > ul {margin:30px 0px;} main > section > section > ul > li {display:block;font-size:0.9em;padding:5px 10px;margin:10px 0px;display:flex;flex-direction:row;justify-content:space-between;} main > section > section > ul > li > time {font-style:italic;width:120px;} main > section > section > ul > li > a {text-align:left;width:630px;} main > section > section > ul > li > a:hover {text-decoration:underline;} main > section > section > ul > li > hits {text-align:right;font-style:italic;width:120px;} main > nav {display:flex;flex-direction:column;width:100%;background:rgba(255,255,255,0.3);} main > nav:hover {background:rgba(255,255,255,0.3);} main > nav > div {display:block;margin:10px;} main > nav > div > a > h2 {display:block;margin:auto;font-size:1.1em;margin:0px 5px 0px 5px;padding:10px 0px;font-weight:bold;} main > nav > div > ol {margin-bottom:10px;padding:0px;} main > nav > div > ol > li {display:block;text-align:left;padding:5px;margin:0px 5px;} main > nav > div > ol > li > a {display:block;font-size:0.9em;padding:5px;margin:5px 20px 5px 0px;} footer {order:3;width:95vw;padding:10px 0px;font-size:0.8em;line-height:1.7em;} main > nav > div > ol {background:rgba(255,255,255,0);} main > nav > div > ol:hover {background:rgba(255,255,255,0.3);} body > footer {background:rgba(255,255,255,1);} body > footer:hover {background:rgba(255,255,255,1);} @media(min-width: 1200px){ * {-moz-transition: all .3s ease-out;-o-transition: all .3s ease-out;transition: all .3s ease-out;} header, main, footer {max-width:1200px;} main {display:flex;flex-direction:row;} main > section {width:900px;max-width:90vw;} main > section > h1 {font-size:2.8em;line-height:1.5em;text-align:left;margin:30px 0px;padding:0px;} main > section > nav > ol {flex-direction:row;} main > section > nav > ol > li::after {content:" / ";color:rgba(200,200,200,0.7);} main > section > nav > ol > li:last-child:after {content:"";} main > section > article h2 {font-size:1.4em;} main > section > article h3 {font-size:1.1em;} main > section > section > article > div {position:relative;display:flex;flex-direction:row;flex-wrap: nowrap;align-items: flex-start;} main > section > section > article > div > a > img {margin-top:5px;} main > section > section > article:nth-child(even) > div {flex-direction:row-reverse;} main > section > section > article:nth-child(odd) > div > a {margin-right:20px;} main > section > section > article:nth-child(even) > div > a {margin-left:20px;} main > section > section > article > div > blockquote {min-width:50%;max-width:100%;} main > section > section > article > div > a {min-width:30%;margin:5px;} main > section > section > article > div > a > img {display:block;height:auto;} main > section > paginate > ul > li > a:hover {border:1px solid rgba(102,102,102,0.9);} main > nav {width:300px;max-width:90vw;} main > nav > div > a > h2 {text-align:left;} main > nav > div > ol > li > a:hover {margin:5px 0px 5px 20px;} footer {text-align:left;} footer a:hover {text-decoration:underline;} } </style> </head> <body class="blog hs-content-id-74215668856 hs-blog-listing hs-blog-id-9137182988" style=""> <main> <section> <h1 class="cm-blog-title">Finding the Right Fit: Tips for Hiring PHP Staff</h1> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"http:\/\/script-base.eu","name":"script-base.eu"}},{"@type":"ListItem","position":2,"item":{"@id":"http:\/\/script-base.eu\/Web\/","name":"Web"}},{"@type":"ListItem","position":3,"item":{"@id":"http:\/\/script-base.eu\/Web\/Finding-the-Right-Fit-Tips-for-Hiring-PHP-Staff.html","name":"Finding the Right Fit: Tips for Hiring PHP Staff"}}]}</script> <nav> <ol> <li><a href="http://script-base.eu" title="script-base.eu">script-base.eu</a></li> <li><a href="http://script-base.eu/Web/" title="Web">Web</a></li> <li><a href="http://script-base.eu/Web/Finding-the-Right-Fit-Tips-for-Hiring-PHP-Staff.html" title="Finding the Right Fit: Tips for Hiring PHP Staff">Finding the Right Fit: Tips for Hiring PHP Staff</a></li> </ol> </nav> <article lang="en"> <p>Building a strong development team requires the right mix of skills, experience, and personalities. When it comes to PHP development, securing top talent can be the difference between a project's success and failure. In this article, we'll explore key strategies for hiring PHP staff who can elevate your team's performance and contribute to your company's growth.</p> <h2>Understanding the Importance of PHP in Web Development</h2> <p>PHP is a powerful scripting language that plays a pivotal role in web development. It's known for its flexibility, ease of integration with various databases, and a strong community support. PHP developers are crucial for creating dynamic and interactive websites, making their role in your team an invaluable asset.</p> <h2>Identifying the Qualities of a Stellar PHP Developer</h2> <p>When <a href="https://simplyphp.com/services/">php staffing</a> for your next project, it's essential to look beyond technical expertise. A good PHP developer should also have strong problem-solving skills, be a good communicator, and have the ability to work collaboratively in a team setting. Experience with different PHP frameworks, such as Laravel or Symfony, can also be a significant advantage.</p> <h2>Crafting a Detailed Job Description</h2> <p>Your job posting is the first step in attracting the right candidates. Be specific about the skills and experiences required, as well as the responsibilities the role entails. Use clear, concise language and include any specific industry or project requirements. This clarity can help deter unqualified applicants and draw in those with the exact expertise you need.</p> <h2>Utilizing the Right Recruitment Strategies</h2> <p>To find the best PHP developers, cast a wide net. Use job boards, social media, professional networks, and staffing agencies specializing in technology. Employee referrals can also be a rich source of qualified candidates, as your existing staff likely have connections in the industry.</p> <h2>Assessing Technical Competence and Cultural Fit</h2> <p>During the interview process, assess candidates' technical skills through coding tests or practical assignments. However, don't overlook the importance of a cultural fit. A developer who aligns with your company's values, work ethic, and team dynamic is more likely to be a productive and long-term member of your staff.</p> <h2>Investing in Continuous Training and Development</h2> <p>Once you've hired your PHP staff, invest in their ongoing development. Technology is always evolving, and regular training can help your team stay current with the latest trends and best practices in PHP development.</p> <h2>Building a Supportive Work Environment</h2> <p>A supportive work environment encourages creativity, innovation, and collaboration. Offer opportunities for your PHP staff to contribute ideas, engage in knowledge-sharing sessions, and participate in team-building activities. This not only boosts morale but also fosters a sense of ownership and commitment to the company's mission. <strong>In conclusion</strong>, finding the right PHP staff involves a combination of targeted recruitment, careful assessment, and an investment in your employees' growth. By following these tips, you'll be well on your way to assembling a PHP team that will be the driving force behind your web development projects' success.</p> </article> <paginate> <ul><li></li> <li><a href="http://script-base.eu/Web/How-SimplyPHP-Helps-Clients-Focus-on-Business-Growth.html" title="How SimplyPHP Helps Clients Focus on Business Growth">How SimplyPHP Helps Clients Focus on Business Growth</a></li></ul> </paginate> <section> <h2>Most current publications</h2> <ul> <li><time datetime="2024-11-12 08:36">12/11/2024</time><a href="http://script-base.eu/Web/How-SimplyPHP-Helps-Clients-Focus-on-Business-Growth.html" title="How SimplyPHP Helps Clients Focus on Business Growth">How SimplyPHP Helps Clients Focus on Business Growth</a><Hits>173 Clicks</Hits></li> </ul> </section> </section> <nav class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal"> <div> <a href="http://script-base.eu" title="script-base.eu"> <h2>script-base.eu</h2> </a> </div> <div> <a href="http://script-base.eu/AI/" title="AI"> <h2>AI</h2> </a> <ol class="hs-menu-children-wrapper"> <li class="hs-menu-item hs-menu-depth-2"><a href="http://script-base.eu/AI/Experience-Intimate-Interactions-with-Your-AI-Girlfriend-on-Candy-AI.html" title="Experience Intimate Interactions with Your AI Girlfriend on Candy.AI">Experience Intimate...</a></li> </ol> <a href="http://script-base.eu/Web/" title="Web"> <h2>Web</h2> </a> <ol class="hs-menu-children-wrapper"> <li class="hs-menu-item hs-menu-depth-2"><a href="http://script-base.eu/Web/How-SimplyPHP-Helps-Clients-Focus-on-Business-Growth.html" title="How SimplyPHP Helps Clients Focus on Business Growth">How SimplyPHP Helps Clients...</a></li> <li class="hs-menu-item hs-menu-depth-2"><a href="http://script-base.eu/Web/Finding-the-Right-Fit-Tips-for-Hiring-PHP-Staff.html" title="Finding the Right Fit: Tips for Hiring PHP Staff">Finding the Right Fit: Tips...</a></li> </ol> </div> </nav> <!--end row--> </main> <header class="header-container-wrapper"> <a href="/" title="script-base.eu"> <picture> <source srcset="/header.webp?v=1721566462" type="image/webp" > <img src="/header.jpg" alt="script-base.eu" title="script-base.eu" width="1200" height="475" loading="lazy" class="logo-image logo-light"/> </picture> </a> </header> <!--end widget-span --> <footer class="footer-container-wrapper"> © 2025 <a href="http://script-base.eu" title="script-base.eu">Script-base.eu</a> <a href="http://script-base.eu/best-read.htm" title="Best Read - script-base.eu">Best Read</a> <a href="" title="Site map - script-base.eu">Site map</a> <a href="http://script-base.eu/CookiesPolicy" title="Cookies Policy" rel="nofollow">Cookies Policy</a> <a href="http://script-base.eu/rss.xml" title="RSS Feed - script-base.eu">RSS</a> <!--end footer --> </footer> <script defer src="https://code.jquery.com/jquery-3.6.1.slim.min.js" integrity="sha256-w8CvhFs7iHNVUtnSP0YKEg00p9Ih13rlL9zGqvLdePA=" crossorigin="anonymous"></script><noscript>Activate Javascript</noscript> <style>.cc-window{opacity:1;-webkit-transition:opacity 1s ease;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{-webkit-transition:transform 1s ease;-webkit-transition:-webkit-transform 1s ease;transition:-webkit-transform 1s ease;transition:transform 1s ease;transition:transform 1s ease,-webkit-transform 1s ease}.cc-animate.cc-revoke.cc-top{-webkit-transform:translateY(-2em);transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{-webkit-transform:translateY(2em);transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-top{-webkit-transform:translateY(0);transform:translateY(0)}.cc-animate.cc-revoke.cc-active.cc-bottom{-webkit-transform:translateY(0);transform:translateY(0)}.cc-revoke:hover{-webkit-transform:translateY(0);transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;-webkit-transition:max-height 1s;transition:max-height 1s} .cc-revoke,.cc-window{position:fixed;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-revoke:hover{text-decoration:underline}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em;text-decoration:underline}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1} .cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.cc-window.cc-banner{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;max-width:100%;margin-right:1em}.cc-compliance{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-floating .cc-compliance>.cc-btn{-webkit-box-flex:1;-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em} @media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-floating,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-webkit-box-align:unset;-ms-flex-align:unset;align-items:unset}.cc-window.cc-banner .cc-message{margin-right:0}} .cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-webkit-box-flex:0;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block} .cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em;margin-bottom:1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0}</style> <script>!function(e){if(!e.hasInitialised){var t={escapeRegExp:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},hasClass:function(e,t){var i=" ";return 1===e.nodeType&&(i+e.className+i).replace(/[\n\t]/g,i).indexOf(i+t+i)>=0},addClass:function(e,t){e.className+=" "+t},removeClass:function(e,t){var i=new RegExp("\\b"+this.escapeRegExp(t)+"\\b");e.className=e.className.replace(i,"")},interpolateString:function(e,t){return e.replace(/{{([a-z][a-z0-9\-_]*)}}/gi,function(e){return t(arguments[1])||""})},getCookie:function(e){var t=("; "+document.cookie).split("; "+e+"=");return t.length<2?void 0:t.pop().split(";").shift()},setCookie:function(e,t,i,n,o,s){var r=new Date;r.setHours(r.getHours()+24*(i||365));var a=[e+"="+t,"expires="+r.toUTCString(),"path="+(o||"/")];n&&a.push("domain="+n),s&&a.push("secure"),document.cookie=a.join(";")},deepExtend:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(i in e&&this.isPlainObject(e[i])&&this.isPlainObject(t[i])?this.deepExtend(e[i],t[i]):e[i]=t[i]);return e},throttle:function(e,t){var i=!1;return function(){i||(e.apply(this,arguments),i=!0,setTimeout(function(){i=!1},t))}},hash:function(e){var t,i,n=0;if(0===e.length)return n;for(t=0,i=e.length;t<i;++t)n=(n<<5)-n+e.charCodeAt(t),n|=0;return n},normaliseHex:function(e){return"#"==e[0]&&(e=e.substr(1)),3==e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e},getContrast:function(e){return e=this.normaliseHex(e),(299*parseInt(e.substr(0,2),16)+587*parseInt(e.substr(2,2),16)+114*parseInt(e.substr(4,2),16))/1e3>=128?"#000":"#fff"},getLuminance:function(e){var t=parseInt(this.normaliseHex(e),16),i=38+(t>>16),n=38+(t>>8&255),o=38+(255&t);return"#"+(16777216+65536*(i<255?i<1?0:i:255)+256*(n<255?n<1?0:n:255)+(o<255?o<1?0:o:255)).toString(16).slice(1)},isMobile:function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},isPlainObject:function(e){return"object"==typeof e&&null!==e&&e.constructor==Object},traverseDOMPath:function(e,i){return e&&e.parentNode?t.hasClass(e,i)?e:this.traverseDOMPath(e.parentNode,i):null}};e.status={deny:"deny",allow:"allow",dismiss:"dismiss"},e.transitionEnd=function(){var e=document.createElement("div"),t={t:"transitionend",OT:"oTransitionEnd",msT:"MSTransitionEnd",MozT:"transitionend",WebkitT:"webkitTransitionEnd"};for(var i in t)if(t.hasOwnProperty(i)&&void 0!==e.style[i+"ransition"])return t[i];return""}(),e.hasTransition=!!e.transitionEnd;var i=Object.keys(e.status).map(t.escapeRegExp);e.customStyles={},e.Popup=function(){var n={enabled:!0,container:null,cookie:{name:"cookieconsent_status",path:"/",domain:"",expiryDays:365,secure:!1},onPopupOpen:function(){},onPopupClose:function(){},onInitialise:function(e){},onStatusChange:function(e,t){},onRevokeChoice:function(){},onNoCookieLaw:function(e,t){},content:{header:"Cookies used on the website!",message:"This website uses cookies to ensure you get the best experience on our website.",dismiss:"Got it!",allow:"Allow cookies",deny:"Decline",link:"Learn more",href:"https://www.cookiesandyou.com",close:"❌",target:"_blank",policy:"Cookie Policy"},elements:{header:'<span class="cc-header">{{header}}</span> ',message:'<span id="cookieconsent:desc" class="cc-message">{{message}}</span>',messagelink:'<span id="cookieconsent:desc" class="cc-message">{{message}} <a aria-label="learn more about cookies" role=button tabindex="0" class="cc-link" href="{{href}}" rel="noopener noreferrer nofollow" target="{{target}}">{{link}}</a></span>',dismiss:'<a aria-label="dismiss cookie message" role=button tabindex="0" class="cc-btn cc-dismiss">{{dismiss}}</a>',allow:'<a aria-label="allow cookies" role=button tabindex="0" class="cc-btn cc-allow">{{allow}}</a>',deny:'<a aria-label="deny cookies" role=button tabindex="0" class="cc-btn cc-deny">{{deny}}</a>',link:'<a aria-label="learn more about cookies" role=button tabindex="0" class="cc-link" href="{{href}}" rel="noopener noreferrer nofollow" target="{{target}}">{{link}}</a>',close:'<span aria-label="dismiss cookie message" role=button tabindex="0" class="cc-close">{{close}}</span>'},window:'<div role="dialog" aria-live="polite" aria-label="cookieconsent" aria-describedby="cookieconsent:desc" class="cc-window {{classes}}">\x3c!--googleoff: all--\x3e{{children}}\x3c!--googleon: all--\x3e</div>',revokeBtn:'<div class="cc-revoke {{classes}}">{{policy}}</div>',compliance:{info:'<div class="cc-compliance">{{dismiss}}</div>',"opt-in":'<div class="cc-compliance cc-highlight">{{deny}}{{allow}}</div>',"opt-out":'<div class="cc-compliance cc-highlight">{{deny}}{{allow}}</div>'},type:"info",layouts:{basic:"{{messagelink}}{{compliance}}","basic-close":"{{messagelink}}{{compliance}}{{close}}","basic-header":"{{header}}{{message}}{{link}}{{compliance}}"},layout:"basic",position:"bottom",theme:"block",static:!1,palette:null,revokable:!1,animateRevokable:!0,showLink:!0,dismissOnScroll:!1,dismissOnTimeout:!1,dismissOnWindowClick:!1,ignoreClicksFrom:["cc-revoke","cc-btn"],autoOpen:!0,autoAttach:!0,whitelistPage:[],blacklistPage:[],overrideHTML:null};function o(){this.initialise.apply(this,arguments)}function s(e){this.openingTimeout=null,t.removeClass(e,"cc-invisible")}function r(t){t.style.display="none",t.removeEventListener(e.transitionEnd,this.afterTransition),this.afterTransition=null}function a(){var e=this.options.position.split("-"),t=[];return e.forEach(function(e){t.push("cc-"+e)}),t}function c(n){var o=this.options,s=document.createElement("div"),r=o.container&&1===o.container.nodeType?o.container:document.body;s.innerHTML=n;var a=s.children[0];return a.style.display="none",t.hasClass(a,"cc-window")&&e.hasTransition&&t.addClass(a,"cc-invisible"),this.onButtonClick=function(n){var o=t.traverseDOMPath(n.target,"cc-btn")||n.target;if(t.hasClass(o,"cc-btn")){var s=o.className.match(new RegExp("\\bcc-("+i.join("|")+")\\b")),r=s&&s[1]||!1;r&&(this.setStatus(r),this.close(!0))}t.hasClass(o,"cc-close")&&(this.setStatus(e.status.dismiss),this.close(!0));t.hasClass(o,"cc-revoke")&&this.revokeChoice()}.bind(this),a.addEventListener("click",this.onButtonClick),o.autoAttach&&(r.firstChild?r.insertBefore(a,r.firstChild):r.appendChild(a)),a}function l(e){return"000000"==(e=t.normaliseHex(e))?"#222":t.getLuminance(e)}function u(e,t){for(var i=0,n=e.length;i<n;++i){var o=e[i];if(o instanceof RegExp&&o.test(t)||"string"==typeof o&&o.length&&o===t)return!0}return!1}return o.prototype.initialise=function(i){this.options&&this.destroy(),t.deepExtend(this.options={},n),t.isPlainObject(i)&&t.deepExtend(this.options,i),function(){var t=this.options.onInitialise.bind(this);if(!window.navigator.cookieEnabled)return t(e.status.deny),!0;if(window.CookiesOK||window.navigator.CookiesOK)return t(e.status.allow),!0;var i=Object.keys(e.status),n=this.getStatus(),o=i.indexOf(n)>=0;o&&t(n);return o}.call(this)&&(this.options.enabled=!1),u(this.options.blacklistPage,location.pathname)&&(this.options.enabled=!1),u(this.options.whitelistPage,location.pathname)&&(this.options.enabled=!0);var o=this.options.window.replace("{{classes}}",function(){var i=this.options,n="top"==i.position||"bottom"==i.position?"banner":"floating";t.isMobile()&&(n="floating");var o=["cc-"+n,"cc-type-"+i.type,"cc-theme-"+i.theme];i.static&&o.push("cc-static");o.push.apply(o,a.call(this));(function(i){var n=t.hash(JSON.stringify(i)),o="cc-color-override-"+n,s=t.isPlainObject(i);this.customStyleSelector=s?o:null,s&&function(i,n,o){if(e.customStyles[i])return void++e.customStyles[i].references;var s={},r=n.popup,a=n.button,c=n.highlight;r&&(r.text=r.text?r.text:t.getContrast(r.background),r.link=r.link?r.link:r.text,s[o+".cc-window"]=["color: "+r.text,"background-color: "+r.background],s[o+".cc-revoke"]=["color: "+r.text,"background-color: "+r.background],s[o+" .cc-link,"+o+" .cc-link:active,"+o+" .cc-link:visited"]=["color: "+r.link],a&&(a.text=a.text?a.text:t.getContrast(a.background),a.border=a.border?a.border:"transparent",s[o+" .cc-btn"]=["color: "+a.text,"border-color: "+a.border,"background-color: "+a.background],a.padding&&s[o+" .cc-btn"].push("padding: "+a.padding),"transparent"!=a.background&&(s[o+" .cc-btn:hover, "+o+" .cc-btn:focus"]=["background-color: "+(a.hover||l(a.background))]),c?(c.text=c.text?c.text:t.getContrast(c.background),c.border=c.border?c.border:"transparent",s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+c.text,"border-color: "+c.border,"background-color: "+c.background]):s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+r.text]));var u=document.createElement("style");document.head.appendChild(u),e.customStyles[i]={references:1,element:u.sheet};var h=-1;for(var p in s)s.hasOwnProperty(p)&&u.sheet.insertRule(p+"{"+s[p].join(";")+"}",++h)}(n,i,"."+o);return s}).call(this,this.options.palette);this.customStyleSelector&&o.push(this.customStyleSelector);return o}.call(this).join(" ")).replace("{{children}}",function(){var e={},i=this.options;i.showLink||(i.elements.link="",i.elements.messagelink=i.elements.message);Object.keys(i.elements).forEach(function(n){e[n]=t.interpolateString(i.elements[n],function(e){var t=i.content[e];return e&&"string"==typeof t&&t.length?t:""})});var n=i.compliance[i.type];n||(n=i.compliance.info);e.compliance=t.interpolateString(n,function(t){return e[t]});var o=i.layouts[i.layout];o||(o=i.layouts.basic);return t.interpolateString(o,function(t){return e[t]})}.call(this)),s=this.options.overrideHTML;if("string"==typeof s&&s.length&&(o=s),this.options.static){var r=c.call(this,'<div class="cc-grower">'+o+"</div>");r.style.display="",this.element=r.firstChild,this.element.style.display="none",t.addClass(this.element,"cc-invisible")}else this.element=c.call(this,o);(function(){var i=this.setStatus.bind(this),n=this.close.bind(this),o=this.options.dismissOnTimeout;"number"==typeof o&&o>=0&&(this.dismissTimeout=window.setTimeout(function(){i(e.status.dismiss),n(!0)},Math.floor(o)));var s=this.options.dismissOnScroll;if("number"==typeof s&&s>=0){var r=function(t){window.pageYOffset>Math.floor(s)&&(i(e.status.dismiss),n(!0),window.removeEventListener("scroll",r),this.onWindowScroll=null)};this.options.enabled&&(this.onWindowScroll=r,window.addEventListener("scroll",r))}var a=this.options.dismissOnWindowClick,c=this.options.ignoreClicksFrom;if(a){var l=function(o){for(var s=!1,r=o.path.length,a=c.length,u=0;u<r;u++)if(!s)for(var h=0;h<a;h++)s||(s=t.hasClass(o.path[u],c[h]));s||(i(e.status.dismiss),n(!0),window.removeEventListener("click",l),window.removeEventListener("touchend",l),this.onWindowClick=null)}.bind(this);this.options.enabled&&(this.onWindowClick=l,window.addEventListener("click",l),window.addEventListener("touchend",l))}}).call(this),function(){"info"!=this.options.type&&(this.options.revokable=!0);t.isMobile()&&(this.options.animateRevokable=!1);if(this.options.revokable){var e=a.call(this);this.options.animateRevokable&&e.push("cc-animate"),this.customStyleSelector&&e.push(this.customStyleSelector);var i=this.options.revokeBtn.replace("{{classes}}",e.join(" ")).replace("{{policy}}",this.options.content.policy);this.revokeBtn=c.call(this,i);var n=this.revokeBtn;if(this.options.animateRevokable){var o=t.throttle(function(e){var i=!1,o=window.innerHeight-20;t.hasClass(n,"cc-top")&&e.clientY<20&&(i=!0),t.hasClass(n,"cc-bottom")&&e.clientY>o&&(i=!0),i?t.hasClass(n,"cc-active")||t.addClass(n,"cc-active"):t.hasClass(n,"cc-active")&&t.removeClass(n,"cc-active")},200);this.onMouseMove=o,window.addEventListener("mousemove",o)}}}.call(this),this.options.autoOpen&&this.autoOpen()},o.prototype.destroy=function(){this.onButtonClick&&this.element&&(this.element.removeEventListener("click",this.onButtonClick),this.onButtonClick=null),this.dismissTimeout&&(clearTimeout(this.dismissTimeout),this.dismissTimeout=null),this.onWindowScroll&&(window.removeEventListener("scroll",this.onWindowScroll),this.onWindowScroll=null),this.onWindowClick&&(window.removeEventListener("click",this.onWindowClick),this.onWindowClick=null),this.onMouseMove&&(window.removeEventListener("mousemove",this.onMouseMove),this.onMouseMove=null),this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=null,this.revokeBtn&&this.revokeBtn.parentNode&&this.revokeBtn.parentNode.removeChild(this.revokeBtn),this.revokeBtn=null,function(i){if(t.isPlainObject(i)){var n=t.hash(JSON.stringify(i)),o=e.customStyles[n];if(o&&!--o.references){var s=o.element.ownerNode;s&&s.parentNode&&s.parentNode.removeChild(s),e.customStyles[n]=null}}}(this.options.palette),this.options=null},o.prototype.open=function(t){if(this.element)return this.isOpen()||(e.hasTransition?this.fadeIn():this.element.style.display="",this.options.revokable&&this.toggleRevokeButton(),this.options.onPopupOpen.call(this)),this},o.prototype.close=function(t){if(this.element)return this.isOpen()&&(e.hasTransition?this.fadeOut():this.element.style.display="none",t&&this.options.revokable&&this.toggleRevokeButton(!0),this.options.onPopupClose.call(this)),this},o.prototype.fadeIn=function(){var i=this.element;if(e.hasTransition&&i&&(this.afterTransition&&r.call(this,i),t.hasClass(i,"cc-invisible"))){if(i.style.display="",this.options.static){var n=this.element.clientHeight;this.element.parentNode.style.maxHeight=n+"px"}this.openingTimeout=setTimeout(s.bind(this,i),20)}},o.prototype.fadeOut=function(){var i=this.element;e.hasTransition&&i&&(this.openingTimeout&&(clearTimeout(this.openingTimeout),s.bind(this,i)),t.hasClass(i,"cc-invisible")||(this.options.static&&(this.element.parentNode.style.maxHeight=""),this.afterTransition=r.bind(this,i),i.addEventListener(e.transitionEnd,this.afterTransition),t.addClass(i,"cc-invisible")))},o.prototype.isOpen=function(){return this.element&&""==this.element.style.display&&(!e.hasTransition||!t.hasClass(this.element,"cc-invisible"))},o.prototype.toggleRevokeButton=function(e){this.revokeBtn&&(this.revokeBtn.style.display=e?"":"none")},o.prototype.revokeChoice=function(e){this.options.enabled=!0,this.clearStatus(),this.options.onRevokeChoice.call(this),e||this.autoOpen()},o.prototype.hasAnswered=function(t){return Object.keys(e.status).indexOf(this.getStatus())>=0},o.prototype.hasConsented=function(t){var i=this.getStatus();return i==e.status.allow||i==e.status.dismiss},o.prototype.autoOpen=function(e){!this.hasAnswered()&&this.options.enabled?this.open():this.hasAnswered()&&this.options.revokable&&this.toggleRevokeButton(!0)},o.prototype.setStatus=function(i){var n=this.options.cookie,o=t.getCookie(n.name),s=Object.keys(e.status).indexOf(o)>=0;Object.keys(e.status).indexOf(i)>=0?(t.setCookie(n.name,i,n.expiryDays,n.domain,n.path,n.secure),this.options.onStatusChange.call(this,i,s)):this.clearStatus()},o.prototype.getStatus=function(){return t.getCookie(this.options.cookie.name)},o.prototype.clearStatus=function(){var e=this.options.cookie;t.setCookie(e.name,"",-1,e.domain,e.path)},o}(),e.Location=function(){var e={timeout:5e3,services:["ipinfo"],serviceDefinitions:{ipinfo:function(){return{url:"//ipinfo.io",headers:["Accept: application/json"],callback:function(e,t){try{var i=JSON.parse(t);return i.error?s(i):{code:i.country}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},ipinfodb:function(e){return{url:"//api.ipinfodb.com/v3/ip-country/?key={api_key}&format=json&callback={callback}",isScript:!0,callback:function(e,t){try{var i=JSON.parse(t);return"ERROR"==i.statusCode?s({error:i.statusMessage}):{code:i.countryCode}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},maxmind:function(){return{url:"//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js",isScript:!0,callback:function(e){window.geoip2?geoip2.country(function(t){try{e({code:t.country.iso_code})}catch(t){e(s(t))}},function(t){e(s(t))}):e(new Error("Unexpected response format. The downloaded script should have exported `geoip2` to the global scope"))}}}}};function i(i){t.deepExtend(this.options={},e),t.isPlainObject(i)&&t.deepExtend(this.options,i),this.currentServiceIndex=-1}function n(e,t,i){var n,o=document.createElement("script");o.type="text/"+(e.type||"javascript"),o.src=e.src||e,o.async=!1,o.onreadystatechange=o.onload=function(){var e=o.readyState;clearTimeout(n),t.done||e&&!/loaded|complete/.test(e)||(t.done=!0,t(),o.onreadystatechange=o.onload=null)},document.body.appendChild(o),n=setTimeout(function(){t.done=!0,t(),o.onreadystatechange=o.onload=null},i)}function o(e,t,i,n,o){var s=new(window.XMLHttpRequest||window.ActiveXObject)("MSXML2.XMLHTTP.3.0");if(s.open(n?"POST":"GET",e,1),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),Array.isArray(o))for(var r=0,a=o.length;r<a;++r){var c=o[r].split(":",2);s.setRequestHeader(c[0].replace(/^\s+|\s+$/g,""),c[1].replace(/^\s+|\s+$/g,""))}"function"==typeof t&&(s.onreadystatechange=function(){s.readyState>3&&t(s)}),s.send(n)}function s(e){return new Error("Error ["+(e.code||"UNKNOWN")+"]: "+e.error)}return i.prototype.getNextService=function(){var e;do{e=this.getServiceByIdx(++this.currentServiceIndex)}while(this.currentServiceIndex<this.options.services.length&&!e);return e},i.prototype.getServiceByIdx=function(e){var i=this.options.services[e];if("function"==typeof i){var n=i();return n.name&&t.deepExtend(n,this.options.serviceDefinitions[n.name](n)),n}return"string"==typeof i?this.options.serviceDefinitions[i]():t.isPlainObject(i)?this.options.serviceDefinitions[i.name](i):null},i.prototype.locate=function(e,t){var i=this.getNextService();i?(this.callbackComplete=e,this.callbackError=t,this.runService(i,this.runNextServiceOnError.bind(this))):t(new Error("No services to run"))},i.prototype.setupUrl=function(e){var t=this.getCurrentServiceOpts();return e.url.replace(/\{(.*?)\}/g,function(i,n){if("callback"===n){var o="callback"+Date.now();return window[o]=function(t){e.__JSONP_DATA=JSON.stringify(t)},o}if(n in t.interpolateUrl)return t.interpolateUrl[n]})},i.prototype.runService=function(e,t){var i=this;e&&e.url&&e.callback&&(e.isScript?n:o)(this.setupUrl(e),function(n){var o=n?n.responseText:"";e.__JSONP_DATA&&(o=e.__JSONP_DATA,delete e.__JSONP_DATA),i.runServiceCallback.call(i,t,e,o)},this.options.timeout,e.data,e.headers)},i.prototype.runServiceCallback=function(e,t,i){var n=this,o=t.callback(function(t){o||n.onServiceResult.call(n,e,t)},i);o&&this.onServiceResult.call(this,e,o)},i.prototype.onServiceResult=function(e,t){t instanceof Error||t&&t.error?e.call(this,t,null):e.call(this,null,t)},i.prototype.runNextServiceOnError=function(e,t){if(e){this.logError(e);var i=this.getNextService();i?this.runService(i,this.runNextServiceOnError.bind(this)):this.completeService.call(this,this.callbackError,new Error("All services failed"))}else this.completeService.call(this,this.callbackComplete,t)},i.prototype.getCurrentServiceOpts=function(){var e=this.options.services[this.currentServiceIndex];return"string"==typeof e?{name:e}:"function"==typeof e?e():t.isPlainObject(e)?e:{}},i.prototype.completeService=function(e,t){this.currentServiceIndex=-1,e&&e(t)},i.prototype.logError=function(e){var t=this.currentServiceIndex,i=this.getServiceByIdx(t);console.warn("The service["+t+"] ("+i.url+") responded with the following error",e)},i}(),e.Law=function(){var e={regionalLaw:!0,hasLaw:["AT","BE","BG","HR","CZ","CY","DK","EE","FI","FR","DE","EL","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","SK","ES","SE","GB","UK","GR","EU"],revokable:["HR","CY","DK","EE","FR","DE","LV","LT","NL","PT","ES"],explicitAction:["HR","IT","ES"]};function i(e){this.initialise.apply(this,arguments)}return i.prototype.initialise=function(i){t.deepExtend(this.options={},e),t.isPlainObject(i)&&t.deepExtend(this.options,i)},i.prototype.get=function(e){var t=this.options;return{hasLaw:t.hasLaw.indexOf(e)>=0,revokable:t.revokable.indexOf(e)>=0,explicitAction:t.explicitAction.indexOf(e)>=0}},i.prototype.applyLaw=function(e,t){var i=this.get(t);return i.hasLaw||(e.enabled=!1,"function"==typeof e.onNoCookieLaw&&e.onNoCookieLaw(t,i)),this.options.regionalLaw&&(i.revokable&&(e.revokable=!0),i.explicitAction&&(e.dismissOnScroll=!1,e.dismissOnTimeout=!1)),e},i}(),e.initialise=function(i,n,o){var s=new e.Law(i.law);n||(n=function(){}),o||(o=function(){});var r=Object.keys(e.status),a=t.getCookie("cookieconsent_status");r.indexOf(a)>=0?n(new e.Popup(i)):e.getCountryCode(i,function(t){delete i.law,delete i.location,t.code&&(i=s.applyLaw(i,t.code)),n(new e.Popup(i))},function(t){delete i.law,delete i.location,o(t,new e.Popup(i))})},e.getCountryCode=function(t,i,n){t.law&&t.law.countryCode?i({code:t.law.countryCode}):t.location?new e.Location(t.location).locate(function(e){i(e||{})},n):i({})},e.utils=t,e.hasInitialised=!0,window.cookieconsent=e}}(window.cookieconsent||{});</script> <script>window.cookieconsent.initialise({"palette": {"popup": {"background": "#edeff5","text": "#333"},"button": {"background": "#a8ff8c","text": "#000000"}},"position": "bottom-left","type": "opt-out","content": {"dismiss": "ok, got It !","deny": "Refuse Cookie","href": "http://script-base.eu/CookiesPolicy"},});</script> </body> <!-- Generated by the HubSpot Template Builder - template version 1.03 --> </html>