/********** AboSoshain CSS #D81324 #fe4d05 **********/

/* xxxx * {
  border: 1px solid red; /* or use background-color: rgba(255,0,0,0.1); 
} xxxx */



html {
    width: 100% !important;

}

body {
    width: auto !important;
    overflow-x: hidden !important;
    background-color: #f9f9f9;
    /*font-family: 'Montserrat', sans-serif;*/
}

.imgshadow {
    box-shadow:
        0 2px 4px rgba(0, 0, 0, 0.2),
        0 40px 30px rgba(0, 0, 0, 0.35);
    transition: all 0.3s ease;
}

.imgshadow:hover {
    box-shadow:
        0 6px 12px rgba(0, 0, 0, 0.25),
        0 50px 40px rgba(0, 0, 0, 0.45);
    transform: scale(1.05);
}

/* Importing a Google font (e.g., 'Roboto') */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');

:root {
    --primary: #6b6b6c;
    --secondary: #0B2154;
    --light: #F2F2F2;
    --dark: #111111;
}

#loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1001;
}

#loader {
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #3498db;

    -webkit-animation: spin 2s linear infinite;
    /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 2s linear infinite;
    /* Chrome, Firefox 16+, IE 10+, Opera */

    z-index: 1002;
}

#loader:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #e74c3c;

    -webkit-animation: spin 3s linear infinite;
    /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 3s linear infinite;
    /* Chrome, Firefox 16+, IE 10+, Opera */
}

#loader:after {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #f9c922;

    -webkit-animation: spin 1.5s linear infinite;
    /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 1.5s linear infinite;
    /* Chrome, Firefox 16+, IE 10+, Opera */
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(0deg);
        /* IE 9 */
        transform: rotate(0deg);
        /* Firefox 16+, IE 10+, Opera */
    }

    100% {
        -webkit-transform: rotate(360deg);
        /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(360deg);
        /* IE 9 */
        transform: rotate(360deg);
        /* Firefox 16+, IE 10+, Opera */
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(0deg);
        /* IE 9 */
        transform: rotate(0deg);
        /* Firefox 16+, IE 10+, Opera */
    }

    100% {
        -webkit-transform: rotate(360deg);
        /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(360deg);
        /* IE 9 */
        transform: rotate(360deg);
        /* Firefox 16+, IE 10+, Opera */
    }
}

#loader-wrapper .loader-section {
    position: fixed;
    top: 0;
    width: 50%;
    /* curtains effect 51% 50% remove gap*/
    height: 100%;
    background: #222222;
    /* loader bg color #222222 vs #009999*/
    /* background-color: #009999;
    background-image: url(../img/bg.jpg);
    background-size: cover;  
    background-repeat: repeat;
    background-position: center; */
    opacity: 0.5;
    z-index: 1001;
    -webkit-transform: translateX(0);
    /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateX(0);
    /* IE 9 */
    transform: translateX(0);
    /* Firefox 16+, IE 10+, Opera */
}

#loader-wrapper .loader-section.section-left {
    left: 0;
}

#loader-wrapper .loader-section.section-right {
    right: 0;
}

/* Loaded */
.loaded #loader-wrapper .loader-section.section-left {
    -webkit-transform: translateX(-100%);
    /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateX(-100%);
    /* IE 9 */
    transform: translateX(-100%);
    /* Firefox 16+, IE 10+, Opera */

    -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}

.loaded #loader-wrapper .loader-section.section-right {
    -webkit-transform: translateX(100%);
    /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateX(100%);
    /* IE 9 */
    transform: translateX(100%);
    /* Firefox 16+, IE 10+, Opera */

    -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}

.loaded #loader {
    opacity: 0;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.loaded #loader-wrapper {
    visibility: hidden;

    -webkit-transform: translateY(-100%);
    /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateY(-100%);
    /* IE 9 */
    transform: translateY(-100%);
    /* Firefox 16+, IE 10+, Opera */

    -webkit-transition: all 0.3s 1s ease-out;
    transition: all 0.3s 1s ease-out;
}

p {
    line-height: 1.8;
}

a {
    text-decoration: none;
    transition: all 0.3s ease;
}

a:hover {
    color: #009999;
}

.container-fluid {
    max-width: 1770px;
}

.ms-container-small {
    max-width: 1050px;
}

.btn {
    border-radius: 0;
}

.btn-primary {
    background-color: #009999;
    border: 0;
    border-radius: 5px;
    padding: 12px 50px 14px;
    font-size: 1.2rem;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #086969;
}

.btn-primary.disabled,
.btn-primary:disabled {
    background-color: #009999;
    pointer-events: all;
    cursor: not-allowed;
}

.form-control {
    padding: 10px 20px;
    width: 100%;
    height: auto;
}

.form-group {
    margin-bottom: 25px;
}

.ms-btn-big {
    padding: 12px 90px 14px;
}

.navbar-toggler:focus {
    box-shadow: none;
}

.navbar-brand {
    color: #009999;
    font-size: 1.6rem;
    /* Default font size */
}

/* For screens smaller than 1000px (mobile) */
@media (max-width: 1000px) {
    .navbar-brand {
        font-size: 1rem;
        /* Smaller font size for mobile */
    }
}

/* For screens larger than 1200px (large desktop) */
@media (min-width: 1200px) {
    .navbar-brand {
        font-size: 2rem;
        /* Larger font size for large desktops */
    }
}


.navbar-brand i {
    font-size: 2rem;
}

.ms-mt-60 {
    margin-top: 60px;
}

.ms-mb-50 {
    margin-bottom: 50px;
}

.ms-mb-74 {
    margin-bottom: 74px;
}

.ms-mb-90 {
    margin-bottom: 90px;
}

.ms-text-primary {
    color: #6b6b6c;
}

.ms-text-secondary {
    color: #CC6699;
}

a.ms-text-primary:hover {
    color: #666666;
}

.ms-bg-gray {
    background-color: #EEEEEE;
}

.ms-input-paging {
    width: 40px;
    border-radius: 0;
    border: 1px solid #CCCCCC;
    background: #f4f4f4;
    text-align: center;
}

.nav-item {
    margin-right: 30px;
}

.nav-item:last-child {
    margin-right: 0;
}

.nav-link {
    color: #000000 !important;
    /* menu items color */
    /*#666666*/
    border-bottom: 4px solid transparent;
    font-size: 1rem;
    /* menu items font size */
}

.nav-link-1.active,
.nav-link-1:hover {
    border-color: #000;

}

