@charset "UTF-8";


*, *:after, *:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


/*******************************
CSS RESET
*******************************/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

a {
    cursor:pointer !important;
}

a:hover, a:focus {
	outline: none;
    cursor:pointer !important;
    -webkit-tap-highlight-color: transparent;
}

button, 
button:focus, 
button:active {
    
    outline: none;
}



/******************************
COLOURS
******************************/

:root {
    --color-white: #fff;
    --color-black: #0d0d0d;
    --color-grey: #c7c7c7;
    --color-darkergrey: #595959;
    --color-darkestgrey: #414141;
    --color-lightgrey: #f3f3f3;
    --color-red: #df101d;
    --color-green: #7fddcb;

    --gradient-orange: linear-gradient(180deg, rgba(248,207,104,1) 0%, rgba(255,148,92,1) 100%);
    --gradient-red: linear-gradient(180deg, rgba(255,148,92,1) 0%, rgba(255,108,125,1) 100%);
    --gradient-blue: linear-gradient(180deg, rgba(116,217,199,1) 0%, rgba(49,191,239,1) 100%);
    --gradient-purple: linear-gradient(0deg, rgba(147,163,255,1) 0%, rgba(0,168,225,1) 100%);
    --gradient-purple-opacity-60: linear-gradient(0deg, rgba(147,163,255,0.6) 0%, rgba(0,168,225,0.6) 100%);
    /* --gradient-blue-opacity-80: linear-gradient(180deg, rgba(116,217,199,0.8) 0%, rgba(49,191,239,0.8) 100%); */
    --gradient-grey: linear-gradient(180deg, rgba(242,242,242,1) 0%, rgba(220,226,230,1) 100%);
    --gradient-grey-trans: linear-gradient(180deg, rgba(242,242,242,1) 0%, rgba(220,226,230,1) 100%);

    --gradient-ourservices: linear-gradient(180deg, rgba(217,223,227,1) 0%, rgba(240,240,240,1) 100%);




}

.bg-gradient-orange { background: var(--gradient-orange); }
.bg-gradient-red { background: var(--gradient-red); }
.bg-gradient-blue { background: var(--gradient-blue); }
.bg-gradient-purple { background: var(--gradient-purple); }
.bg-gradient-grey { background: var(--gradient-grey); }
.bg-gradient-grey-trans { background: var(--gradient-grey-trans)}

.color-white { color:var(--color-white); }
.color-black { color:var(--color-black); }
.color-grey { color:var(--color-grey); }
.color-red { color:var(--color-red); }
.color-green { color:var(--color-green); }

.bg-color-white { background-color:var(--color-white); }
.bg-color-black { background-color:var(--color-black); }
.bg-color-grey { background-color:var(--color-grey); }
.bg-color-red { background-color:var(--color-red); }
.bg-color-green { background-color:var(--color-green); }



/******************************
ANIMATION SCALING
******************************/

:root {
    --scale-animation : 1.24;
}



/******************************
GENERAL
******************************/

/*
html {
    scroll-behavior: smooth;
}
    */

h1, h2, h3, h4, h5, h6,
p, a,
ul li, ol li {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
}

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

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

p {
    font-weight:500;
}

p strong {
    font-weight:600;
}



/******************************
MASTER COLUMN STYLES
******************************/

.single-page-wrapper {
    margin:0 auto;
    width:100%;
    min-height:300px;
    padding-left:20px;
    padding-right:20px;
}



/*******************************
UI & PAGE COMPONENTS
*******************************/

a.button {
    display:inline-block; /* if button alignment starts looking weird, remove this - not sure if it works across the site yet */
    width: fit-content;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 10px 20px;
    border: 2px solid var(--color-black);
    border-radius:25px;
    color: var(--color-black);
    text-decoration: none;
    font-size: 1.25rem;
    line-height: 1.3em;
    font-weight: 700;
    transition: all .2s ease-out;
    cursor: pointer;
    opacity: 1;
}

    a.button:hover,
    a.button:active {
        -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-black);
        -moz-box-shadow:inset 0px 0px 0px 2px var(--color-black);
        box-shadow:inset 0px 0px 0px 2px var(--color-black);
    }

a.button.white-bg {
    background-color: var(--color-white);
}


a.button.white {
    border: 2px solid var(--color-white);
    color: var(--color-white);
}

    a.button.white:hover,
    a.button.white:active {
        -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-white);
        -moz-box-shadow:inset 0px 0px 0px 2px var(--color-white);
        box-shadow:inset 0px 0px 0px 2px var(--color-white);
    }



    .elem-button a {
        display:inline-block; /* if button alignment starts looking weird, remove this - not sure if it works across the site yet */
        width: fit-content;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        padding: 10px 20px;
        border: 2px solid var(--color-black);
        border-radius:25px;
        color: var(--color-black);
        text-decoration: none !important;
        font-size: 1.25rem;
        line-height: 1.3em;
        font-weight: 700;
        transition: all .2s ease-out;
        cursor: pointer;
        opacity: 1;
        background-color: var(--color-white);
    }
    
        .elem-button a:hover,
        .elem-button a:active {
            -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-black);
            -moz-box-shadow:inset 0px 0px 0px 2px var(--color-black);
            box-shadow:inset 0px 0px 0px 2px var(--color-black);
        }


    
#solutions-content-wrapper {
    width:100%;
    display:flex;
}

    #solutions-content-wrapper .left-side {
        width:50%;
        background-color: #3e343d;
        padding-right:20px;
        display: flex;
        align-items: center;
    }

    #solutions-content-wrapper .right-side {
        width:50%;
    }

        #solutions-content-wrapper .right-side img {
            display:block;
            width:100%;
        }

.fixed-content-wrapper {
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
}

#solutions-section {
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
}

    .fixed-content-wrapper > .inner {
        display: block;
        max-width: 1640px;
        margin: 0 auto;
        margin-left: 100px;
        margin-right: 100px;
    }

    .fixed-content-wrapper .sidebyside {
        display:flex;
        align-items: flex-start;
    }

        .fixed-content-wrapper .sidebyside .left-side {
            width:50%;
            padding-right:100px;
        }

        .fixed-content-wrapper .sidebyside .right-side {
            width:50%;
        }

.text-block {
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
}

    .text-block .inner {
        display: block;
        max-width: calc(100% - 40px);
        padding:200px 100px 200px 33%;
    }

.hardrule-container {
    display:inline-block;
    max-width:530px;
    margin: 0 auto 0 0;
}

.hardrule-container.wide-container{
    max-width:1640px!important;
}

    .hardrule-container .hardrule {
        width:100%;
        border-top:2px solid var(--color-black);
        padding-top:20px;
    }

        .hardrule-container .hardrule.color-white {
            border-top-color: var(--color-white);
        }

.triple-block {
    width:100%;
    display:flex;
    justify-content: space-between;
}

    .triple-block .inner-block {
        display:flex;
        align-items: flex-end;
        width:33.34%;
        padding:100px;
        background-size: cover;
        background-position: center;
    }

    .triple-block#solutions-home-tripleblock .inner-block.first {
        display:block;
        padding:0;
    }

    .triple-block#solutions-home-tripleblock .inner-block.first img {
        display:block;
    }


.double-block {
    width:100%;
    display:flex;
    justify-content: space-between;
}

    .double-block .inner-block {
        display:flex;
        align-items: flex-end;
        width:50%;
        padding:100px;
        background-size: cover;
        background-position: center;
    }

.double-block#ourmission-ourvision-block {
    align-items: stretch;
}

    .double-block#ourmission-ourvision-block .inner-block {
        flex:1;
        align-items: flex-start;
        padding: 130px 200px;
    }

        .double-block#ourmission-ourvision-block .hardrule-container {
            max-width:100%;
        }



.work-row {
    width:100%;
    display: flex;
    margin-bottom:20px;
}

    .work-row .work-intro {
        display: flex;
        width:50%;
        background: var(--gradient-orange);
        align-items: flex-end;
        padding:90px 100px;
    }

        .work-row .work-intro h2 {
            font-size:4.375rem;
            font-weight:700;
            letter-spacing: -3px;
        }

    .work-row a.work-block {
        display: flex;
        width:50%;
        background-size:cover;
        background-position: top center;
        align-items: flex-end;
        position: relative;
        color:var(--color-black);
        text-decoration: none;
    }

        .work-row .work-row-gap {
            width:8px;
            height:8px;
        }

        .work-row a.work-block .lower-third {
            position: relative;
            z-index:1;
            width:100%;
            padding:30px 40px;
            background:var(--gradient-grey-trans);
            transition: all 0.5s ease;
        }

            .work-row a.work-block .lower-third:before {
            /* gradient for hover - must set up like this for a smooth gradient transition */
                content: "";
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background:var(--gradient-blue);
                opacity: 0;
                transition: opacity 0.4s;
                z-index: -1;
            }

            .work-row a.work-block:hover .lower-third {
                padding-bottom:30px;
            }

                .work-row a.work-block:hover .lower-third:before {
                    opacity:1;
                }

            .work-row a.work-block .lower-third .inner {
                display:flex;
                align-items: flex-end;
                transition: all 0.5s ease;
            }

                .work-row a.work-block:hover .lower-third .inner {
                    padding-bottom:30px;
                }

                    .work-row a.work-block .lower-third .inner .text {
                        flex:1;
                    }

                    .work-row a.work-block .lower-third .inner .text p.title {
                        display:flex;
                        align-items: flex-end;
                    }

                        .work-row a.work-block .lower-third .inner .text p.title span {
                            display:block;
                        }
            
                    .work-row a.work-block .lower-third .inner .arrow-button {
                        transition: all 0.5s ease;
                        width:50px;
                        opacity: 0;
                    }

                    .work-row a.work-block:hover .lower-third .inner .arrow-button {
                        opacity:1;
                    }





.testimonials-block {
    width:100%;
    display:flex;
    align-items:flex-start;
    padding:100px 100px 0 100px;
}

    #marketing-testimonials-wrapper .testimonials-block {
        padding-bottom:100px;
    }

    .testimonials-block .testimonials-slider {
        width:75%;
    }

        .testimonials-block .testimonials-slider .testimonials-slide {
            width:100%;
            display:flex;
            align-items:flex-start;
			box-sizing: border-box;
        }

        .testimonials-block .testimonials-slider .testimonials-slide img.quote-mark {
            width:120px;
            display:block;
           /* padding-top:-15px;*/
            transform-origin: center bottom;
            animation: dock-bounce-subtle 5700ms cubic-bezier(.25,.7,.3,1) infinite;
			flex: 0 0 120px;
        }

        .testimonials-block .testimonials-slider .testimonials-slide .quote-content {
            flex:1;
            padding-left:10px;
            padding-right:10px;
			min-width: 0;
        }

            .testimonials-block .testimonials-slider .testimonials-slide .quote-content p {
                font-weight:700;
            }

            .testimonials-block .testimonials-slider .testimonials-slide .quote-content .quote-text p {
                font-size: 3.8rem;
                line-height: 4rem;
                letter-spacing: -2px;
            }

    .testimonials-block .testimonials-nav {
        width:25%;
        display: flex;
        justify-content: center;
        padding-top:15px;
    }

        .testimonials-block .testimonials-nav .nav-left,
        .testimonials-block .testimonials-nav .nav-right {
            width:50px;
        }

        .testimonials-block .testimonials-nav .nav-left {
            margin-right:20px;    
        }

            .testimonials-block .testimonials-nav .nav-left svg.nav-left-svg,
            .testimonials-block .testimonials-nav .nav-right svg.nav-right-svg {
                width:100%;
                cursor: pointer;
            }

            .testimonials-block .testimonials-nav .nav-left svg.nav-left-svg .nav-svg-circle,
            .testimonials-block .testimonials-nav .nav-right svg.nav-right-svg .nav-svg-circle {
                fill:var(--color-white);
            }

            .testimonials-block .testimonials-nav .nav-left svg.nav-left-svg.no-bg .nav-svg-circle,
            .testimonials-block .testimonials-nav .nav-right svg.nav-right-svg.no-bg .nav-svg-circle {
                fill:none;
            }

                .testimonials-block .testimonials-nav .nav-left svg.nav-left-svg:hover .nav-svg-circle,
                .testimonials-block .testimonials-nav .nav-right svg.nav-right-svg:hover .nav-svg-circle {
                    fill:var(--color-black);
                }

            .testimonials-block .testimonials-nav .nav-left svg.nav-left-svg .nav-svg-arrow,
            .testimonials-block .testimonials-nav .nav-right svg.nav-right-svg .nav-svg-arrow {
                fill:var(--color-black);
            }

                .testimonials-block .testimonials-nav .nav-left svg.nav-left-svg:hover .nav-svg-arrow.has-hover-state,
                .testimonials-block .testimonials-nav .nav-right svg.nav-right-svg:hover .nav-svg-arrow.has-hover-state {
                    fill:var(--color-white);
                }



/* hide until Swiper initializes */
.testimonials-slider .swiper:not(.swiper-initialized) {
  visibility: hidden;
}

/* optional: reserve height to avoid layout jump */
.testimonials-slider .swiper {
  min-height: 260px; /* adjust to roughly your testimonial block height */
}



/******************************
ELEMENTOR FIXES
******************************/

.acc-elem-counter .elementor-counter-title {
    margin-top:15px;
}

.elementor-widget-container p {
    margin-bottom:15px;
}

.elementor-widget-container ul {
    list-style: disc;
}

.elementor-widget-container ol {
    list-style:decimal;
}

.elementor-widget-container ul,
.elementor-widget-container ol {
    margin-left:30px;
    margin-bottom:15px;
    font-weight:500;
    line-height:1.6rem;
}

.elementor-widget-container strong,
.elementor-widget-container b {
    font-weight:700;
}

.elementor-widget-container em,
.elementor-widget-container i {
    font-style:italic;
}

.elementor .elementor-widget-container a {
    color:var(--color-black);
    text-decoration: underline;
}

.elementor .p-no-bottom-margin p {
    margin-bottom:0;
}



/******************************
UTILITY CLASSES
******************************/

