.elementor-8204 .elementor-element.elementor-element-b1a0001 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-8204 .elementor-element.elementor-element-b1a0001 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-8204 .elementor-element.elementor-element-b1a0001{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-8204 .elementor-element.elementor-element-b1a0001 .elementor-icon-list-text{transition:color 0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0001.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0001.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0001.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0001 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0001 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0002.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0002.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0002.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0002 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0002 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0003.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0003.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0003.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0003 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0003 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0004.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0004.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0004.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0004 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0004 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0005.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0005.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0005.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0005 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0005 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0006.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0006.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0006.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0006 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0006 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0007.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0007.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0007.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0007 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0007 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0008.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0008.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0008.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0008 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0008 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0009.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0009.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0009.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0009 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0009 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0010.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0010.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0010.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0010 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0010 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0011.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0011.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0011.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0011 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0011 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0012.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0012.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0012.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0012 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0012 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0013.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0013.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0013.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0013 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0013 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0014.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0014.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0014.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0014 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0014 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-8204 .elementor-element.elementor-element-c1a0015.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0015.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0015.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0015 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-8204 .elementor-element.elementor-element-c1a0015 .elementor-image-box-img img{transition-duration:0.3s;}@media(max-width:767px){.elementor-8204 .elementor-element.elementor-element-c1a0001 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0002 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0003 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0004 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0005 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0006 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0007 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0008 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0009 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0010 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0011 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0012 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0013 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0014 .elementor-image-box-img{margin-bottom:15px;}.elementor-8204 .elementor-element.elementor-element-c1a0015 .elementor-image-box-img{margin-bottom:15px;}}/* Start custom CSS *//* ---- breadcrumb, one crumb: this page is Modules */
.elementor-element-b1a0001 .elementor-icon-list-items{margin:0 0 6px}
.elementor-element-b1a0001 .elementor-icon-list-item{font-size:14px}
.elementor-element-b1a0001 a{color:#65676B;text-decoration:none}
.elementor-element-b1a0001 a:hover{color:#008FF0}

/* ---- intro line under the H1 */
.elementor-element-b1a0003 .elementor-heading-title{
  color:#65676B;font-size:17px;font-weight:400;line-height:1.5;max-width:70ch;margin-top:8px}

/* ---- the module grid */
/* Elementor ships .elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap{display:flex}
   at (0,3,0). A plain .elementor-element-X > .elementor-widget-wrap is (0,2,0)
   and loses, which is why the first build stacked. This is (0,4,0). Specificity
   rather than !important, so the next person can still override it. */
.elementor .elementor-element-b1a0004 > .elementor-widget-wrap.elementor-element-populated{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
@media (max-width:1024px){.elementor .elementor-element-b1a0004 > .elementor-widget-wrap.elementor-element-populated{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){.elementor .elementor-element-b1a0004 > .elementor-widget-wrap.elementor-element-populated{grid-template-columns:1fr}}

/* ---- the card: photograph as a background, text on a bottom gradient */
.elementor-element-b1a0004 > .elementor-widget-wrap > .elementor-element{
  width:100%;margin:0;position:relative;overflow:hidden;border-radius:14px;
  min-height:330px;display:flex;align-items:flex-end;
  background-color:#3B3B45;background-size:cover;background-position:center;
  transition:transform .25s ease}
.elementor-element-b1a0004 > .elementor-widget-wrap > .elementor-element:hover{transform:translateY(-3px)}
/* 65% at the text line. The minimum for 4.5:1 was 0.55; 0.65 gives 7.03:1 at
   the worst image so the titles read at a glance, and keeps 61% of the
   photograph. Clear above 30%. Do not push the ramp lower to save more of the
   image — see the note at the top of this file, it costs the title its
   contrast. */
.elementor-element-b1a0004 > .elementor-widget-wrap > .elementor-element::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  transition:background .25s ease;
  background:linear-gradient(to bottom,rgba(0,0,0,0) 30%,rgba(0,0,0,.65) 45%,rgba(0,0,0,.65) 100%)}
.elementor-element-b1a0004 .elementor-image-box-img{display:none}
.elementor-element-b1a0004 .elementor-image-box-wrapper{
  position:relative;z-index:1;width:100%;text-align:left}
.elementor-element-b1a0004 .elementor-image-box-content{padding:22px}
.elementor-element-b1a0004 .elementor-image-box-title{
  font-size:19px;font-weight:700;line-height:1.3;margin:0 0 4px}
.elementor-element-b1a0004 .elementor-image-box-title a{color:#FFFFFF;text-decoration:none}
.elementor-element-b1a0004 .elementor-image-box-description{margin:0}
.elementor-element-b1a0004 .aiows-card-count{
  display:block;color:#FFFFFF;font-size:13px;font-weight:500;margin:0 0 14px}
/* the sentence is additive: hidden at rest, never shown on touch, and it
   carries nothing the card needs — the same sentence opens the child archive */
.elementor-element-b1a0004 .aiows-card-sentence{
  display:block;color:#FFFFFF;font-size:13px;line-height:1.45;
  max-height:0;opacity:0;overflow:hidden;margin:0;
  transition:max-height .25s ease,opacity .25s ease,margin .25s ease}
@media (hover:hover) and (pointer:fine){
  .elementor-element-b1a0004 > .elementor-widget-wrap > .elementor-element:hover::before{
    background:rgba(0,0,0,.65)}
  .elementor-element-b1a0004 > .elementor-widget-wrap > .elementor-element:hover .aiows-card-sentence{
    max-height:140px;opacity:1;margin:0 0 12px}
}
.elementor-element-b1a0004 .aiows-card-cta span{
  display:inline-block;background:#0077C8;color:#FDFDFD;font-size:15px;font-weight:700;
  border-radius:8px;padding:10px 18px;text-decoration:none;transition:background .2s ease}
.elementor-element-b1a0004 > .elementor-widget-wrap > .elementor-element:hover .aiows-card-cta span{background:#00609F}
/* the whole card is the link */
.elementor-element-b1a0004 .elementor-image-box-title a::after{
  content:"";position:absolute;inset:0}
/* ---- one photograph per card, ACF first then the computed fallback */
.elementor-element-c1a0001{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-backup-manager.webp)}
.elementor-element-c1a0002{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-smtp-manager.webp)}
.elementor-element-c1a0003{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-cache-manager.webp)}
.elementor-element-c1a0004{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-ssl-manager.webp)}
.elementor-element-c1a0005{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-login-manager.webp)}
.elementor-element-c1a0006{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-redirect-manager.webp)}
.elementor-element-c1a0007{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-htaccess-editor.webp)}
.elementor-element-c1a0008{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-database-cleaner.webp)}
.elementor-element-c1a0009{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-php-limits.webp)}
.elementor-element-c1a0010{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-admin-cleanup.webp)}
.elementor-element-c1a0011{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-replace-manager.webp)}
.elementor-element-c1a0012{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-code-injection.webp)}
.elementor-element-c1a0013{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-popup-manager.webp)}
.elementor-element-c1a0014{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-language-compiler.webp)}
.elementor-element-c1a0015{background-image:url(https://allinonewpsettings.com/blog/wp-content/uploads/2026/09/module-card-favicon-manager.webp)}/* End custom CSS */