@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap');

body
{
    margin: 0;
    padding: 0;
    font-family: "Plus Jakarta Sans", sans-serif;
}
h1, h2, h3, h4, h5, h6
{
    font-family: 'Poppins', sans-serif;
    color: #30373e;
}
a
{
    transition: .3s all;
}
a:hover
{
    text-decoration: none;
}

.btn {
    padding:10px 30px;
    border:2px solid #000;
    text-decoration:none;
    color:#000;
    border-radius: 30px;
}
.btn:hover
{
    background: #000;
    color: #fff;
}
.btn i
{
    margin-left: 10px;
}

.mycontainer
{
    width: 90%;
    float: left;
    margin: 0 5%;
}

header
{
    width: 100%;
    float: left;
    height: auto;
}
.logo
{
    float: left;
    margin: 10px 0;
}
.logo img
{
    width: 250px;
}

.res-nav
{
    position: absolute;
    right: 10px;
    font-size: 26px;
    background: #fff;
    padding: 5px;
    color: #333;
    top: -60px;
    display: none;
}
.menu
{
    padding: 0;
    margin: 0;
    width: 100%;
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.menu li
{
    list-style: none;
    float: left;
}
.menu li a
{
    float: left;    
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 16px;
    padding: 50px 20px 47px;
    color: #30373e;
}

.menu li a span
{
    position: relative;
}
.menu li a span:before {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    left: auto;
    right: 0;
    bottom: -10px;
    background-color: #6c181e;
    -ms-transition: all .4s ease;
    -o-transition: all .4s ease;
    -moz-transition: all .4s ease;
    -webkit-transition: all .4s ease;
    transition: all .4s ease
}
.menu li:hover a {
    color: #6c181e;
}
.menu li:hover .dropdown-menu li a
{
    color: #30373e;
}

.menu li:hover a span:before {
    width: 100%;
    left: 0;
    right: auto
}
.dropdown-menu
{
    min-width: 250px;
    margin: 0;
    margin-top: -1px;
}
.dropdown-menu li
{
    width: 100%;
}
.dropdown-menu li a
{
    padding: 10px;
}
.dropdown-menu li a:hover
{
    color: #6c181e !important;
}
.dropdown:hover .dropdown-menu
{
    display: block;
}

.menu-right
{
    width: 100%;
    float: left;
    margin-top: 46px;
}
.menu-right p
{
    float: left;
    margin: 0;
    color: #30373e;
    font-size: 15px;
    font-weight: 700;
    margin-right: 20px;
}
.menu-right p span
{
    color: #6c181e;
}
.menu-right li
{
    float: left;
    list-style: none;
    margin: 0 10px;
}
.menu-right li a
{
    font-size: 18px;
    color: #30373e;
    float: left;
}
.menu-right li a:hover
{
    color: #6c181e;
}

.banner
{
    width: 100%;
    float: left;
}
.slider {
    height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    overflow:hidden;
    width: 100%;
}

.slide {
    position:absolute;
    width:100%;
    top: 0;
    height:100vh;
    display:flex;
    opacity:0;
    pointer-events:none;
    z-index: 0;
}
.slide.active {
    opacity:1;
    pointer-events:auto;
    z-index: 2;
}

/* LEFT SIDE */
.slide .left {
    width:45%;
    padding-left: 50px;
    margin-top: 200px;
    position: relative;
    z-index: 10;
}
.slide .left .btn
{
    position: relative;
    z-index: 20;
}

.slide .subtitle {
    font-size:14px;
    letter-spacing:3px;
    margin-bottom:30px;
    width: 100%;
    float: left;
    margin-top: 30px;
}

.slide .title {
    font-size:64px;
    font-weight:700;
    line-height:1.1;
}

.slide .line {
    width:60px;
    height:3px;
    background:#000;
    margin-bottom:30px;
}

/* RIGHT SIDE */
.slide .right {
    width:55%;
    top: 0;
    position: relative;
    z-index: 1;
    pointer-events: none;
}

/* IMAGES */
.slide .img {
    position:absolute;
    overflow:hidden;
    z-index: 0;
     pointer-events: none;

}

.slide .img img {
    width:100%;
    display:block;
    position: relative;
    z-index: 0;
    pointer-events: none;
}

/* IMAGE POSITIONS */
.slide .img1 {
    width:100%;
    top:0;
    right:0;
}

.slide .img2 {
    width:45%;
    bottom:100px;
    left:-100px;
    border-radius: 50% 50% 0 0;
    border: 10px solid #fff;
}

/* SHADOW */
.slide .img img {
    box-shadow:0 20px 40px rgba(0,0,0,0.2);
}

/* PAGINATION */
.slider .pagination {
    position:absolute;
    bottom:40px;
    left:40%;
    transform:translateX(-50%);
    z-index: 5;
}

.slider .dot {
    padding-right: 50px;
    padding-bottom: 15px;
    cursor:pointer;
    font-size:16px;
    border-bottom: 2px solid #ccc;
    transition: .3s all;
    font-weight:bold;
}

.slider .dot.active, .slider .dot:hover {
    border-bottom: 2px solid #6c181e;
}

section
{
    width: 100%;
    float: left;
    padding: 5em 0;
}
.margin-30px
{
    width: 100%;
    float: left;
    padding: 5px 0;
    clear: both;
}

.home-abt-left img
{
    width: 100%;
    cursor: pointer;
}
.home-abt-left .img1
{
    margin-bottom: 30px;
}
.home-abt-left .img-box {
    position: relative;
    overflow: hidden;
    width: 100%;
    float: left;
}

.home-abt-left .img-box img {
    width: 100%;
    transition: transform 0.4s ease;
}

/* Zoom effect */
.home-abt-left .img-box:hover img {
    transform: scale(1.1);
}

/* Border animation using gradients */
.img-box::after {
    content: "";
    position: absolute;
    inset: 20px; /* inner spacing */
    
    background:
        linear-gradient(white, white) top center / 0% 1px no-repeat,
        linear-gradient(white, white) bottom center / 0% 1px no-repeat,
        linear-gradient(white, white) left center / 1px 0% no-repeat,
        linear-gradient(white, white) right center / 1px 0% no-repeat;

    transition: background-size 0.4s ease;
    transition-delay: 0s;
}

/* Hover: expand from center */
.img-box:hover::after {
    background-size:
        100% 1px,   /* top */
        100% 1px,   /* bottom */
        1px 100%,   /* left */
        1px 100%;   /* right */
    transition-delay: 0.05s;
}

.home-abt-right
{
    width: 100%;
    float: left;
    background-image: url(../images/hm-abt-bg.png);
    background-position: bottom right;
    background-repeat: no-repeat;
    transition: background .3s, border .3s, border-radius .3s, box-shadow .3s;
    padding: 83px 140px 83px 89px;
}
.home-abt-right h5, .title h5
{
    font-size: 16px;
    text-transform: uppercase;
    line-height: 20px;
    letter-spacing: 3.5px;
    color: #6c181e;
    margin-bottom: 26px;
}
.home-abt-right h2, .title h2
{
    margin-bottom: 42px;
    font-weight: 700;
    font-size: 46px;
    line-height: 52px;
    letter-spacing: -1px;
    color: #30373e;
}
.home-abt-right p, .title p
{
    margin-bottom: 57px;
    color: #9b9b9b;
    font-size: 16px;
}

.steps img
{
    width: 100%;
}
.steps-caption
{
    position: relative;
    text-align: center;
    padding-top: 25px;
}
.steps-caption .number-count-item {
    -webkit-text-stroke: 1px rgba(0, 0, 0, .1);
    font-size: 100px;
    font-size: 6.25rem;
    line-height: 1.2;
    font-weight: 800;
    color: transparent;
    position: absolute;
    left: 0;
    top: 0;
}
.steps-caption h3
{
    font-size: 1.5rem;
    line-height: 36px;
    letter-spacing: -1px;
    margin-bottom: 20px;
    color: #30373e;
    text-align: center;
}
.steps-caption a
{
    font-size: .75rem;
    line-height: 24px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 600;
    color: #30373e;
}
.steps-caption a:hover
{
    color: #6c181e;
}

.choose-box
{
    width: 100%;
    float: left;
    padding: 20px;
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: .3s all;
}
.choose-box i
{
    background-color: #f6f6f6;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    font-size: 50px;
    font-weight: 300;
    margin-bottom: 15px;
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    transition: .3s all;
}
.choose-box h4
{
    font-size: 18px;
    font-weight: 700;
    text-transform: capitalize;
    line-height: 30px;
    margin-bottom: 16px;
    width: 100%;
    text-align: center;
}
.choose-box p
{
    font-size: 14px;
    line-height: 24px;
    color: #535353;
    margin: 0;
    width: 100%;
    text-align: center;
}
.choose-box:hover
{
    box-shadow: 2px 3px 22px -4px rgba(214,214,214,0.75);
    -webkit-box-shadow: 2px 3px 22px -4px rgba(214,214,214,0.75);
    -moz-box-shadow: 2px 3px 22px -4px rgba(214,214,214,0.75);
}
.choose-box:hover i
{
    background: #6c181e;
    color: #fff;
}
.apointment
{
    background-color: #fff;
    background-image: url(../images/appoint-bg.png);
    background-position: center left;
    background-repeat: no-repeat;
    background-size: auto;
    padding: 0;
}
.appointment-inner
{
    width: 100%;
    float: left;
    padding: 5em 0;
    background-image: url(../images/appoint-bg2.png);
    background-position: center right;
    background-repeat: no-repeat;
    background-size: auto;
    opacity: 1;
    transition: background .3s, border-radius .3s, opacity .3s;
}
.appointment-inner-left
{
    padding: 3em 3em 3em 7em;
}
.appointment-inner img
{
    width: 95%;
}

.testimonials
{
    background-image: url(https://demo2.themelexus.com/kitchor/wp-content/uploads/2023/04/h8-bg-04.png);
    background-position: bottom right;
    background-repeat: no-repeat;
    padding-bottom: 8em;
}

.testimonials .layout {
  position: relative;
}

/* 1️⃣ LEFT SMALL IMAGE */
.testimonials .layout .img1 {
  width: 20%;
  vertical-align: top;
}

/* 2️⃣ CENTER BIG IMAGE */
.testimonials .layout .img2 {
  width: 65%;
  margin-left: 1%; /* small margin from img1 */
}

/* 3️⃣ RIGHT OVERLAPPING IMAGE */
.testimonials .layout .img3 {
position: absolute;
  object-fit: cover;
  width: 40%;
  right: 50px;
  bottom: -100px;
  z-index: 3; /* sits on top of img2 */
}

.my-testis
{
    width: 100%;
    float: left;
    margin-top: 30px;
}
.my-testis li
{
    width: 100%;
    float: left;
    list-style: none;
}
.my-testis li i
{
    font-size: 40px;
    margin-bottom: 20px;
    color: #6c181e;
}
.my-testis li p
{
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 28px;
    color: #535353;
    font-style: italic;
    margin-bottom: 20px;
}
.my-testis li h5
{
    font-size: 18px;
    font-weight: 700;
    text-transform: capitalize;
    line-height: 24px;
    letter-spacing: -.2px;
    margin-bottom: 3px;
}

footer
{
    width: 100%;
    float: left;
    background-image: url(../images/footer_bg.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.footer-wrap
{
    width: 100%;
    float: left;
    background-color: transparent;
    background-image: linear-gradient(0deg, #30373e 55%, #30373E00 100%);
    opacity: .93;
    transition: background .3s, border-radius .3s, opacity .3s;
    padding-top: 100px;
}

.text-white .btn
{
    color: #fff;
    border-color: #fff;
}
.text-white .btn:hover
{
    background: #fff;
    color: #000;
}
.ftr-top
{
    padding-bottom: 100px;
    border-bottom: 1px solid #FFFFFF1A;
}
.ftr-btm
{
    padding: 100px 0;
    width: 100%;
    float: left;
}

.ftr-box h3
{
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 24px;
    margin-bottom: 28px;
}
.ftr-box p
{
    margin-bottom: 20px;
    color: #9b9b9b;
    font-size: 15px;
    font-weight: 400;
    line-height: 22px;
}
.ftr-social
{
    width: 100%;
    float: left;
    margin: 0;
    padding: 0;
    margin-top: 20px;
}
.ftr-social li
{
    float: left;
    margin: 0;
    list-style: none;
    margin: 0 10px;
}
.ftr-social li a
{
    font-size: 18px;
    color: #b0b6bc;
}
.ftr-social li a:hover
{
    color: #6c181e;
}
.quick-links li
{
    width: 100%;
    float: left;
    list-style: none;
    margin-bottom: 10px;
}
.quick-links li a
{
    font-size: 15px;
    font-weight: 400;
    line-height: 30px;
    color: #b0b6bc;
}
.quick-links li a:hover
{
    color: #6c181e;
}

.ftr-copy
{
    width: 100%;
    float: left;
    text-align: center;
    padding: 3em 0;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    border-top: 1px solid #FFFFFF1A;
}

/* GALLERY */
.gallery {
    width: 100%;
}

.main-slider img {
    width: 100%;
    object-fit: cover;
}

.thumb-slider {
    margin-top: 20px;
}

.thumb-slider img {
    width: 100%;
    height: auto;
    margin: 0 10px;
    cursor: pointer;
    border-radius: 6px;
}

/* CONTENT */
.content {
    width: 100%;
    padding-top: 5em;
}

.title {
    font-size: 34px;
    margin-bottom: 20px;
}

/* META */
.meta {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    padding: 15px 0;
    margin-bottom: 20px;
}

.meta div {
    margin-bottom: 8px;
    font-size: 15px;
}

/* DESCRIPTION */
.description
{
    width: 70%;
    float: left;
}
.description p {
    margin-bottom: 15px;
    color: #555;
    line-height: 1.6;
}

/* PROJECT INFO GRID */
.project-info {
    width: 30%;
    float: left;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-top: 20px;
}

.info-box {
    border: 1px solid #eee;
    padding: 15px;
    border-radius: 6px;
    background: #fafafa;
}

.info-box h4 {
    margin: 0 0 5px;
    font-size: 14px;
    color: #888;
}

.info-box p {
    margin: 0;
    font-weight: bold;
}

/* SHARE */
.share {
    margin-top: 25px;
}

.share span {
    font-weight: bold;
    margin-right: 10px;
}

.share a {
    margin-right: 10px;
    text-decoration: none;
    color: #333;
}

.copyrightline
{
    width: 100%;
    float: left;
    padding: 10px 0;
    text-align: center;
    background: #fff;
    color: #000;
    font-size: 10px;
}

.pg-ban
{
    width: 100%;
    float: left;
    background-image: url(../images/pg-ban.jpg);
    background-position: top center;
    background-repeat: no-repeat;
}
.pg-ban-in
{
    width: 100%;
    float: left;
    padding: 8em 0;
    background: rgba(0, 0, 0, 0.53);
    transition: background .3s, border-radius .3s, opacity .3s;
}

.breadcrumbs
{
    width: 100%;
    float: left;
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.breadcrumbs li
{
    list-style: none;
    float: left;
}
.breadcrumbs li a
{
    color: #fff;
    padding: 0 15px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}
.breadcrumbs h1
{
    width: 100%;
    text-align: center;
    float: left;
    color: #fff;
    font-size: 4.25rem;
    margin-top: 20px;
    line-height: 1.25;
    font-weight: 700;
}
.contact-box
{
    width: 100%;
    float: left;
    padding: 0 10px;
}
.contact-box li
{
    list-style: none;
    float: left;
    width: 100%;
    padding: 30px 0 10px 0;
    border-bottom: 1px solid #e1e1e1;
}
.contact-box li:last-child
{
    border: none;
}
.contact-box li h5
{
    font-size: 16px;
    font-weight: 600;
    line-height: 17px;
    margin-bottom: 12px;
}
.contact-box li h5 i
{
    width: 30px;
    font-size: 18px;
    color: #6c181e;
}
.contact-box li p
{
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    margin: 0;
    margin-left: 30px;
}

.map-section
{
    width: 100%;
    float: left;
}
.map-section iframe
{
    width: 100%;
    height: 500px;
}

.contact-container
{
    width: 60%;
    float: left;
    margin: 0 20%;
}
.contact-form
{
    width: 100%;
    float: left;
    margin: 0;
}
.contact-form input[type=text], .contact-form input[type=email], .contact-form input[type=tel], .contact-form textarea
{
    width: 100%;
    height: 50px;
    border: 1px solid #e5e5e5;
    color: #30373e;
    font-size: 14px;
    font-size: .875rem;
    padding: 15px 22px;
    margin-bottom: 30px;
}
.contact-form textarea 
{
    height: 100px;
    resize: none;
}
.contact-form input[type=submit]
{
    background: none;
}
.contact-form input[type=submit]:hover
{
    background: #000;
}

.abt-top-left
{
    width: 100%;
    float: left;
    position: relative;
}
.abt-top-left .img1
{
    width: 50%;
    position: relative;
    z-index: 1;
}
.abt-top-left .img2
{
    width: 60%;
    position: absolute;
    z-index: 2;
    left: 15%;
    top: 0;
}
.abt-top-left .img3
{
    width: 75%;
    position: absolute;
    top: 0;
    z-index: 3;
    left: 22%;
    top: 10%;
}

.abt-boxes i, .abt-boxes img
{
    width: 20%;
    float: left;
    margin-right: 5%;
}
.abt-boxes i
{
    font-size: 66px;
    color: #30373e;
}
.abt-boxes-des
{
    width: 75%;
    float: left;
}
.abt-boxes-des h4
{
    font-size: 18px;
    font-weight: 700;
    text-transform: capitalize;
    line-height: 18px;
    letter-spacing: -.2px;
    margin-bottom: 15px;
}
.abt-boxes-des p
{
    margin: 0;
    font-size: 14px;
    line-height: 24px;
    color: #535353;
}

.abt-banner-sec
{
    width: 100%;
    float: left;
    background-image: url(../images/about_bg.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 7em 0;
}

.text-white, .text-white h5, .text-white h2, .text-white p
{
    color: #fff
}

.cat-box
{
    width: 100%;
    float: left;
}
.cat-box-img
{
  width: 100%;      /* fixed width */
  height: 300px;     /* fixed height */
  overflow: hidden;
  background: #fafafa;
}
.cat-box-img img
{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.cat-box h3
{
    text-align: center;
    font-size: 20px;
    margin: 0;
    margin-top: 20px;
    text-transform: uppercase;
}

.sticky
{
    width: 60px;
    position: fixed;
    right: 0;
    bottom: 10%;
    z-index: 999;
}
.sticky i
{
    color: #44c253;
    font-size: 60px;
}

.gallery-page .row
{
    column-count: 3;
    display: block !important;
}
.gallery-page .col-md-4 {
    display: inline-block;
    width: 100%;
}

.gallery-page .cat-box-img
{
    height: auto;
}
.gallery-page .cat-box {
    display: inline-block;
    width: 100%;
    break-inside: avoid;
}

.gallery-page .cat-box-img img {
    width: 100%;
    height: auto;
    display: block;
}

.masonry-grid {
    margin-left: -10px;
    margin-right: -10px;
}

.grid-item {
    padding: 0px 10px;
}