.width-5 { width:5%; }
.width-10 { width:10%; }
.width-15 { width:15%; }
.width-20 { width:20%; }
.width-25 { width:25%; }
.width-30 { width:30%; }
.width-35 { width:35%; }
.width-40 { width:40%; }
.width-45 { width:45%; }
.width-50 { width:50%; }
.width-55 { width:55%; }
.width-60 { width:60%; }
.width-65 { width:65%; }
.width-70 { width:70%; }
.width-75 { width:75%; }
.width-80 { width:80%; }
.width-85 { width:85%; }
.width-90 { width:90%; }
.width-95 { width:95%; }
.width-100 { width:100%; }
.display-block { display:block; }

.no-wrap {
    white-space:nowrap;
}


/******************************
FONT SIZES
******************************/

.text-xl {
    font-size:10rem;
    font-weight:700;
    letter-spacing: -6px;
}

.text-l {
    font-size:7rem;
    line-height: 6.25rem;
    font-weight:700;
    letter-spacing: -4.5px;
}

.text-m {
    font-size:5.25rem;
    line-height:5.25rem;
    font-weight:700;
    letter-spacing: -4.5px;
}

.text-ms {
    font-size:3.3rem;
    line-height:3.5rem;
    font-weight:700;
    letter-spacing: -2px;
}

.text-s {
    font-size:1.75rem;
    line-height:2rem;
    font-weight:300;
    letter-spacing: -1px;
}

.text-xs {
    font-size:1.25rem;
    line-height:1.5rem;
    font-weight:300;
    letter-spacing: 0px;
}

    .text-s.bold {
        font-weight:700;
    }

.text-body {
    font-size:1.25rem;
    line-height:1.625rem;
    display: inline-block;
}

.text-body a {
    color:var(--color-black);
}

.text-body.extrabold {
    font-weight:800;
}

.text-body em {
    font-style: italic;
}

.force-font-weight-300 {
    font-weight: 300 !important;
}



/******************************
LOAD SCREEN
******************************/

#loadscreen {
    position:fixed;
    width:100%;
    height: 100vh;
    background-color: #fff;
    z-index:9999999;
}

#loadscreen img.loader {
    display:block;
    width:100px;
    height:auto;
    margin-left:auto;
    margin-right:auto;
    margin-top:calc(50vh - 50px);
}



/******************************
HEADER MENU
******************************/

#acc-header {
    z-index:1040; /* just high up enough on the z-index to not overlap the gallery lightbox */
    position:fixed;
    top:0;
    transition: top 0.2s ease-in-out;
    width:100%;
    height:180px;
    background-color:var(--color-white);
}

    #acc-header.nav-up {
        top: -180px;
    }

    #acc-header .inner {
        display:flex;
        max-width:1640px;
        margin:0 auto;
        height:100%;
    }

        #acc-header .inner .inner-left {
            display:flex;
            align-items: center;
            width:50%;
            height:100%;
        }

            #acc-header .inner .inner-left a.logo-link {
                display:block;
                width:200px;
            }

                #acc-header .inner .inner-left a.logo-link img {
                    display:block;
                    width:100%;
                }

        #acc-header .inner .inner-right {
            display:flex;
            align-items: center;
            justify-content: flex-end;
            width:50%;
            height:100%;
        }

        #acc-header a#hamburger-button {
            display:block;
            width:50px;
            height:50px;
            background-color: var(--color-white);
            border: 2.5px solid var(--color-black);
            border-radius:50%;
            z-index: 9999;
            -webkit-transition: .2s ease-in-out;
            -moz-transition: .2s ease-in-out;
            -o-transition: .2s ease-in-out;
            transition: .2s ease-in-out;
        }

        /* #acc-header a#hamburger-button:not(.menu-is-open):hover { */
        #acc-header a#hamburger-button:hover {
            -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-black);
            -moz-box-shadow:inset 0px 0px 0px 2px var(--color-black);
            box-shadow:inset 0px 0px 0px 2px var(--color-black);
        }

 

    

            #acc-header a#hamburger-button:hover #hamburger-button-animation:not(.open) span:nth-child(1),
            #acc-header a#hamburger-button:hover #hamburger-button-animation:not(.open) span:nth-child(2) {
                top: 14px;
            }

            #acc-header a#hamburger-button:hover #hamburger-button-animation:not(.open) span:nth-child(3),
            #acc-header a#hamburger-button:hover #hamburger-button-animation:not(.open) span:nth-child(4) {
                top: 21px;
            }

            #acc-header a#hamburger-button:hover #hamburger-button-animation:not(.open) span:nth-child(5),
            #acc-header a#hamburger-button:hover #hamburger-button-animation:not(.open) span:nth-child(6) {
                top: 28px;
            }

            #acc-header a#hamburger-button #hamburger-button-animation {
                width: 20px;
                position: relative;
                -webkit-transform: rotate(0deg);
                -moz-transform: rotate(0deg);
                -o-transform: rotate(0deg);
                transform: rotate(0deg);
                -webkit-transition: .5s ease-in-out;
                -moz-transition: .5s ease-in-out;
                -o-transition: .5s ease-in-out;
                transition: .5s ease-in-out;
                cursor: pointer;
            }

            #acc-header a#hamburger-button #hamburger-button-animation span {
                display: block;
                position: absolute;
                height: 2px;
                width: 25px;
                background-color: var(--color-black);
                opacity: 1;
                -webkit-transform: rotate(0deg);
                -moz-transform: rotate(0deg);
                -o-transform: rotate(0deg);
                transform: rotate(0deg);
                -webkit-transition: .25s ease-in-out;
                -moz-transition: .25s ease-in-out;
                -o-transition: .25s ease-in-out;
                transition: .25s ease-in-out;
            }

            #acc-header a#hamburger-button #hamburger-button-animation span:nth-child(even) {
                left: 50%;
                border-radius: 2px;
            }

            #acc-header a#hamburger-button #hamburger-button-animation span:nth-child(odd) {
                left: 10px;
                border-radius: 2px;
            }

            #acc-header a#hamburger-button #hamburger-button-animation span:nth-child(1),
            #acc-header a#hamburger-button #hamburger-button-animation span:nth-child(2) {
                top: 15px;
            }

            #acc-header a#hamburger-button #hamburger-button-animation span:nth-child(3),
            #acc-header a#hamburger-button #hamburger-button-animation span:nth-child(4) {
                top: 22px;
            }

            #acc-header a#hamburger-button #hamburger-button-animation span:nth-child(5),
            #acc-header a#hamburger-button #hamburger-button-animation span:nth-child(6) {
                top: 29px;
            }

            #acc-header a#hamburger-button #hamburger-button-animation.open span:nth-child(1),
            #acc-header a#hamburger-button #hamburger-button-animation.open span:nth-child(6) {
                -webkit-transform: rotate(45deg);
                -moz-transform: rotate(45deg);
                -o-transform: rotate(45deg);
                transform: rotate(45deg);
            }

            #acc-header a#hamburger-button #hamburger-button-animation.open span:nth-child(2),
            #acc-header a#hamburger-button #hamburger-button-animation.open span:nth-child(5) {
                -webkit-transform: rotate(-45deg);
                -moz-transform: rotate(-45deg);
                -o-transform: rotate(-45deg);
                transform: rotate(-45deg);
            }

            #acc-header a#hamburger-button #hamburger-button-animation.open span:nth-child(1) {
                left: 10px;
                top: 22px;
            }
            #acc-header a#hamburger-button #hamburger-button-animation.open span:nth-child(2) {
                left: 10px;
                top: 22px;
            }

            #acc-header a#hamburger-button #hamburger-button-animation.open span:nth-child(3) {
                opacity: 0;
            }

            #acc-header a#hamburger-button #hamburger-button-animation.open span:nth-child(4) {
                opacity: 0;
            }

            #acc-header a#hamburger-button #hamburger-button-animation.open span:nth-child(5) {
                left: 10px;
                top: 22px;
            }

            #acc-header a#hamburger-button #hamburger-button-animation.open span:nth-child(6) {
                left: 10px;
                top: 22px;
            }

            #acc-header a#hamburger-button #hamburger-button-animation span {
                height:3px;
                top:20px;
            }


        #acc-header #lang-switcher {
            display: flex;
            margin-right:15px;
            width:50px;
            height:50px;
            background-color: var(--color-white);
            border: 2px solid var(--color-black);
            border-radius:50%;
            text-align: center;
            justify-content: center;
            align-items: center;
            color: var(--color-black);
            text-decoration: none;
            z-index: 9999;
            -webkit-transition: .2s ease-in-out;
            -moz-transition: .2s ease-in-out;
            -o-transition: .2s ease-in-out;
            transition: .2s ease-in-out;
        }

        #acc-header #lang-switcher:hover {
            border-width: 4px;
        }



		/*Billy menu styles */

#mega-menu-desktop {
	display:grid;
}

#mega-menu-table-mobile {
	display:none;
}

.mega-menu {
  display: grid;
  grid-template-columns: repeat(3, 1fr); 
  gap: 40px;
  padding: 70px 100px;
  list-style: none;
}


.mega-menu .menu-column ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mega-menu li {
	margin-bottom:0px;
}

.mega-menu .menuTitle {
	margin-bottom:20px;
}

.mega-menu .addedTopPadding  {
	margin-top:55px;
}

.mega-menu .menu-column {
	margin-right:0px;
}

.mega-menu .menuTitle a{
	font-size: 3rem;
    text-decoration: none;
    color: var(--color-black);
    font-weight: 700;
    letter-spacing: -1px;
	text-decoration: none;
}

.mega-menu .menuSubTitle a{
    font-size: 2.5rem;
    font-weight: 300;
    letter-spacing: 0;
    margin-bottom: 25px;
	color: var(--color-black);
	text-decoration: none;
}

.mega-menu h4 {
  margin-bottom: 18px;
  font-weight: bold;
}


 		.mega-menu ul li a {
            position: relative;
            display: inline-block;
            vertical-align: middle;
            -webkit-transform: perspective(1px) translateZ(0);
            transform: perspective(1px) translateZ(0);
            box-shadow: 0 0 1px rgba(0, 0, 0, 0);
            position: relative;
            -webkit-transition-property: color;
            transition-property: color;
            -webkit-transition-duration: 0.5s;
            transition-duration: 0.5s;
        }
        
        .mega-menu ul li a:before {
            content: "";
            position: absolute;
            z-index: -1;
            height: 4px;
            left: 0;
            right: 0;
            border-radius:2px;
            bottom: -5px;
            background: #fff;

            -webkit-transform: scaleX(0);
            transform: scaleX(0);
            -webkit-transform-origin: 0 50%;
            transform-origin: 0 50%;
            -webkit-transition-property: transform;
            transition-property: transform;
            -webkit-transition-duration: 0.5s;
            transition-duration: 0.5s;
            -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out; /**/
        }
        
        .mega-menu ul li a:hover:before,
        .mega-menu ul li a:focus:before,
        .mega-menu ul li a:active:before {
            -webkit-transform: scaleX(1);
            transform: scaleX(1);
            -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
            transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
        }








/* end of billy menu styles */


#flyout-menu {
    position: fixed;
    z-index: 999999;
    top:180px;
    transition: 0.25s;
    width: 75%;
    right: -75%;
    overflow-y: auto;
    background: var(--gradient-orange);
}

#flyout-menu.open {
    right: 0;
}

    #flyout-menu .flyout-menu-inner {
        padding: 70px 100px;
    }

    #flyout-menu .flyout-menu-inner ul#menu-main-menu {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 60px;
        grid-row-gap: 60px;
    }

        #flyout-menu .flyout-menu-inner ul#menu-main-menu li a {
            display:inline-block;
            font-size: 3rem;
            text-decoration: none;
            color: var(--color-black);
            font-weight: 700;
            letter-spacing: -1px;
        }

        #flyout-menu .flyout-menu-inner ul#menu-main-menu > li > a {
            margin-bottom: 15px;
        }

        #flyout-menu .flyout-menu-inner ul#menu-main-menu li ul.sub-menu {
            margin-left:0;
        }

        #flyout-menu .flyout-menu-inner ul#menu-main-menu li ul.sub-menu li a {
            font-size: 2.5rem;
            font-weight: 300;
            letter-spacing: 0;
            margin-bottom: 15px;
        }

        #flyout-menu .flyout-menu-inner ul#menu-main-menu li ul.sub-menu li:last-child a {
            margin-bottom:0;
        }


        /*** Hover Effect for Links ***/

        #flyout-menu .flyout-menu-inner ul#menu-main-menu li a {
            position: relative;
            display: inline-block;
            vertical-align: middle;
            -webkit-transform: perspective(1px) translateZ(0);
            transform: perspective(1px) translateZ(0);
            box-shadow: 0 0 1px rgba(0, 0, 0, 0);
            position: relative;
            -webkit-transition-property: color;
            transition-property: color;
            -webkit-transition-duration: 0.5s;
            transition-duration: 0.5s;
        }
        
        #flyout-menu .flyout-menu-inner ul#menu-main-menu li a:before {
            content: "";
            position: absolute;
            z-index: -1;
            height: 4px;
            left: 0;
            right: 0;
            border-radius:2px;
            bottom: -5px;
            background: #fff;
            -webkit-transform: scaleX(0);
            transform: scaleX(0);
            -webkit-transform-origin: 0 50%;
            transform-origin: 0 50%;
            -webkit-transition-property: transform;
            transition-property: transform;
            -webkit-transition-duration: 0.5s;
            transition-duration: 0.5s;
            -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
        }
        
        #flyout-menu .flyout-menu-inner ul#menu-main-menu li a:hover:before,
        #flyout-menu .flyout-menu-inner ul#menu-main-menu li a:focus:before,
        #flyout-menu .flyout-menu-inner ul#menu-main-menu li a:active:before {
            -webkit-transform: scaleX(1);
            transform: scaleX(1);
            -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
            transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
        }

        


#menu-pusher { /* adds a gap at the top of the page to push down content under the sticky menu */
    width:100%;
    height:180px;
}


/*******************************
ANIMATED SVG TEXT
*******************************/

/***

CALCULATIONS REQUIRED TO SCALE ANIMATION:

300px flash height = 130 web height   

So to scale the height to 130 then caclulate the length 130/300 * 2047 = 887px

If the height is taller then 300 this is do to animated elemetns going higher than the font. 

So you need to calculate how much extra to add to height after using the above function with 300 as height.

So work is 300/510 = .58%

Then you do 130/300 * 1200 =  520 width and then do (130 * 100) /58 = 224.14

***/


