/* ================================================== */

@import url('https://fonts.googleapis.com/css2?family=Manrope:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');

/* ================================================== */
/* import fonts icon */
/* ================================================== */
@import url("../fonts/icofont/icofont.min.css");

* { margin: 0; padding: 0; box-sizing: border-box; font-size:18px; line-height:1.5; }
:root {
    --dark-grey: #333333;
    --medium-grey: #636363;
    --light-grey: #eeeeee;
    --logo-blue: rgba(49, 93, 182, 1);
    --shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;

    --fontclamp--2: clamp(0.7813rem, 0.7751rem + 0.0306vi, 0.8rem);
    --fontclamp--1: clamp(0.9375rem, 0.9171rem + 0.102vi, 1rem);
    --fontclamp-0: clamp(1.125rem, 1.0842rem + 0.2041vi, 1.25rem);
    --fontclamp-1: clamp(1.35rem, 1.2806rem + 0.3469vi, 1.5625rem);
    --fontclamp-2: clamp(1.62rem, 1.5112rem + 0.5439vi, 1.9531rem);
    --fontclamp-3: clamp(1.944rem, 1.7816rem + 0.8121vi, 2.4414rem);
    --fontclamp-4: clamp(2.3328rem, 2.098rem + 1.1738vi, 3.0518rem);
    --fontclamp-5: clamp(2.7994rem, 2.4678rem + 1.6577vi, 3.8147rem);
}
html { width:100%; font-family:Raleway; font-size:var(--fontclamp-0); line-height:1.5; scroll-behavior: smooth; }
body { margin:0px; background:white;   }
main { padding:0; margin:0 auto; width:100%; }
.overflow-hidden {  overflow: hidden; }
.centerit { text-align:center; display:flex; justify-content:center; }
.leftit { text-align:left; float:left; }
.rightit { text-align:right; float:right; }
.boldit { font-weight:bold; }
.ulit { border-bottom:1px solid white; }
.text-blue {  color:blue; }
.text-black { color:black; }
.text-red {  color:red; }
.blue-back{color:#fff!important; background-color:blue!important}

a { color:inherit; text-decoration:none; }
p { margin-bottom:1rem; }
i { margin-right:6px; }
.section-title {
    font-size:var(--fontclamp-2); line-height:1.3; font-weight:bolder; padding:0 0 1rem; color:blue; text-align:center; }
.contact-intro {
    font-weight:bold; font-size:var(--fontclamp-0); font-style:italic; }
.wrap-title {
    max-width:900px; padding:6rem 1rem 1rem; text-align:center; }

@media (max-width:900px) {
    .section-title { padding:0 0 2rem;  }
    .sm-hide { display:none;     }
}
@media (max-width:600px) {
    .xs-hide { display:none;     }
}

.bordertest1 { border:1px solid red; }
.bordertest2 { border:1px solid blue; }
.bordertest3 { border:1px solid green; }
.bordertest4 { border:1px solid yellow; }
.bg-red { background:red; }
.bg-black { background:black; }
.text-blue { color:blue; }
.text-red { color:red; }
.text-white { color:white; }
.text-black { color:black; }
.circle { border-radius:100%; -moz-border-radius:100%; -webkit-border-radius:100%; }

/************************/
/*    ADDED ANIMATIONS  */
/************************/
@keyframes wipe-enter {
    0% { transform: scale(0, .025);    }
    50% { transform: scale(1, .025);   }
}

/************************/
/*    NAVIGATION        */
/************************/
#header { background:rgba(0,0,0,1); box-shadow: 0px 5px 10px 0px #808080;}
#navbar { width:100%; transition:all 1s; height:100px; }
.nav {
    height:100px;  width:100%; transition:all 1s; width:100%; padding:0 1rem; position:relative; display:flex; justify-content:space-between; align-items:center; z-index:100;  /*box-shadow: 0px 5px 10px 0px #aaa;*/  }
.nav .nav-logo, .nav-links, .nav-telephone { flex:1; text-align:center; }
.nav .nav-logo img {
    max-width:100%; height:100px; }
.nav .nav-telephone .contact-btn {
    background:#0000D6; color:white!important; margin:0; border-radius:10px; padding:.5rem 1.5rem!important; width:auto; }
.nav .nav-telephone .contact-btn:hover { background:white; color:black!important;  }

.nav > .nav-btn { display:none; }
.nav > .nav-links {
    display:flex; justify-content:space-between; align-items:center; }
.nav > .nav-links > a {
    display:inline-block; font-size:var(--fontclamp--1); padding:0 1rem; text-decoration:none; color:white; font-weight:bold; margin:0; border-bottom:none; white-space:nowrap;  }
.nav > .nav-links > a:hover { color:blue;   }
.contact-btn:hover { background:white; color:black;  }
.nav > #nav-check { display: none;  }

@media (max-width:900px) {
    .nav .nav-title img { height:100px; }
    .nav { padding:0 .3rem; }
    .nav > .nav-btn { display:inline-block; position:absolute; right:10px; top:30px;   }
    .nav > .nav-btn > label {
        display:inline-block; width:50px; height:50px; padding:13px 12px;  }
    .nav > .nav-btn > label:hover,
    .nav  #nav-check:checked ~ .nav-btn > label {        }
    .nav > .nav-btn > label > span {
        display:block; width:25px; height:10px; border-top:3px solid white;    }
    .nav > .nav-links {
        position:absolute; display:block; width:100%; background:rgba(250,250,250,95); height:0px; transition:all 0.3s ease-in; overflow-y:hidden; top:100px; left:0px;   }
    .nav > .nav-links > a {
        display:block; width:100%; font-size:var(--fontclamp-0); text-align:center; margin:1rem 0; border-bottom:1px solid black; color:black;  }
    .contact-btn {
        margin:1rem auto; width:auto;  }
    .nav > #nav-check:not(:checked) ~ .nav-links {
        height: 0px;   }
    .nav > #nav-check:checked ~ .nav-links {
        height:60vh; padding:.5rem 0; overflow-y: auto;     }
    .nav-btn .line {
        display:block; height:4px; width:100%;  }
    .nav-btn .line1 {
        transition: transform 0.4s ease-in-out;      }
    .nav-btn .line2 {
        transition: transform 0.2s ease-in-out;     }
    .nav-btn .line3 {
        transition: transform 0.4s ease-in-out;    }
    input[type="checkbox"]:checked ~ .nav-btn .line1 {
        transform: rotatez(-45deg) translate(0, 10px); }
    input[type="checkbox"]:checked ~ .nav-btn .line2 {
        transform: scaleY(0);      }
    input[type="checkbox"]:checked ~ .nav-btn .line3 {
        transform: rotatez(45deg) translate(-7px, -10px) }
}



