/* || BREAKPOINTS ||
    @media screen and (max-width: 39.9375em) {}                         || SMALL ONLY { 0 - 639px }         ||
    @media screen and (min-width: 40em) {}                              || MEDIUM AND UP { 640px ONWARDS }  ||
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {}   || MEDIUM ONLY { 640px - 1023px }   ||
    @media screen and (min-width: 64em) {}                              || LARGE AND UP { 1024px ONWARDS }  ||
    @media screen and (min-width: 64em) and (max-width: 74.9375em) {}   || LARGE ONLY { 1024px - 1199px }   || */
















/* || Foundation component overrides || */
body{
    font-size: 16px;
    font-weight: 400;
}


h1, .h1 {
    font-size: 2.8em;
    line-height: 1.2em;
    margin: 0.67em 0;
}

h2, .h2 {
    font-size: 2.2em;
    line-height: 1.2em;
    font-weight:600;
}

h3, .h3 {
  font-size: 1.6em;
  line-height: 1.5em;
}

h4, .h4 {
    font-size: 1.2em;
    line-height: 1.5em;
}

h5, .h5 {
  font-size: 1.1em;
    line-height: 1.5em;
}

h6, .h6 {
  font-size: 1em;
  line-height: 1.5em;
}

[type='text'],
[type='password'],
[type='date'],
[type='datetime'],
[type='datetime-local'],
[type='month'],
[type='week'],
[type='email'],
[type='number'],
[type='search'],
[type='tel'],
[type='time'],
[type='url'],
[type='color'],
[type='text']:focus,
[type='password']:focus,
[type='date']:focus,
[type='datetime']:focus,
[type='datetime-local']:focus,
[type='month']:focus,
[type='week']:focus,
[type='email']:focus,
[type='number']:focus,
[type='search']:focus,
[type='tel']:focus,
[type='time']:focus,
[type='url']:focus,
[type='color']:focus,
textarea,
textarea:focus,
select,
select:focus {
    outline: none;
    box-shadow: none;
    font-size:1em;
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
}

[type=checkbox],
[type=radio] {
    position: relative;
    top: 0.1em;
}

button, 
.button {
    font-size:0.9em;
    padding: .9rem 2rem;
    
    border-radius: 5px;
    
    font-weight: 600;
}

button:not(.button-group button), 
.button:not(.button-group button) {
    font-size:0.9em;
    
    border-radius: 5px;
    
}


.is-btn, .btn{
    border-radius: 5px !important;
}


button:hover,
.button:hover,
button:focus,
.button:focus {
    transition: .4s;
    box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.26);
}

.form legend {
    font-weight: 700;
}

span.error,
span.errorMargin {
    color: #cc4b37;
    font-size: 0.8em;
    font-weight: 700;
}


label, 
.label {
    font-size: 1em;
}

/* || Custom defined || */
.alternate-font-family {
    font-family: "Great Vibes", cursive;
}

/* || HEADER || */
.is-wrapper div.is-section.is-header, .is-header {
    background: linear-gradient(180deg, #317E93 0%, #215D6E 100%);
    color:#FFFFFF;
  /*  border-bottom:1px solid #CCCCCC;*/
    height: auto;
    min-height:0;
    z-index: 99;
    overflow: visible !important;
}
header#header:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 3px;
    z-index: 6;
    background: #FFF;
} 
.is-header .is-container {
    z-index: 9;
}

header .sticky-bg-color.stick {
    background: #317E93;
    width:100%;
    position:fixed;
    left:0;
    top:0;
    z-index:99;
}

header .is-stuck{
    background: #317E93;
    border-bottom: 1px solid #e6e6e6;
    box-shadow: 0 4px 12px 0 #e6e6e6;
}

/* sticky navigation*/
header .with-nav.is-stuck {
    background: #ffffff;
    width:100%;
    position:fixed;
    left:0;
    top:0;
    z-index:99;
    border-bottom: 1px solid #e6e6e6;
    box-shadow: 0 4px 12px 0 #e6e6e6;
    padding: 0 !important;
    margin: 0;
}

header .with-nav.is-stuck ul {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
     padding: 10px 0;
}

header.new-header-8 .with-nav.is-stuck ul {
    -webkit-box-pack: end;
    -webkit-justify-content: end;
    -ms-flex-pack: end;
    justify-content: end;
}

header .with-nav.is-stuck .spacer{
    display:none;
}

header a:not(.button) {
    color: #FFFFFF;
}

header a:not(.button):hover,
header a:not(.button):active,
header a:not(.button):focus {
    color: #FFFFFF;
}

header .icon, 
header i,
header i.fa-bars.icon{
    color: #FFFFFF;
}

header a:not(.button):hover .icon,
header a:not(.button):hover i,
header i:hover{
    color: #FFFFFF;
}

header button,
header .button,
header button:hover,
header button:focus,
header .button:hover,
header .button:focus {
     background:#317E93;
     color:#FFFFFF;
}

header button.header-search-button {
    background:transparent;
}

header button.header-search-button:hover {
    box-shadow: none;
}

.text-logo {
    word-wrap: break-word;
    text-transform: capitalize;
    color: #FFFFFF;
    font-size: 35px;
    font-family: "Cormorant Garamond", serif;
}

.header-buttons .button {
    font-weight:600;
    padding: 0.9em 2em;
}

footer {
    border-top: 1px solid #CCCCCC;
}

footer .text-logo {
    color: #FFFFFF;
}

footer .address-container br {
    display:none;
}

svg.step.social-icon {
    height:35px;
    width:35px;
    fill:#FFFFFF;
}

.footer2 .step.social-icon,
.new-footer-1 .step.social-icon,
.new-footer-2 .step.social-icon,
.new-footer-3 .step.social-icon,
.new-footer-4 .step.social-icon{
    height: 40px;
    width: 40px;
}

header .cta .icon {
    padding-right: 5px;
    color: #FFFFFF
}

header .text-muted {
    color: #FFFFFF !important;
}

header .border-bottom, 
header hr {
    border-bottom:1px solid #CCCCCC;
}

header .border-top {
    border-top:1px solid #CCCCCC;
}


header .is-section {
    float: none;
    width: auto;
}


.header7 .ps-cart-text-container {
    position:static;
    margin-right:10px;
}




.ecommerce-style2 .cart, .cart {
    position:relative;
}

header a:hover i.fas {
    color:#FFFFFF
}

.ecommerce-style2 .ps-cart-text-container, .ps-cart-text-container {
    color:#317E93;
    background:#FFFFFF;
    height: 22px;
    width: 23px;
    line-height: 24px;
    text-align: center;
    vertical-align: middle;
    border-radius: 50% 50% 50% 50%;
    display: inline-block;
    font-size: 10px;
    position: absolute;
    left: 31px;
    top: -1px;
    font-weight: bold;
}

header a:hover .ps-cart-text-container {
    background:#FFFFFF;
}

header .currency-converter{
    font-size: 0.9em;
}

header .currency-converter select {
    padding-right:0;
}

.sticky-container,
.nav-bg, 
.top-bar, 
.top-bar ul,
.top-bar ul.menu {
    z-index: 100;
}

.nav-bg, 
.top-bar, 
.top-bar ul,
.top-bar ul.menu {
    
        background: #000000;
    
}


.header-search-input{
    padding-right:25px;
    color:#262626;
    background:#FFFFFF;
}

.header-search-input::placeholder {
    color:#262626;
    opacity:0.6;
}

.header-search-button{
    position:absolute;
    top: 30%;
    right: 5px;
    padding:0;
}

header i.fas.fa-search {
    color:#262626
}

header .ps-cart-text-container {
    color:#317E93;
    background:#FFFFFF;
    height: 22px;
    width: 23px;
    line-height: 24px;
    text-align: center;
    vertical-align: middle;
    border-radius: 50% 50% 50% 50%;
    display: inline-block;
}

header a:hover .ps-cart-text-container {
    background:#FFFFFF;
}

/* || MENU || */
header .main-navigation-background {
    background:#000000;
}

header .menu.level-1 li .is-dropdown-submenu.menu.level-2  li:first-child {
    display:none;
}

header .dropdown.menu li a:not(.button) {
    width: 100%;
}

header ul.dropdown.menu li a:not(.button) {
     color: #FFFFFF;
     font-weight:400;
}

header ul.dropdown.menu li.active > a:not(.button),
header ul.dropdown.menu li > a:not(.button):hover,
header ul.dropdown.menu li > a:not(.button):active,
header ul.dropdown.menu li > a:not(.button):focus{
    color: #FFFFFF;
    background-color: #000000;
}

header .dropdown.menu li ul.submenu {
     background: #215D6E;
     border:none;
}

header .dropdown.menu li ul.submenu li a:not(.button) {
    color: #FFFFFF;
    text-align:left;
}

header .dropdown.menu li ul.submenu li a:not(.button):hover,
header .dropdown.menu li ul.submenu li.active a:not(.button) {
    color: #FFFFFF;
}

header .dropdown.menu li ul.submenu li.is-active > a  {
    background:transparent;
}

header .dropdown.menu > li.is-active > a {
    color: #FFFFFF;
    background:transparent;
}

/****** header .dropdown.menu > li.is-dropdown-submenu-parent > a::after {
    border-color:transparent;
    display: inline-block;
    width: 23px;
    height: 13px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.1772 1.88191C10.6078 1.45139 10.6078 0.753396 10.1772 0.322884C9.74673 -0.107628 9.04873 -0.107628 8.61821 0.322884L5.50004 3.44106L2.38191 0.322933C1.95139 -0.10758 1.2534 -0.10758 0.822884 0.322933C0.392372 0.753445 0.392372 1.45144 0.822885 1.88196L4.72044 5.77951C4.99879 6.05786 5.38895 6.15624 5.74634 6.07466C5.9418 6.03008 6.12746 5.93169 6.27968 5.77946L10.1772 1.88191Z' fill='white'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    right: auto;
    left: 37%;
    margin-top: 7px;
}*********/

header .dropdown.menu > li.is-dropdown-submenu-parent.active > a::after,
header .dropdown.menu > li.is-dropdown-submenu-parent > a:hover::after {
    border-color:#FFF transparent transparent;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    border-color: transparent #000000 transparent transparent;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left.active > a::after,
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a:hover::after {
    border-color: transparent #000000 transparent transparent;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    border-color: transparent transparent transparent #000000;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right.active > a::after,
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a:hover::after {
    border-color: transparent transparent transparent #000000;
}

/* New headers CSS */
.size-20 {
    font-size:20px;
}
.menu a.head-icons {
    background:#CCCCCC;
    border-radius:50px;
    height:40px;
    width:40px;
    padding-left:0;
    padding-right:0;
    margin-right:10px;
}

.header-top-bg {
    background:#317E93;
    color: #FFFFFF;
}

.header-top-social-media .menu a{
    padding-bottom:0;
}

.header-top-social-media .menu a i,
.header-top-contact-links .menu a i {
    color:#FFFFFF;
}

.header-top-social-media .menu a:hover i,
.header-top-contact-links .menu a:hover i,
.header-top-contact-links .menu a:hover {
    color:#FFFFFF;
}

header .header-top-contact-links {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    color:#FFFFFF;
}

header .header-top-contact-links a,
header .header-top-contact-links a:hover,
header .header-top-contact-links a:active{
    color:inherit;
} 

.header-top-contact-links .menu a {
    padding-top: 0;
    padding-bottom:0;
    color:inherit;
}

.header-top-contact-links .menu a i {
    font-size: 18px;
    position: relative;
    top: 2px;
    padding-right: 5px;
}

header .header8 ul.dropdown.menu > li > a:not(.button) {
    padding-top:0;
    padding-bottom:0;
}

.new-header ul.dropdown.menu li.active > a:not(.button), 
.new-header ul.dropdown.menu li > a:not(.button):hover, 
.new-header ul.dropdown.menu li > a:not(.button):active, 
.new-header ul.dropdown.menu li > a:not(.button):focus {
    background-color:transparent;
}

.new-header ul.dropdown.menu > li.active > a:not(.button) span,
.new-header ul.dropdown.menu > li:hover > a:not(.button) span {
  color :#FFFFFF;
  border-bottom:1px solid #FFF;
}


.new-header-1 ul.dropdown.menu > li {
    margin-bottom: 5px;
    margin-top: 5px;
}

.new-header-1 ul.dropdown.menu > li.active > a:not(.button) span,
.new-header-1 ul.dropdown.menu > li:hover > a:not(.button) span {
    border-bottom:2px solid #FFFFFF;
}

.new-header-6 ul.dropdown.menu li.active > a:not(.button) span,
.new-header-6 ul.dropdown.menu li:hover > a:not(.button) span,
.new-header-7 ul.dropdown.menu li.active > a:not(.button) span,
.new-header-7 ul.dropdown.menu li:hover > a:not(.button) span{
}

.new-header .button, 
.new-header .button.disabled, 
.new-header .button[disabled], 
.new-header .button.disabled:hover, 
.new-header .button[disabled]:hover, 
.new-header .button.disabled:focus, 
.new-header .button[disabled]:focus {
    background-color: #317E93;
    color: #FFFFFF;
}

.new-header .button.hollow {
    background:transparent;
    color:#FFFFFF;
    border:1px solid #317E93;
}

.new-header-menu-container {
    background:#000000;
}

.new-header .button i,
.new-header .button:hover i {
    color:inherit;
    padding-right:10px;
}

.column.full {
    width: 100%;
}

.sidenav-container {
    background-color: #317E93;
    color: #FFFFFF;
    height: 42px;
    width: 42px;
    text-align: center;
    border-radius: 50px;
    padding-top: 8px;
}

.sidenav-container i.fa-bars.icon{
     color: #FFFFFF;
}

.new-header-3 .logo-container,
.new-header-4 .logo-container {
    min-height:110px;
    display: flex;
    padding-top: 0.9375rem;
    padding-bottom: 0.9375rem;
}

.new-header-3 .left-column i {
    margin-right:5px;
}

.new-header-5.logo-section {
    min-height:150px;
}

.new-header-5 .menu-container {
    margin-top:10px;
}

.new-header-5 .dropdown.menu > li > a {
    padding: 0.7rem 0 0.7rem 2rem;
}

.new-header-5 .dropdown.menu > li.has-submenu > a {
    padding-right: 1.5rem;
}

.new-header-6 .menu a.head-contact-links {
    display: flex;
    text-align: left;
    align-items: center;
}

.new-header-6 .menu a.head-contact-links .icon-part{
    padding-right:20px;
    color:#317E93;
    font-size:20px;
}

.new-header-6 .menu a.head-contact-links .icon-part i {
    color:inherit;
}

.new-header-6 .menu a.head-contact-links .text-part .heading {
    padding-bottom:5px;
}

.new-header-6 .contact-section {
    display: flex;
    justify-content: right;
    align-items: center;
}

.new-header-6 .menu-container {
    border-top:1px solid #CCCCCC;
    margin-top: 10px;
    padding-top: 5px;
}

.new-header-9 .sidenav-bar {
    right: 20px;
    top: 20%;
}

/* New headers CSS END */

/* new theme 2 styles */

.main-banner-sec.theme-2 {
    height:80%;
}

.main-banner-sec.theme-2 form .button {
    background: #215D6E;
    color: #FFFFFF;
    padding:12px 32px;
    font-size:0.9em;
}

.is-dark-color * {
    color:#000000;
}

.is-light-color *{
    color:#000000;
}

.is-dark-color .button,
.is-dark-color button {
    background: #215D6E;
    color: #FFFFFF;
}

.is-light-color button,
.is-light-color .button {
    background: #FFFFFF;
    color: #215D6E;
}

.page-banner-main-heading {
    font-weight: 500; 
    margin-bottom: 10px; 
    font-size:2.8em;
}

.page-banner-sub-heading {
    font-size: 1.2em; 
    font-family: inherit; 
    margin-bottom: 30px;
}

#contact-us-form-container {
    position:relative;
}

#contact-us-form-container label {
    margin-bottom:8px;
}

