Lead #3079

Company
Better Life Accountancy Limited
Website
https://betterlifeaccountancy.com
Best Contact
Chris Land — Owner
Email
chris@betterlifeaccountancy.com (person)

Override

Captured Pages

View text
Skip to main content Close Search Contact Us Menu About UsServicesTestimonialsBloglinkedin Contact UsWho we areAt Better Life Accountancy we embrace proven technology solutions with the highest impact to save you time, so we can focus on delivering effective tax advice to save you money. Navigate to the next section How can we give you a Better Life? Be HumanIn an ever-changing world and AI seemingly a constant topic of discussion, finding the right balance between utilising technology and having access to an advisor who genuinely cares, is a tough ask. At Better Life, we offer regular touch points throughout the year, including pre and post-year end meetings so that we can take action before it’s too late. Be HumanIn an ever-changing world and AI seemingly a constant topic of discussion, finding the right balance between utilising technology and having access to an advisor who genuinely cares, is a tough ask. At Better Life, we offer regular touch points throughout the year, including pre and post-year end meetings so that we can take action before it’s too late. Embrace technologyBy using software to automate the mundane tasks and drive efficiencies, we can focus on what really matters to you – spending time to understand your aims and put a plan in place to help you achieve them. Embrace technologyBy using software to automate the mundane tasks and drive efficiencies, we can focus on what really matters to you – spending time to understand your aims and put a plan in place to help you achieve them. Growth mindsetAs a growing firm ourselves, we understand the challenges you face daily. Being a soundboard to bounce ideas off and provide solutions in those challenging periods. It’s what we do best. Growth mindsetAs a growing firm ourselves, we understand the challenges you face daily. Being a soundboard to bounce ideas off and provide solutions in those challenging periods. It’s what we do best. ResponsiveE-mail, phone call, whatsapp, in person meeting – whatever works for you! The key point is that we’re available and accessible when you need us. Important decisions for your business need to be made without delay and being accessible to you when you need us is a must ResponsiveE-mail, phone call, whatsapp, in person meeting – whatever works for you! The key point is that we’re available and accessible when you need us. Important decisions for your business need to be made without delay and being accessible to you when you need us is a must Meet the teamChris Land ACA CTAManaging Director and FounderAs a Chartered Accountant and Chartered Tax advisor with well over a decade of experience working with owner-managed businesses and SME’s in the region, Chris’ ability to explain complex matters in an understandable manner is highly valued by his clients. And don’t simply take our word for it either, check out what our clients think.In a traditional firm, you would often meet the partner at the start, then never see them again, only to be serviced by lower level members of the team. At Better Life Accountancy, we understand the importance of knowledge and experience, which is why you will always have access to a senior member of the team as part of our relationship.”We would thoroughly recommend him.Julie & Steve BrownJ A C Racing LLPContact Us What we do.At Better Life, We Do More Than Numbers: Discover How Our Services Can Transform Your Business.What we do.At Better Life, We Do More Than Numbers: Discover How Our Services Can Transform Your Business.Year end accountsCorporation taxBook-keeping and VAT returnsSelf-assessmentsPayroll & auto enrolmentCIS returnsP11D’sConfirmation statementsManagement accountsCGT planningIHT planningRemuneration planningSuccession planningTrust advice and planningTech reviewsBusiness AdvisoryDigital solutionsTrust tax returns Get In TouchTired of being underserviced and overcharged? We can help… Contact UsBook a MeetingGet In TouchTired of being underserviced and overcharged? We can help…Contact UsBook a Meeting Better Life Accountancy Limited. Privacy Policy. Website by Waywest Design. .vc_do_custom_heading{margin-bottom:0.625rem;margin-top:0;}.vc_do_custom_heading{margin-bottom:0.625rem;margin-top:0;} Close Menu About UsServicesTestimonialsBloglinkedin {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/salient-child\/*","\/wp-content\/themes\/salient\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} Manage Consent To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behaviour or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions. Functional Functional Always active The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network. Preferences Preferences The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user. Statistics Statistics The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you. Marketing Marketing The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes. Manage optionsManage servicesManage {vendor_count} vendorsRead more about these purposes Accept Deny View preferences Save preferences View preferences{title}{title}{title}Manage consent Landlords & property developersWe have extensive knowledge and experience dealing with property owners. Whether you have residential or furnished holiday lets, or you’re a developer, we have the expertise to help you. We can guide you through the complex tax landscape and ensure you are as efficient as possible and maximising the reliefs available. X You!Given our vast knowledge and experience working with owner-managed businesses of all shapes and sizes in a wide range of industries, we’re confident we can help you and your business. By implementing proven technology solutions to drive efficiencies, we can provide tailored tax advice to help you meet your personal and business goals. Get in touch to discuss how we can provide you with a Better Life. X Horse racing & bloodstockIf you’re a trainer, breeder or provide livery services, you’re in the right place! With complex tax rules and regulations to consider in addition to the usual compliance requirements, by choosing Better Life, you’re in safe hands. We have over a decade of experience in this sector and understand the unique issues you’ll face. To hear more about how we could help you, get in touch today. X TradespeopleWhether you’re a sub-contractor or contractor we can help ensure you not only meet your statutory requirements but that you thrive in a sector which can be challenging to operate in. We understand that forces often out of your control can have a big impact on your business, which is why we plan not only for the short term, but ensure you make longer term decisions for your benefit. With CIS, reverse-charge, payroll and other complex tax implications to consider it’s so important to have a knowledgeable advisor by your side to help you navigate these challenges. X Rural economyGone are the days where farmers only farmed! We have over a decade of experience advising the region’s agricultural sector. Whether you are a traditional farmer or have a diverse number of business activities, we can help. Technical knowledge and experience is key to ensure tax reliefs are maximised and you receive the best possible advice.” X Hospitality & tourismWe understand how challenging the hospitality and tourism industry can be which is why it’s crucial you’re as efficient as possible if you want to remain competitive in an ever-changing landscape. If you run a bar, restaurant, cafe or operate in the vibrant tourism industry the UK has to offer, get in touch to discuss how we can help. X Landlords & property developersWe have extensive knowledge and experience dealing with property owners. Whether you have residential or furnished holiday lets, or you’re a developer, we have the expertise to help you. We can guide you through the complex tax landscape and ensure you are as efficient as possible and maximising the reliefs available. X window.wpbCustomElement = 1; <div class="media-frame-title" id="media-frame-title"></div><h2 class="media-frame-menu-heading">Actions</h2> <button type="button" class="button button-link media-frame-menu-toggle" aria-expanded="false"> Menu <span class="dashicons dashicons-arrow-down" aria-hidden="true"></span> </button><div class="media-frame-menu"></div><div class="media-frame-tab-panel"><div class="media-frame-router"></div><div class="media-frame-content"></div></div><h2 class="media-frame-actions-heading screen-reader-text"> Selected media actions</h2><div class="media-frame-toolbar"></div><div class="media-frame-uploader"></div> <div tabindex="0" class="media-modal wp-core-ui" role="dialog" aria-labelledby="media-frame-title"> <# if ( data.hasCloseButton ) { #> <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text"> Close dialogue </span></span></button> <# } #><div class="media-modal-content" role="document"></div></div><div class="media-modal-backdrop"></div> <div class="uploader-window-content"><div class="uploader-editor-title">Drop files to upload</div></div> <div class="uploader-editor-content"><div class="uploader-editor-title">Drop files to upload</div></div> <# var messageClass = data.message ? 'has-upload-message' : 'no-upload-message'; #> <# if ( data.canClose ) { #> <button class="close dashicons dashicons-no"><span class="screen-reader-text"> Close uploader </span></button> <# } #><div class="uploader-inline-content {{ messageClass }}"> <# if ( data.message ) { #><h2 class="upload-message">{{ data.message }}</h2> <# } #><div class="upload-ui"><h2 class="upload-instructions drop-instructions">Drop files to upload</h2><p class="upload-instructions drop-instructions">or</p> <button type="button" class="browser button button-hero" aria-labelledby="post-upload-info">Select Files</button></div><div class="upload-inline-status"></div><div class="post-upload-ui" id="post-upload-info"><p class="max-upload-size"> Maximum upload file size: 0 B.</p> <# if ( data.suggestedWidth && data.suggestedHeight ) { #><p class="suggested-dimensions"> Suggested image dimensions: {{data.suggestedWidth}} by {{data.suggestedHeight}} pixels.</p> <# } #></div></div> <a href="https://betterlifeaccountancy.com/wp-admin/upload.php?mode=list" class="view-list"> <span class="screen-reader-text"> List view </span> </a> <a href="https://betterlifeaccountancy.com/wp-admin/upload.php?mode=grid" class="view-grid current" aria-current="page"> <span class="screen-reader-text"> Grid view </span> </a> <h2>Uploading</h2><div class="media-progress-bar"><div></div></div><div class="upload-details"> <span class="upload-count"> <span class="upload-index"></span> / <span class="upload-total"></span> </span> <span class="upload-detail-separator">&ndash;</span> <span class="upload-filename"></span></div><div class="upload-errors"></div> <button type="button" class="button upload-dismiss-errors">Dismiss errors</button> <span class="upload-error-filename word-wrap-break-word">{{{ data.filename }}}</span> <span class="upload-error-message">{{ data.message }}</span> <div class="edit-media-header"> <button class="left dashicons"<# if ( ! data.hasPrevious ) { #> disabled<# } #>><span class="screen-reader-text">Edit previous media item</span></button> <button class="right dashicons"<# if ( ! data.hasNext ) { #> disabled<# } #>><span class="screen-reader-text">Edit next media item</span></button> <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text">Close dialogue</span></span></button></div><div class="media-frame-title"></div><div class="media-frame-content"></div> <div class="attachment-media-view {{ data.orientation }}"><h2 class="screen-reader-text">Attachment Preview</h2><div class="thumbnail thumbnail-{{ data.type }}"> <# if ( data.uploading ) { #><div class="media-progress-bar"><div></div></div> <# } else if ( data.sizes && data.sizes.full ) { #> <img class="details-image" src="{{ data.sizes.full.url }}" draggable="false" alt="" /> <# } else if ( data.sizes && data.sizes.large ) { #> <img class="details-image" src="{{ data.sizes.large.url }}" draggable="false" alt="" /> <# } else if ( -1 === jQuery.inArray( data.type, [ 'audio', 'video' ] ) ) { #> <img class="details-image icon" src="{{ data.icon }}" draggable="false" alt="" /> <# } #> <# if ( 'audio' === data.type ) { #><div class="wp-media-wrapper wp-audio"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none"> <source type="{{ data.mime }}" src="{{ data.url }}" /> </audio></div> <# } else if ( 'video' === data.type ) { var w_rule = ''; if ( data.width ) { w_rule = 'width: ' + data.width + 'px;'; } else if ( wp.media.view.settings.contentWidth ) { w_rule = 'width: ' + wp.media.view.settings.contentWidth + 'px;'; } #><div style="{{ w_rule }}" class="wp-media-wrapper wp-video"><video controls="controls" class="wp-video-shortcode" preload="metadata" <# if ( data.width ) { #>width="{{ data.width }}"<# } #> <# if ( data.height ) { #>height="{{ data.height }}"<# } #> <# if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>> <source type="{{ data.mime }}" src="{{ data.url }}" /></video></div> <# } #><div class="attachment-actions"> <# if ( 'image' === data.type && ! data.uploading && data.sizes && data.can.save ) { #> <button type="button" class="button edit-attachment">Edit Image</button> <# } else if ( 'pdf' === data.subtype && data.sizes ) { #><p>Document Preview</p> <# } #></div></div></div><div class="attachment-info"> <span class="settings-save-status" role="status"> <span class="spinner"></span> <span class="saved">Saved.</span> </span><div class="details"><h2 class="screen-reader-text"> Details</h2><div class="uploaded"><strong>Uploaded on:</strong> {{ data.dateFormatted }}</div><div class="uploaded-by"> <strong>Uploaded by:</strong> <# if ( data.authorLink ) { #> <a href="{{ data.authorLink }}">{{ data.authorName }}</a> <# } else { #> {{ data.authorName }} <# } #></div> <# if ( data.uploadedToTitle ) { #><div class="uploaded-to"> <strong>Uploaded to:</strong> <# if ( data.uploadedToLink ) { #> <a href="{{ data.uploadedToLink }}">{{ data.uploadedToTitle }}</a> <# } else { #> {{ data.uploadedToTitle }} <# } #></div> <# } #><div class="filename"><strong>File name:</strong> {{ data.filename }}</div><div class="file-type"><strong>File type:</strong> {{ data.mime }}</div><div class="file-size"><strong>File size:</strong> {{ data.filesizeHumanReadable }}</div> <# if ( 'image' === data.type && ! data.uploading ) { #> <# if ( data.width && data.height ) { #><div class="dimensions"><strong>Dimensions:</strong> {{ data.width }} by {{ data.height }} pixels</div> <# } #> <# if ( data.originalImageURL && data.originalImageName ) { #><div class="word-wrap-break-word"> <strong>Original image:</strong> <a href="{{ data.originalImageURL }}">{{data.originalImageName}}</a></div> <# } #> <# } #> <# if ( data.fileLength && data.fileLengthHumanReadable ) { #><div class="file-length"><strong>Length:</strong> <span aria-hidden="true">{{ data.fileLengthHumanReadable }}</span> <span class="screen-reader-text">{{ data.fileLengthHumanReadable }}</span></div> <# } #> <# if ( 'audio' === data.type && data.meta.bitrate ) { #><div class="bitrate"> <strong>Bitrate:</strong> {{ Math.round( data.meta.bitrate / 1000 ) }}kb/s <# if ( data.meta.bitrate_mode ) { #> {{ ' ' + data.meta.bitrate_mode.toUpperCase() }} <# } #></div> <# } #> <# if ( data.mediaStates ) { #><div class="media-states"><strong>Used as:</strong> {{ data.mediaStates }}</div> <# } #><div class="compat-meta"> <# if ( data.compat && data.compat.meta ) { #> {{{ data.compat.meta }}} <# } #></div></div><div class="settings"> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #> <# if ( 'image' === data.type ) { #> <span class="setting alt-text has-description" data-setting="alt"> <label for="attachment-details-two-column-alt-text" class="name">Alternative Text</label><textarea id="attachment-details-two-column-alt-text" aria-describedby="alt-text-description" {{ maybeReadOnly }}>{{ data.alt }}</textarea></span><p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <# } #> <span class="setting" data-setting="title"> <label for="attachment-details-two-column-title" class="name">Title</label> <input type="text" id="attachment-details-two-column-title" value="{{ data.title }}" {{ maybeReadOnly }} /> </span> <# if ( 'audio' === data.type ) { #> <span class="setting" data-setting="artist"> <label for="attachment-details-two-column-artist" class="name">Artist</label> <input type="text" id="attachment-details-two-column-artist" value="{{ data.artist || data.meta.artist || '' }}" /> </span> <span class="setting" data-setting="album"> <label for="attachment-details-two-column-album" class="name">Album</label> <input type="text" id="attachment-details-two-column-album" value="{{ data.album || data.meta.album || '' }}" /> </span> <# } #> <span class="setting" data-setting="caption"> <label for="attachment-details-two-column-caption" class="name">Caption</label><textarea id="attachment-details-two-column-caption" {{ maybeReadOnly }}>{{ data.caption }}</textarea></span> <span class="setting" data-setting="description"> <label for="attachment-details-two-column-description" class="name">Description</label><textarea id="attachment-details-two-column-description" {{ maybeReadOnly }}>{{ data.description }}</textarea></span> <span class="setting" data-setting="url"> <label for="attachment-details-two-column-copy-link" class="name">File URL:</label> <input type="text" class="attachment-details-copy-link" id="attachment-details-two-column-copy-link" value="{{ data.url }}" readonly /> <span class="copy-to-clipboard-container"> <button type="button" class="button button-small copy-attachment-url" data-clipboard-target="#attachment-details-two-column-copy-link">Copy URL to clipboard</button> <span class="success hidden" aria-hidden="true">Copied!</span> </span> </span><div class="attachment-compat"></div></div><div class="actions"> <# if ( data.link ) { #> <a class="view-attachment" href="{{ data.link }}">View media file</a> <# } #> <# if ( data.can.save ) { #> <# if ( data.link ) { #> <span class="links-separator">|</span> <# } #> <a href="{{ data.editLink }}">Edit more details</a> <# } #> <# if ( data.can.save && data.link ) { #> <span class="links-separator">|</span> <a href="{{ data.url }}" download>Download file</a> <# } #> <# if ( ! data.uploading && data.can.remove ) { #> <# if ( data.link || data.can.save ) { #> <span class="links-separator">|</span> <# } #> <button type="button" class="button-link delete-attachment">Delete permanently</button> <# } #></div></div> <div class="attachment-preview js--select-attachment type-{{ data.type }} subtype-{{ data.subtype }} {{ data.orientation }}"><div class="thumbnail"> <# if ( data.uploading ) { #><div class="media-progress-bar"><div style="width: {{ data.percent }}%"></div></div> <# } else if ( 'image' === data.type && data.size && data.size.url ) { #><div class="centered"> <img src="{{ data.size.url }}" draggable="false" alt="" /></div> <# } else { #><div class="centered"> <# if ( data.image && data.image.src && data.image.src !== data.icon ) { #> <img src="{{ data.image.src }}" class="thumbnail" draggable="false" alt="" /> <# } else if ( data.sizes ) { if ( data.sizes.medium ) { #> <img src="{{ data.sizes.medium.url }}" class="thumbnail" draggable="false" alt="" /> <# } else { #> <img src="{{ data.sizes.full.url }}" class="thumbnail" draggable="false" alt="" /> <# } #> <# } else { #> <img src="{{ data.icon }}" class="icon" draggable="false" alt="" /> <# } #></div><div class="filename"><div>{{ data.filename }}</div></div> <# } #></div> <# if ( data.buttons.close ) { #> <button type="button" class="button-link attachment-close media-modal-icon"><span class="screen-reader-text"> Remove </span></button> <# } #></div> <# if ( data.buttons.check ) { #> <button type="button" class="check" tabindex="-1"><span class="media-modal-icon"></span><span class="screen-reader-text"> Deselect </span></button> <# } #> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; if ( data.describe ) { if ( 'image' === data.type ) { #> <input type="text" value="{{ data.caption }}" class="describe" data-setting="caption" aria-label="Caption" placeholder="Caption&hellip;" {{ maybeReadOnly }} /> <# } else { #> <input type="text" value="{{ data.title }}" class="describe" data-setting="title" <# if ( 'video' === data.type ) { #> aria-label="Video title" placeholder="Video title&hellip;" <# } else if ( 'audio' === data.type ) { #> aria-label="Audio title" placeholder="Audio title&hellip;" <# } else { #> aria-label="Media title" placeholder="Media title&hellip;" <# } #> {{ maybeReadOnly }} /> <# } } #> <h2> Attachment Details <span class="settings-save-status" role="status"> <span class="spinner"></span> <span class="saved">Saved.</span> </span></h2><div class="attachment-info"> <# if ( 'audio' === data.type ) { #><div class="wp-media-wrapper wp-audio"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none"> <source type="{{ data.mime }}" src="{{ data.url }}" /> </audio></div> <# } else if ( 'video' === data.type ) { var w_rule = ''; if ( data.width ) { w_rule = 'width: ' + data.width + 'px;'; } else if ( wp.media.view.settings.contentWidth ) { w_rule = 'width: ' + wp.media.view.settings.contentWidth + 'px;'; } #><div style="{{ w_rule }}" class="wp-media-wrapper wp-video"><video controls="controls" class="wp-video-shortcode" preload="metadata" <# if ( data.width ) { #>width="{{ data.width }}"<# } #> <# if ( data.height ) { #>height="{{ data.height }}"<# } #> <# if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>> <source type="{{ data.mime }}" src="{{ data.url }}" /></video></div> <# } else { #><div class="thumbnail thumbnail-{{ data.type }}"> <# if ( data.uploading ) { #><div class="media-progress-bar"><div></div></div> <# } else if ( 'image' === data.type && data.size && data.size.url ) { #> <img src="{{ data.size.url }}" draggable="false" alt="" /> <# } else { #> <img src="{{ data.icon }}" class="icon" draggable="false" alt="" /> <# } #></div> <# } #><div class="details"><div class="filename">{{ data.filename }}</div><div class="uploaded">{{ data.dateFormatted }}</div><div class="file-size">{{ data.filesizeHumanReadable }}</div> <# if ( 'image' === data.type && ! data.uploading ) { #> <# if ( data.width && data.height ) { #><div class="dimensions"> {{ data.width }} by {{ data.height }} pixels</div> <# } #> <# if ( data.originalImageURL && data.originalImageName ) { #><div class="word-wrap-break-word"> Original image: <a href="{{ data.originalImageURL }}">{{data.originalImageName}}</a></div> <# } #> <# if ( data.can.save && data.sizes ) { #> <a class="edit-attachment" href="{{ data.editLink }}&amp;image-editor" target="_blank">Edit Image</a> <# } #> <# } #> <# if ( data.fileLength && data.fileLengthHumanReadable ) { #><div class="file-length">Length: <span aria-hidden="true">{{ data.fileLengthHumanReadable }}</span> <span class="screen-reader-text">{{ data.fileLengthHumanReadable }}</span></div> <# } #> <# if ( data.mediaStates ) { #><div class="media-states"><strong>Used as:</strong> {{ data.mediaStates }}</div> <# } #> <# if ( ! data.uploading && data.can.remove ) { #> <button type="button" class="button-link delete-attachment">Delete permanently</button> <# } #><div class="compat-meta"> <# if ( data.compat && data.compat.meta ) { #> {{{ data.compat.meta }}} <# } #></div></div></div> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #> <# if ( 'image' === data.type ) { #> <span class="setting alt-text has-description" data-setting="alt"> <label for="attachment-details-alt-text" class="name">Alt Text</label><textarea id="attachment-details-alt-text" aria-describedby="alt-text-description" {{ maybeReadOnly }}>{{ data.alt }}</textarea></span><p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <# } #> <span class="setting" data-setting="title"> <label for="attachment-details-title" class="name">Title</label> <input type="text" id="attachment-details-title" value="{{ data.title }}" {{ maybeReadOnly }} /> </span> <# if ( 'audio' === data.type ) { #> <span class="setting" data-setting="artist"> <label for="attachment-details-artist" class="name">Artist</label> <input type="text" id="attachment-details-artist" value="{{ data.artist || data.meta.artist || '' }}" /> </span> <span class="setting" data-setting="album"> <label for="attachment-details-album" class="name">Album</label> <input type="text" id="attachment-details-album" value="{{ data.album || data.meta.album || '' }}" /> </span> <# } #> <span class="setting" data-setting="caption"> <label for="attachment-details-caption" class="name">Caption</label><textarea id="attachment-details-caption" {{ maybeReadOnly }}>{{ data.caption }}</textarea></span> <span class="setting" data-setting="description"> <label for="attachment-details-description" class="name">Description</label><textarea id="attachment-details-description" {{ maybeReadOnly }}>{{ data.description }}</textarea></span> <span class="setting" data-setting="url"> <label for="attachment-details-copy-link" class="name">File URL:</label> <input type="text" class="attachment-details-copy-link" id="attachment-details-copy-link" value="{{ data.url }}" readonly /><div class="copy-to-clipboard-container"> <button type="button" class="button button-small copy-attachment-url" data-clipboard-target="#attachment-details-copy-link">Copy URL to clipboard</button> <span class="success hidden" aria-hidden="true">Copied!</span></div> </span> <div class="selection-info"> <span class="count"></span> <# if ( data.editable ) { #> <button type="button" class="button-link edit-selection">Edit Selection</button> <# } #> <# if ( data.clearable ) { #> <button type="button" class="button-link clear-selection">Clear</button> <# } #></div><div class="selection-view"></div> <h2>Attachment Display Settings</h2> <# if ( 'image' === data.type ) { #> <span class="setting align"> <label for="attachment-display-settings-alignment" class="name">Alignment</label> <select id="attachment-display-settings-alignment" class="alignment" data-setting="align" <# if ( data.userSettings ) { #> data-user-setting="align" <# } #>><option value="left"> Left</option><option value="center"> Centre</option><option value="right"> Right</option><option value="none" selected> None</option> </select> </span> <# } #> <span class="setting"> <label for="attachment-display-settings-link-to" class="name"> <# if ( data.model.canEmbed ) { #> Embed or Link <# } else { #> Link To <# } #> </label> <select id="attachment-display-settings-link-to" class="link-to" data-setting="link" <# if ( data.userSettings && ! data.model.canEmbed ) { #> data-user-setting="urlbutton" <# } #>> <# if ( data.model.canEmbed ) { #><option value="embed" selected> Embed Media Player</option><option value="file"> <# } else { #><option value="none" selected> None</option><option value="file"> <# } #> <# if ( data.model.canEmbed ) { #> Link to Media File <# } else { #> Media File <# } #></option><option value="post"> <# if ( data.model.canEmbed ) { #> Link to Attachment Page <# } else { #> Attachment Page <# } #></option> <# if ( 'image' === data.type ) { #><option value="custom"> Custom URL</option> <# } #> </select> </span> <span class="setting"> <label for="attachment-display-settings-link-to-custom" class="name">URL</label> <input type="text" id="attachment-display-settings-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span> <# if ( 'undefined' !== typeof data.sizes ) { #> <span class="setting"> <label for="attachment-display-settings-size" class="name">Size</label> <select id="attachment-display-settings-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #>> <# var size = data.sizes['thumbnail']; if ( size ) { #><option value="thumbnail" > Thumbnail &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['medium']; if ( size ) { #><option value="medium" > Medium &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['large']; if ( size ) { #><option value="large" > Large &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['full']; if ( size ) { #><option value="full" selected='selected'> Full Size &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> </select> </span> <# } #> <h2>Gallery Settings</h2> <span class="setting"> <label for="gallery-settings-link-to" class="name">Link To</label> <select id="gallery-settings-link-to" class="link-to" data-setting="link" <# if ( data.userSettings ) { #> data-user-setting="urlbutton" <# } #>><option value="post" <# if ( ! wp.media.galleryDefaults.link || 'post' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> Attachment Page</option><option value="file" <# if ( 'file' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> Media File</option><option value="none" <# if ( 'none' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> None</option> </select> </span> <span class="setting"> <label for="gallery-settings-columns" class="name select-label-inline">Columns</label> <select id="gallery-settings-columns" class="columns" name="columns" data-setting="columns"><option value="1" <# if ( 1 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 1</option><option value="2" <# if ( 2 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 2</option><option value="3" <# if ( 3 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 3</option><option value="4" <# if ( 4 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 4</option><option value="5" <# if ( 5 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 5</option><option value="6" <# if ( 6 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 6</option><option value="7" <# if ( 7 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 7</option><option value="8" <# if ( 8 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 8</option><option value="9" <# if ( 9 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 9</option> </select> </span> <span class="setting"> <input type="checkbox" id="gallery-settings-random-order" data-setting="_orderbyRandom" /> <label for="gallery-settings-random-order" class="checkbox-label-inline">Random Order</label> </span> <span class="setting size"> <label for="gallery-settings-size" class="name">Size</label> <select id="gallery-settings-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #> ><option value="thumbnail"> Thumbnail</option><option value="medium"> Medium</option><option value="large"> Large</option><option value="full"> Full Size</option> </select> </span> <h2>Playlist Settings</h2> <# var emptyModel = _.isEmpty( data.model ), isVideo = 'video' === data.controller.get('library').props.get('type'); #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-list" data-setting="tracklist" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-list" class="checkbox-label-inline"> <# if ( isVideo ) { #> Show Video List <# } else { #> Show Tracklist <# } #> </label> </span> <# if ( ! isVideo ) { #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-artist" data-setting="artists" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-artist" class="checkbox-label-inline"> Show Artist Name in Tracklist </label> </span> <# } #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-images" data-setting="images" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-images" class="checkbox-label-inline"> Show Images </label> </span> <span class="setting link-text"> <label for="embed-link-settings-link-text" class="name">Link Text</label> <input type="text" id="embed-link-settings-link-text" class="alignment" data-setting="linkText" /> </span><div class="embed-container" style="display: none;"><div class="embed-preview"></div></div> <div class="wp-clearfix"><div class="thumbnail"> <img src="{{ data.model.url }}" draggable="false" alt="" /></div></div> <span class="setting alt-text has-description"> <label for="embed-image-settings-alt-text" class="name">Alternative Text</label><textarea id="embed-image-settings-alt-text" data-setting="alt" aria-describedby="alt-text-description"></textarea></span><p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <span class="setting caption"> <label for="embed-image-settings-caption" class="name">Caption</label><textarea id="embed-image-settings-caption" data-setting="caption"></textarea></span><fieldset class="setting-group"><legend class="name">Align</legend> <span class="setting align"> <span class="button-group button-large" data-setting="align"> <button class="button" value="left"> Left </button> <button class="button" value="center"> Centre </button> <button class="button" value="right"> Right </button> <button class="button active" value="none"> None </button> </span> </span></fieldset><fieldset class="setting-group"><legend class="name">Link To</legend> <span class="setting link-to"> <span class="button-group button-large" data-setting="link"> <button class="button" value="file"> Image URL </button> <button class="button" value="custom"> Custom URL </button> <button class="button active" value="none"> None </button> </span> </span> <span class="setting"> <label for="embed-image-settings-link-to-custom" class="name">URL</label> <input type="text" id="embed-image-settings-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span></fieldset> <div class="media-embed"><div class="embed-media-settings"><div class="column-settings"> <span class="setting alt-text has-description"> <label for="image-details-alt-text" class="name">Alternative Text</label><textarea id="image-details-alt-text" data-setting="alt" aria-describedby="alt-text-description">{{ data.model.alt }}</textarea></span><p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <span class="setting caption"> <label for="image-details-caption" class="name">Caption</label><textarea id="image-details-caption" data-setting="caption">{{ data.model.caption }}</textarea></span><h2>Display Settings</h2><fieldset class="setting-group"><legend class="legend-inline">Align</legend> <span class="setting align"> <span class="button-group button-large" data-setting="align"> <button class="button" value="left"> Left </button> <button class="button" value="center"> Centre </button> <button class="button" value="right"> Right </button> <button class="button active" value="none"> None </button> </span> </span></fieldset> <# if ( data.attachment ) { #> <# if ( 'undefined' !== typeof data.attachment.sizes ) { #> <span class="setting size"> <label for="image-details-size" class="name">Size</label> <select id="image-details-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #>> <# var size = data.sizes['thumbnail']; if ( size ) { #><option value="thumbnail"> Thumbnail &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['medium']; if ( size ) { #><option value="medium"> Medium &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['large']; if ( size ) { #><option value="large"> Large &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['full']; if ( size ) { #><option value="full"> Full Size &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #><option value="custom"> Custom Size</option> </select> </span> <# } #><div class="custom-size wp-clearfix<# if ( data.model.size !== 'custom' ) { #> hidden<# } #>"> <span class="custom-size-setting"> <label for="image-details-size-width">Width</label> <input type="number" id="image-details-size-width" aria-describedby="image-size-desc" data-setting="customWidth" step="1" value="{{ data.model.customWidth }}" /> </span> <span class="sep" aria-hidden="true">&times;</span> <span class="custom-size-setting"> <label for="image-details-size-height">Height</label> <input type="number" id="image-details-size-height" aria-describedby="image-size-desc" data-setting="customHeight" step="1" value="{{ data.model.customHeight }}" /> </span><p id="image-size-desc" class="description">Image size in pixels</p></div> <# } #> <span class="setting link-to"> <label for="image-details-link-to" class="name">Link To</label> <select id="image-details-link-to" data-setting="link"> <# if ( data.attachment ) { #><option value="file"> Media File</option><option value="post"> Attachment Page</option> <# } else { #><option value="file"> Image URL</option> <# } #><option value="custom"> Custom URL</option><option value="none"> None</option> </select> </span> <span class="setting"> <label for="image-details-link-to-custom" class="name">URL</label> <input type="text" id="image-details-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span><div class="advanced-section"><h2><button type="button" class="button-link advanced-toggle">Advanced Options</button></h2><div class="advanced-settings hidden"><div class="advanced-image"> <span class="setting title-text"> <label for="image-details-title-attribute" class="name">Image Title Attribute</label> <input type="text" id="image-details-title-attribute" data-setting="title" value="{{ data.model.title }}" /> </span> <span class="setting extra-classes"> <label for="image-details-css-class" class="name">Image CSS Class</label> <input type="text" id="image-details-css-class" data-setting="extraClasses" value="{{ data.model.extraClasses }}" /> </span></div><div class="advanced-link"> <span class="setting link-target"> <input type="checkbox" id="image-details-link-target" data-setting="linkTargetBlank" value="_blank" <# if ( data.model.linkTargetBlank ) { #>checked="checked"<# } #>> <label for="image-details-link-target" class="checkbox-label">Open link in a new tab</label> </span> <span class="setting link-rel"> <label for="image-details-link-rel" class="name">Link Rel</label> <input type="text" id="image-details-link-rel" data-setting="linkRel" value="{{ data.model.linkRel }}" /> </span> <span class="setting link-class-name"> <label for="image-details-link-css-class" class="name">Link CSS Class</label> <input type="text" id="image-details-link-css-class" data-setting="linkClassName" value="{{ data.model.linkClassName }}" /> </span></div></div></div></div><div class="column-image"><div class="image"> <img src="{{ data.model.url }}" draggable="false" alt="" /> <# if ( data.attachment && window.imageEdit ) { #><div class="actions"> <input type="button" class="edit-attachment button" value="Edit Original" /> <input type="button" class="replace-attachment button" value="Replace" /></div> <# } #></div></div></div></div> <div id="media-head-{{ data.id }}"></div><div id="image-editor-{{ data.id }}"></div> <# var ext, html5types = { mp3: wp.media.view.settings.embedMimes.mp3, ogg: wp.media.view.settings.embedMimes.ogg }; #><div class="media-embed media-embed-details"><div class="embed-media-settings embed-audio-settings"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="{{ _.isUndefined( data.model.width ) ? 400 : data.model.width }}" preload="{{ _.isUndefined( data.model.preload ) ? 'none' : data.model.preload }}" <# if ( ! _.isUndefined( data.model.autoplay ) && data.model.autoplay ) { #> autoplay<# } if ( ! _.isUndefined( data.model.loop ) && data.model.loop ) { #> loop<# } #> > <# if ( ! _.isEmpty( data.model.src ) ) { #> <source src="{{ data.model.src }}" type="{{ wp.media.view.settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.mp3 ) ) { #> <source src="{{ data.model.mp3 }}" type="{{ wp.media.view.settings.embedMimes[ 'mp3' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.ogg ) ) { #> <source src="{{ data.model.ogg }}" type="{{ wp.media.view.settings.embedMimes[ 'ogg' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.flac ) ) { #> <source src="{{ data.model.flac }}" type="{{ wp.media.view.settings.embedMimes[ 'flac' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.m4a ) ) { #> <source src="{{ data.model.m4a }}" type="{{ wp.media.view.settings.embedMimes[ 'm4a' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.wav ) ) { #> <source src="{{ data.model.wav }}" type="{{ wp.media.view.settings.embedMimes[ 'wav' ] }}" /> <# } #> </audio> <# if ( ! _.isEmpty( data.model.src ) ) { ext = data.model.src.split('.').pop(); if ( html5types[ ext ] ) { delete html5types[ ext ]; } #> <span class="setting"> <label for="audio-details-source" class="name">URL</label> <input type="text" id="audio-details-source" readonly data-setting="src" value="{{ data.model.src }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.mp3 ) ) { if ( ! _.isUndefined( html5types.mp3 ) ) { delete html5types.mp3; } #> <span class="setting"> <label for="audio-details-mp3-source" class="name">MP3</label> <input type="text" id="audio-details-mp3-source" readonly data-setting="mp3" value="{{ data.model.mp3 }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.ogg ) ) { if ( ! _.isUndefined( html5types.ogg ) ) { delete html5types.ogg; } #> <span class="setting"> <label for="audio-details-ogg-source" class="name">OGG</label> <input type="text" id="audio-details-ogg-source" readonly data-setting="ogg" value="{{ data.model.ogg }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.flac ) ) { if ( ! _.isUndefined( html5types.flac ) ) { delete html5types.flac; } #> <span class="setting"> <label for="audio-details-flac-source" class="name">FLAC</label> <input type="text" id="audio-details-flac-source" readonly data-setting="flac" value="{{ data.model.flac }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.m4a ) ) { if ( ! _.isUndefined( html5types.m4a ) ) { delete html5types.m4a; } #> <span class="setting"> <label for="audio-details-m4a-source" class="name">M4A</label> <input type="text" id="audio-details-m4a-source" readonly data-setting="m4a" value="{{ data.model.m4a }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.wav ) ) { if ( ! _.isUndefined( html5types.wav ) ) { delete html5types.wav; } #> <span class="setting"> <label for="audio-details-wav-source" class="name">WAV</label> <input type="text" id="audio-details-wav-source" readonly data-setting="wav" value="{{ data.model.wav }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( html5types ) ) { #><fieldset class="setting-group"><legend class="name">Add alternate sources for maximum HTML5 playback</legend> <span class="setting"> <span class="button-large"> <# _.each( html5types, function (mime, type) { #> <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button> <# } ) #> </span> </span></fieldset> <# } #><fieldset class="setting-group"><legend class="name">Preload</legend> <span class="setting preload"> <span class="button-group button-large" data-setting="preload"> <button class="button" value="auto">Auto</button> <button class="button" value="metadata">Metadata</button> <button class="button active" value="none">None</button> </span> </span></fieldset> <span class="setting-group"> <span class="setting checkbox-setting autoplay"> <input type="checkbox" id="audio-details-autoplay" data-setting="autoplay" /> <label for="audio-details-autoplay" class="checkbox-label">Autoplay</label> </span> <span class="setting checkbox-setting"> <input type="checkbox" id="audio-details-loop" data-setting="loop" /> <label for="audio-details-loop" class="checkbox-label">Loop</label> </span> </span></div></div> <# var ext, html5types = { mp4: wp.media.view.settings.embedMimes.mp4, ogv: wp.media.view.settings.embedMimes.ogv, webm: wp.media.view.settings.embedMimes.webm }; #><div class="media-embed media-embed-details"><div class="embed-media-settings embed-video-settings"><div class="wp-video-holder"> <# var w = ! data.model.width || data.model.width > 640 ? 640 : data.model.width, h = ! data.model.height ? 360 : data.model.height; if ( data.model.width && w !== data.model.width ) { h = Math.ceil( ( h * w ) / data.model.width ); } #> <# var w_rule = '', classes = [], w, h, settings = wp.media.view.settings, isYouTube = isVimeo = false; if ( ! _.isEmpty( data.model.src ) ) { isYouTube = data.model.src.match(/youtube|youtu\.be/); isVimeo = -1 !== data.model.src.indexOf('vimeo'); } if ( settings.contentWidth && data.model.width >= settings.contentWidth ) { w = settings.contentWidth; } else { w = data.model.width; } if ( w !== data.model.width ) { h = Math.ceil( ( data.model.height * w ) / data.model.width ); } else { h = data.model.height; } if ( w ) { w_rule = 'width: ' + w + 'px; '; } if ( isYouTube ) { classes.push( 'youtube-video' ); } if ( isVimeo ) { classes.push( 'vimeo-video' ); } #><div style="{{ w_rule }}" class="wp-video"><video controls class="wp-video-shortcode {{ classes.join( ' ' ) }}" <# if ( w ) { #>width="{{ w }}"<# } #> <# if ( h ) { #>height="{{ h }}"<# } #> <# if ( ! _.isUndefined( data.model.poster ) && data.model.poster ) { #> poster="{{ data.model.poster }}"<# } #> preload ="{{ _.isUndefined( data.model.preload ) ? 'metadata' : data.model.preload }}" <# if ( ! _.isUndefined( data.model.autoplay ) && data.model.autoplay ) { #> autoplay<# } if ( ! _.isUndefined( data.model.loop ) && data.model.loop ) { #> loop<# } #> > <# if ( ! _.isEmpty( data.model.src ) ) { if ( isYouTube ) { #> <source src="{{ data.model.src }}" type="video/youtube" /> <# } else if ( isVimeo ) { #> <source src="{{ data.model.src }}" type="video/vimeo" /> <# } else { #> <source src="{{ data.model.src }}" type="{{ settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> <# } } #> <# if ( data.model.mp4 ) { #> <source src="{{ data.model.mp4 }}" type="{{ settings.embedMimes[ 'mp4' ] }}" /> <# } #> <# if ( data.model.m4v ) { #> <source src="{{ data.model.m4v }}" type="{{ settings.embedMimes[ 'm4v' ] }}" /> <# } #> <# if ( data.model.webm ) { #> <source src="{{ data.model.webm }}" type="{{ settings.embedMimes[ 'webm' ] }}" /> <# } #> <# if ( data.model.ogv ) { #> <source src="{{ data.model.ogv }}" type="{{ settings.embedMimes[ 'ogv' ] }}" /> <# } #> <# if ( data.model.flv ) { #> <source src="{{ data.model.flv }}" type="{{ settings.embedMimes[ 'flv' ] }}" /> <# } #> {{{ data.model.content }}}</video></div> <# if ( ! _.isEmpty( data.model.src ) ) { ext = data.model.src.split('.').pop(); if ( html5types[ ext ] ) { delete html5types[ ext ]; } #> <span class="setting"> <label for="video-details-source" class="name">URL</label> <input type="text" id="video-details-source" readonly data-setting="src" value="{{ data.model.src }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.mp4 ) ) { if ( ! _.isUndefined( html5types.mp4 ) ) { delete html5types.mp4; } #> <span class="setting"> <label for="video-details-mp4-source" class="name">MP4</label> <input type="text" id="video-details-mp4-source" readonly data-setting="mp4" value="{{ data.model.mp4 }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.m4v ) ) { if ( ! _.isUndefined( html5types.m4v ) ) { delete html5types.m4v; } #> <span class="setting"> <label for="video-details-m4v-source" class="name">M4V</label> <input type="text" id="video-details-m4v-source" readonly data-setting="m4v" value="{{ data.model.m4v }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.webm ) ) { if ( ! _.isUndefined( html5types.webm ) ) { delete html5types.webm; } #> <span class="setting"> <label for="video-details-webm-source" class="name">WEBM</label> <input type="text" id="video-details-webm-source" readonly data-setting="webm" value="{{ data.model.webm }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.ogv ) ) { if ( ! _.isUndefined( html5types.ogv ) ) { delete html5types.ogv; } #> <span class="setting"> <label for="video-details-ogv-source" class="name">OGV</label> <input type="text" id="video-details-ogv-source" readonly data-setting="ogv" value="{{ data.model.ogv }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.flv ) ) { if ( ! _.isUndefined( html5types.flv ) ) { delete html5types.flv; } #> <span class="setting"> <label for="video-details-flv-source" class="name">FLV</label> <input type="text" id="video-details-flv-source" readonly data-setting="flv" value="{{ data.model.flv }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #></div> <# if ( ! _.isEmpty( html5types ) ) { #><fieldset class="setting-group"><legend class="name">Add alternate sources for maximum HTML5 playback</legend> <span class="setting"> <span class="button-large"> <# _.each( html5types, function (mime, type) { #> <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button> <# } ) #> </span> </span></fieldset> <# } #> <# if ( ! _.isEmpty( data.model.poster ) ) { #> <span class="setting"> <label for="video-details-poster-image" class="name">Poster Image</label> <input type="text" id="video-details-poster-image" readonly data-setting="poster" value="{{ data.model.poster }}" /> <button type="button" class="button-link remove-setting">Remove poster image</button> </span> <# } #><fieldset class="setting-group"><legend class="name">Preload</legend> <span class="setting preload"> <span class="button-group button-large" data-setting="preload"> <button class="button" value="auto">Auto</button> <button class="button" value="metadata">Metadata</button> <button class="button active" value="none">None</button> </span> </span></fieldset> <span class="setting-group"> <span class="setting checkbox-setting autoplay"> <input type="checkbox" id="video-details-autoplay" data-setting="autoplay" /> <label for="video-details-autoplay" class="checkbox-label">Autoplay</label> </span> <span class="setting checkbox-setting"> <input type="checkbox" id="video-details-loop" data-setting="loop" /> <label for="video-details-loop" class="checkbox-label">Loop</label> </span> </span> <span class="setting" data-setting="content"> <# var content = ''; if ( ! _.isEmpty( data.model.content ) ) { var tracks = jQuery( data.model.content ).filter( 'track' ); _.each( tracks.toArray(), function( track, index ) { content += track.outerHTML; #> <label for="video-details-track-{{ index }}" class="name">Tracks (subtitles, captions, descriptions, chapters, or metadata)</label> <input class="content-track" type="text" id="video-details-track-{{ index }}" aria-describedby="video-details-track-desc-{{ index }}" value="{{ track.outerHTML }}" /> <span class="description" id="video-details-track-desc-{{ index }}"> The srclang, label, and kind values can be edited to set the video track language and kind. </span> <button type="button" class="button-link remove-setting remove-track">Remove video track</button><br /> <# } ); #> <# } else { #> <span class="name">Tracks (subtitles, captions, descriptions, chapters, or metadata)</span><br /> <em>There are no associated subtitles.</em> <# } #><textarea class="hidden content-setting">{{ content }}</textarea></span></div></div> <# if ( data.attachments.length ) { #><div class="gallery gallery-columns-{{ data.columns }}"> <# _.each( data.attachments, function( attachment, index ) { #><dl class="gallery-item"><dt class="gallery-icon"> <# if ( attachment.thumbnail ) { #> <img src="{{ attachment.thumbnail.url }}" width="{{ attachment.thumbnail.width }}" height="{{ attachment.thumbnail.height }}" alt="{{ attachment.alt }}" /> <# } else { #> <img src="{{ attachment.url }}" alt="{{ attachment.alt }}" /> <# } #></dt> <# if ( attachment.caption ) { #><dd class="wp-caption-text gallery-caption"> {{{ data.verifyHTML( attachment.caption ) }}}</dd> <# } #></dl> <# if ( index % data.columns === data.columns - 1 ) { #> <br style="clear: both;" /> <# } #> <# } ); #></div> <# } else { #><div class="wpview-error"><div class="dashicons dashicons-format-gallery"></div><p>No items found.</p></div> <# } #> <img class="crop-image" src="{{ data.url }}" alt="Image crop area preview. Requires mouse interaction." /><div class="upload-errors"></div> <style> :root{ --site-icon-url: url( "{{ data.url }}" ); } </style><h2>Site Icon Preview</h2><p>As an app icon and a browser icon.</p><div class="site-icon-preview crop"><div class="image-preview-wrap app-icon-preview"> <img id="preview-app-icon" src="{{ data.url }}" class="app-icon-preview" alt="Preview as an app icon" /></div><div class="site-icon-preview-browser"> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="browser-buttons"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 20a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm18 0a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm24-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z" /></svg><div class="site-icon-preview-tab"><div class="image-preview-wrap browser"> <img id="preview-favicon" src="{{ data.url }}" class="browser-icon-preview" alt="Preview as a browser icon" /></div><div class="site-icon-preview-site-title" aria-hidden="true"><# print( 'Better Life Accountancy' ) #></div> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="close-button"> <path d="M12 13.0607L15.7123 16.773L16.773 15.7123L13.0607 12L16.773 8.28772L15.7123 7.22706L12 10.9394L8.28771 7.22705L7.22705 8.28771L10.9394 12L7.22706 15.7123L8.28772 16.773L12 13.0607Z" /> </svg></div></div></div></div> <p class="pum-sub-form-desc"> Popup: ID "{{attrs.id}}"</p> <# const allowedTags = ["a","abbr","acronym","b","blockquote","cite","code","del","em","i","q","s","strike","strong"]; const tag = allowedTags.indexOf( attrs.tag ) >= 0 ? attrs.tag : 'span'; #> <{{{tag}}} class="pum-trigger popmake-{{{attrs.id}}} {{{attrs.classes}}}">{{{attrs._inner_content}}}</{{{tag}}}> <# const allowedTags = ["a","abbr","acronym","b","blockquote","cite","code","del","em","i","q","s","strike","strong"]; const tag = allowedTags.indexOf( attrs.tag ) >= 0 ? attrs.tag : 'span'; #> <{{{tag}}} class="pum-close popmake-close <# if (typeof attrs.classes !== 'undefined') print(attrs.classes); #>">{{{attrs._inner_content}}}</{{{tag}}}> <div class="pum-cookie">Popup Cookie</div> <p class="pum-sub-form-desc"> Subscription Form Placeholder</p> /* <![CDATA[ */ var _wpUtilSettings = {"ajax":{"url":"\/wp-admin\/admin-ajax.php"}}; /* ]]> */ /* <![CDATA[ */ var _wpMediaModelsL10n = {"settings":{"ajaxurl":"\/wp-admin\/admin-ajax.php","post":{"id":0}}}; /* ]]> */ /* <![CDATA[ */ var pluploadL10n = {"queue_limit_exceeded":"You have attempted to queue too many files.","file_exceeds_size_limit":"%s exceeds the maximum upload size for this site.","zero_byte_file":"This file is empty. Please try another.","invalid_filetype":"This file cannot be processed by the web server.","not_an_image":"This file is not an image. Please try another.","image_memory_exceeded":"Memory exceeded. Please try another smaller file.","image_dimensions_exceeded":"This is larger than the maximum size. Please try another.","default_error":"An error occurred in the upload. Please try again later.","missing_upload_url":"There was a configuration error. Please contact the server administrator.","upload_limit_exceeded":"You may only upload one file.","http_error":"Unexpected response from the server. The file may have been uploaded successfully. Check in the Media Library or reload the page.","http_error_image":"The server cannot process the image. This can happen if the server is busy or does not have enough resources to complete the task. Uploading a smaller image may help. Suggested maximum size is 2,560 pixels.","upload_failed":"Upload failed.","big_upload_failed":"Please try uploading this file with the %1$sbrowser uploader%2$s.","big_upload_queued":"%s exceeds the maximum upload size for the multi-file uploader when used in your browser.","io_error":"IO error.","security_error":"Security error.","file_cancelled":"File cancelled.","upload_stopped":"Upload stopped.","dismiss":"Dismiss","crunching":"Crunching\u2026","deleted":"moved to the Bin.","error_uploading":"\u201c%s\u201d has failed to upload.","unsupported_image":"This image cannot be displayed in a web browser. For best results, convert it to JPEG before uploading.","noneditable_image":"The web server cannot generate responsive image sizes for this image. Convert it to JPEG or PNG before uploading.","file_url_copied":"The file URL has been copied to your clipboard"}; var _wpPluploadSettings = {"defaults":{"file_data_name":"async-upload","url":"\/wp-admin\/async-upload.php","filters":{"max_file_size":"0b","mime_types":[{"extensions":"jpg,jpeg,jpe,gif,png,bmp,tiff,tif,webp,avif,ico,heic,heif,heics,heifs,asf,asx,wmv,wmx,wm,avi,divx,flv,mov,qt,mpeg,mpg,mpe,mp4,m4v,ogv,webm,mkv,3gp,3gpp,3g2,3gp2,txt,asc,c,cc,h,srt,csv,tsv,ics,rtx,css,vtt,dfxp,mp3,m4a,m4b,aac,ra,ram,wav,x-wav,ogg,oga,flac,mid,midi,wma,wax,mka,rtf,pdf,class,tar,zip,gz,gzip,rar,7z,psd,xcf,doc,pot,pps,ppt,wri,xla,xls,xlt,xlw,mdb,mpp,docx,docm,dotx,dotm,xlsx,xlsm,xlsb,xltx,xltm,xlam,pptx,pptm,ppsx,ppsm,potx,potm,ppam,sldx,sldm,onetoc,onetoc2,onetmp,onepkg,oxps,xps,odt,odp,ods,odg,odc,odb,odf,wp,wpd,key,numbers,pages,redux"}]},"heic_upload_error":true,"multipart_params":{"action":"upload-attachment","_wpnonce":"88d233171a"}},"browser":{"mobile":false,"supported":true},"limitExceeded":false}; /* ]]> */ /* <![CDATA[ */ var mejsL10n = {"language":"en","strings":{"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https:\/\/get.adobe.com\/flashplayer\/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left\/Right Arrow keys to advance one second, Up\/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up\/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions\/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}}; /* ]]> */ /* <![CDATA[ */ var _wpmejsSettings = {"pluginPath":"\/wp-includes\/js\/mediaelement\/","classPrefix":"mejs-","stretching":"responsive","audioShortcodeLibrary":"mediaelement","videoShortcodeLibrary":"mediaelement"}; /* ]]> */ /* <![CDATA[ */ var wpApiSettings = {"root":"https:\/\/betterlifeaccountancy.com\/wp-json\/","nonce":"b1abcec494","versionString":"wp\/v2\/"}; /* ]]> */ /* <![CDATA[ */ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); /* ]]> */ /* <![CDATA[ */ ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "default", {"translation-revision-date":"2025-11-13 00:57:08+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Notifications":["Notifications"]}},"comment":{"reference":"wp-includes\/js\/dist\/a11y.js"}} ); /* ]]> */ /* <![CDATA[ */ var _wpMediaViewsL10n = {"mediaFrameDefaultTitle":"Media","url":"URL","addMedia":"Add media","search":"Search","select":"Select","cancel":"Cancel","update":"Update","replace":"Replace","remove":"Remove","back":"Back","selected":"%d selected","dragInfo":"Drag and drop to reorder media files.","uploadFilesTitle":"Upload files","uploadImagesTitle":"Upload images","mediaLibraryTitle":"Media Library","insertMediaTitle":"Add media","createNewGallery":"Create a new gallery","createNewPlaylist":"Create a new playlist","createNewVideoPlaylist":"Create a new video playlist","returnToLibrary":"\u2190 Go to library","allMediaItems":"All media items","allDates":"All dates","noItemsFound":"No items found.","insertIntoPost":"Insert into post","unattached":"Unattached","mine":"Mine","trash":"Bin","uploadedToThisPost":"Uploaded to this post","warnDelete":"You are about to permanently delete this item from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete.","warnBulkDelete":"You are about to permanently delete these items from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete.","warnBulkTrash":"You are about to delete these items.\n Click 'Cancel' to stop, or 'OK' to delete.","bulkSelect":"Bulk select","trashSelected":"Move to Bin","restoreSelected":"Restore from Bin","deletePermanently":"Delete permanently","errorDeleting":"Error in deleting the attachment.","apply":"Apply","filterByDate":"Filter by date","filterByType":"Filter by type","searchLabel":"Search media","searchMediaLabel":"Search media","searchMediaPlaceholder":"Search media items...","mediaFound":"Number of media items found: %d","noMedia":"No media items found.","noMediaTryNewSearch":"No media items found. Try a different search.","attachmentDetails":"Attachment details","insertFromUrlTitle":"Insert from URL","setFeaturedImageTitle":"Featured image","setFeaturedImage":"Set featured image","createGalleryTitle":"Create gallery","editGalleryTitle":"Edit gallery","cancelGalleryTitle":"\u2190 Cancel gallery","insertGallery":"Insert gallery","updateGallery":"Update gallery","addToGallery":"Add to gallery","addToGalleryTitle":"Add to gallery","reverseOrder":"Reverse order","imageDetailsTitle":"Image details","imageReplaceTitle":"Replace image","imageDetailsCancel":"Cancel edit","editImage":"Edit image","chooseImage":"Choose image","selectAndCrop":"Select and crop","skipCropping":"Skip cropping","cropImage":"Crop image","cropYourImage":"Crop your image","cropping":"Cropping\u2026","suggestedDimensions":"Suggested image dimensions: %1$s by %2$s pixels.","cropError":"There has been an error cropping your image.","audioDetailsTitle":"Audio details","audioReplaceTitle":"Replace audio","audioAddSourceTitle":"Add audio source","audioDetailsCancel":"Cancel edit","videoDetailsTitle":"Video details","videoReplaceTitle":"Replace video","videoAddSourceTitle":"Add video source","videoDetailsCancel":"Cancel edit","videoSelectPosterImageTitle":"Select poster image","videoAddTrackTitle":"Add subtitles","playlistDragInfo":"Drag and drop to reorder tracks.","createPlaylistTitle":"Create audio playlist","editPlaylistTitle":"Edit audio playlist","cancelPlaylistTitle":"\u2190 Cancel audio playlist","insertPlaylist":"Insert audio playlist","updatePlaylist":"Update audio playlist","addToPlaylist":"Add to audio playlist","addToPlaylistTitle":"Add to Audio Playlist","videoPlaylistDragInfo":"Drag and drop to reorder videos.","createVideoPlaylistTitle":"Create video playlist","editVideoPlaylistTitle":"Edit video playlist","cancelVideoPlaylistTitle":"\u2190 Cancel video playlist","insertVideoPlaylist":"Insert video playlist","updateVideoPlaylist":"Update video playlist","addToVideoPlaylist":"Add to video playlist","addToVideoPlaylistTitle":"Add to video playlist","filterAttachments":"Filter media","attachmentsList":"Media list","settings":{"tabs":[],"tabUrl":"https:\/\/betterlifeaccountancy.com\/wp-admin\/media-upload.php?chromeless=1","mimeTypes":{"image":"Images","audio":"Audio","video":"Video","application\/msword,application\/vnd.openxmlformats-officedocument.wordprocessingml.document,application\/vnd.ms-word.document.macroEnabled.12,application\/vnd.ms-word.template.macroEnabled.12,application\/vnd.oasis.opendocument.text,application\/vnd.apple.pages,application\/pdf,application\/vnd.ms-xpsdocument,application\/oxps,application\/rtf,application\/wordperfect,application\/octet-stream":"Documents","application\/vnd.apple.numbers,application\/vnd.oasis.opendocument.spreadsheet,application\/vnd.ms-excel,application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application\/vnd.ms-excel.sheet.macroEnabled.12,application\/vnd.ms-excel.sheet.binary.macroEnabled.12":"Spreadsheets","application\/x-gzip,application\/rar,application\/x-tar,application\/zip,application\/x-7z-compressed":"Archives"},"captions":true,"nonce":{"sendToEditor":"7113c7b2fd","setAttachmentThumbnail":"edf8d4338f"},"post":{"id":0},"defaultProps":{"link":"none","align":"","size":""},"attachmentCounts":{"audio":1,"video":1},"oEmbedProxyUrl":"https:\/\/betterlifeaccountancy.com\/wp-json\/oembed\/1.0\/proxy","embedExts":["mp3","ogg","flac","m4a","wav","mp4","m4v","webm","ogv","flv"],"embedMimes":{"mp3":"audio\/mpeg","ogg":"audio\/ogg","flac":"audio\/flac","m4a":"audio\/mpeg","wav":"audio\/wav","mp4":"video\/mp4","m4v":"video\/mp4","webm":"video\/webm","ogv":"video\/ogg","flv":"video\/x-flv"},"contentWidth":1080,"months":[{"year":"2024","month":"7","text":"July 2024"},{"year":"2024","month":"6","text":"June 2024"},{"year":"2022","month":"8","text":"August 2022"}],"mediaTrash":0,"infiniteScrolling":1}}; /* ]]> */ /* <![CDATA[ */ ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "default", {"translation-revision-date":"2025-11-13 00:57:08+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Showing %1$s of %2$s media items":["Showing %1$s of %2$s media items"],"Jump to first loaded item":["Jump to first loaded item"],"Load more":["Load more"],"Number of media items displayed: %d. Click load more for more results.":["Number of media items displayed: %d. Click \u201cload more\u201d for more results."],"The file URL has been copied to your clipboard":["The file URL has been copied to your clipboard"],"%s item selected":["%s item selected","%s items selected"],"Number of media items displayed: %d. Scroll the page for more results.":["Number of media items displayed: %d. Scroll the page for more results."]}},"comment":{"reference":"wp-includes\/js\/media-views.js"}} ); /* ]]> */ /* <![CDATA[ */ ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "default", {"translation-revision-date":"2025-11-13 00:57:08+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Could not set that as the thumbnail image. Try a different attachment.":["Could not set that as the thumbnail image. Try a different attachment."]}},"comment":{"reference":"wp-includes\/js\/media-editor.js"}} ); /* ]]> */ /* <![CDATA[ */ var njt_wa_global = {"ajax_url":"https:\/\/betterlifeaccountancy.com\/wp-admin\/admin-ajax.php","nonce":"bd6648d3fb","defaultAvatarSVG":"<svg width=\"48px\" height=\"48px\" class=\"nta-whatsapp-default-avatar\" version=\"1.1\" id=\"Layer_1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\"\n viewBox=\"0 0 512 512\" style=\"enable-background:new 0 0 512 512;\" xml:space=\"preserve\">\n <path style=\"fill:#EDEDED;\" d=\"M0,512l35.31-128C12.359,344.276,0,300.138,0,254.234C0,114.759,114.759,0,255.117,0\n S512,114.759,512,254.234S395.476,512,255.117,512c-44.138,0-86.51-14.124-124.469-35.31L0,512z\"\/>\n <path style=\"fill:#55CD6C;\" d=\"M137.71,430.786l7.945,4.414c32.662,20.303,70.621,32.662,110.345,32.662\n c115.641,0,211.862-96.221,211.862-213.628S371.641,44.138,255.117,44.138S44.138,137.71,44.138,254.234\n c0,40.607,11.476,80.331,32.662,113.876l5.297,7.945l-20.303,74.152L137.71,430.786z\"\/>\n <path style=\"fill:#FEFEFE;\" d=\"M187.145,135.945l-16.772-0.883c-5.297,0-10.593,1.766-14.124,5.297\n c-7.945,7.062-21.186,20.303-24.717,37.959c-6.179,26.483,3.531,58.262,26.483,90.041s67.09,82.979,144.772,105.048\n c24.717,7.062,44.138,2.648,60.028-7.062c12.359-7.945,20.303-20.303,22.952-33.545l2.648-12.359\n c0.883-3.531-0.883-7.945-4.414-9.71l-55.614-25.6c-3.531-1.766-7.945-0.883-10.593,2.648l-22.069,28.248\n c-1.766,1.766-4.414,2.648-7.062,1.766c-15.007-5.297-65.324-26.483-92.69-79.448c-0.883-2.648-0.883-5.297,0.883-7.062\n l21.186-23.834c1.766-2.648,2.648-6.179,1.766-8.828l-25.6-57.379C193.324,138.593,190.676,135.945,187.145,135.945\"\/>\n <\/svg>","defaultAvatarUrl":"https:\/\/betterlifeaccountancy.com\/wp-content\/plugins\/wp-whatsapp\/assets\/img\/whatsapp_logo.svg","timezone":"+00:00","i18n":{"online":"Online","offline":"Offline"},"urlSettings":{"onDesktop":"api","onMobile":"api","openInNewTab":"ON"}}; /* ]]> */ /* <![CDATA[ */ var nectarLove = {"ajaxurl":"https:\/\/betterlifeaccountancy.com\/wp-admin\/admin-ajax.php","postID":"380","rooturl":"https:\/\/betterlifeaccountancy.com","disqusComments":"false","loveNonce":"c6089be24f","mapApiKey":"AIzaSyCOHmjwhcIY52nBwvu4eNvosz0w4FZZDOM"}; var nectarOptions = {"delay_js":"false","smooth_scroll":"false","smooth_scroll_strength":"50","quick_search":"false","react_compat":"disabled","header_entrance":"true","body_border_func":"default","disable_box_roll_mobile":"false","body_border_mobile":"0","dropdown_hover_intent":"default","simplify_ocm_mobile":"0","mobile_header_format":"default","ocm_btn_position":"default","left_header_dropdown_func":"default","ajax_add_to_cart":"0","ocm_remove_ext_menu_items":"remove_images","woo_product_filter_toggle":"0","woo_sidebar_toggles":"true","woo_sticky_sidebar":"0","woo_minimal_product_hover":"default","woo_minimal_product_effect":"default","woo_related_upsell_carousel":"false","woo_product_variable_select":"default","woo_using_cart_addons":"false","view_transitions_effect":""}; var nectar_front_i18n = {"menu":"Menu","next":"Next","previous":"Previous","close":"Close"}; /* ]]> */ /* <![CDATA[ */ var pum_vars = {"version":"1.21.5","pm_dir_url":"https:\/\/betterlifeaccountancy.com\/wp-content\/plugins\/popup-maker\/","ajaxurl":"https:\/\/betterlifeaccountancy.com\/wp-admin\/admin-ajax.php","restapi":"https:\/\/betterlifeaccountancy.com\/wp-json\/pum\/v1","rest_nonce":null,"default_theme":"470","debug_mode":"","disable_tracking":"","home_url":"\/","message_position":"top","core_sub_forms_enabled":"1","popups":[],"cookie_domain":"","analytics_enabled":"1","analytics_route":"analytics","analytics_api":"https:\/\/betterlifeaccountancy.com\/wp-json\/pum\/v1"}; var pum_sub_vars = {"ajaxurl":"https:\/\/betterlifeaccountancy.com\/wp-admin\/admin-ajax.php","message_position":"top"}; var pum_popups = {"pum-497":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"medium","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":497,"slug":"landlords-property-developers-2"},"pum-495":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":495,"slug":"you"},"pum-493":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":493,"slug":"horse-racing-bloodstock"},"pum-491":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":491,"slug":"tradespeople"},"pum-489":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":489,"slug":"rural-economy"},"pum-486":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":486,"slug":"hospitality-tourism"},"pum-479":{"triggers":[{"type":"click_open","settings":{"cookie_name":["pum-479"],"extra_selectors":".pum-479"}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":479,"slug":"landlords-property-developers"}}; /* ]]> */ /* <![CDATA[ */ var complianz = {"prefix":"cmplz_","user_banner_id":"1","set_cookies":[],"block_ajax_content":"","banner_version":"19","version":"7.4.4","store_consent":"","do_not_track_enabled":"1","consenttype":"optin","region":"uk","geoip":"","dismiss_timeout":"","disable_cookiebanner":"","soft_cookiewall":"1","dismiss_on_scroll":"","cookie_expiry":"365","url":"https:\/\/betterlifeaccountancy.com\/wp-json\/complianz\/v1\/","locale":"lang=en&locale=en_GB","set_cookies_on_root":"","cookie_domain":"","current_policy_id":"22","cookie_path":"\/","categories":{"statistics":"statistics","marketing":"marketing"},"tcf_active":"","placeholdertext":"Click to accept {category} cookies and enable this content","css_file":"https:\/\/betterlifeaccountancy.com\/wp-content\/uploads\/complianz\/css\/banner-{banner_id}-{type}.css?v=19","page_links":{"uk":{"cookie-statement":{"title":"","url":"https:\/\/betterlifeaccountancy.com\/contact-us\/"},"privacy-statement":{"title":"Privacy Policy","url":"https:\/\/betterlifeaccountancy.com\/privacy-policy\/"}}},"tm_categories":"","forceEnableStats":"","preview":"","clean_cookies":"","aria_label":"Click to accept {category} cookies and enable this content"}; /* ]]> */ /* <![CDATA[ */ var njt_wa = {"gdprStatus":"1","accounts":[{"accountId":288,"accountName":"","avatar":"","number":"+447365389793","title":"Leave us a message and we will come back to you shortly","predefinedText":"","willBeBackText":"I will be back in [njwa_time_work]","dayOffsText":"I will be back soon","isAlwaysAvailable":"ON","daysOfWeekWorking":{"sunday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"monday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"tuesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"wednesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"thursday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"friday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"saturday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]}}}],"options":{"display":{"displayCondition":"showAllPage","includePages":[],"excludePages":[],"includePosts":[],"showOnDesktop":"ON","showOnMobile":"ON","time_symbols":"h:m"},"styles":{"title":"Start a Conversation","responseText":"The team typically replies in a few minutes during office hours.","description":"","backgroundColor":"#80eba7","textColor":"#fff","titleSize":"18","accountNameSize":"14","descriptionTextSize":"12","regularTextSize":"11","scrollHeight":"500","isShowScroll":"OFF","isShowResponseText":"OFF","btnLabel":"Have a question? <br \/><strong>Leave us a message<\/strong>","btnLabelWidth":"156","btnPosition":"right","btnLeftDistance":"30","btnRightDistance":"30","btnBottomDistance":"30","isShowBtnLabel":"ON","isShowGDPR":"ON","gdprContent":"Please accept our <a href=\"https:\/\/ninjateam.org\/privacy-policy\/\">privacy policy<\/a> first to start a conversation.","isShowPoweredBy":"ON"},"analytics":{"enabledGoogle":"OFF","enabledFacebook":"OFF","enabledGoogleGA4":"OFF"}}}; /* ]]> */
Emails: chris@betterlifeaccountancy.com, chris@betterlifeaccountancy.comget
View text
Skip to main content Close Search Contact Us Menu About UsServicesTestimonialsBloglinkedin Contact Us Contact UsGet in touch with us easilyCallEmail Book 07365 389793 IT Centre, Innovation Way, Heslington, York, YO10 5NP chris@betterlifeaccountancy.comGet In TouchTired of being underserviced and overcharged? We can help… Contact UsBook a MeetingGet In TouchTired of being underserviced and overcharged? We can help…Contact UsBook a Meeting Better Life Accountancy Limited. Privacy Policy. Website by Waywest Design. .vc_do_custom_heading{margin-bottom:0.625rem;margin-top:0;}.vc_do_custom_heading{margin-bottom:0.625rem;margin-top:0;} Close Menu About UsServicesTestimonialsBloglinkedin {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/salient-child\/*","\/wp-content\/themes\/salient\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} Manage Consent To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behaviour or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions. Functional Functional Always active The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network. Preferences Preferences The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user. Statistics Statistics The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you. Marketing Marketing The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes. Manage optionsManage servicesManage {vendor_count} vendorsRead more about these purposes Accept Deny View preferences Save preferences View preferences{title}{title}{title}Manage consent Landlords & property developersWe have extensive knowledge and experience dealing with property owners. Whether you have residential or furnished holiday lets, or you’re a developer, we have the expertise to help you. We can guide you through the complex tax landscape and ensure you are as efficient as possible and maximising the reliefs available. X You!Given our vast knowledge and experience working with owner-managed businesses of all shapes and sizes in a wide range of industries, we’re confident we can help you and your business. By implementing proven technology solutions to drive efficiencies, we can provide tailored tax advice to help you meet your personal and business goals. Get in touch to discuss how we can provide you with a Better Life. X Horse racing & bloodstockIf you’re a trainer, breeder or provide livery services, you’re in the right place! With complex tax rules and regulations to consider in addition to the usual compliance requirements, by choosing Better Life, you’re in safe hands. We have over a decade of experience in this sector and understand the unique issues you’ll face. To hear more about how we could help you, get in touch today. X TradespeopleWhether you’re a sub-contractor or contractor we can help ensure you not only meet your statutory requirements but that you thrive in a sector which can be challenging to operate in. We understand that forces often out of your control can have a big impact on your business, which is why we plan not only for the short term, but ensure you make longer term decisions for your benefit. With CIS, reverse-charge, payroll and other complex tax implications to consider it’s so important to have a knowledgeable advisor by your side to help you navigate these challenges. X Rural economyGone are the days where farmers only farmed! We have over a decade of experience advising the region’s agricultural sector. Whether you are a traditional farmer or have a diverse number of business activities, we can help. Technical knowledge and experience is key to ensure tax reliefs are maximised and you receive the best possible advice.” X Hospitality & tourismWe understand how challenging the hospitality and tourism industry can be which is why it’s crucial you’re as efficient as possible if you want to remain competitive in an ever-changing landscape. If you run a bar, restaurant, cafe or operate in the vibrant tourism industry the UK has to offer, get in touch to discuss how we can help. X Landlords & property developersWe have extensive knowledge and experience dealing with property owners. Whether you have residential or furnished holiday lets, or you’re a developer, we have the expertise to help you. We can guide you through the complex tax landscape and ensure you are as efficient as possible and maximising the reliefs available. X window.wpbCustomElement = 1; <div class="media-frame-title" id="media-frame-title"></div><h2 class="media-frame-menu-heading">Actions</h2> <button type="button" class="button button-link media-frame-menu-toggle" aria-expanded="false"> Menu <span class="dashicons dashicons-arrow-down" aria-hidden="true"></span> </button><div class="media-frame-menu"></div><div class="media-frame-tab-panel"><div class="media-frame-router"></div><div class="media-frame-content"></div></div><h2 class="media-frame-actions-heading screen-reader-text"> Selected media actions</h2><div class="media-frame-toolbar"></div><div class="media-frame-uploader"></div> <div tabindex="0" class="media-modal wp-core-ui" role="dialog" aria-labelledby="media-frame-title"> <# if ( data.hasCloseButton ) { #> <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text"> Close dialogue </span></span></button> <# } #><div class="media-modal-content" role="document"></div></div><div class="media-modal-backdrop"></div> <div class="uploader-window-content"><div class="uploader-editor-title">Drop files to upload</div></div> <div class="uploader-editor-content"><div class="uploader-editor-title">Drop files to upload</div></div> <# var messageClass = data.message ? 'has-upload-message' : 'no-upload-message'; #> <# if ( data.canClose ) { #> <button class="close dashicons dashicons-no"><span class="screen-reader-text"> Close uploader </span></button> <# } #><div class="uploader-inline-content {{ messageClass }}"> <# if ( data.message ) { #><h2 class="upload-message">{{ data.message }}</h2> <# } #><div class="upload-ui"><h2 class="upload-instructions drop-instructions">Drop files to upload</h2><p class="upload-instructions drop-instructions">or</p> <button type="button" class="browser button button-hero" aria-labelledby="post-upload-info">Select Files</button></div><div class="upload-inline-status"></div><div class="post-upload-ui" id="post-upload-info"><p class="max-upload-size"> Maximum upload file size: 0 B.</p> <# if ( data.suggestedWidth && data.suggestedHeight ) { #><p class="suggested-dimensions"> Suggested image dimensions: {{data.suggestedWidth}} by {{data.suggestedHeight}} pixels.</p> <# } #></div></div> <a href="https://betterlifeaccountancy.com/wp-admin/upload.php?mode=list" class="view-list"> <span class="screen-reader-text"> List view </span> </a> <a href="https://betterlifeaccountancy.com/wp-admin/upload.php?mode=grid" class="view-grid current" aria-current="page"> <span class="screen-reader-text"> Grid view </span> </a> <h2>Uploading</h2><div class="media-progress-bar"><div></div></div><div class="upload-details"> <span class="upload-count"> <span class="upload-index"></span> / <span class="upload-total"></span> </span> <span class="upload-detail-separator">&ndash;</span> <span class="upload-filename"></span></div><div class="upload-errors"></div> <button type="button" class="button upload-dismiss-errors">Dismiss errors</button> <span class="upload-error-filename word-wrap-break-word">{{{ data.filename }}}</span> <span class="upload-error-message">{{ data.message }}</span> <div class="edit-media-header"> <button class="left dashicons"<# if ( ! data.hasPrevious ) { #> disabled<# } #>><span class="screen-reader-text">Edit previous media item</span></button> <button class="right dashicons"<# if ( ! data.hasNext ) { #> disabled<# } #>><span class="screen-reader-text">Edit next media item</span></button> <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text">Close dialogue</span></span></button></div><div class="media-frame-title"></div><div class="media-frame-content"></div> <div class="attachment-media-view {{ data.orientation }}"><h2 class="screen-reader-text">Attachment Preview</h2><div class="thumbnail thumbnail-{{ data.type }}"> <# if ( data.uploading ) { #><div class="media-progress-bar"><div></div></div> <# } else if ( data.sizes && data.sizes.full ) { #> <img class="details-image" src="{{ data.sizes.full.url }}" draggable="false" alt="" /> <# } else if ( data.sizes && data.sizes.large ) { #> <img class="details-image" src="{{ data.sizes.large.url }}" draggable="false" alt="" /> <# } else if ( -1 === jQuery.inArray( data.type, [ 'audio', 'video' ] ) ) { #> <img class="details-image icon" src="{{ data.icon }}" draggable="false" alt="" /> <# } #> <# if ( 'audio' === data.type ) { #><div class="wp-media-wrapper wp-audio"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none"> <source type="{{ data.mime }}" src="{{ data.url }}" /> </audio></div> <# } else if ( 'video' === data.type ) { var w_rule = ''; if ( data.width ) { w_rule = 'width: ' + data.width + 'px;'; } else if ( wp.media.view.settings.contentWidth ) { w_rule = 'width: ' + wp.media.view.settings.contentWidth + 'px;'; } #><div style="{{ w_rule }}" class="wp-media-wrapper wp-video"><video controls="controls" class="wp-video-shortcode" preload="metadata" <# if ( data.width ) { #>width="{{ data.width }}"<# } #> <# if ( data.height ) { #>height="{{ data.height }}"<# } #> <# if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>> <source type="{{ data.mime }}" src="{{ data.url }}" /></video></div> <# } #><div class="attachment-actions"> <# if ( 'image' === data.type && ! data.uploading && data.sizes && data.can.save ) { #> <button type="button" class="button edit-attachment">Edit Image</button> <# } else if ( 'pdf' === data.subtype && data.sizes ) { #><p>Document Preview</p> <# } #></div></div></div><div class="attachment-info"> <span class="settings-save-status" role="status"> <span class="spinner"></span> <span class="saved">Saved.</span> </span><div class="details"><h2 class="screen-reader-text"> Details</h2><div class="uploaded"><strong>Uploaded on:</strong> {{ data.dateFormatted }}</div><div class="uploaded-by"> <strong>Uploaded by:</strong> <# if ( data.authorLink ) { #> <a href="{{ data.authorLink }}">{{ data.authorName }}</a> <# } else { #> {{ data.authorName }} <# } #></div> <# if ( data.uploadedToTitle ) { #><div class="uploaded-to"> <strong>Uploaded to:</strong> <# if ( data.uploadedToLink ) { #> <a href="{{ data.uploadedToLink }}">{{ data.uploadedToTitle }}</a> <# } else { #> {{ data.uploadedToTitle }} <# } #></div> <# } #><div class="filename"><strong>File name:</strong> {{ data.filename }}</div><div class="file-type"><strong>File type:</strong> {{ data.mime }}</div><div class="file-size"><strong>File size:</strong> {{ data.filesizeHumanReadable }}</div> <# if ( 'image' === data.type && ! data.uploading ) { #> <# if ( data.width && data.height ) { #><div class="dimensions"><strong>Dimensions:</strong> {{ data.width }} by {{ data.height }} pixels</div> <# } #> <# if ( data.originalImageURL && data.originalImageName ) { #><div class="word-wrap-break-word"> <strong>Original image:</strong> <a href="{{ data.originalImageURL }}">{{data.originalImageName}}</a></div> <# } #> <# } #> <# if ( data.fileLength && data.fileLengthHumanReadable ) { #><div class="file-length"><strong>Length:</strong> <span aria-hidden="true">{{ data.fileLengthHumanReadable }}</span> <span class="screen-reader-text">{{ data.fileLengthHumanReadable }}</span></div> <# } #> <# if ( 'audio' === data.type && data.meta.bitrate ) { #><div class="bitrate"> <strong>Bitrate:</strong> {{ Math.round( data.meta.bitrate / 1000 ) }}kb/s <# if ( data.meta.bitrate_mode ) { #> {{ ' ' + data.meta.bitrate_mode.toUpperCase() }} <# } #></div> <# } #> <# if ( data.mediaStates ) { #><div class="media-states"><strong>Used as:</strong> {{ data.mediaStates }}</div> <# } #><div class="compat-meta"> <# if ( data.compat && data.compat.meta ) { #> {{{ data.compat.meta }}} <# } #></div></div><div class="settings"> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #> <# if ( 'image' === data.type ) { #> <span class="setting alt-text has-description" data-setting="alt"> <label for="attachment-details-two-column-alt-text" class="name">Alternative Text</label><textarea id="attachment-details-two-column-alt-text" aria-describedby="alt-text-description" {{ maybeReadOnly }}>{{ data.alt }}</textarea></span><p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <# } #> <span class="setting" data-setting="title"> <label for="attachment-details-two-column-title" class="name">Title</label> <input type="text" id="attachment-details-two-column-title" value="{{ data.title }}" {{ maybeReadOnly }} /> </span> <# if ( 'audio' === data.type ) { #> <span class="setting" data-setting="artist"> <label for="attachment-details-two-column-artist" class="name">Artist</label> <input type="text" id="attachment-details-two-column-artist" value="{{ data.artist || data.meta.artist || '' }}" /> </span> <span class="setting" data-setting="album"> <label for="attachment-details-two-column-album" class="name">Album</label> <input type="text" id="attachment-details-two-column-album" value="{{ data.album || data.meta.album || '' }}" /> </span> <# } #> <span class="setting" data-setting="caption"> <label for="attachment-details-two-column-caption" class="name">Caption</label><textarea id="attachment-details-two-column-caption" {{ maybeReadOnly }}>{{ data.caption }}</textarea></span> <span class="setting" data-setting="description"> <label for="attachment-details-two-column-description" class="name">Description</label><textarea id="attachment-details-two-column-description" {{ maybeReadOnly }}>{{ data.description }}</textarea></span> <span class="setting" data-setting="url"> <label for="attachment-details-two-column-copy-link" class="name">File URL:</label> <input type="text" class="attachment-details-copy-link" id="attachment-details-two-column-copy-link" value="{{ data.url }}" readonly /> <span class="copy-to-clipboard-container"> <button type="button" class="button button-small copy-attachment-url" data-clipboard-target="#attachment-details-two-column-copy-link">Copy URL to clipboard</button> <span class="success hidden" aria-hidden="true">Copied!</span> </span> </span><div class="attachment-compat"></div></div><div class="actions"> <# if ( data.link ) { #> <a class="view-attachment" href="{{ data.link }}">View media file</a> <# } #> <# if ( data.can.save ) { #> <# if ( data.link ) { #> <span class="links-separator">|</span> <# } #> <a href="{{ data.editLink }}">Edit more details</a> <# } #> <# if ( data.can.save && data.link ) { #> <span class="links-separator">|</span> <a href="{{ data.url }}" download>Download file</a> <# } #> <# if ( ! data.uploading && data.can.remove ) { #> <# if ( data.link || data.can.save ) { #> <span class="links-separator">|</span> <# } #> <button type="button" class="button-link delete-attachment">Delete permanently</button> <# } #></div></div> <div class="attachment-preview js--select-attachment type-{{ data.type }} subtype-{{ data.subtype }} {{ data.orientation }}"><div class="thumbnail"> <# if ( data.uploading ) { #><div class="media-progress-bar"><div style="width: {{ data.percent }}%"></div></div> <# } else if ( 'image' === data.type && data.size && data.size.url ) { #><div class="centered"> <img src="{{ data.size.url }}" draggable="false" alt="" /></div> <# } else { #><div class="centered"> <# if ( data.image && data.image.src && data.image.src !== data.icon ) { #> <img src="{{ data.image.src }}" class="thumbnail" draggable="false" alt="" /> <# } else if ( data.sizes ) { if ( data.sizes.medium ) { #> <img src="{{ data.sizes.medium.url }}" class="thumbnail" draggable="false" alt="" /> <# } else { #> <img src="{{ data.sizes.full.url }}" class="thumbnail" draggable="false" alt="" /> <# } #> <# } else { #> <img src="{{ data.icon }}" class="icon" draggable="false" alt="" /> <# } #></div><div class="filename"><div>{{ data.filename }}</div></div> <# } #></div> <# if ( data.buttons.close ) { #> <button type="button" class="button-link attachment-close media-modal-icon"><span class="screen-reader-text"> Remove </span></button> <# } #></div> <# if ( data.buttons.check ) { #> <button type="button" class="check" tabindex="-1"><span class="media-modal-icon"></span><span class="screen-reader-text"> Deselect </span></button> <# } #> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; if ( data.describe ) { if ( 'image' === data.type ) { #> <input type="text" value="{{ data.caption }}" class="describe" data-setting="caption" aria-label="Caption" placeholder="Caption&hellip;" {{ maybeReadOnly }} /> <# } else { #> <input type="text" value="{{ data.title }}" class="describe" data-setting="title" <# if ( 'video' === data.type ) { #> aria-label="Video title" placeholder="Video title&hellip;" <# } else if ( 'audio' === data.type ) { #> aria-label="Audio title" placeholder="Audio title&hellip;" <# } else { #> aria-label="Media title" placeholder="Media title&hellip;" <# } #> {{ maybeReadOnly }} /> <# } } #> <h2> Attachment Details <span class="settings-save-status" role="status"> <span class="spinner"></span> <span class="saved">Saved.</span> </span></h2><div class="attachment-info"> <# if ( 'audio' === data.type ) { #><div class="wp-media-wrapper wp-audio"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none"> <source type="{{ data.mime }}" src="{{ data.url }}" /> </audio></div> <# } else if ( 'video' === data.type ) { var w_rule = ''; if ( data.width ) { w_rule = 'width: ' + data.width + 'px;'; } else if ( wp.media.view.settings.contentWidth ) { w_rule = 'width: ' + wp.media.view.settings.contentWidth + 'px;'; } #><div style="{{ w_rule }}" class="wp-media-wrapper wp-video"><video controls="controls" class="wp-video-shortcode" preload="metadata" <# if ( data.width ) { #>width="{{ data.width }}"<# } #> <# if ( data.height ) { #>height="{{ data.height }}"<# } #> <# if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>> <source type="{{ data.mime }}" src="{{ data.url }}" /></video></div> <# } else { #><div class="thumbnail thumbnail-{{ data.type }}"> <# if ( data.uploading ) { #><div class="media-progress-bar"><div></div></div> <# } else if ( 'image' === data.type && data.size && data.size.url ) { #> <img src="{{ data.size.url }}" draggable="false" alt="" /> <# } else { #> <img src="{{ data.icon }}" class="icon" draggable="false" alt="" /> <# } #></div> <# } #><div class="details"><div class="filename">{{ data.filename }}</div><div class="uploaded">{{ data.dateFormatted }}</div><div class="file-size">{{ data.filesizeHumanReadable }}</div> <# if ( 'image' === data.type && ! data.uploading ) { #> <# if ( data.width && data.height ) { #><div class="dimensions"> {{ data.width }} by {{ data.height }} pixels</div> <# } #> <# if ( data.originalImageURL && data.originalImageName ) { #><div class="word-wrap-break-word"> Original image: <a href="{{ data.originalImageURL }}">{{data.originalImageName}}</a></div> <# } #> <# if ( data.can.save && data.sizes ) { #> <a class="edit-attachment" href="{{ data.editLink }}&amp;image-editor" target="_blank">Edit Image</a> <# } #> <# } #> <# if ( data.fileLength && data.fileLengthHumanReadable ) { #><div class="file-length">Length: <span aria-hidden="true">{{ data.fileLengthHumanReadable }}</span> <span class="screen-reader-text">{{ data.fileLengthHumanReadable }}</span></div> <# } #> <# if ( data.mediaStates ) { #><div class="media-states"><strong>Used as:</strong> {{ data.mediaStates }}</div> <# } #> <# if ( ! data.uploading && data.can.remove ) { #> <button type="button" class="button-link delete-attachment">Delete permanently</button> <# } #><div class="compat-meta"> <# if ( data.compat && data.compat.meta ) { #> {{{ data.compat.meta }}} <# } #></div></div></div> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #> <# if ( 'image' === data.type ) { #> <span class="setting alt-text has-description" data-setting="alt"> <label for="attachment-details-alt-text" class="name">Alt Text</label><textarea id="attachment-details-alt-text" aria-describedby="alt-text-description" {{ maybeReadOnly }}>{{ data.alt }}</textarea></span><p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <# } #> <span class="setting" data-setting="title"> <label for="attachment-details-title" class="name">Title</label> <input type="text" id="attachment-details-title" value="{{ data.title }}" {{ maybeReadOnly }} /> </span> <# if ( 'audio' === data.type ) { #> <span class="setting" data-setting="artist"> <label for="attachment-details-artist" class="name">Artist</label> <input type="text" id="attachment-details-artist" value="{{ data.artist || data.meta.artist || '' }}" /> </span> <span class="setting" data-setting="album"> <label for="attachment-details-album" class="name">Album</label> <input type="text" id="attachment-details-album" value="{{ data.album || data.meta.album || '' }}" /> </span> <# } #> <span class="setting" data-setting="caption"> <label for="attachment-details-caption" class="name">Caption</label><textarea id="attachment-details-caption" {{ maybeReadOnly }}>{{ data.caption }}</textarea></span> <span class="setting" data-setting="description"> <label for="attachment-details-description" class="name">Description</label><textarea id="attachment-details-description" {{ maybeReadOnly }}>{{ data.description }}</textarea></span> <span class="setting" data-setting="url"> <label for="attachment-details-copy-link" class="name">File URL:</label> <input type="text" class="attachment-details-copy-link" id="attachment-details-copy-link" value="{{ data.url }}" readonly /><div class="copy-to-clipboard-container"> <button type="button" class="button button-small copy-attachment-url" data-clipboard-target="#attachment-details-copy-link">Copy URL to clipboard</button> <span class="success hidden" aria-hidden="true">Copied!</span></div> </span> <div class="selection-info"> <span class="count"></span> <# if ( data.editable ) { #> <button type="button" class="button-link edit-selection">Edit Selection</button> <# } #> <# if ( data.clearable ) { #> <button type="button" class="button-link clear-selection">Clear</button> <# } #></div><div class="selection-view"></div> <h2>Attachment Display Settings</h2> <# if ( 'image' === data.type ) { #> <span class="setting align"> <label for="attachment-display-settings-alignment" class="name">Alignment</label> <select id="attachment-display-settings-alignment" class="alignment" data-setting="align" <# if ( data.userSettings ) { #> data-user-setting="align" <# } #>><option value="left"> Left</option><option value="center"> Centre</option><option value="right"> Right</option><option value="none" selected> None</option> </select> </span> <# } #> <span class="setting"> <label for="attachment-display-settings-link-to" class="name"> <# if ( data.model.canEmbed ) { #> Embed or Link <# } else { #> Link To <# } #> </label> <select id="attachment-display-settings-link-to" class="link-to" data-setting="link" <# if ( data.userSettings && ! data.model.canEmbed ) { #> data-user-setting="urlbutton" <# } #>> <# if ( data.model.canEmbed ) { #><option value="embed" selected> Embed Media Player</option><option value="file"> <# } else { #><option value="none" selected> None</option><option value="file"> <# } #> <# if ( data.model.canEmbed ) { #> Link to Media File <# } else { #> Media File <# } #></option><option value="post"> <# if ( data.model.canEmbed ) { #> Link to Attachment Page <# } else { #> Attachment Page <# } #></option> <# if ( 'image' === data.type ) { #><option value="custom"> Custom URL</option> <# } #> </select> </span> <span class="setting"> <label for="attachment-display-settings-link-to-custom" class="name">URL</label> <input type="text" id="attachment-display-settings-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span> <# if ( 'undefined' !== typeof data.sizes ) { #> <span class="setting"> <label for="attachment-display-settings-size" class="name">Size</label> <select id="attachment-display-settings-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #>> <# var size = data.sizes['thumbnail']; if ( size ) { #><option value="thumbnail" > Thumbnail &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['medium']; if ( size ) { #><option value="medium" > Medium &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['large']; if ( size ) { #><option value="large" > Large &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['full']; if ( size ) { #><option value="full" selected='selected'> Full Size &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> </select> </span> <# } #> <h2>Gallery Settings</h2> <span class="setting"> <label for="gallery-settings-link-to" class="name">Link To</label> <select id="gallery-settings-link-to" class="link-to" data-setting="link" <# if ( data.userSettings ) { #> data-user-setting="urlbutton" <# } #>><option value="post" <# if ( ! wp.media.galleryDefaults.link || 'post' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> Attachment Page</option><option value="file" <# if ( 'file' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> Media File</option><option value="none" <# if ( 'none' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> None</option> </select> </span> <span class="setting"> <label for="gallery-settings-columns" class="name select-label-inline">Columns</label> <select id="gallery-settings-columns" class="columns" name="columns" data-setting="columns"><option value="1" <# if ( 1 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 1</option><option value="2" <# if ( 2 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 2</option><option value="3" <# if ( 3 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 3</option><option value="4" <# if ( 4 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 4</option><option value="5" <# if ( 5 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 5</option><option value="6" <# if ( 6 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 6</option><option value="7" <# if ( 7 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 7</option><option value="8" <# if ( 8 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 8</option><option value="9" <# if ( 9 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 9</option> </select> </span> <span class="setting"> <input type="checkbox" id="gallery-settings-random-order" data-setting="_orderbyRandom" /> <label for="gallery-settings-random-order" class="checkbox-label-inline">Random Order</label> </span> <span class="setting size"> <label for="gallery-settings-size" class="name">Size</label> <select id="gallery-settings-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #> ><option value="thumbnail"> Thumbnail</option><option value="medium"> Medium</option><option value="large"> Large</option><option value="full"> Full Size</option> </select> </span> <h2>Playlist Settings</h2> <# var emptyModel = _.isEmpty( data.model ), isVideo = 'video' === data.controller.get('library').props.get('type'); #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-list" data-setting="tracklist" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-list" class="checkbox-label-inline"> <# if ( isVideo ) { #> Show Video List <# } else { #> Show Tracklist <# } #> </label> </span> <# if ( ! isVideo ) { #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-artist" data-setting="artists" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-artist" class="checkbox-label-inline"> Show Artist Name in Tracklist </label> </span> <# } #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-images" data-setting="images" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-images" class="checkbox-label-inline"> Show Images </label> </span> <span class="setting link-text"> <label for="embed-link-settings-link-text" class="name">Link Text</label> <input type="text" id="embed-link-settings-link-text" class="alignment" data-setting="linkText" /> </span><div class="embed-container" style="display: none;"><div class="embed-preview"></div></div> <div class="wp-clearfix"><div class="thumbnail"> <img src="{{ data.model.url }}" draggable="false" alt="" /></div></div> <span class="setting alt-text has-description"> <label for="embed-image-settings-alt-text" class="name">Alternative Text</label><textarea id="embed-image-settings-alt-text" data-setting="alt" aria-describedby="alt-text-description"></textarea></span><p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <span class="setting caption"> <label for="embed-image-settings-caption" class="name">Caption</label><textarea id="embed-image-settings-caption" data-setting="caption"></textarea></span><fieldset class="setting-group"><legend class="name">Align</legend> <span class="setting align"> <span class="button-group button-large" data-setting="align"> <button class="button" value="left"> Left </button> <button class="button" value="center"> Centre </button> <button class="button" value="right"> Right </button> <button class="button active" value="none"> None </button> </span> </span></fieldset><fieldset class="setting-group"><legend class="name">Link To</legend> <span class="setting link-to"> <span class="button-group button-large" data-setting="link"> <button class="button" value="file"> Image URL </button> <button class="button" value="custom"> Custom URL </button> <button class="button active" value="none"> None </button> </span> </span> <span class="setting"> <label for="embed-image-settings-link-to-custom" class="name">URL</label> <input type="text" id="embed-image-settings-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span></fieldset> <div class="media-embed"><div class="embed-media-settings"><div class="column-settings"> <span class="setting alt-text has-description"> <label for="image-details-alt-text" class="name">Alternative Text</label><textarea id="image-details-alt-text" data-setting="alt" aria-describedby="alt-text-description">{{ data.model.alt }}</textarea></span><p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <span class="setting caption"> <label for="image-details-caption" class="name">Caption</label><textarea id="image-details-caption" data-setting="caption">{{ data.model.caption }}</textarea></span><h2>Display Settings</h2><fieldset class="setting-group"><legend class="legend-inline">Align</legend> <span class="setting align"> <span class="button-group button-large" data-setting="align"> <button class="button" value="left"> Left </button> <button class="button" value="center"> Centre </button> <button class="button" value="right"> Right </button> <button class="button active" value="none"> None </button> </span> </span></fieldset> <# if ( data.attachment ) { #> <# if ( 'undefined' !== typeof data.attachment.sizes ) { #> <span class="setting size"> <label for="image-details-size" class="name">Size</label> <select id="image-details-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #>> <# var size = data.sizes['thumbnail']; if ( size ) { #><option value="thumbnail"> Thumbnail &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['medium']; if ( size ) { #><option value="medium"> Medium &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['large']; if ( size ) { #><option value="large"> Large &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['full']; if ( size ) { #><option value="full"> Full Size &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #><option value="custom"> Custom Size</option> </select> </span> <# } #><div class="custom-size wp-clearfix<# if ( data.model.size !== 'custom' ) { #> hidden<# } #>"> <span class="custom-size-setting"> <label for="image-details-size-width">Width</label> <input type="number" id="image-details-size-width" aria-describedby="image-size-desc" data-setting="customWidth" step="1" value="{{ data.model.customWidth }}" /> </span> <span class="sep" aria-hidden="true">&times;</span> <span class="custom-size-setting"> <label for="image-details-size-height">Height</label> <input type="number" id="image-details-size-height" aria-describedby="image-size-desc" data-setting="customHeight" step="1" value="{{ data.model.customHeight }}" /> </span><p id="image-size-desc" class="description">Image size in pixels</p></div> <# } #> <span class="setting link-to"> <label for="image-details-link-to" class="name">Link To</label> <select id="image-details-link-to" data-setting="link"> <# if ( data.attachment ) { #><option value="file"> Media File</option><option value="post"> Attachment Page</option> <# } else { #><option value="file"> Image URL</option> <# } #><option value="custom"> Custom URL</option><option value="none"> None</option> </select> </span> <span class="setting"> <label for="image-details-link-to-custom" class="name">URL</label> <input type="text" id="image-details-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span><div class="advanced-section"><h2><button type="button" class="button-link advanced-toggle">Advanced Options</button></h2><div class="advanced-settings hidden"><div class="advanced-image"> <span class="setting title-text"> <label for="image-details-title-attribute" class="name">Image Title Attribute</label> <input type="text" id="image-details-title-attribute" data-setting="title" value="{{ data.model.title }}" /> </span> <span class="setting extra-classes"> <label for="image-details-css-class" class="name">Image CSS Class</label> <input type="text" id="image-details-css-class" data-setting="extraClasses" value="{{ data.model.extraClasses }}" /> </span></div><div class="advanced-link"> <span class="setting link-target"> <input type="checkbox" id="image-details-link-target" data-setting="linkTargetBlank" value="_blank" <# if ( data.model.linkTargetBlank ) { #>checked="checked"<# } #>> <label for="image-details-link-target" class="checkbox-label">Open link in a new tab</label> </span> <span class="setting link-rel"> <label for="image-details-link-rel" class="name">Link Rel</label> <input type="text" id="image-details-link-rel" data-setting="linkRel" value="{{ data.model.linkRel }}" /> </span> <span class="setting link-class-name"> <label for="image-details-link-css-class" class="name">Link CSS Class</label> <input type="text" id="image-details-link-css-class" data-setting="linkClassName" value="{{ data.model.linkClassName }}" /> </span></div></div></div></div><div class="column-image"><div class="image"> <img src="{{ data.model.url }}" draggable="false" alt="" /> <# if ( data.attachment && window.imageEdit ) { #><div class="actions"> <input type="button" class="edit-attachment button" value="Edit Original" /> <input type="button" class="replace-attachment button" value="Replace" /></div> <# } #></div></div></div></div> <div id="media-head-{{ data.id }}"></div><div id="image-editor-{{ data.id }}"></div> <# var ext, html5types = { mp3: wp.media.view.settings.embedMimes.mp3, ogg: wp.media.view.settings.embedMimes.ogg }; #><div class="media-embed media-embed-details"><div class="embed-media-settings embed-audio-settings"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="{{ _.isUndefined( data.model.width ) ? 400 : data.model.width }}" preload="{{ _.isUndefined( data.model.preload ) ? 'none' : data.model.preload }}" <# if ( ! _.isUndefined( data.model.autoplay ) && data.model.autoplay ) { #> autoplay<# } if ( ! _.isUndefined( data.model.loop ) && data.model.loop ) { #> loop<# } #> > <# if ( ! _.isEmpty( data.model.src ) ) { #> <source src="{{ data.model.src }}" type="{{ wp.media.view.settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.mp3 ) ) { #> <source src="{{ data.model.mp3 }}" type="{{ wp.media.view.settings.embedMimes[ 'mp3' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.ogg ) ) { #> <source src="{{ data.model.ogg }}" type="{{ wp.media.view.settings.embedMimes[ 'ogg' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.flac ) ) { #> <source src="{{ data.model.flac }}" type="{{ wp.media.view.settings.embedMimes[ 'flac' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.m4a ) ) { #> <source src="{{ data.model.m4a }}" type="{{ wp.media.view.settings.embedMimes[ 'm4a' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.wav ) ) { #> <source src="{{ data.model.wav }}" type="{{ wp.media.view.settings.embedMimes[ 'wav' ] }}" /> <# } #> </audio> <# if ( ! _.isEmpty( data.model.src ) ) { ext = data.model.src.split('.').pop(); if ( html5types[ ext ] ) { delete html5types[ ext ]; } #> <span class="setting"> <label for="audio-details-source" class="name">URL</label> <input type="text" id="audio-details-source" readonly data-setting="src" value="{{ data.model.src }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.mp3 ) ) { if ( ! _.isUndefined( html5types.mp3 ) ) { delete html5types.mp3; } #> <span class="setting"> <label for="audio-details-mp3-source" class="name">MP3</label> <input type="text" id="audio-details-mp3-source" readonly data-setting="mp3" value="{{ data.model.mp3 }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.ogg ) ) { if ( ! _.isUndefined( html5types.ogg ) ) { delete html5types.ogg; } #> <span class="setting"> <label for="audio-details-ogg-source" class="name">OGG</label> <input type="text" id="audio-details-ogg-source" readonly data-setting="ogg" value="{{ data.model.ogg }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.flac ) ) { if ( ! _.isUndefined( html5types.flac ) ) { delete html5types.flac; } #> <span class="setting"> <label for="audio-details-flac-source" class="name">FLAC</label> <input type="text" id="audio-details-flac-source" readonly data-setting="flac" value="{{ data.model.flac }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.m4a ) ) { if ( ! _.isUndefined( html5types.m4a ) ) { delete html5types.m4a; } #> <span class="setting"> <label for="audio-details-m4a-source" class="name">M4A</label> <input type="text" id="audio-details-m4a-source" readonly data-setting="m4a" value="{{ data.model.m4a }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.wav ) ) { if ( ! _.isUndefined( html5types.wav ) ) { delete html5types.wav; } #> <span class="setting"> <label for="audio-details-wav-source" class="name">WAV</label> <input type="text" id="audio-details-wav-source" readonly data-setting="wav" value="{{ data.model.wav }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( html5types ) ) { #><fieldset class="setting-group"><legend class="name">Add alternate sources for maximum HTML5 playback</legend> <span class="setting"> <span class="button-large"> <# _.each( html5types, function (mime, type) { #> <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button> <# } ) #> </span> </span></fieldset> <# } #><fieldset class="setting-group"><legend class="name">Preload</legend> <span class="setting preload"> <span class="button-group button-large" data-setting="preload"> <button class="button" value="auto">Auto</button> <button class="button" value="metadata">Metadata</button> <button class="button active" value="none">None</button> </span> </span></fieldset> <span class="setting-group"> <span class="setting checkbox-setting autoplay"> <input type="checkbox" id="audio-details-autoplay" data-setting="autoplay" /> <label for="audio-details-autoplay" class="checkbox-label">Autoplay</label> </span> <span class="setting checkbox-setting"> <input type="checkbox" id="audio-details-loop" data-setting="loop" /> <label for="audio-details-loop" class="checkbox-label">Loop</label> </span> </span></div></div> <# var ext, html5types = { mp4: wp.media.view.settings.embedMimes.mp4, ogv: wp.media.view.settings.embedMimes.ogv, webm: wp.media.view.settings.embedMimes.webm }; #><div class="media-embed media-embed-details"><div class="embed-media-settings embed-video-settings"><div class="wp-video-holder"> <# var w = ! data.model.width || data.model.width > 640 ? 640 : data.model.width, h = ! data.model.height ? 360 : data.model.height; if ( data.model.width && w !== data.model.width ) { h = Math.ceil( ( h * w ) / data.model.width ); } #> <# var w_rule = '', classes = [], w, h, settings = wp.media.view.settings, isYouTube = isVimeo = false; if ( ! _.isEmpty( data.model.src ) ) { isYouTube = data.model.src.match(/youtube|youtu\.be/); isVimeo = -1 !== data.model.src.indexOf('vimeo'); } if ( settings.contentWidth && data.model.width >= settings.contentWidth ) { w = settings.contentWidth; } else { w = data.model.width; } if ( w !== data.model.width ) { h = Math.ceil( ( data.model.height * w ) / data.model.width ); } else { h = data.model.height; } if ( w ) { w_rule = 'width: ' + w + 'px; '; } if ( isYouTube ) { classes.push( 'youtube-video' ); } if ( isVimeo ) { classes.push( 'vimeo-video' ); } #><div style="{{ w_rule }}" class="wp-video"><video controls class="wp-video-shortcode {{ classes.join( ' ' ) }}" <# if ( w ) { #>width="{{ w }}"<# } #> <# if ( h ) { #>height="{{ h }}"<# } #> <# if ( ! _.isUndefined( data.model.poster ) && data.model.poster ) { #> poster="{{ data.model.poster }}"<# } #> preload ="{{ _.isUndefined( data.model.preload ) ? 'metadata' : data.model.preload }}" <# if ( ! _.isUndefined( data.model.autoplay ) && data.model.autoplay ) { #> autoplay<# } if ( ! _.isUndefined( data.model.loop ) && data.model.loop ) { #> loop<# } #> > <# if ( ! _.isEmpty( data.model.src ) ) { if ( isYouTube ) { #> <source src="{{ data.model.src }}" type="video/youtube" /> <# } else if ( isVimeo ) { #> <source src="{{ data.model.src }}" type="video/vimeo" /> <# } else { #> <source src="{{ data.model.src }}" type="{{ settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> <# } } #> <# if ( data.model.mp4 ) { #> <source src="{{ data.model.mp4 }}" type="{{ settings.embedMimes[ 'mp4' ] }}" /> <# } #> <# if ( data.model.m4v ) { #> <source src="{{ data.model.m4v }}" type="{{ settings.embedMimes[ 'm4v' ] }}" /> <# } #> <# if ( data.model.webm ) { #> <source src="{{ data.model.webm }}" type="{{ settings.embedMimes[ 'webm' ] }}" /> <# } #> <# if ( data.model.ogv ) { #> <source src="{{ data.model.ogv }}" type="{{ settings.embedMimes[ 'ogv' ] }}" /> <# } #> <# if ( data.model.flv ) { #> <source src="{{ data.model.flv }}" type="{{ settings.embedMimes[ 'flv' ] }}" /> <# } #> {{{ data.model.content }}}</video></div> <# if ( ! _.isEmpty( data.model.src ) ) { ext = data.model.src.split('.').pop(); if ( html5types[ ext ] ) { delete html5types[ ext ]; } #> <span class="setting"> <label for="video-details-source" class="name">URL</label> <input type="text" id="video-details-source" readonly data-setting="src" value="{{ data.model.src }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.mp4 ) ) { if ( ! _.isUndefined( html5types.mp4 ) ) { delete html5types.mp4; } #> <span class="setting"> <label for="video-details-mp4-source" class="name">MP4</label> <input type="text" id="video-details-mp4-source" readonly data-setting="mp4" value="{{ data.model.mp4 }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.m4v ) ) { if ( ! _.isUndefined( html5types.m4v ) ) { delete html5types.m4v; } #> <span class="setting"> <label for="video-details-m4v-source" class="name">M4V</label> <input type="text" id="video-details-m4v-source" readonly data-setting="m4v" value="{{ data.model.m4v }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.webm ) ) { if ( ! _.isUndefined( html5types.webm ) ) { delete html5types.webm; } #> <span class="setting"> <label for="video-details-webm-source" class="name">WEBM</label> <input type="text" id="video-details-webm-source" readonly data-setting="webm" value="{{ data.model.webm }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.ogv ) ) { if ( ! _.isUndefined( html5types.ogv ) ) { delete html5types.ogv; } #> <span class="setting"> <label for="video-details-ogv-source" class="name">OGV</label> <input type="text" id="video-details-ogv-source" readonly data-setting="ogv" value="{{ data.model.ogv }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.flv ) ) { if ( ! _.isUndefined( html5types.flv ) ) { delete html5types.flv; } #> <span class="setting"> <label for="video-details-flv-source" class="name">FLV</label> <input type="text" id="video-details-flv-source" readonly data-setting="flv" value="{{ data.model.flv }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #></div> <# if ( ! _.isEmpty( html5types ) ) { #><fieldset class="setting-group"><legend class="name">Add alternate sources for maximum HTML5 playback</legend> <span class="setting"> <span class="button-large"> <# _.each( html5types, function (mime, type) { #> <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button> <# } ) #> </span> </span></fieldset> <# } #> <# if ( ! _.isEmpty( data.model.poster ) ) { #> <span class="setting"> <label for="video-details-poster-image" class="name">Poster Image</label> <input type="text" id="video-details-poster-image" readonly data-setting="poster" value="{{ data.model.poster }}" /> <button type="button" class="button-link remove-setting">Remove poster image</button> </span> <# } #><fieldset class="setting-group"><legend class="name">Preload</legend> <span class="setting preload"> <span class="button-group button-large" data-setting="preload"> <button class="button" value="auto">Auto</button> <button class="button" value="metadata">Metadata</button> <button class="button active" value="none">None</button> </span> </span></fieldset> <span class="setting-group"> <span class="setting checkbox-setting autoplay"> <input type="checkbox" id="video-details-autoplay" data-setting="autoplay" /> <label for="video-details-autoplay" class="checkbox-label">Autoplay</label> </span> <span class="setting checkbox-setting"> <input type="checkbox" id="video-details-loop" data-setting="loop" /> <label for="video-details-loop" class="checkbox-label">Loop</label> </span> </span> <span class="setting" data-setting="content"> <# var content = ''; if ( ! _.isEmpty( data.model.content ) ) { var tracks = jQuery( data.model.content ).filter( 'track' ); _.each( tracks.toArray(), function( track, index ) { content += track.outerHTML; #> <label for="video-details-track-{{ index }}" class="name">Tracks (subtitles, captions, descriptions, chapters, or metadata)</label> <input class="content-track" type="text" id="video-details-track-{{ index }}" aria-describedby="video-details-track-desc-{{ index }}" value="{{ track.outerHTML }}" /> <span class="description" id="video-details-track-desc-{{ index }}"> The srclang, label, and kind values can be edited to set the video track language and kind. </span> <button type="button" class="button-link remove-setting remove-track">Remove video track</button><br /> <# } ); #> <# } else { #> <span class="name">Tracks (subtitles, captions, descriptions, chapters, or metadata)</span><br /> <em>There are no associated subtitles.</em> <# } #><textarea class="hidden content-setting">{{ content }}</textarea></span></div></div> <# if ( data.attachments.length ) { #><div class="gallery gallery-columns-{{ data.columns }}"> <# _.each( data.attachments, function( attachment, index ) { #><dl class="gallery-item"><dt class="gallery-icon"> <# if ( attachment.thumbnail ) { #> <img src="{{ attachment.thumbnail.url }}" width="{{ attachment.thumbnail.width }}" height="{{ attachment.thumbnail.height }}" alt="{{ attachment.alt }}" /> <# } else { #> <img src="{{ attachment.url }}" alt="{{ attachment.alt }}" /> <# } #></dt> <# if ( attachment.caption ) { #><dd class="wp-caption-text gallery-caption"> {{{ data.verifyHTML( attachment.caption ) }}}</dd> <# } #></dl> <# if ( index % data.columns === data.columns - 1 ) { #> <br style="clear: both;" /> <# } #> <# } ); #></div> <# } else { #><div class="wpview-error"><div class="dashicons dashicons-format-gallery"></div><p>No items found.</p></div> <# } #> <img class="crop-image" src="{{ data.url }}" alt="Image crop area preview. Requires mouse interaction." /><div class="upload-errors"></div> <style> :root{ --site-icon-url: url( "{{ data.url }}" ); } </style><h2>Site Icon Preview</h2><p>As an app icon and a browser icon.</p><div class="site-icon-preview crop"><div class="image-preview-wrap app-icon-preview"> <img id="preview-app-icon" src="{{ data.url }}" class="app-icon-preview" alt="Preview as an app icon" /></div><div class="site-icon-preview-browser"> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="browser-buttons"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 20a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm18 0a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm24-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z" /></svg><div class="site-icon-preview-tab"><div class="image-preview-wrap browser"> <img id="preview-favicon" src="{{ data.url }}" class="browser-icon-preview" alt="Preview as a browser icon" /></div><div class="site-icon-preview-site-title" aria-hidden="true"><# print( 'Better Life Accountancy' ) #></div> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="close-button"> <path d="M12 13.0607L15.7123 16.773L16.773 15.7123L13.0607 12L16.773 8.28772L15.7123 7.22706L12 10.9394L8.28771 7.22705L7.22705 8.28771L10.9394 12L7.22706 15.7123L8.28772 16.773L12 13.0607Z" /> </svg></div></div></div></div> <p class="pum-sub-form-desc"> Popup: ID "{{attrs.id}}"</p> <# const allowedTags = ["a","abbr","acronym","b","blockquote","cite","code","del","em","i","q","s","strike","strong"]; const tag = allowedTags.indexOf( attrs.tag ) >= 0 ? attrs.tag : 'span'; #> <{{{tag}}} class="pum-trigger popmake-{{{attrs.id}}} {{{attrs.classes}}}">{{{attrs._inner_content}}}</{{{tag}}}> <# const allowedTags = ["a","abbr","acronym","b","blockquote","cite","code","del","em","i","q","s","strike","strong"]; const tag = allowedTags.indexOf( attrs.tag ) >= 0 ? attrs.tag : 'span'; #> <{{{tag}}} class="pum-close popmake-close <# if (typeof attrs.classes !== 'undefined') print(attrs.classes); #>">{{{attrs._inner_content}}}</{{{tag}}}> <div class="pum-cookie">Popup Cookie</div> <p class="pum-sub-form-desc"> Subscription Form Placeholder</p> /* <![CDATA[ */ var _wpUtilSettings = {"ajax":{"url":"\/wp-admin\/admin-ajax.php"}}; /* ]]> */ /* <![CDATA[ */ var _wpMediaModelsL10n = {"settings":{"ajaxurl":"\/wp-admin\/admin-ajax.php","post":{"id":0}}}; /* ]]> */ /* <![CDATA[ */ var pluploadL10n = {"queue_limit_exceeded":"You have attempted to queue too many files.","file_exceeds_size_limit":"%s exceeds the maximum upload size for this site.","zero_byte_file":"This file is empty. Please try another.","invalid_filetype":"This file cannot be processed by the web server.","not_an_image":"This file is not an image. Please try another.","image_memory_exceeded":"Memory exceeded. Please try another smaller file.","image_dimensions_exceeded":"This is larger than the maximum size. Please try another.","default_error":"An error occurred in the upload. Please try again later.","missing_upload_url":"There was a configuration error. Please contact the server administrator.","upload_limit_exceeded":"You may only upload one file.","http_error":"Unexpected response from the server. The file may have been uploaded successfully. Check in the Media Library or reload the page.","http_error_image":"The server cannot process the image. This can happen if the server is busy or does not have enough resources to complete the task. Uploading a smaller image may help. Suggested maximum size is 2,560 pixels.","upload_failed":"Upload failed.","big_upload_failed":"Please try uploading this file with the %1$sbrowser uploader%2$s.","big_upload_queued":"%s exceeds the maximum upload size for the multi-file uploader when used in your browser.","io_error":"IO error.","security_error":"Security error.","file_cancelled":"File cancelled.","upload_stopped":"Upload stopped.","dismiss":"Dismiss","crunching":"Crunching\u2026","deleted":"moved to the Bin.","error_uploading":"\u201c%s\u201d has failed to upload.","unsupported_image":"This image cannot be displayed in a web browser. For best results, convert it to JPEG before uploading.","noneditable_image":"The web server cannot generate responsive image sizes for this image. Convert it to JPEG or PNG before uploading.","file_url_copied":"The file URL has been copied to your clipboard"}; var _wpPluploadSettings = {"defaults":{"file_data_name":"async-upload","url":"\/wp-admin\/async-upload.php","filters":{"max_file_size":"0b","mime_types":[{"extensions":"jpg,jpeg,jpe,gif,png,bmp,tiff,tif,webp,avif,ico,heic,heif,heics,heifs,asf,asx,wmv,wmx,wm,avi,divx,flv,mov,qt,mpeg,mpg,mpe,mp4,m4v,ogv,webm,mkv,3gp,3gpp,3g2,3gp2,txt,asc,c,cc,h,srt,csv,tsv,ics,rtx,css,vtt,dfxp,mp3,m4a,m4b,aac,ra,ram,wav,x-wav,ogg,oga,flac,mid,midi,wma,wax,mka,rtf,pdf,class,tar,zip,gz,gzip,rar,7z,psd,xcf,doc,pot,pps,ppt,wri,xla,xls,xlt,xlw,mdb,mpp,docx,docm,dotx,dotm,xlsx,xlsm,xlsb,xltx,xltm,xlam,pptx,pptm,ppsx,ppsm,potx,potm,ppam,sldx,sldm,onetoc,onetoc2,onetmp,onepkg,oxps,xps,odt,odp,ods,odg,odc,odb,odf,wp,wpd,key,numbers,pages,redux"}]},"heic_upload_error":true,"multipart_params":{"action":"upload-attachment","_wpnonce":"88d233171a"}},"browser":{"mobile":false,"supported":true},"limitExceeded":false}; /* ]]> */ /* <![CDATA[ */ var mejsL10n = {"language":"en","strings":{"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https:\/\/get.adobe.com\/flashplayer\/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left\/Right Arrow keys to advance one second, Up\/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up\/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions\/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}}; /* ]]> */ /* <![CDATA[ */ var _wpmejsSettings = {"pluginPath":"\/wp-includes\/js\/mediaelement\/","classPrefix":"mejs-","stretching":"responsive","audioShortcodeLibrary":"mediaelement","videoShortcodeLibrary":"mediaelement"}; /* ]]> */ /* <![CDATA[ */ var wpApiSettings = {"root":"https:\/\/betterlifeaccountancy.com\/wp-json\/","nonce":"b1abcec494","versionString":"wp\/v2\/"}; /* ]]> */ /* <![CDATA[ */ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); /* ]]> */ /* <![CDATA[ */ ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "default", {"translation-revision-date":"2025-11-13 00:57:08+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Notifications":["Notifications"]}},"comment":{"reference":"wp-includes\/js\/dist\/a11y.js"}} ); /* ]]> */ /* <![CDATA[ */ var _wpMediaViewsL10n = {"mediaFrameDefaultTitle":"Media","url":"URL","addMedia":"Add media","search":"Search","select":"Select","cancel":"Cancel","update":"Update","replace":"Replace","remove":"Remove","back":"Back","selected":"%d selected","dragInfo":"Drag and drop to reorder media files.","uploadFilesTitle":"Upload files","uploadImagesTitle":"Upload images","mediaLibraryTitle":"Media Library","insertMediaTitle":"Add media","createNewGallery":"Create a new gallery","createNewPlaylist":"Create a new playlist","createNewVideoPlaylist":"Create a new video playlist","returnToLibrary":"\u2190 Go to library","allMediaItems":"All media items","allDates":"All dates","noItemsFound":"No items found.","insertIntoPost":"Insert into post","unattached":"Unattached","mine":"Mine","trash":"Bin","uploadedToThisPost":"Uploaded to this post","warnDelete":"You are about to permanently delete this item from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete.","warnBulkDelete":"You are about to permanently delete these items from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete.","warnBulkTrash":"You are about to delete these items.\n Click 'Cancel' to stop, or 'OK' to delete.","bulkSelect":"Bulk select","trashSelected":"Move to Bin","restoreSelected":"Restore from Bin","deletePermanently":"Delete permanently","errorDeleting":"Error in deleting the attachment.","apply":"Apply","filterByDate":"Filter by date","filterByType":"Filter by type","searchLabel":"Search media","searchMediaLabel":"Search media","searchMediaPlaceholder":"Search media items...","mediaFound":"Number of media items found: %d","noMedia":"No media items found.","noMediaTryNewSearch":"No media items found. Try a different search.","attachmentDetails":"Attachment details","insertFromUrlTitle":"Insert from URL","setFeaturedImageTitle":"Featured image","setFeaturedImage":"Set featured image","createGalleryTitle":"Create gallery","editGalleryTitle":"Edit gallery","cancelGalleryTitle":"\u2190 Cancel gallery","insertGallery":"Insert gallery","updateGallery":"Update gallery","addToGallery":"Add to gallery","addToGalleryTitle":"Add to gallery","reverseOrder":"Reverse order","imageDetailsTitle":"Image details","imageReplaceTitle":"Replace image","imageDetailsCancel":"Cancel edit","editImage":"Edit image","chooseImage":"Choose image","selectAndCrop":"Select and crop","skipCropping":"Skip cropping","cropImage":"Crop image","cropYourImage":"Crop your image","cropping":"Cropping\u2026","suggestedDimensions":"Suggested image dimensions: %1$s by %2$s pixels.","cropError":"There has been an error cropping your image.","audioDetailsTitle":"Audio details","audioReplaceTitle":"Replace audio","audioAddSourceTitle":"Add audio source","audioDetailsCancel":"Cancel edit","videoDetailsTitle":"Video details","videoReplaceTitle":"Replace video","videoAddSourceTitle":"Add video source","videoDetailsCancel":"Cancel edit","videoSelectPosterImageTitle":"Select poster image","videoAddTrackTitle":"Add subtitles","playlistDragInfo":"Drag and drop to reorder tracks.","createPlaylistTitle":"Create audio playlist","editPlaylistTitle":"Edit audio playlist","cancelPlaylistTitle":"\u2190 Cancel audio playlist","insertPlaylist":"Insert audio playlist","updatePlaylist":"Update audio playlist","addToPlaylist":"Add to audio playlist","addToPlaylistTitle":"Add to Audio Playlist","videoPlaylistDragInfo":"Drag and drop to reorder videos.","createVideoPlaylistTitle":"Create video playlist","editVideoPlaylistTitle":"Edit video playlist","cancelVideoPlaylistTitle":"\u2190 Cancel video playlist","insertVideoPlaylist":"Insert video playlist","updateVideoPlaylist":"Update video playlist","addToVideoPlaylist":"Add to video playlist","addToVideoPlaylistTitle":"Add to video playlist","filterAttachments":"Filter media","attachmentsList":"Media list","settings":{"tabs":[],"tabUrl":"https:\/\/betterlifeaccountancy.com\/wp-admin\/media-upload.php?chromeless=1","mimeTypes":{"image":"Images","audio":"Audio","video":"Video","application\/msword,application\/vnd.openxmlformats-officedocument.wordprocessingml.document,application\/vnd.ms-word.document.macroEnabled.12,application\/vnd.ms-word.template.macroEnabled.12,application\/vnd.oasis.opendocument.text,application\/vnd.apple.pages,application\/pdf,application\/vnd.ms-xpsdocument,application\/oxps,application\/rtf,application\/wordperfect,application\/octet-stream":"Documents","application\/vnd.apple.numbers,application\/vnd.oasis.opendocument.spreadsheet,application\/vnd.ms-excel,application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application\/vnd.ms-excel.sheet.macroEnabled.12,application\/vnd.ms-excel.sheet.binary.macroEnabled.12":"Spreadsheets","application\/x-gzip,application\/rar,application\/x-tar,application\/zip,application\/x-7z-compressed":"Archives"},"captions":true,"nonce":{"sendToEditor":"7113c7b2fd","setAttachmentThumbnail":"edf8d4338f"},"post":{"id":0},"defaultProps":{"link":"none","align":"","size":""},"attachmentCounts":{"audio":1,"video":1},"oEmbedProxyUrl":"https:\/\/betterlifeaccountancy.com\/wp-json\/oembed\/1.0\/proxy","embedExts":["mp3","ogg","flac","m4a","wav","mp4","m4v","webm","ogv","flv"],"embedMimes":{"mp3":"audio\/mpeg","ogg":"audio\/ogg","flac":"audio\/flac","m4a":"audio\/mpeg","wav":"audio\/wav","mp4":"video\/mp4","m4v":"video\/mp4","webm":"video\/webm","ogv":"video\/ogg","flv":"video\/x-flv"},"contentWidth":1080,"months":[{"year":"2024","month":"7","text":"July 2024"},{"year":"2024","month":"6","text":"June 2024"},{"year":"2022","month":"8","text":"August 2022"}],"mediaTrash":0,"infiniteScrolling":1}}; /* ]]> */ /* <![CDATA[ */ ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "default", {"translation-revision-date":"2025-11-13 00:57:08+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Showing %1$s of %2$s media items":["Showing %1$s of %2$s media items"],"Jump to first loaded item":["Jump to first loaded item"],"Load more":["Load more"],"Number of media items displayed: %d. Click load more for more results.":["Number of media items displayed: %d. Click \u201cload more\u201d for more results."],"The file URL has been copied to your clipboard":["The file URL has been copied to your clipboard"],"%s item selected":["%s item selected","%s items selected"],"Number of media items displayed: %d. Scroll the page for more results.":["Number of media items displayed: %d. Scroll the page for more results."]}},"comment":{"reference":"wp-includes\/js\/media-views.js"}} ); /* ]]> */ /* <![CDATA[ */ ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "default", {"translation-revision-date":"2025-11-13 00:57:08+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Could not set that as the thumbnail image. Try a different attachment.":["Could not set that as the thumbnail image. Try a different attachment."]}},"comment":{"reference":"wp-includes\/js\/media-editor.js"}} ); /* ]]> */ /* <![CDATA[ */ var njt_wa_global = {"ajax_url":"https:\/\/betterlifeaccountancy.com\/wp-admin\/admin-ajax.php","nonce":"bd6648d3fb","defaultAvatarSVG":"<svg width=\"48px\" height=\"48px\" class=\"nta-whatsapp-default-avatar\" version=\"1.1\" id=\"Layer_1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\"\n viewBox=\"0 0 512 512\" style=\"enable-background:new 0 0 512 512;\" xml:space=\"preserve\">\n <path style=\"fill:#EDEDED;\" d=\"M0,512l35.31-128C12.359,344.276,0,300.138,0,254.234C0,114.759,114.759,0,255.117,0\n S512,114.759,512,254.234S395.476,512,255.117,512c-44.138,0-86.51-14.124-124.469-35.31L0,512z\"\/>\n <path style=\"fill:#55CD6C;\" d=\"M137.71,430.786l7.945,4.414c32.662,20.303,70.621,32.662,110.345,32.662\n c115.641,0,211.862-96.221,211.862-213.628S371.641,44.138,255.117,44.138S44.138,137.71,44.138,254.234\n c0,40.607,11.476,80.331,32.662,113.876l5.297,7.945l-20.303,74.152L137.71,430.786z\"\/>\n <path style=\"fill:#FEFEFE;\" d=\"M187.145,135.945l-16.772-0.883c-5.297,0-10.593,1.766-14.124,5.297\n c-7.945,7.062-21.186,20.303-24.717,37.959c-6.179,26.483,3.531,58.262,26.483,90.041s67.09,82.979,144.772,105.048\n c24.717,7.062,44.138,2.648,60.028-7.062c12.359-7.945,20.303-20.303,22.952-33.545l2.648-12.359\n c0.883-3.531-0.883-7.945-4.414-9.71l-55.614-25.6c-3.531-1.766-7.945-0.883-10.593,2.648l-22.069,28.248\n c-1.766,1.766-4.414,2.648-7.062,1.766c-15.007-5.297-65.324-26.483-92.69-79.448c-0.883-2.648-0.883-5.297,0.883-7.062\n l21.186-23.834c1.766-2.648,2.648-6.179,1.766-8.828l-25.6-57.379C193.324,138.593,190.676,135.945,187.145,135.945\"\/>\n <\/svg>","defaultAvatarUrl":"https:\/\/betterlifeaccountancy.com\/wp-content\/plugins\/wp-whatsapp\/assets\/img\/whatsapp_logo.svg","timezone":"+00:00","i18n":{"online":"Online","offline":"Offline"},"urlSettings":{"onDesktop":"api","onMobile":"api","openInNewTab":"ON"}}; /* ]]> */ /* <![CDATA[ */ var nectarLove = {"ajaxurl":"https:\/\/betterlifeaccountancy.com\/wp-admin\/admin-ajax.php","postID":"421","rooturl":"https:\/\/betterlifeaccountancy.com","disqusComments":"false","loveNonce":"c6089be24f","mapApiKey":"AIzaSyCOHmjwhcIY52nBwvu4eNvosz0w4FZZDOM"}; var nectarOptions = {"delay_js":"false","smooth_scroll":"false","smooth_scroll_strength":"50","quick_search":"false","react_compat":"disabled","header_entrance":"true","body_border_func":"default","disable_box_roll_mobile":"off","body_border_mobile":"0","dropdown_hover_intent":"default","simplify_ocm_mobile":"0","mobile_header_format":"default","ocm_btn_position":"default","left_header_dropdown_func":"default","ajax_add_to_cart":"0","ocm_remove_ext_menu_items":"remove_images","woo_product_filter_toggle":"0","woo_sidebar_toggles":"true","woo_sticky_sidebar":"0","woo_minimal_product_hover":"default","woo_minimal_product_effect":"default","woo_related_upsell_carousel":"false","woo_product_variable_select":"default","woo_using_cart_addons":"false","view_transitions_effect":""}; var nectar_front_i18n = {"menu":"Menu","next":"Next","previous":"Previous","close":"Close"}; /* ]]> */ /* <![CDATA[ */ var pum_vars = {"version":"1.21.5","pm_dir_url":"https:\/\/betterlifeaccountancy.com\/wp-content\/plugins\/popup-maker\/","ajaxurl":"https:\/\/betterlifeaccountancy.com\/wp-admin\/admin-ajax.php","restapi":"https:\/\/betterlifeaccountancy.com\/wp-json\/pum\/v1","rest_nonce":null,"default_theme":"470","debug_mode":"","disable_tracking":"","home_url":"\/","message_position":"top","core_sub_forms_enabled":"1","popups":[],"cookie_domain":"","analytics_enabled":"1","analytics_route":"analytics","analytics_api":"https:\/\/betterlifeaccountancy.com\/wp-json\/pum\/v1"}; var pum_sub_vars = {"ajaxurl":"https:\/\/betterlifeaccountancy.com\/wp-admin\/admin-ajax.php","message_position":"top"}; var pum_popups = {"pum-497":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"medium","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":497,"slug":"landlords-property-developers-2"},"pum-495":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":495,"slug":"you"},"pum-493":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":493,"slug":"horse-racing-bloodstock"},"pum-491":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":491,"slug":"tradespeople"},"pum-489":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":489,"slug":"rural-economy"},"pum-486":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":486,"slug":"hospitality-tourism"},"pum-479":{"triggers":[{"type":"click_open","settings":{"cookie_name":["pum-479"],"extra_selectors":".pum-479"}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":479,"slug":"landlords-property-developers"}}; /* ]]> */ /* <![CDATA[ */ var complianz = {"prefix":"cmplz_","user_banner_id":"1","set_cookies":[],"block_ajax_content":"","banner_version":"19","version":"7.4.4","store_consent":"","do_not_track_enabled":"1","consenttype":"optin","region":"uk","geoip":"","dismiss_timeout":"","disable_cookiebanner":"","soft_cookiewall":"1","dismiss_on_scroll":"","cookie_expiry":"365","url":"https:\/\/betterlifeaccountancy.com\/wp-json\/complianz\/v1\/","locale":"lang=en&locale=en_GB","set_cookies_on_root":"","cookie_domain":"","current_policy_id":"22","cookie_path":"\/","categories":{"statistics":"statistics","marketing":"marketing"},"tcf_active":"","placeholdertext":"Click to accept {category} cookies and enable this content","css_file":"https:\/\/betterlifeaccountancy.com\/wp-content\/uploads\/complianz\/css\/banner-{banner_id}-{type}.css?v=19","page_links":{"uk":{"cookie-statement":{"title":"","url":"https:\/\/betterlifeaccountancy.com\/contact-us\/"},"privacy-statement":{"title":"Privacy Policy","url":"https:\/\/betterlifeaccountancy.com\/privacy-policy\/"}}},"tm_categories":"","forceEnableStats":"","preview":"","clean_cookies":"","aria_label":"Click to accept {category} cookies and enable this content"}; /* ]]> */ /* <![CDATA[ */ var njt_wa = {"gdprStatus":"1","accounts":[{"accountId":288,"accountName":"","avatar":"","number":"+447365389793","title":"Leave us a message and we will come back to you shortly","predefinedText":"","willBeBackText":"I will be back in [njwa_time_work]","dayOffsText":"I will be back soon","isAlwaysAvailable":"ON","daysOfWeekWorking":{"sunday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"monday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"tuesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"wednesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"thursday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"friday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"saturday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]}}}],"options":{"display":{"displayCondition":"showAllPage","includePages":[],"excludePages":[],"includePosts":[],"showOnDesktop":"ON","showOnMobile":"ON","time_symbols":"h:m"},"styles":{"title":"Start a Conversation","responseText":"The team typically replies in a few minutes during office hours.","description":"","backgroundColor":"#80eba7","textColor":"#fff","titleSize":"18","accountNameSize":"14","descriptionTextSize":"12","regularTextSize":"11","scrollHeight":"500","isShowScroll":"OFF","isShowResponseText":"OFF","btnLabel":"Have a question? <br \/><strong>Leave us a message<\/strong>","btnLabelWidth":"156","btnPosition":"right","btnLeftDistance":"30","btnRightDistance":"30","btnBottomDistance":"30","isShowBtnLabel":"ON","isShowGDPR":"ON","gdprContent":"Please accept our <a href=\"https:\/\/ninjateam.org\/privacy-policy\/\">privacy policy<\/a> first to start a conversation.","isShowPoweredBy":"ON"},"analytics":{"enabledGoogle":"OFF","enabledFacebook":"OFF","enabledGoogleGA4":"OFF"}}}; /* ]]> */
View text
Skip to main content Close Search Contact Us Menu About UsServicesTestimonialsBloglinkedin Contact UsAt Better Life, We Do Things Better Play Video Watch our Ad Why we’re better We embrace technologyTechnology without that human touch – no thank you! At Better Life we embrace technology to enhance the experience you have with your business and accountant. Every piece of technology we use has one purpose – to give you a Better Life. We embrace technologyTechnology without that human touch – no thank you! At Better Life we embrace technology to enhance the experience you have with your business and accountant. Every piece of technology we use has one purpose – to give you a Better Life. We deliver an efficient serviceAs a forward-thinking, modern firm, we implement proven technology solutions to be able to be as efficient as possible when dealing with your affairs. This keeps costs low and allows us to spend more time advising you on the things that matter, instead of being restricted to dealing with the routine, day-to-day tasks. Working ‘On’ your business rather than ‘In’ it! We deliver an efficient serviceAs a forward-thinking, modern firm, we implement proven technology solutions to be able to be as efficient as possible when dealing with your affairs. This keeps costs low and allows us to spend more time advising you on the things that matter, instead of being restricted to dealing with the routine, day-to-day tasks. Working ‘On’ your business rather than ‘In’ it! We have all the technical knowledgeAs Chartered Accountants and Chartered Tax Advisors we have all the technical knowledge you would expect from an accountancy firm but what sets us apart is our genuine interest in helping you achieve your business and personal goals. We have all the technical knowledgeAs Chartered Accountants and Chartered Tax Advisors we have all the technical knowledge you would expect from an accountancy firm but what sets us apart is our genuine interest in helping you achieve your business and personal goals.Sector specialisms.Explore our expertise across diverse sectors, each with their own unique challenges and opportunities.Sector specialisms.Explore our expertise across diverse sectors, each with their own unique challenges and opportunities. Landlords & property developersWe have extensive knowledge and experience dealing with property owners. Whether you have residential or furnished holiday lets, or you’re a developer, we have the expertise to help you. Read More Hospitality & tourismWe understand how challenging the hospitality and tourism industry can be which is why it’s crucial you’re as efficient as possible if you want to remain competitive in an ever-changing landscape. Read More Rural economyGone are the days where farmers only farmed! We have over a decade of experience advising the region’s agricultural sector. Whether you are a traditional farmer or have a diverse number of business activities, we can help. Read More TradespeopleWhether you’re a sub-contractor or contractor we can help ensure you not only meet your statutory requirements but that you thrive in a sector which can be challenging to operate in. Read More Horse racing & bloodstockIf you’re a trainer, breeder or provide livery services, you’re in the right place! With complex tax rules and regulations to consider in addition to the usual compliance requirements, by choosing Better Life, you’re in safe hands. Read More You!Given our vast knowledge and experience working with owner-managed businesses of all shapes and sizes in a wide range of industries, we’re confident we can help you and your business. Read MoreWe’re passionate about using technology to drive efficiencies both internally and for our clients.What we do.At Better Life, We Do More Than Numbers: Discover How Our Services Can Transform Your Business.What we do.At Better Life, We Do More Than Numbers: Discover How Our Services Can Transform Your Business.Year end accountsCorporation taxBook-keeping and VAT returnsSelf-assessmentsPayroll & auto enrolmentCIS returnsP11D’sConfirmation statementsManagement accountsCGT planningIHT planningRemuneration planningSuccession planningTrust advice and planningTech reviewsBusiness AdvisoryDigital solutionsTrust tax returns Hear directly from our clients who’ve experienced the Better Life difference.”We run a number of businesses. This places a wide range of demands on our professional advisors. We have known and worked with Chris for about 10 years, during which time his role and importance to our organisations has grown markedly. We trust him and like him a great deal. That said, the more word gets out, the less time he might have to help and guide us. On that basis, he’s not that good.Business ownerMid 40s”When Chris informed us that he was setting up his own Accountancy business there was absolutely no hesitation on my part, or the other Members of our family, that we would be supporting him in his new venture. Chris has been our Family Accountant for over 10 years and we have always found him prompt and efficient in his correspondence and returning phone calls and never doubted his ability, work ethic or integrity and can thoroughly recommend him to future Clients.Maurice Camacho & familyMalton”We have had Chris Land as our accountant for a few years. When he said that he was leaving to go on his own we didn’t hesitate in staying with him as a client. We would thoroughly recommend him.Julie & Steve BrownJ A C Racing LLPGet In TouchTired of being underserviced and overcharged? We can help… Contact UsBook a MeetingGet In TouchTired of being underserviced and overcharged? We can help…Contact UsBook a Meeting Better Life Accountancy Limited. Privacy Policy. Website by Waywest Design. .vc_do_custom_heading{margin-bottom:0.625rem;margin-top:0;}.vc_do_custom_heading{margin-bottom:0.625rem;margin-top:0;} Close Menu About UsServicesTestimonialsBloglinkedin {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/salient-child\/*","\/wp-content\/themes\/salient\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} Manage Consent To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behaviour or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions. Functional Functional Always active The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network. Preferences Preferences The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user. Statistics Statistics The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you. Marketing Marketing The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes. Manage optionsManage servicesManage {vendor_count} vendorsRead more about these purposes Accept Deny View preferences Save preferences View preferences{title}{title}{title}Manage consent Landlords & property developersWe have extensive knowledge and experience dealing with property owners. Whether you have residential or furnished holiday lets, or you’re a developer, we have the expertise to help you. We can guide you through the complex tax landscape and ensure you are as efficient as possible and maximising the reliefs available. X You!Given our vast knowledge and experience working with owner-managed businesses of all shapes and sizes in a wide range of industries, we’re confident we can help you and your business. By implementing proven technology solutions to drive efficiencies, we can provide tailored tax advice to help you meet your personal and business goals. Get in touch to discuss how we can provide you with a Better Life. X Horse racing & bloodstockIf you’re a trainer, breeder or provide livery services, you’re in the right place! With complex tax rules and regulations to consider in addition to the usual compliance requirements, by choosing Better Life, you’re in safe hands. We have over a decade of experience in this sector and understand the unique issues you’ll face. To hear more about how we could help you, get in touch today. X TradespeopleWhether you’re a sub-contractor or contractor we can help ensure you not only meet your statutory requirements but that you thrive in a sector which can be challenging to operate in. We understand that forces often out of your control can have a big impact on your business, which is why we plan not only for the short term, but ensure you make longer term decisions for your benefit. With CIS, reverse-charge, payroll and other complex tax implications to consider it’s so important to have a knowledgeable advisor by your side to help you navigate these challenges. X Rural economyGone are the days where farmers only farmed! We have over a decade of experience advising the region’s agricultural sector. Whether you are a traditional farmer or have a diverse number of business activities, we can help. Technical knowledge and experience is key to ensure tax reliefs are maximised and you receive the best possible advice.” X Hospitality & tourismWe understand how challenging the hospitality and tourism industry can be which is why it’s crucial you’re as efficient as possible if you want to remain competitive in an ever-changing landscape. If you run a bar, restaurant, cafe or operate in the vibrant tourism industry the UK has to offer, get in touch to discuss how we can help. X Landlords & property developersWe have extensive knowledge and experience dealing with property owners. Whether you have residential or furnished holiday lets, or you’re a developer, we have the expertise to help you. We can guide you through the complex tax landscape and ensure you are as efficient as possible and maximising the reliefs available. X window.wpbCustomElement = 1; <div class="media-frame-title" id="media-frame-title"></div><h2 class="media-frame-menu-heading">Actions</h2> <button type="button" class="button button-link media-frame-menu-toggle" aria-expanded="false"> Menu <span class="dashicons dashicons-arrow-down" aria-hidden="true"></span> </button><div class="media-frame-menu"></div><div class="media-frame-tab-panel"><div class="media-frame-router"></div><div class="media-frame-content"></div></div><h2 class="media-frame-actions-heading screen-reader-text"> Selected media actions</h2><div class="media-frame-toolbar"></div><div class="media-frame-uploader"></div> <div tabindex="0" class="media-modal wp-core-ui" role="dialog" aria-labelledby="media-frame-title"> <# if ( data.hasCloseButton ) { #> <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text"> Close dialogue </span></span></button> <# } #><div class="media-modal-content" role="document"></div></div><div class="media-modal-backdrop"></div> <div class="uploader-window-content"><div class="uploader-editor-title">Drop files to upload</div></div> <div class="uploader-editor-content"><div class="uploader-editor-title">Drop files to upload</div></div> <# var messageClass = data.message ? 'has-upload-message' : 'no-upload-message'; #> <# if ( data.canClose ) { #> <button class="close dashicons dashicons-no"><span class="screen-reader-text"> Close uploader </span></button> <# } #><div class="uploader-inline-content {{ messageClass }}"> <# if ( data.message ) { #><h2 class="upload-message">{{ data.message }}</h2> <# } #><div class="upload-ui"><h2 class="upload-instructions drop-instructions">Drop files to upload</h2><p class="upload-instructions drop-instructions">or</p> <button type="button" class="browser button button-hero" aria-labelledby="post-upload-info">Select Files</button></div><div class="upload-inline-status"></div><div class="post-upload-ui" id="post-upload-info"><p class="max-upload-size"> Maximum upload file size: 0 B.</p> <# if ( data.suggestedWidth && data.suggestedHeight ) { #><p class="suggested-dimensions"> Suggested image dimensions: {{data.suggestedWidth}} by {{data.suggestedHeight}} pixels.</p> <# } #></div></div> <a href="https://betterlifeaccountancy.com/wp-admin/upload.php?mode=list" class="view-list"> <span class="screen-reader-text"> List view </span> </a> <a href="https://betterlifeaccountancy.com/wp-admin/upload.php?mode=grid" class="view-grid current" aria-current="page"> <span class="screen-reader-text"> Grid view </span> </a> <h2>Uploading</h2><div class="media-progress-bar"><div></div></div><div class="upload-details"> <span class="upload-count"> <span class="upload-index"></span> / <span class="upload-total"></span> </span> <span class="upload-detail-separator">&ndash;</span> <span class="upload-filename"></span></div><div class="upload-errors"></div> <button type="button" class="button upload-dismiss-errors">Dismiss errors</button> <span class="upload-error-filename word-wrap-break-word">{{{ data.filename }}}</span> <span class="upload-error-message">{{ data.message }}</span> <div class="edit-media-header"> <button class="left dashicons"<# if ( ! data.hasPrevious ) { #> disabled<# } #>><span class="screen-reader-text">Edit previous media item</span></button> <button class="right dashicons"<# if ( ! data.hasNext ) { #> disabled<# } #>><span class="screen-reader-text">Edit next media item</span></button> <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text">Close dialogue</span></span></button></div><div class="media-frame-title"></div><div class="media-frame-content"></div> <div class="attachment-media-view {{ data.orientation }}"><h2 class="screen-reader-text">Attachment Preview</h2><div class="thumbnail thumbnail-{{ data.type }}"> <# if ( data.uploading ) { #><div class="media-progress-bar"><div></div></div> <# } else if ( data.sizes && data.sizes.full ) { #> <img class="details-image" src="{{ data.sizes.full.url }}" draggable="false" alt="" /> <# } else if ( data.sizes && data.sizes.large ) { #> <img class="details-image" src="{{ data.sizes.large.url }}" draggable="false" alt="" /> <# } else if ( -1 === jQuery.inArray( data.type, [ 'audio', 'video' ] ) ) { #> <img class="details-image icon" src="{{ data.icon }}" draggable="false" alt="" /> <# } #> <# if ( 'audio' === data.type ) { #><div class="wp-media-wrapper wp-audio"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none"> <source type="{{ data.mime }}" src="{{ data.url }}" /> </audio></div> <# } else if ( 'video' === data.type ) { var w_rule = ''; if ( data.width ) { w_rule = 'width: ' + data.width + 'px;'; } else if ( wp.media.view.settings.contentWidth ) { w_rule = 'width: ' + wp.media.view.settings.contentWidth + 'px;'; } #><div style="{{ w_rule }}" class="wp-media-wrapper wp-video"><video controls="controls" class="wp-video-shortcode" preload="metadata" <# if ( data.width ) { #>width="{{ data.width }}"<# } #> <# if ( data.height ) { #>height="{{ data.height }}"<# } #> <# if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>> <source type="{{ data.mime }}" src="{{ data.url }}" /></video></div> <# } #><div class="attachment-actions"> <# if ( 'image' === data.type && ! data.uploading && data.sizes && data.can.save ) { #> <button type="button" class="button edit-attachment">Edit Image</button> <# } else if ( 'pdf' === data.subtype && data.sizes ) { #><p>Document Preview</p> <# } #></div></div></div><div class="attachment-info"> <span class="settings-save-status" role="status"> <span class="spinner"></span> <span class="saved">Saved.</span> </span><div class="details"><h2 class="screen-reader-text"> Details</h2><div class="uploaded"><strong>Uploaded on:</strong> {{ data.dateFormatted }}</div><div class="uploaded-by"> <strong>Uploaded by:</strong> <# if ( data.authorLink ) { #> <a href="{{ data.authorLink }}">{{ data.authorName }}</a> <# } else { #> {{ data.authorName }} <# } #></div> <# if ( data.uploadedToTitle ) { #><div class="uploaded-to"> <strong>Uploaded to:</strong> <# if ( data.uploadedToLink ) { #> <a href="{{ data.uploadedToLink }}">{{ data.uploadedToTitle }}</a> <# } else { #> {{ data.uploadedToTitle }} <# } #></div> <# } #><div class="filename"><strong>File name:</strong> {{ data.filename }}</div><div class="file-type"><strong>File type:</strong> {{ data.mime }}</div><div class="file-size"><strong>File size:</strong> {{ data.filesizeHumanReadable }}</div> <# if ( 'image' === data.type && ! data.uploading ) { #> <# if ( data.width && data.height ) { #><div class="dimensions"><strong>Dimensions:</strong> {{ data.width }} by {{ data.height }} pixels</div> <# } #> <# if ( data.originalImageURL && data.originalImageName ) { #><div class="word-wrap-break-word"> <strong>Original image:</strong> <a href="{{ data.originalImageURL }}">{{data.originalImageName}}</a></div> <# } #> <# } #> <# if ( data.fileLength && data.fileLengthHumanReadable ) { #><div class="file-length"><strong>Length:</strong> <span aria-hidden="true">{{ data.fileLengthHumanReadable }}</span> <span class="screen-reader-text">{{ data.fileLengthHumanReadable }}</span></div> <# } #> <# if ( 'audio' === data.type && data.meta.bitrate ) { #><div class="bitrate"> <strong>Bitrate:</strong> {{ Math.round( data.meta.bitrate / 1000 ) }}kb/s <# if ( data.meta.bitrate_mode ) { #> {{ ' ' + data.meta.bitrate_mode.toUpperCase() }} <# } #></div> <# } #> <# if ( data.mediaStates ) { #><div class="media-states"><strong>Used as:</strong> {{ data.mediaStates }}</div> <# } #><div class="compat-meta"> <# if ( data.compat && data.compat.meta ) { #> {{{ data.compat.meta }}} <# } #></div></div><div class="settings"> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #> <# if ( 'image' === data.type ) { #> <span class="setting alt-text has-description" data-setting="alt"> <label for="attachment-details-two-column-alt-text" class="name">Alternative Text</label><textarea id="attachment-details-two-column-alt-text" aria-describedby="alt-text-description" {{ maybeReadOnly }}>{{ data.alt }}</textarea></span><p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <# } #> <span class="setting" data-setting="title"> <label for="attachment-details-two-column-title" class="name">Title</label> <input type="text" id="attachment-details-two-column-title" value="{{ data.title }}" {{ maybeReadOnly }} /> </span> <# if ( 'audio' === data.type ) { #> <span class="setting" data-setting="artist"> <label for="attachment-details-two-column-artist" class="name">Artist</label> <input type="text" id="attachment-details-two-column-artist" value="{{ data.artist || data.meta.artist || '' }}" /> </span> <span class="setting" data-setting="album"> <label for="attachment-details-two-column-album" class="name">Album</label> <input type="text" id="attachment-details-two-column-album" value="{{ data.album || data.meta.album || '' }}" /> </span> <# } #> <span class="setting" data-setting="caption"> <label for="attachment-details-two-column-caption" class="name">Caption</label><textarea id="attachment-details-two-column-caption" {{ maybeReadOnly }}>{{ data.caption }}</textarea></span> <span class="setting" data-setting="description"> <label for="attachment-details-two-column-description" class="name">Description</label><textarea id="attachment-details-two-column-description" {{ maybeReadOnly }}>{{ data.description }}</textarea></span> <span class="setting" data-setting="url"> <label for="attachment-details-two-column-copy-link" class="name">File URL:</label> <input type="text" class="attachment-details-copy-link" id="attachment-details-two-column-copy-link" value="{{ data.url }}" readonly /> <span class="copy-to-clipboard-container"> <button type="button" class="button button-small copy-attachment-url" data-clipboard-target="#attachment-details-two-column-copy-link">Copy URL to clipboard</button> <span class="success hidden" aria-hidden="true">Copied!</span> </span> </span><div class="attachment-compat"></div></div><div class="actions"> <# if ( data.link ) { #> <a class="view-attachment" href="{{ data.link }}">View media file</a> <# } #> <# if ( data.can.save ) { #> <# if ( data.link ) { #> <span class="links-separator">|</span> <# } #> <a href="{{ data.editLink }}">Edit more details</a> <# } #> <# if ( data.can.save && data.link ) { #> <span class="links-separator">|</span> <a href="{{ data.url }}" download>Download file</a> <# } #> <# if ( ! data.uploading && data.can.remove ) { #> <# if ( data.link || data.can.save ) { #> <span class="links-separator">|</span> <# } #> <button type="button" class="button-link delete-attachment">Delete permanently</button> <# } #></div></div> <div class="attachment-preview js--select-attachment type-{{ data.type }} subtype-{{ data.subtype }} {{ data.orientation }}"><div class="thumbnail"> <# if ( data.uploading ) { #><div class="media-progress-bar"><div style="width: {{ data.percent }}%"></div></div> <# } else if ( 'image' === data.type && data.size && data.size.url ) { #><div class="centered"> <img src="{{ data.size.url }}" draggable="false" alt="" /></div> <# } else { #><div class="centered"> <# if ( data.image && data.image.src && data.image.src !== data.icon ) { #> <img src="{{ data.image.src }}" class="thumbnail" draggable="false" alt="" /> <# } else if ( data.sizes ) { if ( data.sizes.medium ) { #> <img src="{{ data.sizes.medium.url }}" class="thumbnail" draggable="false" alt="" /> <# } else { #> <img src="{{ data.sizes.full.url }}" class="thumbnail" draggable="false" alt="" /> <# } #> <# } else { #> <img src="{{ data.icon }}" class="icon" draggable="false" alt="" /> <# } #></div><div class="filename"><div>{{ data.filename }}</div></div> <# } #></div> <# if ( data.buttons.close ) { #> <button type="button" class="button-link attachment-close media-modal-icon"><span class="screen-reader-text"> Remove </span></button> <# } #></div> <# if ( data.buttons.check ) { #> <button type="button" class="check" tabindex="-1"><span class="media-modal-icon"></span><span class="screen-reader-text"> Deselect </span></button> <# } #> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; if ( data.describe ) { if ( 'image' === data.type ) { #> <input type="text" value="{{ data.caption }}" class="describe" data-setting="caption" aria-label="Caption" placeholder="Caption&hellip;" {{ maybeReadOnly }} /> <# } else { #> <input type="text" value="{{ data.title }}" class="describe" data-setting="title" <# if ( 'video' === data.type ) { #> aria-label="Video title" placeholder="Video title&hellip;" <# } else if ( 'audio' === data.type ) { #> aria-label="Audio title" placeholder="Audio title&hellip;" <# } else { #> aria-label="Media title" placeholder="Media title&hellip;" <# } #> {{ maybeReadOnly }} /> <# } } #> <h2> Attachment Details <span class="settings-save-status" role="status"> <span class="spinner"></span> <span class="saved">Saved.</span> </span></h2><div class="attachment-info"> <# if ( 'audio' === data.type ) { #><div class="wp-media-wrapper wp-audio"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none"> <source type="{{ data.mime }}" src="{{ data.url }}" /> </audio></div> <# } else if ( 'video' === data.type ) { var w_rule = ''; if ( data.width ) { w_rule = 'width: ' + data.width + 'px;'; } else if ( wp.media.view.settings.contentWidth ) { w_rule = 'width: ' + wp.media.view.settings.contentWidth + 'px;'; } #><div style="{{ w_rule }}" class="wp-media-wrapper wp-video"><video controls="controls" class="wp-video-shortcode" preload="metadata" <# if ( data.width ) { #>width="{{ data.width }}"<# } #> <# if ( data.height ) { #>height="{{ data.height }}"<# } #> <# if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>> <source type="{{ data.mime }}" src="{{ data.url }}" /></video></div> <# } else { #><div class="thumbnail thumbnail-{{ data.type }}"> <# if ( data.uploading ) { #><div class="media-progress-bar"><div></div></div> <# } else if ( 'image' === data.type && data.size && data.size.url ) { #> <img src="{{ data.size.url }}" draggable="false" alt="" /> <# } else { #> <img src="{{ data.icon }}" class="icon" draggable="false" alt="" /> <# } #></div> <# } #><div class="details"><div class="filename">{{ data.filename }}</div><div class="uploaded">{{ data.dateFormatted }}</div><div class="file-size">{{ data.filesizeHumanReadable }}</div> <# if ( 'image' === data.type && ! data.uploading ) { #> <# if ( data.width && data.height ) { #><div class="dimensions"> {{ data.width }} by {{ data.height }} pixels</div> <# } #> <# if ( data.originalImageURL && data.originalImageName ) { #><div class="word-wrap-break-word"> Original image: <a href="{{ data.originalImageURL }}">{{data.originalImageName}}</a></div> <# } #> <# if ( data.can.save && data.sizes ) { #> <a class="edit-attachment" href="{{ data.editLink }}&amp;image-editor" target="_blank">Edit Image</a> <# } #> <# } #> <# if ( data.fileLength && data.fileLengthHumanReadable ) { #><div class="file-length">Length: <span aria-hidden="true">{{ data.fileLengthHumanReadable }}</span> <span class="screen-reader-text">{{ data.fileLengthHumanReadable }}</span></div> <# } #> <# if ( data.mediaStates ) { #><div class="media-states"><strong>Used as:</strong> {{ data.mediaStates }}</div> <# } #> <# if ( ! data.uploading && data.can.remove ) { #> <button type="button" class="button-link delete-attachment">Delete permanently</button> <# } #><div class="compat-meta"> <# if ( data.compat && data.compat.meta ) { #> {{{ data.compat.meta }}} <# } #></div></div></div> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #> <# if ( 'image' === data.type ) { #> <span class="setting alt-text has-description" data-setting="alt"> <label for="attachment-details-alt-text" class="name">Alt Text</label><textarea id="attachment-details-alt-text" aria-describedby="alt-text-description" {{ maybeReadOnly }}>{{ data.alt }}</textarea></span><p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <# } #> <span class="setting" data-setting="title"> <label for="attachment-details-title" class="name">Title</label> <input type="text" id="attachment-details-title" value="{{ data.title }}" {{ maybeReadOnly }} /> </span> <# if ( 'audio' === data.type ) { #> <span class="setting" data-setting="artist"> <label for="attachment-details-artist" class="name">Artist</label> <input type="text" id="attachment-details-artist" value="{{ data.artist || data.meta.artist || '' }}" /> </span> <span class="setting" data-setting="album"> <label for="attachment-details-album" class="name">Album</label> <input type="text" id="attachment-details-album" value="{{ data.album || data.meta.album || '' }}" /> </span> <# } #> <span class="setting" data-setting="caption"> <label for="attachment-details-caption" class="name">Caption</label><textarea id="attachment-details-caption" {{ maybeReadOnly }}>{{ data.caption }}</textarea></span> <span class="setting" data-setting="description"> <label for="attachment-details-description" class="name">Description</label><textarea id="attachment-details-description" {{ maybeReadOnly }}>{{ data.description }}</textarea></span> <span class="setting" data-setting="url"> <label for="attachment-details-copy-link" class="name">File URL:</label> <input type="text" class="attachment-details-copy-link" id="attachment-details-copy-link" value="{{ data.url }}" readonly /><div class="copy-to-clipboard-container"> <button type="button" class="button button-small copy-attachment-url" data-clipboard-target="#attachment-details-copy-link">Copy URL to clipboard</button> <span class="success hidden" aria-hidden="true">Copied!</span></div> </span> <div class="selection-info"> <span class="count"></span> <# if ( data.editable ) { #> <button type="button" class="button-link edit-selection">Edit Selection</button> <# } #> <# if ( data.clearable ) { #> <button type="button" class="button-link clear-selection">Clear</button> <# } #></div><div class="selection-view"></div> <h2>Attachment Display Settings</h2> <# if ( 'image' === data.type ) { #> <span class="setting align"> <label for="attachment-display-settings-alignment" class="name">Alignment</label> <select id="attachment-display-settings-alignment" class="alignment" data-setting="align" <# if ( data.userSettings ) { #> data-user-setting="align" <# } #>><option value="left"> Left</option><option value="center"> Centre</option><option value="right"> Right</option><option value="none" selected> None</option> </select> </span> <# } #> <span class="setting"> <label for="attachment-display-settings-link-to" class="name"> <# if ( data.model.canEmbed ) { #> Embed or Link <# } else { #> Link To <# } #> </label> <select id="attachment-display-settings-link-to" class="link-to" data-setting="link" <# if ( data.userSettings && ! data.model.canEmbed ) { #> data-user-setting="urlbutton" <# } #>> <# if ( data.model.canEmbed ) { #><option value="embed" selected> Embed Media Player</option><option value="file"> <# } else { #><option value="none" selected> None</option><option value="file"> <# } #> <# if ( data.model.canEmbed ) { #> Link to Media File <# } else { #> Media File <# } #></option><option value="post"> <# if ( data.model.canEmbed ) { #> Link to Attachment Page <# } else { #> Attachment Page <# } #></option> <# if ( 'image' === data.type ) { #><option value="custom"> Custom URL</option> <# } #> </select> </span> <span class="setting"> <label for="attachment-display-settings-link-to-custom" class="name">URL</label> <input type="text" id="attachment-display-settings-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span> <# if ( 'undefined' !== typeof data.sizes ) { #> <span class="setting"> <label for="attachment-display-settings-size" class="name">Size</label> <select id="attachment-display-settings-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #>> <# var size = data.sizes['thumbnail']; if ( size ) { #><option value="thumbnail" > Thumbnail &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['medium']; if ( size ) { #><option value="medium" > Medium &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['large']; if ( size ) { #><option value="large" > Large &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['full']; if ( size ) { #><option value="full" selected='selected'> Full Size &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> </select> </span> <# } #> <h2>Gallery Settings</h2> <span class="setting"> <label for="gallery-settings-link-to" class="name">Link To</label> <select id="gallery-settings-link-to" class="link-to" data-setting="link" <# if ( data.userSettings ) { #> data-user-setting="urlbutton" <# } #>><option value="post" <# if ( ! wp.media.galleryDefaults.link || 'post' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> Attachment Page</option><option value="file" <# if ( 'file' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> Media File</option><option value="none" <# if ( 'none' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> None</option> </select> </span> <span class="setting"> <label for="gallery-settings-columns" class="name select-label-inline">Columns</label> <select id="gallery-settings-columns" class="columns" name="columns" data-setting="columns"><option value="1" <# if ( 1 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 1</option><option value="2" <# if ( 2 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 2</option><option value="3" <# if ( 3 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 3</option><option value="4" <# if ( 4 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 4</option><option value="5" <# if ( 5 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 5</option><option value="6" <# if ( 6 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 6</option><option value="7" <# if ( 7 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 7</option><option value="8" <# if ( 8 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 8</option><option value="9" <# if ( 9 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 9</option> </select> </span> <span class="setting"> <input type="checkbox" id="gallery-settings-random-order" data-setting="_orderbyRandom" /> <label for="gallery-settings-random-order" class="checkbox-label-inline">Random Order</label> </span> <span class="setting size"> <label for="gallery-settings-size" class="name">Size</label> <select id="gallery-settings-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #> ><option value="thumbnail"> Thumbnail</option><option value="medium"> Medium</option><option value="large"> Large</option><option value="full"> Full Size</option> </select> </span> <h2>Playlist Settings</h2> <# var emptyModel = _.isEmpty( data.model ), isVideo = 'video' === data.controller.get('library').props.get('type'); #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-list" data-setting="tracklist" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-list" class="checkbox-label-inline"> <# if ( isVideo ) { #> Show Video List <# } else { #> Show Tracklist <# } #> </label> </span> <# if ( ! isVideo ) { #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-artist" data-setting="artists" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-artist" class="checkbox-label-inline"> Show Artist Name in Tracklist </label> </span> <# } #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-images" data-setting="images" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-images" class="checkbox-label-inline"> Show Images </label> </span> <span class="setting link-text"> <label for="embed-link-settings-link-text" class="name">Link Text</label> <input type="text" id="embed-link-settings-link-text" class="alignment" data-setting="linkText" /> </span><div class="embed-container" style="display: none;"><div class="embed-preview"></div></div> <div class="wp-clearfix"><div class="thumbnail"> <img src="{{ data.model.url }}" draggable="false" alt="" /></div></div> <span class="setting alt-text has-description"> <label for="embed-image-settings-alt-text" class="name">Alternative Text</label><textarea id="embed-image-settings-alt-text" data-setting="alt" aria-describedby="alt-text-description"></textarea></span><p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <span class="setting caption"> <label for="embed-image-settings-caption" class="name">Caption</label><textarea id="embed-image-settings-caption" data-setting="caption"></textarea></span><fieldset class="setting-group"><legend class="name">Align</legend> <span class="setting align"> <span class="button-group button-large" data-setting="align"> <button class="button" value="left"> Left </button> <button class="button" value="center"> Centre </button> <button class="button" value="right"> Right </button> <button class="button active" value="none"> None </button> </span> </span></fieldset><fieldset class="setting-group"><legend class="name">Link To</legend> <span class="setting link-to"> <span class="button-group button-large" data-setting="link"> <button class="button" value="file"> Image URL </button> <button class="button" value="custom"> Custom URL </button> <button class="button active" value="none"> None </button> </span> </span> <span class="setting"> <label for="embed-image-settings-link-to-custom" class="name">URL</label> <input type="text" id="embed-image-settings-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span></fieldset> <div class="media-embed"><div class="embed-media-settings"><div class="column-settings"> <span class="setting alt-text has-description"> <label for="image-details-alt-text" class="name">Alternative Text</label><textarea id="image-details-alt-text" data-setting="alt" aria-describedby="alt-text-description">{{ data.model.alt }}</textarea></span><p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <span class="setting caption"> <label for="image-details-caption" class="name">Caption</label><textarea id="image-details-caption" data-setting="caption">{{ data.model.caption }}</textarea></span><h2>Display Settings</h2><fieldset class="setting-group"><legend class="legend-inline">Align</legend> <span class="setting align"> <span class="button-group button-large" data-setting="align"> <button class="button" value="left"> Left </button> <button class="button" value="center"> Centre </button> <button class="button" value="right"> Right </button> <button class="button active" value="none"> None </button> </span> </span></fieldset> <# if ( data.attachment ) { #> <# if ( 'undefined' !== typeof data.attachment.sizes ) { #> <span class="setting size"> <label for="image-details-size" class="name">Size</label> <select id="image-details-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #>> <# var size = data.sizes['thumbnail']; if ( size ) { #><option value="thumbnail"> Thumbnail &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['medium']; if ( size ) { #><option value="medium"> Medium &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['large']; if ( size ) { #><option value="large"> Large &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #> <# var size = data.sizes['full']; if ( size ) { #><option value="full"> Full Size &ndash; {{ size.width }} &times; {{ size.height }}</option> <# } #><option value="custom"> Custom Size</option> </select> </span> <# } #><div class="custom-size wp-clearfix<# if ( data.model.size !== 'custom' ) { #> hidden<# } #>"> <span class="custom-size-setting"> <label for="image-details-size-width">Width</label> <input type="number" id="image-details-size-width" aria-describedby="image-size-desc" data-setting="customWidth" step="1" value="{{ data.model.customWidth }}" /> </span> <span class="sep" aria-hidden="true">&times;</span> <span class="custom-size-setting"> <label for="image-details-size-height">Height</label> <input type="number" id="image-details-size-height" aria-describedby="image-size-desc" data-setting="customHeight" step="1" value="{{ data.model.customHeight }}" /> </span><p id="image-size-desc" class="description">Image size in pixels</p></div> <# } #> <span class="setting link-to"> <label for="image-details-link-to" class="name">Link To</label> <select id="image-details-link-to" data-setting="link"> <# if ( data.attachment ) { #><option value="file"> Media File</option><option value="post"> Attachment Page</option> <# } else { #><option value="file"> Image URL</option> <# } #><option value="custom"> Custom URL</option><option value="none"> None</option> </select> </span> <span class="setting"> <label for="image-details-link-to-custom" class="name">URL</label> <input type="text" id="image-details-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span><div class="advanced-section"><h2><button type="button" class="button-link advanced-toggle">Advanced Options</button></h2><div class="advanced-settings hidden"><div class="advanced-image"> <span class="setting title-text"> <label for="image-details-title-attribute" class="name">Image Title Attribute</label> <input type="text" id="image-details-title-attribute" data-setting="title" value="{{ data.model.title }}" /> </span> <span class="setting extra-classes"> <label for="image-details-css-class" class="name">Image CSS Class</label> <input type="text" id="image-details-css-class" data-setting="extraClasses" value="{{ data.model.extraClasses }}" /> </span></div><div class="advanced-link"> <span class="setting link-target"> <input type="checkbox" id="image-details-link-target" data-setting="linkTargetBlank" value="_blank" <# if ( data.model.linkTargetBlank ) { #>checked="checked"<# } #>> <label for="image-details-link-target" class="checkbox-label">Open link in a new tab</label> </span> <span class="setting link-rel"> <label for="image-details-link-rel" class="name">Link Rel</label> <input type="text" id="image-details-link-rel" data-setting="linkRel" value="{{ data.model.linkRel }}" /> </span> <span class="setting link-class-name"> <label for="image-details-link-css-class" class="name">Link CSS Class</label> <input type="text" id="image-details-link-css-class" data-setting="linkClassName" value="{{ data.model.linkClassName }}" /> </span></div></div></div></div><div class="column-image"><div class="image"> <img src="{{ data.model.url }}" draggable="false" alt="" /> <# if ( data.attachment && window.imageEdit ) { #><div class="actions"> <input type="button" class="edit-attachment button" value="Edit Original" /> <input type="button" class="replace-attachment button" value="Replace" /></div> <# } #></div></div></div></div> <div id="media-head-{{ data.id }}"></div><div id="image-editor-{{ data.id }}"></div> <# var ext, html5types = { mp3: wp.media.view.settings.embedMimes.mp3, ogg: wp.media.view.settings.embedMimes.ogg }; #><div class="media-embed media-embed-details"><div class="embed-media-settings embed-audio-settings"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="{{ _.isUndefined( data.model.width ) ? 400 : data.model.width }}" preload="{{ _.isUndefined( data.model.preload ) ? 'none' : data.model.preload }}" <# if ( ! _.isUndefined( data.model.autoplay ) && data.model.autoplay ) { #> autoplay<# } if ( ! _.isUndefined( data.model.loop ) && data.model.loop ) { #> loop<# } #> > <# if ( ! _.isEmpty( data.model.src ) ) { #> <source src="{{ data.model.src }}" type="{{ wp.media.view.settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.mp3 ) ) { #> <source src="{{ data.model.mp3 }}" type="{{ wp.media.view.settings.embedMimes[ 'mp3' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.ogg ) ) { #> <source src="{{ data.model.ogg }}" type="{{ wp.media.view.settings.embedMimes[ 'ogg' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.flac ) ) { #> <source src="{{ data.model.flac }}" type="{{ wp.media.view.settings.embedMimes[ 'flac' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.m4a ) ) { #> <source src="{{ data.model.m4a }}" type="{{ wp.media.view.settings.embedMimes[ 'm4a' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.wav ) ) { #> <source src="{{ data.model.wav }}" type="{{ wp.media.view.settings.embedMimes[ 'wav' ] }}" /> <# } #> </audio> <# if ( ! _.isEmpty( data.model.src ) ) { ext = data.model.src.split('.').pop(); if ( html5types[ ext ] ) { delete html5types[ ext ]; } #> <span class="setting"> <label for="audio-details-source" class="name">URL</label> <input type="text" id="audio-details-source" readonly data-setting="src" value="{{ data.model.src }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.mp3 ) ) { if ( ! _.isUndefined( html5types.mp3 ) ) { delete html5types.mp3; } #> <span class="setting"> <label for="audio-details-mp3-source" class="name">MP3</label> <input type="text" id="audio-details-mp3-source" readonly data-setting="mp3" value="{{ data.model.mp3 }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.ogg ) ) { if ( ! _.isUndefined( html5types.ogg ) ) { delete html5types.ogg; } #> <span class="setting"> <label for="audio-details-ogg-source" class="name">OGG</label> <input type="text" id="audio-details-ogg-source" readonly data-setting="ogg" value="{{ data.model.ogg }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.flac ) ) { if ( ! _.isUndefined( html5types.flac ) ) { delete html5types.flac; } #> <span class="setting"> <label for="audio-details-flac-source" class="name">FLAC</label> <input type="text" id="audio-details-flac-source" readonly data-setting="flac" value="{{ data.model.flac }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.m4a ) ) { if ( ! _.isUndefined( html5types.m4a ) ) { delete html5types.m4a; } #> <span class="setting"> <label for="audio-details-m4a-source" class="name">M4A</label> <input type="text" id="audio-details-m4a-source" readonly data-setting="m4a" value="{{ data.model.m4a }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.wav ) ) { if ( ! _.isUndefined( html5types.wav ) ) { delete html5types.wav; } #> <span class="setting"> <label for="audio-details-wav-source" class="name">WAV</label> <input type="text" id="audio-details-wav-source" readonly data-setting="wav" value="{{ data.model.wav }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( html5types ) ) { #><fieldset class="setting-group"><legend class="name">Add alternate sources for maximum HTML5 playback</legend> <span class="setting"> <span class="button-large"> <# _.each( html5types, function (mime, type) { #> <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button> <# } ) #> </span> </span></fieldset> <# } #><fieldset class="setting-group"><legend class="name">Preload</legend> <span class="setting preload"> <span class="button-group button-large" data-setting="preload"> <button class="button" value="auto">Auto</button> <button class="button" value="metadata">Metadata</button> <button class="button active" value="none">None</button> </span> </span></fieldset> <span class="setting-group"> <span class="setting checkbox-setting autoplay"> <input type="checkbox" id="audio-details-autoplay" data-setting="autoplay" /> <label for="audio-details-autoplay" class="checkbox-label">Autoplay</label> </span> <span class="setting checkbox-setting"> <input type="checkbox" id="audio-details-loop" data-setting="loop" /> <label for="audio-details-loop" class="checkbox-label">Loop</label> </span> </span></div></div> <# var ext, html5types = { mp4: wp.media.view.settings.embedMimes.mp4, ogv: wp.media.view.settings.embedMimes.ogv, webm: wp.media.view.settings.embedMimes.webm }; #><div class="media-embed media-embed-details"><div class="embed-media-settings embed-video-settings"><div class="wp-video-holder"> <# var w = ! data.model.width || data.model.width > 640 ? 640 : data.model.width, h = ! data.model.height ? 360 : data.model.height; if ( data.model.width && w !== data.model.width ) { h = Math.ceil( ( h * w ) / data.model.width ); } #> <# var w_rule = '', classes = [], w, h, settings = wp.media.view.settings, isYouTube = isVimeo = false; if ( ! _.isEmpty( data.model.src ) ) { isYouTube = data.model.src.match(/youtube|youtu\.be/); isVimeo = -1 !== data.model.src.indexOf('vimeo'); } if ( settings.contentWidth && data.model.width >= settings.contentWidth ) { w = settings.contentWidth; } else { w = data.model.width; } if ( w !== data.model.width ) { h = Math.ceil( ( data.model.height * w ) / data.model.width ); } else { h = data.model.height; } if ( w ) { w_rule = 'width: ' + w + 'px; '; } if ( isYouTube ) { classes.push( 'youtube-video' ); } if ( isVimeo ) { classes.push( 'vimeo-video' ); } #><div style="{{ w_rule }}" class="wp-video"><video controls class="wp-video-shortcode {{ classes.join( ' ' ) }}" <# if ( w ) { #>width="{{ w }}"<# } #> <# if ( h ) { #>height="{{ h }}"<# } #> <# if ( ! _.isUndefined( data.model.poster ) && data.model.poster ) { #> poster="{{ data.model.poster }}"<# } #> preload ="{{ _.isUndefined( data.model.preload ) ? 'metadata' : data.model.preload }}" <# if ( ! _.isUndefined( data.model.autoplay ) && data.model.autoplay ) { #> autoplay<# } if ( ! _.isUndefined( data.model.loop ) && data.model.loop ) { #> loop<# } #> > <# if ( ! _.isEmpty( data.model.src ) ) { if ( isYouTube ) { #> <source src="{{ data.model.src }}" type="video/youtube" /> <# } else if ( isVimeo ) { #> <source src="{{ data.model.src }}" type="video/vimeo" /> <# } else { #> <source src="{{ data.model.src }}" type="{{ settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> <# } } #> <# if ( data.model.mp4 ) { #> <source src="{{ data.model.mp4 }}" type="{{ settings.embedMimes[ 'mp4' ] }}" /> <# } #> <# if ( data.model.m4v ) { #> <source src="{{ data.model.m4v }}" type="{{ settings.embedMimes[ 'm4v' ] }}" /> <# } #> <# if ( data.model.webm ) { #> <source src="{{ data.model.webm }}" type="{{ settings.embedMimes[ 'webm' ] }}" /> <# } #> <# if ( data.model.ogv ) { #> <source src="{{ data.model.ogv }}" type="{{ settings.embedMimes[ 'ogv' ] }}" /> <# } #> <# if ( data.model.flv ) { #> <source src="{{ data.model.flv }}" type="{{ settings.embedMimes[ 'flv' ] }}" /> <# } #> {{{ data.model.content }}}</video></div> <# if ( ! _.isEmpty( data.model.src ) ) { ext = data.model.src.split('.').pop(); if ( html5types[ ext ] ) { delete html5types[ ext ]; } #> <span class="setting"> <label for="video-details-source" class="name">URL</label> <input type="text" id="video-details-source" readonly data-setting="src" value="{{ data.model.src }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.mp4 ) ) { if ( ! _.isUndefined( html5types.mp4 ) ) { delete html5types.mp4; } #> <span class="setting"> <label for="video-details-mp4-source" class="name">MP4</label> <input type="text" id="video-details-mp4-source" readonly data-setting="mp4" value="{{ data.model.mp4 }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.m4v ) ) { if ( ! _.isUndefined( html5types.m4v ) ) { delete html5types.m4v; } #> <span class="setting"> <label for="video-details-m4v-source" class="name">M4V</label> <input type="text" id="video-details-m4v-source" readonly data-setting="m4v" value="{{ data.model.m4v }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.webm ) ) { if ( ! _.isUndefined( html5types.webm ) ) { delete html5types.webm; } #> <span class="setting"> <label for="video-details-webm-source" class="name">WEBM</label> <input type="text" id="video-details-webm-source" readonly data-setting="webm" value="{{ data.model.webm }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.ogv ) ) { if ( ! _.isUndefined( html5types.ogv ) ) { delete html5types.ogv; } #> <span class="setting"> <label for="video-details-ogv-source" class="name">OGV</label> <input type="text" id="video-details-ogv-source" readonly data-setting="ogv" value="{{ data.model.ogv }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.flv ) ) { if ( ! _.isUndefined( html5types.flv ) ) { delete html5types.flv; } #> <span class="setting"> <label for="video-details-flv-source" class="name">FLV</label> <input type="text" id="video-details-flv-source" readonly data-setting="flv" value="{{ data.model.flv }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #></div> <# if ( ! _.isEmpty( html5types ) ) { #><fieldset class="setting-group"><legend class="name">Add alternate sources for maximum HTML5 playback</legend> <span class="setting"> <span class="button-large"> <# _.each( html5types, function (mime, type) { #> <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button> <# } ) #> </span> </span></fieldset> <# } #> <# if ( ! _.isEmpty( data.model.poster ) ) { #> <span class="setting"> <label for="video-details-poster-image" class="name">Poster Image</label> <input type="text" id="video-details-poster-image" readonly data-setting="poster" value="{{ data.model.poster }}" /> <button type="button" class="button-link remove-setting">Remove poster image</button> </span> <# } #><fieldset class="setting-group"><legend class="name">Preload</legend> <span class="setting preload"> <span class="button-group button-large" data-setting="preload"> <button class="button" value="auto">Auto</button> <button class="button" value="metadata">Metadata</button> <button class="button active" value="none">None</button> </span> </span></fieldset> <span class="setting-group"> <span class="setting checkbox-setting autoplay"> <input type="checkbox" id="video-details-autoplay" data-setting="autoplay" /> <label for="video-details-autoplay" class="checkbox-label">Autoplay</label> </span> <span class="setting checkbox-setting"> <input type="checkbox" id="video-details-loop" data-setting="loop" /> <label for="video-details-loop" class="checkbox-label">Loop</label> </span> </span> <span class="setting" data-setting="content"> <# var content = ''; if ( ! _.isEmpty( data.model.content ) ) { var tracks = jQuery( data.model.content ).filter( 'track' ); _.each( tracks.toArray(), function( track, index ) { content += track.outerHTML; #> <label for="video-details-track-{{ index }}" class="name">Tracks (subtitles, captions, descriptions, chapters, or metadata)</label> <input class="content-track" type="text" id="video-details-track-{{ index }}" aria-describedby="video-details-track-desc-{{ index }}" value="{{ track.outerHTML }}" /> <span class="description" id="video-details-track-desc-{{ index }}"> The srclang, label, and kind values can be edited to set the video track language and kind. </span> <button type="button" class="button-link remove-setting remove-track">Remove video track</button><br /> <# } ); #> <# } else { #> <span class="name">Tracks (subtitles, captions, descriptions, chapters, or metadata)</span><br /> <em>There are no associated subtitles.</em> <# } #><textarea class="hidden content-setting">{{ content }}</textarea></span></div></div> <# if ( data.attachments.length ) { #><div class="gallery gallery-columns-{{ data.columns }}"> <# _.each( data.attachments, function( attachment, index ) { #><dl class="gallery-item"><dt class="gallery-icon"> <# if ( attachment.thumbnail ) { #> <img src="{{ attachment.thumbnail.url }}" width="{{ attachment.thumbnail.width }}" height="{{ attachment.thumbnail.height }}" alt="{{ attachment.alt }}" /> <# } else { #> <img src="{{ attachment.url }}" alt="{{ attachment.alt }}" /> <# } #></dt> <# if ( attachment.caption ) { #><dd class="wp-caption-text gallery-caption"> {{{ data.verifyHTML( attachment.caption ) }}}</dd> <# } #></dl> <# if ( index % data.columns === data.columns - 1 ) { #> <br style="clear: both;" /> <# } #> <# } ); #></div> <# } else { #><div class="wpview-error"><div class="dashicons dashicons-format-gallery"></div><p>No items found.</p></div> <# } #> <img class="crop-image" src="{{ data.url }}" alt="Image crop area preview. Requires mouse interaction." /><div class="upload-errors"></div> <style> :root{ --site-icon-url: url( "{{ data.url }}" ); } </style><h2>Site Icon Preview</h2><p>As an app icon and a browser icon.</p><div class="site-icon-preview crop"><div class="image-preview-wrap app-icon-preview"> <img id="preview-app-icon" src="{{ data.url }}" class="app-icon-preview" alt="Preview as an app icon" /></div><div class="site-icon-preview-browser"> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="browser-buttons"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 20a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm18 0a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm24-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z" /></svg><div class="site-icon-preview-tab"><div class="image-preview-wrap browser"> <img id="preview-favicon" src="{{ data.url }}" class="browser-icon-preview" alt="Preview as a browser icon" /></div><div class="site-icon-preview-site-title" aria-hidden="true"><# print( 'Better Life Accountancy' ) #></div> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="close-button"> <path d="M12 13.0607L15.7123 16.773L16.773 15.7123L13.0607 12L16.773 8.28772L15.7123 7.22706L12 10.9394L8.28771 7.22705L7.22705 8.28771L10.9394 12L7.22706 15.7123L8.28772 16.773L12 13.0607Z" /> </svg></div></div></div></div> <p class="pum-sub-form-desc"> Popup: ID "{{attrs.id}}"</p> <# const allowedTags = ["a","abbr","acronym","b","blockquote","cite","code","del","em","i","q","s","strike","strong"]; const tag = allowedTags.indexOf( attrs.tag ) >= 0 ? attrs.tag : 'span'; #> <{{{tag}}} class="pum-trigger popmake-{{{attrs.id}}} {{{attrs.classes}}}">{{{attrs._inner_content}}}</{{{tag}}}> <# const allowedTags = ["a","abbr","acronym","b","blockquote","cite","code","del","em","i","q","s","strike","strong"]; const tag = allowedTags.indexOf( attrs.tag ) >= 0 ? attrs.tag : 'span'; #> <{{{tag}}} class="pum-close popmake-close <# if (typeof attrs.classes !== 'undefined') print(attrs.classes); #>">{{{attrs._inner_content}}}</{{{tag}}}> <div class="pum-cookie">Popup Cookie</div> <p class="pum-sub-form-desc"> Subscription Form Placeholder</p> /* <![CDATA[ */ var _wpUtilSettings = {"ajax":{"url":"\/wp-admin\/admin-ajax.php"}}; /* ]]> */ /* <![CDATA[ */ var _wpMediaModelsL10n = {"settings":{"ajaxurl":"\/wp-admin\/admin-ajax.php","post":{"id":0}}}; /* ]]> */ /* <![CDATA[ */ var pluploadL10n = {"queue_limit_exceeded":"You have attempted to queue too many files.","file_exceeds_size_limit":"%s exceeds the maximum upload size for this site.","zero_byte_file":"This file is empty. Please try another.","invalid_filetype":"This file cannot be processed by the web server.","not_an_image":"This file is not an image. Please try another.","image_memory_exceeded":"Memory exceeded. Please try another smaller file.","image_dimensions_exceeded":"This is larger than the maximum size. Please try another.","default_error":"An error occurred in the upload. Please try again later.","missing_upload_url":"There was a configuration error. Please contact the server administrator.","upload_limit_exceeded":"You may only upload one file.","http_error":"Unexpected response from the server. The file may have been uploaded successfully. Check in the Media Library or reload the page.","http_error_image":"The server cannot process the image. This can happen if the server is busy or does not have enough resources to complete the task. Uploading a smaller image may help. Suggested maximum size is 2,560 pixels.","upload_failed":"Upload failed.","big_upload_failed":"Please try uploading this file with the %1$sbrowser uploader%2$s.","big_upload_queued":"%s exceeds the maximum upload size for the multi-file uploader when used in your browser.","io_error":"IO error.","security_error":"Security error.","file_cancelled":"File cancelled.","upload_stopped":"Upload stopped.","dismiss":"Dismiss","crunching":"Crunching\u2026","deleted":"moved to the Bin.","error_uploading":"\u201c%s\u201d has failed to upload.","unsupported_image":"This image cannot be displayed in a web browser. For best results, convert it to JPEG before uploading.","noneditable_image":"The web server cannot generate responsive image sizes for this image. Convert it to JPEG or PNG before uploading.","file_url_copied":"The file URL has been copied to your clipboard"}; var _wpPluploadSettings = {"defaults":{"file_data_name":"async-upload","url":"\/wp-admin\/async-upload.php","filters":{"max_file_size":"0b","mime_types":[{"extensions":"jpg,jpeg,jpe,gif,png,bmp,tiff,tif,webp,avif,ico,heic,heif,heics,heifs,asf,asx,wmv,wmx,wm,avi,divx,flv,mov,qt,mpeg,mpg,mpe,mp4,m4v,ogv,webm,mkv,3gp,3gpp,3g2,3gp2,txt,asc,c,cc,h,srt,csv,tsv,ics,rtx,css,vtt,dfxp,mp3,m4a,m4b,aac,ra,ram,wav,x-wav,ogg,oga,flac,mid,midi,wma,wax,mka,rtf,pdf,class,tar,zip,gz,gzip,rar,7z,psd,xcf,doc,pot,pps,ppt,wri,xla,xls,xlt,xlw,mdb,mpp,docx,docm,dotx,dotm,xlsx,xlsm,xlsb,xltx,xltm,xlam,pptx,pptm,ppsx,ppsm,potx,potm,ppam,sldx,sldm,onetoc,onetoc2,onetmp,onepkg,oxps,xps,odt,odp,ods,odg,odc,odb,odf,wp,wpd,key,numbers,pages,redux"}]},"heic_upload_error":true,"multipart_params":{"action":"upload-attachment","_wpnonce":"95d1a687a4"}},"browser":{"mobile":false,"supported":true},"limitExceeded":false}; /* ]]> */ /* <![CDATA[ */ var mejsL10n = {"language":"en","strings":{"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https:\/\/get.adobe.com\/flashplayer\/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left\/Right Arrow keys to advance one second, Up\/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up\/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions\/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}}; /* ]]> */ /* <![CDATA[ */ var _wpmejsSettings = {"pluginPath":"\/wp-includes\/js\/mediaelement\/","classPrefix":"mejs-","stretching":"responsive","audioShortcodeLibrary":"mediaelement","videoShortcodeLibrary":"mediaelement"}; /* ]]> */ /* <![CDATA[ */ var wpApiSettings = {"root":"https:\/\/betterlifeaccountancy.com\/wp-json\/","nonce":"8ad629d9bc","versionString":"wp\/v2\/"}; /* ]]> */ /* <![CDATA[ */ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); /* ]]> */ /* <![CDATA[ */ ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "default", {"translation-revision-date":"2025-11-13 00:57:08+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Notifications":["Notifications"]}},"comment":{"reference":"wp-includes\/js\/dist\/a11y.js"}} ); /* ]]> */ /* <![CDATA[ */ var _wpMediaViewsL10n = {"mediaFrameDefaultTitle":"Media","url":"URL","addMedia":"Add media","search":"Search","select":"Select","cancel":"Cancel","update":"Update","replace":"Replace","remove":"Remove","back":"Back","selected":"%d selected","dragInfo":"Drag and drop to reorder media files.","uploadFilesTitle":"Upload files","uploadImagesTitle":"Upload images","mediaLibraryTitle":"Media Library","insertMediaTitle":"Add media","createNewGallery":"Create a new gallery","createNewPlaylist":"Create a new playlist","createNewVideoPlaylist":"Create a new video playlist","returnToLibrary":"\u2190 Go to library","allMediaItems":"All media items","allDates":"All dates","noItemsFound":"No items found.","insertIntoPost":"Insert into post","unattached":"Unattached","mine":"Mine","trash":"Bin","uploadedToThisPost":"Uploaded to this post","warnDelete":"You are about to permanently delete this item from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete.","warnBulkDelete":"You are about to permanently delete these items from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete.","warnBulkTrash":"You are about to delete these items.\n Click 'Cancel' to stop, or 'OK' to delete.","bulkSelect":"Bulk select","trashSelected":"Move to Bin","restoreSelected":"Restore from Bin","deletePermanently":"Delete permanently","errorDeleting":"Error in deleting the attachment.","apply":"Apply","filterByDate":"Filter by date","filterByType":"Filter by type","searchLabel":"Search media","searchMediaLabel":"Search media","searchMediaPlaceholder":"Search media items...","mediaFound":"Number of media items found: %d","noMedia":"No media items found.","noMediaTryNewSearch":"No media items found. Try a different search.","attachmentDetails":"Attachment details","insertFromUrlTitle":"Insert from URL","setFeaturedImageTitle":"Featured image","setFeaturedImage":"Set featured image","createGalleryTitle":"Create gallery","editGalleryTitle":"Edit gallery","cancelGalleryTitle":"\u2190 Cancel gallery","insertGallery":"Insert gallery","updateGallery":"Update gallery","addToGallery":"Add to gallery","addToGalleryTitle":"Add to gallery","reverseOrder":"Reverse order","imageDetailsTitle":"Image details","imageReplaceTitle":"Replace image","imageDetailsCancel":"Cancel edit","editImage":"Edit image","chooseImage":"Choose image","selectAndCrop":"Select and crop","skipCropping":"Skip cropping","cropImage":"Crop image","cropYourImage":"Crop your image","cropping":"Cropping\u2026","suggestedDimensions":"Suggested image dimensions: %1$s by %2$s pixels.","cropError":"There has been an error cropping your image.","audioDetailsTitle":"Audio details","audioReplaceTitle":"Replace audio","audioAddSourceTitle":"Add audio source","audioDetailsCancel":"Cancel edit","videoDetailsTitle":"Video details","videoReplaceTitle":"Replace video","videoAddSourceTitle":"Add video source","videoDetailsCancel":"Cancel edit","videoSelectPosterImageTitle":"Select poster image","videoAddTrackTitle":"Add subtitles","playlistDragInfo":"Drag and drop to reorder tracks.","createPlaylistTitle":"Create audio playlist","editPlaylistTitle":"Edit audio playlist","cancelPlaylistTitle":"\u2190 Cancel audio playlist","insertPlaylist":"Insert audio playlist","updatePlaylist":"Update audio playlist","addToPlaylist":"Add to audio playlist","addToPlaylistTitle":"Add to Audio Playlist","videoPlaylistDragInfo":"Drag and drop to reorder videos.","createVideoPlaylistTitle":"Create video playlist","editVideoPlaylistTitle":"Edit video playlist","cancelVideoPlaylistTitle":"\u2190 Cancel video playlist","insertVideoPlaylist":"Insert video playlist","updateVideoPlaylist":"Update video playlist","addToVideoPlaylist":"Add to video playlist","addToVideoPlaylistTitle":"Add to video playlist","filterAttachments":"Filter media","attachmentsList":"Media list","settings":{"tabs":[],"tabUrl":"https:\/\/betterlifeaccountancy.com\/wp-admin\/media-upload.php?chromeless=1","mimeTypes":{"image":"Images","audio":"Audio","video":"Video","application\/msword,application\/vnd.openxmlformats-officedocument.wordprocessingml.document,application\/vnd.ms-word.document.macroEnabled.12,application\/vnd.ms-word.template.macroEnabled.12,application\/vnd.oasis.opendocument.text,application\/vnd.apple.pages,application\/pdf,application\/vnd.ms-xpsdocument,application\/oxps,application\/rtf,application\/wordperfect,application\/octet-stream":"Documents","application\/vnd.apple.numbers,application\/vnd.oasis.opendocument.spreadsheet,application\/vnd.ms-excel,application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application\/vnd.ms-excel.sheet.macroEnabled.12,application\/vnd.ms-excel.sheet.binary.macroEnabled.12":"Spreadsheets","application\/x-gzip,application\/rar,application\/x-tar,application\/zip,application\/x-7z-compressed":"Archives"},"captions":true,"nonce":{"sendToEditor":"ac2fc8e843","setAttachmentThumbnail":"9582de7390"},"post":{"id":0},"defaultProps":{"link":"none","align":"","size":""},"attachmentCounts":{"audio":1,"video":1},"oEmbedProxyUrl":"https:\/\/betterlifeaccountancy.com\/wp-json\/oembed\/1.0\/proxy","embedExts":["mp3","ogg","flac","m4a","wav","mp4","m4v","webm","ogv","flv"],"embedMimes":{"mp3":"audio\/mpeg","ogg":"audio\/ogg","flac":"audio\/flac","m4a":"audio\/mpeg","wav":"audio\/wav","mp4":"video\/mp4","m4v":"video\/mp4","webm":"video\/webm","ogv":"video\/ogg","flv":"video\/x-flv"},"contentWidth":1080,"months":[{"year":"2024","month":"7","text":"July 2024"},{"year":"2024","month":"6","text":"June 2024"},{"year":"2022","month":"8","text":"August 2022"}],"mediaTrash":0,"infiniteScrolling":1}}; /* ]]> */ /* <![CDATA[ */ ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "default", {"translation-revision-date":"2025-11-13 00:57:08+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Showing %1$s of %2$s media items":["Showing %1$s of %2$s media items"],"Jump to first loaded item":["Jump to first loaded item"],"Load more":["Load more"],"Number of media items displayed: %d. Click load more for more results.":["Number of media items displayed: %d. Click \u201cload more\u201d for more results."],"The file URL has been copied to your clipboard":["The file URL has been copied to your clipboard"],"%s item selected":["%s item selected","%s items selected"],"Number of media items displayed: %d. Scroll the page for more results.":["Number of media items displayed: %d. Scroll the page for more results."]}},"comment":{"reference":"wp-includes\/js\/media-views.js"}} ); /* ]]> */ /* <![CDATA[ */ ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "default", {"translation-revision-date":"2025-11-13 00:57:08+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Could not set that as the thumbnail image. Try a different attachment.":["Could not set that as the thumbnail image. Try a different attachment."]}},"comment":{"reference":"wp-includes\/js\/media-editor.js"}} ); /* ]]> */ /* <![CDATA[ */ var njt_wa_global = {"ajax_url":"https:\/\/betterlifeaccountancy.com\/wp-admin\/admin-ajax.php","nonce":"f64ea2ec5e","defaultAvatarSVG":"<svg width=\"48px\" height=\"48px\" class=\"nta-whatsapp-default-avatar\" version=\"1.1\" id=\"Layer_1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\"\n viewBox=\"0 0 512 512\" style=\"enable-background:new 0 0 512 512;\" xml:space=\"preserve\">\n <path style=\"fill:#EDEDED;\" d=\"M0,512l35.31-128C12.359,344.276,0,300.138,0,254.234C0,114.759,114.759,0,255.117,0\n S512,114.759,512,254.234S395.476,512,255.117,512c-44.138,0-86.51-14.124-124.469-35.31L0,512z\"\/>\n <path style=\"fill:#55CD6C;\" d=\"M137.71,430.786l7.945,4.414c32.662,20.303,70.621,32.662,110.345,32.662\n c115.641,0,211.862-96.221,211.862-213.628S371.641,44.138,255.117,44.138S44.138,137.71,44.138,254.234\n c0,40.607,11.476,80.331,32.662,113.876l5.297,7.945l-20.303,74.152L137.71,430.786z\"\/>\n <path style=\"fill:#FEFEFE;\" d=\"M187.145,135.945l-16.772-0.883c-5.297,0-10.593,1.766-14.124,5.297\n c-7.945,7.062-21.186,20.303-24.717,37.959c-6.179,26.483,3.531,58.262,26.483,90.041s67.09,82.979,144.772,105.048\n c24.717,7.062,44.138,2.648,60.028-7.062c12.359-7.945,20.303-20.303,22.952-33.545l2.648-12.359\n c0.883-3.531-0.883-7.945-4.414-9.71l-55.614-25.6c-3.531-1.766-7.945-0.883-10.593,2.648l-22.069,28.248\n c-1.766,1.766-4.414,2.648-7.062,1.766c-15.007-5.297-65.324-26.483-92.69-79.448c-0.883-2.648-0.883-5.297,0.883-7.062\n l21.186-23.834c1.766-2.648,2.648-6.179,1.766-8.828l-25.6-57.379C193.324,138.593,190.676,135.945,187.145,135.945\"\/>\n <\/svg>","defaultAvatarUrl":"https:\/\/betterlifeaccountancy.com\/wp-content\/plugins\/wp-whatsapp\/assets\/img\/whatsapp_logo.svg","timezone":"+00:00","i18n":{"online":"Online","offline":"Offline"},"urlSettings":{"onDesktop":"api","onMobile":"api","openInNewTab":"ON"}}; /* ]]> */ /* <![CDATA[ */ var nectarLove = {"ajaxurl":"https:\/\/betterlifeaccountancy.com\/wp-admin\/admin-ajax.php","postID":"7","rooturl":"https:\/\/betterlifeaccountancy.com","disqusComments":"false","loveNonce":"c423c36c6d","mapApiKey":"AIzaSyCOHmjwhcIY52nBwvu4eNvosz0w4FZZDOM"}; var nectarOptions = {"delay_js":"false","smooth_scroll":"false","smooth_scroll_strength":"50","quick_search":"false","react_compat":"disabled","header_entrance":"true","body_border_func":"default","disable_box_roll_mobile":"false","body_border_mobile":"0","dropdown_hover_intent":"default","simplify_ocm_mobile":"0","mobile_header_format":"default","ocm_btn_position":"default","left_header_dropdown_func":"default","ajax_add_to_cart":"0","ocm_remove_ext_menu_items":"remove_images","woo_product_filter_toggle":"0","woo_sidebar_toggles":"true","woo_sticky_sidebar":"0","woo_minimal_product_hover":"default","woo_minimal_product_effect":"default","woo_related_upsell_carousel":"false","woo_product_variable_select":"default","woo_using_cart_addons":"false","view_transitions_effect":""}; var nectar_front_i18n = {"menu":"Menu","next":"Next","previous":"Previous","close":"Close"}; /* ]]> */ /* <![CDATA[ */ var pum_vars = {"version":"1.21.5","pm_dir_url":"https:\/\/betterlifeaccountancy.com\/wp-content\/plugins\/popup-maker\/","ajaxurl":"https:\/\/betterlifeaccountancy.com\/wp-admin\/admin-ajax.php","restapi":"https:\/\/betterlifeaccountancy.com\/wp-json\/pum\/v1","rest_nonce":null,"default_theme":"470","debug_mode":"","disable_tracking":"","home_url":"\/","message_position":"top","core_sub_forms_enabled":"1","popups":[],"cookie_domain":"","analytics_enabled":"1","analytics_route":"analytics","analytics_api":"https:\/\/betterlifeaccountancy.com\/wp-json\/pum\/v1"}; var pum_sub_vars = {"ajaxurl":"https:\/\/betterlifeaccountancy.com\/wp-admin\/admin-ajax.php","message_position":"top"}; var pum_popups = {"pum-497":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"medium","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":497,"slug":"landlords-property-developers-2"},"pum-495":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":495,"slug":"you"},"pum-493":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":493,"slug":"horse-racing-bloodstock"},"pum-491":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":491,"slug":"tradespeople"},"pum-489":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":489,"slug":"rural-economy"},"pum-486":{"triggers":[{"type":"click_open","settings":{"cookie_name":"","extra_selectors":""}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":486,"slug":"hospitality-tourism"},"pum-479":{"triggers":[{"type":"click_open","settings":{"cookie_name":["pum-479"],"extra_selectors":".pum-479"}}],"cookies":[],"disable_on_mobile":false,"disable_on_tablet":false,"atc_promotion":null,"explain":null,"type_section":null,"theme_id":"470","size":"normal","responsive_min_width":"0%","responsive_max_width":"100%","custom_width":"640px","custom_height_auto":false,"custom_height":"380px","scrollable_content":false,"animation_type":"fade","animation_speed":"350","animation_origin":"center top","open_sound":"none","custom_sound":"","location":"center","position_top":"100","position_bottom":"0","position_left":"0","position_right":"0","position_from_trigger":false,"position_fixed":false,"overlay_disabled":false,"stackable":false,"disable_reposition":false,"zindex":"1999999999","close_button_delay":"0","fi_promotion":null,"close_on_form_submission":false,"close_on_form_submission_delay":"0","close_on_overlay_click":false,"close_on_esc_press":false,"close_on_f4_press":false,"disable_form_reopen":false,"disable_accessibility":false,"theme_slug":"default-theme","id":479,"slug":"landlords-property-developers"}}; /* ]]> */ /* <![CDATA[ */ var complianz = {"prefix":"cmplz_","user_banner_id":"1","set_cookies":[],"block_ajax_content":"","banner_version":"19","version":"7.4.4","store_consent":"","do_not_track_enabled":"1","consenttype":"optin","region":"uk","geoip":"","dismiss_timeout":"","disable_cookiebanner":"","soft_cookiewall":"1","dismiss_on_scroll":"","cookie_expiry":"365","url":"https:\/\/betterlifeaccountancy.com\/wp-json\/complianz\/v1\/","locale":"lang=en&locale=en_GB","set_cookies_on_root":"","cookie_domain":"","current_policy_id":"22","cookie_path":"\/","categories":{"statistics":"statistics","marketing":"marketing"},"tcf_active":"","placeholdertext":"Click to accept {category} cookies and enable this content","css_file":"https:\/\/betterlifeaccountancy.com\/wp-content\/uploads\/complianz\/css\/banner-{banner_id}-{type}.css?v=19","page_links":{"uk":{"cookie-statement":{"title":"","url":"https:\/\/betterlifeaccountancy.com\/"},"privacy-statement":{"title":"Privacy Policy","url":"https:\/\/betterlifeaccountancy.com\/privacy-policy\/"}}},"tm_categories":"","forceEnableStats":"","preview":"","clean_cookies":"","aria_label":"Click to accept {category} cookies and enable this content"}; /* ]]> */ /* <![CDATA[ */ var njt_wa = {"gdprStatus":"1","accounts":[{"accountId":288,"accountName":"","avatar":"","number":"+447365389793","title":"Leave us a message and we will come back to you shortly","predefinedText":"","willBeBackText":"I will be back in [njwa_time_work]","dayOffsText":"I will be back soon","isAlwaysAvailable":"ON","daysOfWeekWorking":{"sunday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"monday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"tuesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"wednesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"thursday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"friday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"saturday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]}}}],"options":{"display":{"displayCondition":"showAllPage","includePages":[],"excludePages":[],"includePosts":[],"showOnDesktop":"ON","showOnMobile":"ON","time_symbols":"h:m"},"styles":{"title":"Start a Conversation","responseText":"The team typically replies in a few minutes during office hours.","description":"","backgroundColor":"#80eba7","textColor":"#fff","titleSize":"18","accountNameSize":"14","descriptionTextSize":"12","regularTextSize":"11","scrollHeight":"500","isShowScroll":"OFF","isShowResponseText":"OFF","btnLabel":"Have a question? <br \/><strong>Leave us a message<\/strong>","btnLabelWidth":"156","btnPosition":"right","btnLeftDistance":"30","btnRightDistance":"30","btnBottomDistance":"30","isShowBtnLabel":"ON","isShowGDPR":"ON","gdprContent":"Please accept our <a href=\"https:\/\/ninjateam.org\/privacy-policy\/\">privacy policy<\/a> first to start a conversation.","isShowPoweredBy":"ON"},"analytics":{"enabledGoogle":"OFF","enabledFacebook":"OFF","enabledGoogleGA4":"OFF"}}}; /* ]]> */