/* MODIFIED: Removed initial conflicting 'body' rule and '.sidebar'/'.main-content' rules */

body {
    font-family: "Muli", sans-serif;
    line-height: 1.6;
    background-color: #ffffff;
    overflow-x: hidden;
    font-size: 16px;
    color: #333;
}

body:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
}

body.offcanvas-menu:before {
    opacity: 1;
    visibility: visible;
}

.text-black {
    color: #000000 !important;
}

a {
    color: #0fb78d;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
}

a:hover {
    color: #0fb78d;
    text-decoration: none;
}

::selection {
    background: #000000;
    color: #ffffff;
}

.text-primary {
    color: #0fb78d !important;
}

a.text-primary {
    color: #0fb78d !important;
}

a.text-primary:hover {
    color: #0fb78d !important;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4 {
    font-family: "Libre Baskerville", serif;
    color: #000000; /* MODIFIED: Corrected from #black */
}

.btn {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 30px;
    padding-right: 30px;
    border-radius: 30px;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .05rem;
}

.btn:active,
.btn:focus {
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.btn.btn-primary {
    background: #0fb78d;
    border-color: #0fb78d;
}

.btn.btn-primary:hover {
    border-color: #11ca9c;
    background: #11ca9c;
}

.btn.btn-sm {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 15px;
    padding-right: 15px;
}

.btn.btn-outline-primary {
    border-color: #0fb78d;
    color: #0fb78d;
}

.btn.btn-outline-primary:hover {
    background: #0fb78d;
    color: #ffffff;
}

.form-control,
.custom-select {
    border: none; /* This might be overridden by Bootstrap, consider specificity or !important if issues */
    font-size: 16px;
    height: 45px;
    background: transparent;
    border: 1px solid #43434d; /* Ensure this is desired over Bootstrap default borders */
    border-radius: 0;
    color: #000000;
}

.form-control:active,
.form-control:focus,
.custom-select:active,
.custom-select:focus {
    color: #000000;
    border-color: #0fb78d;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: transparent;
}

.form-control::-webkit-input-placeholder,
.custom-select::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.5);
}

.form-control::-moz-placeholder,
.custom-select::-moz-placeholder {
    color: rgba(0, 0, 0, 0.5);
}

.form-control:-ms-input-placeholder,
.custom-select:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.5);
}

.form-control:-moz-placeholder,
.custom-select:-moz-placeholder {
    color: rgba(0, 0, 0, 0.5);
}

.gutter-v2 {
    margin-right: -5px;
    margin-left: -5px;
}

@media (max-width: 991.98px) {
    .gutter-v2 {
        margin-left: -15px;
        margin-right: -15px;
    }
}

.gutter-v2>.col,
.gutter-v2>[class*="col-"] {
    padding-right: 5px;
    padding-left: 5px;
}

@media (max-width: 991.98px) {
    .gutter-v2>.col,
    .gutter-v2>[class*="col-"] {
        padding-right: 15px;
        padding-left: 15px;
    }
}

.spinner-border {
    color: #0fb78d;
}

/*PRELOADING------------ */
#overlayer {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 7100;
    background: #ffffff;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.loader {
    z-index: 7700;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.top-bar a {
    color: #ffffff;
}

.logo {
    font-size: 24px;
    color: #ffffff;
    font-weight: 700;
    left: 15px; /* menu-absolute handles positioning */
    display: flex; /* ADDED: To align image and text */
    align-items: center; /* ADDED: To align image and text */
}
.logo img { /* ADDED: Style for logo image */
    margin-right: 8px; /* ADDED: Space between image and text */
    height: auto; /* Ensure image scales with width if needed */
}


@media (max-width: 991.98px) {
    .logo {
        left: 20px;
    }
}

.logo:hover {
    color: #ffffff;
}

.menu-absolute {
    position: absolute !important;
}

.btn-book {
    position: absolute;
    right: 15px;
    margin-top: -2px; /* Adjust as needed for vertical alignment with nav items */
}

@media (max-width: 991.98px) {
    .btn-book {
        right: 60px;
    }
}

.site-nav {
    position: absolute;
    width: 100%;
    z-index: 9;
    top: 0;
}

.site-nav a {
    /* position: relative; Remove if not needed, can interfere with dropdowns */
    /* z-index: 9; */
    cursor: pointer;
}

.site-nav {
    padding-top: 20px;
    padding-bottom: 20px;
}

.site-nav h1 { /* This seems to be for a site title in nav, your logo is an 'a' tag */
    margin: 0;
    padding: 0;
    font-size: 14px;
}

.site-nav .site-navigation .site-menu {
    margin-bottom: 0;
}

.site-nav .site-navigation .site-menu>li {
    display: inline-block;
}

.site-nav .site-navigation .site-menu>li>a {
    font-size: 14px;
    padding: 10px 15px;
    display: inline-block;
    text-decoration: none !important;
    color: rgba(255, 255, 255, 0.5);
    position: relative;
}

.site-nav .site-navigation .site-menu>li>a:hover {
    color: #ffffff;
}

.site-nav .site-navigation .site-menu>li.active>a {
    color: #ffffff;
}

.site-nav .site-navigation .site-menu .has-children {
    position: relative;
}

.site-nav .site-navigation .site-menu .has-children>a {
    position: relative;
    padding-right: 20px;
}

