body{
    font-family: "Poppins", sans-serif;
    font-weight:300;
}
body.nav-open{
    overflow: hidden;
}
h1{
    font-weight: 200;
    font-style: normal;
    font-size:2.5rem;
    color:#000;
}
h1 span{
    font-size:1.5rem;
    display: block;
    margin:1rem 0 0 0;
}
h2{
    font-weight: 300;
    color:#71a824;
    font-size:1.5rem;
    line-height: 1.2;
    margin:0 0 1rem 0;
}
h2 span{
    color:#555;
    font-size:1rem;
    margin:0 0 1rem 0;
    display:block;
    font-weight: 400;
}
h3{
    font-weight: 300;
    color:#000;
    font-size:1.3rem;
    line-height: 1.3;
    -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}
h4{
    font-weight: 300;
    color:#000;
    font-size:1.3rem;
    line-height: 1.3;
}
p{
    font-size:1rem;
    color:#555;
    line-height:1.6;
}
ul li::marker{
    color:#71a824;
}
p a,
a{
    color:#555;
    text-decoration: none;
}
.btn-default{
    display:inline-block;
    padding:1.4rem 2rem;
    border:solid 1px #80bb2f;
    text-decoration:none;
    font-size:0.9rem;
    line-height:1;
    text-transform: uppercase;
    color:#000;
    background-color:transparent;
}
.btn-default:hover{
    border-color:#000;
}
a:hover{
    color:#000;
}
@media(min-width:992px){
    h2{
        font-size:2rem;
    }
}

/*

    HEADER

----------- */
.header{
    padding:1rem;
    will-change: transform;
    position:relative;
    z-index: 1000;
}
.logo-eds{
    display:flex;
    align-items:center;
    color:#000;
    text-decoration:none;
    gap:1rem;
}
.logo-eds span{
    display:inline-block;
}
.logo-eds .icon img{
    height:auto;
    max-width:none;
}
.logo-eds .icon,
.logo-eds .icon img{
    width:60px;
}
.logo-eds .details{

}
.logo-eds .details .name{
    font-size:1.2rem;
    font-weight: normal;
    line-height:1;
}
.logo-eds .details .tagline{
    font-size:0.7rem;
    display:block;
    line-height: 1.2;
}
@media(min-width:768px){
    .logo-eds .icon,
    .logo-eds .icon img{
        width:80px;
    }
    .logo-eds .details .name{
        font-size:1.4rem;
    }
    .logo-eds .details .tagline{
        font-size:0.9rem;
    }
}

.btn-open-nav{
    display:inline-block;
    color:#000;
    text-decoration:none;
    position:relative;
    z-index: 1001;
}
.btn-open-nav .lines{
    display:inline-block;
    position:relative;
    width:30px;
    height:12px;
}
.btn-open-nav .lines .line{
    height:1px;
    width:100%;
    display:block;
    background-color:#000;
    position:absolute;
    left:0;
    transition:transform 0.25s ease, opacity 0.2s ease;
}
.btn-open-nav .lines .line:first-child{
    top:0;
}
.btn-open-nav .lines .line:last-child{
    bottom:0;
}
.btn-open-nav .title{
    display:inline-block;
    font-size:1rem;
    margin:0 0 0 1rem;
}
.btn-open-nav.is-open .lines .line:first-child{
    transform:translateY(5px) rotate(45deg);
    top:1px;
}
.btn-open-nav.is-open .lines .line:last-child{
    transform:translateY(-5px) rotate(-45deg);
}

#navi{
    position:fixed;
    background-color:#fff;
    top:-100%;
    left:0;
    right:0;
    z-index: 90;
    height:100%;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    -webkit-transition: top .3s ease-in-out, opacity .3s ease-in-out, visibility 0s linear .3s;
	-moz-transition: top .3s ease-in-out, opacity .3s ease-in-out, visibility 0s linear .3s;
	transition: top .3s ease-in-out, opacity .3s ease-in-out, visibility 0s linear .3s;
}
#navi .container-fluid{
    width:100%;
    min-height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