.nav-link-2.active,
.nav-link-2:hover {
    border-color: #FF6666;
}

.nav-link-3.active,
.nav-link-3:hover {
    border-color: #33CC66;
}

.nav-link-4.active,
.nav-link-4:hover {
    border-color: #CC66CC;
}

.nav-link-5.active,
.nav-link-5:hover {
    border-color: #FFC300;
}

.nav-link-6.active,
.nav-link-6:hover {
    border-color: #6504fe;
}

.ms-search-input {
    width: 360px;
    border-radius: 0;
    padding: 12px 15px;
    color: #009999;
    border: none;
}

.ms-search-input:focus {
    border-color: #009999;
    box-shadow: 0 0 0 0.25rem rgb(0 153 153 / 0.25);
}

.ms-search-input::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: lightgray;
    opacity: 1;
    /* Firefox */
}

.ms-search-input::-ms-input-placeholder {
    /* Microsoft Edge */
    color: lightgray;
}

.ms-search-btn {
    color: white;
    background-color: #009999;
    border: none;
    width: 100px;
    height: 50px;
    margin-left: -1px;
}

p,
.ms-text-gray {
    color: #999;
}

.ms-text-gray-light {
    color: #CCC;
}

.ms-text-gray-dark {
    color: #666;
}



.ms-gallery div.d-block {
    animation: show .5s ease;
}

@keyframes show {
    0% {
        opacity: 0;
        transform: scale(0.9);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.ms-paging-link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    font-size: 1.1rem;
    color: #999;
    background-color: #EEEEEE;
    margin: 10px;
    border-radius: 5px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.ms-paging-link:hover,
.ms-paging-link.active {
    background-color: #009999;
    color: #fff;
}


/* About */
.ms-row-1640 {
    max-width: 1640px;
}

.ms-about-2-col {
    max-width: 716px;
}

.ms-about-3-col {
    max-width: 540px;
}

.ms-about-2-col,
.ms-about-3-col {
    margin-bottom: 50px;
}

.ms-about-icon-container {
    width: 150px;
    height: 150px;
    border: 1px solid #009999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ms-about-img-text {
    max-width: 940px;
}

/* Contact */
select.form-control {
    border-radius: 0;
}

select.form-control option {
    height: 30px;
}

select:not([multiple]) {
    -webkit-appearance: none;
    -moz-appearance: none;
    background-position: right 15px center;
    background-repeat: no-repeat;
    background-image: url(../img/select-arrow.png);
    padding: 14px 20px;
    padding-right: 20px;
    color: #666;
}



.ms-contact-form {
    max-width: 100%;
}

.ms-address-col {
    max-width: 100%;
}

.ms-contacts {
    padding-left: 0;
}

.ms-contacts li {
    list-style: none;
    margin-bottom: 20px;
}

.ms-contacts li a i {
    width: 30px;
}

.form-control,
input:-internal-autofill-selected,
select:not([multiple]) {
    color: gray !important;
}

.form-control::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: lightgray;
    opacity: 1;
    /* Firefox */
}

@media (max-width: 991px) {
    .navbar-collapse {
        position: fixed;
        top: 50px;
        right: 0px;
        background: white;
        width: 150px;
        padding: 15px;
    }

    .ms-container-content {
        max-width: 870px;
    }

    .ms-contact-form,
    .ms-address-col,
    .mapouter {
        max-width: 100%;
    }

    .ms-people-row {
        max-width: 900px;
    }
}

@media (max-width: 767px) {
    .ms-paging-col {
        flex-direction: column;
    }

    .ms-paging {
        flex-wrap: wrap;
    }

    .ms-about-img-text {
        max-width: 640px;
    }

    .ms-about-2-col,
    .ms-about-3-col {
        margin-bottom: 50px;
    }
}

@media (max-width: 575px) {
    .ms-container-content {
        max-width: 100%;
    }

    .ms-search-form {
        padding-left: 15px;
        padding-right: 15px;
        width: 100%;
        justify-content: center;
    }

    .ms-search-input {
        width: 100%;
        max-width: 360px;
    }

    .ms-people-row {
        max-width: 420px;
    }
}

@media (max-width: 400px) {
    .ms-btn-big {
        padding: 12px 50px 14px;
    }
}


/* Custom smaller margin for bottom */
.custom-mb {
    margin-bottom: 0.1rem !important;
}

/*nav.navbar {
    position: sticky !important;
    top: 0;
    z-index: 1000;
    background-color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}*/

nav.navbar {
    position: sticky !important;
    top: 0;
    z-index: 1000 !important;
    background-color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    width: 100% !important;
    /* Make sure navbar doesn't exceed the viewport */
    box-sizing: border-box;
    /* Ensures padding and borders don't cause overflow */
}

#category-select {
    appearance: none;
    /* Remove default browser styling */
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #fff;
    /* White background for the dropdown */
    border: 1px solid #ccc;
    /* Light border */
    border-radius: 8px;
    /* Rounded corners */
    padding: 12px 24px;
    /* More padding for a wider dropdown */
    font-size: 16px;
    /* Adjust font size */
    font-family: Arial, sans-serif;
    /* Modern font */
    color: #333;
    /* Dark text color */
    width: 400px;
    /* Fixed width */
    outline: none;
    /* Remove outline on focus */
    transition: border-color 0.3s ease;
    /* Smooth transition on focus */
    position: relative;
    /* So we can position the arrow inside */
    background-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 width=%2216%22 height=%2216%22%3E%3Cpath d=%22M12 6l-4 4-4-4%22 fill=%22none%22 stroke=%22%23007BFF%22 stroke-width=%222%22/%3E%3C/svg%3E');
    /* Custom SVG arrow */
    background-repeat: no-repeat;
    background-position: right 15px center;
    /* Position the arrow to the right */
    background-size: 12px 12px;
    /* Adjust arrow size */
}

#category-select:focus {
    border-color: #007BFF;
    /* Highlight border color on focus */
}

#category-select option {
    padding: 12px 20px;
    /* Add padding inside options */
}

#category-select:hover {
    border-color: #0056b3;
    /* Slightly darker blue when hovered */
}

#category-select option:first-child {
    color: #888;
    /* Make the "Select Category" option a lighter gray */
}