#animation_container{
    position: relative;
}

/* height and width for WORK    510 1200 */
.page-id-100 canvas, .page-id-100 #animation_container, .page-id-100 #dom_overlay_container {
    width:calc(520px /var(--scale-animation))!important;
    height:calc(216px /var(--scale-animation))!important;
}

/* height and width for CONTACT 300 1820 */
.page-id-106 canvas, .page-id-106 #animation_container, .page-id-106 #dom_overlay_container {
    width:calc(788px /var(--scale-animation))!important;
    height:calc(130px /var(--scale-animation))!important;   
}

/* height and width for SOLUTIONS  430 2047 */
.page-id-94 canvas, .page-id-94 #animation_container, .page-id-94 #dom_overlay_container { 
    width:calc(895px /var(--scale-animation))!important;
    height:calc(189px /var(--scale-animation))!important;
}

/* height and width for ABOUT   300 1940 */
.page-id-96 canvas, .page-id-96 #animation_container, .page-id-96 #dom_overlay_container {
    width:calc(840px /var(--scale-animation))!important;
    height:calc(130px /var(--scale-animation))!important; 
}

/* height and width for CAREERS 300 1880 */
.page-id-103 canvas, .page-id-103 #animation_container, .page-id-103 #dom_overlay_container {
    width:calc(814px /var(--scale-animation))!important;
    height:calc(130px /var(--scale-animation))!important; 
}



/******************************
INSIDE PAGE HEADER
******************************/




#header-innerpage-wrapper #header-innerpage {
    padding-left: 100px;
    padding-right: 100px;
    width: 100%;
    position:relative;
}

#header-innerpage-wrapper #header-innerpage.case-studies-single-page {
    background-color: var(--color-lightgrey);
}

#header-innerpage-wrapper #header-innerpage.careers-single-page {
    background-color: var(--color-lightgrey);
}

    #header-innerpage-wrapper #header-innerpage > .inner {
        display: flex;
        max-width: 1640px;
        margin: 0 auto;
    }

        #header-innerpage-wrapper #header-innerpage > .inner .title-block {
            width:50%;
        }

            #header-innerpage-wrapper #header-innerpage > .inner .title-block h1 {
                font-size:7rem;
                line-height:7.25rem;
                font-weight:700;
                letter-spacing: -6px;
            }

            #header-innerpage-wrapper #header-innerpage > .inner .title-block.case-study-single h1 {
                font-size:2rem;
                line-height:2rem;
                font-weight:700;
                letter-spacing: -1px;
                margin-bottom: 20px;
            }

            #header-innerpage-wrapper #header-innerpage > .inner .title-block.case-study-single h2 {
                font-size: 4rem;
                line-height: 4rem;
                font-weight:700;
                letter-spacing: -2px;
            }

            #header-innerpage-wrapper #header-innerpage > .inner .title-block.case-study-single h2 em {
                font-style:italic;
            }

            #header-innerpage-wrapper #header-innerpage > .inner .title-block.careers-single h1 {
                font-size:2rem;
                line-height:2rem;
                font-weight:700;
                letter-spacing: -1px;
                margin-bottom: 20px;
            }

            #header-innerpage-wrapper #header-innerpage > .inner .title-block.careers-single h2 {
                font-size: 4rem;
                line-height: 4rem;
                font-weight:700;
                letter-spacing: -2px;
            }

            #header-innerpage-wrapper #header-innerpage > .inner .title-block.blog-single h1 {
                font-size: 4rem;
                line-height: 4rem;
                font-weight:700;
                letter-spacing: -2px;
                margin-bottom: 20px;
            }

            #header-innerpage-wrapper #header-innerpage > .inner .title-block.blog-single h2 {
                font-size: 2rem;
                line-height: 2rem;
                font-weight: 700;
                letter-spacing: -1px;
            }

        #header-innerpage-wrapper #header-innerpage > .inner .description-block {
            /* altered to give more room to right side for animated text */
            width:40%;
            margin-top:20px;
        }

        #header-innerpage-wrapper #header-innerpage > .inner .description-block.case-studies-single-page {
            margin-top:0;
            display: flex;
            align-items: center;
            justify-content: flex-end;
        }

        #header-innerpage-wrapper #header-innerpage > .inner .description-block.careers-single-page {
            margin-top:0;
            display: flex;
            align-items: center;
            justify-content: flex-end;
        }

            #header-innerpage-wrapper #header-innerpage > .inner .description-block .description-header {
                font-size:4rem;
                font-weight: 700;
                letter-spacing: -3px;
                color:var(--color-white);
            }

                #header-innerpage-wrapper #header-innerpage > .inner .description-block .description-body p {
                    font-size:1.25rem;
                    line-height:1.625rem;
                }

                #header-innerpage-wrapper #header-innerpage > .inner .description-block .description-body p:not(:last-child) {
                    margin-bottom:30px;
                }
                    
                    #header-innerpage-wrapper #header-innerpage > .inner .description-block .description-body p strong,
                    #header-innerpage-wrapper #header-innerpage > .inner .description-block .description-body p b {
                        font-weight:800;
                    }

                    #header-innerpage-wrapper #header-innerpage > .inner .description-block .description-body p em,
                    #header-innerpage-wrapper #header-innerpage > .inner .description-block .description-body p i {
                        font-weight:italic;
                    }

#elem-parallax-banner,
#elem-mobile-banner {
    min-height:600px;
}








/******************************
PAGE - DEFAULT
******************************/

body.page-template-default p {
    line-height:26px;
    margin-bottom:20px;
}

    body.page-template-default p strong {
        font-weight:700;
    }



/******************************
PAGE - HOME
******************************/

#home-hero {
    display:flex;
    width:100%;
	height: calc(100vw * 9 / 16);
    justify-content: flex-end;
    background-size: cover;
    background-position: center;
    /* added to keep the background video contained within this as parent */
    overflow: hidden;
    position: relative;
}

    #home-hero img.mobile-only {
        display:none;
        width:100%;
    }

    #home-hero .color-panel {
        display: flex;
        width: 33.34%;
        background-color: rgb(0,0,0,0.75);
        padding:50px;
    }

        #home-hero .color-panel .inner {
            display: flex;
            justify-content: space-between;
            flex-direction: column;
            width: 100%;
        }

            #home-hero .color-panel .inner .bottom-stuff {
                display:block;
                width:100%;
            }

                #home-hero .color-panel .inner .bottom-stuff .bottom-stuff-header {
                    font-size: 3.25rem;
                    color: var(--color-white);
                    margin-bottom: 50px;
                    font-weight: 700;
                    letter-spacing: -1px;
                }

                #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper {
                    display:flex;
                    justify-content: space-between;
                    align-items: flex-start;
                }

                    #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav {
                        display:flex;
                        justify-content: space-between;
                        max-width: 120px;
                    }

                        #home-hero .color-panel .inner p.intro {
                            font-size:1.75rem;
                            font-weight:600;
                            color:var(--color-white);
                            letter-spacing: -1px;
                        }

                        #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav {
                            display: flex;
                            justify-content: center;
                        }
                    
                            #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-left,
                            #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-right {
                                width:50px;
                            }
                    
                            #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-left {
                                margin-right:20px;
                            }
                    
                                #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-left svg.nav-left-svg,
                                #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-right svg.nav-right-svg {
                                    width:100%;
                                    cursor: pointer;
                                }
                    
                                #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-left svg.nav-left-svg .nav-svg-circle,
                                #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-right svg.nav-right-svg .nav-svg-circle {
                                    fill:var(--color-black);
                                }
                    
                                #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-left svg.nav-left-svg.no-bg .nav-svg-circle,
                                #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-right svg.nav-right-svg.no-bg .nav-svg-circle {
                                    fill:none;
                                }
                    
                                    #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-left svg.nav-left-svg:hover .nav-svg-circle,
                                    #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-right svg.nav-right-svg:hover .nav-svg-circle {
                                        fill:var(--color-white);
                                    }
                    
                                #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-left svg.nav-left-svg .nav-svg-arrow,
                                #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-right svg.nav-right-svg .nav-svg-arrow {
                                    fill:var(--color-white);
                                }
                    
                                #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-left svg.nav-left-svg:hover .nav-svg-arrow.has-hover-state,
                                #home-hero .color-panel .inner .bottom-stuff .hero-buttons-wrapper .hero-nav .nav-right svg.nav-right-svg:hover .nav-svg-arrow.has-hover-state {
                                        fill:var(--color-black);
                                    }






#client-list {
    display:grid;
    grid-template-columns: repeat(5, 1fr);
    padding:100px;
}

#client-list .client-block img {
    display: block;
}

#client-slider {
    display:none;
    width:100%;
}

#client-slider .client-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
}

#client-slider img {
    display:block;
}



.background-video {
    position: absolute;
    width: 100%;
    height:100%;
    z-index: 0; /* Ensure the video is behind the content */
    object-fit: cover;
}

#hero-background-video {
   /* width: 100vw;
    object-fit: cover;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;*/
	 width: 100vw;
    height: auto;
    object-fit: contain; /* or cover */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
 }

body.page-template-page-home .lg-sub-html {
    padding-left:20px;
    padding-right:20px;
}

body.page-template-page-home .lg-sub-html h3 {
    font-size: 1.5rem;
    font-weight: 700;
    display: block;
}

body.page-template-page-home .lg-sub-html p {
    font-size:1rem;
}

.lg-sub-html sup {
    vertical-align: top; 
    position: relative;
    top:  -0.3em;
    font-size:85%;
}

#government-standing-offers {
    background-color: var(--color-black);
}

    #government-standing-offers .government-standing-offers-title {
        font-size: 4.375rem;
        font-weight: 700;
        letter-spacing: -3px;
    }






/******************************
PAGE - SOLUTIONS
******************************/


#solutions-index-block {
    padding-left: 100px;
    padding-right: 100px;
}

#solutions-index-block > .inner {
    max-width: 1640px;
    margin: 0 auto;
}

#solutions-index-block h2 {
    display:block;
    border-bottom:2px solid var(--color-black);
}

#solutions-index-block .impact-grid {
    display:flex;
    justify-content: space-between;
    padding-top:50px;
}

    #solutions-index-block .impact-grid .intro {
        width:400px;
    }

    #solutions-index-block .impact-grid .solutions-links {
        flex:1;
    }

    #solutions-index-block .impact-grid .solutions-links .links-section {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: 1fr;
        grid-column-gap: 0px;
        grid-row-gap: 30px;
        padding-left:60px;
    }

    #solutions-index-block .impact-grid .solutions-links .links-section .sol-column ul {
        list-style-type: none;
    }

        #solutions-index-block .impact-grid .solutions-links .links-section .sol-column ul li {
            position:relative;
            margin:0;
            padding:0;
            padding-left:20px;
            line-height:2rem;
            font-size: 1.2rem;
        }

        #solutions-index-block .impact-grid .solutions-links .links-section .sol-column ul li::before {
            position:absolute;
            top: 7px;
            left: -7px;
            content:'';
            width: 15px;
            background-image:url('/wp-content/themes/accurate/images/icon-arrow-right.svg');
            background-position:center;
            background-repeat: no-repeat;
            height: 15px;
            transition: all 300ms;
        }

        #solutions-index-block .impact-grid .solutions-links .links-section .sol-column ul li.has-link:hover::before {
            left:0;
        }

        #solutions-index-block .impact-grid .solutions-links .links-section .sol-column ul li a {
            color:var(--color-black);
        }


.testimonials-block.special {
    align-items: flex-end;
    padding-top:100px;
    padding-left:0;
}


    .testimonials-block.special .testimonials-slider .testimonials-slide .quote-content .quote-text p {
        font-size: 3rem;
        line-height: 3.2rem;
        letter-spacing: -2px;
    }

     .testimonials-block.special .testimonials-nav .nav-left .arrow-button,
     .testimonials-block.special .testimonials-nav .nav-right .arrow-button {
        border-radius:50%;
        transition:background-color 100ms ease-out;
        cursor:pointer;
     }


        .testimonials-block.special .testimonials-nav .nav-left .arrow-button:hover,
        .testimonials-block.special .testimonials-nav .nav-right .arrow-button:hover {
            background-color:var(--color-white);
        }



        .testimonials-block.special .testimonials-slider .testimonials-slide img.quote-mark {
            width:80px;
            transform-origin: center bottom;
            animation: dock-bounce-subtle 5700ms cubic-bezier(.25,.7,.3,1) infinite;
        }



    /* Subtle Dock bounce keyframes */
    @keyframes dock-bounce-subtle {
        0%    { transform: translateY(0); }
        2.5%  { transform: translateY(15px); } /* jump */
        5%    { transform: translateY(0); }
        7%    { transform: translateY(5px); }  /* rebound */
        12.3% { transform: translateY(0); }     /* bounce done at 700ms */
        100%  { transform: translateY(0); }     /* pause until end */
    }