.site-nav .site-navigation .site-menu .has-children>a:before {
    position: absolute;
    content: "\e313";
    font-size: 14px;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: 'icomoon';
}

.site-nav .site-navigation .site-menu .has-children .dropdown {
    visibility: hidden;
    opacity: 0;
    top: 100%;
    z-index: 999;
    position: absolute;
    text-align: left;
    -webkit-box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.1);
    padding: 20px 0;
    margin-top: 20px;
    margin-left: 0px;
    background: #ffffff;
    -webkit-transition: 0.2s 0s;
    -o-transition: 0.2s 0s;
    transition: 0.2s 0s;
    border-radius: 4px; /* ADDED: Optional rounding */
}

.site-nav .site-navigation .site-menu .has-children .dropdown a {
    font-size: 14px;
    text-transform: none;
    letter-spacing: normal;
    -webkit-transition: 0s all;
    -o-transition: 0s all;
    transition: 0s all;
    color: #000000;
}

.site-nav .site-navigation .site-menu .has-children .dropdown .active>a { /* MODIFIED: Target 'a' inside '.active' li */
    color: #0fb78d !important;
}

.site-nav .site-navigation .site-menu .has-children .dropdown>li {
    list-style: none;
    padding: 0;
    margin: 0;
    min-width: 180px;
}

.site-nav .site-navigation .site-menu .has-children .dropdown>li>a {
    padding: 8px 20px; /* Adjusted padding for dropdown items */
    display: block;
}

.site-nav .site-navigation .site-menu .has-children .dropdown>li>a:hover {
    color: #0fb78d;
    background-color: #f8f9fa; /* ADDED: Subtle hover background */
}

/* .site-nav .site-navigation .site-menu .has-children .dropdown>li.active>a {
    color: #0fb78d; // Already handled by .active > a
} */

.site-nav .site-navigation .site-menu .has-children .dropdown>li.has-children>a:before {
    content: "\e315";
    right: 20px;
}

.site-nav .site-navigation .site-menu .has-children .dropdown>li.has-children>.dropdown,
.site-nav .site-navigation .site-menu .has-children .dropdown>li.has-children>ul {
    left: 100%;
    top: 0;
}

.site-nav .site-navigation .site-menu .has-children .dropdown>li.has-children>.dropdown li a:hover,
.site-nav .site-navigation .site-menu .has-children .dropdown>li.has-children>ul li a:hover {
    color: #0fb78d;
}

.site-nav .site-navigation .site-menu .has-children .dropdown>li.has-children:hover>a,
.site-nav .site-navigation .site-menu .has-children .dropdown>li.has-children:active>a,
.site-nav .site-navigation .site-menu .has-children .dropdown>li.has-children:focus>a {
    color: #0fb78d;
}

.site-nav .site-navigation .site-menu .has-children:hover>a,
.site-nav .site-navigation .site-menu .has-children:focus>a,
.site-nav .site-navigation .site-menu .has-children:active>a {
    color: #ffffff;
}

.site-nav .site-navigation .site-menu .has-children:hover,
.site-nav .site-navigation .site-menu .has-children:focus,
.site-nav .site-navigation .site-menu .has-children:active {
    cursor: pointer;
}

.site-nav .site-navigation .site-menu .has-children:hover>.dropdown,
.site-nav .site-navigation .site-menu .has-children:focus>.dropdown,
.site-nav .site-navigation .site-menu .has-children:active>.dropdown {
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
    margin-top: 0px;
    visibility: visible;
    opacity: 1;
}
.site-mobile-menu-close {
    display: block;
    position: relative;
    height: 30px;
    width: 30px;
    z-index: 99;
    cursor: pointer;
    top: -20px;
}

.site-mobile-menu-close>span {
    cursor: pointer;
    display: block;
    position: absolute;
    height: 30px;
    width: 30px;
}

.site-mobile-menu-close>span:before,
.site-mobile-menu-close>span:after {
    position: absolute;
    content: "";
    width: 2px;
    height: 30px;
    background: #000000;
}

.site-mobile-menu-close>span:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.site-mobile-menu-close>span:after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.site-mobile-menu {
    width: 300px;
    position: fixed;
    right: 0;
    z-index: 2000;
    padding-top: 20px;
    background: #ffffff;
    height: calc(100vh);
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: 0.8s all cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: 0.8s all cubic-bezier(0.23, 1, 0.32, 1);
    transition: 0.8s all cubic-bezier(0.23, 1, 0.32, 1);
}

.offcanvas-menu .site-mobile-menu {
    -webkit-box-shadow: -10px 0 20px -10px rgba(0, 0, 0, 0.1);
    box-shadow: -10px 0 20px -10px rgba(0, 0, 0, 0.1);
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
}

.site-mobile-menu .site-mobile-menu-header {
    width: 100%;
    float: left;
    padding-left: 20px;
    padding-right: 20px;
}

.site-mobile-menu .site-mobile-menu-header .site-mobile-menu-close {
    float: right;
    margin-top: 8px;
}

.site-mobile-menu .site-mobile-menu-header .site-mobile-menu-close span {
    font-size: 30px;
    display: inline-block;
    padding-left: 10px;
    padding-right: 0px;
    line-height: 1;
    cursor: pointer;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
}