/************************/
/*    LANDING           */
/************************/
.landing-container{
        width:100%; /*margin-top:80px;*/ display:flex; flex-direction:column; align-items:center; background: url(../img/pexels-house2.jpg) no-repeat center; min-height:100vh; background-size:cover;    }
.wrap-landing {
        position: relative; width:100%; min-height:100vh; color:white;  }
/*
@media (max-width:1200px) {
        .landing-container{ margin-top:5px; height:70vh;  }
        .wrap-landing { width:90%;   }
}
*/
@media (max-width:900px) {
        .landing-container, .wrap-landing { min-height:60vh;  }
}
@media (max-width:600px) {
.landing-container{
        background: url(../img/pexels-house2-mobile.jpg) no-repeat center; min-height:60vh; background-size:cover;    }

}

/************************/
/*    TAGLINE        */
/************************/
/*.tagline {
        color:black; font-weight:bolder; font-size:2.5rem; padding:2rem; text-shadow:-1px -1px 0px #000, 1px -1px 0px #000, -1px 1px 0 #000, 1px 1px 0 #000, 1px 1px 5px grey, 0 0 10px grey, 0 0 20px grey, 0 0 20px grey, 0 0 30px white, 0 0 30px white, 0 0 40px white, 0 0 40px white; }
*/
.wrap-tagline { width:100%; position:absolute; top:35%; text-align:center; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; line-height:1.3;  }
.tagline { color:white; font-size:var(--fontclamp-0); font-weight:bolder; padding:1rem 2rem 1rem 1rem; width:auto; background:#0000D6; border-radius:30px 0 0 30px; }

/************************/
/*  BOTTOM LANDING BAR  */
/************************/
#bottom-bar {
    width:100%; overflow:hidden; margin:.5rem 0; display:flex; justify-content:space-around; align-items:center; background:#000061;  }
.botbar div { padding:.8rem; margin:.3rem; text-align:center; border:3px solid white; color:white; }
.botbar i { color:white; font-size:var(--fontclamp-1); text-align:center; padding:22px; width:80px; height:80px; }

/************************/
/*  HOME ABOUT SECTION  */
/************************/
#about {
    position:relative; background:white; width:100%; padding:1rem 2rem 3rem 2rem;  }
