/* Sidebar Toggle Button */
.vertical-btn {
    position: fixed;
    right: 0;
    top: 50% !important;
    transform: translateY(-50%) rotate(180deg);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    letter-spacing: 1.5px;
    font-size: 14px; 
    font-weight: 700;
    color: #ffffff;
    background: #000;
    border: 1px solid #333;
    border-right: none;
    padding: 15px 5px;
    cursor: pointer;
    z-index: 1001;
    border-radius: 0;
    transition: right 0.3s ease;
    height: auto;
}

.vertical-btn:hover { 
    width: auto; 
    box-shadow: none; 
}

/* Custom Sidebar */
.custom-sidebar {
    position: fixed;
    top: 55% !important;
    right: -320px;
    width: 300px !important;
    background: #fff;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    z-index: 1000;
    transition: right 0.3s ease;
    border-radius: 0;
    box-shadow: none;
    overflow-y: auto;
    transform: translateY(-50%);
    max-height: 80vh;
}

/* Sidebar Title */
.custom-sidebar h3 {
    margin: 0 0 5px 0;
    font-size: 14px !important; 
    font-weight: 700;
    color: #000;
}

/* Sidebar Subtitle */
.custom-sidebar > p {
    margin: 0 0 10px 0;
    font-size: 12px !important;
    color: #555;
}

/* Drawer Cards */
.drawer-card {
    background: #f9f9f9;
    padding: 15px 15px 10px 15px;
    border-radius: 0;
    box-shadow: none;
}

.drawer-card h4 { 
    margin: 0 0 5px 0; 
    font-size: 14px !important;
    font-weight: 600;
    color: #000; 
}

.drawer-card p { 
    margin: 0 0 10px 0; 
    font-size: 12px !important; 
    color: #333;
    line-height: 1.5;
}

.drawer-card a { 
    display: inline-block; 
    padding: 6px 12px; 
    background: #0073e6; 
    color: #fff; 
    border-radius: 5px; 
    text-decoration: none; 
    font-size: 12px !important; 
}

.drawer-card a:hover { 
    background: #005bb5; 
}

.disabled-card {
    opacity: 0.6;
    pointer-events: none;
}

.disabled-card h4 {
    color: #555;
}

.disabled-card .coming-soon {
    font-size: 12px !important; 
    font-weight: 600;
    color: #e74c3c;
    margin-left: 8px;
}

/* Close Button */
.close-sidebar-btn {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 24px !important;
    height: 24px !important;
    background: #000 !important;
    border-radius: 50% !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #fff !important;
    line-height: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    font-family: Arial, sans-serif !important;
}

.close-sidebar-btn::before {
    content: "✕";
    font-size: 12px !important;
    font-weight: 400;
    line-height: 1;
    display: block;
    color: #fff;
}

.close-sidebar-btn:hover {
    background: #222 !important;
}


@media(max-width:768px){ 
    .vertical-btn, 
    .custom-sidebar { 
        display: none; 
    } 
}


/* ========================================
   SIDEBAR - OVERRIDE THEME UTILITY CLASSES
   ======================================== */

.custom-sidebar .drawer-card .font-size-11,
.custom-sidebar .drawer-card [class*="font-size-"],
.custom-sidebar .font-size-11 {
    font-size: 13px !important;
}

.custom-sidebar .drawer-card .font-size-16,
.custom-sidebar .font-size-16 {
    font-size: 14px !important;
}

/* Override any bold utility classes if needed */
/* .custom-sidebar .drawer-card .fw-bold {
    font-weight: 600 !important;
} */

.custom-sidebar .drawer-card div,
.custom-sidebar .drawer-card p,
.custom-sidebar .drawer-card span {
    font-size: 13px !important;
}

.custom-sidebar .drawer-card h4 {
    font-size: 14px !important;
}

/* ========================================
   ELEMENTOR PADDING CONSISTENCY
   ======================================== */

/* :root {
    --max-content-width: 1700px;
    --padding-desktop: 5px;
    --padding-tablet: 5px;
    --padding-mobile: 15px;
} */

/* Boxed Sections */
/* body .elementor-section-boxed > .elementor-container {
    max-width: var(--max-content-width) !important;
    padding-left: var(--padding-desktop) !important;
    padding-right: var(--padding-desktop) !important;
    margin-left: auto !important;
    margin-right: auto !important;
} */

/* Full Width Sections */
/* body .elementor-section-full_width > .elementor-container {
    padding-left: var(--padding-desktop) !important;
    padding-right: var(--padding-desktop) !important;
} */

/* Elementor Flex Containers (Newer Elementor) */
/* body .e-con-boxed,
body .e-con.e-parent:not(.e-con-full) {
    max-width: var(--max-content-width) !important;
    padding-left: var(--padding-desktop) !important;
    padding-right: var(--padding-desktop) !important;
    margin-left: auto !important;
    margin-right: auto !important;
} */

/* Full Width Containers */
/* body .e-con-full {
    padding-left: var(--padding-desktop) !important;
    padding-right: var(--padding-desktop) !important;
} */

/* Tablet */
/* @media (max-width: 1024px) {
    body .elementor-section > .elementor-container,
    body .e-con {
        padding-left: var(--padding-tablet) !important;
        padding-right: var(--padding-tablet) !important;
    }
} */

/* Mobile */
/* @media (max-width: 767px) {
    body .elementor-section > .elementor-container,
    body .e-con {
        padding-left: var(--padding-mobile) !important;
        padding-right: var(--padding-mobile) !important;
    }
} */

/* ========================================
   GLOBAL PADDING CONSISTENCY - ALL PAGES
   ======================================== */