#contact-us-form-container p:first-of-type, 
#contact-us-form-container legend {
    display:none;
}

#contact-us-form-container .textblock_wrap p {
    display:block;
}

#contact-us-form-container .fieldset {
    padding:0;
    margin:0;
    border:0px solid;
}

#contact-us-form-container form {
    background:#FFFFFF;
    position: absolute;
    right: 0;
    top:110px;
    width: 100%;
    padding: 40px;
}

#contact-us-form-container form input:not([type="submit"]) {
    border:1px solid #CCCCCC;
    padding: 8px 16px;
    border-radius:10px;
    height: 56px;
}

#contact-us-form-container .phone_wrap > div {
    width:100%;
}   

#contact-us-form-container .phone_wrap > div [class*="flag-container"] {
    display:none;
}

#contact-us-form-container form #first_name, 
#contact-us-form-container form #mob_phone_phone_number_tel {
    margin-bottom: 1rem !important;
    margin-top: 0px !important;
}

#contact-us-form-container * {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#contact-us-form-container .form-container {
    padding:0;
}

.user-logged-out .main-banner-sec {
    overflow:visible;
}

/* service page */ 

.service-card-section h2 {
    padding-top:30px;
}

.service-card-section .single-card {
    height:100%;
     color:#000000;
}

.service-card-section .single-card * {
     color:#000000;
}

.service-card-section .cell {
    padding-right:10px;
    padding-left:10px;
}

/* faq page */

/* system page */ 
.ww-newsletter-registration.ww-form-container {
    padding-top:30px;
}


@media screen and (min-width: 1024px) {
    .stretched-image-section .cell.large-6 {
        padding-top: 0;
        padding-bottom: 0;
        padding-right: 0;
        box-sizing: border-box;
    }
    
    .stretched-image-section .cell.large-6:first-child {
        background-color: black;
        color: white;
        max-width: 600px; /* Ensure text stays within grid */
    }
    
    .stretched-image-section .cell.large-6:last-child {
        position: absolute;
        right: 0;
        top: 0;
    }
    
    .stretched-image-section .cell.large-6:last-child img {
        width: 100%;
        object-fit: cover; /* Ensure image fully covers the space */
    }
}


/* container css overridden */
.is-wrapper .is-box .is-container {
    margin-top: 20px;
    margin-bottom: 20px;
}

/* New Footer CSS */
.new-footer {
    font-size:1em;
}

.new-footer .menu .active > a {
    background: transparent;
    color:#FFFFFF;
}

footer.new-footer .footer-menu-container .menu li.has-submenu a {
    padding-right:1.5em;
}

footer.new-footer .footer-menu-container .menu li a {
    font-weight:normal;
    padding: 0.5em;
}

footer.new-footer .footer-menu-container .menu li.has-submenu ul li:first-child {
    display:none;
}

footer.new-footer .footer-menu-container .menu li.has-submenu ul li a {
    text-align:left;
}

.footer-menu-container {
    border-bottom:1px solid #CCCCCC;
    margin-bottom:20px;
}

footer.new-footer h4 {
    font-weight:bold;
    font-size:20px;
    margin-bottom:15px;
}

.footer-media-box {
    margin-top:5px;
}

.size-40 {
    font-size:40px !important;
}

.new-footer-1 .copyright-container,
.new-footer-2 .copyright-container,
.new-footer-3 .copyright-container{
    border-top:1px solid #CCCCCC;
    padding-top: 20px;
    padding-bottom: 10px;
}

.new-footer-1 .footer-social-media {
    margin-top:30px;
}

.new-footer .dropdown.menu > li.is-active > a {
    background: transparent;
}

.mailing-list-button {
    margin-top:30px;
}

.new-footer-3  .shop-address br{
    display:none;
}

.new-footer-3 .footer-menu-container {
    margin-bottom: 0px;
}

.new-footer-3 .footer-media-box img {
    max-height:80px;
}

.new-footer ul.dropdown.menu > li.active > a:not(.button) span, 
.new-footer ul.dropdown.menu > li:hover > a:not(.button) span {
    color: #FFFFFF;
}

footer.new-footer a:not(.button):hover, 
footer.new-footer a:not(.button):active, 
footer.new-footer a:not(.button):focus {
    color: #FFFFFF;
}

.dropdown.menu > li.is-active a {
    color: #FFFFFF;
}

.contact-us-column .contact-number {
    padding-top:10px;
    padding-bottom:10px;
}

.subscription-button-container .button {
    padding: 17px;
    font-weight: 600;
}

footer iframe {
    width:275px;
}

.new-footer.with-background-image {
    background:url("//s3-ap-southeast-1.amazonaws.com/assets-powerstores-com/data/org/31352/theme/49251/img/footer_bg.jpg") no-repeat;
    background-position: top;
    background-size: cover;
    margin-top:0;
}

.new-footer-3 i {
    color:#FFFFFF;
}

.new-footer-4 .footer-social-media .menu a,
.footer3 .social-media-icons-small.menu a{
    padding: 5px !important;
}

/* New Footer CSS END*/

/* || HOMEPAGE || */
.light-bg-section {
    float: left;
}

.text-dark h1,
.text-dark h2,
.text-dark h3,
.text-dark h4,
.text-dark h5{
    color:inherit;
}

.light-bg-section h3 {
    color:#215D6E;
    font-weight:500;
}

.text-primary {
     color:#215D6E;
}

strong, b {
    font-weight: bolder;
}

.dark-bg-section {
    float: left;
    color: #FFFFFF;
}

.dark-bg-section h1,
.dark-bg-section h2,
.dark-bg-section h3,
.dark-bg-section h4,
.dark-bg-section h5{
    color:inherit;
}

.dark-bg-section input[type="text"] {
    padding: .5rem .75rem;
    font-size: 1rem;
    line-height: 1.25;
    border: 1px solid rgba(0,0,0,0.15);
    border-radius: .25rem;
    background:;
    color:;
}

.dark-bg-section input[type="text"]::placeholder {
     color:;
}

.dark-bg-section .button {
    background:;
    color:inherit;
}

.customer-section {
    background:;
    color:;
    float:left;
}

.rounded-circle {
    border-radius: 50%;
}

.latest-blog-posts {
    background:;
    color:;
    float:left;
    width:100%;
}

.latest-blog-posts h2 {
    color:inherit;
    font-size: 2.5rem;
}

.latest-blog-posts h4 {
    color:inherit;
    font-size: 1rem;
}

.latest-blog-posts h2 a,
.latest-blog-posts h4 a,
.latest-blog-posts a{
    color:inherit;
}

.latest-blog-posts .readmore:hover {
    text-decoration:underline;
} 

/* New blog page type */

.banner-main-heading {
    font-size:2.8em;
    color:#FFFFFF;
    line-height: 1.2em;
}

.new-blog-page-type .featured-articles {
    padding: 48px;
    border: 1px solid #CCCCCC;
}

.new-blog-page-type .featured-articles img {
    max-height:215px;
}

.new-blog-page-type .featured-articles h5 {
    font-size: 1.2em;
    line-height: 1.5;
    font-weight: 600;
    margin-bottom: 20px;
    color:#000000;
}   

.new-blog-page-type .featured-articles h2 {
    font-size: 1.7em;
    line-height: 1.5;
    font-weight: 400;
    color:#000000;
}

.new-blog-page-type .featured-articles h2 a{
    color:#000000;
}

.new-blog-page-type .blog-search-button svg {
    fill:#000000;
}

.blog-search-container .blog-search-button:hover {
    box-shadow: none;
}

.new-blog-page-type .featured-articles p {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
}

.new-blog-page-type .blog-articles,
.new-blog-page-type .blog-sidebar {
    margin-top: 80px;
}

.new-blog-page-type .blog-ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 70px 30px; 
    list-style: none;
    margin-left: 0;
}

.new-blog-page-type .blog-ul h2,
.new-blog-page-type .blog-ul h2 a{
    font-size: px;
    line-height: 1.5;
    font-weight: 600;
}

.new-blog-page-type .blog-ul img,
.featured-articles-slider img {
    margin-bottom:12px;
}

.new-blog-page-type .article-body ,
.new-blog-page-type .article-body p {
    font-size:18px;
    font-weight:400;
}

.new-blog-page-type .blog-read-more {
    font-weight:600;
}

.featured-articles-slider,
.ps-blog-category  {
    list-style: none;
    margin-left:0;
}

.ps-blog-category {
    margin-bottom: 0;
}

.ps-blog-category li {
    display:inline-block;
}

.ps-blog-category li a {
    padding: 8px 24px;
    border: 1px solid #215D6E;
    margin-right: 16px;
    display: inline-block;
    font-weight: 600;
    margin-bottom: 16px;
    color:#215D6E;
}

.ps-blog-category li.active a,
.ps-blog-category li a:hover{
    border-radius: 0;
    vertical-align: baseline;
    line-height: inherit;
    background:#215D6E;
    color:#FFFFFF;
}

.new-blog-page-type .featured-articles-section {
    margin-top:80px;
}

.new-blog-page-type .section-main-heading {
    color:#000000;
}

.articles-filter-container h3 {
    font-size: 22px;
    margin-bottom: 16px;
    font-weight: 600;
    color:#000000;
}

.new-blog-page-type .bx-wrapper .bx-controls-direction {
    text-align:right;
    margin-top: 50px;
}

.new-blog-page-type .bx-wrapper .bx-controls-direction a.disabled {
    opacity: 0.2;
}

.new-blog-page-type .bx-wrapper .bx-controls-direction a {
    position: relative;
    color: inherit;
    top: auto;
    margin-top: 0;
    padding: 0;
    font-size: 16px;
    text-shadow: none;
    margin-left: 20px;
}

.new-blog-page-type .bx-wrapper .bx-controls-direction a i {
    font-weight: 100;
    text-shadow: none;
    font-size: 35px;
    color:#000000;
    border: 1px solid #000000;
    width: 40px;
    height: 40px;
    text-align: center;
    display: inline-block !important;
}

.new-blog-page-type .bx-wrapper .bx-controls-direction a.bx-prev {
    width: 40px;
    height: 40px;
    display: inline-block;
}

.new-blog-page-type .bx-wrapper .bx-controls-direction a.bx-next {
    width: 40px;
    height: 40px;
    display: inline-block;
    right:auto;
}

.new-blog-page-type .article-category {
    margin-bottom: 5px;
}

.new-blog-page-type .article-category span {
    font-size:16px;
    color:#000000;
    font-weight: 400;
}

.blog-search-container #search-input-blog {
    height: 56px;
    border-radius: 10px;
    padding: 8px 16px 8px 44px;
    margin-top: 80px;
    margin-bottom:0;
}

.blog-search-container .blog-search-button {
    position: absolute;
    top: 20px;
    padding: 0;
    left: 16px;
}

.new-blog-page-type .ps-pagination-bar {
    margin-top:50px;
}

.new-blog-page-type .ps-pagination-bar p {
    display:table;
    margin:auto;
}

.new-blog-page-type .ps-pagination-bar span {
    font-size:16px;
    background:#E7E5E4;
    border:1px solid #E7E5E4;
    font-weight:400;
    margin-left: 5px;
     margin-bottom: 10px;
    display:inline-block;
}

.new-blog-page-type .ps-pagination-bar span a {
    display:block;
    padding: 12px;
}

.new-blog-page-type .ps-pagination-bar span.current {
    padding: 12px;
}

.new-blog-page-type .ps-pagination-bar span.current,
.new-blog-page-type .ps-pagination-bar span.next,
.new-blog-page-type .ps-pagination-bar span.prev {
    border:1px solid #215D6E;
    font-weight:600;
    background:transparent;
}

.new-blog-page-type .article-title {
    color:#000000;
    margin-top:10px;
    margin-bottom: 20px;
    font-size: 2.8em;
    font-weight: 500;
}

.new-blog-page-type .blog-author ul {
    list-style:none;
    margin-left:0;
}

.new-blog-page-type.article-page-type .article-body {
    margin-top:70px;
}

.new-blog-page-type .ps-blog-recent-posts {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-left: 0;
    justify-content: flex-start;
}

.new-blog-page-type .ps-blog-recent-posts .article-title {
    font-size:1.2em;
    margin-bottom:15px;
}

.new-blog-page-type  .recent-posts-text {
    font-weight:600;
}

.new-blog-page-type .blog-sidebar-widget .ps-article-img img {
    margin-bottom:10px;
}

.new-blog-page-type h1,
.new-blog-page-type h2,
.new-blog-page-type h3,
.new-blog-page-type h4 {
    line-height:1.5;
    font-weight: 500;
}

