/*
Theme Name: Itfirm Child
Theme URI: http://demo.casethemes.net/itfirm/
Author: Case-Themes
Author URI: https://themeforest.net/user/case-themes/portfolio/
Description: Itfirm is a stunning, professional and flexible IT Solutions, IT Business, and Services Company WordPress theme. Itfirm based on in-depth research into IT Solutions, IT Services, IT Business, Consulting, SaaS & Software, Digital Solution, Technical Engineering, Technology, and Services Company, to deliver all needed layouts and blocks.
Version: 1.4.2
License: ThemeForest
License URI: https://themeforest.net/licenses
Template: itfirm
Text Domain: itfirm-child
Tags: agency, business, it services, it solutions, technology, technology service, software, services, app, network solution, startup, technology company, saas, digital
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/*--------------------------------------------------------------
# Zam Zam IT brand theme (green)
# Overrides the colour variables the parent theme prints inline from
# Theme Options (itfirm_inline_styles). This file loads after that inline
# block. `html:root` out-ranks the `:root` per-page presets that print later.
--------------------------------------------------------------*/
html:root {
    --primary-color: #158100;
    --primary-color-rgb: 21,129,0;
    --secondary-color: #151b1c;
    --secondary-color-rgb: 21,27,28;
    --third-color: #3aac00;
    --third-color-rgb: 58,172,0;
    --link-color: #158100;
    --link-color-hover: #0f5c00;
    --link-color-active: #0f5c00;
    --gradient-color-from: #3aac00;
    --gradient-color-from-rgb: 58,172,0;
    --gradient-color-to: #158100;
    --gradient-color-to-rgb: 21,129,0;
    --brand-lime: #88ff00;
    --brand-deep: #153f01;
}

/* Parent theme rules that hard-code the old blue instead of using the variables.
   `html a` out-ranks the Theme Options `a{color}` rule printed after this file. */
html a {
    color: var(--link-color);
}
html a:hover {
    color: var(--link-color-hover);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: var(--primary-color);
}
.ct-blog-carousel-layout2 .item-author img,
.ct-blog-grid-layout2 .item-author img {
    box-shadow: 0 6px 6px rgba(var(--primary-color-rgb), 0.3);
}
.ct-portfolio-grid2 .item--holder:before {
    background-image: linear-gradient(to bottom, var(--gradient-color-from) 50%, rgba(var(--gradient-color-to-rgb), 0));
}
.ct-portfolio-carousel3 .item--featured:after {
    background-image: linear-gradient(to bottom, rgba(27, 27, 27, 0), var(--primary-color));
}
.ct-steps-layout1 .ct--meta .ct--number {
    background-color: var(--primary-color);
}
@keyframes myPulsePrimary {
    0% { box-shadow: 0 0 0 0 rgba(var(--primary-color-rgb), 0.2); }
    70% { box-shadow: 0 0 0 60px rgba(var(--primary-color-rgb), 0); }
    100% { box-shadow: 0 0 0 0 rgba(var(--primary-color-rgb), 0); }
}
@keyframes CTPulse_Primary {
    0% { box-shadow: 0 0 0 0 rgba(var(--primary-color-rgb), 0.4); }
    70% { box-shadow: 0 0 0 60px rgba(var(--primary-color-rgb), 0); }
    100% { box-shadow: 0 0 0 0 rgba(var(--primary-color-rgb), 0); }
}

/* Text selection in brand lime. */
::selection {
    background-color: var(--brand-lime);
    color: var(--secondary-color);
}