#about-bottom {
    position:relative; background:#F3F3F3; clip-path: polygon(100% 0, 50% 100%, 0 0); width:100%; min-height:100px; z-index:3;    }
.about-title { font-size:var(--fontclamp-3); line-height:1.3; font-weight:bolder; padding:0 0 1rem; text-align:center; color:#000061; }
.wrap-about {
    width:100%; display:flex; flex-direction:column; align-items:center;   }
.home-about .about-bio {
    display:flex; justify-content: space-around; align-items:flex-start; }
.home-about .about-bio .about-photo {
    flex:1; padding:0 1rem 0 0; text-align:center; }
.home-about .about-bio .about-text {
    flex:1; padding:0 1rem;  }
.home-about .about-bio .about-text p {
     }
.home-about .about-bio .about-photo img {
    max-width:300px; }
@media (max-width:900px) {
    #about { padding:3em 1rem 3rem;   }
    .home-about { width:100%;     }
    .home-about .about-bio {
        width:100%; flex-direction:column; align-items:center;   }
    .home-about .about-photo,
    .home-about .about-text,
    .home-about .about-bio {
        width:100%;    }
    .home-about .about-bio .about-photo img {
        max-width:90%; }
}

/************************/
/*  HOME SERVICES SECTION  */
/************************/

#services {
    position:relative; width:100%; padding:0 0 3rem; background:#FCFCFC; }
#services-top {
    display:flex; justify-content:center; align-items:flex-end; background:url(../img/shutterstock-rowac1.jpg); text-align:center; min-height:200px;
    /* Create the parallax scrolling effect */
    background-attachment:fixed; background-position:top; background-repeat:no-repeat;  background-size:cover; }
#services-top .services-title { font-size:var(--fontclamp-3); color:white; }
.wrap-services {
    display:flex; flex-direction:column; align-items:center; padding:0; margin:0;  }
.wrap-svccard {
    overflow:hidden; border-radius:20px; }
.wrap-svccard img { max-width:100%; height:auto; }
.svc-title { width:90%; padding:2rem; text-align:center; }
.svc-title div { }

.home-services {
        position:relative; text-align:center; width:95%; display:flex; justify-content:center; flex-wrap:wrap;  }
.services-card, .services-card1 {
    flex:1; min-width:330px; max-width:400px; border:.5px solid rgba(3, 42, 73, 1); border-radius:15px; margin:.5rem; display:flex; justify-content:flex-start; flex-direction:column; align-items:center; background:black; color:white; }
.services-card img { width:100%!important; height:200px; border-radius:15px 15px 0 0; }
.services-card1 img {  width:100%!important; height:200px; border-radius:0 0 15px 15px; }
.services-card p, .services-card1 p { padding:.5rem 1rem; }
.svccard-animation { animation-name: zoomIn; animation-duration: .5s; animation-iteration-count: 1; }

.bioimg { border-radius:15px; }
.bioimg-animation { animation-name: zoomIn; animation-duration: .5s; animation-iteration-count: 1; }
.subcol-animation {
    animation-name: fadeInUp; animation-duration: 1s; animation-iteration-count: 1; animation-fill-mode: forwards; }