@media screen and (max-width: 1023px) {
    .theme-academy .header-buttons {
        padding-top:0;
    }
    header button.openMenu:hover,
    header button.openMenu:focus,
    header button.openMenu:active {
        box-shadow:none;
    }
    body {
        font-size:16px;
    }
    .new-blog-page-type .small-block-grid-1 {
        grid-template-columns: 1fr;
    }
    .articles-filter-container {
        margin-top:80px;
    }
    .new-blog-page-type .ps-blog-recent-posts {
         grid-template-columns: 1fr;
         width:100%;
         margin:auto;
    }
    .articles-filter-container .mobile-category-title {
        border:1px solid #CCCCCC;
    }
    #contact-us-form-container form {
        position:relative;
        top:auto;
        margin-bottom: 40px;
        padding-left:10px;
        padding-right:10px;
    }
    .main-banner-sec.theme-2 form .button,
    .main-banner-sec.theme-2 .button {
        font-size:1em;
        padding-right:24px;
        padding-left:24px;
        line-height: 1.5;
    }
    button, .button {
        line-height:1.5;
    }
    .banner-main-heading {
        font-size: 2.1em;
    }
    .is-overlay-bg {
        opacity:1;
    }
    h1, .h1 {
        font-size: 1.7em;
        line-height: 1.2em;
        margin: 0.67em 0;
    }
    .new-blog-page-type .article-title {
        font-size: 2em;
    }
    .new-blog-page-type .featured-articles h2,h2, .h2 {
        font-size: 1.5em;
        line-height: 1.4em;
    }
    
    h3, .h3 {
      font-size: 1.3em;
      line-height: 1.4em;
    }
    
    h4, .h4 {
        font-size: 1.2em;
        line-height: 1.5em;
    }
    
    h5, .h5 {
      font-size: 1em;
        line-height: 1.5em;
    }
    
    h6, .h6 {
      font-size: 1em;
      line-height: 1.4em;
    }
    p{
        font-size:1.2em;
    }
    footer {
        margin-top:32px;
    }
    .mobile-footer-menu {
        display:block;
    }
    .blog-search-container #search-input-blog,
    .articles-filter-container,
    .new-blog-page-type .blog-articles, 
    .new-blog-page-type .blog-sidebar {
        margin-top: 40px;
    }
}

.img-shadow {
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.4);
}

.size-30 {
    font-size:30px;
}

.is-section-guide {
    background:#317E93;
}

.is-section-guide h2 {
    color:#FFFFFF;
}

.is-section-guide p.lead {
    color:#FFFFFF;
}
.is-section-guide a.button {
    background:#FFFFFF;
    color:#317E93;
}

/* || FOOTER || */
.is-footer, .is-wrapper div.is-section.is-footer {
    background-color: #215D6E;
    color: #FFFFFF;
    clear: both;
}

footer a:not(.button) {
    color: #FFFFFF;
}

.is-footer .is-container {
    padding: 0px;
}

footer a:not(.button):hover,
footer a:not(.button):active,
footer a:not(.button):focus {
    color: #FFFFFF;
}

.user-logged-in footer {
    margin-top:30px;
    float:left;
    width:100%;
    clear:both;
}


footer .border-bottom, 
footer hr {
    border-bottom:1px solid #CCCCCC;
}

.social-media-icons a {
    font-size: 3em;
    color: #FFFFFF;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6{
     color: #FFFFFF;
}

.slick-dots li {
    border: 1px solid #215D6E;
}

.slick-dots li.slick-active, .slick-dots li:hover {
    background: #215D6E;
}


.back-to-top-button {
    bottom:10px;
    right:10px;
    z-index:9;
}


/* || OFFCANVAS - SIDENAV || */
.off-canvas-content.is-open-right.has-transition-push{
    -webkit-transform: translateX(-60%);
    -ms-transform: translateX(-60%);
    transform: translateX(-60%);
}
 
.is-open.position-right {
    width: 60%;
}

@media screen and (min-width: 63em) and (max-width: 64em) {
    footer button:not(.button-group button) , footer .button:not(.button-group button),
    header button:not(.button-group button) , header .button:not(.button-group button){
        margin-bottom:2px;
    }
    .column-container.newsletter .button {
        padding-left: 1em;
        padding-right: 1em;
    }
}

@media screen and (min-width:  64em) {
    .off-canvas-content.is-open-right.has-transition-push{
        -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
        transform: translateX(0%);
    }
    
    .is-open.position-right {
        width: 0%;
    }
    
    /* new header 7 css */
     .off-canvas-content.is-open-right.has-transition-push.mobile-menu-for-desktop{
        -webkit-transform: translateX(-40%);
        -ms-transform: translateX(-40%);
        transform: translateX(-40%);
    }
    
    .is-open.position-right.mobile-menu-for-desktop {
        width:40%;
    }
    
    .js-off-canvas-overlay.is-overlay-fixed {
        display: none !important;
    }
       .text-md-left {
        text-align:left;
    }
    
    .gallery-figcaption {
        padding-top: 37%;
        text-align: center;
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.56);
        color:white;
        display: none;
        cursor: pointer;
    }
    
    .testimonial-container {
        min-height: 450px;
    }
    
    .dark-bg-section input[type="text"] {
        width:25%;
        margin-right:10px;
    }
}

aside.sidenav .featured-section {
    background-color:#317E93;
    color:#FFFFFF;
}

aside.sidenav .featured-section i {
    color:#FFFFFF;
}

aside.sidenav input[type=search] {
    color:#262626;
    background:#FFFFFF;
    padding-right: 24px;
}

aside.sidenav input[type=search]::placeholder {
    color:#262626;
    opacity:0.6;
}

aside.sidenav button[type=submit] {
    position: absolute;
    top: 30%;
    right: 5px;
    outline: none !important;
    background: transparent;
    border: 0px solid;
    box-shadow: none;
    padding:0;
}

aside.sidenav i.fas.fa-search {
    color:#262626
}


aside.sidenav .menu.simple {
    background:#000000;
    color: #FFFFFF;
}

aside.sidenav .menu.simple a {
    color: #FFFFFF;
}



aside.sidenav .ps-cart-text-container {
    color:#317E93;
    background:#FFFFFF;
    height: 22px;
    width: 23px;
    line-height: 24px;
    text-align: center;
    vertical-align: middle;
    border-radius: 50% 50% 50% 50%;
    display: inline-block;
    margin-left: 5px;
}

aside.sidenav a:hover .ps-cart-text-container {
    background:#FFFFFF;
}

aside.sidenav .is-accordion-submenu {
    margin-left: 0;
}

aside.sidenav .menu.accordion-menu li {
    border-bottom: 1px solid #FFFFFF;
}

aside.sidenav .menu.accordion-menu li:last-child {
    border-bottom: 0px solid;
}

aside.sidenav .menu.accordion-menu li a {
    background:#000000;
    color: #FFFFFF;
}

aside.sidenav .menu.accordion-menu .active > a {
    background:#000000;
    color: #FFFFFF;
}

aside.sidenav .menu.accordion-menu li.has-submenu a::after {
    border-color: #FFFFFF transparent transparent !important;
}

aside.sidenav .menu.accordion-menu > li.has-submenu.active > a::after {
    border-color: #FFFFFF transparent transparent !important;
}

@media screen and (max-width: 63.9375em) {

  .is-static.is-footer {
      min-height: 0;
  }
  
  footer .border-bottom-small {
      border-bottom:1px solid #CCCCCC;
    }
    
    footer .border-top-small {
      border-top:1px solid #CCCCCC;
    }

    header .border-top-small  {
        border-top:1px solid #CCCCCC;
    }
    
    .step.social-icon {
        height:35px;
        width:35px;
    }
    
    /* New header layouts */
    header .sidenav-container a:not(.button),
    header .sidenav-container a:not(.button):active,
    header .sidenav-container a:not(.button):active i,
    header .sidenav-container a:not(.button):hover .icon, 
    header .sidenav-container a:not(.button):hover i{
        color:inherit;
    }
   
    header .sidenav-container a:not(.button) i {
        line-height:25px;
    }
    
    .absolute-for-mobile {
        position:absolute;
    }
    
    header .mobile-head-border-section  {
        border-top:1px solid #CCCCCC;
        border-bottom:1px solid #CCCCCC;
        line-height: 60px;
    }
    
    header .mobile-head-border-section .mobile-border-right {
        border-right:1px solid #CCCCCC;
    }
    
    header .mobile-contact-section .head-icons {
        background: #FFFFFF;
        color:#317E93;
        border-radius: 50px;
        height: 40px;
        width: 40px;
        line-height: 40px;
        padding-left: 0;
        padding-right: 0;
        display: inline-block;
    }
    
    header .mobile-contact-section .head-icons i {
        color:#317E93;
    }
    
    .mobile-contact-buttom-section {
        line-height: 60px;
        text-align:center;
    }
    
    .mobile-contact-buttom-section .button{
        margin-bottom:0;
    }
    
    .new-header .logo-container {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        width: auto;
        padding-left: 40px;
    }
    
    .new-header-2 .mobile-contact-buttom-section {
        border-top:1px solid #CCCCCC;
    }
    
     .new-header-2 .mobile-contact-buttom-section .button {
         margin-bottom:20px;
         margin-top:20px;
     }

    .new-header-3 .mobile-contact-number-section,
    .new-header-3 .mobile-contact-button-section,
    .new-header-4 .mobile-contact-number-section,
    .new-header-4 .mobile-contact-button-section,
    .new-header-5 .mobile-contact-number-section,
    .new-header-5 .mobile-contact-button-section,
    .new-header-6 .mobile-contact-button-section {
        border-top:1px solid #CCCCCC;
        line-height:50px;
        text-align:center;
    }
    
    .new-header-3 .mobile-contact-button-section .button,
    .new-header-5 .mobile-contact-button-section .button,
    .new-header-6 .mobile-contact-button-section .button {
        margin-top: 10px;
        margin-bottom: 10px;
    }
    
    .new-header-3 .logo-container,
    .new-header-4 .logo-container,
    .new-header-5 .logo-container,
    .new-header-6 .logo-container {
        display:block;
        min-height:0;
    }
    
    .new-header-6 .mobile-contact-button-section {
        justify-content: center;
    }
    
    .is-footer-8 {
        min-height:0;
    }
    
    /* new footer layouts */
        .footer-text, 
        .footer-social-media,
        .footer-media-box {
            width: 270px;
            margin: auto;
            text-align: center;
        }
        
        .contact-us-column {
            text-align:center;
        }
        
        .new-footer-1 .footer-social-media .menu.align-left,
        .new-footer-2 .footer-social-media .menu.align-left {
            -webkit-box-pack: center;
            -webkit-justify-content: center;
            -ms-flex-pack: center;
            justify-content: center;
        }
        
        .new-footer-1 .footer-social-media .menu.align-left a, 
        .new-footer-1 .footer-social-media .menu.align-left .button,
        .new-footer-2 .footer-social-media .menu.align-left a, 
        .new-footer-2 .footer-social-media .menu.align-left .button{
            padding-left:0.2em !important;
            padding-right:0.2em !important;
        }
        
        .new-footer-1 .footer-menu-container .dropdown.menu,
        .new-footer-3 .footer-menu-container .dropdown.menu{
            display:block;
        }
        
        .new-footer-2 .footer-links,
        .mailing-list-button {
            text-align:center;
        }
        
        .small-text-center {
            text-align:center;
        }
        
        .menu.small-align-center {
            -webkit-box-pack: center;
            -webkit-justify-content: center;
            -ms-flex-pack: center;
            justify-content: center;
        }
        
        .new-footer-4 .copyright-container, .new-footer-4 .subscription-button-container {
            border-bottom:1px solid #CCCCCC;
        }
       
        
    /* new footer layouts */
    
    header .sticky-bg-color {
        position:static;
    }

    header .sticky {
        top:0 !important;
    }
    
    .justify-small-center {
        justify-content: center;
    }
    
    .padding-top-sm-3 {
        padding-top:3rem;   
    }
    
    .padding-bottom-sm-3 {
        padding-bottom:3rem;   
    }
    
    .padding-top-sm-2 {
        padding-top:2rem;   
    }
    
    .padding-bottom-sm-2 {
        padding-bottom:2rem;   
    }
    
     .padding-top-sm-1 {
        padding-top:1rem;   
    }
    
    .padding-bottom-sm-1 {
        padding-bottom:1rem;   
    }

    .padding-top-sm-0 {
        padding-top:0!important;
    }
    
    .padding-bottom-sm-0 {
        padding-bottom:0!important;
    }
    
    .margin-top-sm-0{
        margin-top:0 !important;
    }
    
    .margin-bottom-sm-0{
        margin-bottom:0;
    }
    
     .margin-top-sm-2{
        margin-top:2rem;
    }
    
    .margin-bottom-sm-2{
        margin-bottom:2rem;
    }
    
    .margin-top-sm-1{
        margin-top:1rem;
    }
    
    .margin-bottom-sm-1{
        margin-bottom:1rem;
    }
    
    .padding-bottom-sm-0{
        padding-bottom:0 !important;
    }
    
    .copyright {
        font-size: 100%;
    }
    
    .small-block {
        display:block;
    }
}




.ecommerce-product-slider .orbit-previous,
.ecommerce-product-slider .orbit-next {
  color: #cacaca;
}

.ecommerce-product-slider .orbit-bullets button {
  height: 0.65rem;
  width: 0.65rem;
}

.ecommerce-product-slider .product-card {
  background-color: #fefefe;
  border: 1px solid #e6e6e6;
  padding: 1rem;
  margin-bottom: 1.5rem;
}

.ecommerce-product-slider .product-card-thumbnail {
  display: block;
  position: relative;
}

.ecommerce-product-slider .product-card-title {
  font-family: 'Open sans', sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.45rem;
  margin-top: 1rem;
  margin-bottom: 0;
}

.ecommerce-product-slider .product-card-desc {
  color: #8a8a8a;
  display: block;
  font-family: 'Open sans', sans-serif;
  font-size: 0.85rem;
}

.ecommerce-product-slider .product-card-price {
  color: #3e3e3e;
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 600;
  margin-top: 0.8rem;
}

.ecommerce-product-slider .product-card-sale {
  color: #cacaca;
  display: inline-block;
  font-size: 0.85rem;
  margin-left: 0.3rem;
  text-decoration: line-through;
}

.ecommerce-product-slider .product-card-colors {
  display: block;
  margin-top: 0.8rem;
}

.ecommerce-product-slider .product-card-color-option {
  display: inline-block;
  height: 25px;
  width: 25px;
}

header button.openMenu {
    background: initial;
    color: initial;
}



/********main css******/





body ,
body p {
  font-family:"Cormorant Garamond", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 1.625; 
  letter-spacing: 0.32px; 
}

/*header*/

header .dropdown.menu li ul.submenu li a:not(.button) {
    color: #FFFFFF;
    background: #14353E; 
    line-height: 1.6;  
    padding: 12px 24px;  
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.1rem;   
    letter-spacing: 0.5px;
    transition: all 0.25s ease-in-out;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); 
    display: block;
}

header .dropdown.menu li ul.submenu li a:not(.button):hover {
    color: #FFFFFF;
    background: linear-gradient(180deg, #317E93 0%, #215D6E 100%); 
    padding-left: 28px; 
}

header .dropdown.menu li ul.submenu li:last-child a:not(.button) {
    border-bottom: none;
}


.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
    right: 0;
    left: auto;
    top: 50px;
    background: #14353E; 
    width: max-content;
    min-width: 240px;
    border: none;
    border-top: 3px solid #317E93; 
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25), 
                0 2px 4px rgba(0, 0, 0, 0.15);
    border-radius: 0 0 6px 6px;
    overflow: hidden;
        animation: submenuFadeIn 0.25s cubic-bezier(0.16, 1, 0.3, 1);
        max-height: 295px;     
    overflow-y: auto;      
    overflow-x: hidden;    
 
}