#solutions-grid-wrapper {
    padding-left: 100px;
    padding-right: 100px;
    width: 100%;
}

    #solutions-grid-wrapper > .inner {
        max-width: 1640px;
        margin: 0 auto;
    }

        #solutions-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-column-gap: 150px;
            grid-row-gap: 0px;
        }

            #solutions-grid-title-mobile {
                display:none;
            }

            #solutions-grid .solution.div1 { grid-area: 1 / 2 / 3 / 4; }
            #solutions-grid .solution.div2 { grid-area: 1 / 1 / 2 / 2; }
            #solutions-grid .solution.div3 { grid-area: 2 / 1 / 3 / 2; }
            #solutions-grid .solution.div4 { grid-area: 3 / 1 / 4 / 2; }
            #solutions-grid .solution.div5 { grid-area: 4 / 1 / 5 / 2; }
            #solutions-grid .solution.div6 { grid-area: 5 / 1 / 6 / 2; }
            #solutions-grid .solution.div7 { grid-area: 3 / 2 / 4 / 3; }
            #solutions-grid .solution.div8 { grid-area: 4 / 2 / 5 / 3; }
            #solutions-grid .solution.div9 { grid-area: 5 / 2 / 6 / 3; }
            #solutions-grid .solution.div10 { grid-area: 3 / 3 / 4 / 4; }
            #solutions-grid .solution.div11 { grid-area: 4 / 3 / 5 / 4; }
            #solutions-grid .solution.div12 { grid-area: 5 / 3 / 6 / 4; }

            #solutions-grid .solution .hardrule-container .hardrule-flexwrapper {
                max-width:100%;
                width:100%;
                display:flex; /* allows for inner container to split to fit in icon */
                align-items: flex-start;
            }

                #solutions-grid .solution .hardrule-container .hardrule-flexwrapper .left {
                    width:70px;
                    padding-right:20px;
                }

                #solutions-grid .solution .hardrule-container .hardrule-flexwrapper .left img {
                    display:block;
                    width:70px;
                    height:auto;
                }

                #solutions-grid .solution .hardrule-container .hardrule-flexwrapper .right {
                    flex:1;
                    padding-top:10px;
                }




            .add-over-hang {
                padding-right: 0px!important;
            }

                .add-over-hang .text-l {
                    margin-right:-60px;
                }

            #success-box {
                width:100%;
                background-position: center;
                background-repeat:no-repeat;
                background-size:cover;
                /**  added for video */
                position: relative;
                height: 100%;
                background-color: #595963;
            }

                #success-box img.banner-mobile {
                    display:none;
                    width:100%;
                }

                #success-box .box-content {
                    width:52%;
                    margin:0 auto 0 0;
                }

                #success-box .box-content p.description-details {
                    width:57%;
                }

                #success-box > .left-side {
                    display: block;
                    max-width: 1640px;
                    margin: 0 auto;
                    margin-left: 100px;
                    margin-right: 100px;
                    background-color: #595963;
                }
                
                #success-box .rigth-side {
                    display: block;
                    max-width: 1640px;
                    margin: 0 auto;
                    width:auto;
                    background-image: url('/wp-content/uploads/2024/10/Solutions_meeting-oneSide.jpg');
                }

#strengths-grid-wrapper {
    padding-left: 100px;
    padding-right: 100px;
    width: 100%;
}

    #strengths-grid-wrapper > .inner {
        max-width: 1640px;
        margin: 0 auto;
    }

        #strengths-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-column-gap: 150px;
            grid-row-gap: 0px;
        }

#its-in-our-name-block .title {    
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 2.75rem;
    letter-spacing: 0;
}

    #its-in-our-name-block .inner-block.first {
        flex-direction: column;
        justify-content: space-between;
    }

    #its-in-our-name-block #acc-icon {
        display: block;
        max-width: 400px;
        padding:80px 30px 0 30px;
    }





/******************************
ABOUT
******************************/

#people-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 0;
    grid-row-gap: 15px;
}

    #people-grid .person-block {
        display: block;
        width:100%;
        position: relative;
        overflow: hidden;
    }

        #people-grid .person-block .person-photo {
            display:block;
            width:100%;
        }

        #people-grid .person-block .tab-short,
        #people-grid .person-block .tab-full .basics {
            width:100%;
            display: flex;
            align-items: flex-end;
        }

            #people-grid .person-block .tab-short {
                background: var(--gradient-grey);
                cursor:pointer;
            }

                #people-grid .person-block .tab-short:hover .right a.arrow-button {
                    -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                    -moz-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                    box-shadow:inset 0px 0px 0px 2px var(--color-black);
                }


            #people-grid .person-block .tab-short,
            #people-grid .person-block .tab-full .basics {
                width:100%;
                display:flex;
                justify-content: space-between;
                align-items: flex-end;
                padding:45px;
            }

                #people-grid .person-block .tab-short .left,
                #people-grid .person-block .tab-full .basics .left {
                    flex:1;
                    height: 100%;
                    margin-right:15px;
                }

                #people-grid .person-block .tab-short .right,
                #people-grid .person-block .tab-full .basics .right {
                    height: 100%;
                }

                    #people-grid .person-block .tab-short .right a.arrow-button,
                    #people-grid .person-block .tab-full .basics .right a.arrow-button {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        width: 50px;
                        border: 2px solid var(--color-black);
                        border-radius: 50%;
                        transition: all .2s ease-out;
                        margin-right: 15px;
                    }

                        #people-grid .person-block .tab-full .basics .right a.arrow-button:hover {
                            -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                            -moz-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                            box-shadow:inset 0px 0px 0px 2px var(--color-black);
                        }

                        #people-grid .person-block .tab-short .right a.arrow-button img,
                        #people-grid .person-block .tab-full .basics .right a.arrow-button img {
                            display:block;
                            width:100%;
                        }

                #people-grid .person-block .tab-short .left .person-name {
                    font-size:1.5rem; /* 1.75rem */
                }

                #people-grid .person-block .tab-short .left .person-title {
                    font-size:1rem; /* 1.25rem */
                    line-height:1.5rem;
                }

        #people-grid .person-block .tab-full {
            position:absolute;
            bottom:0;
            width:100%;
            height:100%;
            background: var(--gradient-blue);
            transform: translate3d(0, 120%, 0); /* y = 120% instead of 100% to push it down far enough that it's not overlapping the toggle button, preventing clickability on mobile screens */
            opacity:0;
            transition: all .25s ease-out;
        }

            #people-grid .person-block.active .tab-full {
                transform: translate3d(0, 0, 0);
                opacity:1;
            }

        #people-grid .person-block .tab-full .inner {
            width:100%;
            height:100%;
            display: flex;
            align-items: flex-end;
        }

            #people-grid .person-block .tab-full .inner .inner-inner {
                width:100%;
            }

            #people-grid .person-block .tab-full .inner .inner-inner .details {
                width:100%;
                padding:0 45px 50px 45px;
            }

                #people-grid .person-block .tab-full .inner .inner-inner .details .hardrule {
                    border-top:2px solid var(--color-black);
                    padding-top:30px;
                }

                #people-grid .person-block .tab-full .inner .inner-inner .details .expertise {
                    width:100%;
                    margin-bottom:40px;
                }

                    #people-grid .person-block .tab-full .inner .inner-inner .details .expertise ul {
                        list-style-type: "–";
                        font-size: 1.25rem;
                        line-height: 1.625rem;
                        padding-left:20px;
                    }

                        #people-grid .person-block .tab-full .inner .inner-inner .details .expertise ul li {
                            padding-left:10px;
                        }

                #people-grid .person-block .tab-full .inner .inner-inner .details .contact-block {
                    width:100%;
                    display:flex;
                    align-content: space-between;
                    align-items:center;
                }

                    #people-grid .person-block .tab-full .inner .inner-inner .details .contact-block .cb-left {
                        display:flex;
                        align-content: flex-start;
                    }

                        #people-grid .person-block .tab-full .inner .inner-inner .details .contact-block .cb-left a.email-button,
                        #people-grid .person-block .tab-full .inner .inner-inner .details .contact-block .cb-left a.linkedin-button {
                            display:flex;
                            justify-content: center;
                            align-items: center;
                            width:50px;
                            border:2px solid var(--color-black);
                            border-radius:50%;
                            transition: all .2s ease-out;
                            margin-right:15px;
                        }

                            #people-grid .person-block .tab-full .inner .inner-inner .details .contact-block .cb-left a.email-button:hover,
                            #people-grid .person-block .tab-full .inner .inner-inner .details .contact-block .cb-left a.linkedin-button:hover {
                                -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                                -moz-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                                box-shadow:inset 0px 0px 0px 2px var(--color-black);
                            }

                                #people-grid .person-block .tab-full .inner .inner-inner .details .contact-block .cb-left a.email-button img,
                                #people-grid .person-block .tab-full .inner .inner-inner .details .contact-block .cb-left a.linkedin-button img {
                                    display:block;
                                }


                    #people-grid .person-block .tab-full .inner .inner-inner .details .contact-block .cb-right {
                        flex:1;
                        justify-content: flex-end;
                        display: flex;
                    }

                    #people-grid .person-block .tab-full .inner .inner-inner .details .contact-block .cb-right a.phone {
                        text-decoration: underline;
                        color:var(--color-black);
                    }



#our-culture-photo {
    display:block;
    width:100%;
}

.fixed-content-wrapper#team .sidebyside .left-side {
    padding-right:0;
}

.fixed-content-wrapper#team .sidebyside .left-side .hardrule-container {
    max-width:100%;
}




/******************************
WORK
******************************/

.inline-gallery-container {
    width: 100%;
    height: 0;
    padding-bottom: 65%;
}

/*** Work ***/

#case-studies-wrapper {
    
}

.fixed-content-wrapper#work-page-gallery > .inner {
    margin-bottom:100px;
}



/*** Case Studies ***/

.hydroMobileWebAnimated{
	background-image:url('/wp-content/uploads/2025/02/hydroWebPage_full.jpg');
	background-size: 100% auto; /* Fit width, auto-adjust height */
  	background-position: top center; /* Position at the top center */
  	background-repeat: no-repeat; /* Prevent image repetition */
	animation: moveBackground 28s linear infinite;
	overflow:hidden;
}

.scrollingWebPage{
	overflow:hidden;
}

@keyframes moveBackground {
  0% {
    background-position: top center;
  }
  5% {
	background-position: top center;	
  }	
  95% {
    background-position: bottom center;
  }
  100%{
	background-position: top center;	
  }
}


.textOvervideo {
    padding-left:100px!important;
    padding-right:100px!important;
}

.caseStudyInnerSection {
    padding-left:100px!important;
    padding-right:100px!important;
}




#paralaxVideo-section {
    position: relative;
    overflow: hidden;
}

#paralaxVideo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    z-index: -1;
}

#paralaxImage-section {
    position: relative;
    overflow: hidden;
    min-height:666px;
}
#paralaxImage {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(0%, -50%);
    min-width: 100%;
    min-height: 100%;
    z-index: -1;
}


.elementor-counter .elementor-counter-title {
    text-align: center;
}




.work-block {
    overflow: hidden;
}

    .work-block .clear-both {
        clear: both;
    }


    /*** OMN Case Study Page ***/
    #omn-casestudy-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, 1fr);
        grid-column-gap: 20px;
        grid-row-gap: 20px;
    }
            
        #omn-casestudy-grid .omn-gridblock img { 
            width:100%;
            height:100%;
        }
        
        #omn-casestudy-grid .omn-gridblock1 { grid-area: 1 / 1 / 3 / 2; }
        #omn-casestudy-grid .omn-gridblock2 { grid-area: 1 / 2 / 2 / 3; }
        #omn-casestudy-grid .omn-gridblock3 { grid-area: 1 / 3 / 2 / 4; }
        #omn-casestudy-grid .omn-gridblock4 { grid-area: 2 / 2 / 3 / 3; }
        #omn-casestudy-grid .omn-gridblock5 { grid-area: 2 / 3 / 3 / 4; }


.stretch-to-grid img {
    display: block !important;
    width:100%;
    height:100% !important;
    object-fit: cover;
}





/*** Gallery (Filterable) ***/

.galleryExtraSpaceBottom{
    padding-bottom:140px;
}

.gallerygrid {
    background: #fff;
    width:100%;
    margin:0 auto;
  } 
    
    .gallerygrid:after {
        content: '';
        display: block;
        clear: both;
    }
    
    /* ---- grid-item ---- */
    
    .gallerygrid .gallerygrid-sizer,
    .gallerygrid .gallerygrid-item {
        width: 33.3%;
    }

    .gallerygrid .gallerygrid-item {
        float: left;
        position: relative;
        overflow: hidden;
        
    }

        .gallerygrid .gallerygrid-item img.thumbnail {
            display:block;
            width:100%;
            height:100%;
        }

        .gallerygrid .gallerygrid-item .gallery-video {
            width: 100%;
            height: 100%;
        }

        .gallerygrid .gallerygrid-item .tab-short {
            width:100%;
            position: absolute;
            display: flex;
            align-items: flex-end;
            background: var(--gradient-blue);
            justify-content: space-between;
            padding:45px;
            transition: transform 250ms;
            color:var(--color-black);
        }

            .gallerygrid .gallerygrid-item .tab-short.active {
                transform:translateY(-100%);
            }

                .gallerygrid .gallerygrid-item .tab-short .left {
                    flex:1;
                    height: 100%;
                    margin-right:15px;
                }

                .gallerygrid .gallerygrid-item .tab-short .right {
                    height: 100%;
                }

                    .gallerygrid .gallerygrid-item .tab-short .right .arrow-button {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        width: 50px;
                        border: 2px solid var(--color-black);
                        border-radius: 50%;
                        transition: all .2s ease-out;
                        margin-right: 15px;
                    }

                        .gallerygrid .gallerygrid-item .tab-short .right .arrow-button img {
                            display:block;
                            width:100%;
                        }

body .lg-sub-html {
    padding-left:20px;
    padding-right:20px;
}

body .lg-sub-html h3 {
    font-size: 1.5rem;
    font-weight: 700;
    display: block;
}

body .lg-sub-html p {
    font-size:1rem;
}




#nav-list {
    position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
    margin-top: 80px;
    margin-bottom: 50px;
}

    body.page-template-page-blog #nav-list {
        margin-bottom:90px;
    }

    #nav-list .overlay {
        position: absolute;
        border-bottom:4px solid var(--color-black);
        border-radius:0;
        width:100px;
        z-index: -1;
        transition: all 250ms ease-out;
    }

    #nav-list ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }

        #nav-list ul li {
            list-style-type: none;
            padding:15px;
        }

    #nav-list ul li a {
        color:var(--color-black);
        font-size:1.375rem;
        font-weight:600;
        text-decoration: none;
    }




/******************************
CASE STUDIES (SINGLE)
******************************/

body.single-case-studies p {
    line-height:26px;
    margin-bottom:20px;
}

    body.single-case-studies p strong,
    body.single-case-studies p b {
        font-weight:700;
    }

    body.single-case-studies p em,
    body.single-case-studies p i {
        font-style:italic;
    }

    #nav-list {
        display:inline-block;
    }
    #dropdown-menu {
        display:none;
    }

.postnav-wrapper {
    display:flex;
    justify-content: flex-end;
}

.postnav-wrapper a.arrow-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    border: 2px solid var(--color-black);
    border-radius: 50%;
    transition: all .2s ease-out;
}

    .postnav-wrapper a.arrow-button.prev {
        margin-right: 15px;
    }
    
        .case-studies-single-page .postnav-wrapper a.arrow-button.prev {
            align-self: start;
        }

    .postnav-wrapper a.arrow-button.next {
        margin-left:5px;
    }

        .case-studies-single-page .postnav-wrapper a.arrow-button.next {
            align-self: start;
        }

    .postnav-wrapper a.arrow-button img {
        display:block;
        width:100%;
    }

