.comments-area a,.page-content a{text-decoration:underline}.alignright{float:right;margin-left:1rem}.alignleft{float:left;margin-right:1rem}.aligncenter{clear:both;display:block;margin-inline:auto}.alignwide{margin-inline:-80px}.alignfull{margin-inline:calc(50% - 50vw);max-width:100vw;overflow-x:hidden;width:100vw}.alignfull img{width:100%}.wp-caption{margin-block-end:1.25rem;max-width:100%}.wp-caption.alignleft{margin:5px 20px 20px 0}.wp-caption.alignright{margin:5px 0 20px 20px}.wp-caption img{display:block;margin-inline:auto}.wp-caption-text{margin:0}.gallery-caption{display:block;font-size:.8125rem;line-height:1.5;margin:0;padding:.75rem}.pagination{display:flex;justify-content:space-between;margin:20px auto}.sticky{display:block;position:relative}.bypostauthor{font-size:inherit}.hide{display:none!important}.post-password-form{margin:50px auto;max-width:500px}.post-password-form p{align-items:flex-end;display:flex;width:100%}.post-password-form [type=submit]{margin-inline-start:3px}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#eee;clip:auto!important;clip-path:none;color:#333;display:block;font-size:1rem;height:auto;left:5px;line-height:normal;padding:12px 24px;text-decoration:none;top:5px;width:auto;z-index:100000}.post .entry-title a{text-decoration:none}.post .wp-post-image{max-height:500px;-o-object-fit:cover;object-fit:cover;width:100%}@media(max-width:991px){.post .wp-post-image{max-height:400px}}@media(max-width:575px){.post .wp-post-image{max-height:300px}}#comments .comment-list{font-size:.9em;list-style:none;margin:0;padding:0}#comments .comment,#comments .pingback{position:relative}#comments .comment .comment-body,#comments .pingback .comment-body{border-block-end:1px solid #ccc;display:flex;flex-direction:column;padding-block-end:30px;padding-block-start:30px;padding-inline-end:0;padding-inline-start:60px}#comments .comment .avatar,#comments .pingback .avatar{border-radius:50%;left:0;margin-inline-end:10px;position:absolute}body.rtl #comments .comment .avatar,body.rtl #comments .pingback .avatar,html[dir=rtl] #comments .comment .avatar,html[dir=rtl] #comments .pingback .avatar{left:auto;right:0}#comments .comment-meta{display:flex;justify-content:space-between;margin-block-end:.9rem}#comments .comment-metadata,#comments .reply{font-size:11px;line-height:1}#comments .children{list-style:none;margin:0;padding-inline-start:30px;position:relative}#comments .children li:last-child{padding-block-end:0}#comments ol.comment-list .children:before{content:"↪";display:inline-block;font-size:1em;font-weight:400;left:0;line-height:1;position:absolute;top:45px;width:auto}body.rtl #comments ol.comment-list .children:before,html[dir=rtl] #comments ol.comment-list .children:before{content:"↩";left:auto;right:0}@media(min-width:768px){#comments .comment-author,#comments .comment-metadata{line-height:1}}@media(max-width:767px){#comments .comment .comment-body{padding:30px 0}#comments .children{padding-inline-start:20px}#comments .comment .avatar{float:left;position:inherit}body.rtl #comments .comment .avatar,html[dir=rtl] #comments .comment .avatar{float:right}}.page-header.elementor .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header.elementor .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{margin-inline-end:auto;margin-inline-start:auto;width:100%}@custom-media --hello-screen-xs-and-below (width < 576px);@custom-media --hello-screen-xs-and-above (width >= 576px);@custom-media --hello-screen-xs-only (0 <= width < 576px);@custom-media --hello-screen-sm-and-below (width < 768px);@custom-media --hello-screen-sm-and-above (width >= 768px);@custom-media --hello-screen-sm-only (576px <= width < 768px);@custom-media --hello-screen-md-and-below (width < 992px);@custom-media --hello-screen-md-and-above (width >= 992px);@custom-media --hello-screen-md-only (768px <= width < 992px);@custom-media --hello-screen-xl-and-below (width < 1200px);@custom-media --hello-screen-xl-and-above (width >= 1200px);@custom-media --hello-screen-xl-only (992px <= width < 1200px);@media(max-width:575px){.page-header.elementor .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header.elementor .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{padding-inline-end:10px;padding-inline-start:10px}}@media(min-width:576px){.page-header.elementor .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header.elementor .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:500px}.site-footer.footer-full-width .footer-inner,.site-header.header-full-width .header-inner{max-width:100%}}@media(min-width:768px){.page-header.elementor .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header.elementor .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:600px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}@media(min-width:992px){.page-header.elementor .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header.elementor .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:800px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}@media(min-width:1200px){.page-header.elementor .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header.elementor .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:1140px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}.site-header+.elementor{min-height:calc(100vh - 320px)}


/**
 * title:      AHS-SS
 * created:    08/04/2026
 * author:     Development Team <info@optiva.co.uk>
 * copyright:  Optiva Ltd

 * ========================================================================== */

.page-header { display: none!important; }
.page-header.elementor { display: none!important; }

body { font-family: 'Open Sans', sans-serif; font-weight: 400; overflow-x: hidden; scroll-behavior: smooth; position: relative; }
.elementor-widget-text-editor, .elementor-widget-theme-post-content { overflow-wrap: break-word; } /* long URLs/emails wrap instead of widening the page on mobile */