.previous_btn,
.next_btn {
    display: inline-block;
    min-width: 2rem;
    border: 1px solid #d3d3d3;
    font-size: 14px;
    padding: 7px 14px;
    background: #fff;
    border-radius: 5px;
    vertical-align: baseline;
    background-color: #009999 !important;
    margin: 0;
    /* Remove margins between buttons */
    position: relative;
    /* Ensure relative positioning */
    top: -75px;
    /* Move buttons upwards by 10px (adjust as needed) */
}

.pager {
    position: relative;
    display: inline-block;
    min-width: 2rem;
    margin: 3px;
    border-radius: 4px;
    padding: 7px 14px;
    border: 1px solid #d3d3d3;
    color: #777;
    font-size: .875rem;
    text-align: center;
    -webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    -moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    -o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    -ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    font-weight: bolder;
    /*display: none;*/
    top: -75px;
    /* Move pager upwards */
}

.pager:hover {
    border-color: #f84700;
    color: #f84700;
}

.pager.active {
    background: #009999;
    color: #fff;
}

.first-page-label {
    color: red;
    /* Change this to your desired color */
}



/*** Testimonial ***/
/**/
/* Scope the styles to the #reviews image container */
#reviews .testimonial-item img {
    width: 120px;
    /* Increased width by 20% */
    height: 120px;
    /* Increased height by 20% */
}

@media (max-width: 1000px) {
    width: 100px;
    /* Increased width by 20% */
    height: 100px;
    /* Increased height by 20% */
}

.testimonial-carousel .owl-item .testimonial-text,
.testimonial-carousel .owl-item.center .testimonial-text * {
    transition: .5s;
}

.testimonial-carousel .owl-item.center .testimonial-text {
    background: var(--primary) !important;
}

.testimonial-carousel .owl-item.center .testimonial-text * {
    color: #FFFFFF !important;
}

.testimonial-carousel .owl-dots {
    margin-top: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.testimonial-carousel .owl-dot {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    width: 15px;
    height: 15px;
    border: 1px solid #000000 !important;
    transition: .5s;
}

.testimonial-carousel .owl-dot.active {
    background: var(--primary);
    border-color: var(--primary);
}

/* Accordion container */
.accordion {

    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    background-color: transparent !important;
    width: 100%;
    /* Set a specific width, e.g., 80% of the parent container */
    max-width: 1000px;
    /* Optional: Set a maximum width */
    margin: 0 auto;
    /* Center the accordion horizontally */
}

/* Accordion item headers */
.accordion-header {
    background-color: transparent;
    /* Transparent header background */
    border: none;
    padding: 0;
    /* Remove padding for a clean look */
}


/* Accordion buttons */
.accordion-button {
    background-color: #ffffff;
    color: darkcyan;
    font-size: 1.1rem;
    font-weight: bold;
    padding: 15px;
    border: 2px solid #ffffff;
    border-radius: 5px;
    text-align: left;
    width: 100%;
    transition: background-color 0.3s ease;
    margin: 0;
    /* Remove margin from each button */
    padding: 10px;
    /* Adjust padding inside the button (optional) */
    border-radius: 0;
    /* Optional: Remove rounded corners */
    border: 1px solid #ebece9;
}

/* On hover of the accordion button */
.accordion-button:hover {
    background-color: darkgray;
}

/* Accordion button when collapsed */
.accordion-button.collapsed {
    background-color: #ffffff;
    color: gray;
}

.accordion-button span {
    color: black;
    /* The + sign */
}

/* Accordion button icon */
.accordion-icon {
    font-size: 1.5rem;
    margin-right: 10px;
    color: darkcyan;
}

/* Accordion collapse */
.accordion-collapse {
    padding: 20px;
    border-top: 2px solid #ffffff;
    background-color: #ffffff;
    border-radius: 0 0 8px 8px;
    color: #333333;
}

/* Accordion body content */
.accordion-body {
    font-size: 1rem;
    line-height: 1.6;
    color: #333 !important;
    /* background-color: black;*/
}

.accordion-body p {
    margin-left: 5px;
}

/* Reduced image size inside accordion body */
.accordion-body img {
    width: 100%;
    /* Reduce the width to 80% of the container */
    max-width: 600px;
    /* Limit the maximum width */
    border: solid 5px #ffffff;
    margin-bottom: 10px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    /* Center the image */
}

/* Styling for the contact number text */
.accordion-body .fab.fa-whatsapp span {
    font-family: 'Arial', sans-serif;
    color: white;
}

/* Ensure that the accordion has some spacing between items */
.accordion-item + .accordion-item {
    margin-top: 10px;
}

/* Responsive Design for smaller screens */
@media (max-width: 768px) {
    .accordion-button {
        font-size: 1rem;
    }

    .accordion-body img {
        width: 100%;
        /* For smaller screens, make the image take full width */
    }
}


/*goto top*/
#backToTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: black;
    color: white;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    opacity: 0.8;
    z-index: 1000;
    transition: all 0.3s ease;
    display: grid;
    /* 👈 Switch from flex to grid */
    place-items: center;
    /* 👈 This always centers perfectly */
}

#backToTop .icon-wrap {
    display: block;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

#backToTop i {
    font-size: 16px;
    line-height: 1;
    margin: 0;
    padding: 0;
    vertical-align: middle;
}

#backToTop:hover {
    background-color: #ff6600;
    opacity: 1;
    transform: translateY(-4px);
}

#backToTop:focus {
    outline: none;
}

#backToTop:active {
    transform: translateY(2px);
}

@media (max-width: 600px) {
    #backToTop {
        width: 40px;
        height: 40px;
    }

    #backToTop i {
        font-size: 18px;
    }
}


/* logos slider */

.infinite-scroller {
    overflow: hidden;
    position: relative;
    padding: 0;
    margin: 0;
    margin-top: -10px !important;
    margin-bottom: -5px !important;
    background-color: white;

}

.scroller-track {
    display: flex;
    width: max-content;
    animation: scroll 30s linear infinite;

}

.scroller-track:hover {
    animation-play-state: paused;
}

.scroller-item {
    flex: 0 0 auto;
    width: 130px;
    height: 100px;
    margin: 0;
    /* Remove all margins */
    padding: 0;
    /* Remove padding */
    margin-right: 5px !important;
}