.postnav-wrapper a.arrow-button:hover {
    -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-black);
    -moz-box-shadow:inset 0px 0px 0px 2px var(--color-black);
    box-shadow:inset 0px 0px 0px 2px var(--color-black);
}

.animatedWebPage {
    background-image: url('/wp-content/uploads/2024/07/AnimatedWeb-scaled.jpg');
    background-position: top center;
    animation: fakeAnimatedWebPage 80s linear infinite !important;
    animation-delay: 3s !important;
    cursor: grab; /* Changes cursor to indicate the element can be dragged */
}


.animatedWebPage2 {
    background-image: url('/wp-content/uploads/2024/08/AnimatedWeb_2.jpg');
    background-size: 100% auto;
    background-position: top center;
    animation: fakeAnimatedWebPage 40s linear infinite !important;
    animation-delay: 3s !important;
}

/* Additional styles when dragging */
.animatedWebPage.dragging {
    cursor: grabbing;
    animation: none; /* Stop animation when dragging */
}


@keyframes fakeAnimatedWebPage {
    0% {
        background-position: center top;
    }
    50% {
        background-position: center bottom;
    }
    100% {
        background-position: center top;
    }
}




.elementor-widget-video .elementor-wrapper video {
    background-color: #ffffff!important;
}





/*** Case Studies Footer ***/

.hr {
    width:100%;
    height:15px;
    padding-top:20px;
    border-top:1px solid #000;
}

.case-studies-nav-footer {
    width:100%;
    display:flex;
    align-items: center;
    justify-content: space-between;
}

a.other-case-studies {
    display: inline-block;
    font-weight: 700;
    font-size: 1.5rem;
    color:var(--color-black);
    text-decoration: none;
    letter-spacing: -0.5px;
}

    a.other-case-studies:hover,
    a.other-case-studies:active {
        text-decoration: underline;
    }






/******************************
CAREERS
******************************/

#careers-grid-wrapper {
    width: 100%;
}

    #careers-grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-column-gap: 0;
        grid-row-gap: 0;
    }

        #careers-grid .career-post {
        }

            #careers-grid .career-post .hardrule-container {
                display:block;
                margin-left:auto;
                margin-right:auto;
            }

            #careers-grid .career-post .hardrule-container .title {
            }

            #careers-grid a.arrow-button {
                display: flex;
                justify-content: center;
                align-items: center;
                width: 50px;
                border: 2px solid var(--color-black);
                border-radius: 50%;
                transition: all .2s ease-out;
                margin-right: 15px;
            }

                #careers-grid a.arrow-button img {
                    display:block;
                    width:100%;
                }

            #careers-grid a.arrow-button:hover {
                -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                -moz-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                box-shadow:inset 0px 0px 0px 2px var(--color-black);
            }


.fixed-content-wrapper#our-culture-block .sidebyside .left-side {
    padding-right:0;
}

.fixed-content-wrapper#our-culture-block .sidebyside .left-side .hardrule-container {
    max-width:100%;
}

.socialphotos-grid {
    display:flex;
}

.socialphotos-grid img {
    width:100%;
    margin-bottom:10px;
}

    .socialphotos-grid .left {
        width:50%;
        margin-right:10px;
    }

        .socialphotos-grid .left img {
            display:block;
        }

    .socialphotos-grid .right {
        width:50%;
    }

        .socialphotos-grid .right img {
            display:block;
        }

    
.triple-block#our-culture-triple-block .icon-title {
    display:flex;
    justify-content: flex-start;
    align-items:flex-start;
    width:100%;
}

    .triple-block#our-culture-triple-block .inner-block {
        display:block;
    }

    .triple-block#our-culture-triple-block .icon-title img.icontitle-icon {
        display:block;
        width:50px;
    }

    .triple-block#our-culture-triple-block .icon-title p.title {
        flex:1;
        margin-top: 10px;
        margin-left: 30px;
    }

.triple-block#our-culture-triple-block .hardrule-container {
    padding-left:80px;
}


.triple-block .inner-flex{
	display:flex;
	margin: auto;
    max-width: 1640px;
}




#careerform-wrapper .inner {
    display:flex;
    max-width:1640px;
}

    #careerform-wrapper .inner .left {
        width:calc(50% - 60px);
        margin-right:60px;
    }

    #careerform-wrapper .inner .right {
        width:50%;
    }

        #gform_wrapper_2 > * {
            font-family: "Montserrat", sans-serif;
        }

        #gform_submit_button_2 {
            cursor: pointer;
            align-items: center;
            justify-content: center;
            padding: 10px 20px;
            width: fit-content;
            background-color: var(--color-white);
            border: 2px solid var(--color-black);
            border-radius: 25px;
            color: var(--color-black);
            text-decoration: none;
            font-size: 1.25rem;
            line-height: 1.3em;
            font-weight: 700;
            transition: all .2s ease-out;
            -webkit-box-shadow: inset 0px 0px 0px 0px var(--color-black);
            -moz-box-shadow: inset 0px 0px 0px 0px var(--color-black);
            box-shadow: inset 0px 0px 0px 0px var(--color-black);
        }

            #gform_submit_button_2:hover {
                -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                -moz-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                box-shadow:inset 0px 0px 0px 2px var(--color-black);
            }

        #gform_wrapper_2 .gform_required_legend {
            margin-bottom:40px;
            font-size:1.25rem;
        }


        #gform_wrapper_2 input:not(#input_2_8,[type='submit']), /* apply to all except file upload form */
        #gform_wrapper_2 textarea {
            border: 2px solid var(--color-black);
            padding: 23px 30px;
            border-radius: 30px;
            font-size: 1.25rem;
        }

        #gform_wrapper_2 #input_2_8 {
            font-size:1.25rem;
        }

        #gform_wrapper_2 .gfield_label {
            font-size:1.25rem;
        }

        #gform_wrapper_2 .gform-field-label--type-sub {
            font-size:1.25rem;
        }

        #gform_wrapper_2 span.gfield_required {
            font-size: 1.25rem;
            color:var(--color-black);
        }

        #gform_wrapper_2 .gform_fileupload_rules {
            font-size:1.25rem;
        }

        #gform_wrapper_2 .gform_submission_error {
            font-size:1.25rem;
        }

        #gform_wrapper_2 .gfield_validation_message {
            font-size:1.25rem;
        }

        #gform_confirmation_message_2 {
            font-family: "Montserrat", sans-serif;
            color:var(--color-black);
            font-size:1.25rem;
            display:inline-block;
            padding:20px 40px;
            border-radius: 30px;
            background-color: var(--color-green);
        }


/******************************
CAREERS (SINGLE)
******************************/

body.single-acc-careers p {
    line-height:26px;
    margin-bottom:20px;
}

    body.single-acc-careers p strong,
    body.single-acc-careers p b {
        font-weight:700;
    }

    body.single-acc-careers p em,
    body.single-acc-careers p i {
        font-style:italic;
    }



/******************************
CONTACT
******************************/

#contact-wrapper .inner {
    display:flex;
}

.gform_required_legend {
    display:none;
}

    #contact-wrapper .inner .left {
        width:calc(50% - 150px);
        margin-right:150px;
    }

    #contact-wrapper .inner .right {
        width:50%;
    }

    #contact-wrapper .right .contact-form {
        padding-bottom:60px;
    }

    #contact-wrapper #contact-details {

    }

        #contact-wrapper #contact-details p {
            font-size:1.25rem;
            line-height:2rem;
            margin-bottom:10px;
        }

            #contact-wrapper #contact-details p strong,
            #contact-wrapper #contact-details p b {
                font-weight:800;
            }

            #contact-wrapper #contact-details p em,
            #contact-wrapper #contact-details p i {
                font-style:italic;
            }

        #contact-wrapper #contact-details a {
            color:var(--color-black);
        }



        /* Contact Form */

        #gform_wrapper_3 > * {
            font-family: "Montserrat", sans-serif;
        }

        #gform_submit_button_3 {
            cursor: pointer;
            align-items: center;
            justify-content: center;
            padding: 10px 20px;
            width: fit-content;
            background-color: var(--color-white);
            border: 2px solid var(--color-black);
            border-radius: 25px;
            color: var(--color-black);
            text-decoration: none;
            font-size: 1.25rem;
            line-height: 1.3em;
            font-weight: 700;
            transition: all .2s ease-out;
            -webkit-box-shadow:inset 0px 0px 0px 0px var(--color-black); /* must define this here or else hover transition won't work */
            -moz-box-shadow:inset 0px 0px 0px 0px var(--color-black); /* must define this here or else hover transition won't work */
            box-shadow:inset 0px 0px 0px 0px var(--color-black); /* must define this here or else hover transition won't work */
        }

            #gform_submit_button_3:hover {
                -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                -moz-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                box-shadow:inset 0px 0px 0px 2px var(--color-black);
            }


        #gform_wrapper_3 .gform_required_legend {
            margin-bottom:40px;
            font-size:1.25rem;
        }

        #gform_wrapper_3 input:not([type='submit']),
        #gform_wrapper_3 textarea {
            border: 2px solid var(--color-black);
            padding: 23px 30px;
            border-radius: 30px;
            font-size: 1.25rem;
        }

        #gform_wrapper_3 #input_3_8 {
            font-size:1.25rem;
        }

        #gform_wrapper_3 .gfield_label {
            font-size:1.25rem;
        }

        #gform_wrapper_3 .gform-field-label--type-sub {
            font-size:1.25rem;
        }

        #gform_wrapper_3 span.gfield_required {
            font-size: 1.25rem;
            color:var(--color-black);
        }

        #gform_wrapper_3 .gform_submission_error {
            font-size:1.25rem;
        }

        #gform_wrapper_3 .gfield_validation_message {
            font-size:1.25rem;
        }

        #gform_confirmation_message_3 {
            font-family: "Montserrat", sans-serif;
            color:var(--color-black);
            font-size:1.25rem;
            display:inline-block;
            padding:20px;
            background-color: var(--color-green);
        }

        p#required-fields-msg {
            display:block;
            margin:0;
        }


/* PROCUREMENT Contact Form */

.page-id-3313 a {
  text-decoration: none !important;
}

.page-id-3322 a {
  text-decoration: none !important;
}

        #gform_wrapper_4 > * {
            font-family: "Montserrat", sans-serif;
        }

        #gform_submit_button_4 {
            cursor: pointer;
            align-items: center;
            justify-content: center;
            padding: 10px 20px;
            width: fit-content;
            background-color: var(--color-white);
            border: 2px solid var(--color-black);
            border-radius: 25px;
            color: var(--color-black);
            text-decoration: none;
            font-size: 1.25rem;
            line-height: 1.3em;
            font-weight: 700;
            transition: all .2s ease-out;
            -webkit-box-shadow:inset 0px 0px 0px 0px var(--color-black); /* must define this here or else hover transition won't work */
            -moz-box-shadow:inset 0px 0px 0px 0px var(--color-black); /* must define this here or else hover transition won't work */
            box-shadow:inset 0px 0px 0px 0px var(--color-black); /* must define this here or else hover transition won't work */
        }

            #gform_submit_button_4:hover {
                -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                -moz-box-shadow:inset 0px 0px 0px 2px var(--color-black);
                box-shadow:inset 0px 0px 0px 2px var(--color-black);
            }


        #gform_wrapper_4 .gform_required_legend {
            margin-bottom:40px;
            font-size:1.25rem;
        }

        #gform_wrapper_4 input:not([type='submit']),
        #gform_wrapper_4 textarea {
            border: 2px solid var(--color-black);
            padding: 23px 30px;
            border-radius: 30px;
            font-size: 1.25rem;
        }

        #gform_wrapper_4 #input_3_8 {
            font-size:1.25rem;
        }

        #gform_wrapper_4 .gfield_label {
            font-size:1.25rem;
        }

        #gform_wrapper_4 .gform-field-label--type-sub {
            font-size:1.25rem;
        }

        #gform_wrapper_4 span.gfield_required {
            font-size: 1.25rem;
            color:var(--color-black);
        }

        #gform_wrapper_4 .gform_submission_error {
            font-size:1.25rem;
        }

        #gform_wrapper_4 .gfield_validation_message {
            font-size:1.25rem;
        }

        #gform_confirmation_message_4 {
            font-family: "Montserrat", sans-serif;
            color:var(--color-black);
            font-size:1.25rem;
            display:inline-block;
            padding:20px;
            background-color: var(--color-green);
        }




        
/******************************
WORK ARCHIVE
******************************/


/*** LANDING PAGE ***/

body.page-template-page-work-archive #header-innerpage-wrapper #header-innerpage {
    background-image: url('/wp-content/themes/accurate/images/acc_archive.png');
    background-repeat: no-repeat;
    background-size:cover;
    background-position: bottom;
}


body.page-template-page-work-archive #header-innerpage-wrapper #header-innerpage > .inner .title-block h1 {
    max-width:fit-content;
    margin-top:70px; /* JUST for this page's title... makes banner taller so we can see the yellow block character */
    background-color: #000;
    color:var(--color-white);
    padding:10px;
}

body.page-template-page-work-archive #header-innerpage-wrapper #header-innerpage > .inner .title-block h2 {
    max-width:fit-content;
    margin-bottom:70px;  /* JUST for this page's title... makes banner taller so we can see the yellow block character */
    color:var(--color-white);
    background-color: #000;
    padding:10px;
}







#work-archive-list {
    background-color: #fff;
    color:#000;
    padding: 40px 80px;
}

#work-archive-list .project {
    display:table;
    width:100%;
    margin-bottom:20px;
    border-bottom:1px solid #000;
    padding-bottom:20px;
}

#work-archive-list .project .thumb {
    width: 15%;
    display:table-cell;
    vertical-align: middle;
}

#work-archive-list .project .thumb a {
    display:block;
    width:100%;
}

#work-archive-list .project .thumb img {
    width:100%;
    height:auto;
    display:block;
    padding-right:30px;
}

#work-archive-list .project .content {
    display: table-cell;
    vertical-align: middle;
    width: 70%;
}