:root {
    --max-content-width: 1400px;        /* Maximum content width */
    --padding-desktop-xl: 60px;         /* Extra large screens (1920px+) */
    --padding-desktop: 40px;            /* Desktop (1200px - 1919px) */
    --padding-laptop: 30px;             /* Laptop (1024px - 1199px) */
    --padding-tablet: 25px;             /* Tablet (768px - 1023px) */
    --padding-mobile: 20px;             /* Mobile (below 768px) */
}

/* ========================================
   ELEMENTOR SECTIONS & CONTAINERS
   ======================================== */

/* Boxed Sections */
body .elementor-section-boxed > .elementor-container {
    max-width: var(--max-content-width) !important;
    padding-left: var(--padding-desktop) !important;
    padding-right: var(--padding-desktop) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Full Width Sections */
body .elementor-section-full_width > .elementor-container {
    padding-left: var(--padding-desktop) !important;
    padding-right: var(--padding-desktop) !important;
}

/* Elementor Flex Containers (Newer Elementor) */
body .e-con-boxed,
body .e-con.e-parent:not(.e-con-full) {
    max-width: var(--max-content-width) !important;
    padding-left: var(--padding-desktop) !important;
    padding-right: var(--padding-desktop) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Full Width Containers */
body .e-con-full {
    padding-left: var(--padding-desktop) !important;
    padding-right: var(--padding-desktop) !important;
}

/* Inner Sections */
body .elementor-inner-section > .elementor-container {
    padding-left: var(--padding-desktop) !important;
    padding-right: var(--padding-desktop) !important;
}

/* ========================================
   RESPONSIVE BREAKPOINTS
   ======================================== */

/* Extra Large Screens (1920px and above) */
@media (min-width: 1920px) {
    body .elementor-section > .elementor-container,
    body .e-con {
        padding-left: var(--padding-desktop-xl) !important;
        padding-right: var(--padding-desktop-xl) !important;
    }
}

/* Desktop (1200px - 1919px) - Uses default --padding-desktop */

/* Laptop (1024px - 1199px) */
@media (max-width: 1199px) and (min-width: 1024px) {
    body .elementor-section > .elementor-container,
    body .e-con {
        padding-left: var(--padding-laptop) !important;
        padding-right: var(--padding-laptop) !important;
    }
}

/* Tablet (768px - 1023px) */
@media (max-width: 1023px) and (min-width: 768px) {
    body .elementor-section > .elementor-container,
    body .e-con {
        padding-left: var(--padding-tablet) !important;
        padding-right: var(--padding-tablet) !important;
    }
}

/* Mobile (below 768px) */
@media (max-width: 767px) {
    body .elementor-section > .elementor-container,
    body .e-con {
        padding-left: var(--padding-mobile) !important;
        padding-right: var(--padding-mobile) !important;
    }
}

/* ========================================
   WORDPRESS CORE BLOCKS (Gutenberg)
   ======================================== */

.wp-block-group,
.wp-block-cover,
.wp-block-columns {
    padding-left: var(--padding-desktop) !important;
    padding-right: var(--padding-desktop) !important;
}

@media (max-width: 1199px) and (min-width: 1024px) {
    .wp-block-group,
    .wp-block-cover,
    .wp-block-columns {
        padding-left: var(--padding-laptop) !important;
        padding-right: var(--padding-laptop) !important;
    }
}

@media (max-width: 1023px) and (min-width: 768px) {
    .wp-block-group,
    .wp-block-cover,
    .wp-block-columns {
        padding-left: var(--padding-tablet) !important;
        padding-right: var(--padding-tablet) !important;
    }
}

@media (max-width: 767px) {
    .wp-block-group,
    .wp-block-cover,
    .wp-block-columns {
        padding-left: var(--padding-mobile) !important;
        padding-right: var(--padding-mobile) !important;
    }
}

/* ========================================
   MAIN CONTENT WRAPPER (if theme has one)
   ======================================== */

#main,
#primary,
.site-content,
.main-content {
    padding-left: var(--padding-desktop) !important;
    padding-right: var(--padding-desktop) !important;
}

@media (max-width: 1199px) and (min-width: 1024px) {
    #main,
    #primary,
    .site-content,
    .main-content {
        padding-left: var(--padding-laptop) !important;
        padding-right: var(--padding-laptop) !important;
    }
}

@media (max-width: 1023px) and (min-width: 768px) {
    #main,
    #primary,
    .site-content,
    .main-content {
        padding-left: var(--padding-tablet) !important;
        padding-right: var(--padding-tablet) !important;
    }
}

@media (max-width: 767px) {
    #main,
    #primary,
    .site-content,
    .main-content {
        padding-left: var(--padding-mobile) !important;
        padding-right: var(--padding-mobile) !important;
    }
}

/* ========================================
   OVERRIDE ANY ZERO PADDING
   ======================================== */

/* Force minimum padding on all sections */
body .elementor-section,
body .e-con {
    min-padding-left: var(--padding-mobile) !important;
    min-padding-right: var(--padding-mobile) !important;
}

/* Prevent any section from having 0 padding */
body [class*="elementor"]:not([class*="widget"]):not([class*="icon"]) {
    padding-left: inherit !important;
    padding-right: inherit !important;
}

/* ========================================
   FONT CONSISTENCY
   ======================================== */

:root {
    --main-font-family: 'Arial', sans-serif;
}

/* Base body font */
body {
    font-family: var(--main-font-family);
}

/* Headings - Safe to force */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--main-font-family) !important;
}

.elementor-heading-title {
    font-family: var(--main-font-family) !important;
}