.scroller-item img {
    width: 100%;
    /* Fill container */
    height: 100%;
    /* Fill container */
    object-fit: contain;
    display: block;
    /* Remove any inline gaps */
    margin: 0;
    /* Ensure no image margins */
    padding: 0;
    /* Ensure no image padding */
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* logos slider */


/* dropdown menu*/
/* Style the dropdown items */
.navbar-nav .dropdown-item {
    color: darkcyan;
    /* Default text color */
}

/* Hover effect for the dropdown items */
.navbar-nav .dropdown-item:hover {
    background-color: coral;
    /* Background color on hover */
    color: white;
    /* Text color on hover */
}

/************* dark/light theme ***********************/
.theme-toggle {
    font-size: 24px;
    cursor: pointer;
    padding: 10px;
    background-color: transparent;
    border: none !important;
    margin-top: -8px;
    margin-left: -30px;
    color: black;
    position: relative;
    /* Needed for positioning the tooltip */
}

/* Initially hide the tooltip text */
.theme-toggle .tooltip-text {
    position: absolute;
    bottom: -25px;
    /* Position text just below the button */
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.7);
    /* Dark background for tooltip */
    color: white !important;
    /* Light text color */
    padding: 5px;
    border-radius: 5px;
    font-size: 12px;
    opacity: 0;
    /* Hidden by default */
    transition: opacity 0.2s ease;
    /* Smooth fade-in effect */
}

/* Show the tooltip on hover */
.theme-toggle:hover .tooltip-text {
    opacity: 1;
    /* Make it visible */
}

.theme-toggle:focus {
    outline: none;
    border: none;
}

.dark-theme {
    background-color: #121212;
    color: white;
}



.dark-theme #abouttxt p {
    color: darkgray !important;
    /* Dark background */
}

.dark-theme #abouttxt h6 {
    color: darkgray !important;
    /* Dark background */
}

.dark-theme #abouttxt h1 {
    color: #d2d1d3 !important;
    /* Dark background */
}

.dark-theme #homelist li {
    color: darkgray !important;
    /* Dark background */
}

#homelist li {
    color: #333;
}

.dark-theme .navbar {
    background-color: #121212;
    /* Navbar background turns red in dark theme */

}



.dark-theme .nav-link {
    color: #ffffff !important;
    /* menu font color dark theme */

}

.dark-theme .nav-link-1.active,
.dark-theme .nav-link-1:hover {
    border-color: #fff;

}

.dark-theme .theme-toggle {
    color: white;
}

.dark-theme #squares .bg-light {
    background-color: #121212 !important;
}

.dark-theme .footer {
    background-color: #121212 !important;
}

.dark-theme #infoBar {
    background-color: #121212 !important;
    color: white !important;
}

.dark-theme #infoBar .bi {
    color: white !important;
}

.dark-theme #infoBar span {
    color: white !important;
}

/********************* pssst modal dark theme start ************************/

.dark-theme #leadModal .modal-content {
    background-color: #222; /* Dark background for the modal */
    color: #eee; /* Light text for general content */
}

.dark-theme #leadModal h3 {
    
    color: #eef80f !important; /* Light text for general content */
}

/********************* WhatsApp Modal Dark Theme ************************/
.dark-theme #whatsupmod .modal-content {
    background-color: #222; /* Dark background for the modal */
    color: #eee; /* Light text for general content */
}

.dark-theme #whatsupmod .modal-body .col-md-6.p-4 {
    background-image: none; /* Remove the washed.jpg background */
    background-color: #222; /* Consistent dark background */
}

.dark-theme #whatsupmod h4 {
    color: #000000; /* Red accent for heading */
}

.dark-theme #whatsupmod #whatsup_mobile {
    color: green !important; /* Red accent for heading */
}



.dark-theme #whatsupmod h2 {
    color: #000000; /* Light gray for WhatsApp number */
}

.dark-theme #whatsupmod #whatsup_non_mobile img {
    filter: brightness(0.8); /* Slightly darken QR code for contrast */
}

.dark-theme #whatsupmod .btn-outline-danger {
    border-color: #ff4d4d; /* Red border */
    color: #ff4d4d; /* Red text */
}

.dark-theme #whatsupmod .btn-outline-danger:hover {
    background-color: #ff4d4d; /* Red background on hover */
    color: #fff; /* White text on hover */
}
/********************* pssst modal dark theme end ************************/

/********************** hero for other pages ***************/

.ms-search-form {
    position: absolute;
    /* Position the form absolutely within the hero */
    top: 24%;
    /* Center vertically */
    left: 50%;
    /* Center horizontally */
    transform: translate(-50%, -50%);
    /* Adjust to truly center */
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    color: #333;
    /* Change text color if needed */
}

.ms-search-form h1 {
    text-align: center !important;
    color: #fff;
    text-transform: uppercase;
    border: 3px solid white;
    padding: 20px 40px;
    /* Adds padding inside the heading */
    margin: 20px 0;
    /* Adds margin around the heading */
    font-size: 2rem;
    /* Adjust font size for better visibility */
    background-color: rgba(0, 0, 0, 0.5);
    /* Adds a semi-transparent background */
    border-radius: 10px;
    /* Adds rounded corners to the border */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    /* Adds a subtle shadow for depth */
    letter-spacing: 2px;
    /* Increases spacing between letters for better readability */
}

/* For screens between 768px and 1024px (e.g., tablets, iPads) */
@media (max-width: 1000px) {
    .ms-search-form {
        position: relative;
        /* Use relative positioning on mobile */
        top: 7%;
        /* Reset top positioning */
        left: 0;
        /* Reset left positioning */
        transform: none;
        /* Remove transform for better control */
        padding: 10px;
        /* Decrease padding */
        width: 90%;
        /* Make the form width smaller for mobile */
        margin: 0 auto;
        /* Center the form horizontally */
        display: flex;
        /* Use Flexbox */
        justify-content: center;
        /* Center horizontally */
        align-items: center;
        /* Center vertically */
        flex-direction: column;
        /* Stack children elements vertically */
    }

    .ms-search-form h1 {
        font-size: 1.5rem;
        /* Decrease font size */
        padding: 15px 30px;
        /* Adjust padding */
        margin: 15px 0;
        /* Adjust margin for better spacing */
        letter-spacing: 1px;
        /* Reduce letter spacing */
        background-color: rgba(0, 0, 0, 0.7);
        /* Darker background for better contrast */
        text-align: center !important;
        /* Ensure title text is centered */
        margin-left: 50px;
    }

    .ms-hero {
        min-height: 250px !important;
        /* Reduce height for mobile devices */
        background-size: cover;
        /* Ensure the background image covers the hero section */
        background-position: center;
        /* Adjust the background position to keep it centered */
        background-attachment: scroll;
        /* Remove fixed attachment for mobile */

    }

    .dark-theme .nav-link {
        color: #000000 !important;
        /* menu font color dark theme */
    }

    .dark-theme .theme-toggle {
        color: black;
    }
}

