html {
    scroll-behavior: smooth;
}

body {
    font-size: 18px;
}

.highlight {
    color: var(--main-color1);
    font-weight: bold;
}

img {
    max-width: 100%;
}

h1, h2, h3, h4, h5, h6, .button, button {}

p {
    margin-bottom: 15px;
}

.bold {
    font-weight: bold;
}
.flex-align-items-start {
    align-items: flex-start;
}
.text-left {
    text-align: left;
}
input.error, textarea.error {
    border-color: rgb(189, 29, 29);
}

.error-message p, .text-danger {
    color: rgb(189, 29, 29) !important;
}

.success-message p, .text-success {
    color: rgb(35, 124, 41) !important;
}
.bg-main1, .bg-main {
    background: var(--main-color1);
}
.bg-main2 {
    background: var(--main-color2);
}
.bg-white {
    background-color: white !important;
}

.pr-2 {
    padding-right: 20px;
}

.flex {
    display: flex;
}

.text-main {
    color: var(--main-color1);
}

.flex-align-items-center {
    align-items: center;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-1 {
    margin-bottom: 10px !important;
}

.mb-2 {
    margin-bottom: 20px !important;
}

.mb-3 {
    margin-bottom: 30px !important;
}

.mb-4 {
    margin-bottom: 40px !important;
}

.mt-1 {
    margin-top: 10px !important;
}

.mt-2 {
    margin-top: 20px !important;
}

.mt-3 {
    margin-top: 30px !important;
}

.mt-4 {
    margin-top: 40px !important;
}

.mt-5 {
    margin-top: 50px !important;
}

.mt-6 {
    margin-top: 60px !important;
}

.mb-7 {
    margin-bottom: 70px !important;
}

.ml-10 {
    margin-left: 10px !important;
}

.ml-20 {
    margin-left: 20px !important;
}

.h-auto {
    height: auto !important;
}

.google-map {
    height: 400px;
    margin-top: 80px;
}

.section-padding {
    padding: 100px 0;
}

.footer-logo {
    max-height: 70px;
}

.image-404 {
    max-height: 200px;
    max-width: 90%;
    margin-bottom: 40px;
}

.z-index-1 { z-index: 1;}

.home-slide::before,
.cover-dark::after {
    content: ""; 
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 0;
}
.home-slide {
    position: relative;
    overflow: hidden;
}

.home-slide .container {
    position: relative;
    z-index: 1;
}
.overlapping-section {
    margin-top: -150px;
}

.box-image {
    height: 100%;
    object-fit: cover;
}

.feature-box-icon-custom {
    order: 1;
    margin-bottom: 30px;
    font-size: 40px;
    color: var(--main-color1);
}

/* .dark-background {
    transition: filter 0.3s ease-out;
}

.dark-background:hover {
    filter: brightness(70%);
} */

.dark-background {
    position: relative;
    /* Ensure proper stacking context for child elements */
    transition: filter 0.3s ease-out;
    /* Smooth transition effect */
}

.dark-background:hover {
    filter: brightness(70%);
    /* Darken the background image to 70% brightness */
}

.dark-background .page-title-extra-small,
.dark-background .page-title-extra-small *,
.dark-background .text-white {
    transition: none;
    /* Remove transition effects for specific elements */
}

.dark-background:hover .page-title-extra-small,
.dark-background:hover .page-title-extra-small *,
.dark-background:hover .text-white {
    filter: brightness(100%);
    /* Reset brightness for specific elements on hover */
}

button.mfp-close {
    display: none;
}

.swiper-image {
    height: 15em;
    object-fit: cover;
    width: 100%;
}

.portfolio-slider .portfolio-image img {
    height: 300px;
    width: 100%;
    object-fit: cover;
}

.service-images img {
    height: 300px;
    width: 100%;
    object-fit: cover;
    object-position: bottom; /* prefer bottom part of image when cut */
}

.swiper-title {
    font-size: 20px;
}

.list-unstyled a.nav-link {
    padding-left: 0px;
}

.break-sm br,
.break-md br,
.break-lg br,
.break-xl br {
    display: none;
}

.display-flex {
    display: flex;
}
.gap-2 {
    gap: 20px;
}
.gap-3 {
    gap: 30px;
}
.flex-wrap {
    flex-wrap: wrap;
}
.list-style-02 li.active a {
    font-weight: bold;
    color: var(--main-color2);
}

.wysiwyg_content figure.table {
    overflow: auto !important;
}

.hover\:text-main1:hover {
    color: var(--color-main1) !important;
}

.hover-group:hover .hover\:text-main1 {
    color: var(--color-main1);
}

.hover-title {
    position: absolute;
    bottom: 10px;
    left: 10px;
    right: 10px;
    padding: 10px;
    background-color: var(--yellow);
    color: white;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    border-radius: 6px;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
    bottom: 4.4em;
}

.hover-group:hover .hover\:opacity-1,
.hover\:opacity-1:hover {
    opacity: 1;
}

.hover-group .image-title-btn {
    opacity: 0;
}

.hover-group:hover .image-title-btn {
    opacity: 1;
}

@media(max-width: 1550px) {
    .container {
        max-width: none;
        width: 92%;
    }
}

.g-recaptcha.recaptcha-small {
    -webkit-transform: scale(0.88);
    -moz-transform: scale(0.88);
    -ms-transform: scale(0.88);
    -o-transform: scale(0.88);
    transform: scale(0.88);
    -webkit-transform-origin: 0 0;
    -moz-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    -o-transform-origin: 0 0;
    transform-origin: 0 0;
}

@media(max-width: 1200px) {
    .break-xl br {
        display: block;
    }
}

@media(max-width: 1199px) {}

@media(max-width: 1024px) {}

@media(max-width: 992px) {
    .break-lg br {
        display: block;
    }
}

@media(max-width: 991px) {}


@media(max-width: 850px) {}

@media(max-width: 768px) {
    .break-md br {
        display: block;
    }
}

@media(max-width: 767px) {}

@media(max-width: 650px) {
    .container {
        width: 95%;
    }
}

@media(max-width: 575px) {}

@media(max-width: 576px) {
    .break-sm br {
        display: block;
    }
}

@media(max-width: 500px) {}

@media(max-width: 450px) {
    .container {
        width: 96%;
    
}

@media(max-width: 400px) {}

@media(max-width: 350px) {}

@media(max-width: 300px) {}