/* Paragraphs - Safe to force */
p {
    font-family: var(--main-font-family) !important;
}

/* Text editor widgets */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor span,
.elementor-text-editor {
    font-family: var(--main-font-family) !important;
}

/* Lists - Safe to force */
ul:not([class*="icon"]) li,
ol:not([class*="icon"]) li {
    font-family: var(--main-font-family) !important;
}

/* Tables - Safe to force */
td, th {
    font-family: var(--main-font-family) !important;
}

/* Forms - Safe to force */
input:not([type="submit"]):not([type="button"]), 
textarea, 
select, 
label {
    font-family: var(--main-font-family) !important;
}

/* Buttons - But NOT icon buttons */
.elementor-button-text,
button:not([class*="icon"]) span {
    font-family: var(--main-font-family) !important;
}

/* Accordion/Toggle text only */
.elementor-tab-title > span:not([class*="icon"]) {
    font-family: var(--main-font-family) !important;
}

/* DO NOT TOUCH - Icon elements */
i,
[class*="icon"],
[class*="fa-"],
[class*="eicon"],
.elementor-icon,
.elementor-icon-list-icon,
.elementor-icon-box-icon,
.elementor-social-icon,
.elementor-button-icon,
svg {
    font-family: inherit !important;
}



/* ========================================
   HIDE VIDEO CATEGORY DISPLAY
   ======================================== */

.aiovg-category {
    display: none !important;
}

/* Or be more specific if needed */
.aiovg-item-category,
.aiovg-link-category {
    display: none !important;
}


/* ========================================
   FIX SLICK SLIDER CLICKABLE LINKS
   ======================================== */

/* Ensure the link container is clickable */
.item--link {
    position: relative !important;
    z-index: 10 !important;
    pointer-events: auto !important;
}

/* Ensure links are clickable */
.item--link a {
    position: relative !important;
    z-index: 11 !important;
    pointer-events: auto !important;
    display: inline-block !important;
    cursor: pointer !important;
}

/* Prevent image from blocking clicks */
.item--icon {
    pointer-events: none !important;
}

/* Ensure inner container doesn't block */
.item--inner {
    position: relative !important;
}

/* Prevent any overlays from blocking clicks */
.slick-slide {
    pointer-events: auto !important;
}

/* Make sure the entire item holder allows clicks to pass through except on links */
.item--holder {
    pointer-events: none !important;
}

.item--holder * {
    pointer-events: none !important;
}

/* But keep the link clickable */
.item--link,
.item--link * {
    pointer-events: auto !important;
}


/* ========================================
   ENSURE FAC ICONS ARE ALWAYS VISIBLE
   ======================================== */

/* Force FAC icon family to be visible */
i.fac,
i[class*="fac-"],
.fac,
[class*="fac-"] {
    display: inline-block !important;
    font-family: inherit !important;
    font-style: normal !important;
    font-weight: normal !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Specific fix for angle-right icon in item links */
.item--link i.fac,
.item--link i[class*="fac-"] {
    margin-left: 5px !important;
    font-size: 14px !important;
    color: inherit !important;
    vertical-align: middle !important;
}

/* Fallback: Show arrow symbol if icon font fails */
i.fac.fac-angle-right:after {
    content: " →" !important;
    font-family: Arial, sans-serif !important;
    font-style: normal !important;
}

/* Make sure link has proper spacing for icon */
.item--link a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}


/* Remove the S-shaped border on the homepage slider for top reasons */
.ct-fancy-box-carousel2 .slick-slide::before,
.ct-fancy-box-carousel2 .slick-slide:before {
    display: none !important;
}
 
.ct-fancy-box-carousel2 .item--inner {
    display: flex;
    flex-direction: column;
    height: 480px;
}