.subcol1 { padding:0 2rem; opacity:0;  }
.subcol2 { padding:0 2rem; opacity:0; animation-delay:.25s; }
.subcol3 { padding:0 2rem; opacity:0; animation-delay:.5s; }
/* services animation slide up when scroll to section }
.svc1 { opacity:0; animation-delay:.25s; }
.svc2 { opacity:0; animation-delay:.35s; }
.svc3 { opacity:0; animation-delay:.45s; }
.svc4 { opacity:0; animation-delay:.55s; }
.svc5 { opacity:0; animation-delay:.65s; }
*/

@media (max-width:1100px) {
    #services-top {
        /* Remove the parallax scrolling effect */
        background-attachment: scroll;
        background-position: center;
    }
}

/******************************************************/
/* BRANDS WE SERVICE OWL CAROUSEL                     */
/******************************************************/
.wrap-brands { width:100%; background:black; min-height:150px; }
.brand-carousel {  }
.single-logo { width:200px; }

.owl-dots{ text-align: center; }
.owl-dot {
    display:inline-block; height:15px!important; width:15px !important; background-color:#222222!important; opacity:0; border-radius:50%; margin:0 5px; }
.owl-dot.active {
    background-color:#FF170F!important; }
/************************/
/*  GALLERY OF WORK  */
/************************/
.wrap-gallery { display:flex; flex-direction:column; width:100%; justify-content:center; align-items:center; padding:3rem 0 4rem; background:url(../img/gallery-back2.jpg) no-repeat center; background-size:cover; }
.gallery-title { font-size:var(--fontclamp-3); line-height:1.3; font-weight:bolder; padding:0 0 2rem; text-align:center; color:#000061; }

.gallery-container {width:100%; padding:0 5rem;    }


.owl-item > div {cursor: pointer; margin: 6% 8%; transition: margin 0.4s ease;  }
.owl-item.center > div { cursor: auto; margin: 0; }
.owl-item:not(.center) > div:hover { opacity: .5; }

/* owl nav */
.owl-nav span{ color:blue; font-size:80px; }
.owl-nav span:hover{ color: #424242; }
.owl-prev, .owl-next{ position: absolute; top: 50%; transform: translateY(-50%); }
.owl-prev { left: -2rem;  }
.owl-next { right: -2rem;  }


/******************************************************/
/* TESTIMONIALS OWL CAROUSEL                          */
/******************************************************/
.testimonials { width:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; background:#f2f2f2; padding:0 1.5rem; margin:0;}

.testimonials-title {
    color:#266FED; font-size:var(--fontclamp-3); padding:0 1rem 2rem; text-align:center; line-height:1.1;}

.shadow-effect {
    background:#fff; padding:20px; border-radius:4px; text-align:center; border:1px solid #ECECEC;
    box-shadow: 0 19px 38px rgba(0,0,0,0.10), 0 15px 12px rgba(0,0,0,0.02);     }
#customers-testimonials .shadow-effect p {
    font-family: inherit; line-height: 1.5; margin: 1rem 0; font-weight: 300; }
.testimonial-name {
    margin:-17px auto 0; display:table; width:auto; background:#3190E7; padding:9px 35px; border-radius:12px; text-align:center; color:#fff; box-shadow:0 9px 18px rgba(0,0,0,0.12), 0 5px 7px rgba(0,0,0,0.05);   }
#customers-testimonials .item {
    text-align:center; opacity:1; -webkit-transform: scale3d(0.8, 0.8, 1);
    transform: scale3d(0.8, 0.8, 1); -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;   }
#customers-testimonials .owl-item.active.center .item {
    opacity: 1;  -webkit-transform: scale3d(1.0, 1.0, 1);  transform: scale3d(1.0, 1.0, 1); }
#customers-testimonials .owl-carousel .owl-item img {
    transform-style:preserve-3d; max-width: 90px; margin: 0 auto 2rem;  }
#customers-testimonials .owl-carousel .item img {
    transform-style:preserve-3d; margin: 0 auto 2rem;  }
#customers-testimonials.owl-carousel .owl-dots .owl-dot.active span,
#customers-testimonials.owl-carousel .owl-dots .owl-dot:hover span {
    background: #3190E7; transform: translate3d(0px, -50%, 0px) scale(0.7);  }
#customers-testimonials.owl-carousel .owl-dots{
    display: inline-block; width: 100%; text-align: center; }
#customers-testimonials.owl-carousel .owl-dots .owl-dot{
    display: inline-block;  }