.nowayin {
    display: none !important;
}

/***********************************************/

/*xxxxxxxxxxxxxxxxxxxxxxxxxx other pages hero start xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
.ms-hero {
    min-height: 300px;
    /* Default height */
    background-size: cover;
    /* Ensure the background image covers the section */
    background-position: center;
    /* Keep it centered */
    background-attachment: scroll;
    /* Scroll instead of fixed for better mobile performance */
    display: flex;
    /* Flexbox for centering */
    justify-content: center;
    /* Center horizontally */
    align-items: center;
    /* Center vertically */
    position: relative;
    /* Context for absolute children */
}

.ms-search-form {
    display: flex;
    /* Keep flex for internal alignment */
    justify-content: center;
    /* Center the h1 horizontally inside the form */
    align-items: center;
    /* Center the h1 vertically inside the form */
    position: absolute;
    /* Keep absolute positioning */
    top: 50%;
    /* Position at 50% from top */
    left: 50%;
    /* Position at 50% from left */
    transform: translate(-50%, -50%);
    /* Offset by half its size for true center */
    width: auto;
    /* Allow natural width unless overridden */
    margin: 0;
    /* Remove any default margins */
}

.ms-search-form h1 {
    font-size: 2rem;
    /* Default size for desktop (32px) */
    margin: 0;
    /* Remove default margins */
    text-align: center;
    /* Ensure text is centered within h1 */
}

/* Mobile-specific adjustments */
@media (max-width: 768px) {
    .ms-hero {
        min-height: 200px;
        /* Reduced height for mobile */
        background-size: cover;
        background-position: center;
    }

    .ms-search-form {
        width: 100%;
        /* Full width for mobile */
        padding: 10px;
        /* Padding for spacing */
    }

    .ms-search-form h1 {
        font-size: 1rem;
        /* Much smaller: 16px for mobile */
        line-height: 1.2;
        /* Adjust readability */
    }
}

/* Very small screens (e.g., phones in portrait) */
@media (max-width: 480px) {
    .ms-hero {
        min-height: 80px;
        /* Even smaller height */
    }

    .ms-search-form h1 {
        font-size: 0.875rem;
        /* Even smaller: 14px for small screens */
    }
}

/*xxxxxxxxxxxxxxxxxxxxxxxxxx other pages hero end xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/

@media (max-width: 991px) {

    /* Ensure logo doesn't occupy too much space on smaller screens */
    .navbar-brand {
        flex-grow: 1;
    }

    #logo {
        max-width: 200px;
        /* Set a fixed size for logo to prevent overflow */
        width: 40%;
    }

    /* Adjust spacing between the brand logo and burger icon */
    .navbar-toggler {
        margin-left: 10px;
    }
}

body {
    width: auto !important;
    overflow-x: hidden !important;
}


/* Style the keyclients list */
#keyclients {
    margin-left: 20px !important;
    /* Left margin to add space from the left side */
    list-style: none;
    padding: 0;
}

/* Remove text-decoration and style the anchor links */
#keyclients a {
    text-decoration: none;
    /* Remove underline from links */
    color: inherit;
    /* Inherit text color from the list item */
    display: block;
    /* Make <a> tag a block-level element */
}

/* Style each list item */
#keyclients li {
    display: flex;
    align-items: center;
    /* Vertically center the icon and text */
    padding: 2px 4px;
    /* Smaller padding for compact size */
    margin-bottom: 4px;
    /* Reduced space between list items */
    font-size: 14px;
    /* Smaller font size for more compact text */
}

/* Style the icon */
#keyclients li i {
    margin-right: 8px;
    /* Space between the icon and text */
    color: #6b6b6c;
    /* #ff6600 Icon color (bright orange) */
    font-size: 18px;
    /* Icon size */
}

/* Style the text */
#keyclients li span {
    color: #333;
    /* Text color */
}

.dark-theme #keyclients li span {
    color: #999;
    /* Dark background */
}

.dark-theme .testimonial-carousel .owl-dot {

    border: 1px solid #ffffff !important;
    transition: .5s;
}

/******** Services Carousel Section *************/

/* Full-width scrolling container */
.infinite-scroll-gallery {
    width: 100%;
    overflow: hidden;
    position: relative;

    padding: 60px 0;
    /* Extra padding for large images */
}

/* Smooth infinite-scrolling track */
.scroll-track-gallery {
    display: flex;
    width: max-content;
    animation: scroll 40s linear infinite;
}

/* Pause on hover for better UX */
.scroll-track-gallery:hover {
    animation-play-state: paused;
}

/* Large image styling (adjust width as needed) */
.xgallery-item {
    flex: 0 0 auto;
    width: 336px;
    /* Large image width  448x560 448×0.75=336px by 25% */
    height: 420px;
    /* Fixed height for consistency 560×0.75=420px by 25% */
    margin: 0 15px;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    transition: transform 0.3s ease;
}

/* Hover effect for interactivity */
.xgallery-item:hover {
    transform: scale(1.03);
}

/* Ensure images fill container beautifully */
.xgallery-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0.9);
    transition: filter 0.3s ease;
}

/* Slightly brighten on hover */
.xgallery-item:hover img {
    filter: brightness(1);
}

/* Optional: Add captions */
.xgallery-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    color: white;
    padding: 20px;
    font-family: 'Arial', sans-serif;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.xgallery-item:hover .xgallery-caption {
    opacity: 1;
}

/* Infinite scroll animation */
@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* Optional: Gradient fade at edges */
.infinite-scroll-gallery::before,
.infinite-scroll-gallery::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100px;
    z-index: 2;
    pointer-events: none;
}



/********************* services cards ******************************/

.service-section {
    padding: 10px 0;

}

.section-header {
    margin-bottom: 60px;
}

.service-card-container {
    perspective: 1000px;
    height: 460px;
    /* Slightly taller for better content display */
    margin-bottom: 30px;
}

.service-card {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.8s;
    transform-style: preserve-3d;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border-radius: 15px;
    border: none;
    
}

.service-card-front,
.service-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
}

.service-card-front {
    background-color: white;
    color: var(--dark-color);
}

.dark-theme .service-card:hover {
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.7),
                0 0 30px rgba(255, 255, 255, 0.5),
                0 0 60px rgba(255, 255, 255, 0.4);
    transform: scale(1.03);
    transform: rotateY(180deg);
}