.ct-fancy-box-carousel2 .item--icon {
    height: 240px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ct-fancy-box-carousel2 .item--icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ct-fancy-box-carousel2 .item--holder {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 20px 0 10px 0;
}

.ct-fancy-box-carousel2 .item--title {
    min-height: 70px;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.ct-fancy-box-carousel2 .item--description {
    flex: 1;
    min-height: 60px;
    line-height: 1.5;
}

.ct-fancy-box-carousel2 .item--link {
    margin-top: 10px;
    padding-top: 10px;
}

.ct-fancy-box-carousel2 .slick-slide > div {
    height: 100%;
}

.ct-fancy-box-carousel2 .slick-track {
    display: flex;
}

.ct-fancy-box-carousel2 .slick-slide {
    height: auto;
}

.ct-fancy-box-carousel2 .item--inner {
    display: flex;
    flex-direction: column;
    height: 520px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0 0 15px 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.ct-fancy-box-carousel2 .item--icon {
    height: 260px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px 8px 0 0;
}

.ct-fancy-box-carousel2 .item--icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ct-fancy-box-carousel2 .item--holder {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 20px 15px 10px 15px;
}

.ct-fancy-box-carousel2 .item--title {
    min-height: 70px;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.ct-fancy-box-carousel2 .item--description {
    flex: 1;
    min-height: 80px;
    line-height: 1.5;
}

.ct-fancy-box-carousel2 .item--link {
    margin-top: 10px;
    padding: 0 15px;
}

.ct-fancy-box-carousel2 .slick-slide > div {
    height: 100%;
}

.ct-fancy-box-carousel2 .slick-track {
    display: flex;
}

.ct-fancy-box-carousel2 .slick-slide {
    height: auto;
    padding: 10px;
}

.slick-slide {
    display: none;
    float: left;
    height: 100% !important;
    min-height: 1px;
}
.ct-fancy-box-carousel2 .item--inner .item--description {
    color: #4a7172;
    font-family: "Figtree", sans-serif;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 1.556;
}

.ct-fancy-box-carousel2 .item--link a i.fac {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.ct-fancy-box-carousel2 .item--link a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}


/* Grid approach for equal heights */
.slick-track {
    display: flex !important;
}

.slick-slide {
    height: auto !important;
}

.grid-item-inner {
    display: grid !important;
    grid-template-rows: 200px auto 1fr !important; /* image, title, description */
    height: 500px !important; /* Fixed total height */
    background: #fff !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1) !important;
    overflow: hidden !important;
}

.item--featured {
    height: 200px !important;
    overflow: hidden !important;
}

.item--featured-image {
    height: 100% !important;
}

.item--featured-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.item--meta {
    padding: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.item--title {
    margin: 0 0 15px 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    min-height: 46px !important;
}

.carousel-item .item--desc {
    font-size: 16px !important;
    line-height: 1.3 !important;
}





/*decrease padding below slider homepage */

.elementor-5147 .elementor-element.elementor-element-803b12c {
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 62px 0px 15px 0px !important;
}

#SR7_3_1-9-4 {
  background: linear-gradient(
    to bottom,
    #fff8e1 0%,
    #f7d98f 20%,
    #eac06b 40%,
    #d1a447 60%,
    #e8c574 80%,
    #fff2cc 100%
  ) !important;

  -webkit-background-clip: text !important;
  background-clip: text !important;

  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

#SR7_3_1-9-1 {
 background: linear-gradient(
    to bottom,
    #fff8e1 0%,
    #f7d98f 20%,
    #eac06b 40%,
    #d1a447 60%,
    #e8c574 80%,
    #fff2cc 100%
  ) !important;

  -webkit-background-clip: text !important;
  background-clip: text !important;

  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

#SR7_3_1-9-5 {
  color: rgba(255, 255, 255, 0.5) !important; /* white at 50% opacity */
  -webkit-text-fill-color: rgba(255, 255, 255, 0.5) !important;
  font-weight: 800 !important;
  background: transparent !important; /* ensures no gold or color behind */
}

/* Remove dark hover overlay */
.item--featured-image a::before,
.item--featured-image a::after {
    background: none !important;
    opacity: 0 !important;
}

.item--featured-image a:hover::before,
.item--featured-image a:hover::after {
    background: none !important;
    opacity: 0 !important;
}


/* Nuclear option for hover overlay removal */
 .slick-slide .item--featured *::before,
.slick-slide .item--featured *::after,
.slick-slide .item--featured .item--overlay,
.slick-slide .item--featured-image .item--overlay,
.slick-slide .item--featured .item--overlay-background,
.slick-slide .item--featured a::before,
.slick-slide .item--featured a::after {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    background: transparent !important;
    background-color: transparent !important;
}

.slick-slide .item--featured-image img {
    opacity: 1 !important;
    filter: none !important;
}

.slick-slide .item--featured-image:hover img,
.slick-slide .item--featured-image a:hover img {
    opacity: 1 !important;
    filter: none !important;
} 

.page-title-holder {
    display: none !important;
}
#pagetitle.bg-image {
   
    background-size: cover !important;

}


/* Remove all WOW.js animations */
.wow {
    animation-name: none !important;
    visibility: visible !important;
}

/* Remove any bounce specifically */
.bounce {
    animation: none !important;
}

/* Remove any hover animations */
#ct_service_grid-54d04a3 .grid-item-inner:hover,
#ct_service_grid-54d04a3 .item--featured a:hover,
#ct_service_grid-54d04a3 .item--title a:hover {
    transform: none !important;
    transition: none !important;
}

/* Disable all click events/redirects on this specific grid */
#ct_service_grid-2685403 .item--title a,
#ct_service_grid-2685403 .item--readmore {
    pointer-events: none !important;
    cursor: default !important;
}

/* Optional: Remove link styling since they're not clickable */
#ct_service_grid-2685403 .item--title a {
    text-decoration: none;
    color: inherit;
} 
/* Remove hover animations for this specific grid */
#ct_service_grid-6233252 .grid-item,
#ct_service_grid-6233252 .grid-item-inner,
#ct_service_grid-6233252 .item--featured,
#ct_service_grid-6233252 .item--featured img,
#ct_service_grid-6233252 .item--meta,
#ct_service_grid-6233252 .item--title,
#ct_service_grid-6233252 .item--title a {
    transition: none !important;
    transform: none !important;
}

#ct_service_grid-6233252 .grid-item:hover,
#ct_service_grid-6233252 .grid-item-inner:hover,
#ct_service_grid-6233252 .item--featured:hover,
#ct_service_grid-6233252 .item--featured img:hover,
#ct_service_grid-6233252 .item--meta:hover,
#ct_service_grid-6233252 .item--title:hover,
#ct_service_grid-6233252 .item--title a:hover {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
    scale: 1 !important;
}

/* Remove ALL animations from the service grid */
#ct_service_grid-54d04a3 * {
    animation: none !important;
    animation-delay: 0s !important;
    animation-duration: 0s !important;
    transition: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Specifically target the wow.js classes */
#ct_service_grid-54d04a3 .wow,
#ct_service_grid-54d04a3 .animated, 
#ct_service_grid-54d04a3 .fadeInUp {
    animation: none !important;
    animation-name: none !important;
    animation-delay: 0s !important;
    animation-duration: 0s !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Remove inline styles that control animations */