#work-archive-list .project .content h2 {
    color:#000;
}

    #work-archive-list .project .content h2 a {
        color:#000;
        font-size:1.5rem;
        font-weight:700;
        line-height: 1.75rem;
        margin-bottom: 20px;
        text-decoration: none;
        display:inline-block;
    }

        #work-archive-list .project .content h2 a:hover,
        #work-archive-list .project .content h2 a:active {
            text-decoration: underline;
        }

#work-archive-list .project .content p {
    font-family: 'Montserrat' !important;
    font-size: 1.125rem;
    line-height: 1.5rem;
    color:#000;
    margin-bottom: 0;
}

    #work-archive-list .project .content p sup {
        top: -0.4rem;
        font-size: 85%
    }

#work-archive-list .project .cats {
    display: table-cell;
    vertical-align: middle;
    width: 13%;
    padding-left:2%;
    color:#999;
    font-family: 'Montserrat' !important;
    font-size: 1.125rem;
    line-height: 1.5rem;
    margin-bottom: 0;
}

.services-provided h3 {
    font-weight:normal;
}

#project-quicksearch {
    font-family: 'Montserrat' !important;
    width:100%;
    padding:20px;
    background-color:#999;
    color:#fff;
    margin-bottom:50px;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    #project-quicksearch label {
        font-weight:bold;
        font-size: 1.125rem;
        line-height: 1.5rem;
        color:var(--color-white);
        margin-bottom: 0;
    }

    #project-quicksearch input {
        font-family: 'Montserrat' !important;
        margin-left:20px;
        padding:10px;
        width: 400px;
        border:none;
        border-radius: 3px;
    }

#project-cats-filter {
    width:100%;
    display:block;
    margin-bottom:30px;
}

    #project-cats-filter label {
        display:none;
    }

    #project-cats-filter .cats-block {
        width:100%;
        display:flex;
        flex-wrap:wrap;
        justify-content: center;
        align-items:center;
    }

        #project-cats-filter .cats-block a {
            display: inline-block;
            background-color: #000;
            color: #fff;
            padding: 10px 30px;
            text-decoration: none !important;
            font-weight: bold !important;
            font-size: 1em;
            font-family: 'Montserrat' !important;
            border-radius: 3px;
            -webkit-transition: all .15s;
            -o-transition: all .15s;
            transition: all .15s;
            border: none;
            margin: 10px;
        }

        #project-cats-filter .cats-block a.active {
            background-color: #e72e35;
        }

        

/******************************
WORK ARCHIVE - SINGLE
******************************/

.single-work-archive h2 {
    font-size: 30px;
    line-height: 32px;
    font-weight: 700;
    letter-spacing: -1px;
    color: var(--color-black);
    margin-top: 10px;
    margin-bottom: 20px;
}

.single-work-archive h3 {
    font-size: 26px;
    line-height: 28px;
    font-weight: 700;
    letter-spacing: -1px;
    color: var(--color-black);
    margin-top:10px;
    margin-bottom:10px;
}

.single-work-archive h4 {
    font-size: 22px;
    line-height: 24px;
    font-weight: 700;
    color: var(--color-black);
    margin-top:10px;
    margin-bottom:10px;
}

.single-work-archive h5 {
    font-size: 20px;
    line-height: 22px;
    font-weight: 700;
    color: var(--color-darkergrey);
    margin-top:10px;
    margin-bottom:10px;
}

.single-work-archive h6 {
    font-size: 20px;
    line-height: 22px;
    font-weight: 700;
    font-style: italic;
    color: var(--color-darkergrey);
    margin-top:10px;
    margin-bottom:10px;
}

.single-work-archive p {
    font-size:20px;
    line-height: 26px;
    margin-bottom: 20px;
}

    .single-work-archive sup {
        top: -0.4rem;
        font-size: 85%
    }

.single-work-archive ul {
    font-size: 20px;
    line-height: 26px;
    font-weight: 500;
    color: var(--color-black);
    margin-bottom:30px;
}

    .single-work-archive ul li {
        margin-bottom:20px;
    }


.single-work-archive .elementor-counter-number {
    font-family: "Montserrat", sans-serif;
    font-size:69px;
    line-height:69px;
    font-weight: 600;
}

.single-work-archive .elementor-counter-title {
    font-family: "Montserrat", sans-serif !important;
    font-size:19px;
    line-height:19px;
    font-weight: 600 !important;
    color:#54595f;
}


.single-work-archive td {
	font-size: 25px;
	font-family: "Montserrat", sans-serif;
	padding-bottom:10px;
}

.single-work-archive i {
	color:red;
}















/******************************
BLOG - LANDING PAGE
******************************/

.blog-intro {
    display: flex;
    width:50%;
    background: var(--gradient-orange);
    align-items: flex-end;
    padding:90px 100px;
}

    .blog-intro h2 {
        font-size:4.375rem;
        font-weight:700;
        letter-spacing: -3px;
    }

.blog-block-outer {
    display: block;
    width:50%;
    padding:10px 5px;
    background-color: #fff;
}

a.blog-block {
    display: flex;
    width:100%;
    background-size:cover;
    background-position: top center;
    align-items: flex-end;
    position: relative;
    color:var(--color-black);
    text-decoration: none;
}

    a.blog-block .lower-third {
        position: relative;
        z-index:1;
        width:100%;
        padding:30px 40px;
        background:var(--gradient-grey-trans);
        transition: all 0.5s ease;
    }

        a.blog-block .lower-third:before {
        /* gradient for hover - must set up like this for a smooth gradient transition */
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background:var(--gradient-blue);
            opacity: 0;
            transition: opacity 0.4s;
            z-index: -1;
        }

        a.blog-block:hover .lower-third {
            padding-bottom:30px;
        }

            a.blog-block:hover .lower-third:before {
                opacity:1;
            }

        a.blog-block .lower-third .inner {
            display:flex;
            align-items: flex-end;
            transition: all 0.5s ease;
        }

            a.blog-block:hover .lower-third .inner {
                padding-bottom:30px;
            }

                a.blog-block .lower-third .inner .text {
                    flex:1;
                }

                a.blog-block .lower-third .inner .text p.title {
                    display:flex;
                    align-items: flex-end;
                }

                    a.blog-block .lower-third .inner .text p.title span {
                        display:block;
                    }
        
                a.blog-block .lower-third .inner .arrow-button {
                    transition: all 0.5s ease;
                    width:50px;
                    opacity: 0;
                }

                a.blog-block:hover .lower-third .inner .arrow-button {
                    opacity:1;
                }


body.page-template-page-blog .gallerygrid {
    width:calc(100% + 10px);
    margin-left:-5px;
}

body.page-template-page-blog .gallerygrid .gallerygrid-sizer,
body.page-template-page-blog .gallerygrid .gallerygrid-item {
    width: 50%;
}


/******************************
BLOG - SINGLE
******************************/


#author-share-row {
    width:100%;
    background-color: var(--color-white);
    padding-top:30px;
    padding-bottom:0;
    padding-left:60px !important;
    padding-right:60px !important;
    margin-bottom:30px !important;
}

    #author-share-row .inner {
        max-width:1640px;
        margin:0 auto;
        display:flex;
        align-items: center;
    }

        #author-share-row .inner .left {
            width:50%;
        }

            #author-share-row .inner .left p {
                color:var(--color-white);
                margin-bottom:0 !important;
                font-size:20px;
                line-height: 24px;
            }

        #author-share-row .inner .right {
            width:50%;
        }

        #author-share-row .inner .right a#sharethis-link {
            display:block;
            width:30px;
            margin: 0 10px 0 auto;
        }

            #author-share-row .inner .right a#sharethis-link img {
                display:block;
                width:100%;
            }

            #author-share-row .inner .right a#sharethis-link span {
                display:none;
            }



.blog-author-block {
    padding-top:30px;
    padding-bottom:30px;
    padding-left:60px !important;
    padding-right:60px !important;
    margin-bottom:90px !important;
}

    .blog-author-block p {
        margin-bottom:0 !important;
    }

    .blog-content-block {
        padding-left:60px !important;
        padding-right:60px !important;
    }

	.blog-content-block h1 {
        font-size: 64px;
		font-weight: 700;
		line-height: 68px;
		letter-spacing: -0.02em;
        color: var(--color-black);
        --padding-top:40px;
        --padding-bottom:20px;
		margin:auto;
		width:100%;
    }
    
    .blog-content-block h2 {
        font-size: 30px;
        line-height: 32px;
        font-weight: 800;
        letter-spacing: -0.5px;
        color: var(--color-black);
        margin-top:40px;
        margin-bottom:20px;
    }

    .blog-content-block h3 {
        font-size: 25px;
        line-height: 30px;
        font-weight: 700;
        letter-spacing: -0.5px;
        color: var(--color-black);
        margin-top:10px;
        margin-bottom:10px;
    }

    .blog-content-block h4 {
        font-size: 22px;
        line-height: 24px;
        font-weight: 700;
        color: var(--color-black);
        margin-top:10px;
        margin-bottom:10px;
    }

    .blog-content-block h5 {
        font-size: 20px;
        line-height: 22px;
        font-weight: 700;
        color: var(--color-darkergrey);
        margin-top:10px;
        margin-bottom:10px;
    }

    .blog-content-block h6 {
        font-size: 20px;
        line-height: 22px;
        font-weight: 700;
        font-style: italic;
        color: var(--color-darkergrey);
        margin-top:10px;
        margin-bottom:10px;
    }

    .blog-content-block p {
        line-height:26px;
        margin-bottom:20px;
    }
    
        .blog-content-block p strong,
        .blog-content-block p b {
            font-weight:700;
        }

        .blog-content-block p em,
        .blog-content-block p i {
            font-style: italic;
        }

    .blog-content-block ul {
        font-size: 20px;
        line-height: 26px;
        font-weight: 500;
        color: var(--color-black);
        margin-bottom:30px;
    }

        .blog-content-block ul li {
            margin-bottom:20px;
        }

            .blog-content-block ul li ul {
                margin-top:20px;
            }

            .blog-content-block ul li ul li {
                list-style-type: circle;
            }

    .blog-content-block ol {
        font-size: 20px;
        line-height: 26px;
        font-weight: 500;
        color: var(--color-black);
        margin-bottom:30px;
    }

        .blog-content-block ol li {
            margin-bottom:20px;
        }

    .blog-content-block p em {
        font-style: italic;
    }

    .blog-content-block img {
        display:block;
        margin-bottom:30px;
    }

        .blog-content-block .has-caption img {
            margin-bottom:10px;
        }

    .blog-content-block .blog-caption p {
        display:block;
        margin-bottom: 30px;
        font-style: italic;
        font-size: 16px;
        line-height: 20px;
        padding-right: 10%;
    }

        .blog-content-block .blog-caption p::after {
            content: "";
            display: block;
            width: 70px;
            border-top: 2px solid var(--color-black);
            margin-top: 30px;
            margin-bottom:60px;
        }

    .blog-content-block .blog-pullquote {
        padding-right:80px;
    }

        .blog-content-block .blog-pullquote p::after {
            content: "";
            display: block;
            width: 120px;
            border-top: 1px solid var(--color-black);
            margin-top: 30px;
            margin-bottom:60px;
        }

        .blog-content-block .blog-pullquote p {
            font-size: 2.5rem;
            font-weight: 700;
            line-height: 3rem;
            letter-spacing: -0.5px;
        }

    .blog-heading-with-icon .elementor-heading-title {
        margin-top:5px;
    }

    .blog-heading-with-icon .elementor-widget-heading {
        flex:1;
    }

    .blog-heading-with-icon .elementor-widget-image {
        width:60px !important;
    }

    .blog-heading-with-icon .elementor-widget-image img {
        width:60px !important;
    }

    a.view-all-blog-posts-mobile {
        margin:30px auto 0 auto;
        display:none;
    }

    .single-blogs a.button {
        text-decoration:none;
        margin-top:30px;
        margin-bottom:30px;
    }

	.blog-callout-without-icon {
		width:calc(100% - 20px) !important;
		margin-left:0px!important;
	}

    .blog-callout-without-icon a{
		color:#000000!important;
	}

	.defence-procurement-float-wrapper {
		width:100%;
		display:flex;
		justify-content:flex-end;
	}
	.defence-procurement-float{
		width:60%;
	}

	.defence-procurement-title{
		font-size:90px;
		font-weight:700;
		width:100%;
		padding-top:150px;
		padding-bottom:100px;
        letter-spacing:-3px;
	}

	.defence-procurement-subtitle{
		margin-bottom:50px;
	}


	.defence-procurement-grid-item{
		padding-top:50px;
		border-top:2px solid #fff;
	}

	#defence-procurement-grid {
        width:100%;
        display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 30px 160px;
    }






/*** Blog Footer ***/


.author-card-wrapper {
    width:100%;
    padding-left:60px;
    padding-right:60px;
    margin-top:80px;
}

.author-card-wrapper .inner {
    display:flex;
    max-width:1640px;
    margin:0 auto;
}

    .author-card-wrapper .inner .left {
        width:33%;
    }

    .author-card-wrapper .inner .right {
        width:67%;
        margin-left:40px;
    }

        .author-card-wrapper .inner .right .author-card {
            width:100%;
            padding:40px 30px;
        }

        .author-card-wrapper .inner .right .author-card-inner {
            width:100%;
            display:flex;
        }

            .author-card-wrapper .inner .right .author-card .author-card-inner .author-description {
                flex:1;
                padding-right:30px;
            }

            .author-card-wrapper .inner .right .author-card .author-card-inner .author-description h2 {
                font-size: 1.75rem;
                line-height: 2rem;
                letter-spacing: -1px;
                margin-bottom:15px;
            }

            .author-card-wrapper .inner .right .author-card .author-card-inner .author-description p {
                line-height: 26px;
                margin-bottom: 20px;
            }

                .author-card-wrapper .inner .right .author-card .author-card-inner .author-description p strong {
                    font-weight: 800;
                }

                .author-card-wrapper .inner .right .author-card .author-card-inner .author-description p em {
                    font-style: italic;
                }

                .author-card-wrapper .inner .right .author-card .author-card-inner .author-description p:last-child {
                    margin-bottom: 0;
                }

            .author-card-wrapper .inner .right .author-card .author-card-inner .author-photo {
                display:block;
                width:200px;
            }

        .author-card-wrapper .inner .right .related-blogs {
            width:100%;
        }

        .author-card-wrapper .inner .right .related-blogs h2 {
            font-size: 1.25rem;
            margin-top: 20px;
            margin-bottom:15px;
            font-weight: 700;
        }

        .author-card-wrapper .inner .right .related-blogs ul {
            list-style-type: disc;
            padding-left:20px;
        }

        .author-card-wrapper .inner .right .related-blogs ul li {
            font-size: 1rem;
            margin-bottom: 1rem;
            line-height: 1.5rem;
            font-weight: 500;
        }

        .author-card-wrapper .inner .right .related-blogs ul li a {
            color:var(--color-black);
        }