.site-mobile-menu .site-mobile-menu-body {
    overflow-y: auto; /* Changed from scroll to auto */
    -webkit-overflow-scrolling: touch;
    position: relative;
    padding: 0 20px 20px 20px;
    height: calc(100vh - 52px);
    padding-bottom: 150px;
}

.site-mobile-menu .site-nav-wrap {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
}

.site-mobile-menu .site-nav-wrap a {
    padding: 8px 20px; /* Adjusted padding */
    display: block;
    position: relative;
    color: #000000;
}

.site-mobile-menu .site-nav-wrap a:hover {
    color: #0fb78d;
}

.site-mobile-menu .site-nav-wrap li {
    position: relative;
    display: block;
}

.site-mobile-menu .site-nav-wrap li.active>a {
    color: #0fb78d;
}

.site-mobile-menu .site-nav-wrap .arrow-collapse {
    position: absolute;
    right: 0px;
    top: 0px;
    z-index: 20;
    width: 36px;
    height: 36px;
    text-align: center;
    cursor: pointer;
    border-radius: 50%;
    border: 1px solid #f8f9fa; /* Light border for the collapse arrow */
}

.site-mobile-menu .site-nav-wrap .arrow-collapse:before {
    font-size: 14px;
    z-index: 20;
    font-family: "icomoon";
    content: "\e313"; /* Chevron down */
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-180deg);
    -ms-transform: translate(-50%, -50%) rotate(-180deg);
    transform: translate(-50%, -50%) rotate(-180deg);
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
}

.site-mobile-menu .site-nav-wrap .arrow-collapse.collapsed:before {
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); /* Pointing up when collapsed */
}

.site-mobile-menu .site-nav-wrap>li {
    display: block;
    position: relative;
    float: left;
    width: 100%;
}

.site-mobile-menu .site-nav-wrap>li>a {
    padding-left: 20px;
    font-size: 14px;
}

.site-mobile-menu .site-nav-wrap>li>ul {
    padding: 0;
    margin: 0;
    list-style: none;
    background-color: #f8f9fa; /* ADDED: Slight background for submenus */
}

.site-mobile-menu .site-nav-wrap>li>ul>li {
    display: block;
}

.site-mobile-menu .site-nav-wrap>li>ul>li>a {
    padding-left: 40px;
    font-size: 14px;
}

.site-mobile-menu .site-nav-wrap>li>ul>li>ul {
    padding: 0;
    margin: 0;
    background-color: #f0f0f0; /* ADDED: Slightly different background for deeper submenus */
}

.site-mobile-menu .site-nav-wrap>li>ul>li>ul>li {
    display: block;
}

.site-mobile-menu .site-nav-wrap>li>ul>li>ul>li>a {
    font-size: 14px;
    padding-left: 60px;
}

.sticky-wrapper {
    position: absolute; /* This might need to be relative or static depending on layout, absolute can cause issues if parent not positioned */
    z-index: 100;
    width: 100%;
}

/* .sticky-wrapper.is-sticky .burger:before, // These are handled by #sticky-wrapper.is-sticky .sticky-nav .burger
.sticky-wrapper.is-sticky .burger span,
.sticky-wrapper.is-sticky .burger:after {
    background: #000000;
    -webkit-transition: .0s all ease;
    -o-transition: .0s all ease;
    transition: .0s all ease;
} */

.sticky-nav {
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    background: transparent;
}

#sticky-wrapper.is-sticky .sticky-nav {
    padding-top: 10px;
    padding-bottom: 10px;
    background: rgba(255, 255, 255, 0.97); /* Slightly more opaque */
    -webkit-box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.1); /* Adjusted shadow */
    box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.1);
    -webkit-backdrop-filter: blur(0.5rem); /* Adjusted blur */
    backdrop-filter: blur(0.5rem);
}

#sticky-wrapper.is-sticky .sticky-nav .burger:before,
#sticky-wrapper.is-sticky .sticky-nav .burger span,
#sticky-wrapper.is-sticky .sticky-nav .burger:after {
    background: #000000;
    -webkit-transition: .0s all ease; /* Avoid transition flicker on burger color change */
    -o-transition: .0s all ease;
    transition: .0s all ease;
}

#sticky-wrapper.is-sticky .sticky-nav .logo {
    color: #000000 !important;
}
/* ADDED: Ensure logo image is visible if it was white/light */
#sticky-wrapper.is-sticky .sticky-nav .logo img {
    /* filter: invert(1) brightness(0.5); /* Example: If logo needs color change, more complex SVGs better */
}
/* ADDED: To keep the primary color dot in the logo when sticky */
#sticky-wrapper.is-sticky .sticky-nav .logo .text-primary {
    color: #0fb78d !important;
}


#sticky-wrapper.is-sticky .sticky-nav .site-menu>li>a {
    color: rgba(0,0,0,0.7) !important; /* Slightly less stark black */
}

#sticky-wrapper.is-sticky .sticky-nav .site-menu>li>a:hover,
#sticky-wrapper.is-sticky .sticky-nav .site-menu>li.active>a { /* Combined active and hover */
    color: #0fb78d !important;
}

/* Burger */
.burger {
    width: 28px;
    height: 32px;
    cursor: pointer;
    position: relative;
    /* margin-top: 5px; /* Adjust vertical alignment if needed */
}

