html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

*,
:after,
:before {
    box-sizing: border-box
}

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #333;
    background-color: #fff;
    font-family: "Syne", Sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-block-start: .5rem;
    margin-block-end: 1rem;
    font-family: inherit;
    font-weight: 500;
    line-height: 1.2;
    font-family: "Syne", Sans-serif;
    color: inherit
}

h1 {
    font-size: 2.5rem
}

h2 {
    font-size: 2rem
}

h3 {
    font-size: 1.75rem
}

h4 {
    font-size: 1.5rem
}

h5 {
    font-size: 1.25rem
}

h6 {
    font-size: 1rem
}

p {
    margin-block-start: 0;
    margin-block-end: .9rem
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em;
    white-space: pre-wrap
}

a {
    background-color: transparent;
    text-decoration: none;
    font-family: "Syne", Sans-serif;
    color: #c36
}

a:active,
a:hover {
    color: #336
}

a:not([href]):not([tabindex]),
a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover {
    color: inherit;
    text-decoration: none
}

a:not([href]):not([tabindex]):focus {
    outline: 0
}

abbr[title] {
    border-block-end: none;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none;
    height: auto;
    max-width: 100%
}

details {
    display: block
}

summary {
    display: list-item
}

figcaption {
    font-size: 16px;
    color: #333;
    line-height: 1.4;
    font-style: italic;
    font-weight: 400
}

[hidden],
template {
    display: none
}

@media print {

    *,
    :after,
    :before {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important
    }

    a,
    a:visited {
        text-decoration: underline
    }

    a[href]:after {
        content: " (" attr(href) ")"
    }

    abbr[title]:after {
        content: " (" attr(title) ")"
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: ""
    }

    pre {
        white-space: pre-wrap !important
    }

    blockquote,
    pre {
        -moz-column-break-inside: avoid;
        break-inside: avoid;
        border: 1px solid #ccc
    }

    thead {
        display: table-header-group
    }

    img,
    tr {
        -moz-column-break-inside: avoid;
        break-inside: avoid
    }

    h2,
    h3,
    p {
        orphans: 3;
        widows: 3
    }

    h2,
    h3 {
        -moz-column-break-after: avoid;
        break-after: avoid
    }
}

label {
    display: inline-block;
    line-height: 1;
    vertical-align: middle
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0
}

input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
    width: 100%;
    border: 1px solid #666;
    border-radius: 3px;
    padding: .5rem 1rem;
    transition: all .3s
}

input[type=date]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=url]:focus,
select:focus,
textarea:focus {
    border-color: #333
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    width: auto;
    -webkit-appearance: button
}

[type=button],
[type=submit],
button {
    display: inline-block;
    font-weight: 400;
    color: #c36;
    text-align: center;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid #c36;
    padding: .5rem 1rem;
    font-size: 1rem;
    border-radius: 3px;
    transition: all .3s
}

[type=button]:focus:not(:focus-visible),
[type=submit]:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
    outline: none
}

[type=button]:focus,
[type=button]:hover,
[type=submit]:focus,
[type=submit]:hover,
button:focus,
button:hover {
    color: #fff;
    background-color: #c36;
    text-decoration: none
}