/*--------------------------------------------------------------
# Blue/purple -> green: hard-coded colours from Elementor widgets,
# Additional CSS and plugin styles (stored in the database, so they
# can't use the variables above). `html body` raises specificity
# because Elementor's header/footer CSS loads after this file.
--------------------------------------------------------------*/
/* Slider Revolution buttons (inline style gradient). */
html body .sr7-layer.sr7-btn[style*="0, 75, 190"] {
    background: linear-gradient(90deg, #158100 0%, #3aac00 100%) !important;
}
/* Home hero slider (slider-4): titles (layer 3) are orange #f9a200 in the
   slider data; descriptions are layer 4. Overridden here to avoid a DB edit. */
html body #SR7_5_1 sr7-txt[id$="-3"] {
    color: #ffffff !important;
    letter-spacing: -0.5px !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55), 0 1px 3px rgba(0, 0, 0, 0.6) !important;
}
html body #SR7_5_1 sr7-txt[id$="-4"] {
    color: rgba(255, 255, 255, 0.92) !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.7) !important;
}
@media (min-width: 1200px) {
    html body #SR7_5_1 sr7-txt[id$="-3"] {
        font-size: 64px !important;
        line-height: 76px !important;
    }
}
/* Inline SVG gradient stops (About page). */
stop[style*="#006cff"] {
    stop-color: #3aac00 !important;
}
stop[style*="#1227b8"] {
    stop-color: #158100 !important;
}
html body .wpcf7 form .wpcf7-response-output {
    border-color: #3aac00;
}
html body .ct-cta1 .item--author .item--position,
html body .elementor-4967 .elementor-element.elementor-element-51c6a81 .ct-icon1 a:hover,
html body .elementor-4967 .elementor-element.elementor-element-4df532c .ct-contact-info .ct-contact-icon i,
html body .ct-breadcrumb li::after,
html body .elementor-33 .elementor-element.elementor-element-b01b89c .ct-counter .ct-counter-icon i,
html body .elementor-33 .elementor-element.elementor-element-b2fe598 .ct-counter .ct-counter-icon i,
html body .elementor-33 .elementor-element.elementor-element-1a430bf .ct-counter .ct-counter-icon i,
html body .elementor-33 .elementor-element.elementor-element-9cd94e5 .ct-counter .ct-counter-icon i,
html body .elementor-10052 .elementor-element.elementor-element-69050721 .ct-fancy-box .item--icon i,
html body .elementor-10052 .elementor-element.elementor-element-1a8e817e .ct-fancy-box .item--icon i,
html body .elementor-10052 .elementor-element.elementor-element-2e4c7d25 .ct-fancy-box .item--icon i,
html body .elementor-10052 .elementor-element.elementor-element-59c1e6bb .ct-fancy-box .item--icon i,
html body .elementor-10052 .elementor-element.elementor-element-6ee9b6a9 .ct-fancy-box .item--icon i,
html body .elementor-10019 .elementor-element.elementor-element-69050721 .ct-fancy-box .item--icon i,
html body .elementor-10019 .elementor-element.elementor-element-1a8e817e .ct-fancy-box .item--icon i,
html body .elementor-10019 .elementor-element.elementor-element-2e4c7d25 .ct-fancy-box .item--icon i,
html body .elementor-10019 .elementor-element.elementor-element-59c1e6bb .ct-fancy-box .item--icon i,
html body .elementor-10019 .elementor-element.elementor-element-6ee9b6a9 .ct-fancy-box .item--icon i,
html body .elementor-10005 .elementor-element.elementor-element-69050721 .ct-fancy-box .item--icon i,
html body .elementor-10005 .elementor-element.elementor-element-1a8e817e .ct-fancy-box .item--icon i,
html body .elementor-10005 .elementor-element.elementor-element-2e4c7d25 .ct-fancy-box .item--icon i,
html body .elementor-10005 .elementor-element.elementor-element-59c1e6bb .ct-fancy-box .item--icon i,
html body .elementor-10005 .elementor-element.elementor-element-6ee9b6a9 .ct-fancy-box .item--icon i,
html body .elementor-10000 .elementor-element.elementor-element-69050721 .ct-fancy-box .item--icon i,
html body .elementor-10000 .elementor-element.elementor-element-1a8e817e .ct-fancy-box .item--icon i,
html body .elementor-10000 .elementor-element.elementor-element-2e4c7d25 .ct-fancy-box .item--icon i,
html body .elementor-10000 .elementor-element.elementor-element-59c1e6bb .ct-fancy-box .item--icon i,
html body .elementor-10000 .elementor-element.elementor-element-6ee9b6a9 .ct-fancy-box .item--icon i,
html body .elementor-9994 .elementor-element.elementor-element-69050721 .ct-fancy-box .item--icon i,
html body .elementor-9994 .elementor-element.elementor-element-1a8e817e .ct-fancy-box .item--icon i,
html body .elementor-9994 .elementor-element.elementor-element-2e4c7d25 .ct-fancy-box .item--icon i,
html body .elementor-9994 .elementor-element.elementor-element-59c1e6bb .ct-fancy-box .item--icon i,
html body .elementor-9994 .elementor-element.elementor-element-6ee9b6a9 .ct-fancy-box .item--icon i,
html body .elementor-9989 .elementor-element.elementor-element-69050721 .ct-fancy-box .item--icon i,
html body .elementor-9989 .elementor-element.elementor-element-1a8e817e .ct-fancy-box .item--icon i,
html body .elementor-9989 .elementor-element.elementor-element-2e4c7d25 .ct-fancy-box .item--icon i,
html body .elementor-9989 .elementor-element.elementor-element-59c1e6bb .ct-fancy-box .item--icon i,
html body .elementor-9989 .elementor-element.elementor-element-6ee9b6a9 .ct-fancy-box .item--icon i,
html body .elementor-9971 .elementor-element.elementor-element-69050721 .ct-fancy-box .item--icon i,
html body .elementor-9971 .elementor-element.elementor-element-1a8e817e .ct-fancy-box .item--icon i,
html body .elementor-9971 .elementor-element.elementor-element-2e4c7d25 .ct-fancy-box .item--icon i,
html body .elementor-9971 .elementor-element.elementor-element-59c1e6bb .ct-fancy-box .item--icon i,
html body .elementor-9971 .elementor-element.elementor-element-6ee9b6a9 .ct-fancy-box .item--icon i {
    color: #3aac00;
}
html body .ct-cta1 .ct-cta--inner,
html body .elementor-4950 .elementor-element.elementor-element-1fec51b:not(.elementor-motion-effects-element-type-background),
html body .btn.btn-dark1,
html body .btn.btn-dark1:hover,
html body .elementor-9994 .elementor-element.elementor-element-1a8e817e > .elementor-widget-container {
    background-color: #153f01;
}
html body .ct-nav-menu1.style2 .ct-main-menu > li > a,
html body .ct-testimonial-carousel6 .item--title,
html body .ct-testimonial-carousel6 .item--description,
html body .elementor-4963 .elementor-element.elementor-element-e425ac6 .ct-nav-menu .ct-main-menu > li > a,
html body .ct-service-grid2 .item--icon,
html body .ct-service-grid2 .item--title,
html body .ct-info-box2 .item--phone {
    color: #151b1c;
}
html body .ct-fancy-box-layout7 .item--inner {
    box-shadow: rgba(0, 0, 0, 0.06) 0px 0px 8px;
}
html body .ct-fancy-box-layout8.style1 .item--shadow {
    box-shadow: rgba(0, 0, 0, 0.25) 0px 44px 43px;
}
html body .ct-process-grid1 .item--icon,
html body .elementor-4950 .elementor-element.elementor-element-a28c433 .ct-fancy-box-layout1.style3 .item--icon,
html body .elementor-4950 .elementor-element.elementor-element-72eaa26 .ct-fancy-box-layout1.style3 .item--icon,
html body .elementor-4950 .elementor-element.elementor-element-87d0300 .ct-fancy-box-layout1.style3 .item--icon,
html body .elementor-4950 .elementor-element.elementor-element-eef6633 .ct-fancy-box-layout1.style3 .item--icon,
html body .elementor-4967 .elementor-element.elementor-element-71fc1bc:not(.elementor-motion-effects-element-type-background),
html body .elementor-4963 .elementor-element.elementor-element-cddddc3:not(.elementor-motion-effects-element-type-background),
html body .ct-history #ct_history-8f5f31e2 .item--year,
html body .ct-history #ct_history-8f5f31e3 .item--year,
html body .btn.btn-dark1,
html body .ct-case-studies1 .item--readmore a,
html body .ct-link1.style1 a:hover,
html body .elementor-9994 .elementor-element.elementor-element-69050721 > .elementor-widget-container {
    background-color: #158100;
}
html body .ct-heading cite,
html body .ct-testimonial-carousel6 .item--icon,
html body .ct-testimonial-carousel6 .item--position,
html body .elementor-4950 .elementor-element.elementor-element-a84e547 .ct-fancy-box .item--button a,
html body .elementor-4950 .elementor-element.elementor-element-c36762e .ct-fancy-box .item--button a,
html body .elementor-4950 .elementor-element.elementor-element-7a0f977 .ct-fancy-box .item--button a,
html body .elementor-4950 .elementor-element.elementor-element-e0718a9 .ct-fancy-box .item--button a,
html body .elementor-4950 .elementor-element.elementor-element-403717e .ct-heading .ct-text-highlight,
html body .elementor-4950 .elementor-element.elementor-element-6edc1e2 .ct-heading .ct-text-highlight,
html body .elementor-4950 .elementor-element.elementor-element-aa2e23b .ct-heading .ct-text-highlight,
html body .elementor-4950 .elementor-element.elementor-element-eb363c6 .ct-fancy-box .item--title,
html body .elementor-4950 .elementor-element.elementor-element-eb363c6 .ct-fancy-box .item--button a,
html body .elementor-4950 .elementor-element.elementor-element-e99db78 .ct-fancy-box .item--title,
html body .elementor-4950 .elementor-element.elementor-element-e99db78 .ct-fancy-box .item--button a,
html body .elementor-4950 .elementor-element.elementor-element-428090d .ct-fancy-box .item--title,
html body .elementor-4950 .elementor-element.elementor-element-428090d .ct-fancy-box .item--button a,
html body .elementor-4950 .elementor-element.elementor-element-859a2fb .ct-fancy-box .item--title,
html body .elementor-4950 .elementor-element.elementor-element-859a2fb .ct-fancy-box .item--button a,
html body .elementor-4950 .elementor-element.elementor-element-aa7c47c .ct-fancy-box .item--title,
html body .elementor-4950 .elementor-element.elementor-element-aa7c47c .ct-fancy-box .item--button a,
html body .elementor-4950 .elementor-element.elementor-element-b91e3fc .ct-fancy-box .item--title,
html body .elementor-4950 .elementor-element.elementor-element-b91e3fc .ct-fancy-box .item--button a,
html body .elementor-4950 .elementor-element.elementor-element-28c3613 .ct-heading .ct-text-highlight,
html body .elementor-4950 .elementor-element.elementor-element-a28c433 .ct-fancy-box .item--title,
html body .elementor-4950 .elementor-element.elementor-element-72eaa26 .ct-fancy-box .item--title,
html body .elementor-4950 .elementor-element.elementor-element-87d0300 .ct-fancy-box .item--title,
html body .elementor-4950 .elementor-element.elementor-element-eef6633 .ct-fancy-box .item--title,
html body .elementor-4950 .elementor-element.elementor-element-22b10ab .ct-heading .ct-text-highlight,
html body .elementor-4967 .elementor-element.elementor-element-6f795731 .ct-text-editor,
html body .elementor-33 .elementor-element.elementor-element-6a1a17e .ct-text-editor,
html body .elementor-35 .elementor-element.elementor-element-cab87a5 .ct-grid .item--title,
html body .elementor-41 .elementor-element.elementor-element-98c729d .ct-heading .ct-text-highlight {
    color: #158100;
}
html body .scroll-top,
html body .ct-modal .ct-modal-close,
html body #ct_menu-e425ac6.ct-nav-menu1.style2 .ct-main-menu > li > a::before {
    background-image: linear-gradient(to left, #158100, #3aac00);
}
html body .ct-cta1 .item--button a,
html body .ct-contact-form-layout1.style4 .wpcf7-submit {
    background-image: linear-gradient(90deg, #158100 0%, #3aac00 50%, #158100);
}
html body .btn:focus {
    box-shadow: rgba(21, 129, 0, 0.25) 0px 0px 0px 0.2rem;
}
html body .btn-primary,
html body .btn-primary:hover {
    background-color: #3aac00;
    border-color: #3aac00;
}
html body .btn-primary:focus {
    box-shadow: rgba(21, 129, 0, 0.5) 0px 0px 0px 0.2rem;
}
html body .btn-primary:not([disabled]):not(.disabled):active {
    background-color: #3aac00;
    box-shadow: rgba(21, 129, 0, 0.5) 0px 0px 0px 0.2rem;
    border-color: #3aac00;
}
html body .elementor-kit-6 {
    --e-global-color-primary: #3aac00;
}
html body .elementor-4950 .elementor-element.elementor-element-e0ae543 .ct-button-wrapper .btn {
    box-shadow: rgba(21, 129, 0, 0.34) 0px 6px 27px 0px;
}
html body .elementor-4950 .elementor-element.elementor-element-e0ae543 .ct-button-wrapper .btn:not(.btn-ctext),
html body .elementor-4967 .elementor-element.elementor-element-1681a13b .ct-button-wrapper .btn:not(.btn-ctext),
html body .elementor-4967 .elementor-element.elementor-element-3b806242 .ct-button-wrapper .btn:not(.btn-ctext),
html body .elementor-4963 .elementor-element.elementor-element-1e1be6a .ct-button-wrapper .btn:not(.btn-ctext),
html body .elementor-35 .elementor-element.elementor-element-2b93f5f .ct-button-wrapper .btn.btn-ctext:hover::before {
    background-color: #158100 !important;
}
html body .elementor-4967 .elementor-element.elementor-element-2d854dd4,
html body .elementor-4967 .elementor-element.elementor-element-52c67765 {
    --divider-color: #3aac00;
}
html body .elementor-4967 .elementor-element.elementor-element-4eb3ad62 {
    --divider-color: #153f01;
}
html body .ct-fancy-box-layout7 .item--inner:hover,
html body .ct-history #ct_history-8f5f31e0 .item--year,
html body .ct-history #ct_history-8f5f31e1 .item--year,
html body .ct-history #ct_history-8f5f31e4 .item--year,
html body .ct-history #ct_history-8f5f31e5 .item--year,
html body .ct-history #ct_history-8f5f31e6 .item--year,
html body .ct-history #ct_history-8f5f31e7 .item--year {
    background-color: #3aac00;
}
html body #ct_button-e0ae543.ct-button-wrapper .btn,
html body #ct_button-1681a13b.ct-button-wrapper .btn,
html body #ct_button-3b806242.ct-button-wrapper .btn {
    background-image: linear-gradient(90deg, #158100 0%, #3aac00 50%, #158100) !important;
}
html body .elementor-4963 .elementor-element.elementor-element-e425ac6 .ct-nav-menu1 .ct-menu--plus::before,
html body .elementor-4963 .elementor-element.elementor-element-e425ac6 .ct-nav-menu1 .ct-menu--plus::after {
    background-color: #153f01 !important;
}
html body .elementor-4197 .elementor-element.elementor-element-576ca99f .ct-button-wrapper .btn {
    box-shadow: rgba(21, 129, 0, 0.3) 0px 6px 6px 0px;
}
html body .ct-history-carousel1 .ct-slick-carousel[data-arrows="true"] .slick-arrow,
html body .elementor-33 .elementor-element.elementor-element-371695e:not(.elementor-motion-effects-element-type-background) {
    background-color: #f2f7f0;
}
html body .ct-history #ct_history-8f5f31e0 .item--year::before,
html body .ct-history #ct_history-8f5f31e1 .item--year::before,
html body .ct-history #ct_history-8f5f31e4 .item--year::before,
html body .ct-history #ct_history-8f5f31e5 .item--year::before,
html body .ct-history #ct_history-8f5f31e6 .item--year::before,
html body .ct-history #ct_history-8f5f31e7 .item--year::before {
    border-left-color: #3aac00;
}
html body .ct-history #ct_history-8f5f31e0 .item--year span::before,
html body .ct-history #ct_history-8f5f31e1 .item--year span::before,
html body .ct-history #ct_history-8f5f31e4 .item--year span::before,
html body .ct-history #ct_history-8f5f31e5 .item--year span::before,
html body .ct-history #ct_history-8f5f31e6 .item--year span::before,
html body .ct-history #ct_history-8f5f31e7 .item--year span::before {
    border-top-color: #3aac00;
    border-right-color: #3aac00;
}
html body .ct-history #ct_history-8f5f31e0 .item--year span::after,
html body .ct-history #ct_history-8f5f31e1 .item--year span::after,
html body .ct-history #ct_history-8f5f31e4 .item--year span::after,
html body .ct-history #ct_history-8f5f31e5 .item--year span::after,
html body .ct-history #ct_history-8f5f31e6 .item--year span::after,
html body .ct-history #ct_history-8f5f31e7 .item--year span::after {
    border-right-color: #3aac00;
    border-bottom-color: #3aac00;
}
html body .ct-history #ct_history-8f5f31e2 .item--year::before,
html body .ct-history #ct_history-8f5f31e3 .item--year::before {
    border-left-color: #158100;
}
html body .ct-history #ct_history-8f5f31e2 .item--year span::before,
html body .ct-history #ct_history-8f5f31e3 .item--year span::before {
    border-top-color: #158100;
    border-right-color: #158100;
}
html body .ct-history #ct_history-8f5f31e2 .item--year span::after,
html body .ct-history #ct_history-8f5f31e3 .item--year span::after {
    border-right-color: #158100;
    border-bottom-color: #158100;
}
html body #ct_text_editor-6a1a17e .ct-text-editor {
    background-image: linear-gradient(to left, #158100, #158100);
}
html body .ct-service-grid2 .item--featured::before,
html body .ct-service-grid2 .grid-item-inner::before {
    box-shadow: rgba(0, 0, 0, 0.05) 0px 20px 50px;
}
html body .ct-service-grid2 .grid-item-inner::after {
    box-shadow: rgba(0, 0, 0, 0.05) 0px 35px 35px;
}
html body .elementor-35 .elementor-element.elementor-element-73bb54e:not(.elementor-motion-effects-element-type-background) {
    background-color: #f0f7ed;
}
html body .elementor-35 .elementor-element.elementor-element-2b93f5f .ct-button-wrapper .btn {
    border-color: #158100 !important;
}
html body .ct-case-studies1 .slick-dots {
    background-color: rgba(21, 129, 0, 0.3);
}
html body .elementor-41 .elementor-element.elementor-element-f993f7e > .elementor-widget-container,
html body .elementor-41 .elementor-element.elementor-element-4bdc935 > .elementor-widget-container,
html body .elementor-41 .elementor-element.elementor-element-82fcc19 > .elementor-widget-container,
html body .elementor-41 .elementor-element.elementor-element-487d65e > .elementor-widget-container {
    background-color: rgba(242, 249, 238, 0.7);
}
html body .ct-link1.style1 a {
    background-color: #ebf4e6;
}
html body #ct_fancy_box-69050721.ct-fancy-box .item--icon i,
html body #ct_fancy_box-1a8e817e.ct-fancy-box .item--icon i,
html body #ct_fancy_box-2e4c7d25.ct-fancy-box .item--icon i,
html body #ct_fancy_box-59c1e6bb.ct-fancy-box .item--icon i,
html body #ct_fancy_box-6ee9b6a9.ct-fancy-box .item--icon i {
    background-image: linear-gradient(to left, #3aac00, #158100);
}

