- Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in element_gva_column->render_content() (line 462 of themes/gavias_kunco/gva_content_builder/gva_column.php).
element_gva_column->render_content(Array, '
Limbs & Senses
<a href="/en/senses-en" class="atraf-btn">Browse Our Projects</a>
// Simple Scripts for Interactions
const counters = document.querySelectorAll('.counter');
const options = { threshold: 0.5 };
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const counter = entry.target;
const target = +counter.getAttribute('data-target');
let count = 0;
const increment = target / 100;
const updateCounter = () => {
count += increment;
if (count < target) {
counter.innerText = Math.ceil(count);
requestAnimationFrame(updateCounter);
} else {
counter.innerText = target;
}
};
updateCounter();
observer.unobserve(counter);
}
});
}, options);
counters.forEach(counter => observer.observe(counter));
// Reveal Animation
const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('active');
}
})
}, { threshold: 0.1 });
reveals.forEach(el => revealObserver.observe(el));
function toggleCart() {
// Placeholder for cart toggle logic
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
module.exports = {
content: ["./about.html"],
important: '.vicdan-embed-wrapper',
theme: {
extend: {
colors: {
brand: {
primary: '#6d2435',
secondary: '#b2946b',
green: '#617f67',
salmon: '#a75756',
beige: '#f2d7b4',
dark: '#282828'
}
},
fontFamily: {
sans: ['IBM Plex Sans', 'sans-serif'],
}
}
},
corePlugins: {
preflight: false,
}
}
Program Overview
This program is designed to address the physical and sensory needs of persons with disabilities through a comprehensive range of specialized services. It provides prosthetic limbs and mobility aids to improve movement and promote greater independence, alongside speech rehabilitation and hearing and vision support to enhance communication and interaction with the surrounding social environment. The program aims to empower beneficiaries to carry out their daily lives with as much independence as possible, reduce the barriers they may face, and expand their opportunities for education, employment, and full participation in community life.
Objectives
Enhancing mobility and independence.
Improving communication and sensory skills.
Provision of specialized prosthetic services.
Empowering persons with disabilities to actively participate.
/* COUNTER */
document.querySelectorAll('.atraf-counter').forEach(counter => {
const update = () => {
const target = +counter.getAttribute('data-target');
const count = +counter.innerText;
const inc = target / 100;
if (count < target) {
counter.innerText = Math.ceil(count + inc);
setTimeout(update, 20);
} else {
counter.innerText = target;
}
};
update();
});
/* LIGHTBOX */
document.getElementById('atraf-lightbox-trigger').addEventListener('click', () => {
window.open('sites/default/files/program_access.png', '_blank');
});
') (Line: 110)
gavias_content_builder_render_element('gva_column', Array, '
Limbs & Senses
<a href="/en/senses-en" class="atraf-btn">Browse Our Projects</a>
// Simple Scripts for Interactions
const counters = document.querySelectorAll('.counter');
const options = { threshold: 0.5 };
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const counter = entry.target;
const target = +counter.getAttribute('data-target');
let count = 0;
const increment = target / 100;
const updateCounter = () => {
count += increment;
if (count < target) {
counter.innerText = Math.ceil(count);
requestAnimationFrame(updateCounter);
} else {
counter.innerText = target;
}
};
updateCounter();
observer.unobserve(counter);
}
});
}, options);
counters.forEach(counter => observer.observe(counter));
// Reveal Animation
const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('active');
}
})
}, { threshold: 0.1 });
reveals.forEach(el => revealObserver.observe(el));
function toggleCart() {
// Placeholder for cart toggle logic
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
module.exports = {
content: ["./about.html"],
important: '.vicdan-embed-wrapper',
theme: {
extend: {
colors: {
brand: {
primary: '#6d2435',
secondary: '#b2946b',
green: '#617f67',
salmon: '#a75756',
beige: '#f2d7b4',
dark: '#282828'
}
},
fontFamily: {
sans: ['IBM Plex Sans', 'sans-serif'],
}
}
},
corePlugins: {
preflight: false,
}
}
Program Overview
This program is designed to address the physical and sensory needs of persons with disabilities through a comprehensive range of specialized services. It provides prosthetic limbs and mobility aids to improve movement and promote greater independence, alongside speech rehabilitation and hearing and vision support to enhance communication and interaction with the surrounding social environment. The program aims to empower beneficiaries to carry out their daily lives with as much independence as possible, reduce the barriers they may face, and expand their opportunities for education, employment, and full participation in community life.
Objectives
Enhancing mobility and independence.
Improving communication and sensory skills.
Provision of specialized prosthetic services.
Empowering persons with disabilities to actively participate.
/* COUNTER */
document.querySelectorAll('.atraf-counter').forEach(counter => {
const update = () => {
const target = +counter.getAttribute('data-target');
const count = +counter.innerText;
const inc = target / 100;
if (count < target) {
counter.innerText = Math.ceil(count + inc);
setTimeout(update, 20);
} else {
counter.innerText = target;
}
};
update();
});
/* LIGHTBOX */
document.getElementById('atraf-lightbox-trigger').addEventListener('click', () => {
window.open('sites/default/files/program_access.png', '_blank');
});
') (Line: 58)
gavias_content_builder_render_el(Array) (Line: 22)
gavias_content_builder_frontend('[{"settings":{"element":"gva_row","bg_particles":"off","bg_position":"center top","bg_repeat":"no-repeat","bg_attachment":"scroll","bg_size":"cover","style_space":"remove_margin remove_padding remove_padding_col","layout":"container-fw"},"columns":[{"settings":{"element":"gva_column"},"col_lg":12,"elements":[{"settings":{"content":"\r\n\r\n \r\n \r\n \r\n \r\n \r\n Limbs & Senses\r\n\r\n \r\n\r\n <a>Browse Our Projects</a>\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n // Simple Scripts for Interactions\r\n const counters = document.querySelectorAll('.counter');\r\n const options = { threshold: 0.5 };\r\n\r\n const observer = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting) {\r\n const counter = entry.target;\r\n const target = +counter.getAttribute('data-target');\r\n let count = 0;\r\n const increment = target / 100;\r\n\r\n const updateCounter = () => {\r\n count += increment;\r\n if (count < target) {\r\n counter.innerText = Math.ceil(count);\r\n requestAnimationFrame(updateCounter);\r\n } else {\r\n counter.innerText = target;\r\n }\r\n };\r\n updateCounter();\r\n observer.unobserve(counter);\r\n }\r\n });\r\n }, options);\r\n\r\n counters.forEach(counter => observer.observe(counter));\r\n\r\n // Reveal Animation\r\n const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');\r\n const revealObserver = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting) {\r\n entry.target.classList.add('active');\r\n }\r\n })\r\n }, { threshold: 0.1 });\r\n\r\n reveals.forEach(el => revealObserver.observe(el));\r\n\r\n function toggleCart() {\r\n // Placeholder for cart toggle logic\r\n alert('Cart toggle clicked');\r\n }\r\n function toggleMobileMenu() {\r\n alert('Mobile menu clicked');\r\n }\r\n\r\nmodule.exports = {\r\n content: [\"./about.html\"],\r\n important: '.vicdan-embed-wrapper',\r\n theme: {\r\n extend: {\r\n colors: {\r\n brand: {\r\n primary: '#6d2435',\r\n secondary: '#b2946b',\r\n green: '#617f67',\r\n salmon: '#a75756',\r\n beige: '#f2d7b4',\r\n dark: '#282828'\r\n }\r\n },\r\n fontFamily: {\r\n sans: ['IBM Plex Sans', 'sans-serif'],\r\n }\r\n }\r\n },\r\n corePlugins: {\r\n preflight: false,\r\n }\r\n}\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"},{"settings":{"content":"\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\nProgram Overview\r\n \r\n\r\n \r\nThis program is designed to address the physical and sensory needs of persons with disabilities through a comprehensive range of specialized services. It provides prosthetic limbs and mobility aids to improve movement and promote greater independence, alongside speech rehabilitation and hearing and vision support to enhance communication and interaction with the surrounding social environment. The program aims to empower beneficiaries to carry out their daily lives with as much independence as possible, reduce the barriers they may face, and expand their opportunities for education, employment, and full participation in community life.\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n Objectives\r\n\r\n \r\n\r\n \r\n Enhancing mobility and independence.\r\n\r\n\r\n\r\n \r\n Improving communication and sensory skills.\r\n\r\n\r\n\r\n\r\n\r\n Provision of specialized prosthetic services.\r\n\r\n\r\n\r\n \r\n Empowering persons with disabilities to actively participate.\r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n/* COUNTER */\r\ndocument.querySelectorAll('.atraf-counter').forEach(counter => {\r\n const update = () => {\r\n const target = +counter.getAttribute('data-target');\r\n const count = +counter.innerText;\r\n const inc = target / 100;\r\n\r\n if (count < target) {\r\n counter.innerText = Math.ceil(count + inc);\r\n setTimeout(update, 20);\r\n } else {\r\n counter.innerText = target;\r\n }\r\n };\r\n update();\r\n});\r\n\r\n/* LIGHTBOX */\r\ndocument.getElementById('atraf-lightbox-trigger').addEventListener('click', () => {\r\n window.open('sites/default/files/program_access.png', '_blank');\r\n});\r\n\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"}],"editing":false,"element_name":"gva_column"}],"editing":false,"element_name":"gva_row"}]') (Line: 47)
Drupal\gavias_content_builder\Plugin\Field\FieldFormatter\GaviasContentBuilderFormatter->viewElements(Object, 'en') (Line: 89)
Drupal\Core\Field\FormatterBase->view(Object, 'en') (Line: 263)
Drupal\Core\Entity\Entity\EntityViewDisplay->buildMultiple(Array) (Line: 351)
Drupal\Core\Entity\EntityViewBuilder->buildComponents(Array, Array, Array, 'full') (Line: 24)
Drupal\node\NodeViewBuilder->buildComponents(Array, Array, Array, 'full') (Line: 293)
Drupal\Core\Entity\EntityViewBuilder->buildMultiple(Array) (Line: 250)
Drupal\Core\Entity\EntityViewBuilder->build(Array)
call_user_func_array(Array, Array) (Line: 100)
Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_render callbacks must be methods of a class that implements \Drupal\Core\Security\TrustedCallbackInterface or be an anonymous function. The callback was %s. Support for this callback implementation is deprecated in 8.8.0 and will be removed in Drupal 9.0.0. See https://www.drupal.org/node/2966725', 'silenced_deprecation', 'Drupal\Core\Render\Element\RenderCallbackInterface') (Line: 781)
Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array) (Line: 372)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array, ) (Line: 226)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 573)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 227)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 117)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
call_user_func(Array, Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 156)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 191)
Drupal\page_cache\StackMiddleware\PageCache->fetch(Object, 1, 1) (Line: 128)
Drupal\page_cache\StackMiddleware\PageCache->lookup(Object, 1, 1) (Line: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 708)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
- Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in element_gva_column->render_content() (line 463 of themes/gavias_kunco/gva_content_builder/gva_column.php).
element_gva_column->render_content(Array, '
Limbs & Senses
<a href="/en/senses-en" class="atraf-btn">Browse Our Projects</a>
// Simple Scripts for Interactions
const counters = document.querySelectorAll('.counter');
const options = { threshold: 0.5 };
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const counter = entry.target;
const target = +counter.getAttribute('data-target');
let count = 0;
const increment = target / 100;
const updateCounter = () => {
count += increment;
if (count < target) {
counter.innerText = Math.ceil(count);
requestAnimationFrame(updateCounter);
} else {
counter.innerText = target;
}
};
updateCounter();
observer.unobserve(counter);
}
});
}, options);
counters.forEach(counter => observer.observe(counter));
// Reveal Animation
const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('active');
}
})
}, { threshold: 0.1 });
reveals.forEach(el => revealObserver.observe(el));
function toggleCart() {
// Placeholder for cart toggle logic
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
module.exports = {
content: ["./about.html"],
important: '.vicdan-embed-wrapper',
theme: {
extend: {
colors: {
brand: {
primary: '#6d2435',
secondary: '#b2946b',
green: '#617f67',
salmon: '#a75756',
beige: '#f2d7b4',
dark: '#282828'
}
},
fontFamily: {
sans: ['IBM Plex Sans', 'sans-serif'],
}
}
},
corePlugins: {
preflight: false,
}
}
Program Overview
This program is designed to address the physical and sensory needs of persons with disabilities through a comprehensive range of specialized services. It provides prosthetic limbs and mobility aids to improve movement and promote greater independence, alongside speech rehabilitation and hearing and vision support to enhance communication and interaction with the surrounding social environment. The program aims to empower beneficiaries to carry out their daily lives with as much independence as possible, reduce the barriers they may face, and expand their opportunities for education, employment, and full participation in community life.
Objectives
Enhancing mobility and independence.
Improving communication and sensory skills.
Provision of specialized prosthetic services.
Empowering persons with disabilities to actively participate.
/* COUNTER */
document.querySelectorAll('.atraf-counter').forEach(counter => {
const update = () => {
const target = +counter.getAttribute('data-target');
const count = +counter.innerText;
const inc = target / 100;
if (count < target) {
counter.innerText = Math.ceil(count + inc);
setTimeout(update, 20);
} else {
counter.innerText = target;
}
};
update();
});
/* LIGHTBOX */
document.getElementById('atraf-lightbox-trigger').addEventListener('click', () => {
window.open('sites/default/files/program_access.png', '_blank');
});
') (Line: 110)
gavias_content_builder_render_element('gva_column', Array, '
Limbs & Senses
<a href="/en/senses-en" class="atraf-btn">Browse Our Projects</a>
// Simple Scripts for Interactions
const counters = document.querySelectorAll('.counter');
const options = { threshold: 0.5 };
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const counter = entry.target;
const target = +counter.getAttribute('data-target');
let count = 0;
const increment = target / 100;
const updateCounter = () => {
count += increment;
if (count < target) {
counter.innerText = Math.ceil(count);
requestAnimationFrame(updateCounter);
} else {
counter.innerText = target;
}
};
updateCounter();
observer.unobserve(counter);
}
});
}, options);
counters.forEach(counter => observer.observe(counter));
// Reveal Animation
const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('active');
}
})
}, { threshold: 0.1 });
reveals.forEach(el => revealObserver.observe(el));
function toggleCart() {
// Placeholder for cart toggle logic
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
module.exports = {
content: ["./about.html"],
important: '.vicdan-embed-wrapper',
theme: {
extend: {
colors: {
brand: {
primary: '#6d2435',
secondary: '#b2946b',
green: '#617f67',
salmon: '#a75756',
beige: '#f2d7b4',
dark: '#282828'
}
},
fontFamily: {
sans: ['IBM Plex Sans', 'sans-serif'],
}
}
},
corePlugins: {
preflight: false,
}
}
Program Overview
This program is designed to address the physical and sensory needs of persons with disabilities through a comprehensive range of specialized services. It provides prosthetic limbs and mobility aids to improve movement and promote greater independence, alongside speech rehabilitation and hearing and vision support to enhance communication and interaction with the surrounding social environment. The program aims to empower beneficiaries to carry out their daily lives with as much independence as possible, reduce the barriers they may face, and expand their opportunities for education, employment, and full participation in community life.
Objectives
Enhancing mobility and independence.
Improving communication and sensory skills.
Provision of specialized prosthetic services.
Empowering persons with disabilities to actively participate.
/* COUNTER */
document.querySelectorAll('.atraf-counter').forEach(counter => {
const update = () => {
const target = +counter.getAttribute('data-target');
const count = +counter.innerText;
const inc = target / 100;
if (count < target) {
counter.innerText = Math.ceil(count + inc);
setTimeout(update, 20);
} else {
counter.innerText = target;
}
};
update();
});
/* LIGHTBOX */
document.getElementById('atraf-lightbox-trigger').addEventListener('click', () => {
window.open('sites/default/files/program_access.png', '_blank');
});
') (Line: 58)
gavias_content_builder_render_el(Array) (Line: 22)
gavias_content_builder_frontend('[{"settings":{"element":"gva_row","bg_particles":"off","bg_position":"center top","bg_repeat":"no-repeat","bg_attachment":"scroll","bg_size":"cover","style_space":"remove_margin remove_padding remove_padding_col","layout":"container-fw"},"columns":[{"settings":{"element":"gva_column"},"col_lg":12,"elements":[{"settings":{"content":"\r\n\r\n \r\n \r\n \r\n \r\n \r\n Limbs & Senses\r\n\r\n \r\n\r\n <a>Browse Our Projects</a>\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n // Simple Scripts for Interactions\r\n const counters = document.querySelectorAll('.counter');\r\n const options = { threshold: 0.5 };\r\n\r\n const observer = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting) {\r\n const counter = entry.target;\r\n const target = +counter.getAttribute('data-target');\r\n let count = 0;\r\n const increment = target / 100;\r\n\r\n const updateCounter = () => {\r\n count += increment;\r\n if (count < target) {\r\n counter.innerText = Math.ceil(count);\r\n requestAnimationFrame(updateCounter);\r\n } else {\r\n counter.innerText = target;\r\n }\r\n };\r\n updateCounter();\r\n observer.unobserve(counter);\r\n }\r\n });\r\n }, options);\r\n\r\n counters.forEach(counter => observer.observe(counter));\r\n\r\n // Reveal Animation\r\n const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');\r\n const revealObserver = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting) {\r\n entry.target.classList.add('active');\r\n }\r\n })\r\n }, { threshold: 0.1 });\r\n\r\n reveals.forEach(el => revealObserver.observe(el));\r\n\r\n function toggleCart() {\r\n // Placeholder for cart toggle logic\r\n alert('Cart toggle clicked');\r\n }\r\n function toggleMobileMenu() {\r\n alert('Mobile menu clicked');\r\n }\r\n\r\nmodule.exports = {\r\n content: [\"./about.html\"],\r\n important: '.vicdan-embed-wrapper',\r\n theme: {\r\n extend: {\r\n colors: {\r\n brand: {\r\n primary: '#6d2435',\r\n secondary: '#b2946b',\r\n green: '#617f67',\r\n salmon: '#a75756',\r\n beige: '#f2d7b4',\r\n dark: '#282828'\r\n }\r\n },\r\n fontFamily: {\r\n sans: ['IBM Plex Sans', 'sans-serif'],\r\n }\r\n }\r\n },\r\n corePlugins: {\r\n preflight: false,\r\n }\r\n}\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"},{"settings":{"content":"\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\nProgram Overview\r\n \r\n\r\n \r\nThis program is designed to address the physical and sensory needs of persons with disabilities through a comprehensive range of specialized services. It provides prosthetic limbs and mobility aids to improve movement and promote greater independence, alongside speech rehabilitation and hearing and vision support to enhance communication and interaction with the surrounding social environment. The program aims to empower beneficiaries to carry out their daily lives with as much independence as possible, reduce the barriers they may face, and expand their opportunities for education, employment, and full participation in community life.\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n Objectives\r\n\r\n \r\n\r\n \r\n Enhancing mobility and independence.\r\n\r\n\r\n\r\n \r\n Improving communication and sensory skills.\r\n\r\n\r\n\r\n\r\n\r\n Provision of specialized prosthetic services.\r\n\r\n\r\n\r\n \r\n Empowering persons with disabilities to actively participate.\r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n/* COUNTER */\r\ndocument.querySelectorAll('.atraf-counter').forEach(counter => {\r\n const update = () => {\r\n const target = +counter.getAttribute('data-target');\r\n const count = +counter.innerText;\r\n const inc = target / 100;\r\n\r\n if (count < target) {\r\n counter.innerText = Math.ceil(count + inc);\r\n setTimeout(update, 20);\r\n } else {\r\n counter.innerText = target;\r\n }\r\n };\r\n update();\r\n});\r\n\r\n/* LIGHTBOX */\r\ndocument.getElementById('atraf-lightbox-trigger').addEventListener('click', () => {\r\n window.open('sites/default/files/program_access.png', '_blank');\r\n});\r\n\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"}],"editing":false,"element_name":"gva_column"}],"editing":false,"element_name":"gva_row"}]') (Line: 47)
Drupal\gavias_content_builder\Plugin\Field\FieldFormatter\GaviasContentBuilderFormatter->viewElements(Object, 'en') (Line: 89)
Drupal\Core\Field\FormatterBase->view(Object, 'en') (Line: 263)
Drupal\Core\Entity\Entity\EntityViewDisplay->buildMultiple(Array) (Line: 351)
Drupal\Core\Entity\EntityViewBuilder->buildComponents(Array, Array, Array, 'full') (Line: 24)
Drupal\node\NodeViewBuilder->buildComponents(Array, Array, Array, 'full') (Line: 293)
Drupal\Core\Entity\EntityViewBuilder->buildMultiple(Array) (Line: 250)
Drupal\Core\Entity\EntityViewBuilder->build(Array)
call_user_func_array(Array, Array) (Line: 100)
Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_render callbacks must be methods of a class that implements \Drupal\Core\Security\TrustedCallbackInterface or be an anonymous function. The callback was %s. Support for this callback implementation is deprecated in 8.8.0 and will be removed in Drupal 9.0.0. See https://www.drupal.org/node/2966725', 'silenced_deprecation', 'Drupal\Core\Render\Element\RenderCallbackInterface') (Line: 781)
Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array) (Line: 372)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array, ) (Line: 226)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 573)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 227)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 117)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
call_user_func(Array, Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 156)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 191)
Drupal\page_cache\StackMiddleware\PageCache->fetch(Object, 1, 1) (Line: 128)
Drupal\page_cache\StackMiddleware\PageCache->lookup(Object, 1, 1) (Line: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 708)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
- Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in element_gva_row->render_content() (line 317 of themes/gavias_kunco/gva_content_builder/gva_row.php).
element_gva_row->render_content(Array, '
Limbs & Senses
<a href="/en/senses-en" class="atraf-btn">Browse Our Projects</a>
// Simple Scripts for Interactions
const counters = document.querySelectorAll('.counter');
const options = { threshold: 0.5 };
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const counter = entry.target;
const target = +counter.getAttribute('data-target');
let count = 0;
const increment = target / 100;
const updateCounter = () => {
count += increment;
if (count < target) {
counter.innerText = Math.ceil(count);
requestAnimationFrame(updateCounter);
} else {
counter.innerText = target;
}
};
updateCounter();
observer.unobserve(counter);
}
});
}, options);
counters.forEach(counter => observer.observe(counter));
// Reveal Animation
const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('active');
}
})
}, { threshold: 0.1 });
reveals.forEach(el => revealObserver.observe(el));
function toggleCart() {
// Placeholder for cart toggle logic
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
module.exports = {
content: ["./about.html"],
important: '.vicdan-embed-wrapper',
theme: {
extend: {
colors: {
brand: {
primary: '#6d2435',
secondary: '#b2946b',
green: '#617f67',
salmon: '#a75756',
beige: '#f2d7b4',
dark: '#282828'
}
},
fontFamily: {
sans: ['IBM Plex Sans', 'sans-serif'],
}
}
},
corePlugins: {
preflight: false,
}
}
Program Overview
This program is designed to address the physical and sensory needs of persons with disabilities through a comprehensive range of specialized services. It provides prosthetic limbs and mobility aids to improve movement and promote greater independence, alongside speech rehabilitation and hearing and vision support to enhance communication and interaction with the surrounding social environment. The program aims to empower beneficiaries to carry out their daily lives with as much independence as possible, reduce the barriers they may face, and expand their opportunities for education, employment, and full participation in community life.
Objectives
Enhancing mobility and independence.
Improving communication and sensory skills.
Provision of specialized prosthetic services.
Empowering persons with disabilities to actively participate.
/* COUNTER */
document.querySelectorAll('.atraf-counter').forEach(counter => {
const update = () => {
const target = +counter.getAttribute('data-target');
const count = +counter.innerText;
const inc = target / 100;
if (count < target) {
counter.innerText = Math.ceil(count + inc);
setTimeout(update, 20);
} else {
counter.innerText = target;
}
};
update();
});
/* LIGHTBOX */
document.getElementById('atraf-lightbox-trigger').addEventListener('click', () => {
window.open('sites/default/files/program_access.png', '_blank');
});
') (Line: 110)
gavias_content_builder_render_element('gva_row', Array, '
Limbs & Senses
<a href="/en/senses-en" class="atraf-btn">Browse Our Projects</a>
// Simple Scripts for Interactions
const counters = document.querySelectorAll('.counter');
const options = { threshold: 0.5 };
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const counter = entry.target;
const target = +counter.getAttribute('data-target');
let count = 0;
const increment = target / 100;
const updateCounter = () => {
count += increment;
if (count < target) {
counter.innerText = Math.ceil(count);
requestAnimationFrame(updateCounter);
} else {
counter.innerText = target;
}
};
updateCounter();
observer.unobserve(counter);
}
});
}, options);
counters.forEach(counter => observer.observe(counter));
// Reveal Animation
const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('active');
}
})
}, { threshold: 0.1 });
reveals.forEach(el => revealObserver.observe(el));
function toggleCart() {
// Placeholder for cart toggle logic
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
module.exports = {
content: ["./about.html"],
important: '.vicdan-embed-wrapper',
theme: {
extend: {
colors: {
brand: {
primary: '#6d2435',
secondary: '#b2946b',
green: '#617f67',
salmon: '#a75756',
beige: '#f2d7b4',
dark: '#282828'
}
},
fontFamily: {
sans: ['IBM Plex Sans', 'sans-serif'],
}
}
},
corePlugins: {
preflight: false,
}
}
Program Overview
This program is designed to address the physical and sensory needs of persons with disabilities through a comprehensive range of specialized services. It provides prosthetic limbs and mobility aids to improve movement and promote greater independence, alongside speech rehabilitation and hearing and vision support to enhance communication and interaction with the surrounding social environment. The program aims to empower beneficiaries to carry out their daily lives with as much independence as possible, reduce the barriers they may face, and expand their opportunities for education, employment, and full participation in community life.
Objectives
Enhancing mobility and independence.
Improving communication and sensory skills.
Provision of specialized prosthetic services.
Empowering persons with disabilities to actively participate.
/* COUNTER */
document.querySelectorAll('.atraf-counter').forEach(counter => {
const update = () => {
const target = +counter.getAttribute('data-target');
const count = +counter.innerText;
const inc = target / 100;
if (count < target) {
counter.innerText = Math.ceil(count + inc);
setTimeout(update, 20);
} else {
counter.innerText = target;
}
};
update();
});
/* LIGHTBOX */
document.getElementById('atraf-lightbox-trigger').addEventListener('click', () => {
window.open('sites/default/files/program_access.png', '_blank');
});
') (Line: 62)
gavias_content_builder_render_el(Array) (Line: 22)
gavias_content_builder_frontend('[{"settings":{"element":"gva_row","bg_particles":"off","bg_position":"center top","bg_repeat":"no-repeat","bg_attachment":"scroll","bg_size":"cover","style_space":"remove_margin remove_padding remove_padding_col","layout":"container-fw"},"columns":[{"settings":{"element":"gva_column"},"col_lg":12,"elements":[{"settings":{"content":"\r\n\r\n \r\n \r\n \r\n \r\n \r\n Limbs & Senses\r\n\r\n \r\n\r\n <a>Browse Our Projects</a>\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n // Simple Scripts for Interactions\r\n const counters = document.querySelectorAll('.counter');\r\n const options = { threshold: 0.5 };\r\n\r\n const observer = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting) {\r\n const counter = entry.target;\r\n const target = +counter.getAttribute('data-target');\r\n let count = 0;\r\n const increment = target / 100;\r\n\r\n const updateCounter = () => {\r\n count += increment;\r\n if (count < target) {\r\n counter.innerText = Math.ceil(count);\r\n requestAnimationFrame(updateCounter);\r\n } else {\r\n counter.innerText = target;\r\n }\r\n };\r\n updateCounter();\r\n observer.unobserve(counter);\r\n }\r\n });\r\n }, options);\r\n\r\n counters.forEach(counter => observer.observe(counter));\r\n\r\n // Reveal Animation\r\n const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');\r\n const revealObserver = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting) {\r\n entry.target.classList.add('active');\r\n }\r\n })\r\n }, { threshold: 0.1 });\r\n\r\n reveals.forEach(el => revealObserver.observe(el));\r\n\r\n function toggleCart() {\r\n // Placeholder for cart toggle logic\r\n alert('Cart toggle clicked');\r\n }\r\n function toggleMobileMenu() {\r\n alert('Mobile menu clicked');\r\n }\r\n\r\nmodule.exports = {\r\n content: [\"./about.html\"],\r\n important: '.vicdan-embed-wrapper',\r\n theme: {\r\n extend: {\r\n colors: {\r\n brand: {\r\n primary: '#6d2435',\r\n secondary: '#b2946b',\r\n green: '#617f67',\r\n salmon: '#a75756',\r\n beige: '#f2d7b4',\r\n dark: '#282828'\r\n }\r\n },\r\n fontFamily: {\r\n sans: ['IBM Plex Sans', 'sans-serif'],\r\n }\r\n }\r\n },\r\n corePlugins: {\r\n preflight: false,\r\n }\r\n}\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"},{"settings":{"content":"\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\nProgram Overview\r\n \r\n\r\n \r\nThis program is designed to address the physical and sensory needs of persons with disabilities through a comprehensive range of specialized services. It provides prosthetic limbs and mobility aids to improve movement and promote greater independence, alongside speech rehabilitation and hearing and vision support to enhance communication and interaction with the surrounding social environment. The program aims to empower beneficiaries to carry out their daily lives with as much independence as possible, reduce the barriers they may face, and expand their opportunities for education, employment, and full participation in community life.\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n Objectives\r\n\r\n \r\n\r\n \r\n Enhancing mobility and independence.\r\n\r\n\r\n\r\n \r\n Improving communication and sensory skills.\r\n\r\n\r\n\r\n\r\n\r\n Provision of specialized prosthetic services.\r\n\r\n\r\n\r\n \r\n Empowering persons with disabilities to actively participate.\r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n/* COUNTER */\r\ndocument.querySelectorAll('.atraf-counter').forEach(counter => {\r\n const update = () => {\r\n const target = +counter.getAttribute('data-target');\r\n const count = +counter.innerText;\r\n const inc = target / 100;\r\n\r\n if (count < target) {\r\n counter.innerText = Math.ceil(count + inc);\r\n setTimeout(update, 20);\r\n } else {\r\n counter.innerText = target;\r\n }\r\n };\r\n update();\r\n});\r\n\r\n/* LIGHTBOX */\r\ndocument.getElementById('atraf-lightbox-trigger').addEventListener('click', () => {\r\n window.open('sites/default/files/program_access.png', '_blank');\r\n});\r\n\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"}],"editing":false,"element_name":"gva_column"}],"editing":false,"element_name":"gva_row"}]') (Line: 47)
Drupal\gavias_content_builder\Plugin\Field\FieldFormatter\GaviasContentBuilderFormatter->viewElements(Object, 'en') (Line: 89)
Drupal\Core\Field\FormatterBase->view(Object, 'en') (Line: 263)
Drupal\Core\Entity\Entity\EntityViewDisplay->buildMultiple(Array) (Line: 351)
Drupal\Core\Entity\EntityViewBuilder->buildComponents(Array, Array, Array, 'full') (Line: 24)
Drupal\node\NodeViewBuilder->buildComponents(Array, Array, Array, 'full') (Line: 293)
Drupal\Core\Entity\EntityViewBuilder->buildMultiple(Array) (Line: 250)
Drupal\Core\Entity\EntityViewBuilder->build(Array)
call_user_func_array(Array, Array) (Line: 100)
Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_render callbacks must be methods of a class that implements \Drupal\Core\Security\TrustedCallbackInterface or be an anonymous function. The callback was %s. Support for this callback implementation is deprecated in 8.8.0 and will be removed in Drupal 9.0.0. See https://www.drupal.org/node/2966725', 'silenced_deprecation', 'Drupal\Core\Render\Element\RenderCallbackInterface') (Line: 781)
Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array) (Line: 372)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array, ) (Line: 226)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 573)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 227)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 117)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
call_user_func(Array, Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 156)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 191)
Drupal\page_cache\StackMiddleware\PageCache->fetch(Object, 1, 1) (Line: 128)
Drupal\page_cache\StackMiddleware\PageCache->lookup(Object, 1, 1) (Line: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 708)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)