.dropdown-submenu-accent-text {
    font-family: "Great Vibes", cursive;
    font-size: 1.4rem;
    color: #317E93;
    text-transform: none; 
}
@keyframes submenuFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

header .dropdown.menu li ul.submenu li.is-active a:not(.button),
header .dropdown.menu li ul.submenu li.active a:not(.button) {
    color: #FFFFFF !important;
    background: linear-gradient(180deg, #317E93 0%, #215D6E 100%) !important;
    font-weight: 700;
    padding-left: 28px;
    box-shadow: inset 4px 0 0 0 #FFFFFF; 
}

header .dropdown.menu li ul.submenu li.is-active a:not(.button):hover,
header .dropdown.menu li ul.submenu li.active a:not(.button):hover {
    background: linear-gradient(180deg, #317E93 0%, #215D6E 100%) !important;
    opacity: 0.95; 
}
/*header*/

/*headings*/
.banner-main-heading {
    
    font-family:"Cormorant Garamond", serif;
    font-weight: 800; 
    font-size:40px;
    line-height: 1.2;
    letter-spacing: 0.01em; 
    color:#FFF;
    margin-top: 0;
  margin-bottom: 10px;
}   
 .banner-main-heading.article-blog-main-heading{  
    font-family:"Cormorant Garamond", serif;
    font-weight: 800; 
    font-size:40px;
    line-height: 1.2;
    letter-spacing: 0.01em; 
    color:#000000;
    margin-top: 0;
  margin-bottom: 10px;     
  }
    
.section-main-heading ,
.new-blog-page-type .blog-ul h2, 
.new-blog-page-type .blog-ul h2 a{
   font-family:"Great Vibes", cursive;
    font-weight:400; 
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: 0.01em; 
    color: #215D6E;
    margin-top: 0;
  margin-bottom: 10px;

}

.article-body h2 ,
.article-body h3 ,
.ps-blog-recent-posts h2 ,
ps-blog-recent-posts .section-main-heading ,
.section-sub-heading {
    font-family:"Great Vibes", cursive;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.3; 
    letter-spacing: 0em; 
}
/*headings*/


/*button*/

.button {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 700;                 
    font-size: 15px !important;       
    line-height: 1.5 !important; 
    letter-spacing: 1.5px; 
    text-align: center;
    text-transform: uppercase;
    display: inline-block;
    padding: 12px 32px !important;    
    cursor: pointer;
    background: #215D6E; 
    color: #FFFFFF;
    border: none;
    border-radius: 50px !important;              
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), 
                box-shadow 0.3s cubic-bezier(0.25, 1, 0.5, 1), 
                background 0.3s ease;
    box-shadow: 0 4px 10px rgba(20, 53, 62, 0.15);
}

.menu .button:hover,
.menu .button:focus,
.button:hover,
.button:focus {
    color: #FFFFFF;
    background: linear-gradient(180deg, #317E93 0%, #215D6E 100%);
    transform: translateY(-4px);
    box-shadow: 0 10px 22px rgba(20, 53, 62, 0.35);
    border-radius: 50px;
    opacity: 1;
}

.menu .button:active,
.button:active {
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(20, 53, 62, 0.25);
}

/*button*/

/*bullet-list*/

ul.list.bullet-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px; 
}

ul.list.bullet-list li {
    position: relative;
    padding: 9px 0 9px 38px; 
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.15rem; 
    color: #4A5568; 
    line-height: 1.5;
    display: block;
    transform: translateX(0);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); 
}

ul.list.bullet-list li:before {
    content: "✓"; 
    font-family: sans-serif;
    font-size: 11px;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 9px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #317E93; 
    color: #FFF; 
    line-height: 1;
    transition: background 0.3s ease, color 0.3s ease;
}

ul.list.bullet-list li:hover { 
    color: #14353E !important; 
    font-weight: 600 !important;
    transform: translateX(6px); 
}

ul.list.bullet-list li:hover:before { 
    background: linear-gradient(180deg, #317E93 0%, #215D6E 100%) !important; 
    color: #FFFFFF !important; 
    box-shadow: 0 4px 10px rgba(49, 126, 147, 0.2) !important; 
}

/*bullet-list*/


/*banner*/

.user-logged-out .inner-content-div {
    position: relative;
    overflow: hidden;
    max-width: 510px;             
    margin-left: 0;
    margin-right: auto;
    padding: 18px !important;    
    background: linear-gradient(135deg, rgba(20, 53, 62, 0.72) 0%, rgba(0, 0, 0, 0.82) 100%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(120%);
    backdrop-filter: blur(16px) saturate(120%);
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 24px !important; 
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.35),
                0 4px 12px rgba(49, 126, 147, 0.15);
    color: #FFFFFF !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    text-align: left;
}


.user-logged-out .inner-content-div::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;                 
    background: linear-gradient(180deg, #317E93 0%, #215D6E 100%);
    border-radius: 24px 0 0 24px;
}

.user-logged-out .inner-content-div::after {
    content: "";
    position: absolute;
    top: 24px;
    right: 24px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #317E93;   
    box-shadow: 0 0 0 6px rgba(49, 126, 147, 0.25),
                0 0 20px rgba(49, 126, 147, 0.6);
}

.in-banner-desc {
    background: transparent !important; 
    padding: 40px 50px 40px 60px !important; 
    border-radius: 0 !important;
}

.in-banner-desc h1, 
.in-banner-desc h2,
.in-banner-desc .banner-title {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    letter-spacing: 0.5px !important;
    line-height: 1.25 !important;
    margin-bottom: 15px !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.in-banner-desc p,
.in-banner-desc .banner-subtitle {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 1.35rem !important; 
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.9) !important;
    line-height: 1.6 !important;
    letter-spacing: 0.2px;
}
/************ Blog Banner ***************/
.in-banner-desc {
    position: relative;
    overflow: hidden;
    max-width: 510px;
    margin-left: 0;
    margin-right: auto;
    padding: 18px !important;
    background: linear-gradient(135deg, rgba(20, 53, 62, 0.72) 0%, rgba(0, 0, 0, 0.82) 100%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(120%);
    backdrop-filter: blur(16px) saturate(120%);
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 24px !important;
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.35), 0 4px 12px rgba(49, 126, 147, 0.15);
    color: #FFFFFF !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    text-align: left;
    padding: 40px 50px 40px 60px !important;
    border-radius: 0 !important;
}
.in-banner-desc::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: linear-gradient(180deg, #317E93 0%, #215D6E 100%);
    border-radius: 24px 0 0 24px;
}
.in-banner-desc::after {
    content: "";
    position: absolute;
    top: 24px;
    right: 24px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #317E93;
    box-shadow: 0 0 0 6px rgba(49, 126, 147, 0.25), 0 0 20px rgba(49, 126, 147, 0.6);
}
/*banner*/

/*********** footer ***********/

#footer {
    background-color: #14353E; 
    color: #FFFFFF;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.1rem; 
    letter-spacing: 0.5px;
    position: relative;
    border-top: 4px solid #215D6E; 
}

#footer .padding-top-2 { padding-top: 2rem !important; }
#footer .padding-bottom-2 { padding-bottom: 2rem !important; }
#footer .grid-padding-y { padding-top: 0 !important; padding-bottom: 0 !important; }


ul.no-bullet.menu.size-30.align-left.foot-menu {
    display: flex !important;
    font-size: 15px;
    align-items: flex-start; 
    justify-content: flex-start;
    flex-direction: column;
    margin: 0 !important;   
    padding: 0 !important;
    gap: 6px !important;    
}

#footer ul.foot-menu {
    display: flex;
    flex-direction: column;
    gap: 6px !important;
}

#footer ul.foot-menu li {
    padding: 0 !important;
    margin: 0 !important;
}

#footer ul.foot-menu li a {
    display: inline-block;
    padding: 3px 0 !important; 
    color: #ffffff;
    line-height: 1.4 !important;
    position: relative !important;
    padding-left: 0;
    transition: all 0.25s ease-in-out;
}

#footer ul.foot-menu li a::before {
    content: "\2192";            
    position: absolute;
    left: -15px;                 
    top: 50%;
    transform: translateY(-50%);  
    opacity: 0;                  
    color: #ffffff;               
    font-size: 1.1rem;
    transition: all 0.25s ease-in-out;
}

#footer ul.foot-menu li a:hover {
    color: #ffffff !important;
    padding-left: 20px !important; 
}

#footer ul.foot-menu li a:hover::before {
    opacity: 1;
    left: 0;                     
}

#footer ul.foot-menu li.is-active a,
#footer ul.foot-menu li.active a,
#footer .menu.foot-menu .active > a {
    color: #ffffff !important; 
    font-weight: 700;          
    background: transparent !important; 
    padding-left: 20px !important; 
}

#footer ul.foot-menu li.is-active a::before,
#footer ul.foot-menu li.active a::before,
#footer .menu.foot-menu .active > a::before {
    content: "\2192";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.1rem;
    color: #317E93;
    font-weight: 900;
    opacity: 1 !important;
    display: block !important;
}

#footer p.icon-div {
    color: rgba(255, 255, 255, 0.85);
    transition: all 0.25s ease-in-out;
    line-height: 1.4 !important;
    margin-bottom: 0.8rem !important; 
}

#footer p.icon-div a,
#footer p.icon-div i {
    color: #ffffff;
    transition: all 0.25s ease-in-out;
}

#footer p.icon-div i.icon {
    color: #317E93; 
    margin-right: 12px;
    font-size: 1rem;
    width: 20px;
    text-align: center;
}

#footer p.icon-div a:hover {
    color: #317E93; 
    padding-left: 4px !important; 
}

#footer h3.section-sub-heading {
    font-family: "Great Vibes", cursive; 
    font-size: 2.2rem;
    color: #ffffff; 
    text-transform: none; 
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important; /* Controlled gap under headings */
    font-weight: normal;
}

#footer .logo-container-footer img.footer-logo {
    max-height: 180px !important; 
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.15));
}

#footer .text-logo {
    font-family: "Cormorant Garamond", serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: 2px;
}

#footer hr {
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.08); 
    margin: 0;
}

#footer .cell.hide-for-large hr {
    margin: 1.5rem 0;
    border-top: 1px solid rgba(49, 126, 147, 0.15);
}

#footer .copyright {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.5);
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

#footer .copyright a {
    color: rgba(255, 255, 255, 0.75);
    font-weight: 600;
    transition: color 0.25s ease;
}

#footer .copyright a:hover {
    color: #317E93;
}

i.fas.fa-arrow-right {
    background: #14353e;
    color: #FFF;
}
i.fas.fa-arrow-right:hover {
    background-color: #215D6E; /* Darker Brand Shading */
    box-shadow: 0 4px 12px rgba(49, 126, 147, 0.25);
}

i.fas.fa-arrow-right:hover .fas.fa-arrow-right {
    transform: scale(1.1) translateX(2px);
}
p.testimonial-writters-name {
    font-size: 19px;
    font-weight: 700;
    color: #205d6d;
}
.home-testimonial-inner {
    background: #fff;
    border-radius: 16px;
    padding: 30px;
    transition: all .3s;
}
.slick-dots {
    bottom: 0px;
}
.home-testimonial-slider {
    border: 1px solid #ccfbf1;
}
.cruise-logos-slider button.slick-arrow {
    background: transparent !important;
    border: 5px solid #215D6E;
    border-radius: 50px 0 0 !important;
    border-top-width: 0;
    border-left-width: 0;
    width: 25px;
    box-shadow: none !important;
    height: 25px;
}
.cruise-logos-slider .slick-prev {
    transform: translateY(-50%) rotate(132deg);
    left: -30px;
}
.cruise-logos-slider .slick-next {
    transform: translateY(-50%) rotate(-43deg);
    right: -30px;
}


table.commitments-table th {
    font-family: "Cormorant Garamond", serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #215D6E;
    margin-top: 0;
    margin-bottom: 10px;
}

table.commitments-table td {
    font-family: "Cormorant Garamond", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    line-height: 1.625;
    letter-spacing: 0.32px;
}

@media screen and (max-width: 1023.5px) {
    #footer {
        text-align: center !important;
    }
    #footer p.icon-div {
        justify-content: center; 
    }
    #footer ul.foot-menu {
        align-items: center;
        gap: 8px !important;
    }
    #footer .padding-top-2 { padding-top: 2.5rem !important; }
    #footer .padding-bottom-2 { padding-bottom: 2.5rem !important; }
}
/******** footer ***********/

/*mobile*/

aside.sidenav {
    background: #14353E; 
}

aside.sidenav .menu.accordion-menu li a {
    background: #14353E; 
    color: #FFFFFF;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.15rem; 
    letter-spacing: 0.5px;
    padding: 14px 20px; 
    transition: all 0.25s ease-in-out;
}

aside.sidenav .menu.accordion-menu li a:hover,
aside.sidenav .menu.accordion-menu li a:focus {
    background: #215D6E; 
    color: #FFFFFF;
}


