CINXE.COM
IPI Academy faculty: Commercial & Business Law | IPI Academy
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>IPI Academy faculty: Commercial & Business Law | IPI Academy</title> <base href="https://ipi.academy/"/> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="canonical" href="https://ipi.academy/faculty/subject/8/commercial-business-law" /> <link rel="icon" type="image/png" href="static/site/img/ipi-square-black-500.png"> <link rel="preload" type="text/css" as="style" href="static/site/css/ipi.css?v=1732194399"> <link rel="stylesheet" type="text/css" href="static/site/css/ipi.css?v=1732194399"> <!--inject messages that the site.js will display when doc loaded--> <script> var page_messages = []</script> <!-- these all defer, they may contain alpine directives so run them first --> <script type="text/javascript" defer="defer" src="static/common/js/util.js?v=1731018443"></script> <script type="text/javascript" defer="defer" src="static/site/js/util.js?v=1646397698"></script> <script type="text/javascript" defer="defer" src="static/site/js/site.js?v=1720454350"></script> <!-- most site interaction is in alpine --> <script type="module" src="static/site/js/lib/alpine3.10.4.min.js" defer></script> <!--cookies required for marketing consent etc, load the lib--> <script src="static/site/js/lib/js.cookie.js"></script> <!-- we are trying plausible --> <script defer data-domain="ipi.academy" src="https://stats.falconbury.uk/js/script.tagged-events.js"></script> <script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script> </head> <body> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W9FJG27" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <script> var initial_basket_info = {"error":"","basket_id":0,"contact_id":0,"accept_terms":0,"country_id":826,"net":0,"total":0,"tax":0,"count":0,"course_count":0,"transaction":"","discount_code":"","invoice":{"referrer":"","discount_code":"","voucher_code":"","currency":"GBP","pay_method":"card","customer_ref":"","vat_number":"","source_id":""},"items":[],"item_prices":[],"currencies":[],"participants":[],"invoice_marque_ids":[],"is_leadgen":false,"is_self_participant":false,"event_classroom_count":0,"event_webinar_count":0,"version_count":0}; var initial_account_info = {"id":0,"actions":[]}; var initial_message = {"show":false,"icon":"","message":"Alert","status":""}; </script> <header x-data="siteHeader(initial_basket_info, initial_account_info)"> <nav :data-currentdropdown="tab" @click.outside="tab=''" @keydown.window.ctrl.slash="tab='searchicon';$nextTick(function(){ $refs.query_input.focus(); });" > <ul class="nav list-plain"> <li class="header-logo"> <a href=""><img src="static/site/img/ipi-black.svg" alt="IPI Logo" /></a> </li> <li class="nav-dropdown nav-browse" :class="{ 'active': tab === 'subjects' }"> <a class="semibold" @click.prevent="tab = (tab==='subjects'?'':'subjects')" href="#">Subjects <i class="fal fa-chevron-down"></i></a> <div class="page-section background-light nav-dropdown-menu"> <div class="page-section-content"> <div class="nav-browse-intro"> <h3>Subjects</h3> <p>We deliver a range of ready-made, as well as fully tailored, training products and services; providing a comprehensive approach to your technical, commercial, and personal development needs</p> <p><a class="button button-primary button-small" href="product/subjects">View all</a></p> </div> <div class="nav-browse-links"> <ul class="semibold list-plain"> <li> <a class="link-plain link-hover" href="product/subject/8/commercial-business-law"><i class="fal fa-long-arrow-right"></i>Commercial & Business Law</a> <ul class="list-plain"> <li><a class="link-plain link-hover" href="product/subject/54/commercial-contracts">Commercial Contracts</a></li> <li><a class="link-plain link-hover" href="product/subject/83/copyright-licensing">Copyright & Licensing</a></li> <li><a class="link-plain link-hover" href="product/subject/102/data-law-legal-technology">Data Law & Legal Technology</a></li> <li><a class="link-plain link-hover" href="product/subject/55/managing-the-legal-function">Managing the Legal Function</a></li> <li><a class="link-plain link-hover" href="product/subject/104/strategy-negotiation">Strategy & Negotiation</a></li> </ul> </li> <li> <a class="link-plain link-hover" href="product/subject/73/commercial-management"><i class="fal fa-long-arrow-right"></i>Commercial Management</a> <ul class="list-plain"> <li><a class="link-plain link-hover" href="product/subject/81/contract-skills">Contract Skills</a></li> <li><a class="link-plain link-hover" href="product/subject/94/role-of-the-contracts-manager">Role of the Contracts Manager</a></li> </ul> </li> <li> <a class="link-plain link-hover" href="product/subject/9/corporate-strategy"><i class="fal fa-long-arrow-right"></i>Corporate Strategy</a> <ul class="list-plain"> <li><a class="link-plain link-hover" href="product/subject/100/acquisitions-disposals">Acquisitions & Disposals</a></li> <li><a class="link-plain link-hover" href="product/subject/78/company-director">Company Director</a></li> <li><a class="link-plain link-hover" href="product/subject/79/company-secretary">Company Secretary</a></li> </ul> </li> <li> <a class="link-plain link-hover" href="product/subject/12/facilities-management"><i class="fal fa-long-arrow-right"></i>Facilities Management</a> <ul class="list-plain"> <li><a class="link-plain link-hover" href="product/subject/12/facilities-management">Facilities Management</a></li> <li><a class="link-plain link-hover" href="product/subject/101/health-safety">Health & Safety</a></li> </ul> </li> <li> <a class="link-plain link-hover" href="product/subject/16/finance-management"><i class="fal fa-long-arrow-right"></i>Finance Management</a> <ul class="list-plain"> <li><a class="link-plain link-hover" href="product/subject/85/finance-for-management">Finance for Management</a></li> <li><a class="link-plain link-hover" href="product/subject/96/finance-function-reporting">Finance Function & Reporting</a></li> </ul> </li> <li> <a class="link-plain link-hover" href="product/subject/3/hr-wellbeing"><i class="fal fa-long-arrow-right"></i>HR & Wellbeing</a> <ul class="list-plain"> <li><a class="link-plain link-hover" href="product/subject/61/employment-law-in-practice-recruitment">Employment Law in Practice & Recruitment</a></li> <li><a class="link-plain link-hover" href="product/subject/60/hr-function-strategy-analysis">HR Function, Strategy & Analysis</a></li> </ul> </li> <li> <a class="link-plain link-hover" href="product/subject/24/ip-patents"><i class="fal fa-long-arrow-right"></i>IP & Patents</a> <ul class="list-plain"> <li><a class="link-plain link-hover" href="product/subject/48/ip-administration">IP Administration</a></li> <li><a class="link-plain link-hover" href="product/subject/49/ip-management">IP Management</a></li> <li><a class="link-plain link-hover" href="product/subject/51/patents">Patents</a></li> </ul> </li> <li> <a class="link-plain link-hover" href="product/subject/32/leadership-management"><i class="fal fa-long-arrow-right"></i>Leadership & Management</a> <ul class="list-plain"> <li><a class="link-plain link-hover" href="product/subject/76/coaching-mentoring">Coaching & Mentoring</a></li> <li><a class="link-plain link-hover" href="product/subject/77/communication-presentation">Communication & Presentation </a></li> <li><a class="link-plain link-hover" href="product/subject/70/leadership-strategy">Leadership & Strategy</a></li> <li><a class="link-plain link-hover" href="product/subject/65/management">Management</a></li> <li><a class="link-plain link-hover" href="product/subject/87/negotiation">Negotiation </a></li> <li><a class="link-plain link-hover" href="product/subject/5/personal-development">Personal Development</a></li> <li><a class="link-plain link-hover" href="product/subject/90/project-management">Project Management</a></li> </ul> </li> <li> <a class="link-plain link-hover" href="product/subject/69/life-sciences"><i class="fal fa-long-arrow-right"></i>Life Sciences</a> <ul class="list-plain"> <li><a class="link-plain link-hover" href="product/subject/40/biopharma">Biopharma</a></li> <li><a class="link-plain link-hover" href="product/subject/41/clinical-research">Clinical Research</a></li> <li><a class="link-plain link-hover" href="product/subject/26/gxp">GxP</a></li> <li><a class="link-plain link-hover" href="product/subject/45/medical-technology">Medical Technology</a></li> <li><a class="link-plain link-hover" href="product/subject/42/medical-writing">Medical Writing</a></li> <li><a class="link-plain link-hover" href="product/subject/44/regulatory-affairs">Regulatory Affairs</a></li> <li><a class="link-plain link-hover" href="product/subject/46/vigilance">Vigilance</a></li> </ul> </li> <li> <a class="link-plain link-hover" href="product/subject/6/reinsurance"><i class="fal fa-long-arrow-right"></i>Reinsurance</a> <ul class="list-plain"> <li><a class="link-plain link-hover" href="product/subject/75/claims">Claims</a></li> <li><a class="link-plain link-hover" href="product/subject/82/contract-wordings">Contract Wordings</a></li> </ul> </li> <li> <a class="link-plain link-hover" href="product/subject/20/sales-marketing"><i class="fal fa-long-arrow-right"></i>Sales & Marketing</a> <ul class="list-plain"> <li><a class="link-plain link-hover" href="product/subject/86/marketing">Marketing</a></li> <li><a class="link-plain link-hover" href="product/subject/88/pr">PR</a></li> <li><a class="link-plain link-hover" href="product/subject/95/sales">Sales</a></li> </ul> </li> </ul> </div> </div> </div> </li> <li class="nav-dropdown nav-browse" :class="{ 'active': tab === 'industry' }" > <a class="semibold" @click.prevent="tab = (tab==='industry'?'':'industry')" href="#">Industry <i class="fal fa-chevron-down"></i></a> <div class="page-section background-light nav-dropdown-menu"> <div class="page-section-content"> <div class="nav-browse-intro"> <h3>Industries</h3> <p>As well as our broad range of subjects, many of our training products and services are targeted to specific industries. We are working to broaden this so please contact us if you are interested in courses tailored to your own industry.</p> <p><a class="button button-primary button-small" href="product/industries">View all</a></p> </div> <div class="nav-browse-links"> <ul class="semibold list-plain"> <li><a class="link-plain link-hover" href="product/industry/23/animal-health"><i class="fal fa-long-arrow-right"></i>Animal Health</a></li> <li><a class="link-plain link-hover" href="product/industry/40/biopharma"><i class="fal fa-long-arrow-right"></i>Biopharma</a></li> <li><a class="link-plain link-hover" href="product/industry/105/cosmetics"><i class="fal fa-long-arrow-right"></i>Cosmetics</a></li> <li><a class="link-plain link-hover" href="product/industry/18/energy"><i class="fal fa-long-arrow-right"></i>Energy</a></li> <li><a class="link-plain link-hover" href="product/industry/25/medical-devices"><i class="fal fa-long-arrow-right"></i>Medical Devices</a></li> <li><a class="link-plain link-hover" href="product/industry/22/pharmaceutical"><i class="fal fa-long-arrow-right"></i>Pharmaceutical</a></li> <li><a class="link-plain link-hover" href="product/industry/6/reinsurance"><i class="fal fa-long-arrow-right"></i>Reinsurance</a></li> <li><a class="link-plain link-hover" href="product/industry/19/telecoms"><i class="fal fa-long-arrow-right"></i>Telecoms</a></li> </ul> </div> </div> </div> </li> <li class="nav-browse"> <a class="semibold" href="content/delivery/custom-in-house-training">In-house</a> </li> <li class="nav-browse"> <a class="semibold" href="product/subject/99/free-resources?sort=date-desc">Free Resources</a> </li> <li class="nav-browse"> <a class="semibold" href="blog">Blog</a> </li> <li class="nav-dropdown nav-browse nav-browse-combined" :class="{ 'active': tab === 'combined' }"> <a class="semibold" @click.prevent="tab = (tab==='combined'?'':'combined')" href="#"><i class="fal fa-bars fa-1.5x"></i> Browse</a> <div class="page-section background-light nav-dropdown-menu"> <div class="page-section-content"> <p class="center"><a href="product/subject/99/free-resources?sort=date-desc" class="pill background-white semibold">Free Webinars</a> <a href="blog" class="pill background-white semibold">Blog</a> <span class="pill background-white">Browse training by:</span></p> <ul class="subtabs list-plain"> <li :class="{'active': combined_tab == 'subject'}" class="clickable"> <a @click.prevent="combined_tab = 'subject'" href="#">Subject</a> </li> <li :class="{'active': combined_tab == 'industry'}" class="clickable"> <a @click.prevent="combined_tab = 'industry'" href="#">Industry</a> </li> </ul> <div class="nav-browse-links" x-show="combined_tab == 'subject'"> <ul class="semibold list-plain"> <li><a class="link-plain link-hover" href="product/subject/8/commercial-business-law"><i class="fal fa-long-arrow-right"></i>Commercial & Business Law</a></li> <li><a class="link-plain link-hover" href="product/subject/73/commercial-management"><i class="fal fa-long-arrow-right"></i>Commercial Management</a></li> <li><a class="link-plain link-hover" href="product/subject/9/corporate-strategy"><i class="fal fa-long-arrow-right"></i>Corporate Strategy</a></li> <li><a class="link-plain link-hover" href="product/subject/12/facilities-management"><i class="fal fa-long-arrow-right"></i>Facilities Management</a></li> <li><a class="link-plain link-hover" href="product/subject/16/finance-management"><i class="fal fa-long-arrow-right"></i>Finance Management</a></li> <li><a class="link-plain link-hover" href="product/subject/3/hr-wellbeing"><i class="fal fa-long-arrow-right"></i>HR & Wellbeing</a></li> <li><a class="link-plain link-hover" href="product/subject/24/ip-patents"><i class="fal fa-long-arrow-right"></i>IP & Patents</a></li> <li><a class="link-plain link-hover" href="product/subject/32/leadership-management"><i class="fal fa-long-arrow-right"></i>Leadership & Management</a></li> <li><a class="link-plain link-hover" href="product/subject/69/life-sciences"><i class="fal fa-long-arrow-right"></i>Life Sciences</a></li> <li><a class="link-plain link-hover" href="product/subject/6/reinsurance"><i class="fal fa-long-arrow-right"></i>Reinsurance</a></li> <li><a class="link-plain link-hover" href="product/subject/20/sales-marketing"><i class="fal fa-long-arrow-right"></i>Sales & Marketing</a></li> </ul> </div> <div class="nav-browse-links" x-show="combined_tab == 'industry'"> <ul class="semibold list-plain"> <li><a class="link-plain link-hover" href="product/industry/23/animal-health"><i class="fal fa-long-arrow-right"></i>Animal Health</a></li> <li><a class="link-plain link-hover" href="product/industry/40/biopharma"><i class="fal fa-long-arrow-right"></i>Biopharma</a></li> <li><a class="link-plain link-hover" href="product/industry/105/cosmetics"><i class="fal fa-long-arrow-right"></i>Cosmetics</a></li> <li><a class="link-plain link-hover" href="product/industry/18/energy"><i class="fal fa-long-arrow-right"></i>Energy</a></li> <li><a class="link-plain link-hover" href="product/industry/25/medical-devices"><i class="fal fa-long-arrow-right"></i>Medical Devices</a></li> <li><a class="link-plain link-hover" href="product/industry/22/pharmaceutical"><i class="fal fa-long-arrow-right"></i>Pharmaceutical</a></li> <li><a class="link-plain link-hover" href="product/industry/6/reinsurance"><i class="fal fa-long-arrow-right"></i>Reinsurance</a></li> <li><a class="link-plain link-hover" href="product/industry/19/telecoms"><i class="fal fa-long-arrow-right"></i>Telecoms</a></li> </ul> </div> </div> </div> </li> <li class="nav-dropdown nav-search" :class="{ 'active': tab === 'search' }"> <div class="nav-search-container"> <form method="get" action="search" @submit="if(query_results.length>0){saveQuery()}"> <input type="text" name="query" autocomplete="off" x-model="query" x-ref="query_input" @input="clearTimeout(this.query_timeout); this.query_timeout=setTimeout(function(){queryLookup()}, 250)" @keydown.escape="if(query === ''){tab='';}else{query='';queryLookup();};" @keydown.enter="if(query_current_index>=0){$event.preventDefault();domGetEl('#result_link_'+query_current_index).click();}" @keydown.prevent.arrow-up="if(query_current_index>=0) query_current_index--;" @keydown.prevent.arrow-down="if(query_current_index<(query_results.length-1)) query_current_index++;" placeholder="Search courses/presenters..." /> <div class="nav-search-result nav-dropdown-menu" data-count="1"> <ul class="autoComplete_list list-plain"> <template x-for="(result_item, result_index) in query_results" :key="result_index"> <li class="autoComplete_result" :class="{'autoComplete_selected':result_index===query_current_index}" > <a class="autoComplete_match link-plain" @click="saveQuery()" :href="result_item.url" :id="'result_link_'+result_index" ><i class="fal fa-chevron-right"></i> <span x-html="result_item.name"></span> </a> <span class="autoComplete_key" x-text="result_item.format"></span> </li> </template> </ul> <div class="nav-search-show-all"> <button type="submit" class="button button-primary button-round icon-only"><i class="fal fa-chevron-right"></i></button> <button type="submit" class="button-plain">Display all results</button> </div> </div> </form> </div> </li> <li class="nav-dropdown" id="nav-searchicon" :class="{ 'active': tab === 'searchicon' }"> <a href="#" @click.prevent=" recent_queries=getQueries(); tab = (tab==='searchicon'?'':'searchicon'); $nextTick(function(){ $refs.query_input.focus(); }); " ><span>Search </span><i class="fal fa-search"></i></a> <div class="page-section background-white nav-dropdown-menu"> <div class="page-section-content"> <div> </div> <div> <h4>Recent searches</h4> <ul class="list-plain nav-searchicon-recent"> <template x-for="recent_query in recent_queries"> <li><a :href="'search?query='+recent_query" class="pill background-primary-light" x-text="recent_query"></a></li> </template> </ul> </div> </div> </div> </li> <li class="nav-popup" id="nav-basket"><a href="#" @click.prevent="tab = (tab==='basket'?'':'basket'); if(tab==='basket') getBasketInfo(true);" ><span>Basket </span><i class="fal fa-shopping-basket icon-r"></i><span class="basket-count" x-text="basket_info.count" :class="{ 'active': basket_info.count>0 }"></span></a> <div class="nav-popup-menu" id="nav-popup-basket" x-show="tab==='basket'" x-transition x-cloak @click.outside="tab=''" @account-get-info.window="getAccountInfo(true)" @basket-get-info.window="getBasketInfo(true)" @basket-set-item.window="setBasketItem($event.detail)" @basket-field.window="setBasketField($event.detail)" > <h4 x-show="basket_info.count==0">Your basket is empty.</h4> <template x-if="basket_info.count>0"> <div x-show="basket_info.count>0"> <h4>My basket</h4> <div class="table-table"> <template x-if="basket_info.count>0"> <template x-for="code in Object.keys(basket_info.items)" :key="code"> <div class="table-row"> <div class="table-cell"><a :href="basket_info.items[code].url"><img :src="basket_info.items[code].image_path" class="image-cover"></a></div> <div class="table-cell"> <p class="popup-basket-name"><a :href="basket_info.items[code].url" x-text="basket_info.items[code].name"></a></p> <p class="popup-basket-price" x-text="basket_info.currencies[basket_info.invoice.currency] + numFormat(basket_info.item_prices[code].net)"></p> </div> <div class="table-cell"><a href="#" @click.prevent="$dispatch('basket-set-item', {project_id: code, qty: 0, set: 1, product_id: basket_info.items[code].product_id})"><i class="fal fa-times"></i></a></div> </div> </template> </template> </div> <p class="flex font-weight-medium popup-basket-total"> <span class="flex-grow">Subtotal</span> <span class="right"> <span class="font-weight-semibold" x-text="basket_info.invoice.currency"></span> <span x-text="basket_info.currencies[basket_info.invoice.currency] + numFormat(basket_info.net)"></span> </span> </p> <p><a class="button button-primary-dark button-medium width-full" href="checkout/basket">View basket/checkout</a></p> </div> </template> </div> </li> <li class="nav-popup" id="nav-account"><a href="#" @click.prevent="tab = (tab==='account'?'':'account'); $nextTick(function(){$refs.header_email.focus()})" ><span>Account </span><i class="fal fa-user-circle icon-r"></i></a> <div class="nav-popup-menu" id="nav-popup-account" x-show="tab==='account'" x-transition x-cloak @login.window="doLogin($event.detail)" @forgot.window="doForgot($event.detail)" @register.window="doRegister($event.detail)" @loginlink.window="doLoginLink($event.detail)" > <div x-show="!account_info.id"> <ul class="subtabs list-plain"> <li :class="{'active': login_tab == 'login'}" class="clickable"> <a @click.prevent="login_tab = 'login'" href="#">Login</a> </li> <li :class="{'active': login_tab == 'forgot'}" class="clickable"> <a @click.prevent="login_tab = 'forgot'" href="#">Forgot?</a> </li> </ul> <form @submit.prevent="$dispatch('loginlink', login)" x-show="login_tab == 'login'"> <div class="inputrow"> <label><input placeholder="Email or username" x-model="login.email" x-ref="header_email" value="" maxlength="255" type="text" /><button :disabled="login.email==''" class="button-primary" type="submit"><span class="icon"><i class="fa-envelope fal"></i></span><span></span></button><span>Instant log in via email:</span></label> </div> <p class="font-smaller"><i class="far fa-question-circle"></i> <em>Enter your email or username above and we'll send you an instant login link - no password needed!</em><br> </p> </form> <form @submit.prevent="$dispatch('login', login)" x-show="login_tab == 'login'"> <div class="inputrow"> <label><input id="header-user" x-ref="header_user" x-model="login.user" value="" maxlength="255" type="text" /><span>OR login with username</span></label> </div> <div class="inputrow"> <label><input type="password" x-model="login.pass" value="" maxlength="255" /><button :disabled="login.user=='' || login.pass==''" class="button-primary" type="submit"><span class="icon"><i class="fa-check fal"></i></span><span></span></button><span>and password</span></label> </div> </form> <form @submit.prevent="$dispatch('forgot', login);tab=''" x-show="login_tab == 'forgot'"> <div class="inputrow"> <label><input x-model="login.email" placeholder="Enter email or username for reset" value="" maxlength="255" type="text" /><button :disabled="login.email==''" class="button-primary" type="submit"><span class="icon"><i class="fa-envelope fal"></i></span><span></span></button><span>Email or username</span></label> </div> </form> </div> <template x-if="account_info.id>0"> <ul class="list-plain nav-account-actions"> <li>Logged in as <strong x-text="account_info.user_name"></strong></li> <li class="list-separator"><a href="#" @click.prevent="logout(); tab=''"><span class="flex flex-center"><i class="fal fa-fw fa-sign-out"></i></span><span>Log out</span></a></li> <template x-for="url in Object.keys(account_info.actions)" :key="url"> <li><a :href="'account/'+url"><span class="flex flex-center"><i class="fal fa-fw" :class="'fa-'+account_info.actions[url][1]"></i></span><span x-text="account_info.actions[url][0]"></span></a></li> </template> </ul> </template> </div> </li> <li class="nav-dropdown nav-contact" id="nav-contact"> <a href="contact" title="Contact us"><span>Contact </span><i class="fal fa-envelope icon-r"></i></a> </li> <li class="nav-dropdown nav-subscribe" id="nav-subscribe"> <a href="contact" title="Subscribe" @click.prevent="eventSend('modal-show', {url: 'contact/subscribe'})"><span>Subscribe </span><i class="fal fa-newspaper icon-r"></i></a> </li> </ul> </nav> </header> <div class="page-section font-weight-medium header-message" :class="'background-'+status+' color-'+status" x-data="initial_message" x-show="show" x-transition.duration.400ms @page-message.window=" show = false; message = $event.detail.message; status=$event.detail.status ?? 'success'; icon=$event.detail.icon ?? 'info-circle'; $nextTick(function(){ show = true; }); " > <div class="page-section-content flex flex-center" > <i class="fal" :class="'fa-'+icon"></i> <span x-html="message"></span> <span class="flex-grow right"> <button class="button-stealth" @click="show=false"><i class="fal fa-times"></i></button></span> </div> </div> <div class="page-section hero" style="background-image: linear-gradient( rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5) ), url(images/products/event/DCC-image_2.jpg)"> <div class="page-section-content center"> <h1>Commercial & Business Law</h1> </div> </div> <script> function cardFilter() { return { url_params: null, url_base: '', current_sort: 'name', //default sort type returned from server item_properties: [{"topics":["104"],"formats":["author"]},{"topics":["51","54"],"formats":["presenter"]},{"topics":["104"],"formats":["author"]},{"topics":["55","90"],"formats":["presenter"]},{"topics":["104","55"],"formats":["presenter"]},{"topics":["104"],"formats":["author"]},{"topics":["55","65"],"formats":["presenter"]},{"topics":["54"],"formats":["presenter"]},{"topics":["55"],"formats":["author"]},{"topics":["102"],"formats":["presenter"]},{"topics":["104","55","70","77"],"formats":["presenter"]},{"topics":["54"],"formats":["presenter"]},{"topics":["104","54"],"formats":["presenter"]},{"topics":["54"],"formats":["presenter"]},{"topics":["54"],"formats":["presenter"]},{"topics":["102","104","54","55","83","87"],"formats":["presenter"]}], current_filters: {formats: [], topics: []}, filter_items: {formats: {"author":"Author","presenter":"Presenter"}, topics: {"54":"Commercial Contracts","77":"Communication & Presentation ","83":"Copyright & Licensing","102":"Data Law & Legal Technology","70":"Leadership & Strategy","65":"Management","55":"Managing the Legal Function","87":"Negotiation ","51":"Patents","90":"Project Management","104":"Strategy & Negotiation"}}, filter_entries: {formats: Object.entries({"author":"Author","presenter":"Presenter"}), topics: Object.entries({"54":"Commercial Contracts","77":"Communication & Presentation ","83":"Copyright & Licensing","102":"Data Law & Legal Technology","70":"Leadership & Strategy","65":"Management","55":"Managing the Legal Function","87":"Negotiation ","51":"Patents","90":"Project Management","104":"Strategy & Negotiation"})}, init: function(){ //this won't work in ie so until polyfill, case it out if(typeof(window.URLSearchParams)!="undefined"){ this.url_base = window.location.href.split('?')[0]; this.url_params = new URLSearchParams(window.location.search); if(this.url_params.has('formats')){ this.current_filters.formats=this.url_params.get('formats').split(','); } if(this.url_params.has('topics')){ this.current_filters.topics=this.url_params.get('topics').split(','); } if(this.url_params.has('sort')){ this.sortCards(this.url_params.get('sort')); } } }, sortCards: function(sortname){ if(this.current_sort!=sortname){ this.current_sort=sortname; let sortparts = sortname.split('-'); let asc = (sortparts[1] ?? 'asc') == 'asc'; console.log(asc); domNodesSort(document.querySelectorAll('.cards')[0], 'data-sort-'+sortparts[0], asc); this.updateUrl(); } }, updateUrl: function(){ if(typeof(window.URLSearchParams)!="undefined"){ var thiscontext = this; ['formats', 'topics'].forEach(function(filter_name){ var filter = thiscontext.current_filters[filter_name]; if((filter.length == 0) && thiscontext.url_params.has(filter_name)){ thiscontext.url_params.delete(filter_name) }else if(filter.length > 0){ thiscontext.url_params.set(filter_name, filter.join(',')) } }); if((this.current_sort == 'name') && this.url_params.has('sort')){ this.url_params.delete('sort'); }else if(this.current_sort != 'name'){ this.url_params.set('sort', this.current_sort); } var url_string = this.url_params.toString(); history.replaceState({}, '', this.url_base+(url_string?'?'+url_string:'')); } }, //using filter name here rather than filter so we can use it as url var filterToggle: function (filter_name, value) { //this dereference and subsequent copy seems required in ie11 var filter = Object.values(this.current_filters[filter_name]); if(value === ''){ filter.splice(0, filter.length); }else if(filter.indexOf(value)>=0){ filter.splice(filter.indexOf(value), 1); }else{ filter.push(value); } this.current_filters[filter_name] = filter; //see above this.updateUrl(); }, //use to enable/disable filter buttons - most complicated part! could possibly pre-prepare intersections //it's a bit more complex since it should allow additional dimensions if frequired filterValid: function(filter_value, source_filter, compare_filters){ //so eg 1, formats, [topics] //we are checking if 1 is a viable format, given the currently chosen topics //first loop through the rendered items for(var i=0; i<this.item_properties.length; i++){ var properties_source = this.item_properties[i][source_filter]; //eg formats of current product if(properties_source.indexOf(filter_value)>=0){ //first check if this is viable to continue //then we must have an intersection for all of the compare filters var compare_valid = true; var thiscontext = this; compare_filters.forEach(function(compare_filter){ var properties_compare = thiscontext.item_properties[i][compare_filter]; //eg topics of current product var filter_compare = thiscontext.current_filters[compare_filter]; //eg current topic filters if((filter_compare.length>0) && (arrayIntersect(properties_compare, filter_compare).length == 0)){ compare_valid = false; } }); if(compare_valid){ return true; } } } return false; }, filterMatch: function (filter_name, item_index) { var filter = this.current_filters[filter_name]; if(filter.length == 0){ return true; } else{ return arrayIntersect(this.item_properties[item_index][filter_name], filter).length>0; } }, } } </script> <div x-data="cardFilter()"> <div class="page-section background-white browse-filter-bar"> <div class="page-section-content"> <div class="browse-filter-section" x-show="filter_entries.formats.length>1"> <p class="font-smaller"><strong>Training format</strong></p> <ul class="list-plain list-inline"> <li><button class="pill pill-small background-light link-plain link-hover" :class="{'active': current_filters.formats.length==0}" @click.prevent="filterToggle('formats', '')" href="#" ><strong>All types</strong></button></li> <template x-for="filter_id in Object.keys(filter_items.formats)"> <li><button class="pill pill-small background-light link-plain link-hover" :class="{'active': current_filters.formats.includes(filter_id)}" :disabled="!filterValid(filter_id, 'formats', ['topics'])" @click.prevent="filterToggle('formats', filter_id)" x-text="filter_items.formats[filter_id]" href="#" ></button></li> </template> </ul> </div> <div class="browse-filter-section" x-show="Object.entries(filter_items.topics).length>1"> <p class="font-smaller"><strong>Topic</strong></p> <ul class="list-plain list-inline"> <li><button class="pill pill-small background-light link-plain link-hover active" :class="{'active': current_filters.topics.length==0}" @click.prevent="filterToggle('topics', '')" href="#" ><strong>All topics</strong></button></li> <template x-for="filter_id in Object.keys(filter_items.topics)"> <li><button class="pill pill-small background-light link-plain link-hover" :class="{'active': current_filters.topics.includes(filter_id)}" :disabled="!filterValid(filter_id, 'topics', ['formats'])" @click.prevent="filterToggle('topics', filter_id)" x-text="filter_items.topics[filter_id]" href="#" ></button></li> </template> </ul> </div> </div> </div> <div class="page-section background-light cards-bar"> <div class="page-section-content"> <div class="cards cards-faculty"> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 0) && filterMatch('topics', 0)" x.transition data-sort-name="Alex Bevan" > <div class="card-image"> <div class="border-round background-light color-primary flex flex-center"><i class="fal fa-user fa-3x"></i></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/257/alex-bevan">Alex Bevan</a></h4> <p class="font-smaller color-primary card-format">Author</p> <p class="font-smaller">Alex Bevan is a founder shareholder and technical director of ADR Group, one of the two main UK providers of alternative dispute resolution. He is a director of law firm Bevans which specialises in employment and commercial litigation with an...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 1) && filterMatch('topics', 1)" x.transition data-sort-name="Richard Brady" > <div class="card-image"> <div class="border-round background-cover" style="background-image: url(images/contributors/Richard-Brady.jpg)"></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/4289/richard-brady">Richard Brady</a></h4> <p class="font-smaller color-primary card-format">Presenter</p> <p class="font-smaller">Richard Brady is a lawyer who has spent many years working in Europe and the Middle East in the legal, financial and insurance arenas. He has a degree from Cambridge College of Teachers (2005) on Teaching English and founded the British Legal...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 2) && filterMatch('topics', 2)" x.transition data-sort-name="Lucinda Bromfield" > <div class="card-image"> <div class="border-round background-light color-primary flex flex-center"><i class="fal fa-user fa-3x"></i></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/905/lucinda-bromfield">Lucinda Bromfield</a></h4> <p class="font-smaller color-primary card-format">Author</p> <p class="font-smaller">Lucinda Bromfield is an employment solicitor at Bevans, specialising in all aspects of employment law and alternative dispute resolution. She has a particular interest in representing clients at mediations and round-table negotiations. She...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 3) && filterMatch('topics', 3)" x.transition data-sort-name="Olivier Corticchiato" > <div class="card-image"> <div class="border-round background-cover" style="background-image: url(images/contributors/corticchiato-olivier2-1000.jpg)"></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/4263/olivier-corticchiato">Olivier Corticchiato</a></h4> <p class="font-smaller color-primary card-format">Presenter</p> <p class="font-smaller">Olivier Corticchiato is an independent intellectual property consultant. He combines strong international experiences in leading IP teams for major global companies. He was until recently European Patent Attorney and Head of Centre of Competence...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 4) && filterMatch('topics', 4)" x.transition data-sort-name="Rupert Hawke" > <div class="card-image"> <div class="border-round background-cover" style="background-image: url(images/contributors/Hawke-Rupert.jpg)"></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/4208/rupert-hawke">Rupert Hawke</a></h4> <p class="font-smaller color-primary card-format">Presenter</p> <p class="font-smaller">Rupert Hawke, founder of Hawke Legal, has a business degree and is a qualified management accountant. He spent the first 10 years of his career working in multi-national business. In 2007 he was appointed Finance Director of Cartwright King...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 5) && filterMatch('topics', 5)" x.transition data-sort-name="Guy Hollebon" > <div class="card-image"> <div class="border-round background-light color-primary flex flex-center"><i class="fal fa-user fa-3x"></i></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/888/guy-hollebon">Guy Hollebon</a></h4> <p class="font-smaller color-primary card-format">Author</p> <p class="font-smaller"> Guy Hollebon is a Director of Bevans Solicitors, specialising in all aspects of employment law. He is Head of the Employment Department and senior member of the ADR department. Guy has been an accredited mediator with ADR Group since 2004. He...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 6) && filterMatch('topics', 6)" x.transition data-sort-name="Roger Levitt" > <div class="card-image"> <div class="border-round background-cover" style="background-image: url(images/contributors/Roger-Levitt.jpg)"></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/4321/roger-levitt">Roger Levitt</a></h4> <p class="font-smaller color-primary card-format">Presenter</p> <p class="font-smaller">Roger Levitt, LLB, QDR, MCIArb, is a leading business and property mediator and solicitor (non-practising). With over 40 years of legal experience, Roger has extensive knowledge in matters relating to business and property mediation, mediation...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 7) && filterMatch('topics', 7)" x.transition data-sort-name="Michala Meiselles" > <div class="card-image"> <div class="border-round background-cover" style="background-image: url(images/MF%20Speaker%20Images/michala_k_meiselles.jpg)"></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/3402/michala-meiselles">Michala Meiselles</a></h4> <p class="font-smaller color-primary card-format">Presenter</p> <p class="font-smaller">Michala Meiselles is a solicitor in England and Wales specialising in international business law, cross-border transactions and compliance. Starting off her career at Berrymans Lace Mawer, she has since worked in private practice and as in-house...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 8) && filterMatch('topics', 8)" x.transition data-sort-name="Mark Prebble" > <div class="card-image"> <div class="border-round background-cover" style="background-image: url(images/contributors/Mark-prebble.jpg)"></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/334/mark-prebble">Mark Prebble</a></h4> <p class="font-smaller color-primary card-format">Author</p> <p class="font-smaller">Mark Prebble worked for ICI and The BOC Group plc in the UK, and Biogen and SGS in Switzerland during his 21 years as an employed in-house lawyer. He held the positions of General Counsel at SGS and Group Legal Adviser at The BOC Group plc. Since...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 9) && filterMatch('topics', 9)" x.transition data-sort-name="Henry Rivero" > <div class="card-image"> <div class="border-round background-cover" style="background-image: url(images/contributors/HenryRivero.jpg)"></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/4340/henry-rivero">Henry Rivero</a></h4> <p class="font-smaller color-primary card-format">Presenter</p> <p class="font-smaller"> Henry Rivero, founder of Riveroconsult has 20+ years extensive experience in the TV & digital media industries having worked within the publisher and technology provider spaces. Across his senior leadership roles at RTL Group, Clypd, HbbTV...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 10) && filterMatch('topics', 10)" x.transition data-sort-name="Helene Russell" > <div class="card-image"> <div class="border-round background-cover" style="background-image: url(images/contributors/Russell-Helene.jpg)"></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/4209/helene-russell">Helene Russell</a></h4> <p class="font-smaller color-primary card-format">Presenter</p> <p class="font-smaller">Hélène Russell, founder of The Knowledge Business, is a UK solicitor (non-practising) and specialist in Knowledge, Learning and Innovation. After 8 years in practice, primarily in clinical negligence litigation defence, she has worked as a self-</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 11) && filterMatch('topics', 11)" x.transition data-sort-name="Alan Simmons" > <div class="card-image"> <div class="border-round background-cover" style="background-image: url(images/contributors/Alan-Simmons.jpg)"></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/592/alan-simmons">Alan Simmons</a></h4> <p class="font-smaller color-primary card-format">Presenter</p> <p class="font-smaller">Alan Simmons LLB (Hons) in Law with French , LLM in International Human Rights Law, RSA CETEFLA. Alan is a highly experienced trainer of legal English who has been working with international lawyers across the globe for nearly 30 years. He shares...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 12) && filterMatch('topics', 12)" x.transition data-sort-name="Arun Singh OBE" > <div class="card-image"> <div class="border-round background-cover" style="background-image: url(images/Speaker%20pics/arunsingh_1.jpg)"></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/162/arun-singh-obe">Arun Singh OBE</a></h4> <p class="font-smaller color-primary card-format">Presenter</p> <p class="font-smaller">Arun Singh is cited and ranked in the Chambers Guide to the world’s leading lawyers. He concentrates on international investment, joint ventures, licensing of technology, research and development, M&A, energy, outsourcing and corporate...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 13) && filterMatch('topics', 13)" x.transition data-sort-name="Scott Styles" > <div class="card-image"> <div class="border-round background-cover" style="background-image: url(images/contributors/Scott-Styles.jpg)"></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/783/scott-styles">Scott Styles</a></h4> <p class="font-smaller color-primary card-format">Presenter</p> <p class="font-smaller">Scott C. Styles is senior lecturer at the University of Aberdeen Law School. He is Assistant Editor of Daintith and Willoughby, the leading book on UK oil and gas law. He has many years experience of teaching and researching oil and gas law, with...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 14) && filterMatch('topics', 14)" x.transition data-sort-name="Helen Swaffield" > <div class="card-image"> <div class="border-round background-cover" style="background-image: url(images/contributors/Swaffield-Helen.jpg)"></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/4221/helen-swaffield">Helen Swaffield</a></h4> <p class="font-smaller color-primary card-format">Presenter</p> <p class="font-smaller">Helen Swaffield is a practising Barrister with over 25 years’ experience in Commercial and Public Law including commercial contracts and regulation, EU Law, international outsourcing and procurement, competition, franchising, supply and...</p> </div> </div> <div class="card clickable background-white flex browse-card-faculty" x-show="filterMatch('formats', 15) && filterMatch('topics', 15)" x.transition data-sort-name="Mark Weston" > <div class="card-image"> <div class="border-round background-cover" style="background-image: url(images/contributors/Weston_Mark-18-1.jpg)"></div> </div> <div class="card-content"> <h4><a class="link-plain link-hover" href="faculty/details/290/mark-weston">Mark Weston</a></h4> <p class="font-smaller color-primary card-format">Presenter</p> <p class="font-smaller">Mark Weston has run his own law firm, Weston Legal, since 1 January 2024. He is also a consultant at Hill Dickinson LLP where he joined in February 2016 as a partner and Head of its Commercial, TMT & IP Practice. Before that, he was a partner and...</p> </div> </div> </div> </div> </div> </div> <footer class="page-section background-white page-footer-container"> <div class="page-section-content page-footer"> <div class="footer-contact"> <div class="font-smaller"> <a href=""><img src="static/site/img/ipi-black.svg" class="footer-logo" alt="IPI Logo" /></a> <p>IPI Academy is a training initiative of Falconbury and Management Forum; leading providers of training for over 30 years, based in the UK.</p> <ul class="footer-social-links list-plain flex"> <li><a class="button-round-icon" href="https://twitter.com/IPI_Academy" target="_blank"><i class="fab fa-twitter fa-2x"></i></a></li> <li><a class="button-round-icon" href="https://www.linkedin.com/company/ipiacademy" target="_blank"><i class="fab fa-linkedin fa-2x"></i></a></li> <li><a class="button-round-icon" href="blog" title="Blog"><i class="fal fa-rss fa-2x"></i></a></li> </ul> </div> <div class="footer-subscribe" x-data="siteFooter('6LfGPJAbAAAAAELxEH1vWgv9XcbU00eqrgrZQvUq')" > <p><a class="button button-primary button-large" href="#" @click.prevent="eventSend('modal-show', {url: 'contact/subscribe'})" style="color: white;" ><i class="fal fa-envelope icon-r"></i>Subscribe for updates</a> </p> <p class="font-smaller"><strong><a href="contact">Contact us</a></strong></p> <div class="footer-contact-details flex flex-even text"> <p>10-12 Rivington Street<br />London<br />EC2A 3DU</p> <p>Tel: <a href="tel:442077494749">+44 (0)20 7749 4749</a><br />Email: <a href="mailto:info@ipi.academy">info@ipi.academy</a></p> </div> </div> </div> <ul class="footer-links list-plain font-smaller"> <li><strong>General information</strong> <ul class="list-plain"> <li><a href="content/about-us">About us</a></li> <li><a href="faculty/subjects">Faculty</a></li> <li><a href="contact">Contact us</a></li> <li><a href="content/faq">FAQs - live training</a></li> <li><a href="content/self-paced-learning-faq">FAQs - self-paced learning</a></li> <li><a href="venue">Venues/accommodation</a></li> <li><a href="content/bigbluebutton-support">Webinar guide/troubleshooting</a></li> <li><a href="content/cpd">Continuing professional development</a></li> <li><a href="content/associations-links">Associations</a></li> </ul> </li> <li><strong>Working with us</strong> <ul class="list-plain"> <li><a href="content/delivery/custom-in-house-training">In-house training</a></li> <li><a href="content/speaker-information">Presenting opportunities</a></li> <li><a href="content/book-production">Book production services</a></li> </ul> </li> <li><strong>Terms</strong> <ul class="list-plain"> <li><a href="content/privacy-policy">Privacy policy</a></li> <li><a href="content/cookie-policy">Cookies</a></li> <li><a href="content/terms-and-conditions">Terms & conditions</a></li> <li><a href="content/anti-slavery-policy">Anti-slavery policy</a></li> </ul> </li> <li><strong>Training courses</strong> <ul class="list-plain"> <li><a href="product/subject/44/regulatory">Pharma regulatory training courses</a></li> <li><a href="product/subject/8/commercial-law">Commercial law straining courses</a></li> <li><a href="product/subject/46/vigilance">Pharmacovigilance training courses</a></li> <li><a href="product/subject/32/leadership-management">Management training courses</a></li> <li><a href="product/subject/40/biopharma">Biotechnology training courses</a></li> <li><a href="product/subject/24/ip-patents">IP & Patents training courses</a></li> </ul> </li> </ul> <div class="footer-terms font-smaller"> <span>Registered office: Falconbury Ltd, 10-12 Rivington Street, London EC2A 3DU • Registered in England no 3937398 • VAT number 770008751</span> <a href="content/terms-and-conditions">Terms & conditions</a> <a href="content/privacy-policy">Privacy policy</a> </div> </div> </footer> <!--render any structured data injected--> <!--tracking, this requires cookies - its rendered above--> <!-- Google tracking, consent --> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} // gtag('js', new Date()); //datalayer push is a little wordy so lets abstract it abit function trackEcommerce(event, currency, value, items) { let ecommerce = {items: items}; if(currency && value){ ecommerce.currency = currency; ecommerce.value = value; } dataLayer.push({ecommerce: null}); // Clear the previous ecommerce object. dataLayer.push({ event: event, ecommerce: ecommerce }); } function trackCheckout(event, basket_info){ let items = []; for (const [key, values] of Object.entries(basket_info.items)) { items.push({item_id: values.product_id, item_name: values.name, item_variant: key, quantity: values.qty, price: values.price}); } trackEcommerce(event, basket_info.invoice.currency, basket_info.net, items); } //this is a little verbose and could be done with ?: etc but lets keep it clear gtag('consent', 'default', { 'ad_storage': 'denied', 'analytics_storage': 'denied', wait_for_update: 500 }); if(Cookies.get('consent_marketing')){ gtag('consent', 'update', { 'ad_storage': 'granted' }); } if(Cookies.get('consent_analytics')){ gtag('consent', 'update', { 'analytics_storage': 'granted' }); } </script> <!-- End Google tracking, consent --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-W9FJG27');</script> <!-- End Google Tag Manager --> <!--zammad chat popup - we self host the script and css because currently cannot persuade zammad's nginx to deflate them--> <script id="zammadchat" type="text/javascript" defer="defer" src="static/site/js/chat-no-jquery.min.js?v=1682436292"></script><script> document.getElementById('zammadchat').addEventListener('load', function(){ new ZammadChat({ host: 'wss://support.falconbury.uk/ws', chatId: 2, cssUrl: 'https://ipi.academy/static/site/css/chat.css', }); }); </script> <!--ie no longer supported, display message--> <div class="consent" id="unsupported"></div> <script> if(window.document.documentMode){ var d = document.getElementById('unsupported'); console.log(d); d.innerHTML = '<div><div><b>Unsupported Browser:</b><br />IPI Academy works best on modern browsers such as Edge, Chrome, Firefox or Safari.<br />You may experience limited functionality with Internet Explorer.<br />Note Internet Explorer will be <strong>fully unsupported by Microsoft in June 2022</strong>.</div></div>'; d.style.display = 'flex'; } </script> <!--consent handling--> <script> //handler for consent banner function siteConsent(){ return{ consent_saved: Cookies.get('consent_saved') == 'true', consent_details: false, consent_marketing: false, consent_analytics: false, acceptAll: function(){ this.consent_saved = true; Cookies.set('consent_saved', 'true', { expires: 365, samesite: 'None', secure: true }); Cookies.set('consent_marketing', 'true', { expires: 365, samesite: 'None', secure: true }); gtag('consent', 'update', { 'ad_storage': 'granted' }); Cookies.set('consent_analytics', 'true', { expires: 365, samesite: 'None', secure: true }); gtag('consent', 'update', { 'analytics_storage': 'granted' }); }, rejectAll: function(){ this.consent_saved = true; Cookies.set('consent_saved', 'true', { expires: 365, samesite: 'None', secure: true }); Cookies.remove('consent_marketing'); Cookies.remove('consent_analytics'); }, saveConsent: function(){ this.consent_saved = true; Cookies.set('consent_saved', 'true', { expires: 365, samesite: 'None', secure: true }); if(this.consent_marketing){ Cookies.set('consent_marketing', 'true', {expires: 365, samesite: 'None', secure: true}); gtag('consent', 'update', { 'ad_storage': 'granted' }); }else{ Cookies.remove('consent_marketing'); } if(this.consent_analytics){ Cookies.set('consent_analytics', 'true', { expires: 365, samesite: 'None', secure: true }); gtag('consent', 'update', { 'analytics_storage': 'granted' }); }else{ Cookies.remove('consent_analytics'); } } } } </script> <div style="display: none" class="consent" x-data="siteConsent()" x-show="!consent_saved" x-transition> <div> <div> <p class="font-larger"><strong>Cookies:</strong> we use cookies to deliver the best experience to you and to help us understand our customers.</p> <p class="consent-buttons"> <button class="button-success" :class="consent_details ? 'button-small' : 'button-large'" @click="acceptAll" x-show="true"><strong>Accept all</strong></button> <button class="button-outline" :class="consent_details ? 'button-small' : 'button-large'" @click="consent_details = !consent_details" x-text="consent_details ? 'Hide details' : 'More options' "></button> <button class="button-outline button-small" @click="rejectAll" x-show="consent_details">Reject non-essential</button> <button class="button-outline button-small" @click="saveConsent" x-show="consent_details">Accept selected</button> </p> </div> <div class="consent-details" x-show="consent_details" x-transition> <p class="text">We set the following types of cookies; please set your preference as to which you consent to accepting:<br /><a href="content/cookie-policy">Read our cookie policy</a></p> <p><label><input type="checkbox" checked="checked" disabled="disabled"> Essential</label><br /> These cookies are essential to correct operation of the website, such as allowing you to log in and purchase. They are used only on this site. </p> <p><label><input type="checkbox" x-model="consent_analytics"> Analytics</label><br /> We use Google Analytics to allow us to better understand the type of visitors to our site and their activity. Enabling this should not shape or alter your browsing experience on other websites. </p> <p><label><input type="checkbox" x-model="consent_marketing"> Marketing</label><br /> Marketing cookies help us to be more targeted with our online advertising to deliver more relevant content. Enabling this may make you more likely to see adverts from us on other websites. </p> </div> </div> </div> <!--lightbox for popup images--> <div id="modal-lightbox" style="display: none" x-data="{open:false, src:''}" @click.outside="open=false" x-show="open" x-transition.opacity @keydown.escape="open=false" @lightbox-show.window="src=$event.detail.src; open=true" > <div> <img :src="src" /> <i class="fal fa-times-circle fa-2x" @click="open=false"></i> </div> </div> <!--popup dialog--> <div id="modal-form" style="display: none" x-data="{open:false, html:''}" @click.outside="open=false" x-show="open" x-transition.opacity @keydown.escape="open=false" @contact-submitted.window="open=false" @modal-show.window="fetchText($event.detail.url).then(response => {domSetHTML('#modal-form-content', response);open=true;})" > <div> <div id="modal-form-content"> </div> <i class="fal fa-times-circle fa-2x" @click="open=false"></i> </div> </div> </body> </html>