[type=button]:not(:disabled),
[type=submit]:not(:disabled),
button:not(:disabled) {
    cursor: pointer
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto;
    resize: vertical
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

select {
    display: block
}

table {
    background-color: transparent;
    width: 100%;
    margin-block-end: 15px;
    font-size: .9em;
    border-spacing: 0;
    border-collapse: collapse
}

table td,
table th {
    padding: 15px;
    line-height: 1.5;
    vertical-align: top;
    border: 1px solid hsla(0, 0%, 50.2%, .5019607843)
}

table th {
    font-weight: 700
}

table tfoot th,
table thead th {
    font-size: 1em
}

table caption+thead tr:first-child td,
table caption+thead tr:first-child th,
table colgroup+thead tr:first-child td,
table colgroup+thead tr:first-child th,
table thead:first-child tr:first-child td,
table thead:first-child tr:first-child th {
    border-block-start: 1px solid hsla(0, 0%, 50.2%, .5019607843)
}

table tbody>tr:nth-child(odd)>td,
table tbody>tr:nth-child(odd)>th {
    background-color: hsla(0, 0%, 50.2%, .0705882353)
}

table tbody tr:hover>td,
table tbody tr:hover>th {
    background-color: hsla(0, 0%, 50.2%, .1019607843)
}

table tbody+tbody {
    border-block-start: 2px solid hsla(0, 0%, 50.2%, .5019607843)
}

@media (max-width:767px) {
    table table {
        font-size: .8em
    }

    table table td,
    table table th {
        padding: 7px;
        line-height: 1.3
    }

    table table th {
        font-weight: 400
    }
}

dd,
dl,
dt,
li,
ol,
ul {
    margin-block-start: 0;
    margin-block-end: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}


/************** Custom CSS **********/


.elementor-swiper {
    width: 100%;
    position: relative;
  }
  
  /* Style for the Swiper slide images */
  .elementor-carousel-image {
    height: 300px; 
    background-size: cover;
    background-position: center;
    border-radius: 0; 
  }
  
  .swiper-button-next, .swiper-button-prev {
    color: black !important; 
    font-size: 24px;
    background: none !important;
    border-radius: 50%; 
    padding: 10px; 
  }
  
  .swiper-button-next:hover, .swiper-button-prev:hover {
    background-color: rgba(0, 0, 0, 0.6); 
  }
  
  .swiper-button-next::after, .swiper-button-prev::after {
    font-size: 24px !important;
}

  /* Style for pagination dots */
  .swiper-pagination {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
  }
  
  .swiper-pagination-bullet {
    background-color: #fff; /* White dots */
    opacity: 0.5;
  }
  
  .swiper-pagination-bullet-active {
    opacity: 1;
  }
  

  .box-highlights .elementor-image-box-content {
    padding: 20px 20px 0 20px;
}




/* Custom CSS for the footer */
/* Footer General Styles */
#site-footer {
    background-color: #1a1a1a;
    color: #ffffff;
    padding: 90px 20px 10px 20px;
    text-align: center;
}

.footer-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
    gap: 20px;
}

.footer-col {
    flex: 1 1; /* Three columns */
    min-width: 250px;
    text-align: left;
}

.footer-col img.footer-logo {
    max-width: 150px;
    margin-bottom: 15px;
}

.footer-text {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 20px;
    color: white;
    width: 83%;
}

.footer-button {
    display: flex;
    padding: 0;
    line-height: 60px;
    color: #ffffff !important;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.footer-button span {
    margin: 0 5px 0 0;
    font-size: 18px;
}




