/* ===========================================================
   DEFAULTS
=========================================================== *//* Fonts */:root{--font-default:"Rajdhani",sans-serif;--font-header:"Rajdhani",sans-serif}/* Colors */:root{--color-default:#101011;--color-primary:#62BB46;--color-secondary:#2876BC;--color-light:#f8f9fa;--color-dark:#101011}/* Smooth scroll behavior */:root{scroll-behavior:smooth}/* ===========================================================
   TYPOGRAPHY
=========================================================== */h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:var(--font-header);margin-top:0;margin-bottom:0.5rem;font-weight:700;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + 0.9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + 0.6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + 0.3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}.text-primary{color:var(--color-primary) !important}.bg-primary{background-color:var(--color-primary) !important}.text-secondary{color:var(--color-secondary) !important}.bg-secondary{background-color:var(--color-secondary) !important}/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/body{font-family:var(--font-default);font-size:18px;line-height:1.5;color:var(--color-default);overflow-x:hidden}ul{list-style:none}a{color:var(--color-primary);transition:all ease .75s;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}.py-6{padding-top:6rem;padding-bottom:6rem}.video-btn{width:60px;height:60px;border-radius:50%;color:#fff;background:#da3333;text-align:center;line-height:60px;display:inline-block;position:relative;z-index:2;border:none;outline:none !important}.video-btn::before{content:'';width:80px;height:80px;border-radius:50%;display:block;background:rgba(218, 51, 51, 0.5);position:absolute;top:-10px;left:-10px;z-index:-1;transition:all 0.35s}.video-btn::after{content:'';width:90px;height:90px;border-radius:50%;display:block;background:rgba(218, 51, 51, 0.2);position:absolute;top:-15px;left:-15px;z-index:-1;transition:all 0.35s}.video-btn:hover,.video-btn:focus{color:#fff;text-decoration:none}.video-btn:hover::before,.video-btn:hover::after,.video-btn:focus::before,.video-btn:focus::after{-webkit-animation:bouncing 2s infinite;animation:bouncing 2s infinite}@-webkit-keyframes bouncing{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:0}100%{transform:scale(1.3);opacity:0}}@keyframes bouncing{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:0}100%{transform:scale(1.3);opacity:0}}.overlay-content{position:relative;z-index:20}.dark-overlay{position:relative}.dark-overlay::after{position:absolute;top:0;left:0;width:100%;height:100%;content:' ';opacity:0.8;background:#000}/*** Navbar ***//* Reserve header geometry before images, icon fonts, and JavaScript load.
   NitroPack can reveal the contact row after first paint; keep its parent
   height stable so that revealing the row cannot push the hero downward. */.top-bar{height:8px;box-sizing:border-box}.top-bar .row{line-height:27px}.ksc-phone-icon{display:inline-block;width:18px;height:27px;line-height:27px;vertical-align:top;text-align:center}.navbar.fixed-top{top:0}@media (min-width: 992px){.top-bar{height:35px}.navbar.fixed-top:not(.bg-dark){top:27px}}.navbar-brand img{aspect-ratio:200/37}.top-bar,.navbar.bg-dark{background-color:var(--color-dark) !important}.navbar{padding:10px 0}.navbar .dropdown-toggle::after{border:none;content:"\f107";font-family:"Font Awesome 5 Free";font-weight:900;vertical-align:middle;margin-left:8px}.navbar .navbar-nav .nav-link:hover,.navbar .navbar-nav .nav-link.active{color:var(--color-primary)}.navbar .navbar-nav .nav-link:hover{}.navbar .navbar-nav .nav-link{position:relative;/* Required for positioning the pseudo-element *//*padding: 35px 15px;*/padding:0 20px;color:var(--color-light);outline:none;font-size:20px;font-weight:600;text-decoration:none/* Remove the default underline */}.navbar .navbar-nav .nav-link::after{content:'';position:absolute;width:0;height:2px;/* Thickness of the underline */bottom:-5px;/* Distance from the text to the underline */left:50%;background-color:var(--color-primary);/* Color of the underline, using primary color */transition:width 0.3s ease,left 0.3s ease/* Smooth transition for the underline */}.navbar .navbar-nav .nav-link:hover::after,.navbar .navbar-nav .nav-link.active::after{width:100%;/* Full width of the element */left:0/* Align with the left edge of the element */}.navbar.fixed-top{transition:.5s}@media (max-width: 1399.98px){.navbar > .navbar-collapse{max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto}.navbar .navbar-nav{margin-top:10px;border-top:1px solid rgba(255, 255, 255, .3);background:var(--color-dark)}.navbar .navbar-nav .nav-link{padding:10px 0}}/* Keep the full navigation and estimate button inside laptop viewports. */@media (min-width: 1400px) and (max-width: 1599.98px){.navbar .navbar-nav .nav-link{padding-left:10px;padding-right:10px}}@media (min-width: 1400px){.navbar .nav-item .dropdown-menu{display:block;visibility:hidden;top:100%;transform:rotateX(-75deg);transform-origin:0% 0%;transition:.5s;opacity:0}.navbar .nav-item:hover .dropdown-menu{transform:rotateX(0deg);visibility:visible;transition:.5s;opacity:1}}/*--------------------------------------------------------------
# Sections & Section Header
--------------------------------------------------------------*/section{padding:50px 0;overflow:hidden}.section-bg{background-color:#f5f6f7}.section-header{text-align:center;padding-bottom:70px}.section-header h2{font-size:32px;font-weight:700;position:relative;color:#2e3135}.section-header h2:before,.section-header h2:after{content:"";width:50px;height:2px;background:var(--color-primary);display:inline-block}.section-header h2:before{margin:0 15px 10px 0}.section-header h2:after{margin:0 0 10px 15px}.section-header p{margin:0 auto 0 auto}@media (min-width: 1199px){.section-header p{max-width:60%}}/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/.breadcrumbs{padding:140px 0 60px 0;min-height:30vh;position:relative;background-size:cover;background-position:center;background-repeat:no-repeat}.breadcrumbs:before{content:"";background-color:rgba(0, 0, 0, 0.6);position:absolute;inset:0}.breadcrumbs h2{font-size:56px;font-weight:500;color:#fff;font-family:var(--font-secondary)}.breadcrumbs ol{display:flex;flex-wrap:wrap;list-style:none;padding:0 0 10px 0;margin:0;font-size:16px;font-weight:600;color:var(--color-primary)}.breadcrumbs ol a{color:rgba(255, 255, 255, 0.8);transition:0.3s}.breadcrumbs ol a:hover{text-decoration:underline}.breadcrumbs ol li+li{padding-left:10px}.breadcrumbs ol li+li::before{display:inline-block;padding-right:10px;color:#fff;content:"/"}/*--------------------------------------------------------------
# Scroll top button
--------------------------------------------------------------*/.scroll-top{position:fixed;visibility:hidden;opacity:0;right:15px;bottom:15px;z-index:99999;background:var(--color-primary);width:40px;height:40px;border-radius:4px;transition:all 0.4s}.scroll-top i{font-size:24px;color:var(--color-light);line-height:0}.scroll-top:hover{background:var(--color-secondary)}.scroll-top.active{visibility:visible;opacity:1}/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/#preloader{position:fixed;inset:0;z-index:999999;overflow:hidden;background:#fff;transition:all 0.6s ease-out}#preloader:before{content:"";position:fixed;top:calc(50% - 30px);left:calc(50% - 30px);border:6px solid #fff;border-color:var(--color-primary) transparent var(--color-primary) transparent;border-radius:50%;width:60px;height:60px;-webkit-animation:animate-preloader 1.5s linear infinite;animation:animate-preloader 1.5s linear infinite}@-webkit-keyframes animate-preloader{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes animate-preloader{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/@media screen and (max-width: 768px){[data-aos-delay]{transition-delay:0 !important}}/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/.header{z-index:997;position:absolute;padding:30px 0;top:0;left:0;right:0}.header .logo img{max-height:40px;margin-right:6px}.header .logo h1{font-size:24px;font-weight:700;color:#fff;margin-bottom:0;font-family:var(--font-header)}.header .logo h1 span{color:var(--color-primary)}/*** About ***/.img-twice::before{position:absolute;content:"";width:60%;height:80%;top:10%;left:20%;background-image:url(https://keystone-website-media-154166281913.s3.us-east-2.amazonaws.com/Projects/Exeter%20Township%20School%20District/ET2.jpg);background-size:cover;background-repeat:no-repeat;background-position:center center;border:25px solid #9fe28a;border-radius:6px;z-index:-1}.btn-square,.btn-sm-square,.btn-lg-square{padding:0;display:flex;align-items:center;justify-content:center;font-weight:normal}.btn-square{width:30px;height:30px}/*--------------------------------------------------------------
# Get Started Section
--------------------------------------------------------------*/.get-started .content{padding:30px 0}.get-started .content h3{font-size:36px;color:var(--color-secondary);font-weight:600;margin-bottom:25px;padding-bottom:25px;position:relative}.get-started .content h3:after{content:"";position:absolute;display:block;width:60px;height:4px;background:var(--color-primary);left:0;bottom:0}.get-started .php-email-form{background:#fff;padding:30px;height:100%}@media (max-width: 575px){.get-started .php-email-form{padding:20px}}.get-started .php-email-form h3{font-weight:700;text-transform:uppercase;letter-spacing:1px}.get-started .php-email-form p{margin-bottom:20px}.get-started .php-email-form .error-message{display:none;color:#fff;background:#df1529;text-align:left;padding:15px;margin-bottom:24px;font-weight:600}.get-started .php-email-form .sent-message{display:none;color:#fff;background:#059652;text-align:center;padding:15px;margin-bottom:24px;font-weight:600}.get-started .php-email-form .loading{display:none;background:#fff;text-align:center;padding:15px;margin-bottom:24px}.get-started .php-email-form .loading:before{content:"";display:inline-block;border-radius:50%;width:24px;height:24px;margin:0 10px -6px 0;border:3px solid #059652;border-top-color:#fff;-webkit-animation:animate-loading 1s linear infinite;animation:animate-loading 1s linear infinite}.get-started .php-email-form input,.get-started .php-email-form textarea{border-radius:0;box-shadow:none;border-radius:0}.get-started .php-email-form input:focus,.get-started .php-email-form textarea:focus{border-color:var(--color-primary)}.get-started .php-email-form input{padding:12px 15px}.get-started .php-email-form textarea{padding:12px 15px}.get-started .php-email-form button[type=submit]{background:var(--color-primary);border:0;padding:10px 30px;color:#fff;transition:0.4s;border-radius:4px}.get-started .php-email-form button[type=submit]:hover{background:rgba(254, 185, 0, 0.8)}@-webkit-keyframes animate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes animate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}/*--------------------------------------------------------------
# Constructions Section
--------------------------------------------------------------*/.constructions .card-item{border:1px solid rgba(82, 86, 94, 0.2);background:#fff;position:relative;border-radius:0}/* Stretch service cards to the tallest content in each Bootstrap row.
   Heights remain content-driven so descriptions are never clipped. */#constructions > .container > .row > .col-lg-6{display:flex}#constructions .card-item{display:flex;flex-direction:column;width:100%}#constructions .card-item > .row{flex:1}.constructions .card-item .card-bg{min-height:300px;background-size:cover;background-position:center;background-repeat:no-repeat}.constructions .card-item .card-body{padding:30px}.constructions .card-item h4{font-weight:700;font-size:20px;margin-bottom:15px;color:var(--color-secondary)}.constructions .card-item p{margin:0}/*--------------------------------------------------------------
# Services Section
--------------------------------------------------------------*/.services .service-item{padding:40px;background:#fff;height:100%}.services .service-item .icon{width:48px;height:48px;position:relative;margin-bottom:50px}.services .service-item .icon i{color:var(--color-secondary);font-size:40px;transition:ease-in-out 0.3s;z-index:2;position:relative;line-height:1.8}.services .service-item .icon:before{position:absolute;content:"";height:100%;width:100%;background:#f0f1f2;border-radius:50px;z-index:1;top:10px;right:-15px;transition:0.3s}.services .service-item h3{color:var(--color-default);font-weight:700;margin:0 0 20px 0;padding-bottom:8px;font-size:22px;position:relative;display:inline-block;border-bottom:4px solid #ebebed;transition:0.3s}.services .service-item p{line-height:24px;margin-bottom:0}.services .service-item .readmore{margin-top:15px;display:inline-block;color:var(--color-primary)}.services .service-item:hover .icon:before{background:var(--color-primary)}.services .service-item:hover h3{border-color:var(--color-primary)}/*--------------------------------------------------------------
# Features Section
--------------------------------------------------------------*/.features .nav-tabs{border:0}.features .nav-link{padding:15px 0;transition:0.3s;color:var(--color-secondary);border-radius:0;display:flex;align-items:center;justify-content:center;cursor:pointer;height:100%;border:0;border-bottom:4px solid #e2e4e6}.features .nav-link i{padding-right:15px;font-size:48px}.features .nav-link h4{font-size:18px;font-weight:600;margin:0}@media (max-width: 575px){.features .nav-link h4{font-size:16px}}.features .nav-link:hover{color:var(--color-primary)}.features .nav-link.active{color:var(--color-primary);background-color:transparent;border-color:var(--color-primary)}.features .tab-content{margin-top:30px}.features .tab-pane h3{font-weight:700;font-size:32px;position:relative;margin-bottom:20px;padding-bottom:20px}.features .tab-pane h3:after{content:"";position:absolute;display:block;width:60px;height:3px;background:var(--color-primary);left:0;bottom:0}.features .tab-pane ul{list-style:none;padding:0}.features .tab-pane ul li{padding-top:10px}.features .tab-pane ul i{font-size:20px;padding-right:4px;color:var(--color-primary)}.features .tab-pane p:last-child{margin-bottom:0}/*--------------------------------------------------------------
# Our Projects Section
--------------------------------------------------------------*//* Keep directory thumbnails inside responsive cards, overriding Additional CSS. */.project-cards .sport-image-wrapper{width:100%;height:auto;aspect-ratio:300/143.44;overflow:hidden}.project-cards .sport-image{display:block;width:100%;/* Use intrinsic scaling for smooth thumbnails; the wrapper handles cropping. */height:auto}.projects .portfolio-flters{padding:0;margin:0 auto 20px auto;list-style:none;text-align:center}.projects .portfolio-flters li{cursor:pointer;display:inline-block;padding:0;font-size:18px;font-weight:500;margin:0 10px;line-height:1;margin-bottom:5px;transition:all 0.3s ease-in-out}.projects .portfolio-flters li:hover,.projects .portfolio-flters li.filter-active{color:var(--color-primary)}.projects .portfolio-flters li:first-child{margin-left:0}.projects .portfolio-flters li:last-child{margin-right:0}@media (max-width: 575px){.projects .portfolio-flters li{margin:0 5px}}.projects .portfolio-content{position:relative;overflow:hidden}.projects .portfolio-content img{transition:0.3s}.projects .portfolio-content .portfolio-info{opacity:0;position:absolute;inset:0;z-index:3;transition:all ease-in-out 0.3s;background:rgba(0, 0, 0, 0.6);padding:15px}.projects .portfolio-content .portfolio-info h4{padding:5px 10px;font-weight:400;color:#fff;display:inline-block;background-color:var(--color-primary)}.projects .portfolio-content .portfolio-info p{position:absolute;bottom:10px;text-align:center;display:inline-block;left:0;right:0;font-size:16px;font-weight:600;color:rgba(255, 255, 255, 0.8)}.projects .portfolio-content .portfolio-info .preview-link,.projects .portfolio-content .portfolio-info .details-link{position:absolute;left:calc(50% - 40px);font-size:26px;top:calc(50% - 14px);color:#fff;transition:0.3s;line-height:1.2}.projects .portfolio-content .portfolio-info .preview-link:hover,.projects .portfolio-content .portfolio-info .details-link:hover{color:var(--color-primary)}.projects .portfolio-content .portfolio-info .details-link{left:50%;font-size:34px;line-height:0}.projects .portfolio-content:hover .portfolio-info{opacity:1}.projects .portfolio-content:hover img{transform:scale(1.1)}/*--------------------------------------------------------------
# Testimonials Section
--------------------------------------------------------------*/.testimonials .testimonial-wrap{padding-left:50px}.testimonials .testimonials-carousel,.testimonials .testimonials-slider{overflow:hidden}.testimonials .testimonial-item{box-sizing:content-box;padding:30px 30px 30px 60px;margin:0 15px 30px 0;min-height:200px;box-shadow:0px 2px 20px rgba(82, 86, 94, 0.1);position:relative;background:#fff}.testimonials .testimonial-item .testimonial-img{width:90px;border-radius:10px;border:6px solid #fff;position:absolute;left:-45px}.testimonials .testimonial-item h3{font-size:18px;font-weight:bold;margin:10px 0 5px 0;color:#000}.testimonials .testimonial-item h4{color:#999;margin:0}.testimonials .testimonial-item .stars{margin:10px 0}.testimonials .testimonial-item .stars i{color:#ffc107;margin:0 1px}.testimonials .testimonial-item .quote-icon-left,.testimonials .testimonial-item .quote-icon-right{color:#ffd565;font-size:26px;line-height:0}.testimonials .testimonial-item .quote-icon-left{display:inline-block;left:-5px;position:relative}.testimonials .testimonial-item .quote-icon-right{display:inline-block;right:-5px;position:relative;top:10px;transform:scale(-1, -1)}.testimonials .testimonial-item p{font-style:italic;margin:15px auto 15px auto}.testimonials .swiper-pagination{margin-top:20px;position:relative}.testimonials .swiper-pagination .swiper-pagination-bullet{width:12px;height:12px;background-color:#d5d7da;opacity:1}.testimonials .swiper-pagination .swiper-pagination-bullet-active{background-color:var(--color-primary)}@media (max-width: 767px){.testimonials .testimonial-wrap{padding-left:0}.testimonials .testimonials-carousel,.testimonials .testimonials-slider{overflow:hidden}.testimonials .testimonial-item{padding:30px;margin:15px}.testimonials .testimonial-item .testimonial-img{position:static;left:auto}}/*--------------------------------------------------------------
# Alt Services Section
--------------------------------------------------------------*/.alt-services .img-bg{background-size:cover;background-position:center center;min-height:400px}.alt-services h3{font-size:28px;font-weight:700;color:var(--color-secondary);margin-bottom:20px;padding-bottom:20px;position:relative}.alt-services h3:after{content:"";position:absolute;display:block;width:50px;height:3px;background:var(--color-primary);left:0;bottom:0}.alt-services .icon-box{margin-top:50px}.alt-services .icon-box i{display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-right:25px;font-size:28px;width:56px;height:56px;border-radius:4px;line-height:0;box-shadow:0px 2px 30px rgba(0, 0, 0, 0.08);background-color:#fff;transition:0.3s}.alt-services .icon-box:hover i{background-color:var(--color-primary);color:#fff}.alt-services .icon-box h4{font-weight:700;margin-bottom:10px;font-size:18px}.alt-services .icon-box h4 a{color:#000;transition:0.3s}.alt-services .icon-box h4 a:hover{color:var(--color-primary)}.alt-services .icon-box p{line-height:24px;margin-bottom:0}/*--------------------------------------------------------------
# About Section
--------------------------------------------------------------*/.about h2{font-size:48px;font-weight:700;font-family:var(--font-secondary);margin:30px 0}@media (min-width: 991px){.about h2{max-width:65%;margin:0 0 80px 0}}.about .our-story{padding:40px;background-color:#f5f6f7}@media (min-width: 991px){.about .our-story{padding-right:35%}}.about .our-story h4{text-transform:uppercase;font-size:18px;color:#838893}.about .our-story h3{font-size:36px;font-weight:700;margin-bottom:20px;color:var(--color-secondary)}.about .our-story p:last-child{margin-bottom:0}.about ul{list-style:none;padding:0;font-size:15px}.about ul li{padding:5px 0;display:flex;align-items:center}.about ul i{font-size:20px;margin-right:4px;color:var(--color-primary)}.about .watch-video i{font-size:32px;transition:0.3s;color:var(--color-primary)}.about .watch-video a{font-weight:600;color:var(--color-secondary);margin-left:8px;transition:0.3s}.about .watch-video:hover a{color:var(--color-primary)}.about .about-img{min-height:600px;background-size:cover;background-position:center}@media (min-width: 992px){.about .about-img{position:absolute;top:0;right:0}}/*--------------------------------------------------------------
# Stats Counter Section
--------------------------------------------------------------*/.stats-counter .stats-item{background:#fff;box-shadow:0px 0 30px rgba(82, 86, 94, 0.05);padding:30px}.stats-counter .stats-item i{font-size:42px;line-height:0;margin-right:20px;color:var(--color-primary)}.stats-counter .stats-item span{font-size:36px;display:block;font-weight:600;color:var(--color-secondary)}.stats-counter .stats-item p{padding:0;margin:0;font-family:var(--font-header)}/*--------------------------------------------------------------
# Our Team Section
--------------------------------------------------------------*/.team .member{position:relative}.team .member .member-img{margin:0 80px;border-radius:50%;overflow:hidden;position:relative}@media (max-width: 1024px){.team .member .member-img{margin:0 60px}}.team .member .member-img img{position:relative;z-index:1}.team .member .member-img .social{position:absolute;inset:0;background-color:rgba(0, 0, 0, 0.6);display:flex;justify-content:center;align-items:center;z-index:2;padding-bottom:20px;transition:0.3s;visibility:hidden;opacity:0}.team .member .member-img .social a{transition:0.3s;color:#fff;font-size:20px;margin:0 8px}.team .member .member-img .social a:hover{color:var(--color-primary)}.team .member .member-info{margin-top:30px}.team .member .member-info h4{font-weight:700;margin-bottom:6px;font-size:18px;color:var(--color-secondary)}.team .member .member-info span{font-style:italic;display:block;font-size:15px;color:#838893;margin-bottom:10px}.team .member .member-info p{margin-bottom:0}.team .member:hover .member-img .social{padding-bottom:0;visibility:visible;opacity:1}/*--------------------------------------------------------------
# Servie Cards Section
--------------------------------------------------------------*/.services-cards h3{font-size:20px;font-weight:700;color:var(--color-secondary)}.services-cards p{font-size:15px}.services-cards ul li{display:flex;align-items:center;padding-top:10px}.services-cards ul li i{font-size:16px;color:var(--color-primary);margin-right:6px}/*--------------------------------------------------------------
# Projet Details Section
--------------------------------------------------------------*/.project-details .portfolio-details-slider img{width:100%}.project-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet{width:12px;height:12px;background-color:rgba(255, 255, 255, 0.7);opacity:1}.project-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet-active{background-color:var(--color-primary)}.project-details .swiper-button-prev,.project-details .swiper-button-next{width:48px;height:48px}.project-details .swiper-button-prev:after,.project-details .swiper-button-next:after{color:rgba(255, 255, 255, 0.8);background-color:rgba(0, 0, 0, 0.2);font-size:24px;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;transition:0.3s}.project-details .swiper-button-prev:hover:after,.project-details .swiper-button-next:hover:after{background-color:rgba(0, 0, 0, 0.6)}@media (max-width: 575px){.project-details .swiper-button-prev,.project-details .swiper-button-next{display:none}}.project-details .portfolio-info h3{font-size:22px;font-weight:700;margin-bottom:20px;padding-bottom:20px;position:relative}.project-details .portfolio-info h3:after{content:"";position:absolute;display:block;width:50px;height:3px;background:var(--color-primary);left:0;bottom:0}.project-details .portfolio-info ul{list-style:none;padding:0;font-size:15px}.project-details .portfolio-info ul li{display:flex;flex-direction:column;padding-bottom:15px}.project-details .portfolio-info ul strong{text-transform:uppercase;font-weight:400;color:#838893}.project-details .portfolio-info .btn-visit{padding:8px 40px;background:var(--color-primary);color:#fff;border-radius:50px;transition:0.3s}.project-details .portfolio-info .btn-visit:hover{background:#ffc019}.project-details .portfolio-description h2{font-size:26px;font-weight:700;margin-bottom:20px;color:var(--color-secondary)}.project-details .portfolio-description p{padding:0}.project-details .portfolio-description .testimonial-item{padding:30px 30px 0 30px;position:relative;background:#f5f6f7;height:100%;margin-bottom:50px}.project-details .portfolio-description .testimonial-item .testimonial-img{width:90px;border-radius:50px;border:6px solid #fff;float:left;margin:0 10px 0 0}.project-details .portfolio-description .testimonial-item h3{font-size:18px;font-weight:bold;margin:15px 0 5px 0;padding-top:20px}.project-details .portfolio-description .testimonial-item h4{color:#6c757d;margin:0}.project-details .portfolio-description .testimonial-item .quote-icon-left,.project-details .portfolio-description .testimonial-item .quote-icon-right{color:#ffd565;font-size:26px;line-height:0}.project-details .portfolio-description .testimonial-item .quote-icon-left{display:inline-block;left:-5px;position:relative}.project-details .portfolio-description .testimonial-item .quote-icon-right{display:inline-block;right:-5px;position:relative;top:10px;transform:scale(-1, -1)}.project-details .portfolio-description .testimonial-item p{font-style:italic;margin:0 0 15px 0 0 0;padding:0}/*--------------------------------------------------------------
# Service Details Section
--------------------------------------------------------------*/.service-details .services-list{padding:10px 30px;border:1px solid #d5d7da;margin-bottom:20px}.service-details .services-list a{display:block;line-height:1;padding:8px 0 8px 15px;border-left:3px solid #d9e3e8;margin:20px 0;color:var(--color-secondary);transition:0.3s}.service-details .services-list a.active{font-weight:700;border-color:var(--color-primary)}.service-details .services-list a:hover{border-color:var(--color-primary)}.service-details .services-img{margin-bottom:20px}.service-details h3{font-size:28px;font-weight:700}.service-details h4{font-size:20px;font-weight:700}.service-details p{font-size:15px}.service-details ul{list-style:none;padding:0;font-size:15px}.service-details ul li{padding:5px 0;display:flex;align-items:center}.service-details ul i{font-size:20px;margin-right:8px;color:var(--color-primary)}/*--------------------------------------------------------------
# Contact Section
--------------------------------------------------------------*/.contact .info-item{box-shadow:0 0 25px rgba(0, 0, 0, 0.08);padding:20px 0 30px 0}.contact .info-item i{display:flex;align-items:center;justify-content:center;width:56px;height:56px;font-size:24px;line-height:0;color:var(--color-primary);border-radius:50%;border:2px dotted #ffd565}.contact .info-item h3{font-size:20px;color:#6c757d;font-weight:700;margin:10px 0}.contact .info-item p{padding:0;line-height:24px;margin-bottom:0}.contact .php-email-form{width:100%;background:#fff;box-shadow:0 0 25px rgba(0, 0, 0, 0.08);padding:30px}.contact .php-email-form .form-group{padding-bottom:20px}.contact .php-email-form .error-message{display:none;color:#fff;background:#df1529;text-align:left;padding:15px;font-weight:600}.contact .php-email-form .error-message br+br{margin-top:25px}.contact .php-email-form .sent-message{display:none;color:#fff;background:#059652;text-align:center;padding:15px;font-weight:600}.contact .php-email-form .loading{display:none;background:#fff;text-align:center;padding:15px}.contact .php-email-form .loading:before{content:"";display:inline-block;border-radius:50%;width:24px;height:24px;margin:0 10px -6px 0;border:3px solid #059652;border-top-color:#fff;-webkit-animation:animate-loading 1s linear infinite;animation:animate-loading 1s linear infinite}.contact .php-email-form input,.contact .php-email-form textarea{border-radius:0;box-shadow:none}.contact .php-email-form input:focus,.contact .php-email-form textarea:focus{border-color:var(--color-primary)}.contact .php-email-form input{height:44px}.contact .php-email-form textarea{padding:10px 12px}.contact .php-email-form button[type=submit]{background:var(--color-primary);border:0;padding:10px 35px;color:#fff;transition:0.4s;border-radius:5px}.contact .php-email-form button[type=submit]:hover{background:rgba(254, 185, 0, 0.8)}@keyframes animate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}/*--------------------------------------------------------------
# Recent Blog Posts Section
--------------------------------------------------------------*/.recent-blog-posts .post-item{box-shadow:0px 2px 20px rgba(0, 0, 0, 0.06);transition:0.3s}.recent-blog-posts .post-item .post-img img{transition:0.5s}.recent-blog-posts .post-item .post-date{position:absolute;right:0;bottom:0;background-color:var(--color-primary);color:#fff;text-transform:uppercase;font-size:13px;padding:6px 12px;font-weight:500}.recent-blog-posts .post-item .post-content{padding:30px}.recent-blog-posts .post-item .post-title{font-size:24px;color:var(--color-secondary);font-weight:700;transition:0.3s;margin-bottom:15px}.recent-blog-posts .post-item .meta i{font-size:16px;color:var(--color-primary)}.recent-blog-posts .post-item .meta span{font-size:15px;color:#838893}.recent-blog-posts .post-item hr{color:#888;margin:20px 0}.recent-blog-posts .post-item .readmore{display:flex;align-items:center;font-weight:600;line-height:1;transition:0.3s;color:#838893}.recent-blog-posts .post-item .readmore i{line-height:0;margin-left:6px;font-size:16px}.recent-blog-posts .post-item:hover .post-title,.recent-blog-posts .post-item:hover .readmore{color:var(--color-primary)}.recent-blog-posts .post-item:hover .post-img img{transform:scale(1.1)}/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/.hero{overflow-x:hidden;padding:0}.hero .carousel{width:100%;min-height:100vh;padding:80px 0;margin:0;position:relative}.hero .carousel-item{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden;z-index:1;transition-duration:0.4s}.hero .carousel-item::before{content:"";background-color:rgba(0, 0, 0, 0.3);position:absolute;inset:0}.hero .info{position:absolute;inset:0;z-index:2}@media (max-width: 768px){.hero .info{padding:0 50px}}.hero .info h2{color:#fff;margin-bottom:30px;padding-bottom:30px;font-size:56px;font-weight:700;position:relative}.hero .info h2:after{content:"";position:absolute;display:block;width:80px;height:4px;background:var(--color-primary);left:0;right:0;bottom:0;margin:auto}@media (max-width: 768px){.hero .info h2{font-size:36px}}.hero .info p{color:rgba(255, 255, 255, 0.8);font-size:18px}.hero .info .btn-get-started{font-weight:700;font-size:22px;display:inline-block;padding:12px 40px;border-radius:50px;transition:0.5s;margin:10px;color:#fff;border:2px solid var(--color-primary);background:var(--color-primary)}.hero .info .btn-get-started:hover{background:transparent}.hero .carousel-control-prev{justify-content:start}@media (min-width: 640px){.hero .carousel-control-prev{padding-left:15px}}.hero .carousel-control-next{justify-content:end}@media (min-width: 640px){.hero .carousel-control-next{padding-right:15px}}.hero .carousel-control-next-icon,.hero .carousel-control-prev-icon{background:none;font-size:26px;line-height:0;background:rgba(255, 255, 255, 0.2);color:rgba(255, 255, 255, 0.6);border-radius:50px;width:54px;height:54px;display:flex;align-items:center;justify-content:center}.hero .carousel-control-prev,.hero .carousel-control-next{z-index:3;transition:0.3s}.hero .carousel-control-prev:focus,.hero .carousel-control-next:focus{opacity:0.5}.hero .carousel-control-prev:hover,.hero .carousel-control-next:hover{opacity:0.9}/*--------------------------------------------------------------
# Blog
--------------------------------------------------------------*/.blog .blog-pagination{margin-top:30px;color:#838893}.blog .blog-pagination ul{display:flex;padding:0;margin:0;list-style:none}.blog .blog-pagination li{margin:0 5px;transition:0.3s}.blog .blog-pagination li a{color:var(--color-secondary);padding:7px 16px;display:flex;align-items:center;justify-content:center}.blog .blog-pagination li.active,.blog .blog-pagination li:hover{background:var(--color-primary);color:#fff}.blog .blog-pagination li.active a,.blog .blog-pagination li:hover a{color:var(--color-white)}/*--------------------------------------------------------------
# Blog Posts List
--------------------------------------------------------------*/.blog .posts-list .post-item{box-shadow:0px 2px 20px rgba(0, 0, 0, 0.06);transition:0.3s}.blog .posts-list .post-img img{transition:0.5s}.blog .posts-list .post-date{position:absolute;right:0;bottom:0;background-color:var(--color-primary);color:#fff;text-transform:uppercase;font-size:13px;padding:6px 12px;font-weight:500}.blog .posts-list .post-content{padding:30px}.blog .posts-list .post-title{font-size:24px;color:var(--color-secondary);font-weight:700;transition:0.3s;margin-bottom:15px}.blog .posts-list .meta i{font-size:16px;color:var(--color-primary)}.blog .posts-list .meta span{font-size:15px;color:#838893}.blog .posts-list p{margin-top:20px}.blog .posts-list hr{color:#888;margin-bottom:20px}.blog .posts-list .readmore{display:flex;align-items:center;font-weight:600;line-height:1;transition:0.3s;color:#838893}.blog .posts-list .readmore i{line-height:0;margin-left:6px;font-size:16px}.blog .posts-list .post-item:hover .post-title,.blog .posts-list .post-item:hover .readmore{color:var(--color-primary)}.blog .posts-list .post-item:hover .post-img img{transform:scale(1.1)}/*--------------------------------------------------------------
# Blog Details
--------------------------------------------------------------*/.blog .blog-details{box-shadow:0 4px 16px rgba(0, 0, 0, 0.1);padding:30px}.blog .blog-details .post-img{margin:-30px -30px 20px -30px;overflow:hidden}.blog .blog-details .title{font-size:28px;font-weight:700;padding:0;margin:20px 0 0 0;color:var(--color-secondary)}.blog .blog-details .content{margin-top:20px}.blog .blog-details .content h3{font-size:22px;margin-top:30px;font-weight:bold}.blog .blog-details .content blockquote{overflow:hidden;background-color:rgba(82, 86, 94, 0.06);padding:60px;position:relative;text-align:center;margin:20px 0}.blog .blog-details .content blockquote p{color:var(--color-default);line-height:1.6;margin-bottom:0;font-style:italic;font-weight:500;font-size:22px}.blog .blog-details .content blockquote:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--color-primary);margin-top:20px;margin-bottom:20px}.blog .blog-details .meta-top{margin-top:20px;color:#6c757d}.blog .blog-details .meta-top ul{display:flex;flex-wrap:wrap;list-style:none;align-items:center;padding:0;margin:0}.blog .blog-details .meta-top ul li+li{padding-left:20px}.blog .blog-details .meta-top i{font-size:16px;margin-right:8px;line-height:0;color:var(--color-primary)}.blog .blog-details .meta-top a{color:#6c757d;display:inline-block;line-height:1;transition:0.3s}.blog .blog-details .meta-top a:hover{color:var(--color-primary)}.blog .blog-details .meta-bottom{padding-top:10px;border-top:1px solid rgba(82, 86, 94, 0.15)}.blog .blog-details .meta-bottom i{color:#838893;display:inline}.blog .blog-details .meta-bottom a{color:rgba(82, 86, 94, 0.8);transition:0.3s}.blog .blog-details .meta-bottom a:hover{color:var(--color-primary)}.blog .blog-details .meta-bottom .cats{list-style:none;display:inline;padding:0 20px 0 0}.blog .blog-details .meta-bottom .cats li{display:inline-block}.blog .blog-details .meta-bottom .tags{list-style:none;display:inline;padding:0}.blog .blog-details .meta-bottom .tags li{display:inline-block}.blog .blog-details .meta-bottom .tags li+li::before{padding-right:6px;color:var(--color-default);content:","}.blog .blog-details .meta-bottom .share{font-size:16px}.blog .blog-details .meta-bottom .share i{padding-left:5px}.blog .post-author{padding:20px;margin-top:30px;box-shadow:0 4px 16px rgba(0, 0, 0, 0.1)}.blog .post-author img{max-width:120px;margin-right:20px}.blog .post-author h4{font-weight:600;font-size:22px;margin-bottom:0px;padding:0;color:var(--color-secondary)}.blog .post-author .social-links{margin:0 10px 10px 0}.blog .post-author .social-links a{color:rgba(82, 86, 94, 0.5);margin-right:5px}.blog .post-author p{font-style:italic;color:rgba(108, 117, 125, 0.8);margin-bottom:0}/*--------------------------------------------------------------
# Blog Sidebar
--------------------------------------------------------------*/.blog .sidebar{padding:30px;box-shadow:0 4px 16px rgba(0, 0, 0, 0.1)}.blog .sidebar .sidebar-title{font-size:20px;font-weight:700;padding:0;margin:0;color:var(--color-secondary)}.blog .sidebar .sidebar-item+.sidebar-item{margin-top:40px}.blog .sidebar .search-form form{background:#fff;border:1px solid rgba(82, 86, 94, 0.3);padding:3px 10px;position:relative}.blog .sidebar .search-form form input[type=text]{border:0;padding:4px;border-radius:4px;width:calc(100% - 40px)}.blog .sidebar .search-form form input[type=text]:focus{outline:none}.blog .sidebar .search-form form button{position:absolute;top:0;right:0;bottom:0;border:0;background:none;font-size:16px;padding:0 15px;margin:-1px;background:var(--color-primary);color:var(--color-secondary);transition:0.3s;border-radius:0 4px 4px 0;line-height:0}.blog .sidebar .search-form form button i{line-height:0}.blog .sidebar .search-form form button:hover{background:rgba(254, 185, 0, 0.8)}.blog .sidebar .categories ul{list-style:none;padding:0}.blog .sidebar .categories ul li+li{padding-top:10px}.blog .sidebar .categories ul a{color:var(--color-secondary);transition:0.3s}.blog .sidebar .categories ul a:hover{color:var(--color-default)}.blog .sidebar .categories ul a span{padding-left:5px;color:rgba(54, 77, 89, 0.4)}.blog .sidebar .recent-posts .post-item{display:flex}.blog .sidebar .recent-posts .post-item+.post-item{margin-top:15px}.blog .sidebar .recent-posts img{max-width:80px;margin-right:15px}.blog .sidebar .recent-posts h4{font-size:15px;font-weight:bold}.blog .sidebar .recent-posts h4 a{color:var(--color-secondary);transition:0.3s}.blog .sidebar .recent-posts h4 a:hover{color:var(--color-primary)}.blog .sidebar .recent-posts time{display:block;font-style:italic;color:rgba(54, 77, 89, 0.4)}.blog .sidebar .tags{margin-bottom:-10px}.blog .sidebar .tags ul{list-style:none;padding:0}.blog .sidebar .tags ul li{display:inline-block}.blog .sidebar .tags ul a{color:#838893;padding:6px 14px;margin:0 6px 8px 0;border:1px solid rgba(131, 136, 147, 0.4);display:inline-block;transition:0.3s}.blog .sidebar .tags ul a:hover{color:var(--color-secondary);border:1px solid var(--color-primary);background:var(--color-primary)}.blog .sidebar .tags ul a span{padding-left:5px;color:rgba(131, 136, 147, 0.8)}/*--------------------------------------------------------------
# Blog Comments
--------------------------------------------------------------*/.blog .comments{margin-top:30px}.blog .comments .comments-count{font-weight:bold}.blog .comments .comment{margin-top:30px;position:relative}.blog .comments .comment .comment-img{margin-right:14px}.blog .comments .comment .comment-img img{width:60px}.blog .comments .comment h5{font-size:16px;margin-bottom:2px}.blog .comments .comment h5 a{font-weight:bold;color:var(--color-default);transition:0.3s}.blog .comments .comment h5 a:hover{color:var(--color-primary)}.blog .comments .comment h5 .reply{padding-left:10px;color:var(--color-secondary)}.blog .comments .comment h5 .reply i{font-size:20px}.blog .comments .comment time{display:block;color:rgba(82, 86, 94, 0.8);margin-bottom:5px}.blog .comments .comment.comment-reply{padding-left:40px}.blog .comments .reply-form{margin-top:30px;padding:30px;box-shadow:0 4px 16px rgba(0, 0, 0, 0.1)}.blog .comments .reply-form h4{font-weight:bold;font-size:22px}.blog .comments .reply-form p{}.blog .comments .reply-form input{border-radius:4px;padding:10px 10px}.blog .comments .reply-form input:focus{box-shadow:none;border-color:rgba(254, 185, 0, 0.8)}.blog .comments .reply-form textarea{border-radius:4px;padding:10px 10px}.blog .comments .reply-form textarea:focus{box-shadow:none;border-color:rgba(254, 185, 0, 0.8)}.blog .comments .reply-form .form-group{margin-bottom:25px}.blog .comments .reply-form .btn-primary{border-radius:4px;padding:10px 20px;border:0;background-color:var(--color-secondary)}.blog .comments .reply-form .btn-primary:hover{color:var(--color-secondary);background-color:var(--color-primary)}/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/.footer{color:#fff;background:url("../img/footer-bg2.jpg") bottom center no-repeat;background-size:cover;padding:80px 0 60px 0;position:relative}.footer:before{content:"";background:rgba(0, 0, 0, 0.8);position:absolute;inset:0}.footer .footer-content .footer-info{margin-bottom:30px}.footer .footer-content .footer-info h3{font-size:28px;margin:0 0 20px 0;padding:2px 0 2px 0;line-height:1;font-weight:700;text-transform:uppercase}.footer .footer-content .footer-info h3 span{color:var(--color-primary)}.footer .footer-content .footer-info p{line-height:24px;margin-bottom:0;font-family:var(--font-header);color:#fff}.footer .footer-content .social-links a{font-size:18px;display:inline-block;background:rgba(255, 255, 255, 0.1);color:#fff;line-height:1;margin-right:8px;border-radius:4px;width:36px;height:36px;transition:0.3s}.footer .footer-content .social-links a:hover{background:var(--color-primary);text-decoration:none}.footer .footer-content h4,.footer .footer-content .footer-heading{color:#fff;position:relative;padding-bottom:12px}.footer-heading-spacer{height:20px}.footer .footer-content .footer-links{margin-bottom:30px}.footer .footer-content .footer-links ul{list-style:none;padding:0;margin:0}.footer .footer-content .footer-links ul li{padding:8px 0}.footer .footer-content .footer-links ul li:first-child{padding-top:0}.footer .footer-content .footer-links ul a{color:rgba(255, 255, 255, 0.6);transition:0.3s;display:inline-block;line-height:1}.footer .footer-content .footer-links ul a:hover{color:#fff}.footer .footer-legal .copyright{padding-top:30px;border-top:1px solid rgba(255, 255, 255, 0.15)}.footer .footer-legal .credits{padding-top:4px;font-size:13px;color:#fff}.footer .footer-legal .credits a{color:var(--color-primary)}/*--------------------------------------------------------------
# seo
--------------------------------------------------------------*/.seo{background:url("../img/seo-01.jpg") center center;background-size:cover;position:relative;padding:80px 0}.seo:before{content:"";background:rgba(0, 0, 0, 0.8);position:absolute;bottom:0;top:0;left:0;right:0}.seo .seo-img{position:relative;transition:0.5s}.seo .seo-img img{max-width:100%;border:4px solid rgba(255, 255, 255, 1);position:relative}.seo .seo-img::before{position:absolute;left:20px;top:20px;width:60px;height:60px;z-index:1;content:"";border-left:5px solid var(--color-primary);border-top:5px solid var(--color-secondary);transition:0.5s}.seo .seo-img::after{position:absolute;right:20px;bottom:20px;width:60px;height:60px;z-index:2;content:"";border-right:5px solid var(--color-primary);border-bottom:5px solid var(--color-secondary);transition:0.5s}.seo .seo-img:hover{transform:scale(1.03)}.seo .seo-img:hover::before{left:10px;top:10px}.seo .seo-img:hover::after{right:10px;bottom:10px}.seo .content{position:relative}.seo .content h3{font-weight:600;font-size:26px}.seo .content ul{list-style:none;padding:0}.seo .content ul li{padding-bottom:10px}.seo .content ul i{font-size:20px;padding-right:4px;color:var(--color-secondary)}.seo .content p:last-child{margin-bottom:0}@media (min-width: 1024px){.seo{background-attachment:fixed}}.bg-cover{color:#fff;background:url("https://keystone-website-media-154166281913.s3.us-east-2.amazonaws.com/Projects/Honesdale%20High%20School%20Design%20Build/Honesdale2.jpg") bottom center no-repeat;background-size:cover;padding:80px 0 60px 0;position:relative}.bg-cover:before{content:"";background:rgba(0, 0, 0, 0.8);position:absolute;inset:0}.bg-cover-vid{background-color:var(--color-dark);padding:0!important}.btn-get-quote{font-weight:700;font-size:22px;display:inline-block;padding:12px 40px;border-radius:50px;transition:0.5s;margin:10px;color:#fff;border:2px solid var(--color-secondary);background:var(--color-secondary)}.btn-request{font-weight:700;display:inline-block;padding:5px 20px;border-radius:50px;transition:0.5s;margin:10px;border:2px solid var(--color-secondary);background:transparent}.btn-request:hover{color:#fff;background:var(--color-secondary)}.fs-5{font-size:1.55rem!important}.ksc-intro-icon{width:1em;height:1em;color:#2876BC;vertical-align:-0.125em}.intro-item{padding:1em;border:solid 1px var(--color-secondary);background-color:#2876bc14;border-radius:5px;min-height:200px}.blue-bg{background-color:#2875bb08}/* Homepage contrast review: preserve brand surfaces and clarify text links. */#hero .info .btn-get-started{color:#fff !important;background:#62bb46 !important}#hero .info .btn-get-started:hover,#hero .info .btn-get-started:focus-visible{color:#fff !important;background:#81cb6a !important}.ksc-home-contrast .overlay-button{color:#fff !important;background-color:#62bb46 !important}#hero .info .btn-get-started,.ksc-home-contrast .overlay-button{-webkit-text-stroke:1px #404040;paint-order:stroke fill;text-shadow:0 1px 1px #404040}.ksc-home-contrast p a:not([class]),.ksc-home-contrast .seo li a{text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:1px}.ksc-home-contrast .blue-bg p a,.ksc-home-contrast #alt-services p a{color:#185487}.ksc-home-contrast .seo a{color:#fff;text-decoration:underline;text-underline-offset:.16em}.ksc-home-contrast .post-item .post-date{color:#10200d;background-color:#62bb46}.ksc-home-contrast .post-item .meta span,.ksc-home-contrast .post-item .meta i{color:#515761}.ksc-home-contrast .post-item .meta a,.ksc-home-contrast .post-item .readmore,.ksc-home-contrast .post-item:hover .readmore,.ksc-home-contrast .post-item:hover .post-title{color:#185487}.ksc-home-contrast .post-item .meta a{text-decoration:underline;text-underline-offset:.16em}/* Reuse the approved dark blue for this small label on its pale blue panel. */.ksc-home-contrast .ksc-why-choose-label{color:#185487}