body.nav-open #navi{
    top:0;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    -webkit-transition: top .3s ease-in-out, opacity .3s ease-in-out;
	-moz-transition: top .3s ease-in-out, opacity .3s ease-in-out;
	transition: top .3s ease-in-out, opacity .3s ease-in-out;
}
body.nav-open .logo-eds{
    visibility:hidden;
}
body.nav-open .btn-open-nav .title{
    display:none;
}
#navi .items a{
    display:block;
    color:#000;
    font-size:1.5rem;
    text-decoration: none;
    padding:1rem 0;
    white-space:nowrap;
    --animate-duration: .45s;
    --animate-delay: 0s;
    opacity:0;
    visibility:hidden;
}
body.nav-open #navi .items a{
    visibility:visible;
}
#navi .items a:hover{
    color:#71a824;
}
@media(min-width:768px){
    #navi .items a{
        padding:1rem 4rem;
    }
}

.form-submitted .form-control:invalid,
.form-submitted .form-check-input:invalid,
.form-submitted .form-control.is-invalid,
.form-submitted .form-check-input.is-invalid{
    border-color:#dc3545 !important;
}
.form-control:focus,
.form-check-input:focus{
    box-shadow:none !important;
}
.form-submitted .form-control:invalid:focus,
.form-submitted .form-check-input:invalid:focus,
.form-submitted .form-control.is-invalid:focus,
.form-submitted .form-check-input.is-invalid:focus{
    box-shadow:0 0 0 0.2rem rgba(220,53,69,.25) !important;
}

/*

    HERO

-------- */
.hero{
    background-color:#fff;
    padding:2rem 1rem;
}
.hero .tag{
    font-size:1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin:0 0 1rem 0;
}
.hero .tag a{
    color: #000;
    text-decoration: none;
}
.hero h1{
    position:relative;
    z-index: 2;
}
@media(min-width:992px){
    .hero{
        padding:4rem 2rem;
    }
    .hero h1{
        font-size:3rem;
    }
}
@media(min-width:1200px){
    .hero{
        padding:5rem 2rem;
    }
    .hero h1{
        font-size:4rem;
    }
    .hero h1 span{
        font-size:2rem;
    }
}

/*

    PIC ROW

----------- */
.pic-row{
    padding:1rem 0 1rem 2rem;
    position:relative;
}
.pic-row .pic{
    height:300px;
}

@media(min-width:768px){
    .pic-row{
        padding:2rem 0 1rem 4rem;
    }
    .pic-row .pic{
        height:400px;
    }
}
@media(min-width:992px){
    .pic-row{
        padding:0;
    }
    .pic-row,
    .pic-row .pic{
        height:500px;
    }
    .pic-row .pic{
        width:80%;
        position:absolute;
        top:0;
        right:0;
        background-attachment: fixed;
    }
}
@media(min-width:1400px){
    .pic-row,
    .pic-row .pic{
        height:600px;
    }
}

/*

    SECTION ABOUT

----------------- */
.section-about{
    padding:2rem 1rem;
}
@media(min-width:768px){
    .section-about{
        padding:4rem 2rem;
    }
}
@media(min-width:992px){
    .section-about{
        padding:6rem 2rem 6rem 0;
        margin-left:20%;
    }
    .section-about h2,
    .section-about p{
        width:80%;
    }
}
@media(min-width:1200px){
    .section-about h2,
    .section-about p{
        width:700px;
    }
}
@media(min-width:1400px){
    .section-about{
        padding:7rem 0;
    }
}