.burger.light:before,
.burger.light span,
.burger.light:after {
    background: #ffffff;
}

.burger:before,
.burger span,
.burger:after {
    width: 100%;
    height: 2px;
    display: block;
    background: #000; /* Default color, overridden by .light or sticky state */
    border-radius: 2px;
    position: absolute;
    opacity: 1;
}

.burger:before,
.burger:after {
    -webkit-transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);
    transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
    transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
    transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);
    -webkit-transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
    content: "";
}

.burger:before {
    top: 4px;
}

.burger span {
    top: 15px; /* Vertically centered */
     -webkit-transition: opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
    -o-transition: opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
    transition: opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
}

.burger:after {
    top: 26px;
}

/* Hover */
.burger:hover:before {
    top: 7px;
}

.burger:hover:after {
    top: 23px;
}

/* Click */
.burger.active span {
    opacity: 0;
}

.burger.active:before,
.burger.active:after {
    top: 15px; /* Align to center for X */
}

.burger.active:before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

.burger.active:after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.burger:focus {
    outline: none;
}

.untree_co-hero,
.bg-img {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    /* background-attachment: fixed; Consider removing if causing performance issues or parallax not desired */
    position: relative;
}

.untree_co-hero.overlay,
.bg-img.overlay {
    position: relative;
}

.untree_co-hero.overlay:before,
.bg-img.overlay:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5); /* Slightly increased overlay for better text contrast */
    z-index: 1;
}

.untree_co-hero>.container,
.bg-img>.container {
    position: relative;
    z-index: 2;
}

.untree_co-hero,
.untree_co-hero>.container>.row,
.bg-img,
.bg-img>.container>.row {
    min-height: 650px; /* Changed from height to min-height for flexibility */
    display: flex; /* ADDED: For vertical centering of content */
    align-items: center; /* ADDED: For vertical centering of content */
}

@media (max-width: 767.98px) {
    .untree_co-hero,
    .untree_co-hero>.container>.row,
    .bg-img,
    .bg-img>.container>.row {
        min-height: 550px; /* Adjusted min-height for smaller screens */
        padding-top: 100px; /* Ensure space for nav */
        padding-bottom: 50px;
    }
}

.untree_co-hero .caption,
.bg-img .caption { /* This class .caption is not used in hero of provided HTML */
    text-transform: uppercase;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .1rem;
}

.untree_co-hero .heading, /* General .heading class, your HTML uses specific h1 */
.bg-img .heading {
    font-size: 45px;
    font-weight: 700;
    line-height: 1.4;
}
.untree_co-hero h1.heading { /* More specific to your HTML */
    font-size: 2.8rem; /* Responsive font size */
    line-height: 1.3;
}


@media (max-width: 991.98px) {
    .untree_co-hero .heading,
    .bg-img .heading,
    .untree_co-hero h1.heading {
        font-size: 2.2rem; /* Adjusted for tablets */
    }
}
@media (max-width: 767.98px) {
    .untree_co-hero h1.heading {
        font-size: 1.8rem; /* Adjusted for mobile */
    }
}


.untree_co-hero .link-highlight,
.bg-img .link-highlight {
    color: #ffffff;
    position: relative;
    display: inline;
    -webkit-box-shadow: 0 3px 0 0 #0fb78d; /* Adjusted shadow */
    box-shadow: 0 3px 0 0 #0fb78d;
    padding-bottom: 2px;
}

.untree_co-hero .desc,
.bg-img .desc {
    font-size: 1.1rem; /* Slightly larger base */
    line-height: 1.7;
    max-width: 600px; /* Increased max-width for more text */
}

@media (max-width: 991.98px) {
    .untree_co-hero .desc,
    .bg-img .desc {
        margin-left: auto; /* Keep auto for text-lg-left */
        margin-right: auto; /* Keep auto for text-lg-left */
        font-size: 1rem;
    }
}
/* ADDED: Styles for the UL in hero section */
.untree_co-hero .desc ul {
    list-style: none;
    padding-left: 0;
    margin-top: 15px;
    margin-bottom: 20px;
}
.untree_co-hero .desc ul li {
    padding-left: 28px;
    position: relative;
    margin-bottom: 10px;
    font-size: 1rem; /* Consistent with p */
    color: rgba(255,255,255,0.9);
}
.untree_co-hero .desc ul li:before {
    content: "\e5ca"; /* Checkmark icon from icomoon */
    font-family: 'icomoon';
    position: absolute;
    left: 0;
    top: 2px;
    color: #0fb78d; /* Primary color for bullet */
    font-size: 1.2em;
}


.untree_co-section {
    padding: 80px 0; /* Adjusted padding */
    position: relative;
}

@media (max-width: 991.98px) {
    .untree_co-section {
        padding: 60px 0;
    }
}

/* MODIFIED: Commented out as .heading class structure isn't consistently used for section titles in provided HTML */
/*
.untree_co-section .heading h3 {
    font-size: 35px;
    color: #000000;
}
@media (max-width: 991.98px) {
    .untree_co-section .heading {
        font-size: 20px;
    }
}
.untree_co-section .heading strong {
    font-weight: 700;
}
*/


.position-relative {
    position: relative;
}