/* Footer CTA band is primary green, so its "Get a quote" button uses the deep brand green for contrast. */
html body #ct_button-1681a13b.ct-button-wrapper .btn {
    background-image: none !important;
    background-color: var(--brand-deep) !important;
}

/*--------------------------------------------------------------
# Animated ("live") icons. CSS only; disabled for visitors who
# prefer reduced motion.
--------------------------------------------------------------*/
@keyframes zz-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
@keyframes zz-bob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}
@keyframes zz-pulse-ring {
    0% { box-shadow: 0 0 0 0 rgba(var(--primary-color-rgb), 0.45); }
    70% { box-shadow: 0 0 0 14px rgba(var(--primary-color-rgb), 0); }
    100% { box-shadow: 0 0 0 0 rgba(var(--primary-color-rgb), 0); }
}
/* Short ring-ring wiggle, then rest for the remainder of the cycle. */
@keyframes zz-ring {
    0%, 20%, 100% { transform: rotate(0); }
    2%, 6%, 10%, 14% { transform: rotate(-14deg); }
    4%, 8%, 12%, 16% { transform: rotate(14deg); }
}
@keyframes zz-bounce {
    0%, 100% { transform: translateY(0); }
    40% { transform: translateY(-5px); }
    70% { transform: translateY(1px); }
}

