:root {
    --keppel: #36B493;
    --moss-green: #A4D89B;
    --niagara: #049C8C;
    --silver-tree: #67C198;
    --nobel: #B3B3B3;
    --dove-gray: #717171;
    --gray: #848484;
    --rangitoto: #282820;
    --thunder: #282020;
    --birch: #302C24;
}

.text-color-dark,
.text-color-hover-dark:hover,
.text-hover-dark:hover {
    color: var(--rangitoto) !important;
}

.text-color-dark-gray {
    color: var(--dove-gray) !important;
}

.text-color-gray {
    color: var(--gray) !important;
}

.text-color-keppel {
    color: var(--keppel) !important;
}

.text-color-primary, .text-primary {
    color: var(--niagara) !important;
}

.bg-niagara {
    background-color: var(--niagara) !important;
}

.bg-color-primary, .bg-primary {
    background-color: var(--niagara) !important;
}

.bg-gradient {
    background-color: var(--niagara) !important;
    background-image: linear-gradient(to right, var(--niagara) 0%, var(--rangitoto) 100%) !important;
}

.svg-fill-color {
    fill: var(--niagara) !important;
}

.btn-outline.btn-primary {
    border-color: var(--niagara) !important;
}

    .btn-outline.btn-primary:active, .btn-outline.btn-primary.active,
    .btn-outline.btn-primary:focus, .btn-outline.btn-primary:hover {
        background-color: var(--niagara) !important;
        border-color: var(--niagara) !important;
    }

.btn-light:focus:not(.bg-transparent),
.btn-light.focus:not(.bg-transparent) {
    background-color: transparent;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--rangitoto) !important;
    white-space: normal;
    overflow-wrap: normal;
    word-break: keep-all;
}

body, p {
    color: var(--gray) !important;
}

::selection {
    background-color: var(--niagara);
}

::-moz-selection {
    background-color: var(--niagara);
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--rangitoto);
    opacity: 0.7;
}

.open {
    visibility: visible;
    opacity: 1;
    display: block !important;
}

html .scroll-to-top {
    display: none;
}

#header .header-nav.header-nav-links nav > ul:not(:hover) > li > a.active,
#header .header-nav.header-nav-links nav > ul li:hover > a {
    color: var(--niagara) !important;
}

.custom-tabs-style-1.tabs .nav-tabs .nav-link.active span {
    color: var(--niagara) !important;
}

html body .tabs.tabs-simple .nav-tabs > li .nav-link.active,
html body .tabs.tabs-simple .nav-tabs > li .nav-link:hover,
html body .tabs.tabs-simple .nav-tabs > li .nav-link.active:hover {
    color: var(--niagara) !important;
    border-color: var(--niagara) !important;
}

#header .header-btn-collapse-nav {
    background: transparent !important;
    font-size: 1.3rem;
}

#header .header-column .header-row {
    justify-content: flex-end;
}

#header.header-transparent .header-column .header-row {
    justify-content: flex-start;
}

#header .header-nav-main:not(.header-nav-main-mobile-dark) nav > ul > li > a {
    color: var(--rangitoto) !important;
}

#header .header-nav-main-effect-2 nav > ul > li.dropdown .dropdown-menu {
    transition: opacity .2s ease-out;
}

#header .header-nav-main nav > ul > li.dropdown .dropdown-menu {
    min-width: 55px;
}

    #header .header-nav-main nav > ul > li.dropdown .dropdown-menu .dropdown {
        width: max-content;
    }

    #header .header-nav-main nav > ul > li.dropdown .dropdown-menu li a {
        font-size: 15px;
    }

html.sticky-header-active #header.header-effect-shrink .header-container .header-nav nav ul li.dropdown:hover .dropdown-menu {
    margin-top: 0 !important;
}

html:not(.sticky-header-active) #header.header-effect-shrink .header-container .header-nav nav ul li.dropdown:hover .dropdown-menu,
html:not(.sticky-header-active) #header .header-nav.header-nav-dropdowns-dark nav > ul > li.dropdown .dropdown-menu > li:hover > a {
    background: transparent;
    color: #FFFFFF !important;
}