.block-v1 {
    position: relative;
    z-index: 8; /* Ensure it's above hero overlay if overlapping slightly */
    padding: 30px;
    margin-top: -60px; /* Adjusted for better overlap */
    border-radius: 8px; /* ADDED: Rounded corners */
    box-shadow: 0 10px 25px rgba(0,0,0,0.1); /* ADDED: Subtle shadow */
}

@media (max-width: 991.98px) {
    .block-v1 {
        margin-bottom: 30px; /* Reduced margin */
        margin-top: -40px; /* Adjust for tablets if needed */
    }
}

@media (max-width: 767.98px) {
    .block-v1 {
        margin-top: 0px; /* No negative margin on mobile to avoid layout issues */
        margin-bottom: 30px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    }
}

.block-v1 [class^="flaticon-"] {
    font-size: 35px;
    color: #ffffff;
    margin-bottom: 15px; /* Increased margin */
    display: block;
    width: 75px;
    height: 75px;
    line-height: 75px;
    text-align: center;
    background: rgba(255, 255, 255, 0.15); /* Slightly more visible background */
    border-radius: 50%; /* Changed to circle */
}

.block-v1 h3 {
    font-size: 1.25rem; /* Slightly larger heading */
    color: #ffffff;
    font-family: "Libre Baskerville", serif; /* Consistent heading font */
}

.block-v1 p {
    color: rgba(255, 255, 255, 0.85); /* Improved contrast */
    font-size: 0.95rem;
}

.block-v1 *:last-child {
    margin-bottom: 0;
}