#ct_service_grid-54d04a3 .grid-item-inner {
    animation: none !important;
    animation-delay: 0s !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Remove any hover animations */
#ct_service_grid-54d04a3 .grid-item-inner:hover,
#ct_service_grid-54d04a3 .item--featured a:hover,
#ct_service_grid-54d04a3 .item--title a:hover {
    transform: none !important;
    transition: none !important;
}
/* Disable all click events/redirects on this specific grid */
#ct_service_grid-2685403 .item--title a,
#ct_service_grid-2685403 .item--readmore {
    pointer-events: none !important;
    cursor: default !important;
}


/* Remove link styling since they're not clickable */
#ct_service_grid-2685403 .item--title a {
    text-decoration: none;
    color: inherit;
}

.item--featured {
    height: 400px !important;
    overflow: hidden !important;
}

/* Remove all animations */
.ct-grid-masonry .grid-item-inner.wow {
    animation: none !important;
    visibility: visible !important;
}

.ct-grid-masonry .animate-time {
    animation: none !important;
}

/* Make cards 90% image, 10% title with uniform sizing */
.ct-grid-masonry .grid-item-inner {
    height: 300px;
    display: flex;
    flex-direction: column;
    border: 1px solid #e0e0e0;
    border-radius: 0; /* Sharp edges */
}

.ct-grid-masonry .item--featured {
    height: 90%;
    overflow: hidden;
}

.ct-grid-masonry .item--featured img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ct-grid-masonry .item--meta {
    height: 10%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    background: #f8f8f8;
}

.ct-grid-masonry .item--title {
    margin: 0;
    text-align: center;
    font-size: 16px;
    line-height: 1.2;
}

.ct-grid-masonry .item--title a {
    text-decoration: none;
    color: inherit;
}

/* Keep existing hover behavior for links only */
.ct-grid-masonry .item--title a:hover {
    color: inherit; /* Keep original link hover color */
}

/* Ensure cards remain clickable */
.ct-grid-masonry .grid-item-inner a {
    cursor: pointer;
}

/* Keep descriptions hidden by default but allow hover if needed */
.ct-grid-masonry .item--desc {
    display: none;
}


/* ========================================
   SERVICE GRID ONLY - 70% IMAGE, 30% CONTENT
   ======================================== */

/* Target ONLY service grid, NOT portfolio grid */
.ct-service-grid7 .grid-item-inner,
.ct-service-grid7 * {
    border-radius: 0 !important;
}

/* Card structure - ONLY for service grid */
.ct-service-grid7 .grid-item-inner {
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
    position: relative !important;
    border: 1px solid #e0e0e0 !important;
    transition: box-shadow 0.4s ease !important;
}

/* Remove animations */
.ct-service-grid7 .grid-item-inner.wow {
    animation: none !important;
    visibility: visible !important;
}

/* Image section - 70% */
.ct-service-grid7 .item--featured {
    height: 70% !important;
    flex: 0 0 70% !important;
    overflow: hidden !important;
    background: #000 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ct-service-grid7 .item--featured img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

/* Bottom section - 30% WHITE */
.ct-service-grid7 .item--meta {
    height: 30% !important;
    flex: 0 0 30% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 20px 15px !important;
    text-align: center !important;
    background: #fff !important;
    margin: 0 !important;
    position: relative !important;
    overflow: visible !important;
}

/* Title - ALWAYS visible */
.ct-service-grid7 .item--title {
    margin: 0 0 10px 0 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: center !important;
    color: #333 !important;
    transition: all 0.4s ease !important;
    z-index: 5 !important;
    position: relative !important;
    flex-shrink: 0 !important;
}

.ct-service-grid7 .item--title a {
    color: #333 !important;
    text-decoration: none !important;
}

/* Description - SCROLLABLE for long text */
.ct-service-grid7 .item--desc {
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #555 !important;
    padding: 0 10px 10px 10px !important;
    margin: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    transition: max-height 0.4s ease, opacity 0.4s ease, padding 0.4s ease !important;
    width: 100% !important;
}

/* Custom scrollbar styling */
.ct-service-grid7 .item--desc::-webkit-scrollbar {
    width: 6px !important;
}

.ct-service-grid7 .item--desc::-webkit-scrollbar-track {
    background: #f1f1f1 !important;
}

.ct-service-grid7 .item--desc::-webkit-scrollbar-thumb {
    background: #999 !important;
    border-radius: 3px !important;
}

.ct-service-grid7 .item--desc::-webkit-scrollbar-thumb:hover {
    background: #666 !important;
}

/* On HOVER - show description */
.ct-service-grid7 .grid-item-inner:hover .item--desc:not(:empty) {
    max-height: 120px !important;
    opacity: 1 !important;
    padding: 5px 10px 10px 10px !important;
}

/* Hover effect on card */
.ct-service-grid7 .grid-item-inner:has(.item--desc:not(:empty)):hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.15) !important;
}

/* NO hover effect on cards without description */
.ct-service-grid7 .grid-item-inner:has(.item--desc:empty),
.ct-service-grid7 .grid-item-inner:has(.item--desc[style*="display: none"]) {
    cursor: default !important;
}

/* Responsive */
@media (max-width: 1024px) {
    .ct-service-grid7 .grid-item-inner {
        height: 450px !important;
        min-height: 450px !important;
        max-height: 450px !important;
    }
}

@media (max-width: 768px) {
    .ct-service-grid7 .grid-item-inner {
        height: 380px !important;
        min-height: 380px !important;
        max-height: 380px !important;
    }
    
    .ct-service-grid7 .item--title {
        font-size: 16px !important;
    }
    
    .ct-service-grid7 .item--desc {
        font-size: 13px !important;
    }
    
    .ct-service-grid7 .grid-item-inner:hover .item--desc:not(:empty) {
        max-height: 100px !important;
    }
}