.home-hero {
    filter: hue-rotate(305deg);
}

.custom-page-header.page-header-modern .custom-big-text-2 {
    white-space: normal;
    overflow-wrap: normal;
    word-break: keep-all;
}

.custom-title-with-icon-light:before {
    display: none;
}

.testimonial.testimonial-style-2 blockquote {
    width: max-content;
}

.testimonial.testimonial-with-quotes blockquote p {
    font-size: 21px !important;
    line-height: 1.7 !important;
    margin-bottom: 0;
}

.thumb-info.thumb-info-no-borders img {
    height: 322px;
}

.custom-sort-source.sort-source.sort-source-style-3 {
    border-bottom: none;
}

    .custom-sort-source.sort-source.sort-source-style-3 > li > a {
        padding: 20px 24px;
    }

.sort-source.sort-source-style-3 > li.active > a {
    border-bottom-color: var(--niagara) !important;
    color: var(--niagara) !important;
}

.about-us-featured-block h4 {
    overflow-wrap: break-word;
    line-break: anywhere;
}

section.timeline .timeline-box.left:before,
section.timeline .timeline-box.right:before {
    background: var(--niagara);
    box-shadow: 0 0 0 3px #FFF, 0 0 0 6px var(--niagara);
}

.project-description {
    border-bottom: 1px solid #e7e7e7;
}

.project-details {
    border-bottom: none;
}

    .project-details p {
        display: inline;
    }

    .project-details span {
        font-family: "Poppins", sans-serif !important;
        font-size: 16px !important;
        color: var(--gray) !important;
    }

.feature-box .feature-box-icon {
    background-color: var(--niagara);
}

.contact-box {
    gap: 16px;
}

.form-check {
    padding-left: calc(24px * .5);
}

    .form-check .form-check-input {
        margin: 0;
    }

.form-check-input[type=checkbox] {
    padding: 0;
    margin-top: 5px;
    margin-right: 8px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.form-check-input:checked {
    background-color: var(--niagara);
    border-color: var(--niagara);
}

form label.form-check-label {
    font-size: 12px;
    line-height: normal;
}

    form label.form-check-label a {
        color: var(--niagara);
        text-decoration: underline;
    }

.generic-text h3 {
    margin-top: 48px;
}

.generic-text a {
    color: var(--niagara);
}

#footer .footer-text,
#footer a:not(.btn):not(.no-footer-css) {
    color: var(--nobel);
}

    #footer .footer-text.workin-hours {
        color: var(--nobel) !important;
    }

.cookie-consent-modal .modal-content-wrap .modal-content {
    background-color: #FFFFFF !important;
    border: none !important;
    border-radius: 0 !important;
}

    .cookie-consent-modal .modal-content-wrap .modal-content .modal-header h3 {
        font-family: "Poppins", sans-serif !important;
        color: var(--rangitoto) !important;
        font-size: 24px !important;
    }

    .cookie-consent-modal .modal-content-wrap .modal-content .modal-body {
        font-family: "Poppins", sans-serif !important;
        color: var(--rangitoto) !important;
    }

        .cookie-consent-modal .modal-content-wrap .modal-content .modal-body a {
            color: var(--niagara) !important;
        }

    .cookie-consent-modal .modal-content-wrap .modal-content .modal-footer .buttons .btn {
        border: 3px solid var(--niagara) !important;
        border-radius: 0 !important;
        font-family: "Poppins", sans-serif !important;
        font-weight: 500 !important;
        padding: 8px 24px !important;
    }

        .cookie-consent-modal .modal-content-wrap .modal-content .modal-footer .buttons .btn.btn-secondary {
            background-color: transparent !important;
            color: var(--niagara) !important;
        }

        .cookie-consent-modal .modal-content-wrap .modal-content .modal-footer .buttons .btn.btn-primary {
            background-color: var(--niagara) !important;
        }