aside.sidenav .menu.accordion-menu .active > a {
    background: linear-gradient(90deg, #317E93 0%, #215D6E 100%) !important;
    color: #FFFFFF;
    font-weight: 700;
    border-bottom: none; 
    box-shadow: inset 4px 0 0 #FFFFFF; 
}

aside.sidenav .menu.accordion-menu > li.has-submenu > a::after {
    border-color: #317E93 transparent transparent !important; 
    transition: transform 0.25s ease;
}

aside.sidenav .menu.accordion-menu > li.has-submenu.active > a::after {
    border-color: #FFFFFF transparent transparent !important; 
}

aside.sidenav .menu.accordion-menu li.is-submenu-item.is-accordion-submenu-item a {
    background: #000000; 
    padding-left: 30px; 
    font-size: 1.05rem;
}

aside.sidenav .menu.accordion-menu li.is-submenu-item.is-accordion-submenu-item span {
    display: inline-block;
    line-height: 1.7;
    padding-left: 10px !important;
    color: rgba(255, 255, 255, 0.9);
}

.is-overlay-bg {
    background-color: rgba(0, 0, 0, 0.65) !important;
    -webkit-backdrop-filter: blur(4px); 
    backdrop-filter: blur(4px);
    opacity: 1;
    transition: opacity 0.3s ease;
}
    
/*mobile*/
/********* newsletter **********/
.newsletter{
    padding:10px 0px;
    position:relative;
    overflow:hidden;
}

.newsletter-container{
    max-width:800px;
    margin:auto;
    padding:20px 40px;
    text-align:center;
    position:relative;
    z-index:2;
    background:linear-gradient(180deg,#317E93 0%,#215D6E 100%);
    backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.15);
    border-radius:24px;
}

.newsletter h2{
    margin:0 0 20px;
    font:400 3.5rem "Great Vibes",cursive;
    color:#fff;
}

.newsletter p{
    max-width:620px;
    margin:0 auto 35px;
    color:rgba(255,255,255,.92);
    font-size:1.05rem;
    line-height:1.8;
}


@media (max-width:768px){
    .newsletter{ padding:70px 20px; }

    .newsletter-container{ padding:50px 30px; }

    .newsletter h2{ font-size:2.8rem; }

    .newsletter-features{
        flex-direction:column;
        gap:12px;
    }

}
/************ Newsletter ********/
/*********** Service area line *********/
.sa-section{ padding:80px 20px; background:#fff; }

.sa-wrap{ max-width:1100px; margin:auto; text-align:center; }

.sa-wrap h2{
    margin:0 0 15px;
    font:400 3rem "Great Vibes",cursive;
    color:#215D6E;
}

.sa-line{
    max-width:900px;
    margin:0 auto 40px;
    color:#555;
    font-size:1.05rem;
    line-height:1.9;
}

.sa-line strong{
    color:#14353E;
    font-weight:600;
}

.sa-list{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;
}

.sa-list a{
    padding:10px 22px;
       border: 1px solid rgb(33 93 110);
    border-radius:40px;
    color:#215D6E;
    text-decoration:none;
    transition:.3s;
    font-weight:800;
        background:linear-gradient(180deg,#317E93 0%,#215D6E 100%);
    color:#fff;
    border-color:#215D6E;
}

.sa-list a:hover{
    background:#ffffff;
    color:#215D6E;
    border-color:#215D6E;
}
.newsletter-container a.button
 {
    background: #ffffff;
    color: #215D6E;
}
/*********** Service area line *********/

/***********  FAQ ***************/
/* --- LAYOUT CONTAINER STRUCT --- */
.ecs-faq-section{padding:60px 20px;background-color:#14353E;color:#FFF;font-family:"Cormorant Garamond",serif;}
.ecs-faq-container{max-width:900px;margin:0 auto;}
.ecs-faq-header{text-align:center;margin-bottom:45px;}
.ecs-faq-subtitle{display:block;font-family:"Great Vibes",cursive;font-size:2.4rem;color:#317E93;line-height:1;margin-bottom:8px;}
.ecs-faq-title{font-size:2.6rem;font-weight:700;letter-spacing:0.5px;color:#FFF;margin:0;}
.ecs-faq-wrapper{display:flex;flex-direction:column;gap:16px;}

/* --- ACCORDION CORE LOGIC --- */
.ecs-faq-item{position:relative;background:rgba(255,255,255,0.03);border:1px solid rgba(49,126,147,0.15);border-radius:12px;overflow:hidden;transition:all .3s ease;}
.ecs-faq-toggle{position:absolute;opacity:0;z-index:-1;}
.ecs-faq-trigger{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;cursor:pointer;font-weight:600;font-size:1.25rem;color:#FFF;user-select:none;margin:0;transition:background .25s;}
.ecs-faq-trigger:hover{background:rgba(49,126,147,0.08);color:#317E93;}
.ecs-faq-arrow{font-size:1rem;color:#317E93;transition:transform .3s ease;}

/* --- SLIDE OPEN STYLING TRANSITION --- */
.ecs-faq-content{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(0.16,1,0.3,1);background:rgba(0,0,0,0.15);}
.ecs-faq-content p{padding:0 28px 24px;margin:0;font-size:1.15rem;line-height:1.6;color:rgba(255,255,255,0.85);font-weight:400;}

/* --- ACTIVE STATE TRIGGERS --- */
.ecs-faq-toggle:checked ~ .ecs-faq-trigger{background:rgba(49,126,147,0.12);color:#317E93;border-bottom:1px solid rgba(49,126,147,0.08);}
.ecs-faq-toggle:checked ~ .ecs-faq-trigger .ecs-faq-arrow{transform:rotate(180deg);color:#FFF;}
.ecs-faq-toggle:checked ~ .ecs-faq-content{max-height:230px;} /* Safely lets content expand smoothly */

/* --- RESPONSIVE PATCH --- */
@media screen and (max-width:767px){
  .ecs-faq-title{font-size:2rem;}
  .ecs-faq-trigger{padding:18px 20px;font-size:1.1rem;}
  .ecs-faq-content p{padding:0 20px 20px;font-size:1.05rem;}
}

/********* FAQ *******************/

/********* Contact pg *******************/

.ecs-contact-section {
  padding: 80px 20px;
  background-color: #FFFFFF; /* Pure Clean White Background */
  color: #14353E; /* Signature Dark Teal for rich text contrast */
  font-family: "Cormorant Garamond", serif;
}
.ecs-contact-container {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}

/* --- LIGHT INTRO TYPOGRAPHY --- */
.ecs-mini-tag {
  display: block;
  font-family: "Great Vibes", cursive;
  font-size: 2.4rem;
  color: #317E93; /* Soft Elegant Accent Cyan */
  line-height: 1;
  margin-bottom: 8px;
}
.ecs-main-heading {
  font-size: 2.6rem;
  font-weight: 700;
  margin: 0 0 15px 0;
  color: #14353E;
  line-height: 1.2;
}
.ecs-lead-text {
  font-size: 1.2rem;
  color: #4A5568; /* Subtle corporate soft charcoal text */
  line-height: 1.6;
  margin-bottom: 35px;
}

/* --- PREMIUM LIGHT INFRASTRUCTURE CARDS --- */
.ecs-cards-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ecs-contact-card {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #F7FAFC; /* Premium Soft Cool Gray Base */
  border: 1px solid rgba(49, 126, 147, 0.12);
  padding: 22px 26px;
  border-radius: 16px;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
}
.ecs-contact-card:not(.no-hover):hover {
  background: #FFFFFF;
  border-color: #317E93;
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(20, 53, 62, 0.06); /* Premium elegant micro-shadow */
}
.ecs-icon-box {
  width: 52px;
  height: 52px;
  background: rgba(49, 126, 147, 0.08); /* Transparent Light Teal Drop */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: #317E93;
  flex-shrink: 0;
  transition: all 0.3s;
}
.ecs-contact-card:not(.no-hover):hover .ecs-icon-box {
  background: #317E93;
  color: #FFFFFF;
}
.ecs-card-details h3 {
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 0 4px 0;
  color: #14353E;
}
.ecs-card-details p {
  margin: 0;
  font-size: 1.15rem;
  color: #4A5568;
  line-height: 1.4;
}
.ecs-action-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
  color: #317E93;
  margin-top: 6px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

/* --- LIGHT EMBEDDED MAP VIEWPORT (NO MORE BLACK MAP) --- */
.ecs-map-column {
  height: 100%;
  min-height: 500px;
}
.ecs-map-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(49, 126, 147, 0.15);
  box-shadow: 0 15px 35px rgba(20, 53, 62, 0.08);
}
.ecs-map-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  filter: none !important; /* Invert/Black filter completely removed for beautiful clean original light map */
}

/* --- RESPONSIVE STRUCTURAL OVERRIDES --- */
@media screen and (max-width: 991px) {
  .ecs-contact-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .ecs-map-column {
    min-height: 400px;
  }
}
@media screen and (max-width: 767px) {
  .ecs-main-heading { font-size: 2.1rem; }
  .ecs-contact-section { padding: 50px 16px; }
  .ecs-contact-card { padding: 18px; }
}
/********* Contact pg *******************/

/********** Contact form ***********/

/* --- 1. WEBWARE SPECIFIC FORM CONTAINER (WITH REDUCED WIDTH) --- */
.form-container, 
form:has(.fieldset) {
  background: #F7FAFC!important;
  border: 1px solid rgba(49,126,147,0.12)!important;
  padding: 40px 30px!important;
  border-radius: 20px!important;
  box-shadow: 0 10px 30px rgba(20,53,62,0.04)!important;
  
  /* Width Control Rules */
  max-width: 650px !important; /* Aap is value ko 600px ya apni pasand ke mutabik kam-jyada kar sakte hain */
  margin: 0 auto !important;   /* Form ko screen ke center me rakhne ke liye */
}

/* --- 2. FIELDSET STYLING --- */
.fieldset {
  border: none!important;
  padding: 0!important;
  margin: 0!important;
  background: transparent!important;
}

/* --- 3. DYNAMIC FIELD WRAPPERS --- */
[class*="_wrap"] {
  margin-bottom: 20px!important;
}

/* --- 4. INPUTS, SELECTS & TEXTAREAS GLOBALS --- */
input.input,
input[type="text"],
input[type="email"],
input[type="tel"],
.form-container select {
  width: 100%!important;
  background: #FFFFFF!important;
  border: 1px solid rgb(33 93 110 / 38%) !important;
  border-radius: 10px!important;
  padding: 14px 18px!important;
  font-size: 1.05rem!important;
  color: #14353E!important;
  font-family: "Cormorant Garamond", serif!important;
  transition: all 0.25s ease-in-out!important;
  box-shadow: none!important;
  display: block!important;
}

/* --- 5. FIX: MESSAGE AREA (TEXTAREA) GRAY TO WHITE OVERRIDE --- */
.form-container textarea,
form fieldset + div textarea,
.form-template-3 .ww-form-container-3 textarea {
  width: 100%!important;
  background: #FFFFFF !important;
  border: 1px solid rgb(33 93 110 / 38%) !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  font-family: "Cormorant Garamond", serif !important;
  color: #14353E !important;
  min-height: 120px !important;
  display: block!important;
  transition: all 0.25s ease-in-out!important;
  box-shadow: none!important;
}


.form-container .phone_wrap input.input,
input#mob_phone_phone_number_tel {
  padding-left: 47px !important; 
}
.form-container .iti__flag-container,
.form-container .flag-dropdown {
  z-index: 5 !important;
}

/* --- 7. FOCUS STATES GLOW EFFECT --- */
input.input:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
.form-container textarea:focus {
  border-color: #317E93!important;
  background: #FFFFFF!important;
  outline: none!important;
  box-shadow: 0 0 0 4px rgba(49,126,147,0.08)!important;
}

/* --- 8. LABELS & ERROR OVERRIDES --- */
.fieldset label,
.form-container label {
  font-family: "Cormorant Garamond", serif!important;
  font-size: 1.1rem!important;
  font-weight: 700!important;
  color: #14353E!important;
  margin-bottom: 8px!important;
  display: block!important;
}
span.error {
  font-family: "Cormorant Garamond", serif!important;
  font-size: 0.95rem!important;
  color: #D63031!important;
     display: inline-block;
  margin-top: 5px!important;
}

/* --- 9. SUBMIT BUTTON STRUCTURAL OVERRIDES --- */
.form-container input[type="submit"],
.form-container button[type="submit"] {
  font-family: "Cormorant Garamond", serif!important;
  font-weight: 700!important;
  font-size: 14px!important;
  letter-spacing: 1px!important;
  text-transform: uppercase!important;
  background: #215D6E!important;
  color: #FFFFFF!important;
  border: none!important;
  border-radius: 50px!important;
  padding: 16px 50px!important;
  cursor: pointer!important;
  transition: all 0.3s ease!important;
  box-shadow: 0 6px 16px rgba(33,93,110,0.15)!important;
  display: inline-block !important;
  width: auto !important;
}
.form-container input[type="submit"]:hover {
  background: #317E93!important;
  transform: translateY(-2px)!important;
  box-shadow: 0 10px 24px rgba(49,126,147,0.25)!important;
}

/* --- 10. FIX: DOUBLE-CARD STRUCTURE CLEANUP --- */
.form-container div:has(input[type="submit"]),
form .form-container + div,
form div:last-child {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: 3px !important;
  text-align: left !important;
}

/* --- 11. RESPONSIVE PATCH --- */
@media screen and (max-width: 767px) {
  .form-container { padding: 25px 20px!important; }
  .form-container input[type="submit"] { width: 100%!important; }
}
/*********** Contact form ***********/

/*********** Services landing pg ***********/
.ecs-services-section {
  padding: 80px 20px;
  background-color: #FFFFFF; /* Matches clean white platform architecture */
  font-family: "Cormorant Garamond", serif;
}
.ecs-services-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* --- TYPOGRAPHY HEADER SYSTEM --- */
.ecs-services-header {
  text-align: center;
  margin-bottom: 55px;
}
.ecs-services-subtitle {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: 2.4rem;
  color: #317E93;
  line-height: 1;
  margin-bottom: 8px;
}
.ecs-services-title {
  font-size: 2.6rem;
  font-weight: 700;
  color: #14353E;
  margin: 0;
  letter-spacing: 0.3px;
}

/* --- 3-COLUMN ADAPTIVE GRID --- */
.ecs-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* --- LUXURY CARD SYSTEM --- */
.ecs-service-card {
  background: #F7FAFC; /* Light gray base block matching the form */
  border: 1px solid rgba(49, 126, 147, 0.12);
  border-radius: 20px;
  padding: 35px 30px;
  display: flex;
  flex-direction: column;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 10px 30px rgba(20, 53, 62, 0.02);
}
.ecs-service-card:hover {
  background: #FFFFFF;
  border-color: #317E93;
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(20, 53, 62, 0.06);
}

/* --- ICON SPHERE GENERATION --- */
.ecs-service-icon {
  width: 55px;
  height: 55px;
  background: rgba(49, 126, 147, 0.08);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  color: #317E93;
  margin-bottom: 22px;
  transition: all 0.3s ease;
}
.ecs-service-card:hover .ecs-service-icon {
  background: #317E93;
  color: #FFFFFF;
}

/* --- CARD TEXT CONSTRAINTS --- */
.ecs-service-name {
  font-size: 1.45rem;
  font-weight: 700;
  color: #14353E;
  margin: 0 0 12px 0;
  line-height: 1.3;
  font-family: "Cormorant Garamond", serif;
}
.ecs-service-desc {
  font-size: 1.15rem;
  color: #4A5568;
  line-height: 1.55;
  margin: 0 0 25px 0;
  flex-grow: 1; /* Aligns all buttons across the grid row evenly */
}

/* --- INTERACTIVE ACTION LINES --- */
.ecs-service-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #215D6E;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  transition: color 0.25s;
}
.ecs-service-link i {
  font-size: 0.8rem;
  transition: transform 0.25s;
}
.ecs-service-card:hover .ecs-service-link {
  color: #317E93;
}
.ecs-service-card:hover .ecs-service-link i {
  transform: translateX(4px);
}

/* --- RESPONSIVE OVERRIDES --- */
@media screen and (max-width: 991px) {
  .ecs-services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }
}
@media screen and (max-width: 767px) {
  .ecs-services-section { padding: 50px 16px; }
  .ecs-services-header { margin-bottom: 35px; }
  .ecs-services-title { font-size: 2.1rem; }
  .ecs-services-grid { grid-template-columns: 1fr; gap: 20px; }
  .ecs-service-card { padding: 25px; }
}

/*********** Services landing pg ***********/

/********* Services Inner pg **********/
/* --- PREMIUM CARD WRAPPER --- */
.blue-border {
    background: #FFFFFF !important;
    border: 1px solid rgba(20, 53, 62, 0.08) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.01) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative;
    overflow: hidden;
}

/* --- HOVER STATE FOR CARD --- */
.blue-border:hover {
    background: #F8FAFC !important; /* Premium subtle gray background shift */
    border-color: rgba(49, 126, 147, 0.3) !important; /* Smooth blue-ish tone border */
    transform: translateY(-4px) !important; /* Gentle premium lift */
    box-shadow: 0 12px 30px rgba(20, 53, 62, 0.06) !important; /* Elegant depth shadow */
}

/* --- IMAGE WRAPPER (ZOOM CONTAINER) --- */
.blue-border .img-wrapper {
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #E2E8F0 !important; /* Fallback frame background */
    line-height: 0 !important; /* Extra spacing strip fix */
}

.blue-border .img-wrapper img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* --- HOVER EFFECT ON IMAGE --- */
.blue-border:hover .img-wrapper img {
    transform: scale(1.08) !important; /* Smooth slow-motion zoom */
}

/* --- CONTENT WRAPPER & PARAGRAPH --- */
.blue-border .content-wrapper {
    padding-left: 24px !important;
}

.blue-border .content-wrapper p {
    font-family: Arial, sans-serif !important;
    font-size: 0.96rem !important;
    line-height: 1.55 !important;
    color: #555555 !important;
    margin: 0 !important;
    transition: color 0.3s ease !important;
}

.blue-border:hover .content-wrapper p {
    color: #333333 !important; /* Reading readability enhancement on hover */
}

/* --- MOBILE RESPONSIVE OPTIMIZATION --- */
@media screen and (max-width: 767px) {
    .blue-border {
        padding: 20px !important;
    }
    .blue-border .content-wrapper {
        padding-left: 15px !important;
    }
}
/* --- EXTRA LAYER SYSTEM (BEFORE/AFTER ATTACHMENTS) --- */

.blue-border {
    position: relative !important;
    /* Purani definitions ke saath overflow: hidden zaroor rakhna */
    overflow: hidden !important; 
}

/* 1. Subtle Top Color Border Strip (::before) */
.blue-border::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 0% !important; /* Initial State: Hidden */
    height: 3px !important;
    background: linear-gradient(90deg, #215D6E 0%, #317E93 100%) !important;
    transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    z-index: 2 !important;
}

/* Hover par top strip smooth line draw karegi */
.blue-border:hover::before {
    width: 100% !important;
}

/* 2. Soft Ambient Corner Light Glow (::after) */
.blue-border::after {
    content: "" !important;
    position: absolute !important;
    bottom: -50px !important;
    right: -50px !important;
    width: 120px !important;
    height: 120px !important;
    background: radial-gradient(circle, rgba(49, 126, 147, 0.06) 0%, rgba(255, 255, 255, 0) 70%) !important;
    border-radius: 50% !important;
    transition: all 0.5s ease !important;
    pointer-events: none !important;
    transform: scale(0.5) !important;
    opacity: 0 !important;
}

/* Hover par bottom-right corner mein ek soft wellness glow visible hoga */
.blue-border:hover::after {
    transform: scale(1.2) !important;
    opacity: 1 !important;
}
/********** Services Inner pg **********/
 /******* Home pg ****************/
/* ==========================================================================
   UPDATED PREMIUM REVISION: STEP NUMBERS & HOVER EFFECTS
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Great+Vibes&family=Plus+Jakarta+Sans:wght@400;500;600&display=swap');

:root {
    --km-primary: #215D6E;
    --km-secondary: #317E93;
    --km-dark: #14353E;
    --km-black: #000000;
    --km-light-bg: #F4F8F9;
    --km-white: #FFFFFF;
    --km-gradient: linear-gradient(180deg, #317E93 0%, #215D6E 100%);
    
    --km-font-serif: "Cormorant Garamond", serif;
    --km-font-cursive: "Great Vibes", cursive;
    --km-font-sans: "Plus Jakarta Sans", sans-serif;
}

/* Base Layout Fixes */
.km-intro-sec, .km-feat-sec {
    font-family: var(--km-font-sans);
    background-color: var(--km-white);
    overflow: hidden;
}

/* ==========================================================================
   IMAGE FRAME SYSTEM (RECONSTRUCTED FOR HOVER & GEOMETRIC BALANCE)
   ========================================================================== */
.km-feat-img {
    position: relative;
    padding: 0; /* Removed generic square backgrounds */
    background: transparent;
    overflow: hidden;
    border-radius: 50% 50% 0 0; /* Smooth arched mask or pure boundary depending on container class */
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Targeting the specific circle containers rendered in the image */
.km-feat-img a {
    display: block;
    overflow: hidden;
    position: relative;
}

.km-feat-img img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    transform: scale(1);
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease;
}

/* Premium Hover State triggers */
.km-feat-img:hover img {
    transform: scale(1.06); /* Elegant slow cinematic zoom */
    filter: brightness(1.03);
}

/* Dynamic Glowing Border Behind Circles */
.km-feat-img::after {
    content: '';
    position: absolute;
    inset: 0;
    border: 2px solid transparent;
    border-radius: inherit;
    pointer-events: none;
    transition: all 0.4s ease;
}
.km-feat-img:hover::after {
    border-color: var(--km-secondary);
    transform: scale(0.98);
}

/* Badge Alignment Overlays */
.km-feat-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    width: 44px;
    height: 44px;
    background: var(--km-gradient);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--km-white);
    font-size: 1rem;
    box-shadow: 0 8px 20px rgba(33, 93, 110, 0.25);
    z-index: 5;
    transition: transform 0.3s ease;
}
.km-feat-img:hover .km-feat-badge {
    transform: rotate(15deg) scale(1.05);
}

.km-feat-row-rev .km-feat-badge {
    left: auto;
    right: 15px;
}

/* ==========================================================================
   TYPOGRAPHY & STEP NUMBER UPGRADES (TYPOGRAPHY BOLD FIX)
   ========================================================================== */
.km-feat-body {
    position: relative;
    padding: 40px 20px 40px 40px;
}
.km-feat-row-rev .km-feat-body {
    padding: 40px 40px 40px 20px;
}

/* Replaced small blue text with a clean, high-contrast structural step block */
.km-step {
    display: inline-block;
    font-family: var(--km-font-sans);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--km-primary); /* High contrast prominent blue selection */
    letter-spacing: 3px;
    margin-bottom: 12px;
    position: relative;
    z-index: 2;
    border-bottom: 2px solid var(--km-secondary);
    padding-bottom: 4px;
}

/* Giant background decorative layout digits */
.km-feat-ghost {
    position: absolute;
    top: -55px;
    left: 25px;
    font-family: var(--km-font-serif);
    font-size: 9.5rem; /* Upgraded size to look ultra-premium */
    font-weight: 700;
    color: rgba(33, 93, 110, 0.06); /* Soft luxurious watermark hue */
    line-height: 1;
    z-index: 1;
    user-select: none;
}
.km-feat-row-rev .km-feat-ghost {
    left: auto;
    right: 25px;
}

/* Headings and descriptions */
.km-feat-sec .section-sub-heading {
    font-family: var(--km-font-serif) !important;
    color: var(--km-dark);
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 22px;
    position: relative;
    z-index: 2;
}
.km-feat-sec .content-text {
    font-size: 1.1rem;
    line-height: 1.85;
    color: #000000;
    position: relative;
    z-index: 2;
}

/* ==========================================================================
   RESPONSIVE LAYOUT CONSTRAINTS
   ========================================================================== */
@media (max-width: 1023px) {
    .km-feat-body, .km-feat-row-rev .km-feat-body {
        padding: 40px 15px 15px 15px;
        text-align: center;
    }
    .km-feat-ghost {
        font-size: 7.5rem;
        top: -45px;
        left: 50%;
        transform: translateX(-50%);
    }
    .km-feat-row-rev .km-feat-ghost {
        right: auto;
        left: 50%;
    }
    .km-feat-img {
        max-width: 450px;
        margin: 0 auto;
    }
}
/* ==========================================================================
   CONTENT ACCENTS & INTERACTIVE ENHANCEMENTS (BEFORE / AFTER EFFECTS)
   ========================================================================== */

/* 1. Sub-Heading Accent Border Indicator */
.km-feat-sec .section-sub-heading {
    position: relative;
    padding-bottom: 15px;
}

/* Base structural underline layout that anchors the text */
.km-feat-sec .section-sub-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 3px;
    background: var(--km-gradient);
    border-radius: 2px;
    transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Alternating text alignments selector */
.km-feat-row-rev .section-sub-heading::after {
    left: auto;
    right: 0;
}

/* 2. Global Row Interactive Activation Framework */
.km-feat-row {
    opacity: 1;
    transition: all 0.5s ease;
}

/* When the parent column block receives mouse hover or trigger activity */
.km-feat-row:hover .section-sub-heading::after {
    width: 120px; /* Expands smoothly when interacting with the segment */
}

/* 3. Subtle Content Paragraph Decorative Left Frame */
.km-feat-sec .content-text {
    position: relative;
    padding-left: 20px;
    border-left: 1px solid rgba(49, 126, 147, 0.15);
    transition: border-color 0.4s ease;
}

.km-feat-row-rev .content-text {
    padding-left: 0;
    padding-right: 20px;
    border-left: none;
    border-right: 1px solid rgba(49, 126, 147, 0.15);
}

.km-feat-row:hover .content-text {
    border-color: var(--km-primary); /* Focuses structural tint to premium primary on hover */
}

/* ==========================================================================
   MOBILE COMPATIBILITY ALIGNMENT FOR CONTENT ACCENTS
   ========================================================================== */
@media (max-width: 1023px) {
    .km-feat-sec .section-sub-heading::after {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%);
    }
    .km-feat-sec .content-text, 
    .km-feat-row-rev .content-text {
        padding-left: 0;
        padding-right: 0;
        border-left: none;
        border-right: none;
    }
}
/* ==========================================================================
   ENJOY COUNSELING SERVICES: INTRO & BLOG CARD SECTION
   ========================================================================== */

/* Main Container Scope */
.km-intro-sec {
    padding: 100px 0 60px 0;
    background: radial-gradient(circle at 100% 0%, rgba(49, 126, 147, 0.05) 0%, transparent 70%);
}

/* Premium Floating Card Base */
.km-intro-card {
    background: var(--km-white, #FFFFFF);
    border: 1px solid rgba(49, 126, 147, 0.15);
    border-radius: 24px; /* Soft boutique round curves */
    padding: 70px 60px;
    position: relative;
    box-shadow: 0 30px 70px rgba(20, 53, 62, 0.06);
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
}

.km-intro-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 40px 90px rgba(20, 53, 62, 0.1);
}

/* Structural Text Elements Alignment */
.km-intro-inner {
    position: relative;
    z-index: 3;
    max-width: 880px;
}

/* Elegant Handwriting Subtitle */
.km-intro-eyebrow {
    font-family: var(--km-font-cursive, "Great Vibes", cursive);
    color: var(--km-secondary, #317E93);
    font-size: 3rem;
    display: block;
    margin-bottom: 15px;
    line-height: 1;
    font-weight: 400;
}

/* Clean up Mowing Icons for Clinical Layout */
.km-intro-eyebrow i, 
.km-intro-leaf {
    display: none !important; /* Hides lawn seedling & leaf icons completely */
}

/* Luxury Soft Background Orb Layout */
.km-intro-orb {
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(49, 126, 147, 0.12) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 1;
    transition: transform 5s ease-in-out infinite alternate;
}

.km-intro-card:hover .km-intro-orb {
    transform: translate(-20px, -20px) scale(1.15);
}

/* Main Core Heading Type */
.km-intro-sec .section-main-heading {
    font-family: var(--km-font-serif, "Cormorant Garamond", serif) !important;
    color: var(--km-dark, #14353E);
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 25px;
    letter-spacing: -0.5px;
}

/* Description Text Typography */
.km-intro-sec .section-description {
    font-size: 1.15rem;
    line-height: 1.85;
    color: #4A5A5E;
    margin-bottom: 24px;
}

/* Content Action Callout Text */
.km-intro-lead {
    font-size: 1.12rem;
    font-weight: 600;
    color: var(--km-primary, #215D6E);
    margin-bottom: 35px;
    display: block;
}

/* Premium Action Button Frame */
.web-primary-btn {
    display: inline-flex;
    align-items: center;
    background: var(--km-gradient, linear-gradient(180deg, #317E93 0%, #215D6E 100%));
    color: var(--km-white, #FFFFFF) !important;
    padding: 16px 45px;
    border-radius: 4px; /* Webware Native Clean Border Radius */
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(33, 93, 110, 0.2);
    position: relative;
    overflow: hidden;
}

.web-primary-btn i {
    margin-left: 12px;
    font-size: 0.85rem;
    transition: transform 0.3s ease;
}

/* Button Hover Flare Effects */
.web-primary-btn:hover {
    filter: brightness(1.08);
    box-shadow: 0 15px 30px rgba(33, 93, 110, 0.35);
    transform: translateY(-2px);
}

.web-primary-btn:hover i {
    transform: translateX(5px);
}

/* Subtle Shimmer Overlay on Button Hover */
.web-primary-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.5s ease, height 0.5s ease;
}

.web-primary-btn:hover::before {
    width: 320px;
    height: 320px;
}

/* ==========================================================================
   RESPONSIVE LAYOUT CALIBRATION
   ========================================================================== */
@media (max-width: 1023px) {
    .km-intro-card {
        padding: 45px 25px;
        text-align: center;
    }
    .km-intro-sec .section-main-heading {
        margin-left: 0 !important; /* Forces inline layout balance alignment reset */
    }
    .km-intro-eyebrow {
        font-size: 2.5rem;
    }
}
 /********** Home pg ************/

/*********** About pg ************/

/* ==========================================================================
   ENJOY COUNSELING SERVICES: INTERNAL CONTENT PAGES SYSTEM
   ========================================================================== */

/* 1. Global Section Architecture Setup */
.km-story-sec, .km-profile-sec, .km-different-sec {
    background-color: var(--km-white, #FFFFFF);
    font-family: var(--km-font-sans, "Plus Jakarta Sans", sans-serif);
    padding: 80px 0;
    overflow: hidden;
}

.km-story-sec {
    background: radial-gradient(circle at 0% 100%, rgba(49, 126, 147, 0.04) 0%, transparent 60%);
    padding-bottom: 50px;
}

/* Card Structures inside grids */
.km-content-card {
    background: #FFFFFF;
    border: 1px solid rgba(49, 126, 147, 0.12);
    border-radius: 16px;
    padding: 50px 40px;
    height: 100%;
    box-shadow: 0 15px 40px rgba(20, 53, 62, 0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.km-content-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 25px 50px rgba(20, 53, 62, 0.07);
}

.km-card-eyebrow {
    font-family: var(--km-font-sans);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--km-secondary, #317E93);
    letter-spacing: 2px;
    display: block;
    margin-bottom: 10px;
}

.km-story-sec .section-sub-heading,
.km-profile-sec .section-sub-heading,
.km-different-sec .section-sub-heading {
    font-family: var(--km-font-serif, "Cormorant Garamond", serif) !important;
    color: var(--km-dark, #14353E);
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 25px;
    line-height: 1.2;
}

.km-story-sec .content-text,
.km-profile-sec .content-text,
.km-different-sec .content-text {
    font-size: 1.08rem;
    line-height: 1.85;
    color: #4A5A5E;
    margin-bottom: 18px;
}
.km-story-sec .content-text:last-child { margin-bottom: 0; }

/* Highlighted clinical mission focus block */
.highlighted-quote {
    border-left: 3px solid var(--km-primary, #215D6E);
    padding-left: 20px;
    font-style: italic;
    color: var(--km-dark, #14353E) !important;
    font-weight: 500;
    margin-top: 25px;
}

/* ==========================================================================
   2. FOUNDER PROFILE IMAGE SPLIT LAYOUT
   ========================================================================== */
.km-profile-sec {
    background-color: #FAFDFD; /* Ultra soft professional highlight tone */
}

.km-profile-image-wrapper {
    position: relative;
    padding: 15px;
    max-width: 440px;
    margin: 0 auto;
}

.km-profile-img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    border-radius: 120px 120px 24px 24px; /* Organic clinical arch aesthetic */
    position: relative;
    z-index: 2;
    box-shadow: 0 20px 45px rgba(20, 53, 62, 0.12);
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.km-image-accent-frame {
    position: absolute;
    inset: 0;
    border: 2px solid var(--km-secondary, #317E93);
    border-radius: 120px 120px 24px 24px;
    z-index: 1;
    transform: translate(-10px, 10px);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Founder Profile Hover Actions */
.km-profile-image-wrapper:hover .km-profile-img {
    transform: scale(1.02) translate(4px, -4px);
}
.km-profile-image-wrapper:hover .km-image-accent-frame {
    transform: translate(-16px, 16px);
    border-color: var(--km-primary, #215D6E);
}

.km-badge-title {
    display: inline-block;
    background: rgba(49, 126, 147, 0.08);
    color: var(--km-primary, #215D6E);
    padding: 6px 16px;
    font-size: 0.88rem;
    font-weight: 600;
    border-radius: 30px;
    margin-bottom: 15px;
}

.km-profile-body .lead-p {
    font-size: 1.2rem !important;
    font-weight: 500;
    color: var(--km-dark, #14353E) !important;
    line-height: 1.7;
}

/* ==========================================================================
   3. WHAT MAKES US DIFFERENT & CHECKLIST MATRIX
   ========================================================================== */
.km-different-sec {
    padding-top: 100px;
}

.km-matrix-container {
    position: relative;
    background: #FFFFFF;
    border: 1px solid rgba(49, 126, 147, 0.15);
    border-radius: 20px;
    padding: 45px;
    box-shadow: 0 30px 60px rgba(20, 53, 62, 0.05);
    overflow: hidden;
}

/* Background watermark therapeutic illustration image */
.km-matrix-bg-illustration {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 280px;
    opacity: 0.06; /* Fades image into base matrix layout neatly */
    pointer-events: none;
    z-index: 1;
    filter: grayscale(100%);
    transition: opacity 0.4s ease, transform 0.6s ease;
}
.km-matrix-container:hover .km-matrix-bg-illustration {
    opacity: 0.1;
    transform: scale(1.05) translate(-10px, -10px);
}

/* Checklist Styling */
.km-premium-checklist {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    z-index: 3;
}

.km-premium-checklist li {
    display: flex;
    align-items: flex-start;
    font-size: 1.05rem;
    color: #3F4E52;
    margin-bottom: 20px;
    line-height: 1.5;
    transition: transform 0.25s ease;
}
.km-premium-checklist li:last-child { margin-bottom: 0; }

.km-premium-checklist li i {
    color: var(--km-primary, #215D6E);
    font-size: 1.25rem;
    margin-right: 15px;
    margin-top: 2px;
    transition: color 0.3s ease;
}

/* Checklist Hover Micro-interaction */
.km-premium-checklist li:hover {
    transform: translateX(5px);
    color: var(--km-dark, #14353E);
}
.km-premium-checklist li:hover i {
    color: var(--km-secondary, #317E93);
}

/* ==========================================================================
   4. RESPONSIVE SYNC LAYOUT
   ========================================================================== */
@media (max-width: 1023px) {
    .km-story-sec, .km-profile-sec, .km-different-sec {
        padding: 60px 0;
    }
    .km-content-card {
        padding: 35px 25px;
    }
    .km-story-cell {
        margin-bottom: 30px !important;
    }
    .km-profile-image-wrapper {
        margin-bottom: 40px;
    }
    .km-profile-img {
        height: 400px;
    }
    .km-matrix-container {
        padding: 30px 20px;
        margin-top: 40px;
    }
    .km-matrix-bg-illustration {
        width: 180px;
    }
}
/* Circular Constraints for the Uploaded Round Image Hook */
.standard-circular-frame {
    max-width: 460px;
    margin: 0 auto;
}
.km-profile-img.pure-circle {
    border-radius: 50% !important; /* Forces the clip border to overlay cleanly on your round image */
    height: auto !important;
    aspect-ratio: 1 / 1;
}
.km-image-accent-frame.circle-accent {
    border-radius: 50% !important; /* Changes the structural frame behind image to a premium matching circle */
    transform: translate(-12px, 12px);
}
.km-profile-image-wrapper:hover .km-image-accent-frame.circle-accent {
    transform: translate(-18px, 18px);
}

/*********** About pg *************/


/********* Service area landing pg *************/

/* ==========================================================================
   ENJOY COUNSELING SERVICES: EXTRA PREMIUM SERVICES & CTA FRAMEWORK
   ========================================================================== */

/* 1. Main Intro (Finding A Way Forward) Styling */
.km-forward-sec {
    padding: 90px 0 60px 0;
    background-color: #FFFFFF;
    font-family: var(--km-font-sans, "Plus Jakarta Sans", sans-serif);
}

.km-section-eyebrow {
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--km-secondary, #317E93);
    letter-spacing: 2.5px;
    display: inline-block;
    margin-bottom: 12px;
}

.km-forward-sec .section-main-heading {
    font-family: var(--km-font-serif, "Cormorant Garamond", serif) !important;
    color: var(--km-dark, #14353E);
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 20px;
}

/* Luxury accent separator rule */
.km-heading-separator {
    width: 80px;
    height: 3px;
    background: var(--km-gradient, linear-gradient(180deg, #317E93 0%, #215D6E 100%));
    margin: 0 auto 30px auto;
    border-radius: 2px;
}

.km-forward-sec .section-description {
    font-size: 1.15rem;
    line-height: 1.9;
    color: #4A5A5E;
    max-width: 960px;
    margin: 0 auto;
}

/* ==========================================================================
   2. HIGH-END CLINICAL SERVICES MASONRY/GRID
   ========================================================================== */
.km-services-gallery-sec {
    background-color: #F8FAFA; /* Soft cool contrast surface background */
    padding: 85px 0;
}

.km-gallery-title {
    font-family: var(--km-font-serif, "Cormorant Garamond", serif) !important;
    font-size: 2.6rem;
    color: var(--km-dark, #14353E);
    font-weight: 700;
    margin-bottom: 8px;
}

.km-gallery-subtitle {
    font-size: 1.05rem;
    color: var(--km-secondary, #317E93);
    font-weight: 500;
    letter-spacing: 0.5px;
    margin-bottom: 50px;
}

/* Premium Card Object */
.km-service-premium-card {
    background: #FFFFFF;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(20, 53, 62, 0.04);
    border: 1px solid rgba(49, 126, 147, 0.08);
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s ease;
    height: 100%;
}

/* Modern Image Masking Layer */
.km-service-img-mask {
    position: relative;
    width: 100%;
    height: 240px; /* Standard balanced viewport height */
    overflow: hidden;
    background-color: var(--km-dark, #14353E);
}

.km-service-img-mask img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease;
}

/* Soft dark teal tone overlay */
.km-service-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(20, 53, 62, 0.45) 100%);
    opacity: 0.8;
    transition: opacity 0.4s ease;
}

/* Typography Body Frame inside card */
.km-service-card-body {
    padding: 24px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #FFFFFF;
    transition: background-color 0.3s ease;
}

.km-service-card-body h4 {
    font-family: var(--km-font-sans);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--km-dark, #14353E);
    margin: 0;
    padding-right: 15px;
    transition: color 0.3s ease;
}

.km-card-btn-arrow {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #F0F5F6;
    color: var(--km-primary, #215D6E);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    transition: all 0.35s ease;
    flex-shrink: 0;
}

/* ========================== HOVER INTERACTIONS ========================== */
.km-service-premium-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 25px 55px rgba(20, 53, 62, 0.09);
    border-color: rgba(49, 126, 147, 0.2);
}

.km-service-premium-card:hover .km-service-img-mask img {
    transform: scale(1.08); /* Slow cinematic lens zoom inside frame */
}

.km-service-premium-card:hover .km-service-card-body h4 {
    color: var(--km-primary, #215D6E); /* Smoothly swaps title to active teal */
}

.km-service-premium-card:hover .km-card-btn-arrow {
    background: var(--km-gradient, linear-gradient(180deg, #317E93 0%, #215D6E 100%));
    color: #FFFFFF;
    transform: translateX(3px);
}

/* ==========================================================================
   3. CTA FOOTER WRAPPER BLOCK
   ========================================================================== */
.km-support-cta-sec {
    padding: 60px 0 100px 0;
    background-color: #FFFFFF;
}

.km-cta-container-card {
    background: radial-gradient(circle at 100% 100%, rgba(49, 126, 147, 0.06) 0%, transparent 60%), #FFFFFF;
    border: 1px solid rgba(49, 126, 147, 0.16);
    border-radius: 20px;
    padding: 50px 60px;
    box-shadow: 0 20px 50px rgba(20, 53, 62, 0.04);
}

.km-cta-left .section-sub-heading {
    font-family: var(--km-font-serif, "Cormorant Garamond", serif) !important;
    color: var(--km-dark, #14353E);
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.km-cta-left .content-text {
    font-size: 1.1rem;
    line-height: 1.75;
    color: #4A5A5E;
    margin: 0;
}

.web-primary-btn.cta-btn {
    padding: 18px 40px;
    border-radius: 6px;
    font-size: 1rem;
}

/* ==========================================================================
   4. MOBILE SYNC ADJUSTMENTS
   ========================================================================== */
@media (max-width: 1023px) {
    .km-forward-sec, .km-services-gallery-sec, .km-support-cta-sec {
        padding: 50px 0;
    }
    .km-gallery-subtitle {
        margin-bottom: 35px;
    }
    .km-service-img-mask {
        height: 200px;
    }
    .km-cta-container-card {
        padding: 40px 25px;
        text-align: center;
    }
    .km-cta-left {
        margin-bottom: 30px;
    }
    .km-cta-right {
        text-align: center !important;
    }
}

/*********** Service area landing pg *********/

/********* Service area inner pg **********/
/* ==========================================================================
   BOUTIQUE THEME INTEGRATION: COMPREHENSIVE RELATIONSHIPS & SERVICES SYSTEM
   ========================================================================== */

/* 1. HERO INTRO CONSTRAINTS WITH DYNAMIC ROUND OVERLAY */
.km-premium-hero-sec {
    background: radial-gradient(circle at 100% 0%, rgba(49, 126, 147, 0.05) 0%, transparent 60%);
    padding: 100px 0 80px 0;
    font-family: var(--km-font-sans, "Plus Jakarta Sans", sans-serif);
}

.km-section-eyebrow {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--km-secondary, #317E93);
    letter-spacing: 2.5px;
    display: inline-block;
    margin-bottom: 15px;
}

.km-premium-hero-sec .section-main-heading {
    font-family: var(--km-font-serif, "Cormorant Garamond", serif) !important;
    color: var(--km-dark, #14353E);
    font-size: 36px;
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 25px;
}

.km-accent-line {
    width: 70px;
    height: 3px;
    background: var(--km-gradient, linear-gradient(180deg, #317E93 0%, #215D6E 100%));
    margin-bottom: 30px;
    border-radius: 2px;
}

.km-premium-hero-sec .section-description {
    font-size: 1.15rem;
    line-height: 1.85;
    color: #4A5A5E;
    margin-bottom: 20px;
}

.highlighted-clinical-note {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--km-dark, #14353E);
    font-weight: 500;
    border-left: 3px solid var(--km-primary, #215D6E);
    padding-left: 20px;
}

/* Perfect Circular Image Geometry Core */
.km-hero-pure-circle-wrapper {
    position: relative;
    max-width: 420px;
    margin: 0 auto;
    padding: 10px;
}

.km-pure-round-img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 50% !important; /* Rigid circular format requirement */
    position: relative;
    z-index: 2;
    box-shadow: 0 20px 50px rgba(20, 53, 62, 0.15);
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.km-circle-glowing-backdrop {
    position: absolute;
    inset: -5px;
    border: 2px dashed rgba(49, 126, 147, 0.3);
    border-radius: 50%;
    z-index: 1;
    transition: transform 0.5s ease;
}

.km-hero-pure-circle-wrapper:hover .km-pure-round-img {
    transform: scale(1.03) rotate(1deg);
}
.km-hero-pure-circle-wrapper:hover .km-circle-glowing-backdrop {
    transform: scale(1.05) rotate(15deg);
}

/* ==========================================================================
   2. ROANOKE SERVICES AREA (NON-ROUND RECTANGULAR MATRIX CONFIG)
   ========================================================================== */
.km-roanoke-services-sec {
    background-color: #F4F8F9; /* Clean signature clinical backdrop tint */
    padding: 90px 0;
}

.km-services-header .km-main-title {
    font-family: var(--km-font-serif, "Cormorant Garamond", serif) !important;
    font-size: 2.6rem;
    color: var(--km-dark, #14353E);
    font-weight: 700;
    margin-bottom: 8px;
}

.km-services-header .km-sub-title-accent {
    font-family: var(--km-font-sans);
    font-size: 1.1rem;
    color: var(--km-secondary, #317E93);
    font-weight: 600;
    letter-spacing: 0.5px;
    margin-bottom: 25px;
    text-transform: uppercase;
}

.km-services-header .km-header-p {
    font-size: 1.1rem;
    line-height: 1.85;
    color: #55666A;
    max-width: 880px;
    margin: 0 auto 60px auto;
}

/* Service Card Link Object */
.km-service-matrix-link {
    display: block;
    text-decoration: none !important;
    height: 100%;
}

.km-matrix-card {
    background: #FFFFFF;
    border: 1px solid rgba(49, 126, 147, 0.08);
    border-radius: 16px; /* Smooth square corners, NOT round circles */
    overflow: hidden;
    height: 100%;
    box-shadow: 0 10px 30px rgba(20, 53, 62, 0.03);
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s ease, border-color 0.45s ease;
    display: flex;
    flex-direction: column;
}

/* Image Container Frame (Explicitly Non-Round Shapes) */
.km-matrix-img-container {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
    background-color: var(--km-dark, #14353E);
}

.km-matrix-img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.km-matrix-gradient-layer {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(20, 53, 62, 0.4) 100%);
}

.km-matrix-card-content {
    padding: 30px;
    position: relative;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.km-matrix-card-content h4 {
    font-family: var(--km-font-sans);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--km-dark, #14353E);
    margin-bottom: 12px;
    transition: color 0.3s ease;
}

.km-matrix-card-content p {
    font-size: 1rem;
    line-height: 1.65;
    color: #55666A;
    margin-bottom: 0;
}

.km-action-trigger-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #F0F5F6;
    color: var(--km-primary, #215D6E);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    margin-top: 25px;
    align-self: flex-start;
    transition: all 0.35s ease;
}

/* Interactive Card Matrix Hover Mechanics */
.km-service-matrix-link:hover .km-matrix-card {
    transform: translateY(-6px);
    box-shadow: 0 25px 60px rgba(20, 53, 62, 0.08);
    border-color: rgba(49, 126, 147, 0.2);
}

.km-service-matrix-link:hover .km-matrix-img-container img {
    transform: scale(1.06);
}

.km-service-matrix-link:hover .km-matrix-card-content h4 {
    color: var(--km-primary, #215D6E);
}

.km-service-matrix-link:hover .km-action-trigger-icon {
    background: var(--km-gradient, linear-gradient(180deg, #317E93 0%, #215D6E 100%));
    color: #FFFFFF;
    transform: translateX(4px);
}

/* ==========================================================================
   3. EXPERIENCES AND CHECKLIST ARCHITECTURE
   ========================================================================= */
.km-experience-sec {
    padding: 90px 0;
    background-color: #FFFFFF;
}

.km-experience-sec .section-sub-heading {
    font-family: var(--km-font-serif, "Cormorant Garamond", serif) !important;
    color: var(--km-dark, #14353E);
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 25px;
}

.font-soft-secondary {
    color: #55666A !important;
}

.km-checklist-card-frame {
    background: #FFFFFF;
    border: 1px solid rgba(49, 126, 147, 0.14);
    border-radius: 20px;
    padding: 45px 50px;
    box-shadow: 0 20px 50px rgba(20, 53, 62, 0.04);
}

.km-custom-dual-checklist {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.km-custom-dual-checklist li {
    display: flex;
    align-items: flex-start;
    font-size: 1.05rem;
    color: #3F4E52;
    margin-bottom: 18px;
    line-height: 1.5;
    transition: transform 0.2s ease;
}
.km-custom-dual-checklist li:last-child { margin-bottom: 0; }

.km-bullet-check {
    color: var(--km-secondary, #317E93);
    font-size: 1rem;
    margin-right: 15px;
    margin-top: 3px;
    flex-shrink: 0;
    transition: color 0.3s ease;
}

.km-custom-dual-checklist li:hover {
    transform: translateX(4px);
    color: var(--km-dark, #14353E);
}
.km-custom-dual-checklist li:hover .km-bullet-check {
    color: var(--km-primary, #215D6E);
}

/* ==========================================================================
   4. DEVICE MATRIX RESPONSIVE CALIBRATION
   ========================================================================== */
@media (max-width: 1023px) {
    .km-premium-hero-sec, .km-roanoke-services-sec, .km-experience-sec {
        padding: 60px 0;
    }
    .km-hero-text-cell {
        margin-bottom: 40px;
    }
    .km-services-header .km-header-p {
        margin-bottom: 40px;
    }
    .km-checklist-card-frame {
        padding: 35px 20px;
        margin-top: 40px;
    }
}

/*********** Service area inner pg **********/

/*********** Our Team pg ***********/

/* --- Core Team Section Styling --- */
.km-team-matrix-sec {
  padding: 80px 0;
  background: #ffffff;
}
.km-team-header {
  margin-bottom: 50px;
}

/* Card Structures */
.km-team-card {
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
  cursor: pointer;
  margin-bottom: 30px;
}
.km-team-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}
.km-team-img-container {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/5;
  background-color: #f7f9fa;
}
.km-team-img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.km-team-card:hover .km-team-img-container img {
  transform: scale(1.05);
}

/* Hover Overlay Graphic Effect */
.km-team-overlay-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(43, 76, 89, 0.4); /* Dynamic matching secondary tone overlay */
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.35s ease;
}
.km-team-card:hover .km-team-overlay-layer {
  opacity: 1;
}
.km-view-profile-btn {
  background: #ffffff;
  color: #2b4c59;
  padding: 12px 24px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.9rem;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  transform: translateY(15px);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.km-team-card:hover .km-view-profile-btn {
  transform: translateY(0);
}

.km-team-card-content {
  padding: 24px;
  text-align: center;
}
.km-team-card-content h4 {
  margin: 0 0 6px 0;
  font-size: 1.25rem;
  color: #1a1a1a;
  font-weight: 700;
}
.km-member-role {
  font-size: 0.95rem;
  color: #666666;
}

/* ==========================================
   PREMIUM MODAL CORE STYLINGS
   ========================================== */
.km-profile-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(15, 23, 42, 0.6); /* Modern deep backdrop color overlay */
  backdrop-filter: blur(8px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  padding: 20px;
}
.km-profile-modal-backdrop.is-active {
  opacity: 1;
  pointer-events: auto;
}

.km-profile-modal-content {
  background: #ffffff;
  width: 100%;
  max-width: 900px;
  border-radius: 12px;
  position: relative;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  transform: scale(0.95);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  max-height: 90vh;
  overflow-y: auto;
}
.km-profile-modal-backdrop.is-active .km-profile-modal-content {
  transform: scale(1);
}

.km-modal-close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  background: #f1f5f9;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 1.5rem;
  color: #475569;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: background 0.2s ease, color 0.2s ease;
}
.km-modal-close-btn:hover {
  background: #e2e8f0;
  color: #0f172a;
}

/* Modal Layout Structure Details */
.km-modal-body-wrapper {
  margin: 0 !important;
  padding: 40px;
}
.km-modal-img-frame {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 4/5;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}
.km-modal-img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.km-modal-content-wrapper {
  padding-left: 20px;
}
.km-modal-title {
  font-size: 2.2rem;
  color: #1e293b;
  margin-bottom: 5px;
  font-weight: 700;
}
.km-modal-role {
  font-size: 1.1rem;
  color: #64748b;
  display: block;
  margin-bottom: 15px;
}

/* Inner Text Segment Formatting Blocks */
.km-credentials-box, .km-bio-description-box {
  margin-top: 25px;
}
.km-credentials-box h5, .km-bio-description-box h5 {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #0f172a;
  margin-bottom: 8px;
  font-weight: 700;
      font-family: 'Cormorant Garamond';
}
.km-credentials-box p, .km-bio-description-box p {
  font-size: 1rem;
  line-height: 1.6;
  color: #475569;
  margin: 0;
}

/* Responsive Structural Breakpoints */
@media screen and (max-width: 40em) {
  .km-modal-body-wrapper {
    padding: 30px 20px;
  }
  .km-modal-content-wrapper {
    padding-left: 0;
    margin-top: 25px;
  }
  .km-modal-title {
    font-size: 1.75rem;
  }
}

.km-profile-modal-backdrop {
  position: fixed; 
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999999 !important; /* z-index ko aur bada kar dein */
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.7);
  visibility: hidden; /* display: none ki jagah visibility use karein */
  opacity: 0;
  transition: all 0.3s ease;
}

/* Jab active class lage, tabhi dikhe */
.km-profile-modal-backdrop.is-active {
  visibility: visible;
  opacity: 1;
}
/********* Our team pg *************/


/*********** Reviews ***********/

.testimonials-v15{background:#f0fdfa;padding:100px 0}
.testimonials-v15 .is-boxes{width:100%}
.testimonials-v15 .section-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:#0d9488;text-align:center;margin-bottom:12px}
.testimonials-v15 .section-heading{font-size:clamp(26px,3vw,44px);color:#134e4a;font-weight:800;text-align:center;line-height:1.15;margin-bottom:56px;letter-spacing:-.4px}
.testimonials-v15 .featured-card{background:#fff;border:2px solid #14353e;border-radius:24px;padding:48px;height:100%;position:relative;overflow:hidden}
.testimonials-v15 .featured-card::before{content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(13,148,136,.08) 0%,transparent 70%)}
.testimonials-v15 .fc-badge{display:inline-flex;align-items:center;gap:6px;background:#296d80;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;padding:5px 12px;border-radius:20px;margin-bottom:24px}
.testimonials-v15 .fc-badge svg{width:12px;height:12px;fill:#fff}
.testimonials-v15 .fc-quote{font-size:18px;line-height:1.75;font-style:italic;margin-bottom:32px;font-weight:400}
.testimonials-v15 .fc-author{display:flex;align-items:center;gap:16px;padding-top:28px;border-top:1px solid #ccfbf1}
.testimonials-v15 .fc-av{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid #0d9488}
.testimonials-v15 .fc-name{font-size:17px;font-weight:700;color:#205d6d}
.testimonials-v15 .fc-role{font-size:13px;color:#6b7280;margin-top:2px}
.testimonials-v15 .fc-stars{display:flex;gap:3px;margin-top:8px}
.testimonials-v15 .fc-star{width:15px;height:15px;fill:#0d9488}
.testimonials-v15 .side-cards{display:flex;flex-direction:column;gap:18px}
.testimonials-v15 .sc{background:#fff;border:1px solid #ccfbf1;border-radius:16px;padding:24px;transition:all .3s}
.testimonials-v15 .sc:hover{border-color:#0d9488;box-shadow:0 6px 24px rgba(13,148,136,.1)}
.testimonials-v15 .sc-text{font-size:16px;line-height:1.7;font-style:italic;margin-bottom:10px}
.testimonials-v15 .sc-author{display:flex;align-items:center;gap:10px}
.testimonials-v15 .sc-av{width:36px;height:36px;border-radius:50%;object-fit:cover}
.testimonials-v15 .sc-name{font-size:15px;font-weight:700;color:#327e94}
.testimonials-v15 .sc-role{font-size:11px;color:#9ca3af;margin-top:1px}

/********** Reviews *********/

/******** blog article pg ***************/
.new-blog-page-type {
    max-width: 1100px; 
    margin: 0 auto;   
    padding: 40px 20px;
}

.grid-container {
    max-width: 1100px;
    margin: 0 auto;
}

.blog-sidebar {
    
    margin-left: auto;
}
/* Article Title */
.article-blog-main-heading {
    font-size: clamp(36px, 5vw, 52px);
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 30px;
    line-height: 1.1;
}

/* Recent Posts Title Fix */
.recent-posts-text {
    font-family: "Cormorant Garamond", serif; 
    font-size: 24px !important;
    font-weight: 700 !important;
    text-transform: capitalize !important;
}

/* Post Title Fix */
.article-title.widget-title a {
    font-family: "Cormorant Garamond", serif;
    font-size: 20px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    display: block;
    margin-top: 10px;
}


/* Author & Meta Box */
.blog-author {
    background: #f8fafc;
    padding: 20px;
    border-left: 4px solid #2b4c59; 
    border-radius: 8px;
    margin-bottom: 40px;
}

.author_name {
    font-weight: 700;
    color: #2b4c59;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 13px;
}

/* Content Body */
.article-body.rte h2 {
  color: #2b4c59;
    font-size: 28px;
    margin-top: 50px;
    margin-bottom: 20px;
    font-weight: 700;
    position: relative; 
    padding-left: 20px; 
}
.article-body.rte h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 30px;
    background-color: #2b4c59; /* Brand color */
    border-radius: 4px;
}
.article-body.rte p {
    font-size: 18px;
    margin-bottom: 20px;
    color: #475569;
}


/* Sidebar Styling */
.blog-sidebar-widget {
    background: #ffffff;
    padding: 30px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

.recent-posts-text {
    border-bottom: 2px solid #2b4c59;
    padding-bottom: 10px;
    margin-bottom: 20px;
}


div#lead-magnet-form {
    background: #317e9338;
}

/* Lead Magnet Form Button Styling */
#lead-magnet-form button, 
#lead-magnet-form input[type="submit"] {
    background-color: #215D6E !important; 
    color: #ffffff !important;         
    border: none !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    transition: background-color 0.3s ease !important;
    cursor: pointer;
    width: 44% !important;
}

#lead-magnet-form button:hover, 
#lead-magnet-form input[type="submit"]:hover {
    background-color: #317E93 !important; 
}
/********** Blog article pg ************/
 .blog-author.mb-15,
 ul.ps-blog-category.ul.mobile-categories,
.new-blog-page-type .article-category span, 
.new-blog-page-type .blog-read-more,
  .articles-filter-container.show-for-large {
     text-transform: capitalize;
 
 }
       
.color-white {
    color: #fff !important;
}

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


@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}


.main-navigation.sticky {
    animation: slideDown 0.3s ease-in-out;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
    width: 100%;
    background-color:#215D6E;
    margin-top: 0;
    padding:10px !important;
}

.main-navigation.sticky #mainNav{
        justify-content: center;
    }



@media only screen and (min-width: 1350px) {
.cell.auto.large-2.text-center.large-text-left.logo-container-footer.align-center {
    margin-left: -48px;
    padding-top: 81px;
}
}

 @media screen and (max-width: 1023.5px) { 
.inner-banner.blog-banner {
        position: relative;
        background: rgb(255 255 255 / 0%);
        max-width: 100%;
        display: flex;
        justify-content: center;
        padding: 0;
        text-align: center;
}
.inner-banner.blog-banner .clear {
width: 100%;
}
.in-banner-desc {
    background: rgb(255 255 255 / 79%);
    padding: 50px 70px;
    max-width: 100%;
    margin: 0 auto !important;
}
.user-logged-out .inner-content-div {
    max-width: 100%;
    padding: 15px;
    text-align: center;
    border-radius:0px !important;
  background: rgb(45 59 54) !important;
}

.social-icons {
    justify-content: center !important;
}
  .justify-center-small {
        justify-content: center !important;
    }
    
    p.align-middle.flex-container.icon-div,
 p.align-top.flex-container.icon-div.address-pad{
         justify-content: center;
 }
}

@media screen and (max-width: 1023px) {
    footer {
        margin-top: 0px;
    }
}