.service-card:hover {
    transform: rotateY(180deg);
}

.dark-theme .service-card-front{
    background-color: #31312d   !important; 
    color: #8c8c8a !important;
}

.dark-theme .service-card-back {
    background-color: #31312d; 
    color: #8c8c8a;
}

.dark-theme .service-card h5 {
        color:#8c8c8a  ; 
}

.dark-theme .service-card-front p {
    color:#8d8d87  ;
}

.dark-theme .service-features li:before {
    color: #8d8d87;
}

.service-card-back {
    background: #99979b;
    /* linear-gradient(135deg, var(--primary-color) 0%, #b20710 100%) */
    color: white;
    transform: rotateY(180deg);
    overflow-y: auto;
    justify-content: center;
    padding: 30px;
}

.service-card.flipped {
    transform: rotateY(180deg);
}

.service-card-header {
    width: 100%;
    height: 250px;
    position: relative;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    overflow: hidden;
}

.service-header-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.service-card-content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.service-card h5 {
    margin-bottom: 15px;
    font-weight: 700;
    color: #6b6b6c;
}

.service-card-front p {
    color: #666;
}

.service-features {
    list-style-type: none;
    padding: 0;
    text-align: left;
    margin-top: 20px;
}

.service-features li {
    margin-bottom: 10px;
    position: relative;
    padding-left: 25px;
}

.service-features li:before {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: white;
}

.btn-service {
    background-color: white;
    color: #000000;
    /* var(--primary-color) */
    border: none;
    padding: 10px 25px;
    border-radius: 50px;
    font-weight: 600;
    margin-top: 20px;
    transition: all 0.3s;
}

.btn-service:hover {
    background-color: #121212;
    color: white;
}

.flip-btn {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background-color: transparent !important;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: block;
    bottom: 0;
    margin-right: -10px;
    color: gray !important;
}

/* Touch device adaptations */
@media (hover: none) {
    .flip-btn {
        display: block;
    }

    .service-card {
        transform: rotateY(0deg);
    }

    .service-card.flipped {
        transform: rotateY(180deg);
    }
}

.service-card-container {
    cursor: pointer;
    /* Indicates the card is clickable */
}

/***********************************special*********************************/

/***************************************************************************/

/***** squares ******/

.ms-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ms-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    /* Allows for wrapping the content when the screen size is smaller */
}

.ms-about-img-text {
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    height: 100%;
    box-sizing: border-box;
}

.ms-about-img-text h5 {
    font-size: 24px;
    font-weight: bold;
    color: #6b6b6c;
    margin-bottom: 15px;
    text-align: left;
}

.ms-about-img-text p {
    font-size: 16px;
    line-height: 1.6;
    text-align: left;
    color: #666;
}

.ms-square {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 400px;
    border: 2px solid #ddd;
    box-sizing: border-box;
    overflow: hidden;
    margin-bottom: 20px;
}

.ms-square img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Mobile-specific adjustments */
@media (max-width: 1000px) {
    .ms-row {
        flex-direction: column;
        /* Stack vertically */
    }

    .ms-square {
        width: 100%;
        /* Full width */

        /* Minimum height for consistency */
        height: 100% !important;
        /* Fixed height to enforce image fill */
        position: relative;
        /* For absolute positioning of image */
        display: block;
        /* Switch from flex to block for simpler control */
    }

    .ms-square img {
        position: absolute;
        /* Pin image to container */
        top: 0;
        left: 0;
        width: 100%;
        /* Full width */
        height: 100%;
        /* Full height */
        object-fit: cover;
        /* Fill while cropping excess */
    }

    /* Ensure text container doesn’t interfere */
    .ms-about-img-text {
        position: relative;
        height: 100% !important;
        /* Match container height */
        padding: 20px;
    }
}

/* Very small screens */
@media (max-width: 480px) {
    .ms-square {
        min-height: 250px;
        /* Smaller minimum height */
        height: 250px;
        /* Fixed height for smaller screens */
    }

    .ms-square img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/* Ensure the container centers the button */
.text-center {
    text-align: center;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    #info-button {
        padding: 12px 50px;
        /* Slightly smaller on mobile */
        font-size: 1.2rem;
        /* Adjusted font size */
    }
}

/********************/

/*****************Booking Section *************************/
.consult-section {
    height: 350px;
    background-color: #f8f9fa;
    overflow: hidden;
    font-family: 'Inter', sans-serif;
    margin-bottom: 40px;
    margin-top: 40px;
}

.dark-theme .consult-section {
    
    background-color: #121212;
    color: #6b6b6c;
}
.dark-theme .consult-text p {color: #6b6b6c;}

.consult-image {
    height: 100%;
    background-image: url('../img/bar/bar04.jpg');
    background-size: cover !important;
    background-position: center;
    margin-left: -10px;

}

.consult-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 0 40px;
}

.consult-text h2 {
    font-size: 2rem;
    
    margin-bottom: 16px;
    color: #6b6b6c;
}

.consult-text p {
    font-size: 1.1rem;
    font-weight: 400;
    margin-bottom: 24px;
}



@media (max-width: 767px) {
    .consult-section {
        height: auto;
        padding: 40px 0;
    }

    .consult-image {
        height: 250px;
    }

    .consult-text {
        padding: 20px;
        text-align: center;
        align-items: center;
    }

}

/**********************************************************/

/** footer **/
.footer {
    background-color: #484847;
    color: #e0e0e0 !important;
    padding: 3rem 0 2rem;

}

.footer-heading {
    font-weight: 700;
    margin-bottom: 1.25rem;
    font-size: 1.2rem;
    color: #d9d9d8;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.footer-links {
    list-style: none;
    padding-left: 0;
}

.footer-links li {
    margin-bottom: 0.5rem;
}

.footer-links a {
    text-decoration: none;
    color: #b0b0b0;
    transition: all 0.3s ease;
    display: inline-block;
}

.footer-links a:hover {
    color: #ffffff;
    transform: translateX(5px);
}

.social-icons {
    margin-top: 1.5rem;
}

.social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: #333333;
    color: #ffffff;
    border-radius: 50%;
    margin-right: 10px;
    transition: all 0.3s ease;
    font-size: 1.1rem;
    text-decoration: none !important;
}