@media (max-width: 480px) {
    .ct-service-grid7 .grid-item-inner {
        height: 320px !important;
        min-height: 320px !important;
        max-height: 320px !important;
    }
    
    .ct-service-grid7 .grid-item-inner:hover .item--desc:not(:empty) {
        max-height: 80px !important;
    }
}


/* ========================================
   PORTFOLIO GRID - IMAGE WITH OVERLAY TITLE (FIXED)
   ======================================== */

/* Card structure */
.ct-portfolio-grid3 .grid-item-inner,
#ct_portfolio_grid-30af93e9 .grid-item-inner {
    position: relative !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
    border-radius: 0 !important;
    transition: box-shadow 0.3s ease !important;
    min-height: 400px !important;
    display: block !important;
}

/* Remove flip animation */
.ct-portfolio-grid3 .grid-item-inner.wow,
#ct_portfolio_grid-30af93e9 .grid-item-inner.wow {
    animation: none !important;
    visibility: visible !important;
}

/* Image section - fills entire card */
.ct-portfolio-grid3 .item--featured,
#ct_portfolio_grid-30af93e9 .item--featured {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
}

.ct-portfolio-grid3 .item--featured a,
#ct_portfolio_grid-30af93e9 .item--featured a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

/* Image fills card */
.ct-portfolio-grid3 .item--featured img,
#ct_portfolio_grid-30af93e9 .item--featured img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

/* Title with black overlay at BOTTOM - 15% */
.ct-portfolio-grid3 .item--title,
#ct_portfolio_grid-30af93e9 .item--title {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 15% !important;
    min-height: 50px !important;
    background: rgba(0, 0, 0, 0.5) !important; /* Lighter - 50% transparent */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 15px !important;
    margin: 0 !important;
    z-index: 10 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: center !important;
}

/* White text on overlay */
.ct-portfolio-grid3 .item--title a,
#ct_portfolio_grid-30af93e9 .item--title a {
    color: #fff !important;
    text-decoration: none !important;
    display: block !important;
    width: 100% !important;
}

.ct-portfolio-grid3 .item--title a:hover,
#ct_portfolio_grid-30af93e9 .item--title a:hover {
    color: #fff !important;
    opacity: 0.9 !important;
}

/* Hover effect */
.ct-portfolio-grid3 .grid-item-inner:hover,
#ct_portfolio_grid-30af93e9 .grid-item-inner:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.15) !important;
}

/* Sharp corners */
.ct-portfolio-grid3 *,
#ct_portfolio_grid-30af93e9 * {
    border-radius: 0 !important;
}

/* Responsive */
@media (max-width: 768px) {
    .ct-portfolio-grid3 .item--title,
    #ct_portfolio_grid-30af93e9 .item--title {
        height: 20% !important;
        font-size: 14px !important;
        min-height: 60px !important;
    }
}

/* Hide comments section site-wide */
.comments-area,
#comments,
#respond,
.comment-respond {
    display: none !important;
}



/* Align client logos vertically centered */
.ct-client-grid1 .grid-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 150px;
}

.ct-client-grid1 .client-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
}

.ct-client-grid1 .client-image img {
    max-height: 80px;
    width: auto;
    object-fit: contain;
}


/* ========================================
   DESK OPTIONS - REDUCE SPACING
   ======================================== */

.desk-wrapper {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

.desk-left-column {
    padding-right: 20px !important;
    margin: 0 !important;
}

.desk-right-column {
    padding-left: 20px !important;
    margin: 0 !important;
}

.elementor-element-09a6f2e {
    padding: 0 !important;
}

.elementor-element-09a6f2e .elementor-shortcode {
    padding: 0 !important;
    margin: 0 !important;
}

.desk-contact-card {
    margin-top: 0 !important;
}

/* Hide the entire Subscribe to calendar section */
.tribe-events-c-subscribe-dropdown {
    display: none !important;
}

/* Calendar Header Styles - Minimal */
.desk-calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding: 0 5px;
}

.desk-calendar-month {
    font-weight: 600;
    font-size: 16px;
    color: #333;
    text-align: center;
    flex-grow: 1;
    margin: 0 10px;
}

.desk-calendar-prev,
.desk-calendar-next {
    background: none !important;
    border: none !important;
    color: #333;
    width: auto;
    height: auto;
    border-radius: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
    padding: 0;
    margin: 0;
    box-shadow: none !important;
    outline: none;
}

.desk-calendar-prev:hover,
.desk-calendar-next:hover {
    background: none !important;
    border: none !important;
    color: #2196f3;
    transform: none;
}

.desk-calendar-prev:active,
.desk-calendar-next:active {
    background: none !important;
    transform: none;
}

.desk-calendar-prev:focus,
.desk-calendar-next:focus {
    outline: none;
    box-shadow: none !important;
}

/* Calendar Grid Styles */
.desk-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}

.desk-calendar-day-header {
    text-align: center;
    font-weight: 600;
    font-size: 12px;
    color: #666;
    padding: 8px 4px;
    text-transform: uppercase;
}

.desk-calendar-day {
    text-align: center;
    padding: 8px 4px;
    border-radius: 4px;
    cursor: pointer;
    border: 1px solid transparent;
    font-size: 14px;
    transition: all 0.2s ease;
}

.desk-calendar-day:hover:not(.empty):not(.disabled) {
    background: #e3f2fd;
    border-color: #2196f3;
}

