.elementor-kit-6{--e-global-color-primary:#54B82E;--e-global-color-secondary:#0077C8;--e-global-color-text:#A7A8A9;--e-global-color-accent:#0077C8;--e-global-color-93f9e24:#000000;--e-global-color-dab82f0:#FFFFFF;--e-global-color-162298b:#00000000;--e-global-color-2a6f460:#EDEEEE;--e-global-color-38f4daf:#3E363F;--e-global-typography-primary-font-family:"Titillium Web";--e-global-typography-primary-font-size:3.052rem;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"Titillium Web";--e-global-typography-secondary-font-size:2.441rem;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-text-transform:capitalize;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-size:0.8rem;--e-global-typography-accent-font-weight:400;--e-global-typography-75f5fcd-font-family:"Titillium Web";--e-global-typography-75f5fcd-font-size:3.052rem;--e-global-typography-75f5fcd-font-weight:700;--e-global-typography-75f5fcd-text-transform:uppercase;--e-global-typography-75f5fcd-line-height:1.2em;--e-global-typography-2481f65-font-family:"Titillium Web";--e-global-typography-2481f65-font-size:2.441rem;--e-global-typography-2481f65-font-weight:400;--e-global-typography-2481f65-text-transform:capitalize;--e-global-typography-2481f65-line-height:1.2em;--e-global-typography-1b1e350-font-family:"Titillium Web";--e-global-typography-1b1e350-font-size:1.953rem;--e-global-typography-1b1e350-font-weight:600;--e-global-typography-1b1e350-text-transform:none;--e-global-typography-1b1e350-line-height:1.1em;--e-global-typography-436c8c3-font-family:"Titillium Web";--e-global-typography-436c8c3-font-size:1.563rem;--e-global-typography-436c8c3-line-height:1.1em;--e-global-typography-fc504f9-font-family:"Titillium Web";--e-global-typography-fc504f9-font-size:1.25rem;--e-global-typography-fc504f9-line-height:1.1em;--e-global-typography-08bd3d7-font-family:"Titillium Web";--e-global-typography-08bd3d7-font-size:1rem;--e-global-typography-08bd3d7-font-weight:700;--e-global-typography-08bd3d7-line-height:1.1em;--e-global-typography-dd8c41b-font-family:"Roboto";--e-global-typography-dd8c41b-font-size:1rem;--e-global-typography-dd8c41b-font-weight:400;--e-global-typography-dd8c41b-text-transform:uppercase;--e-global-typography-dd8c41b-line-height:1.1em;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-162298b );font-family:var( --e-global-typography-dd8c41b-font-family ), Sans-serif;font-size:var( --e-global-typography-dd8c41b-font-size );font-weight:var( --e-global-typography-dd8c41b-font-weight );text-transform:var( --e-global-typography-dd8c41b-text-transform );line-height:var( --e-global-typography-dd8c41b-line-height );color:var( --e-global-color-primary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:0px 0px 0px 0px;padding:1em 1.5em 1em 1.5em;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-dab82f0 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-accent );font-family:"Roboto", Sans-serif;font-weight:400;text-transform:none;}.elementor-kit-6 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-75f5fcd-font-family ), Sans-serif;font-size:var( --e-global-typography-75f5fcd-font-size );font-weight:var( --e-global-typography-75f5fcd-font-weight );text-transform:var( --e-global-typography-75f5fcd-text-transform );line-height:var( --e-global-typography-75f5fcd-line-height );}.elementor-kit-6 h2{font-family:var( --e-global-typography-2481f65-font-family ), Sans-serif;font-size:var( --e-global-typography-2481f65-font-size );font-weight:var( --e-global-typography-2481f65-font-weight );text-transform:var( --e-global-typography-2481f65-text-transform );line-height:var( --e-global-typography-2481f65-line-height );}.elementor-kit-6 h3{font-family:var( --e-global-typography-1b1e350-font-family ), Sans-serif;font-size:var( --e-global-typography-1b1e350-font-size );font-weight:var( --e-global-typography-1b1e350-font-weight );text-transform:var( --e-global-typography-1b1e350-text-transform );line-height:var( --e-global-typography-1b1e350-line-height );}.elementor-kit-6 h4{font-family:var( --e-global-typography-436c8c3-font-family ), Sans-serif;font-size:var( --e-global-typography-436c8c3-font-size );line-height:var( --e-global-typography-436c8c3-line-height );}.elementor-kit-6 h5{font-family:var( --e-global-typography-fc504f9-font-family ), Sans-serif;font-size:var( --e-global-typography-fc504f9-font-size );line-height:var( --e-global-typography-fc504f9-line-height );}.elementor-kit-6 h6{font-family:var( --e-global-typography-08bd3d7-font-family ), Sans-serif;font-size:var( --e-global-typography-08bd3d7-font-size );font-weight:var( --e-global-typography-08bd3d7-font-weight );line-height:var( --e-global-typography-08bd3d7-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1366px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );}.elementor-kit-6 h1{font-size:var( --e-global-typography-75f5fcd-font-size );line-height:var( --e-global-typography-75f5fcd-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-2481f65-font-size );line-height:var( --e-global-typography-2481f65-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-1b1e350-font-size );line-height:var( --e-global-typography-1b1e350-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-436c8c3-font-size );line-height:var( --e-global-typography-436c8c3-line-height );}.elementor-kit-6 h5{font-size:var( --e-global-typography-fc504f9-font-size );line-height:var( --e-global-typography-fc504f9-line-height );}.elementor-kit-6 h6{font-size:var( --e-global-typography-08bd3d7-font-size );line-height:var( --e-global-typography-08bd3d7-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-dd8c41b-font-size );line-height:var( --e-global-typography-dd8c41b-line-height );}}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-size:2.2em;--e-global-typography-75f5fcd-font-size:3.5em;--e-global-typography-75f5fcd-line-height:1.1em;--e-global-typography-2481f65-font-size:2.25em;--e-global-typography-1b1e350-font-size:1.8em;font-size:var( --e-global-typography-text-font-size );}.elementor-kit-6 h1{font-size:var( --e-global-typography-75f5fcd-font-size );line-height:var( --e-global-typography-75f5fcd-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-2481f65-font-size );line-height:var( --e-global-typography-2481f65-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-1b1e350-font-size );line-height:var( --e-global-typography-1b1e350-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-436c8c3-font-size );line-height:var( --e-global-typography-436c8c3-line-height );}.elementor-kit-6 h5{font-size:var( --e-global-typography-fc504f9-font-size );line-height:var( --e-global-typography-fc504f9-line-height );}.elementor-kit-6 h6{font-size:var( --e-global-typography-08bd3d7-font-size );line-height:var( --e-global-typography-08bd3d7-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-dd8c41b-font-size );line-height:var( --e-global-typography-dd8c41b-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:2.8rem;--e-global-typography-secondary-font-size:2.1rem;--e-global-typography-75f5fcd-font-size:2.8em;font-size:var( --e-global-typography-text-font-size );}.elementor-kit-6 h1{font-size:var( --e-global-typography-75f5fcd-font-size );line-height:var( --e-global-typography-75f5fcd-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-2481f65-font-size );line-height:var( --e-global-typography-2481f65-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-1b1e350-font-size );line-height:var( --e-global-typography-1b1e350-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-436c8c3-font-size );line-height:var( --e-global-typography-436c8c3-line-height );}.elementor-kit-6 h5{font-size:var( --e-global-typography-fc504f9-font-size );line-height:var( --e-global-typography-fc504f9-line-height );}.elementor-kit-6 h6{font-size:var( --e-global-typography-08bd3d7-font-size );line-height:var( --e-global-typography-08bd3d7-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-dd8c41b-font-size );line-height:var( --e-global-typography-dd8c41b-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* General CSS */

* {
    overflow-wrap: break-word;
}

.underline-title__black {
    border-bottom: 2px solid black;
    width: fit-content !important;
    padding-bottom: 0.25rem !important;
}

.underline-title__black a:hover {
    color: var( --e-global-color-accent ) !important;
    border-bottom: 2px solid var( --e-global-color-accent );
    padding-bottom: 0.25rem !important;
}

.underline-title__orange {
    border-bottom: 2px solid var( --e-global-color-accent );
    width: fit-content !important;
    padding-bottom: 0.25rem !important;
}

.underline-title__white {
    border-bottom: 2px solid white;
    width: fit-content !important;
    padding-bottom: 0.25rem !important;
}

.cap-accordion .elementor-tab-title {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
}

.service-btn__home .elementor-button-content-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.service-btn__home .elementor-button-wrapper > a {
    width: 100%;
}

.service-btn__home .elementor-button-text {
    text-align: left;
}

.service-btn__home .elementor-button-icon {
    margin-top: auto;
}

.service-btn__home .elementor-button-icon > i::before {
    font-size: 0.75em;
}

@media (max-width: 767px) {
    .hero-dark-overlay >  .elementor-background-overlay {
    background-color: rgba(0,0,0,0.7);
}
}

.sub-menu-list ul {
    align-items: flex-start;
}

.sub-menu-list li {
    margin: 0px 2rem 1rem 2rem !important;
}

.sub-menu-list li:hover {
    border-bottom: 2px solid var( --e-global-color-accent );
    margin-bottom: 0px !important;
}

@media (max-width: 767px) {
    .sub-menu-list ul {
        flex-direction: column;
        align-content: center;
        align-items: center;
    }
    .sub-menu-list li:hover {
        margin-bottom: 1rem !important;
    }
}

/* Triangle Bullet Points */
ul {
    list-style-type: disclosure-closed;
}

ul li::marker {
    color: var( --e-global-color-accent );
}

ul.sub-menu li a::before {
    content: ' ';
    height: 1em;
    width: 1em;
    display: block;
    background-image: url(/wp-content/uploads/2023/01/CAP-icon_Triangle-orange.png);
    background-size: 0.75em auto;
    background-repeat: no-repeat;
    margin-top: 0.25em;
    margin-left: -0.5em;
    margin-right: 0.25em;
}

/* Search Form */

@media (max-width: 1024px) {
    .elementor-search-form--full-screen > * {
        margin-bottom: 20vh !important;
    }
}

/* Full Width 2-Col Sections */

.full-w-text-col {
    max-width: calc(1140px / 2);
}

@media (max-width: 1024px) {
    .full-w-text-col {
        max-width: 100%;
    }
}

.full-w-text-col .elementor-widget-wrap {
    margin: 0px !important;
}

/* Posts Nav */

.posts-nav__navy .elementor-pagination {
    display: flex;
    border: 1px solid var(--e-global-color-primary);
    width: fit-content;
    flex-direction: row;
    margin-left: auto;
    margin-right: auto;
    justify-items: center;
    justify-content: space-between;
}

.posts-nav__navy .page-numbers {
    border-right: 1px solid var(--e-global-color-primary);
    padding: 10px 20px;
    margin: 0px !important;
}

.posts-nav__navy .page-numbers.current {
    background-color: var(--e-global-color-2a6f460);
}

.posts-nav__navy a.page-numbers:hover {
    background-color: var(--e-global-color-primary);
    color: white !important;
}

.posts-nav__navy .page-numbers.next {
    border-right: 0px;
}

.posts-nav__white .elementor-pagination {
    display: flex;
    border: 1px solid white;
    width: fit-content;
    flex-direction: row;
    margin-left: auto;
    margin-right: auto;
    justify-items: center;
    justify-content: space-between;
}

.posts-nav__white .page-numbers {
    border-right: 1px solid white;
    padding: 10px 20px;
    margin: 0px !important;
}

.posts-nav__white .page-numbers.current {
    background-color: white;
}

.posts-nav__white a.page-numbers:hover {
    background-color: var( --e-global-color-accent );
    color: white !important;
}

.posts-nav__white .page-numbers.next {
    border-right: 0px;
}

/* Partners */

.partner-list .elementor-cta__title {
    border-bottom: 2px solid var( --e-global-color-accent ) !important;
    width: fit-content !important;
    padding-bottom: 0.25rem !important;
}

/* Projects */

.partner-logo-gallery {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0.5em;
}

/* Services */

.service-item .elementor-icon-box-icon {
    margin-top: 3px;
}

/* Forms */

input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    border-radius: 0px;
}