h1.elementor-heading-title, .elementor-widget-text-editor h1, .elementor-widget-theme-post-content h1 { color: #2d2d2d; font-size: 50px; line-height: 58px; font-weight: 300; }
h2.elementor-heading-title, .elementor-widget-text-editor h2, .elementor-widget-theme-post-content h2 { color: #2d2d2d; font-size: 50px; line-height: 58px; font-weight: 300; }
h3.elementor-heading-title, .elementor-widget-text-editor h3, .elementor-widget-theme-post-content h3 { color: #2d2d2d; font-size: 40px; line-height: 48px; font-weight: 300; }
h4.elementor-heading-title, .elementor-widget-text-editor h4, .elementor-widget-theme-post-content h4 { color: #2d2d2d; font-size: 30px; line-height: 38px; font-weight: 300; }
h5.elementor-heading-title, .elementor-widget-text-editor h5, .elementor-widget-theme-post-content h5 { color: #2d2d2d; font-size: 24px; line-height: 32px; font-weight: 300; }
h6.elementor-heading-title, .elementor-widget-text-editor h6, .elementor-widget-theme-post-content h6 { color: #2d2d2d; font-size: 18px; line-height: 26px; font-weight: 300; }
p.elementor-heading-title { color: #666666; font-size: 18px; line-height: 26px; font-weight: 300; }
p { color: #666666; font-size: 18px; line-height: 26px; font-weight: 300; }
li { color: #666666; font-size: 18px; line-height: 26px; font-weight: 300; }

.h1.elementor-widget-heading .elementor-heading-title { font-size: 50px; line-height: 58px; font-weight: 300; }
.h2.elementor-widget-heading .elementor-heading-title { font-size: 50px; line-height: 58px; font-weight: 300; }
.h3.elementor-widget-heading .elementor-heading-title { font-size: 40px; line-height: 48px; font-weight: 300; }
.h4.elementor-widget-heading .elementor-heading-title { font-size: 30px; line-height: 38px; font-weight: 300; }
.h5.elementor-widget-heading .elementor-heading-title { font-size: 24px; line-height: 32px; font-weight: 300; }
.h6.elementor-widget-heading .elementor-heading-title { font-size: 18px; line-height: 26px; font-weight: 300; }


.container { max-width: 1220px; }

.no-pad-below + * { padding-top: 0px!important; }

.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

.uppercase { text-transform: uppercase; }

a { color: #333333; text-decoration: none; }
a:link { text-decoration: none; }
a:hover { color: #00a651; text-decoration: none; }
a:active { text-decoration: none; }
a:visited { text-decoration: none; }

.elementor-button.elementor-button-link { font-size: 18px; line-height: 20px; font-weight: 400!important; padding: 13px 24px; color: #333333; border: 1px #333333 solid; border-radius: 10px; filter: drop-shadow(0px); box-shadow: none; transition: 0.2s; transition-timing-function: ease-in; }
.elementor-button.elementor-button-link:hover { transition: 0.2s; transition-timing-function: ease-in; }
.elementor-button.elementor-button-link:focus { transition: 0.2s; transition-timing-function: ease-in; }

.btn.large { font-size: 21px; line-height: 23px; padding: 10px 45px; }

.btn-blue { background: #01a1dd; border-color: #01a1dd; color: #ffffff; }
.btn-blue:hover { background: #0a91c3!important; border-color: #0a91c3!important; color: #ffffff!important; }
.btn-blue:focus { background: #0a91c3; border-color: #0a91c3; color: #ffffff; }
.btn-blue:active { background: #0a91c3!important; border-color: #0a91c3!important; color: #ffffff!important; }

.btn-green { background: #00a651; border-color: #00a651; color: #ffffff; }
.btn-green:hover { background: #04964b!important; border-color: #04964b!important; color: #ffffff!important; }
.btn-green:focus { background: #04964b; border-color: #04964b; color: #ffffff; }
.btn-green:active { background: #04964b!important; border-color: #04964b!important; color: #ffffff!important; }

.btn-blue-keyline { background: none; border-color: #01a1dd; color: #ffffff; }
.btn-blue-keyline:hover { background: #01a1dd!important; border-color: #01a1dd!important; color: #ffffff!important; }
.btn-blue-keyline:focus { background: #01a1dd; border-color: #0a91c3; color: #ffffff; }
.btn-blue-keyline:active { background: #01a1dd!important; border-color: #01a1dd!important; color: #ffffff!important; }
.btn-blue-keyline.grey { color: #333333; }
.btn-blue-keyline.grey:focus { color: #ffffff; }

.btn-white-keyline { background: none; border-color: #ffffff; color: #ffffff; }
.btn-white-keyline:hover { background: #ffffff!important; border-color: #ffffff!important; color: #00a651!important; }
.btn-white-keyline:focus { background: #ffffff; border-color: #ffffff; color: #ffffff; }
.btn-white-keyline:active { background: #ffffff!important; border-color: #ffffff!important; color: #00a651!important; }
.btn-white-keyline.grey { color: #333333; }
.btn-white-keyline.grey:focus { color: #ffffff; }

/**
 * Dark Theme
 * ========================================================================== */

[dark-mode] h1 { color: #ffffff; }
[dark-mode] h2 { color: #ffffff; }
[dark-mode] h3 { color: #ffffff; }
[dark-mode] h4 { color: #ffffff; }
[dark-mode] h5 { color: #ffffff; }
[dark-mode] h6 { color: #ffffff; }
[dark-mode] p { color: #cccccc; }
[dark-mode] li { color: #cccccc; }

/* Elementor's global "Primary" heading colour beats "[dark-mode] h4" etc., so these win over it */
[dark-mode] h1.elementor-heading-title,
[dark-mode] h2.elementor-heading-title,
[dark-mode] h3.elementor-heading-title,
[dark-mode] h4.elementor-heading-title,
[dark-mode] h5.elementor-heading-title,
[dark-mode] h6.elementor-heading-title { color: #ffffff; }

/**
 * Main Header/Navigation
 * ========================================================================== */

header.elementor .header.elementor-element { background: #ffffff; height: 127px; padding: 18px 15px 20px 15px; position: fixed; top: 0px; width: 100%; margin: auto; z-index: 5000; transition: 0.3s; transition-timing-function: ease-in; }
    header.elementor .header.elementor-element .e-con-inner { padding: 0px; }
    header.elementor .header.elementor-element .col { font-size: 0px; }
    header.elementor .header.elementor-element img { height: 89px; width: auto; max-width: unset; margin-top: 0px; float: left; transition: 0.3s; transition-timing-function: ease-in; }
    header.elementor .header.elementor-element .nav { margin-top: -5px; margin-bottom: 0px; top: auto; list-style: none; float: right; position: relative; transition: 0.3s; transition-timing-function: ease-in; }
        header.elementor .header.elementor-element .nav .menu-item { font-size: 22px; font-weight: 400; display: inline-block; margin-top: 0px; margin-right: 60px; vertical-align: top; position: relative; }
        header.elementor .header.elementor-element .nav .menu-item a { color: #333333; padding: 15px 0px; transition: 0.3s; transition-timing-function: ease-in; }
        header.elementor .header.elementor-element .nav .menu-item a:hover { color: #00a651; transition: 0.3s; transition-timing-function: ease-in; }
        header.elementor .header.elementor-element .nav .menu-item.dropdown:hover a { color: #00a651; background: #fff!important; }
        header.elementor .header.elementor-element .nav .btn { height: 48px; }

    header.elementor .header.elementor-element .nav ul { margin: 0px; }

    header.elementor .header.elementor-element .nav-elements { display: none; margin-top: 10px; margin-left: 0px; float: right; transition: 0.3s; transition-timing-function: ease-in; }
        header.elementor .header.elementor-element .nav-elements .nav-icon { color: #333333; border: 1px #333333 solid; border-radius: 50%; height: 45px; width: 45px; font-size: 23px; padding-top: 5px; margin-left: 12px; text-align: center; float: right; transition: 0.3s; transition-timing-function: ease-in; }
        header.elementor .header.elementor-element .nav-elements .nav-icon:hover { background: #01a1dd; border-color: #01a1dd; color: #ffffff; cursor: pointer; transition: 0.3s; transition-timing-function: ease-in; }
        /* Elementor Icon widget -> the old Font Awesome 6 regular "bars" glyph (23px, centred, takes the circle's text colour) */
        header.elementor .header.elementor-element .nav-elements .nav-icon { position: relative; }
        header.elementor .header.elementor-element .nav-elements .nav-icon .elementor-icon-wrapper { line-height: 0; }
        header.elementor .header.elementor-element .nav-elements .nav-icon .elementor-icon { position: absolute; top: 11px; left: 50%; transform: translateX(-50%); width: 20.125px; height: 23px; font-size: 0; color: inherit; background-color: currentColor; transition: inherit;
            -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 88C0 74.7 10.7 64 24 64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 112 0 101.3 0 88zM0 248c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM448 408c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H424c13.3 0 24 10.7 24 24z'/%3E%3C/svg%3E") center / contain no-repeat;
                    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 88C0 74.7 10.7 64 24 64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 112 0 101.3 0 88zM0 248c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM448 408c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H424c13.3 0 24 10.7 24 24z'/%3E%3C/svg%3E") center / contain no-repeat; }
        header.elementor .header.elementor-element .nav-elements .nav-icon .elementor-icon svg { display: none; }
        header.elementor .header.elementor-element .nav-elements .btn { margin-left: 15px; }


header.elementor .header.scrolled { background: #ffffff; height: 105px; padding: 13px 15px 17px 15px; transition: 0.3s; transition-timing-function: ease-in; }
    header.elementor .header.scrolled img { height: 72px; margin-top: 2px; transition: 0.3s; transition-timing-function: ease-in;  }
    header.elementor .header.scrolled .nav { margin-top: -5px; transition: 0.3s; transition-timing-function: ease-in; }
    header.elementor .header.scrolled .nav-elements { transition: 0.3s; transition-timing-function: ease-in; }

    header.elementor .header.elementor-element .navigation-dropdown.scrolled { top: 105px; transition: 0.3s; transition-timing-function: ease; transition-timing-function: ease-in; }


header.elementor .red-line { background: #c4161c; height: 3px; width: 100%; padding: 0px;
    bottom: 0px; left: 0px; right: 0px;
 position: absolute;
  clip-path: inset(0 0 0 100%); /* start hidden on the right */
  animation: wipe-right-to-left 1.5s forwards ease-in-out;
}

@keyframes wipe-right-to-left {
  to {
    clip-path: inset(0 0 0 0); /* fully revealed */
  }
}

header.elementor + * { margin-top: 127px; }

.overlay-bg { transition: 0.3s; transition-timing-function: ease; }
    .overlay-bg.active { background-color: #000; opacity: 0.5; height: 100%; width: 100%; position: absolute; z-index: 1000; transition: 0.3s; transition-timing-function: ease; }



/* === Menu Modal =============================== */

.menu-modal.elementor-element { background: #ffffff; opacity: 0; visibility: hidden; position: fixed; width: 100%; height: 100%; min-height: 100vh; padding: 0px 0px 0px 0px; overflow: auto; top: 0px; transition: 0.4s; transition-timing-function: ease-in; z-index: 0; }
.menu-modal.elementor-element.active { z-index: 9998;  opacity: 1; visibility: visible; top: 0px; transition: 0.4s; transition-timing-function: ease-in; }
/* Phones: pin the menu to all four edges instead of 100% / 100vh, so it still fills the screen when the browser's address bar
   slides away (100vh is measured with the bar showing, leaving a strip of page visible at the bottom), and stop the page
   behind from scrolling while the menu is open (that scrolling is what makes the bar slide away) */
.menu-modal.elementor-element { right: 0; bottom: 0; left: 0; height: auto; min-height: 0; overscroll-behavior: contain; }
html:has(.menu-modal.elementor-element.active), html:has(.menu-modal.elementor-element.active) body { overflow: hidden; }

    .menu-modal.elementor-element .header-content { padding: 15px 27px 17px 27px; }
    /* Elementor: no default gaps/padding, and keep the logo + close button on one row (Elementor makes .buttons 100% wide on mobile) */
    .menu-modal.elementor-element { gap: 0; }
    .menu-modal.elementor-element .header-content > .e-con-inner { flex-wrap: nowrap; align-items: flex-start; padding: 0; }
    .menu-modal.elementor-element .header-content .buttons { width: auto; padding: 0; }
    .menu-modal.elementor-element .link-content > .e-con-inner { padding: 0; }
    .menu-modal.elementor-element.scrolled .header-content { padding-top: 18px; padding-bottom: 18px; }
        .menu-modal.elementor-element .header-content .logo img { height: 62px; width: auto; max-width: unset; margin-top: 3px; float: left; transition: 0.2s; transition-timing-function: ease-in; }

        .menu-modal.elementor-element .buttons { margin-top: 0px; }
            .menu-modal.elementor-element .buttons .icon-circle { width: 45px; height: 45px; border: 1px #333333 solid; border-radius: 50%; margin-top: 13px; margin-left: 15px; text-align: center; float: right; overflow: hidden; position: relative; transition: 0.2s; transition-timing-function: ease-in; }
            .menu-modal.elementor-element .buttons .icon-circle:hover { background: #01a1dd; border-color: #01a1dd; }
            .menu-modal.elementor-element .buttons .icon-circle i { color: #333333; font-size: 26px; top: 8px; left: 0px; right: 0px; position: absolute; transition: 0.2s; transition-timing-function: ease-in; }
            .menu-modal.elementor-element .buttons .icon-circle:hover i { color: #ffffff; transition: 0.2s; transition-timing-function: ease-in; }
            /* Elementor Icon widget -> the old Font Awesome 6 regular "xmark" glyph (26px, centred) */
            .menu-modal.elementor-element .buttons .icon-circle .elementor-icon-wrapper { line-height: 0; }
            .menu-modal.elementor-element .buttons .icon-circle .elementor-icon { position: absolute; top: 9px; left: 50%; transform: translateX(-50%); width: 19.5px; height: 26px; font-size: 0; color: #333333; background-color: currentColor; transition: 0.2s; transition-timing-function: ease-in;
                -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M345 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-119 119L73 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l119 119L39 375c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l119-119L311 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-119-119L345 137z'/%3E%3C/svg%3E") center / contain no-repeat;
                        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M345 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-119 119L73 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l119 119L39 375c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l119-119L311 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-119-119L345 137z'/%3E%3C/svg%3E") center / contain no-repeat; }
            .menu-modal.elementor-element .buttons .icon-circle:hover .elementor-icon { color: #ffffff; }
            .menu-modal.elementor-element .buttons .icon-circle .elementor-icon svg { display: none; }


    .menu-modal.elementor-element .link-content { padding: 0px 30px 20px 30px; }
    .menu-modal.elementor-element .link-content .accordion { background: none; border-radius: 0px; margin-bottom: 25px; }
        .menu-modal.elementor-element .link-content .accordion .accordion-item { background: none; border: 0px; border-bottom: 1px #7f7f7f solid; border-radius: 0px; }
        .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-header.elementor { background: none; font-size: 22px; line-height: 26px; }
        .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-header.elementor .accordion-button { background: none; color: #333333; font-size: 19px; line-height: 24px; font-weight: 600; box-shadow: none; padding: 15px 0px; }
        .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-header.elementor .accordion-button:hover { color: #01a1dd; }
        .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-header.elementor .accordion-button::after { background: none!important; font-family: "Font Awesome 5 Pro"; content: "\2b"; }
        .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-header.elementor .accordion-button:not(.collapsed)::after { background: none!important; font-family: "Font Awesome 5 Pro"; content: "\f068"; }
        .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-header.elementor .accordion-button.link::after { display: none!important; }
        .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-body { padding: 0px 0px 25px 0px; }
            .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-body ul { list-style: none; padding: 0px; margin: 0px; }
            .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-body ul li { font-size: 17px; line-height: 23px; padding: 5px 0px; font-weight: 300; }
            .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-body ul li a { color: #333333;}
            .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-body ul li a:hover { color: #01a1dd; }
            .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-body ul li.title { font-size: 18px; line-height: 24px; padding-top: 15px!important; margin-top: 15px; border-top: 1px #cccccc solid; }
            .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-body ul li.title a { color: #01a1dd; }
            .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-body ul li.title:first-child { border: 0px; padding-top: 5px!important; margin-top: 0px!important; }
            .menu-modal.elementor-element .link-content .accordion .accordion-item .accordion-body ul li:first-child { padding-top: 0px; }

        .menu-modal.elementor-element .link-content .btn { width: 100%; max-width: 400px; font-size: 18px; line-height: 19px; padding: 12px 18px; }

        .menu-modal.elementor-element .link-content .social-icons { margin: 38px 0px 0px 0px; }
            .menu-modal.elementor-element .link-content .social-icons li a { border-color: #ffffff; }
            .menu-modal.elementor-element .link-content .social-icons li a i { color: #ffffff; }
            .menu-modal.elementor-element .link-content .social-icons li a:hover { background: #ffffff; border-color: #ffffff; }
            .menu-modal.elementor-element .link-content .social-icons li a:hover i { color: #333333; }

        /* Elementor Nav Menu widget + contact details -> the old menu's link list */
        .menu-modal.elementor-element .link-content > .e-con-inner { gap: 0; }
        .menu-modal.elementor-element .link-content .accordion { padding: 0; }
            .menu-modal.elementor-element .link-content .elementor-widget-nav-menu,
            .menu-modal.elementor-element .link-content .elementor-widget-nav-menu .elementor-nav-menu--main { width: 100%; }
            .menu-modal.elementor-element .link-content .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-nav-menu > li { border-bottom: 1px #7f7f7f solid; }
            .menu-modal.elementor-element .link-content .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item { font-family: 'Open Sans', sans-serif; font-size: 19px; line-height: 24px; font-weight: 600; color: #333333; padding: 15px 0px; }
            .menu-modal.elementor-element .link-content .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
            .menu-modal.elementor-element .link-content .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus,
            .menu-modal.elementor-element .link-content .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active { color: #01a1dd; }
        .menu-modal.elementor-element .link-content .bottom-text { padding: 0; gap: 8px; }
            .menu-modal.elementor-element .link-content .bottom-text .elementor-heading-title { color: #2d2d2d; font-size: 19px; line-height: 26px; font-weight: 300; margin: 0; }
            .menu-modal.elementor-element .link-content .bottom-text .elementor-heading-title a { color: #333333; }
            .menu-modal.elementor-element .link-content .bottom-text .elementor-heading-title a:hover { color: #00a651; }


/**
 * Hero Panel
 * ========================================================================== */

.elementor-element.hero-panel { background-color: #2b3b45; background-size: cover; background-position: bottom center; background-repeat: no-repeat; mask: url('https://www.ahs-ss.uk.com/wp-content/uploads/2026/10/hero-panel-mask.svg') bottom center no-repeat; -webkit-mask: url('https://www.ahs-ss.uk.com/wp-content/uploads/2026/10/hero-panel-mask.svg') bottom center no-repeat; mask-size: 3000px; -webkit-mask-size: 3000px; position: relative; }
    .elementor-element.hero-panel .container { z-index: 1; position: relative; }
    .elementor-element.hero-panel .content h1 { color: #ffffff; }
    .elementor-element.hero-panel .content h1.h3.elementor-widget-heading + h5 { margin-top: 18px; }
    .elementor-element.hero-panel .content h1 + h5 { margin-top: 30px; }
    .elementor-element.hero-panel .content h1 + p { margin-top: 20px; }
    .elementor-element.hero-panel .content .buttons { margin-top: 35px; }
    .elementor-element.hero-panel .content .buttons .btn + .btn { margin-left: 20px; }
    .elementor-element.hero-panel .content p + .buttons { margin-top: 28px; }
    .elementor-element.hero-panel .content .icon { color: #ffffff; font-size: 66px; margin-bottom: 15px; }


/**
 * Content Panel
 * ========================================================================== */

.elementor-element.content-panel { position: relative; overflow: hidden; overflow: clip; } /* clip: same cut-off, but anchor links (#ahu-surveys) can't scroll the panel's insides out of place */
    .elementor-element.content-panel .container.boxes { max-width: 1246px; }
    .elementor-element.content-panel .container.boxes.info { max-width: 1226px; }
    .elementor-element.content-panel .text-content.contained { max-width: 980px; margin: auto; }

    .container.boxes.box-mb .col { margin-bottom: 40px; }
    .container.boxes.box-mb .col:nth-child(n+4) { margin-bottom: 0px; }

    .elementor-element.content-panel .side-square-img { width: 100%; height: 100%; max-width: 420px; border-radius: 10px; overflow: hidden; float: right; position: relative; padding: 0; }
    .elementor-element.content-panel .side-square-img > .elementor-widget-image { position: static; }
    .elementor-element.content-panel .side-square-img img { height: 105%; width: auto; max-width: none; top: 50%; left: 50%; transform: translate(-50%, -50%); position: absolute; }


    .elementor-element.content-panel .accordion.sectors { max-width: 1000px; margin: auto; position: relative; z-index: 1; }
        .elementor-element.content-panel .accordion.sectors .accordion-button { background: none!important; padding: 25px; border: 0px!important; box-shadow: none!important; display: flex; align-items: start; position: relative; width: 100%; cursor: pointer; flex-wrap: nowrap; }
            .elementor-element.content-panel .accordion.sectors .accordion-button .icon-holder { text-align: center; margin-right: 25px; flex: 0 0 auto; width: auto; }
                .elementor-element.content-panel .accordion.sectors .accordion-button .icon-holder .icon { width: 68px; height: 60px; font-size: 60px; color: #01a1dd; margin-top: 6px; }
                .elementor-element.content-panel .accordion.sectors .accordion-button .icon-holder .icon-img img { width: auto; height: 53px; margin-top: 6px; }
            .elementor-element.content-panel .accordion.sectors .accordion-button .main-text { flex: 1 1 auto; width: auto; min-width: 0; }
                .elementor-element.content-panel .accordion.sectors .accordion-button .main-text h4 { margin-bottom: 8px; }
                .elementor-element.content-panel .accordion.sectors .accordion-button .main-text h5 { margin-bottom: 8px; }

                /* Font Awesome icons (Sectors): Elementor's Icon widget is inline SVG coloured/sized by the kit,
                   so make it follow the .icon colour and font-size above (and the green even-item colour) */
                .elementor-element.content-panel .accordion.sectors .accordion-button .icon-holder .icon .elementor-icon-wrapper { line-height: 0; }
                .elementor-element.content-panel .accordion.sectors .accordion-button .icon-holder .icon .elementor-icon { display: block; font-size: inherit; color: inherit; }
                .elementor-element.content-panel .accordion.sectors .accordion-button .icon-holder .icon svg { width: 1.2em; height: 1.2em; fill: currentColor; }
                .elementor-element.content-panel .accordion.sectors .accordion-button .main-text p { font-size: 16px; line-height: 22px; margin: 0px; }

            /* Collapsed items are hidden (was Bootstrap's .collapse), but stay open in the Elementor editor */
            .elementor-element.content-panel .accordion.sectors .accordion-collapse:not(.show) { display: none; }
            .elementor-editor-active .elementor-element.content-panel .accordion.sectors .accordion-collapse { display: flex !important; }

            .elementor-element.content-panel .accordion.sectors .accordion-item:nth-child(even) .icon { color: #00a651; }

            .elementor-element.content-panel .accordion.sectors .accordion-item { border: 1px #999999 solid; border-radius: 10px; margin-bottom: 40px; overflow: hidden; }
            .elementor-element.content-panel .accordion.sectors .accordion-item { scroll-margin-top: 125px; } /* links like /services/#ahu-refurbishment stop 20px below the fixed (scrolled) header */
                .elementor-element.content-panel .accordion.sectors .accordion-item .accordion-button:focus { z-index: 3; border-color: unset!important; outline: 0; box-shadow: none!important; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .accordion-collapse { border: 0px!important; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .accordion-header.elementor { border: 0px!important; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .accordion-body { border: 0px!important; padding: 0px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .col { position: relative; }
                .elementor-element.content-panel .accordion.sectors .accordion-item:last-child { margin-bottom: 0px; }

            .elementor-element.content-panel .accordion.sectors .accordion-item .info-section { padding: 25px 25px 25px 25px; position: relative; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .info-section h5 { color: #01a1dd; margin-bottom: 5px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .info-section p { font-size: 16px; line-height: 22px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .info-section .hero-text { display: none; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .info-section ul { list-style: none; padding: 0px; margin: 0px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .info-section ul li { font-size: 16px; line-height: 22px; padding: 9px 0px; border-bottom: 1px #e3e3e3 solid; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .info-section ul li:last-child { border-bottom: 0px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .info-section .btn { font-size: 15px; line-height: 17px; padding: 13px 20px; margin-top: 20px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .info-section .col.left { padding-left: 93px; padding-right: 20px; }

            .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section { padding: 25px 20px 45px 105px; position: relative; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .background { height: 240px; width: 100%; background-size: cover; margin-top: 0px; background-repeat: no-repeat; background-position: 50% center; transition: 0.3s; transition-timing-function: ease; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section h5 { color: #01a1dd; margin-bottom: 10px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section p { font-size: 18px; line-height: 24px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section ul { list-style: none; padding: 0px; margin: 0px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section ul li { font-size: 16px; line-height: 22px; padding: 9px 0px; border-bottom: 1px #e3e3e3 solid; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section ul li:last-child { border-bottom: 0px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .col.left { padding-right: 40px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .swiper-slide { padding-left: 25px; padding-right: 25px; overflow: hidden; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .swiper-pagination { text-align: left; bottom: 50px; padding-left: 30px; z-index: 10; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .gallery-arrow { font-size: 38px; top: 25px; z-index: 10; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .gallery-arrow.prev { left: auto; right: 82px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .gallery-arrow.next { right: 32px; left: auto; }

                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .col.right { padding-left: 40px; padding-right: 12px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .side-square { width: 100%; height: 100%; background-repeat: no-repeat; background-position: 50% center; background-size: cover !important; border-radius: 10px; top: 0; left: 12px; position: absolute; transition: 0.2s; transition-timing-function: ease-in;  }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section a { display: block; border-bottom: 1px #cccccc solid; padding-bottom: 30px; margin-bottom: 30px; transition: 0.2s; transition-timing-function: ease-in;  }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section a.cs-feature { display: flex; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section a:last-child { padding-bottom: 0px; margin-bottom: 0px; border: 0px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section p { margin: 0 0 16px 0; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .cs-feature h5 { color: #2d2d2d; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .cs-feature h6 { color: #01a1dd; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .cs-feature .cs-label h6 { color: #00a651; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .cs-feature:hover h5 { color: #01a1dd; }


            .elementor-element.content-panel .accordion.sectors .accordion-item .cta-section { background: #00a651; text-align: center; padding: 25px; position: relative; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cta-section h5 { color: #ffffff; margin-bottom: 8px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cta-section p { color: #ffffff; margin: 0px; }
                .elementor-element.content-panel .accordion.sectors .accordion-item .cta-section .btn { font-size: 16px; line-height: 18px; }

                /* Chevron drawn with borders (Font Awesome 6 Pro isn't loaded on WordPress) */
                .elementor-element.content-panel .accordion.sectors .accordion-button::after { content: ""; width: 20px; height: 20px; border-right: 2px solid #01a1dd; border-bottom: 2px solid #01a1dd; top: 22px; right: 34px; transform: rotate(45deg); transition: none; position: absolute; }
                .elementor-element.content-panel .accordion.sectors .accordion-button:not(.collapsed)::after { border-color: #00a651; top: 34px; transform: rotate(-135deg); }

            .elementor-element.content-panel .accordion.sectors .accordion-item .side-circle { width: 400px; height: 400px; background-size: cover!important; border-radius: 50%; position: absolute; }
            .elementor-element.content-panel .accordion.sectors .accordion-item .side-circle.left { left: -100px; }
            .elementor-element.content-panel .accordion.sectors .accordion-item .side-circle.right { right: -100px; }

            .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .side-circle { width: 440px; height: 440px; top: 0px; }

    .elementor-element.content-panel .accordion.careers { max-width: 1000px; margin: auto; }
        .elementor-element.content-panel .accordion.careers .accordion-button { padding: 25px 30px; }
        .elementor-element.content-panel .accordion.careers .accordion-item .info-section { padding: 0px 20px 25px 20px; }
        .elementor-element.content-panel .accordion.careers .accordion-button .main-text p { margin: 0px 0px 10px 0px; }
        .elementor-element.content-panel .accordion.careers .accordion-button .main-text h6 { color: #01a1dd; margin: 0px; }
        .elementor-element.content-panel .accordion.careers .accordion-button:not(.collapsed) h6 { display: none; }
        .elementor-element.content-panel .accordion.careers .accordion-item .info-section p + h5 { margin-top: 20px; }
        .elementor-element.content-panel .accordion.careers .accordion-item .info-section h5 { margin-bottom: 10px; }
        .elementor-element.content-panel .accordion.careers .accordion-item .info-section ul { margin-bottom: 25px; }
        .elementor-element.content-panel .accordion.careers .accordion-item .info-section p + h6 { margin-top: 25px; }
        .elementor-element.content-panel .accordion.careers .accordion-item .info-section h6 + h6 { margin-top: 18px; }
        .elementor-element.content-panel .accordion.careers .accordion-item .info-section h6 + ul li:first-child { padding-top: 4px; }
        .elementor-element.content-panel .accordion.careers .accordion-item .cta-section h5 { margin-bottom: 0px; }
        .elementor-element.content-panel .accordion.careers .accordion-item .cta-section h5 a { color: #ffffff; }
        .elementor-element.content-panel .accordion.careers .accordion-item .cta-section h5 a:hover { color: #333333; }
        /* Careers job descriptions are in a Text Editor: match Bootstrap's heading/paragraph margins
           (kept low-specificity so the "p + h5", "p + h6" and "h6 + h6" rules above still win) */
        .accordion.careers .info-section h5 { margin-top: 0; }
        .accordion.careers .info-section p { margin-bottom: 16px; }
        .accordion.careers .info-section h6 { margin-top: 0; margin-bottom: 8px; }

    .elementor-element.content-panel .accordion.sectors.services .accordion-item { background: #2a3b45; }
        .elementor-element.content-panel .accordion.sectors.services .accordion-button { padding: 32px 30px 32px 25px; }
        .elementor-element.content-panel .accordion.sectors.services .accordion-button .icon-holder { min-width: 57px; margin-left: 8px; margin-right: 30px; }
        .elementor-element.content-panel .accordion.sectors.services .accordion-button .main-text p { display: block; }
        .elementor-element.content-panel .accordion.sectors.services .accordion-item .info-section { padding-top: 10px; }
            .elementor-element.content-panel .accordion.sectors.services .accordion-item .info-section ul li { border-bottom: 1px #6a6a6a solid; }
        .elementor-element.content-panel .accordion.sectors.services .accordion-item .cs-section .cs-feature h5 { color: #01a1dd; }



    .elementor-element.content-panel .logos-list { max-width: 600px; margin: auto; position: relative; }
    .elementor-element.content-panel .logos-list .logo-item { min-height: 160px; display: inline-block; position: relative; }
    .elementor-element.content-panel .logos-list.grey .logo-item img { filter: grayscale(100%); }
    .elementor-element.content-panel .logos-list .logo-item img { width: auto; max-width: 80%; max-height: 127px; top: 50%; transform: translateY(-50%); left: 0px; right: 0px; margin: auto; position: absolute; }
    /* Elementor wraps the image in a 0px-high positioned widget, so centre the logo on the .logo-item instead */
    .elementor-element.content-panel .logos-list .logo-item > .elementor-widget-image { position: static; }

    .elementor-element.content-panel ul.ticks { list-style: none; padding: 0; margin: 0; }
        .elementor-element.content-panel ul.ticks li { position: relative; padding-left: 45px; margin-bottom: 20px; color: #cfd8dc; }
        .elementor-element.content-panel ul.ticks li::before { content: ""; position: absolute; left: 0; top: -3px; width: 32px; height: 32px; background: url('https://www.ahs-ss.uk.com/wp-content/uploads/2026/10/tick-icon.png') no-repeat center; background-size: contain; }
        .elementor-element.content-panel ul.ticks li:last-child { margin-bottom: 0px; }

    .elementor-element.content-panel .logo-features .swiper-slide { min-height: 100px; }
        .elementor-element.content-panel .logo-features.grey .swiper-slide img { filter: grayscale(100%); }
        .elementor-element.content-panel .logo-features .swiper-slide img { max-width: 130px; max-height: 70px; top: 50%; transform: translateY(-50%); left: 0px; right: 0px; margin: auto; position: absolute; }

    .elementor-element.info-box { background: none; padding: 22px; width: 100%; height: auto; align-self: stretch; margin: 0 auto; border: 1px #999999 solid; border-radius: 10px; position: relative; transition: 0.2s; transition-timing-function: ease-in; }
        .elementor-element.info-box .number-circle { width: 58px; height: 58px; font-size: 34px; font-weight: 500; color: #00a651; border: 2px #00a651 solid; border-radius: 50%; text-align: center; margin-bottom: 13px; position: relative; }
            .elementor-element.info-box .number-circle span { width: 100%; height: 100%; top: 50%; transform: translateY(-50%); left: 0px; right: 0px; margin: auto; position: absolute; }
        .elementor-element.info-box h5 { font-size: 22px; line-height: 28px; margin-bottom: 12px; }
        .elementor-element.info-box p { font-size: 15px; line-height: 21px; margin: 0px; }
        .elementor-element.info-box.hover:hover { background: #01a1dd; border-color: #01a1dd; }
        .elementor-element.info-box.hover:hover .number-circle { display: none; }
        .elementor-element.info-box.hover:hover h5 { color: #ffffff; }
        .elementor-element.info-box.hover:hover p { color: #ffffff; font-size: 17px; line-height: 23px; }

        .boxes .elementor-element.info-box:nth-child(even) .number-circle { color: #01a1dd; border-color: #01a1dd; }


    .elementor-element.feature-box { background: #2a3b45; padding: 22px; width: 90%; height: 100%; margin: auto; border: 1px #999999 solid; border-radius: 10px; position: relative; transition: 0.2s; transition-timing-function: ease-in; }
        .elementor-element.feature-box .icon { text-align: left; }
        .elementor-element.feature-box .icon img { width: auto; display: inline-block; margin-left: 0; margin-right: auto; }
        .elementor-element.feature-box h5 { color: #ffffff; font-size: 22px; line-height: 28px; margin-bottom: 52px; }
        .elementor-element.feature-box p { color: #ffffff; font-size: 16px; line-height: 22px; margin-bottom: 42px; }
        .elementor-element.feature-box .bottom { color: #01a1dd; margin: 0px; left: 22px; bottom: 22px; position: absolute; }
        .elementor-element.feature-box.text h5 { margin-bottom: 15px; }

        a.elementor-element.feature-box:hover { background: #01a1dd; border-color: #01a1dd; transition: 0.2s; transition-timing-function: ease-in; }
        a.elementor-element.feature-box:hover h6 { color: #ffffff!important; }

    .boxes a.elementor-element.feature-box:nth-child(even):hover { background: #00a651; border-color: #00a651; }
        .boxes .elementor-element.feature-box:nth-child(even) h6 { color: #00a651; }


    .article-info-box { background: #ffffff; min-height: 345px; max-width: 367px; padding: 0px; margin: auto; border-radius: 10px; overflow: hidden; position: relative; }
        .article-info-box .background { height: 110px; width: 100%; background-size: 367px; background-repeat: no-repeat; background-position: 50% center; transition: 0.3s; transition-timing-function: ease; }
        .article-info-box:hover .background { background-size: 420px; transition: 0.3s; transition-timing-function: ease; }
        .article-info-box .feature-content { padding: 25px 22px; }
            .article-info-box .feature-content h6.date { color: #d10a11; font-size: 16px; line-height: 22px; font-weight: 400; margin-bottom: 8px; }
            .article-info-box .feature-content h6 { color: #666666; }
            .article-info-box .feature-content h5 { color: #2d2d2d; font-size: 24px; line-height: 32px; max-height: 200px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; height: 100%; margin-bottom: 15px; }
            .article-info-box .feature-content p { color: #333333; }
            .article-info-box .feature-content h6 { color: #01a1dd; font-size: 18px; line-height: 26px; margin: 0px; bottom: 25px; position: absolute; }

        /* Elementor version of the card: Elementor's container rules override the min-height/width above,
           and the "Learn more" h6 has to position against the card, not its widget/container */
        .elementor-element.article-info-box { min-height: 345px; max-width: 367px; margin: auto; }
        .elementor-element.article-info-box .feature-content,
        .elementor-element.article-info-box .feature-content .elementor-widget-heading { position: static; }
        .elementor-element.article-info-box .feature-content p { margin: 0 0 16px 0; }


    .icon-box { background: none; padding: 24px 22px; width: 94%; margin: auto; border: 1px #999999 solid; border-radius: 10px; height: 100%; position: relative; transition: 0.2s; transition-timing-function: ease-in; }
        .icon-box .icon { height: 53px; font-size: 53px; color: #01a1dd; margin-bottom: 22px; }
        .icon-box h5 { font-size: 26px; line-height: 34px; margin-bottom: 12px; }
        .icon-box p { margin: 0px 0px 45px 0px; }
        .icon-box h6 { color: #01a1dd; margin: 0px; left: 22px; bottom: 24px; position: absolute; }

        a .icon-box:hover { background: #01a1dd; border-color: #01a1dd; transition: 0.2s; transition-timing-function: ease-in; }
        a .icon-box:hover .icon { color: #ffffff!important; }
        a .icon-box:hover h5 { color: #ffffff!important; }
        a .icon-box:hover p { color: #ffffff!important; }
        a .icon-box:hover h6 { color: #ffffff!important; }

        .container.boxes .col:nth-child(even) a .icon-box:hover { background: #00a651; border-color: #00a651; }
        .container.boxes .col:nth-child(even) .icon-box .icon { color: #00a651; }


.elementor-element.content-panel.right-side-slider .col { position: relative; }

.elementor-element.content-panel.right-side-slider .text-content p { margin: 0 0 24px 0; }

/* Slider holder = Elementor Nested Carousel widget */
.elementor-element.content-panel.right-side-slider .slider-holder { width: 90%; height: 100%; margin-left: auto; position: relative; }
    .elementor-element.content-panel.right-side-slider .slider-holder .e-n-carousel { padding-bottom: 0 !important; }
    /* overrides the global .e-widget-swiper pagination rule (that one is for the case studies slider) */
    .elementor-element.content-panel.right-side-slider .slider-holder.e-widget-swiper .swiper-pagination { width: auto !important; left: -5px; right: auto; bottom: 0 !important; top: auto !important; text-align: left !important; transform: none; --swiper-pagination-bullet-horizontal-gap: 4px; }
    .elementor-element.content-panel.right-side-slider .slider-holder .elementor-swiper-button { color: #ffffff; font-size: 38px; top: auto; bottom: -3px; left: auto; right: auto; inset-inline-start: auto; inset-inline-end: auto; transform: none; z-index: 11; }
    .elementor-element.content-panel.right-side-slider .slider-holder .elementor-swiper-button svg { width: 1em; height: 1em; fill: currentColor; }
    .elementor-element.content-panel.right-side-slider .slider-holder .elementor-swiper-button:hover { color: #01a1dd; }
    .elementor-element.content-panel.right-side-slider .slider-holder .elementor-swiper-button-prev { right: 37px; }
    .elementor-element.content-panel.right-side-slider .slider-holder .elementor-swiper-button-next { right: -13px; }

    .elementor-element.content-panel.right-side-slider .slider-holder .swiper-wrapper { align-items: stretch; }
    .elementor-element.content-panel.right-side-slider .slider-holder .swiper-slide { height: auto; /* allow stretching */ display: flex; }
    .elementor-element.content-panel.right-side-slider .slider-holder .swiper-slide > * { flex: 1; /* make inner content fill full height */ }

    .elementor-element.content-panel.right-side-slider .icon-box { width: 100%; }
    .elementor-element.content-panel.right-side-slider .swiper-slide:nth-child(even) a .icon-box:hover { background: #00a651; border-color: #00a651; }
        .elementor-element.content-panel.right-side-slider .swiper-slide:nth-child(even) .icon-box .icon { color: #00a651; }


.elementor-element.content-panel.cutout-bg { min-height: 828px; padding-bottom: 410px; }
.elementor-element.content-panel.cutout-bg .front { left: 0px; right: 10px; bottom: 0px; margin: auto; position: absolute; z-index: 1; }

.elementor-element.content-panel.cutout-bg .glow { width: 1px; height: 1px; background-color: #01a1dd; box-shadow: 0px 0px 440px 400px #01a1dd; position: absolute; bottom: -350px; left: 0px; right: 0px; margin: auto; transition-timing-function: ease-in; transition: 0.6s; }
.elementor-element.content-panel.cutout-bg .glow.green { background-color: #00a651; box-shadow: 0px 0px 440px 400px #00a651; }
.elementor-element.content-panel.cutout-bg .glow.left { left: 180px; right: auto; }
.elementor-element.content-panel.cutout-bg .glow.right { left: auto; right: 180px; }


.elementor-element.content-panel.articles { padding-top: 60px; padding-bottom: 40px; }
.elementor-element.content-panel .nav-tabs.articles { border-bottom: 1px #cccccc solid; }
    .elementor-element.content-panel .nav-tabs.articles .nav-item { margin-right: 40px; }
    .elementor-element.content-panel .nav-tabs.articles .nav-item .nav-link { background: none; color: #2d2d2d; padding: 15px 0px; border: 0px; }
    .elementor-element.content-panel .nav-tabs.articles .nav-item .nav-link.active { font-weight: 600; border-bottom: 3px #01a1dd solid; }

.elementor-element.content-panel .tab-content.articles { margin-top: 40px; }
.elementor-element.content-panel .articles .col { margin-bottom: 30px; }

.elementor-element.content-panel .nav-tabs-mobile { display: none; }
    .elementor-element.content-panel .nav-tabs-mobile .dropdown-item { padding: 0px; }
        .elementor-element.content-panel .nav-tabs-mobile .dropdown-item a { padding: 6px 15px; }
        .elementor-element.content-panel .nav-tabs-mobile .dropdown-item a.active { background: #01a1dd; color: #ffffff; }
        .elementor-element.content-panel .nav-tabs-mobile .dropdown-item a:active { background: #01a1dd; color: #ffffff; }
        .elementor-element.content-panel .nav-tabs-mobile .dropdown-item a:focus { background: #01a1dd; color: #ffffff; }


/**
 * Case Studies Slider Panel
 * ========================================================================== */

.elementor-element.case-studies-slider-panel { position: relative; }
    .elementor-element.case-studies-slider-panel .swiper-slide .slide { padding: 90px 20px 160px 20px; position: relative; }
    .elementor-element.case-studies-slider-panel .swiper-slide .slide .e-con-inner { padding: 0px; }
    .elementor-element.case-studies-slider-panel .swiper-slide .slide .text-content h5 { color: #cccccc; }
    .elementor-element.case-studies-slider-panel .swiper-slide .slide .text-content img { width: auto; max-height: 80px; }
    .elementor-element.case-studies-slider-panel .col { position: relative; }
    .elementor-element.case-studies-slider-panel .swiper .swiper-pagination { bottom: 95px; left: 7px; text-align: left; }
    .elementor-element.case-studies-slider-panel .e-n-carousel { padding-bottom: 0px!important; }

    .elementor-element.case-studies-slider-panel .swiper-wrapper { align-items: stretch; }
        .elementor-element.case-studies-slider-panel .swiper-slide { height: auto; display: flex; }
        .elementor-element.case-studies-slider-panel .swiper-slide > * { width: 100%; height: 100%; }

/**
 * Article Features
 * ========================================================================== */

.elementor-element.articles-slider-panel.content-panel { padding-bottom: 160px; }
    .elementor-element.articles-slider-panel .container { width: 90%; max-width: 1160px; position: relative; }

    .elementor-element.articles-slider-panel .swiper-pagination { bottom: -80px; }

    .elementor-element.articles-slider-panel .gallery-arrow { top: 50%; transform: translateY(-50%); }

    .elementor-element.article-feature-box { background: #ffffff; min-height: 345px; max-width: 367px; padding: 0px; margin: auto; border: 1px #999999 solid; border-radius: 10px; overflow: hidden; position: relative; }
        .elementor-element.article-feature-box .background { height: 150px; width: 100%; background-size: cover; background-repeat: no-repeat; background-position: 50% center; transition: 0.3s; transition-timing-function: ease; }
        .elementor-element.article-feature-box .feature-content { padding: 25px 22px; }
            .elementor-element.article-feature-box .feature-content h6.date { color: #d10a11; font-size: 16px; line-height: 22px; font-weight: 400; margin-bottom: 8px; }
            .elementor-element.article-feature-box .feature-content h6 { color: #666666; }
            .elementor-element.article-feature-box .feature-content h5 { color: #2d2d2d; font-size: 23px; line-height: 31px; max-height: 200px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; height: 100%; margin-bottom: 25px; }
            .elementor-element.article-feature-box:hover .feature-content h5 { color: #00a651; }
            .elementor-element.article-feature-box .feature-content h6 { color: #01a1dd; font-size: 18px; line-height: 26px; margin: 0px; bottom: 25px; position: absolute; }
            .elementor-element.article-feature-box .feature-content p.top { margin: 0px 0px 5px 0px; }

    .elementor-element.content-panel .tab-content.articles .elementor-element.article-feature-box { height: 100%; }
        .elementor-element.content-panel .tab-content.articles .elementor-element.article-feature-box .feature-content h5 { margin-bottom: 45px; }

    /* Case studies Loop Grid + Loop Item card (Elementor) */
    .elementor-element.content-panel .elementor-widget-loop-grid.tab-content.articles { margin-top: 0; } /* old site had mt-0 */
    .elementor-element.article-feature-box { min-height: 345px; max-width: 367px; width: 100%; margin: auto; }
    .elementor-element.article-feature-box .feature-content,
    .elementor-element.article-feature-box .feature-content .elementor-widget-heading { position: static; } /* "Learn more" sits on the card's bottom edge */
    .elementor-element.article-feature-box .feature-content .cs-card-label p { margin: 0 0 5px 0; }
    .elementor-element.article-feature-box .feature-content h5 { height: auto; }


/**
 * Internal header.elementor Panel
 * ========================================================================== */

.elementor-element.internal-header-panel { background-color: #2b3b45; background-position: bottom center; background-repeat: no-repeat; padding: 60px 20px 70px 20px; mask: url('https://www.ahs-ss.uk.com/wp-content/uploads/2026/10/hero-panel-mask.svg') bottom center no-repeat; -webkit-mask: url('https://www.ahs-ss.uk.com/wp-content/uploads/2026/10/hero-panel-mask.svg') bottom center no-repeat; mask-size: 3000px; -webkit-mask-size: 3000px; position: relative; }
    .elementor-element.internal-header-panel .container { z-index: 1; position: relative; }
    .elementor-element.internal-header-panel > .e-con-inner { padding-left: 12px; padding-right: 12px; } /* Bootstrap container gutter */
    .elementor-element.internal-header-panel .content h1 { color: #ffffff; }
    .elementor-element.internal-header-panel .content h1 + p { margin-top: 20px; }
    .elementor-element.internal-header-panel .content h1 + h5 { margin-top: 15px; }
    .elementor-element.internal-header-panel .content .buttons { margin-top: 35px; }
    .elementor-element.internal-header-panel .content .buttons .btn + .btn { margin-left: 20px; }

/**
 * Internal Panel
 * ========================================================================== */

.elementor-element.internal-content-panel { background: #ffffff; padding: 70px 20px; position: relative; }
    .elementor-element.internal-content-panel .text-content.contained { max-width: 900px; margin: auto; }
    .elementor-element.internal-content-panel > .e-con-inner { padding-left: 12px; padding-right: 12px; } /* Bootstrap container gutter */
    .elementor-element.internal-content-panel > .e-con-inner > .row { width: auto; margin-left: -12px; margin-right: -12px; } /* Bootstrap row: cancels the gutter when columns have their own 12px padding */
    .elementor-element.internal-content-panel .text-content { color: #666666; font-size: 18px; line-height: 26px; font-weight: 300; }
        .elementor-element.internal-content-panel .text-content h1 { margin-bottom: 16px; }
        .elementor-element.internal-content-panel .text-content h4 { color: #01a1dd; margin-bottom: 12px; }
        .elementor-element.internal-content-panel .text-content * + h4 { margin-top: 35px; }
        .elementor-element.internal-content-panel .text-content h5 { color: #01a1dd; margin-bottom: 18px; }
        .elementor-element.internal-content-panel .text-content > .elementor-widget-heading h5 { margin-bottom: 24px; }
        .elementor-element.internal-content-panel .text-content h6 { color: #01a1dd; font-size: 27px; line-height: 34px; margin-bottom: 8px; }
        .elementor-element.internal-content-panel .text-content p + h5 { margin-top: 30px; }
        .elementor-element.internal-content-panel .text-content p { color: #666666; margin-bottom: 20px; }
        .elementor-element.internal-content-panel .text-content ul { padding: 0px; margin-top: 10px; margin-bottom: 20px; list-style: none; }
        .elementor-element.internal-content-panel .text-content ol { padding: 0px; margin-top: 10px; margin-bottom: 20px; list-style-position: inside; }
        .elementor-element.internal-content-panel .text-content li:first-child { border-top: 1px #cccccc solid; }
        .elementor-element.internal-content-panel .text-content li { border-bottom: 1px #cccccc solid; padding: 12px 0px; }
        .elementor-element.internal-content-panel .text-content li::marker { display: inline-block; }
        .elementor-element.internal-content-panel .text-content .lightgreybg { background: #eeeeee; padding: 25px; margin-bottom: 30px; margin-top: 30px; }
        .elementor-element.internal-content-panel .text-content .table { margin-bottom: 35px; }
        .elementor-element.internal-content-panel .text-content .table td { color: #666666; font-size: 16px; line-height: 22px; border: 1px #e2e2e2 solid; }
        .elementor-element.internal-content-panel .text-content .table td.green { background: #96ca50; border-color: #e5e5e5; color: #ffffff; font-weight: 600; }
        .elementor-element.internal-content-panel .text-content p + .table-responsive { margin-top: 35px; }
        .elementor-element.internal-content-panel.form { padding-left: 20px; padding-right: 20px; padding-bottom: 100px; }

        .elementor-element.internal-content-panel .social-icons li { margin-left: 0px; margin-right: 12px; }

        .elementor-element.internal-content-panel .article-content { margin-top: 45px; }

        .elementor-element.internal-content-panel .article-sub-title { margin-bottom: 30px; }
        .elementor-element.internal-content-panel .article-top p { margin-top: 5px;  }
        .elementor-element.internal-content-panel .article-top p a { color: #01a1dd; }

        .elementor-element.internal-content-panel .featured-image { height: 250px; width: 100%; background-position: 50% center; background-size: cover; }

        .elementor-element.internal-content-panel .contact-details { width: 85%; margin-left: auto; } /* margin-left: auto replaces float: right for Elementor containers */
            .elementor-element.internal-content-panel .contact-details .elementor-heading-title a:hover { color: #00a651; }
            .elementor-element.internal-content-panel .contact-details .border-top { padding-top: 22px; margin-top: 25px; }
            .elementor-element.internal-content-panel .contact-details h5 { color: #01a1dd; font-size: 20px; line-height: 26px; margin-bottom: 4px; }
            .elementor-element.internal-content-panel .contact-details h4 { margin-bottom: 4px; }
            .elementor-element.internal-content-panel .contact-details h5 + h6 { margin-top: 8px; }

        .elementor-element.internal-content-panel .formeo.formeo-render .formeo-row-wrap { margin-bottom: 10px; }
        .elementor-element.internal-content-panel .formeo.formeo-render .formeo-row-wrap:last-child { text-align: center; }
        .elementor-element.internal-content-panel .formeo .f-field-group > label { color: #333; font-size: 18px; line-height: 26px; font-weight: 300; margin-bottom: 8px; }

        /* Elementor Pro Form - matches the old formeo / Bootstrap form */
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-form-fields-wrapper { margin: 0 -4px; }
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-group { padding: 4px; margin-bottom: 10px; }
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-group > label { display: flex; color: #333; font-size: 18px; line-height: 26px; font-weight: 300; margin: 0 0 8px 0; padding: 0; } /* flex drops the space before the * */
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-required > label::after { content: "*"; color: #d9534f; padding: 0; margin: 0; }
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-group .elementor-field-textual { height: 34px; min-height: 0; padding: 6px 12px; font-family: 'Open Sans', sans-serif; font-size: 14px; line-height: 20px; font-weight: 400; color: #555555; background-color: #ffffff; border: 1px solid #cccccc; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-group textarea.elementor-field-textual { height: 114px; resize: vertical; } /* 5 rows, like the old form */
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-group .elementor-field-textual:focus { color: #212529; border-color: #66afe9; outline: 0; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-type-submit { justify-content: center; }
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-type-submit .elementor-button { flex: 0 0 auto; width: auto; min-height: 0; font-family: 'Open Sans', sans-serif; font-size: 18px; line-height: 20px; font-weight: 400; padding: 13px 24px; color: #ffffff; background: #01a1dd; border: 1px solid #01a1dd; border-radius: 10px; box-shadow: none; transition: 0.2s ease-in; }
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-type-submit .elementor-button:hover,
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-type-submit .elementor-button:focus { color: #ffffff; background: #0a91c3; border-color: #0a91c3; filter: brightness(0.9); }
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-type-submit .elementor-button:active { transform: scale(0.97); }
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-message { font-size: 16px; line-height: 24px; margin-top: 10px; }
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-message.elementor-message-success { color: #00a651; }
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-message.elementor-message-danger,
        .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-group .elementor-message { color: #d9534f; }

        .elementor-element.internal-content-panel .article-side-details { width: 100%; max-width: 250px; float: right; }
            .elementor-element.internal-content-panel .article-side-details .border-line { border-top: 1px #cccccc solid; padding-bottom: 20px; }
            .elementor-element.internal-content-panel .article-side-details .social-icons { height: 40px; margin-top: 10px; margin-bottom: 22px; }
            .elementor-element.internal-content-panel .article-side-details h5 { color: #303e47; margin-bottom: 20px; }
            .elementor-element.internal-content-panel .article-side-details h6 { color: #666666; font-size: 18px; line-height: 24px; font-weight: 400; margin-bottom: 3px; }
            .elementor-element.internal-content-panel .article-side-details p a { color: #01a1dd; }

        .elementor-element.internal-content-panel.case-studies { padding-top: 50px; }
            .elementor-element.internal-content-panel.case-studies .featured-image { max-width: 800px; margin: auto; }
        .elementor-element.internal-content-panel .article-content.center { text-align: center; }
            .elementor-element.internal-content-panel .article-content.center .text-content { max-width: 800px; margin: auto; }
            .elementor-element.internal-content-panel .article-content.center .article-side-details { max-width: 350px; float: none; text-align: center; margin: 40px auto auto auto; }
            .elementor-element.internal-content-panel .article-content.center .article-side-details .social-icons li { display: inline-block; float: none; margin-left: 6px; margin-right: 6px; }
            .elementor-element.internal-content-panel .article-content.center .text-content .cs-body { margin-top: 15px; }

        /* Case study single (Elementor Theme Builder template) */
        .elementor-element.internal-content-panel.case-studies .text-content > .cs-sector h5 { margin-bottom: 8px; }
        .elementor-element.internal-content-panel.case-studies .cs-field-label p { margin-bottom: 0; }
        /* hide "Unit reference" / "Scope of works" when the ACF field is empty */
        .elementor-element.internal-content-panel.case-studies .cs-field:not(:has(.cs-field-value .elementor-heading-title:not(:empty))) { display: none; }
        /* before / after photos: 12-column grid matching the old Bootstrap rows (cs-span-N = col-md-N), stacked below 768px */
        .elementor-element.internal-content-panel .cs-gallery { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; margin-bottom: 30px; }
        .elementor-element.internal-content-panel .cs-gallery:last-child { margin-bottom: 0; }
        .elementor-element.internal-content-panel .cs-gallery > img { display: block; grid-column: span 6; width: auto; max-width: 100%; height: auto; justify-self: center; }
        .elementor-element.internal-content-panel .cs-gallery > .cs-span-4 { grid-column: span 4; }
        .elementor-element.internal-content-panel .cs-gallery > .cs-span-6 { grid-column: span 6; }
        .elementor-element.internal-content-panel .cs-gallery > .cs-span-8 { grid-column: span 8; }
        .elementor-element.internal-content-panel .cs-gallery > .cs-span-12 { grid-column: span 12; }
        /* Elementor Share Buttons styled like the old green social circles */
        .elementor-element.article-side-details .cs-share .elementor-grid { display: flex; justify-content: center; gap: 17px; margin: 0; }
        .elementor-element.article-side-details .cs-share .elementor-grid-item { margin: 0; }
        .elementor-element.article-side-details .cs-share .elementor-share-btn { width: 40px; height: 40px; font-size: 12px; background-color: #00a651; color: #ffffff; }
        .elementor-element.article-side-details .cs-share .elementor-share-btn:hover { background-color: #04964b; }
        .elementor-element.article-side-details .cs-share .elementor-share-btn__icon { width: 40px; }


/**
 * Footer Cta Panel
 * ========================================================================== */

.elementor-element.footer-cta-panel { background: #00a651; padding: 34px 20px; position: relative; }


/**
 * Footer
 * ========================================================================== */

footer.elementor .footer-top { background: #2a3b45; position: relative; }
    footer.elementor .footer-top .details-box { background: #ffffff; max-width: 388px; padding: 28px; border-radius: 10px; position: relative; }
        footer.elementor .footer-top .details-box img { margin-bottom: 4px; }
        footer.elementor .footer-top .details-box p { margin: 26px 0px 0px 0px }

    footer.elementor .footer-top h5.title { color: #ffffff; font-weight: 400; margin-bottom: 18px; }
    footer.elementor .footer-top h5.title a { color: #ffffff; }
    footer.elementor .footer-top h5.title a:hover { color: #01a1dd; }

    footer.elementor .footer-top .center { padding-left: 40px; }
    footer.elementor .footer-top .right .link-items { float: right; }

    footer.elementor .footer-top ul.links { list-style: none; padding: 0px; margin: 0px; }
        footer.elementor .footer-top ul.links li { font-size: 20px; line-height: 26px; margin-bottom: 18px; }
        footer.elementor .footer-top ul.links li a { color: #ffffff; }
        footer.elementor .footer-top ul.links li a:hover { color: #00a651; }

    footer.elementor .footer-top .logos { margin-top: 32px; }
        footer.elementor .footer-top .logos img { height: 60px; margin-right: 25px; }

footer.elementor .footer-bottom { background: #2a3b45; border-top: 3px #c4161c solid; position: relative; }
    footer.elementor .footer-bottom p { color: #ffffff; margin-bottom: 0px; }
    footer.elementor .footer-bottom h6 { color: #999999; margin: 0px; }

    footer.elementor .footer-bottom .right { margin-top: 0px; text-align: right; }
        footer.elementor .footer-bottom .right h5 { color: #ffffff; font-size: 18px; line-height: 24px; margin: 0px 0px 0px 0px; float: right; }
        footer.elementor .footer-bottom .right h5 a { color: #ffffff; }
        footer.elementor .footer-bottom .right h5 a:hover { color: #00a651; }
        footer.elementor .footer-bottom .right h5 span { padding: 0px 4px; }

    footer.elementor .footer-bottom .social-icons { margin-left: 15px; float: right; }


.social-icons { margin: 0px; padding: 0px; list-style: none; }
    .social-icons li { float: left; width: 40px; height: 40px; margin-left: 12px; border: 0px; }
    .social-icons li a { background: #00a651; border-radius: 50%; height: 40px; width: 40px; font-size: 22px; position: relative; display: block; text-align: center; }
    .social-icons li a:hover { background: #04964b; }
    .social-icons li a i { color: #ffffff; top: 50%; transform: translateY(-50%); left: 0px; right: 0px; margin: auto; position: absolute; }
    .social-icons li a:hover i { color: #ffffff; }

.gallery-arrow { color: #01a1dd; font-size: 46px; position: absolute; }
.gallery-arrow.prev { left: -50px; }
.gallery-arrow.next { right: -50px; }
.gallery-arrow:hover { color: #00a651; }

/**
 *  Resolutions
 * ========================================================================== */

@media screen and (max-width: 1750px) {

    h1.elementor-heading-title, .elementor-widget-text-editor h1, .elementor-widget-theme-post-content h1 { font-size: 46px; line-height: 54px; }
    h2.elementor-heading-title, .elementor-widget-text-editor h2, .elementor-widget-theme-post-content h2 { font-size: 46px; line-height: 54px; }
    h3.elementor-heading-title, .elementor-widget-text-editor h3, .elementor-widget-theme-post-content h3 { font-size: 37px; line-height: 44px; }
    h4.elementor-heading-title, .elementor-widget-text-editor h4, .elementor-widget-theme-post-content h4 { font-size: 28px; line-height: 36px; }
    h5.elementor-heading-title, .elementor-widget-text-editor h5, .elementor-widget-theme-post-content h5 { font-size: 22px; line-height: 30px; }

    .h1.elementor-widget-heading .elementor-heading-title { font-size: 46px; line-height: 54px; }
    .h2.elementor-widget-heading .elementor-heading-title { font-size: 46px; line-height: 54px; }
    .h3.elementor-widget-heading .elementor-heading-title { font-size: 37px; line-height: 44px; }
    .h4.elementor-widget-heading .elementor-heading-title { font-size: 28px; line-height: 36px; }
    .h5.elementor-widget-heading .elementor-heading-title { font-size: 22px; line-height: 30px; }


    .elementor-element.hero-panel .content h1 { margin-bottom: 25px; }
    .elementor-element.hero-panel .content .buttons { margin-top: 31px; }

}


@media screen and (max-width: 1600px) {

    h1.elementor-heading-title, .elementor-widget-text-editor h1, .elementor-widget-theme-post-content h1 { font-size: 43px; line-height: 50px; }
    h2.elementor-heading-title, .elementor-widget-text-editor h2, .elementor-widget-theme-post-content h2 { font-size: 43px; line-height: 50px; }
    h3.elementor-heading-title, .elementor-widget-text-editor h3, .elementor-widget-theme-post-content h3 { font-size: 35px; line-height: 42px; }
    h4.elementor-heading-title, .elementor-widget-text-editor h4, .elementor-widget-theme-post-content h4 { font-size: 26px; line-height: 34px; }
    h5.elementor-heading-title, .elementor-widget-text-editor h5, .elementor-widget-theme-post-content h5 { font-size: 21px; line-height: 29px; }

    .h1.elementor-widget-heading .elementor-heading-title { font-size: 43px; line-height: 50px; }
    .h2.elementor-widget-heading .elementor-heading-title { font-size: 43px; line-height: 50px; }
    .h3.elementor-widget-heading .elementor-heading-title { font-size: 35px; line-height: 42px; }
    .h4.elementor-widget-heading .elementor-heading-title { font-size: 26px; line-height: 34px; }
    .h5.elementor-widget-heading .elementor-heading-title { font-size: 21px; line-height: 29px; }

    p.elementor-heading-title { font-size: 17px; line-height: 25px; }
    p { font-size: 17px; line-height: 25px; }
    li { font-size: 17px; line-height: 25px; }

    .elementor-button { font-size: 16px!important; line-height: 18px!important; padding: 11px 20px!important; }
    .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-type-submit .elementor-button { font-size: 16px; line-height: 18px; padding: 11px 20px; }

    header.elementor .header.elementor-element .nav { top: auto; }
    header.elementor .header.elementor-element .nav .menu-item { font-size: 20px; }
        header.elementor .header.elementor-element .nav .menu-item a { font-size: 20px; }
    header.elementor .header.elementor-element .nav .btn { height: 42px; }

}

@media screen and (max-width: 1400px) {

    footer.elementor .footer-top .right .link-items { padding-right: 50px; }

}

@media screen and (max-width: 1350px) {
    .elementor-element.info-box.hover:hover { background: #ffffff; border-color: #999999; }
    .elementor-element.info-box.hover:hover .number-circle { display: block; }
    .elementor-element.info-box.hover:hover h5 { color: #2d2d2d; }
    .elementor-element.info-box.hover:hover p { color: #666666; font-size: 15px; line-height: 21px; }
}

@media screen and (max-width: 1300px) {

    .elementor-element.feature-box { width: 96%; }
        .elementor-element.feature-box h5 { font-size: 20px; line-height: 26px; }

        .elementor-element.info-box h5 { font-size: 20px; line-height: 26px; }

    .elementor-element.icon-box { width: 96%; }

    .elementor-element.icon-box h5 { font-size: 24px; line-height: 32px; }

    footer.elementor .footer-top ul.links li { font-size: 18px; line-height: 24px; margin-bottom: 18px; }
    footer.elementor .footer-top .center { padding-left: calc(var(--bs-gutter-x) * .5); }

}

@media screen and (max-width: 1230px) {

    .elementor-element.case-studies-slider-panel .swiper-pagination { left: 27px; right: auto; width: auto !important; transform: none; } /* undo the 1220px strip + Elementor's -50% shift, which pushed the page wider than the screen */

}

@media screen and (max-width: 1199px) {

    h1.elementor-heading-title, .elementor-widget-text-editor h1, .elementor-widget-theme-post-content h1 { font-size: 38px; line-height: 46px; }
    h2.elementor-heading-title, .elementor-widget-text-editor h2, .elementor-widget-theme-post-content h2 { font-size: 38px; line-height: 46px; }
    h3.elementor-heading-title, .elementor-widget-text-editor h3, .elementor-widget-theme-post-content h3 { font-size: 32px; line-height: 40px; }
    h4.elementor-heading-title, .elementor-widget-text-editor h4, .elementor-widget-theme-post-content h4 { font-size: 25px; line-height: 32px; }

    .h1.elementor-widget-heading .elementor-heading-title { font-size: 38px; line-height: 46px; }
    .h2.elementor-widget-heading .elementor-heading-title { font-size: 38px; line-height: 46px; }
    .h3.elementor-widget-heading .elementor-heading-title { font-size: 32px; line-height: 40px; }
    .h4.elementor-widget-heading .elementor-heading-title { font-size: 25px; line-height: 32px; }


    .container.boxes.box-mb .col:nth-child(n+4) { margin-bottom: 40px; }

    .elementor-element.content-panel .side-square-img { max-width: 380px; }

    .elementor-element.content-panel.cutout-bg { min-height: 1030px; }

    .elementor-element.content-panel .container.boxes { max-width: 700px; }
        .elementor-element.content-panel .container.boxes .col { margin-bottom: 30px; }


    .elementor-element.article-feature-box .feature-content h5 { font-size: 21px; line-height: 29px; }

    footer.elementor .footer-top .details-box { margin: auto auto 20px auto; text-align: center; }
    footer.elementor .footer-top .link-items { text-align: center; margin-top: 30px; }

    footer.elementor .footer-top .col.left { order: 1; }
    footer.elementor .footer-top .col.center { order: 3; }
    footer.elementor .footer-top .col.right { order: 2; }
    footer.elementor .footer-top .right .link-items { float: none; padding-right: 0px; }

    footer.elementor .footer-top .logos img { margin-left: 12px; margin-right: 12px; }

    footer.elementor .footer-bottom p { font-size: 16px; line-height: 24px; }
    footer.elementor .footer-bottom h6 { font-size: 16px; line-height: 24px; }

}

@media screen and (max-width: 1050px) {

    .gallery-arrow.prev { left: -40px; }
    .gallery-arrow.next { right: -40px; }

}

@media screen and (max-width: 1024px) {

    h1.elementor-heading-title, .elementor-widget-text-editor h1, .elementor-widget-theme-post-content h1 { font-size: 34px; line-height: 42px; }
    h2.elementor-heading-title, .elementor-widget-text-editor h2, .elementor-widget-theme-post-content h2 { font-size: 34px; line-height: 42px; }
    h3.elementor-heading-title, .elementor-widget-text-editor h3, .elementor-widget-theme-post-content h3 { font-size: 30px; line-height: 38px; }
    h4.elementor-heading-title, .elementor-widget-text-editor h4, .elementor-widget-theme-post-content h4 { font-size: 24px; line-height: 30px; }

    .h1.elementor-widget-heading .elementor-heading-title { font-size: 34px; line-height: 42px; }
    .h2.elementor-widget-heading .elementor-heading-title { font-size: 34px; line-height: 42px; }
    .h3.elementor-widget-heading .elementor-heading-title { font-size: 30px; line-height: 38px; }
    .h4.elementor-widget-heading .elementor-heading-title { font-size: 24px; line-height: 30px; }

    .menu-modal.elementor-element .header-content { padding: 12px 27px 17px 25px; }

    header.elementor + * { margin-top: 94px; }

    header.elementor .header.elementor-element { height: 95px; padding: 12px 15px 17px 15px; }
    header.elementor .header.scrolled { height: 95px; padding: 12px 15px 17px 15px; }
        header.elementor .header.elementor-element .nav-elements { padding-right: 2px; padding-top: 2px; display: block; }
        header.elementor .header.elementor-element .nav { display: none; }
        header.elementor .header.elementor-element img { height: 62px; margin-top: 3px; }
        header.elementor .header.scrolled img { height: 62px; margin-top: 3px; }

    .elementor-element.hero-panel { padding: 0px 15px; }
        .elementor-element.hero-panel .content { text-align: center; max-width: 600px; margin: auto; }
        .elementor-element.hero-panel .elementor-widget-heading p.elementor-heading-title { font-size: 17px; line-height: 24px; }

    .elementor-element.content-panel .text-content { text-align: center; }
    .elementor-element.content-panel .side-square-img { width: 400px; height: 400px; max-width: 100%; margin: 30px auto 0 auto; float: none; }

    /* Working in Live Environments: stacks at Elementor's tablet breakpoint (was 1199px on the old site) */
    .elementor-element.content-panel.right-side-slider .text-content { max-width: 600px; text-align: center; margin: auto auto 80px auto; }
    .elementor-element.content-panel.right-side-slider .slider-holder { width: 100%; height: auto; margin-bottom: 110px; }
    .elementor-element.content-panel.right-side-slider .slider-holder.e-widget-swiper .swiper-pagination { left: 0; right: 0; width: 100% !important; bottom: -119px !important; text-align: center !important; }
    .elementor-element.content-panel.right-side-slider .slider-holder .elementor-swiper-button { width: 38px; height: 38px; top: auto; bottom: -60px; margin: auto; justify-content: center; align-items: center; }
    .elementor-element.content-panel.right-side-slider .slider-holder .elementor-swiper-button-prev { left: -55px; right: 0; }
    .elementor-element.content-panel.right-side-slider .slider-holder .elementor-swiper-button-next { left: 0; right: -55px; }
    .elementor-element.content-panel ul.ticks li { padding-left: 0; text-align: center; }
    .elementor-element.content-panel ul.ticks li::before { position: static; display: inline-block; margin-right: 10px; vertical-align: middle; }

    .elementor-element.content-panel.cutout-bg .front { width: 220px; }
    .elementor-element.content-panel.cutout-bg { min-height: 960px; background-size: 1215px!important; padding-bottom: 280px; }

    .elementor-element.content-panel .accordion.sectors .accordion-button { padding: 20px 25px; }
        .elementor-element.content-panel .accordion.sectors .accordion-button .icon-holder .icon { height: 56px; font-size: 56px; margin-top: 4px; }
        .elementor-element.content-panel .accordion.sectors.services .accordion-button .main-text h4 { margin-bottom: 0px; }
        .elementor-element.content-panel .accordion.sectors .accordion-button .main-text h4 { margin-bottom: 10px; padding-right: 40px; }
        .elementor-element.content-panel .accordion.sectors .accordion-button .main-text h5 { margin: 0px; }
        .elementor-element.content-panel .accordion.sectors .accordion-button .main-text p.hero-text { display: none; }
        .elementor-element.content-panel .accordion.sectors .accordion-button::after { top: 19px; }
        .elementor-element.content-panel .accordion.sectors .accordion-button:not(.collapsed)::after { top: 31px; }
    .elementor-element.content-panel .accordion.sectors .accordion-item .info-section { padding: 5px 20px 25px 20px; }
    .elementor-element.content-panel .accordion.sectors.services .accordion-item .info-section { padding-top: 0px; }
    .elementor-element.content-panel .accordion.careers .accordion-item .info-section { padding: 0px 15px 25px 15px; }
        .elementor-element.content-panel .accordion.sectors .accordion-item .info-section .hero-text { display: block; margin-bottom: 25px; }
        .elementor-element.content-panel .accordion.sectors .accordion-item .info-section .col.left { padding-left: calc(var(--bs-gutter-x) * .5); padding-right: calc(var(--bs-gutter-x) * .5); }
    .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section { padding: 25px 20px 40px 20px; }
        .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .swiper-slide { padding-left: 20px; padding-right: 20px; }
        .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section p { font-size: 16px; line-height: 22px; }
    .elementor-element.content-panel .accordion.sectors .accordion-item .side-circle { display: none; }

      .elementor-element.content-panel .accordion.sectors.services .accordion-button .main-text p.hero-text { font-size: 16px; line-height: 22px; display: none; }
    .elementor-element.content-panel .accordion.sectors .accordion-item { scroll-margin-top: 115px; }
      /* Services: icon, text and chevron vertically centred in the header (chevron offsets centre the visible V, not its rotated box) */
      .elementor-element.content-panel .accordion.sectors.services .accordion-button { align-items: center; padding: 26px 15px 26px 15px;}
      .elementor-element.content-panel .accordion.sectors.services .accordion-button .icon-holder .icon,
      .elementor-element.content-panel .accordion.sectors.services .accordion-button .icon-holder .icon-img img { margin-top: 0; }
      .elementor-element.content-panel .accordion.sectors.services .accordion-button::after { top: calc(50% - 17px); }
      .elementor-element.content-panel .accordion.sectors.services .accordion-button:not(.collapsed)::after { top: calc(50% - 3px); }

    .elementor-element.internal-content-panel .article-side-details { max-width: 100%; float: none; margin-top: 30px; }
    .elementor-element.internal-content-panel .article-content .text-content { font-size: 16px; line-height: 22px; max-width: 100%; }
        .elementor-element.internal-content-panel .article-content .text-content p { font-size: 16px; line-height: 22px; }

    .elementor-element.internal-content-panel .contact-details { width: 100%; margin-left: auto; text-align: center; }

    footer.elementor .footer-top { padding: 50px 20px; }

    footer.elementor .footer-bottom { text-align: center; }
        footer.elementor .footer-bottom .social-icons { height: 40px; display: block; float: none; text-align: center; margin: auto auto 20px auto; }
            footer.elementor .footer-bottom .social-icons li { float: none; display: inline-block; }
        footer.elementor .footer-bottom .right { margin-top: 0px; }
            footer.elementor .footer-bottom .right h5 { display: block; float: none; text-align: center; margin-bottom: 15px; }
        footer.elementor .footer-bottom .col.left { order: 2; }
        footer.elementor .footer-bottom .col.right { order: 1; }

}

@media screen and (max-width: 767px) {

    .elementor-element.internal-content-panel .cs-gallery > img[class], .elementor-element.internal-content-panel .cs-gallery > img { grid-column: 1 / -1; }

    h1.elementor-heading-title, .elementor-widget-text-editor h1, .elementor-widget-theme-post-content h1 { font-size: 32px; line-height: 40px; }
    h2.elementor-heading-title, .elementor-widget-text-editor h2, .elementor-widget-theme-post-content h2 { font-size: 32px; line-height: 40px; }
    h3.elementor-heading-title, .elementor-widget-text-editor h3, .elementor-widget-theme-post-content h3 { font-size: 26px; line-height: 34px; }
    h4.elementor-heading-title, .elementor-widget-text-editor h4, .elementor-widget-theme-post-content h4 { font-size: 23px; line-height: 30px; }
    h5.elementor-heading-title, .elementor-widget-text-editor h5, .elementor-widget-theme-post-content h5 { font-size: 19px; line-height: 26px; }

    .h1.elementor-widget-heading .elementor-heading-title { font-size: 32px; line-height: 40px; }
    .h2.elementor-widget-heading .elementor-heading-title { font-size: 32px; line-height: 40px; }
    .h3.elementor-widget-heading .elementor-heading-title { font-size: 26px; line-height: 34px; }
    .h4.elementor-widget-heading .elementor-heading-title { font-size: 23px; line-height: 30px; }
    .h5.elementor-widget-heading .elementor-heading-title { font-size: 19px; line-height: 26px; }

    .elementor-button.elementor-button-link { font-size: 14px !important; line-height: 16px !important;  padding: 11px 14px !important; }
    .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-type-submit .elementor-button { font-size: 15px; line-height: 17px; padding: 11px 16px; }
    .elementor-element.internal-content-panel .elementor-widget-form .elementor-field-group.elementor-col-50 { width: 50%; } /* old form kept First/Last Name side by side on mobile */

     .elementor-element.hero-panel { padding: 0px 15px; }
        .elementor-element.hero-panel .content h1 { margin-bottom: 20px; }

    .elementor-element.internal-header-panel { padding: 45px 10px 50px 10px; }

    .elementor-element.content-panel.cutout-bg .front { width: 150px; }
    .elementor-element.content-panel.cutout-bg { min-height: 880px; background-size: 810px !important; padding-bottom: 180px; }
    .elementor-element.content-panel.cutout-bg .glow.left { left: 0px; }
    .elementor-element.content-panel.cutout-bg .glow.right { right: 0px; }

    .elementor-element.content-panel .accordion.sectors .accordion-button { background: none !important; padding: 20px; }
        .elementor-element.content-panel .accordion.sectors .accordion-button .icon-holder { margin-right: 20px; }
            .elementor-element.content-panel .accordion.sectors .accordion-button .icon-holder .icon { width: 58px; height: 50px; font-size: 50px; margin-top: 10px; }
    .elementor-element.content-panel .accordion.sectors .accordion-button::after { width: 17px; height: 17px; top: 18px; right: 27px; }
    .elementor-element.content-panel .accordion.sectors .accordion-button:not(.collapsed)::after { top: 28px; }
    .elementor-element.content-panel .accordion.sectors .accordion-item .info-section { padding: 5px 15px 25px 15px; }
    .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section { padding: 0px 15px 25px 15px; }

    .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .swiper-slide { padding-left: 15px; padding-right: 15px; }

    .elementor-element.content-panel .accordion.sectors.services .accordion-button .icon-holder { margin-left: 0px; margin-right: 20px; }
    .elementor-element.content-panel .accordion.sectors.services .accordion-button::after { top: calc(50% - 14.5px); }
    .elementor-element.content-panel .accordion.sectors.services .accordion-button:not(.collapsed)::after { top: calc(50% - 2.5px); }

    .elementor-element.case-studies-slider-panel .swiper-slide { padding: 0px; }
    .elementor-element.case-studies-slider-panel .swiper-pagination { left: 17px; bottom: 80px !important; }

    .elementor-element.articles-slider-panel .container { width: 86%; }

    .elementor-element.footer-cta-panel { padding: 50px 10px; }

    footer.elementor .footer-top h5.title { margin-bottom: 12px; }
    footer.elementor .footer-top ul.links li { font-size: 17px; line-height: 23px; margin-bottom: 12px; }

}

@media screen and (max-width: 700px) {

    .elementor-element.articles-slider-panel .gallery-arrow { display: none!important; }
    .elementor-element.articles-slider-panel .container { width: 100%; }

}

@media screen and (max-width: 576px) {


    .elementor-element.content-panel .container.boxes .col:last-child { margin-bottom: 0px; }

    .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .col.right { padding-left: calc(var(--bs-gutter-x) * .5); }

    .elementor-element.content-panel.cutout-bg .front { width: 125px; }
    .elementor-element.content-panel.cutout-bg { min-height: 880px; padding-bottom: 170px; background-size: 610px!important; }
    .elementor-element.content-panel.cutout-bg .glow.left { left: -180px; }
    .elementor-element.content-panel.cutout-bg .glow.right { right: -180px; }

    .elementor-element.content-panel .side-square-img { width: 350px; height: 350px; }

}

@media screen and (max-width: 500px) {

    h1.elementor-heading-title, .elementor-widget-text-editor h1, .elementor-widget-theme-post-content h1 { font-size: 28px; line-height: 36px; }
    h2.elementor-heading-title, .elementor-widget-text-editor h2, .elementor-widget-theme-post-content h2 { font-size: 28px; line-height: 36px; }
    h4.elementor-heading-title, .elementor-widget-text-editor h4, .elementor-widget-theme-post-content h4 { font-size: 22px; line-height: 29px; }

    .h1.elementor-widget-heading .elementor-heading-title { font-size: 28px; line-height: 36px; }
    .h2.elementor-widget-heading .elementor-heading-title { font-size: 28px; line-height: 36px; }
    .h4.elementor-widget-heading .elementor-heading-title { font-size: 22px; line-height: 29px; }

    .elementor-element.content-panel .side-square-img { width: 100%; max-width: 310px; height: 310px; }

    .elementor-element.content-panel .accordion.sectors .accordion-button .main-text h5 { font-size: 17px; line-height: 24px; }
    .elementor-element.content-panel .accordion.sectors .accordion-item .info-section { padding: 5px 10px 25px 10px; }
    .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section { padding: 0px 10px 25px 10px; }
        .elementor-element.content-panel .accordion.sectors .accordion-item .cs-section .swiper-slide { padding-left: 10px; padding-right: 10px; }
    .elementor-element.content-panel .accordion.sectors .accordion-item .cta-section { padding: 25px 15px; }

}

@media screen and (max-width: 420px) {

    footer.elementor .footer-top .details-box p br { display: none; }

}

.e-widget-swiper .swiper-pagination { width: 1220px!important; bottom: 100px !important; top: auto !important; text-align: left!important; position: absolute; }
.e-widget-swiper .swiper-pagination .swiper-pagination-bullet { background: none!important; opacity: 1; width: 40px; height: 12px; border: 1px #cccccc solid; border-radius: 10px; margin: 0px 5px; }
.e-widget-swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active { background: #01a1dd!important; border-color: #01a1dd; width: 90px; height: 12px; }