#customers-testimonials.owl-carousel .owl-dots .owl-dot span {
    width: 20px; background: #3190E7; display: inline-block; height: 20px; margin: 0 2px 5px;
    transform: translate3d(0px, -50%, 0px) scale(0.3);  transform-origin: 50% 50% 0;
    transition: all 250ms ease-out 0s;   }


/************************/
/*  HOME CONTACT SECTION  */
/************************/
#contact-top {
    display:flex; justify-content:center; align-items:flex-end; background:url(../img/pexels-brick-back1.jpg); text-align:center; min-height:150px;
    /* Create the parallax scrolling effect */
    background-attachment:fixed; background-position:top; background-repeat:no-repeat;  background-size:cover; }
#contact-top .contact-title { font-size:var(--fontclamp-3); color:white; }
#contact { width:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; background:#FAFAFA;  }
.wrap-contact {
    display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; padding:2rem .5rem; }
.home-contact {
    width:100%; display:flex; flex-direction:row; justify-content:center; flex-wrap:wrap;     }
.form-main {
        width:100%; min-width:300px; display:flex; flex-direction:column; align-items:center; flex:1; text-align:center; padding:.5rem 1rem;}
.contact-info {
        width:100%; min-width:300px; display:flex; flex-direction:column; align-items:center; flex:1; text-align:center; padding:1.5rem;}
.form-main .main-wrapper {
        width:100%;   }
.form-main .main-wrapper .form-head {
        font-size:var(--fontclamp-1); line-height:40px; font-weight:600; text-align:center; margin:0px 0 25px; }
.form-main .main-wrapper .form-wrapper {
        display:flex; align-items:center; justify-content:center; flex-direction:column; gap: 15px;  }
.form-main .main-wrapper .form-wrapper .form-card {
        position: relative; width: 100%;  }