@media (prefers-reduced-motion: no-preference) {
    /* Homepage service cards (image icons): float, staggered per column. */
    .ct-fancy-box-layout7 .item--icon img {
        display: inline-block;
        animation: zz-float 3.2s ease-in-out infinite;
        transition: transform 0.3s ease;
    }
    .elementor-column:nth-child(2) .ct-fancy-box-layout7 .item--icon img { animation-delay: -0.8s; }
    .elementor-column:nth-child(3) .ct-fancy-box-layout7 .item--icon img { animation-delay: -1.6s; }
    .elementor-column:nth-child(4) .ct-fancy-box-layout7 .item--icon img { animation-delay: -2.4s; }
    .ct-fancy-box-layout7 .item--inner:hover .item--icon img {
        animation-play-state: paused;
        transform: translateY(-6px) scale(1.08) rotate(-4deg);
    }

    /* Working Steps (01-04) icon circles: pulse ring. */
    .ct-process-grid1 .item--icon {
        animation: zz-pulse-ring 2.4s ease-out infinite;
    }

    /* Info icons in fancy boxes, counters and service-page features: gentle bob. */
    .ct-fancy-box-layout1 .item--icon i,
    .ct-counter-icon i,
    .item--icon.icon-psb i {
        display: inline-block;
        animation: zz-bob 2.8s ease-in-out infinite;
    }

    /* Phone icons: "ringing" wiggle every few seconds. */
    .ct-fancy-box-layout1 .item--icon i.flaticon-call,
    .ct-contact-icon i.fa-phone-alt {
        display: inline-block;
        transform-origin: 50% 50%;
        animation: zz-ring 4s ease-in-out infinite;
    }

    /* Social icons (top bar + footer): bounce on hover. */
    .ct-social-icon3 a:hover i,
    .ct-icon1 a:hover i {
        display: inline-block;
        animation: zz-bounce 0.5s ease;
    }
}