.blog-nav-footer {
    width:100%;
    display:flex;
    align-items: center;
    justify-content: space-between;
}

a.other-blogs {
    display: inline-block;
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--color-black);
    text-decoration: none;
    letter-spacing: -0.5px;
}

    a.other-blogs:hover,
    a.other-blogs:active {
        text-decoration: underline;
    }



/******************************
MARKETING LANDING PAGES
******************************/

h1#h1-seo-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.page-template-page-tourism #acc-header {
    background-color: #f6f6f6;
}

.acc-tagline br {
    display:none;
}

#marketing-intro-wrapper.tourism-banner-style {
    background: #c1bbb5;
    background: linear-gradient(180deg,rgba(201, 195, 189, 1) 0%, rgba(130, 222, 253, 1) 100%);
    margin-top:-5px; /* hide the white strip caused by the banner above */
}

#marketing-intro-wrapper.sports-banner-style {
    background: #000000;
    /* background: linear-gradient(180deg,rgba(247, 207, 105, 1) 0%, rgba(116, 217, 199, 1) 100%); */
    margin-top:-5px; /* hide the white strip caused by the banner above */
}

#marketing-intro-wrapper.agriculture-banner-style {
    background: #000000;
    margin-top:-5px; /* hide the white strip caused by the banner above */
	color:#ffffff;
}

#marketing-intro-wrapper.health-banner-style {
    background: #F7CF69;
    margin-top:-5px; /* hide the white strip caused by the banner above */
}

#marketing-intro-wrapper.defence-banner-style {
	background: #c1bbb5;
    background: linear-gradient(180deg,rgba(49, 191, 239, 1) 0%, rgba(0, 168, 255, 1) 100%);
    margin-top:-5px; /* hide the white strip caused by the banner above */
}



#landing-title {
	z-index:100;
	position:absolute;
	top:200px;
	left:0px;
	width:40vw;
}

#landing-title h1 {
    color:#ffffff!important;
    font-weight: 700;
    letter-spacing: -2px;
	font-size: calc(14px + (60 - 32) * ((100vw - 300px) / (1600 - 300)));
	line-height: calc(14px + (60 - 32) * ((100vw - 300px) / (1600 - 300)));
}





    #marketing-intro-innercontainer {
        display:flex;
        align-items: flex-start;
        overflow: hidden;
    }

        #marketing-intro-innercontainer .left {
            width:calc(41% - 60px);
            padding-right:60px;
        }

        #marketing-intro-innercontainer .right {
            width:59%;
        }

            #marketing-intro-innercontainer .right #marketing-leaf-header {
                display: flex;
                align-items: start;
            }

                #marketing-intro-innercontainer .right #marketing-leaf-header p {
                    display: block;
                    flex:1;
                }

                #marketing-intro-innercontainer .right #marketing-leaf-header img {
                    display: block;
                    width: 100px;
                    height:auto;
                }

                #marketing-intro-innercontainer p#bold-intro-text {
                    font-size: 1.5rem;
                    line-height: 1.75rem;
                    font-weight: 700;
                }

                p.p-leafzone strong {
                    font-weight:700;
                }

                #marketing-intro-innercontainer .right a#marketing-intro-button {
                    background-color: var(--color-white);
                    margin-left: auto;
                    margin-right: 0;
                    display: block;
                }



#ourservices-grid-wrapper {
    padding-left: 100px;
    padding-right: 100px;
    width: 100%;
    background:var(--gradient-ourservices);
}

    #ourservices-grid-wrapper > .inner {
        max-width: 1640px;
        margin: 0 auto;
    }

        #ourservices-grid,
        #ourservices2-grid,
        #ourservices3-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-column-gap: 120px;
            grid-row-gap: 0px;

        }

            #ourservices2-grid {
                grid-template-rows: repeat(1, 1fr);
            }

            /*
            #ourservices3-grid {
                grid-template-rows: repeat(4, 1fr);
            }
            */

            #ourservices-grid-title-mobile {
                display:none;
            }

            #ourservices-grid-description-mobile {
                display:none;
            }

            #ourservices-grid-button-laptop-tablet {
                display:none;
            }

            #ourservices-grid-button-mobile {
                display:none;
            }

            #ourservices-grid .ourservices.div1 { grid-area: 1 / 2 / 3 / 4; }
            #ourservices-grid .ourservices.div2 { grid-area: 1 / 1 / 2 / 2; }
            #ourservices-grid .ourservices.div3 { grid-area: 2 / 1 / 3 / 2; }
            #ourservices-grid .ourservices.div4 { grid-area: 3 / 1 / 4 / 2; }
            #ourservices-grid .ourservices.div5 { grid-area: 3 / 2 / 4 / 3; }
            #ourservices-grid .ourservices.div6 { grid-area: 3 / 3 / 4 / 4; }

			#ourservices2-grid .ourservices.div1 { grid-area: 1 / 2 / 4 / 4; }
			#ourservices2-grid .ourservices.div2 { grid-area: 1 / 1 / 2 / 2; }
			#ourservices2-grid .ourservices.div3 { grid-area: 2 / 1 / 3 / 2; }
			#ourservices2-grid .ourservices.div4 { grid-area: 3 / 1 / 4 / 2; }
			#ourservices2-grid .ourservices.div5 { grid-area: 4 / 1 / 5 / 2; }
			#ourservices2-grid .ourservices.div6 { grid-area: 4 / 2 / 5 / 3; }
			#ourservices2-grid .ourservices.div7 { grid-area: 4 / 3 / 5 / 4; }

			#ourservices3-grid .ourservices.div1 { grid-area: 1 / 2 / 3 / 4; }
			#ourservices3-grid .ourservices.div2 { grid-area: 1 / 1 / 2 / 2; }
			#ourservices3-grid .ourservices.div3 { grid-area: 2 / 1 / 3 / 2; }
			#ourservices3-grid .ourservices.div4 { grid-area: 3 / 1 / 4 / 2; }
			#ourservices3-grid .ourservices.div5 { grid-area: 4 / 1 / 5 / 2; }
			#ourservices3-grid .ourservices.div6 { grid-area: 3 / 2 / 4 / 3; }
			#ourservices3-grid .ourservices.div7 { grid-area: 4 / 2 / 5 / 3; }
			#ourservices3-grid .ourservices.div8 { grid-area: 3 / 3 / 4 / 4; }
			#ourservices3-grid .ourservices.div9 { grid-area: 4 / 3 / 5 / 4; }


    a.marketing-chat-btn {
        margin-right: 0;
        margin-left: auto;
        display: block;
        background-color: var(--color-white);
    }

    #ourservices-grid .ourservices .hardrule-container,
    #ourservices2-grid .ourservices .hardrule-container,
    #ourservices3-grid .ourservices .hardrule-container {
        max-width:100%;
        width:100%;
        display:flex; /* allows for inner container to split to fit in icon */
        align-items: flex-start;
    }

        #ourservices-grid .ourservices .hardrule-container .left,
        #ourservices2-grid .ourservices .hardrule-container .left,
        #ourservices3-grid .ourservices .hardrule-container .left {
            width:70px;
            padding-right:20px;
        }

        #ourservices-grid .ourservices .hardrule-container .left img,
        #ourservices2-grid .ourservices .hardrule-container .left img,
        #ourservices3-grid .ourservices .hardrule-container .left img  {
            display:block;
            width:70px;
            height:auto;
        }

        #ourservices-grid .ourservices .hardrule-container .right,
        #ourservices2-grid .ourservices .hardrule-container .right,
        #ourservices3-grid .ourservices .hardrule-container .right {
            flex:1;
            padding-top:10px;
        }


/* Samples Grid */

#marketing-work-samples .gallerygrid .gallerygrid-sizer,
#marketing-work-samples .gallerygrid .gallerygrid-item {
    width:50%;
}


/* Testimonials Block */

#marketing-testimonials-wrapper.tourism-style {
    background: #83C7E9;
    background: linear-gradient(180deg,rgba(131, 199, 233, 1) 0%, rgba(192, 199, 252, 1) 100%);
    overflow: hidden;
}

#marketing-testimonials-wrapper.sports-style {
	background: #83C7E9;
    background: linear-gradient(180deg,rgba(0, 168, 255, 1) 0%, rgba(147, 163, 255, 1) 100%);
    overflow: hidden;
}


#marketing-testimonials-wrapper.health-style {
	background: #83C7E9;
    background: linear-gradient(180deg,rgba(148, 163, 255, 1) 0%, rgba(116, 217, 199, 1) 100%);
    overflow: hidden;
}

#marketing-testimonials-wrapper.defence-style {
	background: #ffffff;
    overflow: hidden;
}

#marketing-testimonials-wrapper.agriculture-style {
	background: #83C7E9;
    background: linear-gradient(180deg,rgba(147, 163, 255, 1) 0%, rgba(0, 168, 255, 1) 100%);
    overflow: hidden;
}

#marketing-testimonials-wrapper.defence-style {
	background: #FF945C;
    background: linear-gradient(180deg,rgba(255, 148, 92, 1) 0%, rgba(255, 108, 125, 1) 100%);
    overflow: hidden;
}


.hvr-shrink {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
  }

  .hvr-shrink:hover, .hvr-shrink:focus, .hvr-shrink:active {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
  }

#marketing-testimonials-trusted-block {
    width:100%;
    display:flex;
    align-items: flex-start;
}

    #marketing-testimonials-trusted-block .left {
        width:40%;
    }

    #marketing-testimonials-trusted-block .right {
        width:calc(60% - 100px);
        padding-right:100px;
    }

    #marketing-testimonials-trusted-block #marketing-get-results-btn,
    #marketing-get-results-btn-mobile {
        display:block;
        margin-right:0;
        margin-left:auto;
        text-decoration: none;
    }

        #marketing-get-results-btn-mobile {
            display:none;
        }

#marketing-procurement-officers-wrapper {
    background: #FF945C;
    background: linear-gradient(180deg,rgba(255, 108, 125, 1) 0%, rgba(255, 148, 92, 1) 100%);
    overflow: hidden;
    padding-bottom:70px !important;
}



/* Contact Block */

#marketing-contact-block-wrapper {
    background: linear-gradient(180deg,rgba(247, 246, 244, 1) 0%, rgba(220, 226, 230, 1) 100%);
}

#marketing-contact-block {
    width:100%;
    display:flex;
    align-items: flex-start;
}

    #marketing-contact-block .left {
        width:calc(50% - 100px);
        padding-right:100px;
    }

    #marketing-contact-block .right {
        width:50%;
    }

a#marketing-phonenum {
    text-decoration: none;
    color:var(--color-black);
}



p#marketing-giveusacall {
    font-weight:700;
}

p#marketing-sendusamessage {
    font-weight:700;
}
        





/******************************
FAQ
******************************/

.page-id-6800 a.button {
    text-decoration:none;
}

.elementor-element.faq-question-block {
    margin-bottom:60px;
}












/******************************
FOOTER
******************************/

#get-in-touch-wrapper {
    position:relative;
}

    #get-in-touch-wrapper a#getintouch-btn {
        display:block;
        position: absolute;
        width:100px;
        top:-50px;
        right:30px;
    }

        #get-in-touch-wrapper a#getintouch-btn img {
            display:block;
            width:100%;
            height:auto;
        }