.footer-contact {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-contact li {
    display: flex;
    align-items: center;
    margin-bottom: 23px;
    font-size: 18px;
     color: #D2D3CF;
}

.footer-contact li i {
    font-size: 18px;
    margin-right: 10px;
    color: #97938C;
}

/* Column 3: Newsletter and Social Icons */
.footer-title {
    font-size: 16px;
    margin-bottom: 15px;
    color: #ffffff;
}

.footer-social-icons {
    display: flex;
    gap: 0;
    justify-content: start;
    margin-top: 10px;
}

.footer-social-icons .social-icon {
    display: inline-flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        width: 35px;
        padding: 22px;
        margin: 0 10px 0 0;
        border: 1px solid #ffffff5c;
        height: 35px;
        border-radius: 50%;
        background-color: transparent;
        color: #ffffff;
        font-size: 16px;
        transition: background-color 0.3s ease;
}

.footer-social-icons .social-icon:hover {
    background-color: transparent;
    color: red;
}
span.white-btn.main-head-btn {
    border: 2px solid white;
}
span.white-btn.main-head-btn svg {
    fill: white;
}

/* Responsive Styles */
@media (max-width: 768px) {
    .footer-container {
        flex-direction: column;
               align-items: flex-start;
    }

    .footer-col {
        text-align: left;
        flex: 1 1 100%;
    }

    .footer-social-icons {
        justify-content: flex-start;
    }

.copyright-text {
	display: block !important;}
}


figure.elementor-image-box-img img{
    transition: opacity .3s, background .3s, border .3s, border-radius .3s, box-shadow .3s, transform var(--e-transform-transition-duration, .4s);
}
figure.elementor-image-box-img img:hover{
    opacity: 0.9; 
}

.main-btn-service {
    color: black;
}

.service-btn {
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    overflow: hidden;
    position: relative;
}



.main-btn-service {
    position: relative;
    display: inline-block;
    top: auto;
    left: auto;
    height: auto;
    width: auto;
    font-size: 15px;
    line-height: 21px;
    font-weight: 500;
    color: var(--theme-color-text_dark);
    z-index: 1;
    overflow: hidden;
    text-decoration: none;
    align-items: center;
    display: inline-flex;
}




.main-btn-service .link_text {
    position: relative;
    margin-right: 0;
    display: inline-block;
    vertical-align: middle;
    text-indent: -110px;
    visibility: hidden;
    white-space: nowrap;
    opacity: 0;
    transition: visibility 0.4s ease, margin-right 0.4s ease-out, text-indent 0.5s ease-out, opacity 0.4s ease;
    will-change: visibility, margin-right, text-indent, opacity;
}

.main-btn-service .link_icon {
    margin-left: 8px;
    display: inline-block;
    opacity: 1;
    transition: transform 0.3s ease;
}

.main-btn-service:hover .link_text {
    opacity: 1;
    text-indent: 0;
    margin-right: 6px;
    visibility: visible;
    transition: visibility 0.4s ease, margin-right 0.3s ease-out, text-indent 0.4s ease-out, opacity 0.4s ease;
}

.main-btn-service:hover .link_icon {
    transform: translateX(-3px);
}


.service-btn {
    position: relative;
    display: inline-block;
    top: auto;
    left: auto;
    height: auto;
    width: auto;
    font-size: 15px;
    line-height: 21px;
    font-weight: 500;
    color: var(--theme-color-text_dark);
    z-index: 1;
    overflow: hidden;
    text-decoration: none;
    align-items: center;
    display: inline-flex;
}

.service-btn .link_text {
    position: relative;
    margin-right: 0;
    display: inline-block;
    vertical-align: middle;
    text-indent: -110px;
    visibility: hidden;
    white-space: nowrap;
    opacity: 0;
    transition: visibility 0.4s ease, margin-right 0.4s ease-out, text-indent 0.5s ease-out, opacity 0.4s ease;
    will-change: visibility, margin-right, text-indent, opacity;
}

.service-btn .link_icon {
    margin-left: 8px;
    display: inline-block;
    opacity: 1;
    transition: transform 0.3s ease;
}

.service-btn:hover .link_text {
    opacity: 1;
    text-indent: 0;
    margin-right: 6px;
    visibility: visible;
    transition: visibility 0.4s ease, margin-right 0.3s ease-out, text-indent 0.4s ease-out, opacity 0.4s ease;
}

.service-btn:hover .link_icon {
    transform: translateX(-3px);
}

.marquee-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    background: var(--background-color, black);
    height: auto;
}

.marquee-content {
    display: inline-block;
    white-space: nowrap;
    color: white;
    font-size: 90px;
    font-weight: 800;
    text-transform: capitalize;
    animation: marquee-scroll 33s linear infinite; /* Adjust duration for speed */
}

/* Duplicate the content for seamless scrolling */
.marquee-wrapper {
    display: flex;
    align-items: center;
    width: max-content; /* Allow content to stretch as needed */
}

@keyframes marquee-scroll {
    from {
        transform: translateX(0); /* Start position */
    }
    to {
        transform: translateX(-100%); /* End position */
    }
}


/* review slider */


.review-slide {
    background: transparent;
    /* border: 1px solid #ddd; */
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
}

.review-image {
    max-width: 50% !important;
    width: 5% !important;
    border-radius: 50% !important;
    height: auto;
    margin-bottom: 15px;
}

.review-title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
    color: white;
}

.review-content {
    font-size: 38px;
    font-weight: 700;
    margin-bottom: 10px;
    color: white;
    width: 75%;
}

.review-author {
    font-size: 12px;
    color: white;
}

