Moore France stands out for its insurance expertise, offering a wide range of services tailored to the specific needs of its customers. For individuals, the experienced team works closely together to identify home, auto, health and liability insurance needs.
Moore France places auditing at the heart of its support for companies, providing a clear, independent view of their financial health. This approach enables us to validate the compliance of financial statements with accounting standards, and to identify areas for improvement in terms of management and internal control.
With a rigorous approach and an experienced team, Moore France provides pertinent recommendations for optimal risk management and compliance with accounting standards.
As statutory auditors, Moore France's experts certify the regularity and fairness of companies' annual financial statements, ensuring the reliability of financial information for shareholders, investors, creditors and public authorities.
Moore France offers customized support to companies, thanks to its industry expertise and in-depth knowledge of accounting standards, ensuring the confidence and security essential for businesses of all sizes and sectors.
Moore France offers management consulting services designed to help companies optimize their performance and make strategic decisions. As a trusted partner, Moore France provides global expertise to help managers effectively manage their organization in a constantly changing environment.
Outsourcing is an effective strategy for refocusing your business and optimizing your company's flexibility on certain tasks. It offers the advantage of benefiting from an external perspective to overcome tricky situations, and saves you money by minimizing the risks associated with hiring.
Chartered accountancy is at the heart of Moore France's services, offering companies comprehensive support in managing their accounts and steering their business, tailored to all sizes of organization, from SMEs to large groups, associations and the self-employed.
Moore France offers a comprehensive range of tax services, tailored to the varied needs of our individual and corporate customers. Our expertise covers different areas of taxation, such as corporate, personal and local taxes.
Moore France offers a unique and specialized service through its Foreign Desk, designed to support companies and individuals in their international projects.
We offer dedicated solutions for families, managers, shareholders and investors, helping them to manage, organize and pass on their wealth. Our services cover wealth audits, asset valuation, operational advice, wealth engineering, transmission, liquidation and sharing.
Moore France offers a comprehensive range of legal services tailored to the needs of companies and individuals. Specializing in corporate, tax, commercial and employment law, the team of legal experts supports its customers in the creation, management and transformation of their businesses.
Our specialized M&A team can help you with all your sales, target searches and fund-raising operations in France and abroad.
We offer a complete service for the sale of businesses, including accurate valuation, active search for potential buyers and personalized follow-up through to closing.
Moore France offers social protection consulting services to optimize and manage company social security schemes, to ensure coverage for employees and solutions for managers, to optimize social charges, anticipate social risks and meet legal obligations.
Moore France offers comprehensive payroll management and human resources consulting services, tailored to the specific needs of each company. Our expertise in payroll management ensures rigorous support in line with current regulations, enabling customers to concentrate on their core business.
Moore France's CSR expertise is deployed through its sustainability auditing, regulatory compliance consulting and customized training services. A comprehensive, multidisciplinary approach to support companies in their transition to sustainable, responsible management.
Moore France offers Risk Management consulting services to strengthen your internal controls and guarantee the control of financial, reputational, legal and operational risks.
With a personalized methodological approach, Moore France supports you in identifying, assessing and dealing with risks, while providing expertise in sector-specific compliance.
@import "../../resources/scss/util/variables";
@import "../../resources/scss/util/mixins";
.block-service-list {
p {
line-height: 1.5;
}
&__sidebar {
@include section-sidebar;
}
&__tabs {
margin: 0;
position: sticky;
top: 0;
background-color: $white;
z-index: 1;
ul {
@include list-unstyled;
display: flex;
flex-wrap: nowrap;
align-items: center;
overflow-x: auto;
-ms-overflow-style: none;
scrollbar-width: none;
margin: 0;
scroll-behavior: smooth;
@include bp($lg) {
padding: 0 80px 0 83px;
}
&::-webkit-scrollbar {
display: none;
}
&:after {
content: "";
width: 100%;
bottom: 0;
right: 0;
position: absolute;
height: 1px;
background-color: $border-grey;
@include bp($lg) {
width: calc(100% - 83px);
}
}
}
li {
@include fluid-type(16, 18, 375, $max-container-size);
flex-shrink: 0;
padding: 20px 24px;
white-space: nowrap;
cursor: pointer;
border-right: 1px solid $border-grey;
&:not(.current):hover {
background-color: #f2f2f2;
}
&.current {
font-weight: 600;
background-color: $primary-blue;
color: $white;
}
}
}
&__content {
& > section {
display: none;
padding-left: 16px;
padding-right: 16px;
grid-template-columns: repeat(12, 1fr);
column-gap: $grid-gutter-width;
@include bp($lg) {
padding-left: 80px;
padding-right: 80px;
}
&.current {
display: grid;
}
& > div {
&:nth-of-type(1) {
grid-row: 1;
grid-column: 1 / 13;
padding: 25px 0 45px;
@include bp($lg) {
grid-column: 1 / 5;
padding: 75px 0;
}
@include bp($xl) {
grid-column: 2 / 6;
}
& > div {
position: sticky;
top: 105px;
}
}
&:nth-of-type(2) {
grid-row: 2;
grid-column: 1 / 13;
@include bp($lg) {
grid-row: 1;
grid-column: 6 / 13;
}
@include bp($xl) {
grid-column: 7 / 13;
}
}
}
.h4 {
font-weight: 400;
& + p {
margin-bottom: 28px;
}
}
.btn {
@include fluid-type(16, 18, 375, $max-container-size);
border-color: $primary;
&:before {
border-top: 52px solid $primary;
}
}
}
}
&__links {
@include list-unstyled;
margin: 0;
display: flex;
flex-direction: column;
row-gap: 16px;
@include bp($lg) {
padding-top: 60px;
}
a {
display: flex;
align-items: flex-start;
flex-direction: column;
position: relative;
border: 1px solid $border-grey;
text-decoration: none;
transition: background-color .3s;
row-gap: 20px;
min-height: 150px;
@include bp($sm) {
flex-direction: row;
align-items: center;
}
&:hover {
background-color: #f2f2f2;
}
& > span {
height: 100%;
padding: 0 24px 32px;
@include bp($sm) {
padding: 24px 24px 32px;
}
@include bp($lg) {
padding: clamp(24px, 2vw, 35px);
}
}
h5 {
margin: 0 0 12px;
}
p {
margin: 0;
}
}
&-link--image {
@include bp($sm) {
padding-left: 150px;
}
}
&-link-icon {
padding: 24px 24px 0;
@include bp($sm) {
padding: 24px 24px 32px;
}
@include bp($lg) {
padding: clamp(24px, 2vw, 35px);
}
svg {
width: 80px;
height: 80px;
flex-shrink: 0;
}
}
&-link-image {
width: 100%;
position: relative;
height: 150px;
@include bp($sm) {
position: absolute;
width: 150px;
height: 100%;
}
}
}
}
class ServiceList {
constructor() {
this.init();
}
init() {
// Find all service-list blocks on the page
this.blocks = document.querySelectorAll('.block-service-list');
if (!this.blocks.length) return;
// Set up tab click handlers
this.setupTabClickHandlers();
}
setupTabClickHandlers() {
this.blocks.forEach(block => {
const tabs = block.querySelectorAll('.tab-link');
const tabContents = block.querySelectorAll('.tab-content');
tabs.forEach(tab => {
tab.addEventListener('click', () => {
// Remove current class from all tabs and contents
tabs.forEach(t => t.classList.remove('current'));
tabContents.forEach(c => c.classList.remove('current'));
// Add current class to clicked tab
tab.classList.add('current');
// Scroll the selected tab into view (at the start of the container)
const tabsContainer = block.querySelector('.block-service-list__tabs ul');
if (tabsContainer) {
tabsContainer.scrollLeft = tab.offsetLeft;
}
// Show the corresponding tab content
const tabId = tab.getAttribute('data-tab');
const tabContent = block.querySelector(`#${tabId}`);
if (tabContent) {
tabContent.classList.add('current');
}
});
});
});
}
}
// Initialize the service list functionality when the DOM is loaded
document.addEventListener('DOMContentLoaded', () => {
new ServiceList();
});
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 2,
"name": "strategiq/service-list",
"title": "Service List",
"description": "Example block to be used as a template",
"category": "strategiq",
"icon": "strategiq",
"acf": {
"mode": "preview",
"renderTemplate": "block-service-list.php"
},
"supports": {
"anchor": true,
"align": false,
"spacing": {
"margin": [
"top",
"bottom"
],
"padding": [
"top",
"bottom"
]
}
},
"example": {
"attributes": {
"mode": "preview",
"data": {
"heading_type": "h2",
"heading_text": "Example - Service List",
"content": "This is some example content to represent what the content will look like"
}
}
},
"style": "file:../../assets/css/service-list/block-service-list.css",
"viewScript": ["service-list"]
}