.form-main .main-wrapper .form-wrapper .form-card .form-input {
        padding:20px 25px 15px; width:100%; border:1px solid #000; border-radius:5px; background:transparent; outline:none; line-height:30px; font-weight:400; box-sizing:border-box; margin-bottom:1rem; }
.form-main .main-wrapper .form-wrapper .form-card .form-input:valid,
.form-main .main-wrapper .form-wrapper .form-card .form-input:focus {
        border: 1px solid #515151;   }
.form-main .main-wrapper .form-wrapper .form-card .form-input:valid ~ .form-label,
.form-main .main-wrapper .form-wrapper .form-card .form-input:focus ~ .form-label {
        color:#515151; top:30%; transform:translateY(-70%); font-size:var(--fontclamp--1); line-height:23px;  }
.form-main .main-wrapper .form-wrapper .form-card .form-input:-webkit-autofill,
.form-main .main-wrapper .form-wrapper .form-card .form-input:-webkit-autofill:hover,
.form-main .main-wrapper .form-wrapper .form-card .form-input:-webkit-autofill:focus,
.form-main .main-wrapper .form-wrapper .form-card .form-input:-webkit-autofill:active {
        transition: background-color 9999s ease-in-out 0s;  }
.form-main .main-wrapper .form-wrapper .form-card .form-input::-webkit-outer-spin-button,
.form-main .main-wrapper .form-wrapper .form-card .form-input::-webkit-inner-spin-button {
        -webkit-appearance: none; margin: 0;  }
.form-main .main-wrapper .form-wrapper .form-card .form-label {
        position:absolute; left:25px; top:50%; transform:translateY(-50%); pointer-events:none; transition:0.3s; margin:0; line-height:28px; font-weight:500;  }
.form-main .main-wrapper .form-wrapper .form-card .form-textarea {
        padding:20px 25px 15px; width:100%; border:1px solid #000; border-radius:5px; background:transparent; outline:none; line-height:30px; font-weight:400; display: -webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; resize:none; box-sizing:border-box; }
.form-main .main-wrapper .form-wrapper .form-card .form-textarea:valid, .form-main .main-wrapper .form-wrapper .form-card .form-textarea:focus {
        border: 1px solid #515151; }
.form-main .main-wrapper .form-wrapper .form-card .form-textarea:valid ~ .form-textarea-label,
.form-main .main-wrapper .form-wrapper .form-card .form-textarea:focus ~ .form-textarea-label {
        color: #515151; top: 18%; transform: translateY(-82%); font-size: var(--fontclamp--1); line-height: 23px;  }
.form-main .main-wrapper .form-wrapper .form-card .form-textarea:-webkit-autofill,
.form-main .main-wrapper .form-wrapper .form-card .form-textarea:-webkit-autofill:hover,
.form-main .main-wrapper .form-wrapper .form-card .form-textarea:-webkit-autofill:focus,
.form-main .main-wrapper .form-wrapper .form-card .form-textarea:-webkit-autofill:active {
        transition: background-color 9999s ease-in-out 0s; }
.form-main .main-wrapper .form-wrapper .form-card .form-textarea-label {
        position:absolute; left:25px; top:30%; transform:translateY(-70%); pointer-events:none; transition:0.3s; margin:0; line-height:28px; font-weight:500;  }
.btn-wrap {
        display:flex; padding:1rem 0 0; }
.btn-wrap button {
        padding:.5rem 2rem; line-height:1; border:1px solid transparent; background:var(--logo-blue); font-weight:600; border-radius:6px; transition:all 0.5s ease; cursor:pointer; box-shadow:0 0 5px 5px #00000020; color:white }
.btn-wrap button:hover {
        border: 1px solid #000; background:white; color:black; }
.formmsg {
    color:red; text-align:center; }
.gmap { width:100%; height:300px; margin:.3rem 0 2rem; }
.gmap iframe { width:100%; height:300px; }

@media screen and (max-width:1200px) {
    .wrap-contact {
        width:90%; backdrop-filter:blur(1px);  }
}
@media screen and (max-width: 1100px) {
    #contact-top {
        /* Remove the parallax scrolling effect */
        background-attachment: scroll;
        background-position: center;
    }
}
@media screen and (max-width: 900px) {
    #contact { padding:1rem; }
    .contact-info { padding:0 1rem;}
}
@media screen and (max-width: 767px) {
    .form-main .main-wrapper {
            width: 90%;      }
}

/************************/
/*  FOOTER              */
/************************/
footer {
    position:relative; background:black; color:white; background-size:cover; padding:3rem 0 0; margin-top:0; width:100%; color:white;   }
.wrap-footer {
    width:100%; display:flex; justify-content:space-between; flex-wrap:wrap;   }
.wrap-footer img { max-width:100%; width:300px;  }
.col1, .col2, .col3, .col4 {
    width:100%; flex:1; display:flex; justify-content:center; align-items:flex-start; text-align:center; min-width:275px; padding:1rem;  }
footer i { margin:0 1.5rem; }
footer i, footer a, footer p, footer p span { }

footer i:hover, footer a:hover {
    color:blue; }
footer .contact-btn {
    background:blue; color:white; border: 1px solid transparent; border-radius:10px; padding:.5rem 1.5rem; width:auto; }
footer .contact-btn:hover {
    border: 1px solid #000; background: white; color:black;  }

.scrolltop {
        display:flex; justify-content:flex-end; align-items:center;  }
.scrolltop a {
        margin:0 1rem 0 0; padding:0 .5rem 0 0; }
.copyright, .copyright a {
        width:100%; background:black; text-align:center; padding:.3rem; margin-top:1rem; color:white; }
@media (max-width:900px) {
    footer { padding:4rem 0 0;   }
    .wrap-footer { flex-direction:column; justify-content:space-between; align-items:center;   }
}

.owl-carousel {
    position: relative;
    margin-top: -5px;
    bottom: -5px;
    margin-bottom: -15px;
}

#owl-logo img:hover {
    opacity: 1;
}
.logo-carousel img,
{
    -o-transition: .5s;
    -ms-transition: .5s;
    -moz-transition: .5s;
    -webkit-transition: .5s;
    transition: .5s;
    outline: none; }
.logo-carousel.owl-carousel .owl-item img {
    width: auto;
}