.splide__arrow svg {
    fill: white !important; }

    #reviews-slider button:hover {
        background: none !important;
        background-color: none !important;
    }


    .main-form label {
        width: 100%;
    }

    input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
        width: 100% !important;
        border-bottom: 1px solid #666;
        border-top: none;
        border-left: none;
        border-right: none;
        border-radius: 0;
        padding: .5rem 1rem;
        transition: all .3s;
    }

    .wpcf7-form-control-wrap textarea {
        rows: 4; 
        height: auto; 
        min-height: calc(1.1em * 4 + 10px);
        max-height: calc(1.1em * 6);
    }

    .iti.iti--allow-dropdown {
        width: 100%;
    }

    .wpcf7-list-item {
        display: inline-block;
        margin: 0;
    }
    
    span.footer-email {
        border-bottom: 1px solid;
    }
    
    li.footer-phone {
        font-size: 22px;
        font-weight: 700;
        color: white;}


        .copyright-text {
            text-align: left;
        }

        .footer-outer {
            border-top: 1px solid #ffffff5e;
            margin: 50px 0 0 0;
        }

        .copyright-text h3 {
        
            font-size: 17px;
            font-weight: 300;
            padding: 10px 0;
        }


/* Latest */

.blog-posts-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.blog-post-row {
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.blog-post {
       flex: 1;
    max-width: calc(33.33% - 20px);
    border: 1px solid #ddd;
    border-radius: 0;
    overflow: hidden;
    padding: 0;
    background: #fff;
    text-align: center;
    box-sizing: border-box;
}

.blog-post-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 8px 8px 0 0;
}

.blog-post-title a {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    text-decoration: none;
}

.blog-post-title a:hover {
    color: #0073aa;
}

.blog-post-excerpt {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
    padding: 0 15px;
    text-align: left;
}
.blog-post-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.blog-post h2.blog-post-title a:hover {
    color: black !important;
}


.blog-post .header-chat-button {
    text-align: left;
}
.footer-phone a,
.footer-email a {
    color: white; /* White text color */
    text-decoration: none; /* Remove underline */
	font-size: 20px;
}

/* Custom Popup */
h2.blog-post-title {
    line-height: 18px;
    text-align: left;
    padding: 0 15px;
}

.page-template-default .hero-section {
    display: none;
}

@media (max-width: 768px){
	.blog-post-row {
		display: block;
	}

.blog-post {
    width: 100% !important;
    max-width: 100% !important;
	margin-bottom: 20px;
}

.projects-grid {
	display: block !important;}
}

.custom-services-container {
    display: flex;
}

.custom-service-card.service-btn {
    width: 25%;
	display: block;
}

.custom-services-container .custom-service-card:last-child {
    border-right: none;
}

.custom-popup {
    position: fixed;
    top: 50%;
    left: 35%;
    width: 100%;
    height: 100%
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}


.custom-popup-close {
    background-color: #d9534f;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 10px;
}
.custom-popup-content h2 {
	margin-bottom: 0 !important;
}

@media (max-width: 768px)

 {
	 
	 .single-post h1.entry-title {
    font-size: 26px;
}
	 
    .custom-service-card.service-btn {
        border-bottom: 1px solid #0000003D !important;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 30px;
        width: 100%;
        border-right: none !important;
    }

.custom-popup {
    position: fixed;
    top: 30%;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

}


/* Project Grid  */


.projects-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Creates 3 equal-width columns */
    gap: 20px;
    margin: 20px 0;
}

.project-item {
    padding: 0;
    display: flex;
	margin: 20px 0;
    flex-direction: column;

}
.project-image {
    position: relative;
    overflow: hidden;
}

.project-image-hover img {
    transition: transform 0.3s ease;
}

.project-image-hover:hover img {
    transform: scale(1.1);
}

.different-shadow {
       background-color: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    padding: 12px;
    width: 90%;
    height: auto;
    margin-left: 10%;
    margin-top: -128px;
	z-index: 99999;
}
.different-shadow:hover{
	   transform: translateY(-5px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.different-shadow h2 {
    font-size: 27px;
}

.project-image img {
    width: 100%;
	    object-fit: cover;
    height: 450px !important;
}

.copyright-text {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
}

.left-content {
    flex: 1;
}

.right-content {
    display: flex;
    gap: 15px;
}

.right-content a {
    text-decoration: none;
    color: white;
}

.right-content a:hover {
    color: white;
}

.wp-block-image img {
	width: 50% !important;
	
}
/*  */