.social-icons a:hover {
    background-color: coral;
    transform: translateY(-3px) scale(1.1);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.company-description {
    color: #b0b0b0;
    line-height: 1.7;
    margin-bottom: 1.5rem;
    font-size: 1.05rem;
}

.company-name {
    font-size: 1.8rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1rem;
    display: block;
    letter-spacing: 1px;
}

.custom-link-color {
    color: #808080 !important;
    /* Change to your desired color, e.g., blue */
    text-decoration: none;
    /* Maintain no underline, as per original style */
}

.custom-link-color:hover {
    color: #ffffff !important;
    /* Optional: Change hover color to match existing footer link behavior */
}

.contact-info a[href*="maps.app.goo.gl"] {
    text-decoration: none;
    color: #b0b0b0;
    /* Matches existing footer link color */
}

.contact-info a[href*="maps.app.goo.gl"]:hover {
    color: #ffffff;
    /* Matches existing footer link hover behavior */
    transform: translateX(5px);
    /* Maintains existing hover animation */
}



.copyright-row {
    border-top: 1px solid #333333;
    padding-top: 1.5rem;
    margin-top: 2rem;
}

.copyright {
    color: #808080;
}

.contact-info p {
    margin-bottom: 0.8rem;
    color: #b0b0b0;
}

/* Center align on mobile */
@media (max-width: 991.98px) {
    .footer-col {
        text-align: center;
        margin-bottom: 2rem;
    }

    .footer-links {
        display: inline-block;
        text-align: center;
    }

    .social-icons {
        justify-content: center;
    }

    .copyright-row {
        text-align: center;
    }

    .copyright-links {
        justify-content: center !important;
        margin-top: 1rem;
    }
}

@media (min-width: 992px) {
    .company-col {
        padding-right: 3rem;
    }
}

/** footer **/

/** whatsapp moda pic **/
.wappmodal-image {
    background-image: url('../img/bar/lighting.jpg');
    background-size: cover;
    background-position: center;
    min-height: 100%;
}

/********************* reveal lady **************************/

.ximage-comparison {
    position: relative;
    width: 100%;
    height: 700px;
    /* Adjust based on your needs */
    margin: 20px auto;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.ximage-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.xtop-image,
.xbottom-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

.xtop-image {
    width: 50%;
    z-index: 2;
}

.xslider {
    position: absolute;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 100%;
    background: transparent;
    outline: none;
    margin: 0;
    top: 0;
    left: 0;
    z-index: 3;
    cursor: ew-resize;
}

.xslider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 4px;
    height: 100vh;
    background: white;
    cursor: ew-resize;
}

.xslider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background: white;
    z-index: 2;
    transform: translateX(-50%);
    pointer-events: none;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.xslider-button {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: white;
    z-index: 3;
    pointer-events: none;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.xslider-button::before,
.xslider-button::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    border: 2px solid #333;
    border-top: none;
    border-right: none;
}

.xslider-button::before {
    transform: rotate(45deg);
    margin-left: -4px;
}

.xslider-button::after {
    transform: rotate(225deg);
    margin-left: 4px;
}

/* reveal slider storyboard */
.storyimage-comparison-container {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.storyimage-wrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9 Aspect Ratio (adjust if needed) */
}

.storybottom-image,
.storytop-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

.storytop-image {
    z-index: 2;
    clip-path: inset(0 50% 0 0);
    /* Initially hides 50% of X */
}

.storyslider {
    position: absolute;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 100%;
    background: transparent;
    outline: none;
    margin: 0;
    top: 0;
    left: 0;
    z-index: 3;
    cursor: ew-resize;
}

.storyslider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 4px;
    height: 100vh;
    background: white;
    cursor: ew-resize;
}

.storyslider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background: white;
    z-index: 2;
    transform: translateX(-50%);
    pointer-events: none;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.storyslider-button {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: white;
    z-index: 3;
    pointer-events: none;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.storyslider-button::before,
.storyslider-button::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    border: 2px solid #333;
    border-top: none;
    border-right: none;
}

.storyslider-button::before {
    transform: rotate(45deg);
    margin-left: -4px;
}

.storyslider-button::after {
    transform: rotate(225deg);
    margin-left: 4px;
}

/* Small grayscale buttons */
button#reset-storyslider {
    padding: 2px 10px;
    font-size: 12px;
    font-family: inherit;
    color: #fff;
    background-color: #6b6b6c;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
    margin-top: 10px;

}

button#reset-storyslider2 {
    position: relative;
    top: 9px;
    padding: 2px 10px;
    font-size: 12px;
    font-family: inherit;
    color: #fff;
    background-color: #6b6b6c;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
    text-align: center;
    z-index: 100;
}


/* Hover and focus */
button#reset-storyslider2:hover,
button#reset-storyslider:hover,
button#reset-xslider:hover,
button#reset-storyslider:focus,
button#reset-xslider:focus {
    background-color: #000;
    outline: none;
}

/* Active click feedback */
button#reset-storyslider:active,
button#reset-xslider:active {
    transform: scale(0.96);
}

/******************** colouring *******************/

/* reveal slider storyboard */
.storyimage-comparison-container2 {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.storyimage-wrapper2 {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9 Aspect Ratio (adjust if needed) */
}

.storybottom-image2,
.storytop-image2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

.storytop-image2 {
    z-index: 2;
    clip-path: inset(0 50% 0 0);
    /* Initially hides 50% of X */
}

.storyslider2 {
    position: absolute;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 100%;
    background: transparent;
    outline: none;
    margin: 0;
    top: 0;
    left: 0;
    z-index: 3;
    cursor: ew-resize;
}

.storyslider2::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 4px;
    height: 100vh;
    background: white;
    cursor: ew-resize;
}

.storyslider-handle2 {
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background: white;
    z-index: 2;
    transform: translateX(-50%);
    pointer-events: none;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.storyslider-button2 {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: white;
    z-index: 3;
    pointer-events: none;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.storyslider-button2::before,
.storyslider-button2::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    border: 2px solid #333;
    border-top: none;
    border-right: none;
}

.storyslider-button2::before {
    transform: rotate(45deg);
    margin-left: -4px;
}

.storyslider-button2::after {
    transform: rotate(225deg);
    margin-left: 4px;
}

/**************************************************/

/* Info Bar Styles */
#infoBar {
    background-color: #ffffff;
    padding: 0.25rem 1rem;
    /* Reduce vertical padding */
    font-size: 0.875rem;
    /* Slightly smaller text if needed */
    line-height: 1.2;
    border-bottom: 1px solid #e9e9e7 !important;
}

