﻿@font-face
{
    font-family: 'gilroy-extrabold';
    src: url('../fonts/gilroy-extrabold-webfont.woff2') format('woff2'), url('../fonts/gilroy-extrabold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face
{
    font-family: 'gilroy-light';
    src: url('../fonts/gilroy-light-webfont.woff2') format('woff2'), url('../fonts/gilroy-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


@font-face
{
    font-family: 'lato-heavy';
    src: url('../fonts/Lato-Heavy.woff2') format('woff2'), url('../fonts/Lato-Heavy.woff2') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face
{
    font-family: 'lato-regular';
    src: url('../fonts/Lato-Regular.woff2') format('woff2'), url('../fonts/Lato-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face
{
    font-family: 'lato-light';
    src: url('../fonts/lato-light.woff2') format('woff2'), url('../fonts/lato-light.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css");

html
{
    font-size: 16px;
    font-family: Lato, lato-light;
}

body
{
    font-size: 1.25rem;
    font-family: lato, 'lato-light', sans-serif;
    overflow-x:hidden;
}

video#bgvideo {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 700px;
    width: auto;
    height: auto;
    overflow: hidden;
    z-index: -100;
    -webkit-transform: translate(-50%, -50%) !important;
    -o-transform: translate(-50%, -50%) !important;
    transform: translate(-50%, -50%) !important;
    background: url(placeholder.jpg) no-repeat;
    background-position: 50%;
    background-size: cover;
}


/*ANIMATE*/
.fadein {
    opacity: 0;
    transition: 1.2s cubic-bezier(.3,.9,0,1);
}


.fadeinslow {
    opacity: 0;
    transition: 2.4s cubic-bezier(.3,.9,0,1);
}

.fadeinleft
{
    opacity: 0;
    transition: 1.2s cubic-bezier(.3,.9,0,1);
    transform: translateX(-75px);
}

.fadeinright
{
    opacity: 0;
    transition: 1.2s cubic-bezier(.3,.9,0,1);
    transform: translateX(75px);
}

.animate
{
    transform: translateX(0);
    opacity: 1;
}

/*LOADER*/

.loading-screen
{
    position:fixed;
    background: #fff;
    height: 100%;
    width: 100%;
    z-index:999;
}
.lds-ripple
{
    display: inline-block;
    position: absolute;
    width: 80px;
    height: 80px;
    top:calc(50% - 40px);
    left:calc(50% - 40px);
}

    .lds-ripple div
    {
        position: absolute;
        border: 4px solid rgb(34,139,34);
        opacity: 1;
        border-radius: 50%;
        animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .lds-ripple div:nth-child(2)
        {
            animation-delay: -0.5s;
        }

@keyframes lds-ripple
{
    0%
    {
        top: 36px;
        left: 36px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9%
    {
        top: 36px;
        left: 36px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5%
    {
        top: 36px;
        left: 36px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100%
    {
        top: 0px;
        left: 0px;
        width: 72px;
        height: 72px;
        opacity: 0;
    }
}

.hero
{   
    position:relative;
    overflow:hidden;
    height:900px;

}

.cutdown
{
height:550px;
}

.mainHeader
{
  
}

    .mainHeader img
    {
    max-height:60px;
    }

    .mainHeader.indexBar
    {
    background:none;
    }

    .nav li a.nav-link
    {
        font-weight:500;
        font-family: lato-regular;
        color: #fff;
        text-decoration: none;
        border-radius: 0;
        padding:0;
        margin:1rem 1rem 0;
    }

        .nav li a.current
        {
        border-bottom:3px solid #4aa754;
        }

.section_db
{
    background: #151230;
    color: #b4b5b3;
    font-size:0.9rem;
}

.section_dg {
    background: #cfced3;
}

footer .nav
{
display:block;
}

footer a.nav-link
{
    color: #b4b5b3;
    text-transform: uppercase;
}

footer p
{

margin-bottom:0;
}


footer address
{
margin-bottom:2rem;
}

.carouseloffset
{
width:66%;
overflow:hidden;
}

.text-em
{
    font-family: lato-heavy;
    color: #151230;
    font-size:2rem;
  
}

.text-b
{
    font-family: lato-heavy;
  
}

.max-width {
    color: #4aa754;
    max-width: 85%;
}

.sub-em
{
font-size:1.5rem;
}

.text-hero
{
    color:floralwhite;
    font-size:3.5rem;
}

.accreditation-logos li
{
    border-radius:50%;
    margin:0 1.5rem ;
    display:inline-block; 
    height:100px;
}

    .accreditation-logos li img
    {
        max-height:100%;
    }

.btn-hero {
    border: floralwhite solid 3px;
    border-radius: 8px;
    padding: 0.5rem 1rem;
}

    .btn-hero a {
        color: floralwhite;
        text-transform: uppercase;
        font-size: 1.15rem;
        text-decoration: none;
        font-weight: bolder;
    }

.card
{
    background: #f2f2f2;
    border-radius: 0;
    border:0;
  
}


.card-title {
    font-weight: bolder;
    text-transform: uppercase;
    font-size: 1.5rem;
}
.card-text {
    padding:1rem;
}

#recipeCarousel .card-title {
    font-size: 1vw;
}
.carousel-item  .card a {
    text-decoration: none;
color:unset;
}

.carousel-item  .card a:hover {
    text-decoration: none;
color:#2e6d34;
}
.carousel-item  .card img
{
    aspect-ratio:4/3;
    width:100%;
}
.key-info {
    position: relative;
    display: flex;
    flex-direction: column;
    /* background: rgb(34,139,34);
    background: linear-gradient(45deg, rgb(53 175 53) 35%, rgb(112 236 112) 100%);*/
    color: #151230;
    justify-content: space-between;
    border-radius:6px;
}
    .key-info .tag {
    z-index:5;
    margin-right:1rem;
    }

    .key-info p {margin-bottom:0.25rem;}
.background-buildings {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    opacity: 10%;
    z-index: 1;
}

.core-values .card {
    background: rgb(34,139,34);
    background: linear-gradient(45deg, rgba(34,139,34,1) 35%, rgba(86,210,86,1) 100%);
    color: #000000;
}

    .core-values .card img {
        aspect-ratio: unset;
    }

.section_gg
{
    background: rgb(34,139,34);
    background: linear-gradient(45deg, rgba(34,139,34,1) 35%, rgba(86,210,86,1) 100%);
    color:#fff;
}

.btn_contact
{
    background: #151230;
    max-width:200px;
    color:#ffffff;
}

    .btn_contact:hover
    {
        background: #201b4a;
    }



.contact-form input, .contact-form textarea, .contact-form select{
    all: unset;
    margin-bottom: 1rem;
    background: #fff;
    text-align: left;
    width: 100%;
    padding: 0.5rem;
    border-radius: 2px;
}

.contact-form .btn_contact
{
    background: #151230;
    max-width: 200px;
    color: #ffffff;
    width: 180px;
    margin: 0 auto;
    background: #151230;
    text-align: center;
    border-radius: 2px;
}

.btn-primary
{
background:#151230;
border:#120f28;
}

.btn-primary:hover
{
    background:#201b4a;
}
    .btn-primary:focus
    {
    background:#201b4a;
    }

.tag {
    font-size: 1rem;
    border: solid 1px #201b4a;
    color: #201b4a;
    border-radius: 16px;
    display: inline-block;
    font-weight: 500;
    padding: 0.25rem 0.5rem;
}

/* Feature Box
---------------------*/


.feature-box-1 {
    padding: 2rem;
    box-shadow: 0 0 30px rgba(31, 45, 61, 0.125);
    margin: 1rem 0;
    position: relative;
    z-index: 1;
    border-radius: 4px;
    overflow: hidden;
    -moz-transition: ease all 0.35s;
    -o-transition: ease all 0.35s;
    -webkit-transition: ease all 0.35s;
    transition: ease all 0.35s;
    top: 0;
}

.card.feature-box-1 {
    padding: 1rem;
    margin:unset;
    background:#fff;
}

    .feature-box-1 * {
        -moz-transition: ease all 0.35s;
        -o-transition: ease all 0.35s;
        -webkit-transition: ease all 0.35s;
        transition: ease all 0.35s;
    }

    .feature-box-1 .icon {
        width: 70px;
        height: 70px;
        line-height: 70px;
        background: #4aa754;
        color: #ffffff;
        text-align: center;
        border-radius: 50%;
        margin-bottom: 22px;
        font-size: 27px;
    }

        .feature-box-1 .icon i {
            line-height: 70px;
        }

    .feature-box-1 h5 {
        color: #201b4a;
        font-weight: 600;
    }

    .feature-box-1 p {
        margin: 0;
    }

    .feature-box-1:after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: auto;
        right: 0;
        border-radius: 4px;
        width: 0;
        background: #e4e4e4;
        z-index: -1;
        -moz-transition: ease all 0.35s;
        -o-transition: ease all 0.35s;
        -webkit-transition: ease all 0.35s;
        transition: ease all 0.35s;
    }

}
    .feature-box-1:hover {
        
    }

       

        

        .feature-box-1:hover:after {
            width: 100%;
            height: 100%;
            border-radius: 10px;
            left: 0;
            right: auto;
        }



.section-title {
    padding-bottom: 45px;
}




figure.effect-lily img {
    max-width: none;
    width: -webkit-calc(100% + 50px);
    width: calc(100% + 50px);
 
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(-40px,0, 0);
    transform: translate3d(-40px,0,0);
}

figure.effect-lily figcaption {
    text-align: left;
}

    figure.effect-lily figcaption > div {
        position: absolute;
        bottom: 0;
        left: 0;
        padding: 1em;
        width: 100%;
       
    }

figure.effect-lily h2,
figure.effect-lily p {
    -webkit-transform: translate3d(0,40px,0);
    transform: translate3d(0,40px,0);
}

figure.effect-lily h2 {
    -webkit-transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
}

figure.effect-lily p {
    color: rgba(255,255,255,0.8);
    opacity: 0;
    -webkit-transition: opacity 0.2s, -webkit-transform 0.35s;
    transition: opacity 0.2s, transform 0.35s;
}

figure.effect-lily:hover img,
figure.effect-lily:hover p {
    opacity: 1;
}

figure.effect-lily:hover img,
figure.effect-lily:hover h2,
figure.effect-lily:hover p {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

figure.effect-lily:hover p {
    -webkit-transition-delay: 0.05s;
    transition-delay: 0.05s;
    -webkit-transition-duration: 0.35s;
    transition-duration: 0.35s;
}




.grid {
overflow:hidden;
}
    .grid figure {
        position: relative;
       width: calc(100% + 2em);
        overflow: hidden;
        margin:0;
      
    }

        .grid figure img {
            position: relative;
            display: block;
            min-height: 100%;
            max-width: 100%;
           
           
        }

        .grid figure figcaption {
          
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
        }

            .grid figure figcaption::before,
            .grid figure figcaption::after {
                pointer-events: none;
            }

            .grid figure figcaption,
            .grid figure figcaption .card-img-overlay > a {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
            }

                /* Anchor will cover the whole item by default */
                /* For some effects it will show as a button */
                .grid figure figcaption .card-img-overlay > a {
                    z-index: 1000;
                    text-indent: 200%;
                    white-space: nowrap;
                    font-size: 0;
                    opacity: 0;
                }


        .grid figure p {
            display: block;
            width: fit-content;
            font-weight: 700;
            color: rgba(86,210,86,1);
            border-color:rgba(86,210,86,1);
            position:absolute;
            bottom: 1rem;
        }

     

.projects .card img {
aspect-ratio:unset;
}

@media (max-width: 767px) {
    .carousel-inner .carousel-item > div {
        display: none;
    }
    .carousel-inner .carousel-item > div:first-child {
        display: block;
    }
}

.carousel-inner .carousel-item.active,
.carousel-inner .carousel-item-next,
.carousel-inner .carousel-item-prev {
    display: flex;
}

/* medium and up screens */
@media (min-width: 768px) {

    .carousel-inner .carousel-item-end.active,
    .carousel-inner .carousel-item-next {
        transform: translateX(25%);
    }

    .carousel-inner .carousel-item-start.active, 
    .carousel-inner .carousel-item-prev {
        transform: translateX(-25%);
    }
}

.carousel-inner .carousel-item-end,
.carousel-inner .carousel-item-start { 
    transform: translateX(0);
}


.carousel-control-next, .carousel-control-prev {
    position:relative;
    z-index: 1;
    width:unset;
    display: flex;
    color: #fff;
    DISPLAY: INLINE-BLOCK;
    background:#201b4a;
    opacity: 1;
}

.imgtag p {
    position: absolute;
    top: 5%;
    right: 5%;
    color: #4aa754;
    font-size:1.125em;
    border:3px #4aa754 solid;
    font-weight:bold;
    background:#cbcbcbb2;
}

.dropdown-menu .dropdown-item {
font-size:1.125rem;
padding-top:8px;
padding-bottom:8px;
}

.services_cards a{
    text-decoration:none;
}
.services_cards .card:hover {
    transform: scale(1.0125);
    box-shadow: rgba(0, 0, 0, 0.10) 0px 5px 10px;
    transition: all 0.5s ease;
}

.services_cards .card-text {
font-size:0.95rem;
}
.align-right {
    text-align: right;
}
.align-center {
    text-align: center;
}
/* Cookie Banner */
.cookie-banner {
    position: fixed;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 800px;
    background: rgba(20, 20, 20, 0.9);
    color: #fff;
    border-radius: 1rem;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(8px);
    z-index: 9999;
    padding: 1.5rem;
    display: none;
    animation: fadeInUp 0.6s ease forwards;
    font-family: inherit;
}

.cookie-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.25rem;
}

.cookie-text {
    flex: 1;
    min-width: 240px;
}

    .cookie-text h5 {
        font-size: 1rem;
        font-weight: 600;
        margin-bottom: 0.25rem;
        color: #fff;
    }

    .cookie-text p {
        font-size: 0.9rem;
        color: #ddd;
        line-height: 1.4;
    }

.cookie-link {
    color: #fff;
    text-decoration: underline;
    font-weight: 500;
}

    .cookie-link:hover {
        color: #aad8ff;
    }

.cookie-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

#cookie-accept {
    background: #4aa754;
    color: #fff;
    border: none;
    border-radius: 50px;
    padding: 0.5rem 1.5rem;
    font-weight: 600;
    transition: all 0.3s ease;
    cursor: pointer;
}

    #cookie-accept:hover {
        background: rgb(34,139,34);
        transform: translateY(-2px);
    }

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate(-50%, 20px);
    }

    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}
