/* Shared homepage header and footer, scoped to preserve each page's content. */
.site-header,
.site-footer {
    --green    : #159b19;
    --ink      : #151b17;
    --line     : #e8ece8;
    font-family: 'Manrope', 'Roboto', sans-serif;
    font-size  : 17px;
    line-height: 1.75
}

.site-header a {
    color: var(--green)
}

.site-header .text-dark {
    color: var(--ink) !important
}

.site-header :is(a, button):focus-visible,
.site-footer :is(a, button, input):focus-visible {
    outline       : 3px solid #6ac251;
    outline-offset: 4px
}

.site-header .home-button {
    display        : inline-flex;
    align-items    : center;
    justify-content: center;
    gap            : 18px;
    padding        : 12px 24px;
    border         : 0;
    border-radius  : 50px;
    background     : linear-gradient(100deg, #129915, #47b422);
    color          : white;
    font-size      : 16px;
    font-weight    : 700;
    line-height    : 1.5;
    transition     : background .2s, transform .2s
}

.site-header .home-button:hover {
    color     : white;
    background: #127d15;
    transform : translateY(-2px)
}

.site-footer>.container {
    width        : calc(100% - 96px);
    max-width    : 1200px;
    margin-left  : auto;
    margin-right : auto;
    padding-left : 0;
    padding-right: 0
}

.site-footer h4 {
    font-family   : inherit;
    line-height   : 1.2;
    font-weight   : 800;
    letter-spacing: -.035em
}

.site-footer .form-control {
    background   : white;
    color        : #283b29;
    border       : 1px solid #dfe6dc;
    padding      : 12px 16px;
    font-size    : 16px;
    border-radius: 7px !important
}

.site-footer .form-control:focus {
    border-color: var(--green);
    box-shadow  : 0 0 0 3px #159b1910
}

.site-footer .wow,
.site-footer.wow {
    visibility: visible !important
}

.site-header#header {
    background     : #fffffff5;
    border-bottom  : 1px solid var(--line);
    position       : sticky;
    top            : 0;
    z-index        : 1030;
    padding        : 0 48px;
    backdrop-filter: blur(14px)
}

.site-header .navbar {
    max-width: 1200px;
    margin   : auto;
    padding  : 8px 0
}

.site-header .navbar .container-fluid>.col-md-3 {
    width: 19%
}

.site-header .navbar-brand {
    padding: 0
}

.site-header .navbar-brand img {
    width     : 125px !important;
    height    : 50px;
    object-fit: contain
}

.site-header .navbar .navbar-nav .nav-link {
    font-family   : inherit;
    font-size     : 16px;
    font-weight   : 700;
    padding       : 16px 0;
    text-transform: none;
    color         : #252b26
}

.site-header .navbar .nav-link.active,
.site-header .navbar .nav-link:hover {
    color: var(--green)
}

.site-header .navbar .nav-link.active {
    box-shadow: 0 11px 0 -10px var(--green)
}

.site-header .navbar .nav-icon {
    display: none
}

.site-header .navbar .nav-item {
    padding-left : 14px !important;
    padding-right: 14px !important
}

.site-header .navbar .nav-enquire {
    margin-left: auto;
    flex-shrink: 0;
    padding    : 10px 20px
}

.site-header .navbar-toggler {
    background   : white;
    border       : 1px solid var(--line);
    border-radius: 8px;
    padding      : 9px 10px;
    margin-right : 0 !important
}

.site-header .navbar-toggler-icon {
    color : var(--ink) !important;
    width : 22px;
    height: auto
}

.site-header .dropdown-menu {
    border       : 1px solid var(--line) !important;
    padding      : 10px;
    border-radius: 10px;
    box-shadow   : 0 12px 30px #15201518;
    max-height   : 70vh;
    overflow-y   : auto
}

.site-header .dropdown-item {
    padding      : 7px 12px;
    color        : #414942;
    font-size    : 16px;
    border-radius: 6px
}

.site-header .dropdown-item:hover {
    background: #eff8eb;
    color     : var(--green)
}

.site-footer.footer {
    background : #111a15 !important;
    color      : #d4ddd6 !important;
    margin-top : 0 !important;
    padding-top: 0 !important;
    font-size  : 16px
}

.site-footer.footer>.container {
    padding-top   : 36px !important;
    padding-bottom: 24px !important
}

.site-footer.footer h4 {
    font-size     : 20px;
    color         : white;
    text-transform: none !important;
    letter-spacing: 0;
    margin-bottom : 18px !important
}

.site-footer.footer a,
.site-footer.footer .btn.btn-link {
    font-size: 16px;
    color    : #d4ddd6
}

.site-footer.footer .btn-square,
.site-footer.footer .btn-dark {
    border       : 0;
    border-radius: 50%;
    background   : #233127 !important
}

.site-footer.footer .text-primary {
    color: #84bf70 !important
}

.site-footer.footer .img-box {
    max-width    : 90px;
    margin-bottom: 10px
}

.site-footer.footer .img-box img {
    border-radius: 8px
}

.site-footer.footer .copyright {
    background: none;
    border-top: 1px solid #ffffff15;
    font-size : 14px;
    padding   : 18px 0 0
}

.site-footer.footer .copyright a {
    font-size: 14px
}

.site-footer.footer .container:last-child {
    padding-top: 0 !important
}

.site-footer.footer button {
    background   : var(--green) !important;
    border-radius: 30px;
    font-size    : 14px
}

@media(min-width:992px) {

    .site-header .navbar .dropdown-menu.show,
    .site-header .navbar .nav-item:focus-within .dropdown-menu {
        opacity   : 1;
        visibility: visible;
        top       : 100%
    }
}

@media(max-width:1199px) {
    .site-header#header {
        padding: 0 32px
    }

    .site-header .navbar .nav-item {
        padding-left : 9px !important;
        padding-right: 9px !important
    }

    .site-footer>.container {
        width: calc(100% - 64px)
    }
}

@media(max-width:991px) {
    .site-header .navbar .container-fluid>.col-md-3 {
        width: 50%
    }

    .site-header .navbar .nav-enquire {
        display: none
    }

    .site-header .navbar .navbar-nav {
        align-items: stretch
    }

    .site-header .navbar .nav-link {
        padding: 10px 0 !important
    }

    .site-header .navbar .nav-icon {
        display: block
    }

    .site-header .navbar .btn-dark {
        color        : var(--green) !important;
        background   : #f1f6ed;
        border       : 0;
        border-radius: 50%
    }

    .site-header #navbarCollapse {
        padding: 12px 0
    }
}

@media(max-width:767px) {
    .site-header#header {
        padding: 0 18px
    }

    .site-header .navbar-brand img {
        width : 105px !important;
        height: 43px
    }

    .site-footer>.container {
        width: calc(100% - 36px)
    }

    .site-footer.footer .row {
        row-gap: 30px
    }

    .site-footer.footer .copyright .row {
        row-gap: 10px
    }
}

@media(prefers-reduced-motion:reduce) {

    .site-header *,
    .site-footer * {
        animation : none !important;
        transition: none !important
    }
}