/*

    SECTION DIVIDER

------------------- */
.section-divider{
    padding:2rem;
    min-height:300px;
    position:relative;
}
.video-row{
    padding:2rem;
    min-height:300px;
    position:relative;
    overflow:hidden;
}
.video-row .video{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.slogan{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:2rem;
    text-align:center;
    color:#fff;
    font-size:2rem;
    line-height:1.2;
}
@media(min-width:768px){
    .section-divider{
        min-height:400px;
    }
    .video-row{
        min-height:400px;
    }
    .slogan{
        font-size:3rem;
        padding:4rem;
    }
}
@media(min-width:992px){
    .section-divider{
        min-height:500px;
        background-attachment: fixed;
    }
    .video-row{
        min-height:500px;
    }
    .slogan{
        width:800px;
        margin:0 auto;
    }
}
@media(min-width:1200px){
    .section-divider{
        min-height:600px;
    }
    .video-row{
        min-height:600px;
    }
}

/*

    SECTION CUSTOMERS

--------------------- */
.section-customers{
    padding:2rem 1rem;
}
.review{
    font-size:1.1rem;
    line-height:1.4;
    color:#555;
}
.carousel-reviews .slick-dots{
    position:static;
    margin:1rem 0 0 0;
}
.slick-dots li{
    margin:0;
}
.slick-dots li.slick-active button:before{
    color:#71a824;
    font-size:12px;
    opacity: 1;
}
@media(min-width:768px){
    .section-customers{
        padding:4rem 2rem;
    }
}
@media(min-width:992px){
    .section-customers{
        padding:6rem 2rem;
    }
}

/*

    SECTION BLOG

---------------- */
.section-blog{
    background-color:#fafafa;
    padding:2rem 1rem;
}
.card-1{
    background-color:#fff;
}
.card-1 a{
    display:block;
    text-decoration:none;
    color:#000;
}
.card-1 .pic{
    height:210px;
    display:block;
}
.card-1 .details{
    padding:2rem;
    display:block;
}
.card-1 a:hover h3{
    color:#71a824;
}
@media(min-width:768px){
    .section-blog{
        padding:4rem 2rem;
    }
}
@media(min-width:992px){
    .section-blog{
        padding:6rem 2rem;
    }
    .card-1 .pic{
        height:300px;
    }
}

.page-blog{
    padding:0 1rem 2rem 1rem;
}
.card-item-xl{
    padding:2rem 0 1rem 0;
    border-bottom:solid 1px #eee;
}
.card-item-xl a,
.card-item-xl span{
    color:#000;
    display:block;
    text-decoration:none;
}
.card-item-xl .pic{
    height:210px;
}
.card-item-xl .date{
    font-size:1rem;
    line-height:1;
    padding:2rem 0 1rem 0;
}
.card-item-xl .title{
    font-size:1.5rem;
    line-height:1.3;
    padding:0 0 1rem 0;
}
.page-blog-item h2{
    margin-top:2rem;
}
.page-blog-item h3{
    margin-top:1.5rem;
}
@media(min-width:768px){
    .page-blog{
        padding:0 2rem 0 2rem;
    }
    .page-blog-item{
        padding-bottom:4rem;
    }
    .card-item-xl .pic{
        height:310px;
    }
}
@media(min-width:992px){
    .page-blog{
        padding:0 2rem 2rem 2rem;
    }
    .page-blog-item{
        padding-bottom:6rem;
    }
    .card-item-xl{
        padding:0 0 2rem 0;
        margin-bottom:4rem;
    }
    .card-item-xl.last-one{
        margin:0;
        border:none;
    }
    .card-item-xl .date{
        padding:2rem 0;
    }
    .card-item-xl .pic{
        height:410px;
    }
    .card-item-xl .title{
        font-size:1.8rem;
        padding:2rem 0;
    }
    .card-item-xl .icon{
        font-size:2rem;
        padding:2rem 0;
    }
}
@media(min-width:1200px){
    .card-item-xl .pic{
        height:510px;
    }
    .card-item-xl a:hover{
        color:#71a824;
    }
}

/*

    FOOTER

---------- */
footer{
    padding:2rem 1rem;
    border-top:solid 1px #eee;
}
footer p{
    margin:0;
}
footer a{
    color:#555;
    text-decoration: none;
}
.socials a{
    font-size:1.5rem;
}
@media(min-width:768px){
    footer{
        padding:4rem 2rem;
    }
    footer h4{
        font-size:2rem;
    }
}
@media(min-width:1200px){
    footer{
        padding:6rem 2rem;
    }
}

.section-intro{
    padding:0 1rem 4rem 1rem;
}
@media(min-width:768px){
    .section-intro{
        padding:0 2rem 6rem 2rem;
    }
}

.pic-xl{
    height:310px;
}
@media(min-width:1200px){
    .pic-xl{
        height:480px;
    }
}
@media(min-width:768px){
    .pic-xl{
        position:sticky;
        top:2rem;
    }
}
@media(min-width:1400px){
    .pic-xl{
        height:560px;
    }
}

.message .btn-close-message{
    background-color:#000;
    color:#fff;
}