#infoBar a {
    color: #495057;
    text-decoration: none;
    transition: color 0.2s ease;
}

#infoBar a:hover {
    color: #0d6efd;
    /* Bootstrap primary blue on hover */
}

#infoBar .bi {
    font-size: 1.2rem;
}

#infoBar span {
    color: #495057;
}

#infoBar .close-btn {
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    font-weight: bold;
    color: #6c757d;
    transition: color 0.2s ease;
}

#infoBar .close-btn:hover {
    color: #dc3545;
    /* Bootstrap danger color */
}

#infoBar i.bi {
    font-size: 1rem;
    /* Adjust size as needed, e.g., 0.75rem, 1rem */
}

@media (max-width: 1000px) {
    #infoBar {
        display: none !important;
    }
}

/*****************************************************/

/**** social buttons *********************/

.wrappersocial {
    display: inline-flex;
}

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

.wrappersocial a:visited {
    color: white;
}

.wrappersocial a:hover {
    text-decoration: none;
    color: white;
}

.wrappersocial a:link {
    text-decoration: none;
}


.wrappersocial .icon {
    position: relative;
    background-color: #5b5b56;
    border-radius: 50%;
    padding: 15px;
    margin: 10px;
    width: 50px;
    height: 50px;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);

}

.wrappersocial .tooltip {
    position: absolute;
    top: 0;
    font-size: 14px;
    background-color: #ffffff;
    color: #ffffff;
    padding: 5px 8px;
    border-radius: 5px;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.wrappersocial .tooltip::before {
    position: absolute;
    content: "";
    height: 8px;
    width: 8px;
    background-color: #ffffff;
    bottom: -3px;
    left: 50%;
    transform: translate(-50%) rotate(45deg);
    transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}


.wrappersocial .icon:hover .tooltip {
    top: -45px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    color: white !important;
}

.wrappersocial .icon:hover span,
.wrappersocial .icon:hover .tooltip {
    text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.1);
}

.wrappersocial .facebook:hover,
.wrappersocial .facebook:hover .tooltip,
.wrappersocial .facebook:hover .tooltip::before {
    background-color: #1877F2;
    color: #ffffff;
}

.wrappersocial .twitter:hover,
.wrappersocial .twitter:hover .tooltip,
.wrappersocial .twitter:hover .tooltip::before {
    background-color: #46c1f6;
    color: #ffffff;
}

.wrappersocial .instagram:hover,
.wrappersocial .instagram:hover .tooltip,
.wrappersocial .instagram:hover .tooltip::before {
    background: #f09433;
    background: -moz-linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    background: -webkit-linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f09433', endColorstr='#bc1888', GradientType=1);
    color: #ffffff;
}

.wrappersocial .whatsapp:hover,
.wrappersocial .whatsapp:hover .tooltip,
.wrappersocial .whatsapp:hover .tooltip::before {
    background-color: #2ab540;
    color: #ffffff;
}

.wrappersocial .linkedin:hover,
.wrappersocial .linkedin:hover .tooltip,
.wrappersocial .linkedin:hover .tooltip::before {
    background-color: #2867B2;
    color: #ffffff;
}

.wrappersocial .youtube:hover,
.wrappersocial .youtube:hover .tooltip,
.wrappersocial .youtube:hover .tooltip::before {
    background-color: #CD201F;
    color: #ffffff;
}

.wrappersocial .email:hover,
.wrappersocial .email:hover .tooltip,
.wrappersocial .email:hover .tooltip::before {
    background-color: #000000;
    color: #ffffff;
}


/*****************************************/

/***** contact us ***********/





.dark-theme #contactus h2 {
    color: #6b6b6c !important; /* or any highlight color */
}

.dark-theme .form-label {
    color: #6b6b6c !important;
}

.dark-theme .form-control {
    background-color: #ffffff;
    color: #fff;
    border: 1px solid #444;
}

.dark-theme .form-control::placeholder {
    color: #ccc;
}

.dark-theme .form-control:focus {
    border-color: #ff5c5c;
    background-color: #3a3a3a;
    color: #fff;
}

.dark-theme .subject-hint {
    background-color: #444;
    color: #ddd;
    padding: 5px 10px;
    margin: 5px 5px 0 0;
    display: inline-block;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.dark-theme .subject-hint:hover {
    background-color: #555;
    color: #fff;
}

.dark-theme .btn-secondary {
    background-color: #444;
    border-color: #666;
    color: #fff;
}

.dark-theme .btn-secondary:hover {
    background-color: #555;
    border-color: #777;
}

.dark-theme .success-message {
    background-color: #2c4a2f;
    color: #c2f0c2;
    padding: 10px 15px;
    border-left: 5px solid #5cb85c;
    margin-bottom: 15px;
    border-radius: 4px;
}

/****************/
/* Navbar toggler styling */
.navbar-toggler {
    border: none;
    padding: 0.25rem 0.75rem;
    font-size: 1.25rem;
    position: relative;
    outline: none;
}

/* Icon styling */
.navbar-toggler .burger-icon,
.navbar-toggler .close-icon {
    font-size: 1.5rem;
    color: #000; /* Adjust to match your theme, e.g., #009999 */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease;
}

/* Default state: show burger, hide X */
.navbar-toggler .burger-icon {
    display: inline-block;
    opacity: 1;
}

.navbar-toggler .close-icon {
    display: inline-block;
    opacity: 0;
}

/* Collapsed state (menu closed): ensure burger is visible */
.navbar-toggler.collapsed .burger-icon {
    opacity: 1;
}

.navbar-toggler.collapsed .close-icon {
    opacity: 0;
}

/* Expanded state (menu open): show X, hide burger */
.navbar-toggler:not(.collapsed) .burger-icon {
    opacity: 0;
}

.navbar-toggler:not(.collapsed) .close-icon {
    opacity: 1;
}

/* Ensure focus state is clean */
.navbar-toggler:focus {
    box-shadow: none;
}

/* Dark theme support */
.dark-theme .navbar-toggler .burger-icon i,
.dark-theme .navbar-toggler .close-icon i {
    color: #ffffff; /* White icons in dark theme */
}

/* Mobile-specific adjustments */
@media (max-width: 991px) {
    .navbar-toggler {
        /* Ensure initial state is correct */
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Reinforce collapsed state on mobile */
    .navbar-toggler.collapsed .burger-icon {
        opacity: 1;
    }

    .navbar-toggler.collapsed .close-icon {
        opacity: 0;
    }
}