#footer {
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
    background-color: var(--color-black);
}

    #footer > .inner {
        display: block;
        max-width: 1640px;
        margin: 0 auto;
    }

    #footer .row1 {
        display:flex;
    }

        #footer .row1 img.logo-a {
            display:block;
            width:85px;
        }

    #footer .row2 {
        display:flex;
    }

        #footer .row2 .follow-us {
            width: 50%;
        }

            #footer .row2 .follow-us h1 {
                font-weight:600;
            }

            #footer .row2 .follow-us .social-buttons {
                width:100%;
                display: flex;
                justify-content: flex-start;
                padding-right:30px;
            }

                #footer .row2 .follow-us .social-buttons a.social-button {
                    display:flex;
                    justify-content: center;
                    align-items: center;
                    width:50px;
                    border:2px solid var(--color-white);
                    border-radius:50%;
                    transition: all .2s ease-out;
                    margin-right:15px;
                }

                #footer .row2 .follow-us .social-buttons a.social-button:hover {
                    -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-white);
                    -moz-box-shadow:inset 0px 0px 0px 2px var(--color-white);
                    box-shadow:inset 0px 0px 0px 2px var(--color-white);
                }

                    #footer .row2 .follow-us .social-buttons a.social-button img {
                        display:block;
                    }

        #footer .row2 .footer-menu {
            display:grid;
            grid-template-columns: repeat(3, 1fr);
            column-gap: 90px;
            row-gap: 0;
            width: 50%;
        }

            #footer .row2 .footer-menu .footer-menu-block {
                width:180px;
                margin-bottom:60px;
            }

            #footer .row2 .footer-menu .footer-menu-block h1 {
                display:block;
                font-size:1.75rem;
                line-height:2rem;
                font-weight:600;
                margin-bottom:20px;
            }

            #footer .row2 .footer-menu .footer-menu-block a {
                display: block;
                font-size:1.75rem;
                line-height:2rem;
                text-decoration: none;
                color:var(--color-white);
                margin-bottom:10px;
                font-weight:200;
            }

                #footer .row2 .footer-menu .footer-menu-block h1 a {
                    font-weight:600;
                }

                #footer .row2 .footer-menu .footer-menu-block a:hover {
                    text-decoration: underline;
                }
    
    #footer .row3 {
        display:flex;
        align-items: flex-end;
    }

        #footer .row3 .signup-block {
            width:50%;
        }

        #footer .row3 .signup-block h1 {
            display: block;
            font-size: 1.75rem;
            line-height: 2rem;
            letter-spacing: -1px;
            text-decoration: none;
            color: var(--color-white);
            margin-bottom: 30px;
            font-weight:600;
        }

            #footer .row3 .signup-block .signup-form {
                width:100%;
            }

            #footer .row3  #gform_wrapper_1 > * {
                font-family: "Montserrat", sans-serif;
            }

            #footer .row3  #gform_wrapper_1 .gform_heading {
                display:none;
            }

            #footer .row3  #gform_wrapper_1 #input_1_1 {
                width: 95%;
                background-color: var(--color-black);
                color: var(--color-grey);
                border: 2px solid var(--color-white);
                padding: 23px 30px;
                border-radius: 30px;
                font-size: 1.25rem;
            }

            #footer .row3  #gform_wrapper_1 #gform_submit_button_1 {
                cursor: pointer;
                align-items: center;
                justify-content: center;
                padding: 10px 20px;
                width: fit-content;
                background-color: var(--color-black);
                border: 2px solid var(--color-white);
                border-radius:25px;
                color: var(--color-white);
                text-decoration: none;
                font-size: 1.25rem;
                line-height: 1.3em;
                font-weight: 700;
                transition: all .2s ease-out;
                -webkit-box-shadow:inset 0px 0px 0px 0px var(--color-white); /* must define this here or else hover transition won't work */
                -moz-box-shadow:inset 0px 0px 0px 0px var(--color-white); /* must define this here or else hover transition won't work */
                box-shadow:inset 0px 0px 0px 0px var(--color-white); /* must define this here or else hover transition won't work */
            }

                #footer .row3  #gform_wrapper_1 #gform_submit_button_1:hover {
                    -webkit-box-shadow:inset 0px 0px 0px 2px var(--color-white);
                    -moz-box-shadow:inset 0px 0px 0px 2px var(--color-white);
                    box-shadow:inset 0px 0px 0px 2px var(--color-white);
                }

            #footer .row3  #gform_wrapper_1 #field_1_3 {
                margin-bottom:-10px;
            }

            #footer .row3  #gform_wrapper_1 #input_1_3 #label_1_3_1 {
                color:var(--color-white);
            }

            #footer .row3 #gform_wrapper_1 #field_1_1 {
                grid-column: span 10;
            }

            #footer .row3 #gform_wrapper_1 #field_1_1 {
                grid-column: span 9;
            }

            #footer .row3 #gform_wrapper_1 #field_submit {
                grid-column: span 3;
            }

            #footer .gform_footer {
                display:none;
            }

            #gform_confirmation_message_1 {
                font-family: "Montserrat", sans-serif;
                color:var(--color-black);
                font-size:1.25rem;
                display:inline-block;
                background-color: var(--color-green);
                padding:20px 40px;
                border-radius: 30px;
            }



        #footer .row3 .legal-block {
            flex:1;
        }

        #footer .row3 .legal-block .color-grey {
            color:var(--color-grey);
        }


        /*************************
        Make Hero Breathe
        **************************/
        #home-hero {
            background-size: cover;
            background-position: center;
            animation: scaleBackground 10s infinite alternate;
        }
        
        @keyframes scaleBackground {
            0% {
                background-size: 100%;
            }
            100% {
                background-size: 105%;
            }
        }


        .animate__animated.animate__slideInRight {
            --animate-duration: 1.65s;
          }


  .daButton {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: inline-block;
    border: 2px solid;
    border-radius: 100px;
    position: relative;
    cursor: pointer;
    overflow: hidden;
    opacity: 0.9;
    color: #000000;
    font-size: 1.25rem;
    line-height: 1.3em;
    font-weight: 700;
    font-family: "Montserrat", sans-serif;
  }
  
  .daButton__text {
    display: block;
    padding: 10px 20px;
    text-decoration: none;
    font-size: 1.25rem;
    line-height: 1.3em;
    font-weight: 700;
    font-family: "Montserrat", sans-serif;
  }
  
  .daButton__text:before {
    content: attr(title);
  }
  
  .daButton__mask {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgb(255, 255, 255);
    transform: translateX(-100%) rotate(45deg);
    transition: all 1.3s;
  }
  
  .daButton:hover {
    opacity: 1;
  }
  
  .daButton:hover .daButton__text {
    animation: fx-text 1.3s ease-out;
  }

  .daButton:hover .daButton__mask {
    animation: fx-mask 1.3s ease-out;
  }
  
  .daButton:active {
    opacity: 1;
    background: rgb(0, 0, 0);
    color: inherit;
  }
  
  @keyframes fx-mask {
    0% {
      transform: translateX(-100%) rotate(45deg);
    }
    100% {
      transform: translateX(100%) rotate(45deg);
    }
  }
  
  @keyframes fx-text {
    0% {
      transform: translateX(0);
      opacity: 1;
    }
    100% {
      transform: translateX(1em);
      opacity: 0;
    }
  }
  
  @keyframes fx-text-bis {
    0% {
      transform: translateX(-1em);
      opacity: 0;
    }
    100% {
      transform: translateX(0);
      opacity: 1;
    }
  }



.internameArchivesHeaderBackgroundImage {
    background-image: url('/wp-content/uploads/2025/01/ACC_Archive-min.png');
}



/*************************************************
        Procurement Pages
**************************************************/

.page-id-3028 a, .page-id-3215 a{
    /* remove underline fromall buttons */
    text-decoration: none!important;
}

.procurement-banner-right{
    width:80%!important;
    padding-top: 120px!important;
    padding-bottom: 120px!important;
    padding-left:80px!important;
}

.procurement-color-grid-left{
    width:80%!important;
    padding-top: 120px!important;
    padding-bottom: 120px!important;
    padding-right:80px!important;
}

.procurement-color-grid-right{
    width:80%!important;
    padding-top: 120px!important;
    padding-bottom: 120px!important;
    padding-left:80px!important;
}


.procurement-color-grid h1{
    font-size:48px;
    font-weight: 800;
    line-height: 50px;
}

.procurement-color-grid .firstText{
    font-size:20px;
    font-weight: 600;
    line-height: 50px;
    margin-bottom: -8px;
}

.procurement-color-grid .budgetRange{
    font-family: "Montserrat", sans-serif;
    font-size:50px;
    font-weight: 400;
    line-height: 50px;
    padding-bottom: 30px;
}

.procurement-color-grid .secondText{
    font-size:20px;
    font-weight: 400;
    line-height: 30px;
    padding-bottom: 30px;
}

.procurement-color-grid button a{
    text-decoration: none!important;
    padding-top:30px;
}

.procurement-top-blurb-left {
    padding-right:80px!important;
    align-self: flex-end!important;
    width:80%!important;
}

.procurement-top-blurb-title{
    font-family: "Montserrat", sans-serif;
    font-size:100px!important;
    font-weight: 800!important;
    line-height: 100px!important;
    letter-spacing: -50;
    padding-bottom:120px;
    width: 80%;
}


.procurement-top-blurb-subtitle{
    font-family: "Montserrat", sans-serif;
    font-size:28px;
    font-weight: 600;
    line-height: 32px;
    letter-spacing: -25;
    width: 80%;
}


.procurement-top-blurb-text{
    font-family: "Montserrat", sans-serif;
    font-size:20px;
    font-weight: 400;
    line-height: 26px;
    width: 80%;
}


.procurement-questions-title{
    font-family: "Montserrat", sans-serif;
    font-size:60px;
    font-weight: 800;
    line-height: 65px;
    padding-bottom: 30px;
    letter-spacing: -25;
}

.procurement-questions-text{
    font-family: "Montserrat", sans-serif;
    font-size:20px;
    font-weight: 600;
    line-height: 26px;
    padding-bottom: 30px;
    letter-spacing: -25;
    text-align: center;
}

.caseStudyVideo img{
	transform: translateZ(0); /* Forces GPU rasterization */
	will-change: transform; /* Hints the browser to rasterize */
}

.grecaptcha-badge { /* hide Google's recaptcha badge (usually seen in the bottom-right corner) */
	z-index:2000;
    visibility: hidden !important;
}


#gform_confirmation_message_4 {
	background-color:white;
}

/*************************************************
        End of Procurement Pages
**************************************************/


/*********ANIMATED GRADIENTS ********************/


.animGradient-solutions, .animGradient-about, .animGradient-work, .animGradient-solutions, .animGradient-contact, .animGradient-careers, .animGradient-blog {
    background-size: 400% 400% !important;
    
    height: 100% !important;
    width: 100% !important;
}

.animGradient-solutions {
    background: linear-gradient(90deg, #00A8E1, #65C5B4, #93A3FF, #FF6C7D,  #93A3FF, #65C5B4,#00A8E1);
    /* animation: gradient 45s ease infinite !important; */

}

.animGradient-about {
    background: linear-gradient(90deg, #00A8E1, #93A3FF, #FF945C, #FF6C7D, #93A3FF, #31BFEF);
    /* animation: gradient 45s ease infinite !important; */
}

.animGradient-work {
    background: linear-gradient(90deg,  #FF6C7D, #FF945C, #93A3FF, #31BFEF, #93A3FF, #FF945C,#FF6C7D);
    /* animation: gradient 45s ease infinite !important; */
}

.animGradient-contact {
    background: linear-gradient(90deg, #FF945C, #FF6C7D,  #93A3FF, #31BFEF, #93A3FF, #FF6C7D, #FF945C);
    /* animation: gradient 45s ease infinite !important; */
}


.animGradient-careers {
    background: linear-gradient(90deg, #00A8E1, #65C5B4, #93A3FF, #FF6C7D,  #93A3FF, #65C5B4,#00A8E1);
    /* animation: gradient 45s ease infinite !important; */
}

.animGradient-blog {
    background: linear-gradient(90deg, #00A8E1, #65C5B4, #93A3FF, #FF6C7D,  #93A3FF, #65C5B4,#00A8E1);
    /* animation: gradient 45s ease infinite !important; */
}

 /*left right*/
@keyframes gradient { 
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
 /*up down*/
 @keyframes gradient2 { 
    0% {
        background-position: 50% 0%;
    }
    50% {
        background-position: 50% 100%;
    }
    100% {
        background-position: 50% 0%;
    }
}
 /****** INVERTED CURSOR *******/

 :root {
    --cursorBig: 5vw;
    --cursorSmall: 1.5vw;
  }


 @media ( hover: none ) {
    #cursor {
     display: none !important;  
    }
}

#cursor {
    z-index: 99;
    position: fixed;
    left: 0;
    top: 0;
    pointer-events: none;
    will-change: transform;
    width: var(--cursorBig);
    height: var(--cursorBig);
    border-radius: 50%;
    border: solid 1px black;
    backdrop-filter: invert(100%);
    display:block;
    opacity: 0;
}

.growUp {
    width: var(--cursorSmall);
    height: var(--cursorSmall);
    animation: grow 0.25s ease-in-out forwards;
}

    .goAway {
        width: var(--cursorBig);
        height: var(--cursorBig);
        animation: growAway 0.25s ease-in-out forwards;
    }

    @keyframes grow {
        0% {
            width: var(--cursorSmall);
            height: var(--cursorSmall);
            opacity: 0;
        }
        50% {
            width: calc(var(--cursorBig) + 2.5vw); /* Slightly larger for the bounce effect */
            height: calc(var(--cursorBig) + 2.5vw);
            opacity: .7;
        }
        100% {
            width: var(--cursorBig);
            height: var(--cursorBig);
            opacity: 1;;
        }
    }

    @keyframes growAway {
        from {
            width: var(--cursorBig);
            height: var(--cursorBig);
            opacity: 1;           
        }
        to {
            width: var(--cursorSmall);
            height: var(--cursorSmall);
            margin-top: calc(var(--cursorSmall) *2);
            margin-left: calc(var(--cursorSmall) *2);
            opacity: 0;
        }
    }

      * {
        caret-color: transparent;
      }

      #animatedWork {
        margin-top: 300px;
        margin-bottom: 40px;
        background-color: #fff;
      }

      #animatedCulture {
        margin-bottom:20px;
        width:716px;
      }

      #animatedGallery{
        width:auto;
        margin-top: 100px;
      }

      #animatedQuality {
        width:436px;
      }




      
 
 /*** ANIMATIONS ***/
 
 @keyframes twinkle {
   0% {
     transform: translate(0px, 0px);
   }
   30% {
     opacity: 0;
   }
   50% {
     opacity: 0.75;
   }
   70% {
     opacity: 0;
   }
   100% {
     transform: translate(175px, 100px);
   }
 }
 
 @keyframes float {
   0% {
     transform: translate(0px, 0px);
   }
   100% {
       transform:translate(8000px, 4000px);
   }
 }

@keyframes twinkle {
    0% {
      transform: translate(0px, 0px);
    }
    30% {
      opacity: 0;
    }
    50% {
      opacity: 0.75;
    }
    70% {
      opacity: 0;
    }
    100% {
      transform: translate(175px, 100px);
    }
  }
  
@keyframes float {
    0% {
    transform: translate(0px, 0px);
    }
    100% {
    transform:translate(8000px, 4000px);
    }
}



 /*** SEO HELPERS ***/


.sr-only { /* invisible text to tack onto any <a href> where Google says it's not descriptive enough. For example: <a href="/work">See more <span class="sr-only">work samples from Accurate</span></a> */
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}




/* reconciliation day */

.reconciliation-day-text-title p{
	font-family: "Montserrat", sans-serif !important;
	font-weight:700;
    line-height: 1.2;
	 	 font-size: clamp(
    24px,
    calc(18px + (100vw - 767px) * 0.01136),
    36px
  ) !important;
}

.reconciliation-day-text p{
	font-family: "Montserrat", sans-serif !important;
	font-weight:500;
	line-height:1.1;
	font-size: clamp(
    16px,
    calc(18px + (100vw - 767px) * 0.01136),
    23px
  ) !important;
}




.reconciliation-day-container {
	padding-top:30px !important;
	 padding-left: 10px;
  padding-right: 10px;

  /* Fluid scaling between 767px and 2000px viewport widths */
  padding-inline: clamp(
    20px,
    calc(10px + (100vw - 767px) * 0.154089), /* slope = (200-10)/(2000-767) */
    200px 
  ) !important;
}



#elementor-popup-modal-6561 {
	z-index:100000 !important;
}