.gform_required_legend {
    display: none;
}

.gfield_required {
    color: inherit !important;
}

.gform_footer {
    justify-content: center;
}

/* Filters */

.filters ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    column-gap: 1em;
}

.filters select, .filters input {
    border: none !important;
}

.filters.filters-grey select, .filters.filters-grey input {
    background-color: var(--e-global-color-2a6f460);
}

@media (max-width: 767px) {
    .filters ul {
        flex-direction: column;
        flex-wrap: wrap;
        column-gap: 0px;
        row-gap: 0.25em;
        padding-left: 0px;
    }
    .filters li, .filters label {
        width: 100% !important;
    }
    .filters .sf-field-reset {
        text-align: center;
    }
}

/* Loops */

.service-loop-content {
    height: calc(100% - 255px);
}

.service-loop-content .elementor-container {
    height: 100%;
}

.project-loop-content {
    height: calc( 100% - 205px);
}

.project-loop-content .elementor-widget-wrap, .job-loop .elementor-widget-wrap, .service-loop-content .elementor-widget-wrap {
    flex: 1;
    flex-direction: column;
}

.service-loop-content .elementor-widget-wrap, .project-loop-content .elementor-widget-wrap {
    flex-wrap: nowrap;
}

.project-more-btn, .job-apply-btn, .service-more-btn {
    margin-top: auto;
}


 /* Improved Animations Stylesheet from https://element.how/elementor-improve-entrance-animations/ , works for the 'fade' animations */

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0,-30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInDown {
    animation-name: fadeDown
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInLeft {
    animation-name: fadeLeft
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInRight {
    animation-name: fadeRight
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0,30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInUp {
    animation-name: fadeUp
}/* End custom CSS */