.block-v1.color-1 { background-color: #5cb100; }
.block-v1.color-2 { background-color: #ec661f; }
.block-v1.color-3 { background-color: #4fb0dc; }

.feature {
    margin-bottom: 40px;
    text-align: center; /* ADDED: Center align feature content */
}

.feature [class^="flaticon-"],
.feature [class^="icon-"] {
    position: relative;
    margin-bottom: 25px; /* Adjusted margin */
    font-size: 30px;
    color: #0fb78d; /* Default color */
    background: rgba(15, 183, 141, 0.1);
    width: 60px; /* Increased size */
    height: 60px; /* Increased size */
    line-height: 60px; /* Increased size */
    display: inline-block; /* For centering */
    border-radius: 50%; /* Changed to circle */
    text-align: center;
}

.feature [class^="flaticon-"]:after,
.feature [class^="icon-"]:after {
    content: "";
    position: absolute;
    width: 70px; /* Adjusted size */
    height: 70px; /* Adjusted size */
    left: -5px;
    top: -5px;
    border-radius: 50%; /* Changed to circle */
    border: 1px solid rgba(15, 183, 141, 0.2); /* Default border color */
}

.feature [class^="flaticon-"].color-1, .feature [class^="icon-"].color-1 { background: rgba(92, 177, 0, 0.1); color: #5cb100; }
.feature [class^="flaticon-"].color-1:after, .feature [class^="icon-"].color-1:after { border: 1px solid rgba(92, 177, 0, 0.2); }
.feature [class^="flaticon-"].color-2, .feature [class^="icon-"].color-2 { background: rgba(236, 102, 31, 0.1); color: #ec661f; }
.feature [class^="flaticon-"].color-2:after, .feature [class^="icon-"].color-2:after { border: 1px solid rgba(236, 102, 31, 0.2); }
.feature [class^="flaticon-"].color-3, .feature [class^="icon-"].color-3 { background: rgba(79, 176, 220, 0.1); color: #4fb0dc; }
.feature [class^="flaticon-"].color-3:after, .feature [class^="icon-"].color-3:after { border: 1px solid rgba(79, 176, 220, 0.2); }
.feature [class^="flaticon-"].color-4, .feature [class^="icon-"].color-4 { background: rgba(107, 83, 171, 0.1); color: #6b53ab; }
.feature [class^="flaticon-"].color-4:after, .feature [class^="icon-"].color-4:after { border: 1px solid rgba(107, 83, 171, 0.2); }
.feature [class^="flaticon-"].color-5, .feature [class^="icon-"].color-5 { background: rgba(15, 183, 141, 0.1); color: #0fb78d; }
.feature [class^="flaticon-"].color-5:after, .feature [class^="icon-"].color-5:after { border: 1px solid rgba(15, 183, 141, 0.2); }
.feature [class^="flaticon-"].color-6, .feature [class^="icon-"].color-6 { background: rgba(253, 152, 0, 0.1); color: #fd9800; }
.feature [class^="flaticon-"].color-6:after, .feature [class^="icon-"].color-6:after { border: 1px solid rgba(253, 152, 0, 0.2); }


.feature h3 {
    font-size: 1.2rem; /* Adjusted size */
    font-family: "Libre Baskerville", serif; /* Consistent heading font */
    color: #333;
    margin-bottom: 10px;
}
.feature p {
    font-size: 0.9rem;
    color: #555;
    line-height: 1.6;
}

.bg-1:before { /* Decorative element */
    content: "";
    position: absolute;
    width: 150%;
    height: 70%;
    right: -100%;
    top: -40px;
    z-index: -1;
    background: rgba(15, 183, 141, 0.1); /* Lighter opacity */
    border-radius: 20px; /* ADDED: Optional rounding */
}

.bg-2:before { /* Decorative element */
    content: "";
    position: absolute;
    height: 40%;
    width: 70%;
    left: -50%;
    top: 0px;
    z-index: -1;
    background: rgba(236, 102, 31, 0.05); /* Lighter opacity */
    border-radius: 20px; /* ADDED: Optional rounding */
}

@media (max-width: 991.98px) {
    .bg-2 {
        display: none;
    }
}

.line-bottom {
    position: relative;
    padding-bottom: 15px; /* Increased padding */
    color: #0fb78d; /* Default color for text, can be overridden by h2 etc. */
    margin-bottom: 30px !important; /* Ensure consistent spacing, adjust if needed */
}
.line-bottom:not(.text-center):before { /* Ensure it doesn't apply to centered version if not desired */
    /* Styles for left-aligned line if different */
}
.line-bottom:before {
    content: "";
    position: absolute;
    width: 50px; /* Increased width */
    height: 3px;
    background: #ec661f; /* Accent color */
    bottom: 0;
}

.line-bottom.text-center:before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}
h2.line-bottom { /* More specific for section titles */
    color: #333; /* Darker color for heading text */
    font-size: 2rem;
}
@media (max-width: 767.98px) {
    h2.line-bottom {
        font-size: 1.6rem;
    }
}


.media-h {
    margin-bottom: 30px;
    -webkit-box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08); /* Softer shadow */
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08);
    background: #ffffff;
    border-radius: 8px; /* ADDED: Rounded corners */
    overflow: hidden; /* ADDED: To contain rounded corners with image */
    display: flex; /* Ensure consistent layout */
    flex-direction: column; /* Stack figure and body vertically */
}
@media (min-width: 768px) { /* Apply side-by-side for md and up */
    .media-h {
        flex-direction: row;
    }
}


.media-h figure {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 200px; /* Adjusted size */
    flex: 0 0 200px;
    position: relative;
    margin-bottom: 0;
    overflow: hidden; /* Keeps image within figure bounds */
    min-height: 180px; /* ADDED: Ensure figure has height on mobile if image is not loaded */
}

.media-h figure img {
    -o-object-fit: cover;
    object-fit: cover;
    /* position: absolute; // Removed to allow natural flow if figure size is dynamic */
    height: 100%;
    width: 100%;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .3s transform ease;
    -o-transition: .3s transform ease;
    transition: .3s transform ease;
}

.media-h .media-h-body {
    padding: 25px; /* Increased padding */
    flex-grow: 1; /* Allow body to take remaining space */
}

.media-h .media-h-body h2 {
    font-size: 1.3rem; /* Adjusted size */
    margin-bottom: 10px;
    font-family: "Libre Baskerville", serif;
}
.media-h .media-h-body h2 a {
    color: #333;
}
.media-h .media-h-body h2 a:hover {
    color: #0fb78d;
}


.media-h:hover img {
    -webkit-transform: scale(1.05); /* Subtle zoom */
    -ms-transform: scale(1.05);
    transform: scale(1.05);
}

.meta {
    font-size: 0.85rem; /* Adjusted size */
    color: #777; /* Darker grey */
    margin-bottom: 15px; /* Add some space below meta */
}
.meta span {
    margin-right: 10px;
}
.meta span:last-child {
    margin-right: 0;
}
.meta .icon-calendar, .meta .icon-person {
    color: #0fb78d; /* Primary color for icons */
}


.video-play-btn { /* This class is not used in the provided HTML for video link */
    width: 80px;
    height: 80px;
    border-radius: 50%;
    position: relative;
    background: #0fb78d;
    color: #ffffff;
    display: inline-block;
}
/* ... (rest of video-play-btn styles) */

.block-testimonial { /* Not used in current HTML, but kept for potential future use */
    /* ... */
}

/* ... (styles for .instagram-gallery, .pricing, .staff, .custom-pagination - kept for completeness if template parts are used later) */

.count-numbers .counter {
    font-size: 2.5rem; /* Increased size */
    font-family: "Libre Baskerville", serif;
    color: #0fb78d;
    font-weight: 700; /* Bolder numbers */
}
.count-numbers .counter span[data-number] { /* Target the number span specifically */
    /* styles if needed */
}
.count-numbers .caption-2 {
    font-size: 0.9rem;
    color: #555;
    text-transform: uppercase;
    letter-spacing: .05em;
}


.contact-info i {
    font-size: 20px;
    float: left;
    width: 44px;
    height: 44px;
    background: #0fb78d;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50px;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    color: #ffffff;
}

.contact-info h4 {
    font-size: 18px;
    padding: 0 0 0 60px;
}

.contact-info p {
    padding: 0 0 0 60px;
    margin-bottom: 0;
    font-size: 14px;
}

.item { /* Gallery item styles */
    border: none;
    margin-bottom: 30px;
    border-radius: 4px;
    display: block;
    overflow: hidden; /* ADDED: For rounded corners on image hover effect */
}
/* ... (rest of .item styles for gallery) */

.custom-accordion .accordion-item .btn-link {
    display: block;
    width: 100%;
    padding: 15px 20px 15px 40px; /* Adjusted padding */
    text-decoration: none;
    text-align: left;
    color: #333; /* Darker color for better readability */
    background: transparent;
    border: none;
    border-bottom: 1px solid #eee; /* ADDED: Separator */
    border-radius: 0;
    position: relative;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    font-weight: normal; /* Reset font weight */
}
.custom-accordion .accordion-item:first-child .btn-link {
    /* border-top: 1px solid #eee; /* Optional top border for first item */
}
.custom-accordion .accordion-item:last-child .btn-link {
    border-bottom: none; /* No bottom border for last item */
}


.custom-accordion .accordion-item .btn-link:before {
    font-family: 'icomoon';
    content: "\e313"; /* Chevron down by default */
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 15px;
    color: #0fb78d; /* Primary color for icon */
    transition: transform 0.3s ease; /* Smooth rotation */
}

.custom-accordion .accordion-item .btn-link[aria-expanded="true"] {
    font-weight: 700; /* Bolder when expanded */
    color: #ffffff !important;
    background: #0fb78d;
    border-bottom-color: #0fb78d; /* Match background */
}

.custom-accordion .accordion-item .btn-link[aria-expanded="true"]:before {
    content: "\e313"; /* Still chevron down, but rotated */
    color: #ffffff;
    -webkit-transform: translateY(-50%) rotate(180deg); /* Rotate icon when expanded */
    -ms-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}
/* ... (rest of accordion, control, gallery item styles) */

.video-wrap {
    position: relative;
    display: block;
    border-radius: 8px; /* ADDED: Rounded corners for video wrapper */
    overflow: hidden; /* ADDED: To contain image and play button */
}

.video-wrap .play-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 70px; /* Increased size */
    height: 70px; /* Increased size */
    background: rgba(15, 183, 141, 0.8); /* Primary color with opacity */
    border-radius: 50%;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    display: flex; /* ADDED: For centering icon */
    align-items: center; /* ADDED: For centering icon */
    justify-content: center; /* ADDED: For centering icon */
}

.video-wrap .play-wrap>span {
    /* position: absolute; // Not needed with flex centering */
    /* top: 50%; */
    /* left: 50%; */
    color: #ffffff;
    font-size: 1.5rem; /* Increased icon size */
    /* -webkit-transform: translate(-50%, -50%); // Not needed */
    /* -ms-transform: translate(-50%, -50%); */
    /* transform: translate(-50%, -50%); */
    line-height: 1; /* Ensure icon is centered */
}

.video-wrap:hover .play-wrap {
    background: #0fb78d; /* Solid primary on hover */
    transform: translate(-50%, -50%) scale(1.1); /* Slight scale effect */
}
.video-wrap img.rounded {
    border-radius: 8px !important; /* Ensure image inherits rounding if not already */
}


.owl-single .owl-dots, /* Styles for Owl Carousel, kept for template completeness */
.owl-carousel .owl-dots {
    /* ... */
}

.ul-check li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 10px;
    line-height: 1.7; /* Improved line height */
}

.ul-check li:before {
    position: absolute;
    left: 0;
    top: 0.1em; /* Adjusted vertical alignment */
    content: "\e5ca"; /* Checkmark icon */
    font-size: 1.25rem; /* Slightly larger icon */
    font-family: 'icomoon';
}

.ul-check.primary li:before { color: #0fb78d; }
.ul-check.white li:before { color: #ffffff; }


.section-title { /* Generic section title, not heavily used if h2.line-bottom is primary */
    color: #000000;
    margin-bottom: 30px;
}

.site-footer {
    background: #222; /* CHANGED: Darker footer background for better contrast with primary color links */
    font-size: 14px;
    color: rgba(255,255,255,0.7); /* Light grey text */
    padding: 70px 0;
}

.site-footer a {
    color: #0fb78d; /* Primary color for links in footer */
    position: relative;
    display: inline-block;
    transition: color 0.3s ease;
}
.site-footer a:hover {
    color: #11ca9c; /* Lighter primary on hover */
}

.site-footer .btn:before { display: none; }

.site-footer .widget {
    margin-bottom: 40px;
    display: block;
    position: relative;
    z-index: 1;
}

.site-footer .widget h3 {
    font-size: 18px; /* Increased size */
    font-family: "Libre Baskerville", serif;
    color: #ffffff;
    margin-bottom: 25px; /* Increased margin */
}

.site-footer .widget .links {
    width: auto; /* Allow natural width */
}

.site-footer .widget .links li {
    margin-bottom: 12px; /* Increased spacing */
}

.site-footer .widget .links li a {
    color: rgba(255, 255, 255, 0.6); /* Default link color */
}

.site-footer .widget .links li a:hover {
    color: #ffffff; /* White on hover */
}
/* Specific for contact links in footer */
.site-footer .widget address,
.site-footer .widget ul.links.mb-4 li a { /* target contact info */
    color: rgba(255,255,255,0.8);
}
.site-footer .widget ul.links.mb-4 li a:hover {
    color: #0fb78d;
}


.site-footer .social li {
    display: inline-block;
    margin-right: 8px; /* ADDED: Spacing between social icons */
}
.site-footer .social li:last-child {
    margin-right: 0;
}

.site-footer .social li a {
    display: inline-flex; /* Use flex for centering */
    align-items: center;
    justify-content: center;
    width: 36px; /* Slightly larger */
    height: 36px; /* Slightly larger */
    position: relative;
    background-color: rgba(255,255,255,0.1); /* Subtle background */
    border-radius: 50%;
    color: #ffffff; /* Icon color */
    font-size: 0.9rem; /* Icon font size */
    transition: background-color 0.3s ease, color 0.3s ease;
}

.site-footer .social li a:before { display: none; } /* Already handled by icon font */

.site-footer .social li a>span { /* Icon itself */
    /* position: absolute; // Not needed with flex
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); */
}

.site-footer .social li a:hover {
    background: #0fb78d; /* Primary color on hover */
    color: #ffffff;
}
.site-footer .copyright-text p { /* If you wrap copyright in a p with this class */
    color: rgba(255,255,255,0.5);
    font-size: 0.85rem;
}
.site-footer .copyright-text p a {
    color: rgba(255,255,255,0.7);
}
.site-footer .copyright-text p a:hover {
    color: #0fb78d;
}

.sidebar-widget {
    background-color: #f8f9fa; /* Light background for widgets */
    padding: 25px;
    border-radius: 8px;
    margin-bottom: 30px !important; /* Ensure consistent spacing, from Bootstrap's mb-4 */
    /* box-shadow: 0 2px 5px rgba(0,0,0,0.05); */
}
.main-content-wrapper > .row {
    display: -ms-flexbox; /* IE10 */
    display: flex;
    -ms-flex-wrap: wrap; /* IE10 */
    flex-wrap: wrap;
    margin-right: -15px; 
    margin-left: -15px;  
}


@media (min-width: 992px) {
    .main-content-wrapper > .row > .sidebar-column.col-lg-4 {
        -ms-flex: 0 0 33.333333%; /* IE10 */
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .main-content-wrapper > .row > .col-lg-8:not(.sidebar-column) { /* Target the main content column */
        -ms-flex: 0 0 66.666667%; /* IE10 */
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
}


.main-content-wrapper > .row > [class*="col-"] {
    position: relative;
    width: 100%;
    padding-right: 15px; 
    padding-left: 15px; 
}

.sidebar-column {
   padding-left: 30px; @media (max-width: 991.98px) { padding-left: 15px; } 
}
.sidebar-widget:last-child {
    margin-bottom: 0 !important;
}

.sidebar-widget .widget-title {
    font-family: "Libre Baskerville", serif;
    font-size: 1.4rem;
    color: #333;
    margin-top: 0;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e0e0e0;
    position: relative;
}

.sidebar-widget .widget-title:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px; /* Align with border-bottom */
    width: 40px;
    height: 3px;
    background-color: #0fb78d; /* Primary color accent */
}

.sidebar-widget ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0; /* Remove default ul margin */
}
.sidebar-widget ul li {
    margin-bottom: 8px;
}
.sidebar-widget ul li:last-child {
    margin-bottom: 0;
}

.sidebar-widget ul li a {
    color: #555;
    text-decoration: none;
    display: block;
    padding: 6px 0; /* Vertical padding for links */
    transition: color 0.3s ease, padding-left 0.3s ease;
    position: relative; /* For potential hover effects */
}

.sidebar-widget ul li a:hover {
    color: #0fb78d;
    padding-left: 5px; /* Slight indent on hover */
}
.sidebar-widget ul li a .text-muted { /* For date/meta info */
    font-size: 0.8em;
    display: block; /* Make it appear on a new line or control its position */
    margin-top: 2px;
}


/* Sidebar Search Form */
.sidebar-widget .search-form {
    display: flex;
    margin-bottom: 0; /* Reset margin if it's a direct child */
}
.sidebar-widget .search-form .form-control {
    flex-grow: 1;
    border-color: #ced4da; /* Bootstrap default like border */
    border-right: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    height: 45px; /* Match button height */
}
.sidebar-widget .search-form .form-control:focus {
    border-color: #0fb78d;
    box-shadow: none;
}
.sidebar-widget .search-form button {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding-left: 15px;
    padding-right: 15px;
    height: 45px; /* Match input height */
    display: inline-flex; /* Align icon nicely */
    align-items: center;
    justify-content: center;
}
.sidebar-widget .search-form button .icon-search {
    font-size: 1.1rem;
}


/* Sidebar Social Connect */
.sidebar-widget .social {
    /* ul styles already defined */
}
.sidebar-widget .social li {
    /* margin-bottom from general ul li */
}
.sidebar-widget .social li a {
    color: #333; /* Default text color for social links */
    font-weight: 500;
    padding: 8px 0; /* More padding for touch */
}
.sidebar-widget .social li a:hover {
    color: #0fb78d; /* Primary on hover */
    padding-left: 0; /* No indent for these */
}
.sidebar-widget .social li a [class^="icon-"] { /* Target icons within these links */
    margin-right: 10px;
    font-size: 1.2rem; /* Icon size */
    color: #0fb78d; /* Icon color */
    vertical-align: middle;
    transition: color 0.3s ease;
}
.sidebar-widget .social li a:hover [class^="icon-"] {
    color: #0c8a69; /* Darker primary on link hover */
}

/* Ad Placeholder in Sidebar */
.ad-placeholder {
    width: 100%;
    min-height: 250px; /* Use min-height */
    background: #e9ecef; /* Lighter grey */
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px; /* Consistent rounding */
    color: #6c757d; /* Bootstrap muted color */
    font-style: italic;
    text-align: center;
    padding: 20px;
    font-size: 0.9rem;
}