.desk-calendar-day.selected {
    background: #2196f3;
    color: white;
    border-color: #1976d2;
    font-weight: 600;
}

.desk-calendar-day.empty {
    background: transparent;
    cursor: default;
    border: none;
}

.desk-calendar-day.disabled {
    color: #ccc;
    cursor: not-allowed;
    background: #f9f9f9;
    border: 1px solid #eee;
}


/* ========================================
   COMPANY DIRECTORY CARDS - UNIFORM HEIGHT
   ======================================== */

/* Card container - uniform height */
.company-card-inner {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 400px !important;
}

/* Logo section - fixed height */
.company-logo {
    flex: 0 0 auto !important;
    height: 120px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 15px !important;
}

.company-logo img {
    max-height: 100px !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

/* Company name - fixed height with line clamp */
.company-header {
    flex: 0 0 auto !important;
    min-height: 60px !important;
    max-height: 60px !important;
    margin-bottom: 15px !important;
    overflow: hidden !important;
}

.company-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important; /* Limit to 2 lines */
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-height: 42px !important; /* 2 lines × 21px line-height */
}

/* Contact section - takes remaining space */
.company-contact {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: auto !important;
}

.contact-item {
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

.contact-item strong {
    display: inline-block !important;
    min-width: 70px !important;
}

/* Responsive */
@media (max-width: 768px) {
    .company-card-inner {
        min-height: 350px !important;
    }
    
    .company-name {
        font-size: 15px !important;
    }
}

/* ========================================
   COMPANY DIRECTORY CARDS - FIX NAME OVERFLOW
   ======================================== */

/* Card container */
.company-card-inner {
    display: flex !important;
    flex-direction: column !important;
    min-height: 450px !important;
    padding: 20px !important;
    transition: min-height 0.3s ease !important;
}

/* Logo section */
.company-logo {
    flex: 0 0 auto !important;
    height: 100px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 15px !important;
}

.company-logo img {
    max-height: 80px !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

/* Company header - FIXED to prevent overlap */
.company-header {
    flex: 0 0 auto !important;
    min-height: 75px !important;
    max-height: 75px !important; /* Added max-height */
    margin-bottom: 15px !important;
    overflow: hidden !important; /* Added overflow hidden */
    display: flex !important;
    flex-direction: column !important;
}

/* Company name - STRICTLY limited to 2 lines */
.company-name {
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin: 0 0 5px 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-height: 44px !important; /* 2 lines max */
    flex-shrink: 0 !important;
}

/* Location - ALWAYS visible */
.company-location {
    font-size: 14px !important;
    color: #666 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    flex-shrink: 0 !important;
    line-height: 1.4 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Description - collapsible */
.company-description {
    flex: 0 0 auto !important;
    margin-bottom: 15px !important;
    position: relative !important;
}

.description-preview {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #555 !important;
    max-height: 63px !important;
    overflow: hidden !important;
    transition: max-height 0.3s ease !important;
}

.company-description.expanded .description-preview {
    max-height: 500px !important;
}

/* See More button */
.description-toggle {
    display: none !important;
    background: none !important;
    border: none !important;
    color: #0073aa !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    padding: 5px 0 !important;
    margin-top: 5px !important;
    text-decoration: underline !important;
}

.description-toggle:hover {
    color: #005177 !important;
}

.company-description.has-more .description-toggle {
    display: inline-block !important;
}

/* Contact section - ALWAYS at bottom */
.company-contact {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-top: auto !important;
}

/* Contact items - GRID for alignment */
.contact-item {
    display: grid !important;
    grid-template-columns: 70px 1fr !important;
    gap: 10px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    align-items: start !important;
}

.contact-item strong {
    text-align: left !important;
    font-weight: 600 !important;
}

.contact-item a {
    word-break: break-word !important;
    color: #0073aa !important;
    text-decoration: none !important;
}

.contact-item a:hover {
    text-decoration: underline !important;
}

/* Responsive */
@media (max-width: 768px) {
    .company-card-inner {
        min-height: 400px !important;
        padding: 15px !important;
    }
    
    .company-header {
        min-height: 70px !important;
        max-height: 70px !important;
    }
    
    .company-name {
        font-size: 16px !important;
    }
    
    .company-location {
        font-size: 13px !important;
    }
    
    .contact-item {
        font-size: 13px !important;
        grid-template-columns: 60px 1fr !important;
    }
}

/* For this specific section only */
.made-in-bay-layout .see-more-link {
    display: none !important; /* hide the link */
}

.made-in-bay-layout .description-preview {
    display: none !important; /* hide the preview div */
}

.made-in-bay-layout .description-full {
    display: block !important; /* always show full description */
}


/* Contact section - NO extra space */
.company-contact {
    flex: 0 0 auto !important; /* Changed from flex: 1 1 auto */
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important; /* Space between items only */
    margin-top: 15px !important; /* Changed from margin-top: auto */
    /* padding: 0 !important; */
}

/* Contact items - GRID for alignment */
.contact-item {
    display: grid !important;
    grid-template-columns: 70px 1fr !important;
    gap: 10px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    /* padding: 0 !important; */
    align-items: start !important;
}

/* Make all images the same height */
.ct-slick-carousel .item--image {
    height: 280px !important; /* Adjust this value as needed */
    overflow: hidden;
}

.ct-slick-carousel .item--image img,
.ct-slick-carousel .item--image-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Reduce space below item title */
.ct-slick-carousel .item--title {
    margin-bottom: 5px !important;
}

/* Reduce space between title and position */
.ct-slick-carousel .item--title {
    margin-bottom: 2px !important;
    line-height: 1.1;
}

.ct-slick-carousel .item--position {
    line-height: 1.2;
    margin-top: 0;
}

/* Reduce overall padding in the card content */
.ct-slick-carousel .item--holder {
    padding: 8px 5px !important; /* Reduced from likely 15-20px */
}

/* Make sure cards don't get taller */
.ct-slick-carousel .slick-slide,
.ct-slick-carousel .item--inner {
    height: auto !important;
}

/* Keep images equal height */
.ct-slick-carousel .item--image {
    height: 250px !important;
    overflow: hidden;
}

.ct-slick-carousel .item--image img,
.ct-slick-carousel .item--image-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Add space between side-by-side containers */
.elementor-element-9404cb9.e-con {
    margin-right: 40px !important; /* Space between video section and sidebar */
}

/* OR if they're flex items */
.e-con-inner {
    gap: 40px !important; /* Space between all flex children */
}

/* Alternative: Add padding to separate them */
.elementor-element-9404cb9.e-con {
    padding-right: 40px !important;
}

.elementor-element-edf927a.e-con {
    padding-left: 40px !important;
}

/* If using flexbox, ensure proper spacing */
.e-con-inner.e-flex {
    justify-content: space-between !important;
    gap: 40px !important;
}

/* Last resort: border spacing */
.elementor-element-9404cb9.e-con {
    border-right: 40px solid transparent !important;
}

/* Ensure Font Awesome icons are visible */
.fas, .far, .fab, .fac {
    font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Brands', 'Font Awesome 6 Free', 'Font Awesome 6 Brands', sans-serif !important;
    font-weight: 900 !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Specific weights for different icon types */
.fas, .fac { /* Solid icons */
    font-weight: 900 !important;
}

.far { /* Regular icons */
    font-weight: 400 !important;
}

.fab { /* Brand icons */
    font-family: 'Font Awesome 5 Brands', 'Font Awesome 6 Brands', sans-serif !important;
    font-weight: 400 !important;
}

/* Make sure icons have proper size and color */
.ct-contact-icon i,
.widget_search i,
.social-links i {
    font-size: 16px !important;
    color: inherit !important;
    visibility: visible !important;
}

/* Fix for search icon specifically */
.fac-search:before {
    content: "\\f002" !important; /* Font Awesome search icon code */
}

/* Ensure all icons are loaded and visible */
i[class*="fa-"] {
    font-style: normal !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Fix Font Awesome Calendar icon */
.fac-calendar-alt:before {
    content: "\f073" !important;
    font-family: 'Font Awesome 5 Free', 'Font Awesome 6 Free', sans-serif !important;
    font-weight: 900 !important;
}

/* Fix Material Design arrow icon (zmdi) */
.zmdi-long-arrow-up:before {
    content: "\f062" !important;
    font-family: 'Font Awesome 5 Free', 'Font Awesome 6 Free', sans-serif !important;
    font-weight: 900 !important;
}

/* Ensure all icons use Font Awesome */
.fac, .zmdi {
    font-family: 'Font Awesome 5 Free', 'Font Awesome 6 Free', sans-serif !important;
    font-weight: 900 !important;
    font-style: normal !important;
    display: inline-block !important;
}

/* Fix for all missing icons - comprehensive solution */
i[class*="fac-"]:before,
i[class*="zmdi-"]:before {
    font-family: 'Font Awesome 5 Free', 'Font Awesome 6 Free', sans-serif !important;
    font-weight: 900 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Specific icon mappings */
.fac-search:before { content: "\f002" !important; }
.fac-calendar-alt:before { content: "\f073" !important; }
.zmdi-long-arrow-up:before { content: "\f062" !important; }
.zmdi-long-arrow-down:before { content: "\f063" !important; }
.zmdi-long-arrow-left:before { content: "\f060" !important; }
.zmdi-long-arrow-right:before { content: "\f061" !important; }

.ct-menu-toggle.far.fac-angle-right {
    display: none !important;
}

.ct-header-branding-inner {
    margin-right: 50px !important; 
}


/* Force global heading sizes */
h4, .elementor-widget-heading h4 {
    font-size: 36px !important;
    font-weight: 600 !important;
}

h5, .elementor-widget-heading h5 {
    font-size: 32px !important;
    font-weight: 600 !important;
}

h6, .elementor-widget-heading h6 {
    font-size: 22px !important;
    font-weight: 600 !important;
}
h4.item--title {
    font-size: 32px !important;
}

/* Force H4 site-wide */
h4, 
h4[class*="elementor"], 
h4.item--title, 
.elementor-widget-heading h4,
.item--title.h4 {
    font-size: 36px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

h5, 
h5[class*="elementor"], 
h5.item--title, 
.elementor-widget-heading h5,
.item--title.h5 {
    font-size: 32px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

h6, 
h6[class*="elementor"], 
h6.item--title, 
.elementor-widget-heading h6,
.item--title.h6 {
    font-size: 22px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

.item--title {
    font-size: unset !important;
}
.entry-title a {
    color: inherit;
    display: block;
    font-size: 18px !important;
}

.menu-item-has-children > a[href*="events"] {
    pointer-events: none;
    cursor: default;
}


.menu-item-has-children > a[href*="events"] ~ .sub-menu {
    pointer-events: auto;
}

.menu-item-has-children > a[href*="partnerships"] {
    pointer-events: none;
    cursor: default;
}

.menu-item-has-children > a[href*="partnerships"] ~ .sub-menu {
    pointer-events: auto;
}

/* Center the Connect button */
.company-card .connect-button {
    display: block;
    margin: 0 auto;
}