/**
Theme Name: KLP
Author: iCreationslab
Author URI: https://icreationslab.com/
Description: KLP Theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: klp
Template: astra
*/

html {
    font-size: 62.5%; 
}

:root {
  /* Body: Fluid from 16px to 20px */
  --fluid-body: clamp(1rem, 0.91rem + 0.45vw, 1.25rem);

  /* H1: Fluid from 36px to 67px */
  --fluid-h1: clamp(2.25rem, 1.4rem + 4.2vw, 4.1875rem);

  /* Utility classes for your inconsistent headings */
  --h2-custom: clamp(1.75rem, 1.2rem + 2.5vw, 3rem); /* Approx 48px max */
  --h3-custom: clamp(1.5rem, 1.1rem + 1.8vw, 2.25rem); /* Approx 36px max */
}

.text-serif-alt {
   font-size: 1.1rem;
   font-weight: 600;
   letter-spacing: 0.05em;
}

a:focus, body .gform_wrapper input:focus, button:focus, .gform_validation_errors { outline:none !important; }
* { box-sizing:border-box; }
div, span, a, dl, dt, a, td, input, textarea, select, ul, li { box-sizing:border-box; }
img, footer div, .site-content div, .site-content svg { max-width:100%; }
#mobile-only-item, .mobile-only-item { display:none; }

a, .dropdown-menu-tems a:hover .elementor-heading-title, .material-icons, .n2-ss-slider a, body .n2-ss-slider a.n2-ow, .service-box img, .elementor-heading-title, .article-box .article-image-box .elementor-widget-image img, .elementor-icon-box-content, .network-box .network-title .elementor-heading-title, .network-button .elementor-heading-title, body .gform_wrapper #gform_submit_button_1.button-with-arrow .elementor-button-content-wrapper::after, .section-button-title:before, body .gform_wrapper .gform_footer button.gform_button.button-with-arrow, , body .gform_wrapper .dark_bg .gform_footer button.gform_button.button-with-arrow::after, .custom-upload-wrapper, .custom-upload-wrapper .upload-button, .custom-upload-bar { -webkit-transition: 0.4s; transition: 0.4s; }
/* Target the button and every possible inner layer */
.n2-ss-button-container a, .n2-ss-button-container:hover a, .n2-ss-button-container a span, .n2-ss-button-container:hover a span, .elementor-widget-image img {
   -webkit-transition: 0.4s !important; 
   transition: 0.4s !important;
}

.e-n-menu-item a.e-link, .e-n-menu-item:hover a.e-link { color:#fff; }
.dropdown-menu-tems a:hover .elementor-heading-title { color:#D4AF37 !important; }
.dropdown-image .elementor-widget-image, .success-boxes .elementor-widget-image { height:100%; }
.footer-links-column ul { flex-direction: column !important; }
.footer-links-column ul li:hover a { color:#fff !important; }

.main-header-glass.is-scrolled {
	background: rgba(49, 56, 75, 0.30) !important;
	backdrop-filter: blur(8.399999618530273px) !important;
	border-radius:10px;
}

.material-icons { border-radius: 100%; padding: 8px; background-color:#32363F; color:#fff; }
a:hover .material-icons, .white-arrow a:hover .material-icons, .blue-button .elementor-button:hover:after, .button-with-arrow .elementor-button:hover .elementor-button-content-wrapper::after { color:#D4AF37; background-color:#fff; }
.white-arrow .material-icons { background-color:#fff; color:#32363F; }

.button-with-arrow .elementor-button-content-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
}
.button-with-arrow .elementor-button-content-wrapper::after {
    content: 'arrow_forward'; /* The Material Icon code */
    font-family: 'Material Icons';
    font-size: 105%; /* Matches your snippet */
    margin-left: 0.6em; /* Matches your snippet */
    line-height: 1;
    transition: transform 0.3s ease;
	background: #fff;
	border-radius: 100%;
	color: #32363F;
	padding:9px;
}
.button-with-arrow:hover .elementor-button-content-wrapper::after {
	color:#D4AF37;   
}
.button-with-arrow .elementor-button {
    transition: all 0.3s ease-in-out;
}
.blue-button .elementor-button {
	background: var(--Linear, linear-gradient(90deg, #112063 39.36%, #515E9A 99.99%));	
}
.blue-button .elementor-button:hover, .button-with-arrow .elementor-button:hover {
	background:#D4AF37 !important;	
}
.white-button .elementor-button {
	border: 1px solid rgba(255, 255, 255, 0.66);
	background: rgba(255, 255, 255, 0.30) !important;
	backdrop-filter: blur(5.050000190734863px);
}
.white-button .elementor-button:hover {
	background:#D4AF37 !important;	
	border-color: #D4AF37;
}

.service-icons { padding:0 15px; display: flex; gap: 20px; }
.service-icons img { box-shadow: none !important; }

/* 1. Base Styles for the Circle */
.elementor-swiper-button {
    background-color: #C1C5CA !important; /* Default Gray */
    width: 50px !important;
    height: 50px !important;
    border-radius: 50%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
}

/* 2. Base Styles for the Icon */
.elementor-swiper-button::before {
    font-family: 'Material Icons';
    font-size: 105%;
    color: #ffffff;  /* Default Icon Color */
    line-height: 1;
    display: flex;
    justify-content: center;
    transition: all 0.3s ease-in-out;
}

/* 3. Hover States */
.elementor-swiper-button:hover {
    background-color: #253477 !important; /* Hover Deep Blue */
}

.elementor-swiper-button:hover::before {
    color: #D4AF37 !important; /* Hover Gold */
}

/* 4. Icon Content Mapping */
.elementor-swiper-button-next::before {
    content: 'arrow_forward';
}

.elementor-swiper-button-prev::before {
    content: 'arrow_back';
}

/* 5. Hide the default Elementor SVG */
.elementor-swiper-button svg {
    display: none !important;
}

/* 1. Position the Navigation Group */
.elementor-swiper-button {
    position: absolute !important;
    top: -200px !important; /* Adjust this to align with your description text */
    bottom: auto !important;
    z-index: 10;
}

/* 2. Move the Prev Button to the right side */
.elementor-swiper-button-prev {
    left: auto !important;
    right: calc(clamp(1.25rem, 9.76vw, 12.5rem) + 60px) !important; /* Space between the two buttons */
}

/* 3. Move the Next Button to the far right */
.elementor-swiper-button-next {
    right: clamp(1.25rem, 9.76vw, 12.5rem) !important; /* Align with the right edge of your grid */
}

.service-box .service-image-box .elementor-widget-image { overflow:hidden; }
.service-box:hover .service-image-box img, .article-box:hover .article-image-box .elementor-widget-image img { -moz-transform: scale(1.08); -webkit-transform: scale(1.08); transform: scale(1.08); }
.service-box:hover .elementor-heading-title { color:#253477 !important; }
.heading-with-border { padding:0 50px; }
.heading-with-border:after { content:''; display:block; background:#D4AF37; width:100%; height:1px; position:absolute; top:50%; left:0; right:0; margin:auto; }
.heading-with-border .elementor-heading-title { background:#fff; margin:0 60px; padding:0 35px; position:relative; z-index:1; }

/* 1. The Wrapper */
.klp-marquee {
    display: block !important;
    overflow: hidden !important;
    width: 100% !important;
    padding: 20px 0; /* Vertical padding so logos aren't cramped */
}

/* 2. The Internal Gallery Row */
.klp-marquee .gallery {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important; /* This handles the vertical middle align */
    width: max-content !important;
}

/* 3. The Individual Logo Container */
.klp-marquee .gallery-item {
    flex: 0 0 auto !important; /* Prevents the item from shrinking to 0 */
    width: auto !important;     /* Let the image define the width */
    margin: 0 30px !important;  /* Space between logos */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 4. The Image itself */
.klp-marquee .gallery-item img {
    display: block !important;
    width: auto !important;     /* Keep original aspect ratio */
    height: auto !important;
    max-height: 80px !important; /* Set your preferred uniform height */
    opacity: 1 !important;       /* Ensure they aren't being hidden by a transition */
    visibility: visible !important;
}
.article-box .read-more-text .elementor-heading-title { opacity:0; }
.article-box:hover .read-more-text .elementor-heading-title { opacity:1; }
.article-box:hover .article-title .elementor-heading-title { color:#253477 !important; }
.article-box .article-image-box .elementor-widget-image { overflow:hidden; }
.banner-page-title-box .elementor-widget-heading:before { content: '•'; color: #D4AF37; font-size: 30px; line-height: 1; margin-top: -1px; }
.banner-page-title-box .elementor-widget-heading { display:flex; gap:15px; }
.team-contact a { text-decoration:underline; }

.ast-separate-container .ast-article-post, .ast-separate-container .ast-article-single { padding:0 !important; }
.back-button { cursor:pointer; }
.wp-block-list, .elementor-widget-text-editor ul { margin-left:1em; }
.wp-block-list li, .elementor-widget-text-editor ul li { padding-bottom:15px; padding-left: 5px; }
.wp-block-list li::marker, li::marker { color: #D4AF37; }
.network-box:hover .network-title .elementor-heading-title { color:#253477 !important; }
.network-button .elementor-heading-title { opacity:0; }
.network-box:hover .network-button .elementor-heading-title { opacity:1; }
.service-detail-container { }
.service-detail-container h2 { padding-top:25px; padding-bottom:18px; }
.service-detail-container a { text-decoration:underline; }
.page-numbers.current:before { content:' ( '; padding-right:5px; }
.page-numbers.current:after { content:' ) '; padding-left:5px; }

/* gravity form */
.gform_required_legend { display:none; }
body .gform_wrapper form, .gform-theme--framework .gform_validation_errors .gform_submission_error { position:relative; font-family: "Figtree", "Inter", Arial, Helvetica, sans-serif; }
body .gform_wrapper .gform_fields { column-gap: 20px; row-gap: 17px; }
body .gform_wrapper .top_label .gfield_label { font-size: 20px; font-weight:300; color: #fff; }
body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) , body .gform_wrapper select, body .gform_wrapper select , body .gform_wrapper.gf_browser_chrome select, body .gform_wrapper.gravity-theme .gfield textarea, body .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true], body .gform_wrapper select, body .gform_wrapper select , body .gform_wrapper.gf_browser_chrome select, body .gform_wrapper.gravity-theme .gfield select, body .gform_wrapper .gfield textarea, body .gform-theme--framework .gfield:where(.gfield--type-multiselect,.gfield--input-type-multiselect) .chosen-container-multi { border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.36); background: rgba(180, 193, 207, 0.13); padding: 16px 29px; backdrop-filter: blur(20px); font-size: 20px; font-weight:300; color:#32363F; width: 100%; font-family:"Figtree", "Inter", Arial, Helvetica, sans-serif; min-height: auto; line-height: 1.2; outline:none !important; height:auto; }
body .gform_wrapper .gfield textarea, body .gform_wrapper.dark_bg_wrapper .gfield textarea { padding-top:25px !important; padding-bottom:25px !important; }
 body .gform_wrapper .gfield textarea.small { height:212px !important; }
body .gform_wrapper .gform_footer input.button, body .gform_wrapper .gform_footer input[type=submit], body .gform_wrapper .gform_page_footer input.button, body .gform_wrapper .gform_page_footer input[type=submit] { line-height: 1; font-family: "Figtree", "Inter", Arial, Helvetica, sans-serif; border: 0; background: none; font-size: 16px; color: #fff; font-weight: normal; padding: 18px 24px 18px 28px; display: inline-block; text-transform: uppercase; position: relative; letter-spacing: 1.5px; z-index: 0; cursor:pointer;
	-webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out; }
body .gform_wrapper .gform-field-label--type-inline:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) { font-size:18px; font-weight:300; padding-left: 8px; }
body .gform_wrapper input[type=checkbox], body .gform_wrapper input[type=checkbox]:focus { background:none; border: 2px solid #000; border-radius: 5px; }
body .gform_wrapper input[type=checkbox]::before { color:#32363F; }
body .gform_wrapper .gform_footer input.button:hover , body .gform_wrapper .gform_footer input[type=submit]:hover , body .gform_wrapper .gform_page_footer input.button:hover , body .gform_wrapper .gform_page_footer input[type=submit]:hover { }
.gform_wrapper.gravity-theme .gform_footer, .gform_wrapper.gravity-theme .gform_page_footer { display:inline-block; }
body .gform_wrapper.gravity-theme .gform_fields { grid-row-gap: 35px; grid-column-gap: 4%;}
.gform_wrapper .gform_validation_errors>h2 {  padding-bottom:0; font-style:normal; }
body .gform_wrapper.gravity-theme .validation_message { color:#ea6363; padding: 0 5px; font-size: 15px; font-weight: 300; background: none; border: 0; text-align: left; }
body .gform_wrapper .gfield_error [aria-invalid=true] { border: 1px solid #5e5e5e; }
body .gform_wrapper [aria-invalid=true]+label { color:#000; }
body .gform_wrapper .gform_validation_errors { background: #ce2929; margin: 0 0 25px; padding: 18px 25px; }
body .gform_wrapper .gform_validation_errors>h2 { color:#fff !important; font-size: 15px !important; font-weight: 300 !important; }
body .gform_wrapper.gravity-theme .gsection.noborder { border:0; padding:0; }
body .gform_wrapper.gravity-theme .gsection { border: 0; border-top: 1px solid #d7d7d7; padding: 30px 0 0; }
body .gform_wrapper.gravity-theme .gfield.total_price { font-size:21px; font-weight:bold; color:#000000; text-align: right; padding: 15px 65px 15px 15px; }
body .gform_wrapper.gravity-theme .gform_footer { position:relative; padding:0; margin:25px 0 0; display: inline-block; }
body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]).datepicker { background:url(images/date.png) no-repeat 97% center; }
body .gform_wrapper.gravity-theme .gfield { align-self: center; }
body .gform_wrapper .iti__dropdown-content { color:#000; }
body .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] { border-color:#fff; }
body .gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label, body .gform_wrapper.gravity-theme .gfield_error label, body .gform_wrapper.gravity-theme .gfield_error legend, body .gform_wrapper.gravity-theme [aria-invalid=true]+label, body .gform_wrapper.gravity-theme label+[aria-invalid=true] { color:#fff; }
body .gfield_description:not(.validation_message) { color:#78797D; font-size:16px !important; font-style:italic !important; line-height:1.33 !important; font-weight: 300 !important; font-family: "Figtree", "Inter", Arial, Helvetica, sans-serif; }
body .gform_wrapper .dark_bg .gfield_description:not(.validation_message) { color:#fff; }
body .gfield_description.validation_message { font-size: 16px; font-weight: 400; color: #ff0000 !important; }
body .dark_bg .gfield_description.validation_message { color: #FF6B6B !important; }

/*body .gform_wrapper.gravity-theme .gform_footer:before { content:''; display:block; background:url(images/newsletterbtn.png) no-repeat center; background-size: 18px; border: 1px solid #fff; border-radius: 100%; width: 43px; height: 43px; position: absolute; top: 5px; left: 7px; z-index: 1; pointer-events: none;  }*/
body .gform_wrapper .gform_validation_errors>h2 .gform-icon { display:none; }
body .gform_wrapper select option { }
body .gform_wrapper.gravity-theme .gfield.span2 { grid-column: span 2; }
body .gform_wrapper.gravity-theme .gfield.span10 { grid-column: span 10; }

body .gform_wrapper input::-webkit-input-placeholder,
body .gform_wrapper textarea::-webkit-input-placeholder { color: #8B8E94 !important; opacity: 1; }
body .gform_wrapper input::placeholder,
body .gform_wrapper textarea::placeholder { color: #8B8E94 !important; opacity: 1; }
body .gform_wrapper input::-moz-placeholder,
body .gform_wrapper textarea::-moz-placeholder { color: #8B8E94 !important; opacity: 1; }

body .gform_wrapper .dark_bg input::-webkit-input-placeholder,
body .gform_wrapper .dark_bg textarea::-webkit-input-placeholder { color: #A7AFBD !important; opacity: 1; }
body .gform_wrapper .dark_bg input::placeholder,
body .gform_wrapper .dark_bg textarea::placeholder { color: #A7AFBD !important; opacity: 1; }
body .gform_wrapper .dark_bg input::-moz-placeholder,
body .gform_wrapper .dark_bg textarea::-moz-placeholder { color: #A7AFBD !important; opacity: 1; }

select, body .gform_wrapper select, body .gform_wrapper select, body .gform_wrapper.gf_browser_chrome select, body .gform_wrapper.gravity-theme .gfield_error select[aria-invalid=true], body .gform-theme--framework .gfield:where(.gfield--type-multiselect,.gfield--input-type-multiselect) .chosen-container-multi { -webkit-appearance: none; -moz-appearance: none; text-overflow: ''; background-image:url(asset/images/select_arrow_dark.svg) !important; background-repeat:no-repeat  !important; background-position:96% center  !important; background-size: 14px; }
.dark_bg select, body .gform_wrapper .dark_bg select, body .gform_wrapper .dark_bg select, body .gform_wrapper.gf_browser_chrome .dark_bg select, body .gform_wrapper.gravity-theme .dark_bg .gfield_error select[aria-invalid=true], body .gform-theme--framework .dark_bg .gfield:where(.gfield--type-multiselect,.gfield--input-type-multiselect) .chosen-container-multi  { background-image:url(asset/images/select_arrow.svg) !important; }
body .gform_wrapper .gfield--width-quarter select { background-position:92% center; }
body .gform_wrapper .gfield--width-half select { background-position:96% center; }

body .gform_wrapper .ginput_container_consent { font-size:16px; align-items: center; }
body .gform_wrapper .ginput_container_consent a { text-decoration:underline; }
body .gform_wrapper.gravity-theme .gform_validation_errors { background: #ce2929; border: 0; margin:0 0 25px; padding: 15px 15px; text-align: center; }
body .gform_wrapper.gravity-theme .gform_validation_errors>h2 { color:#fff; text-transform: none; font-size: 15px; font-weight: normal; }
body .gform_wrapper.gravity-theme .gfield .ginput_container_consent label span, body .gform_wrapper.gravity-theme .gfield .ginput_container_checkbox label span { display:inline-block; *display:inline; zoom:1; vertical-align:middle; width:calc( 100% - 30px ); font-size:13px; color:#737373; }
body .gform_wrapper.gravity-theme .gfield .gchoice label { font-size:13px; color:#717070; }
body .gform_wrapper.gravity-theme .gfield .ginput_container_consent label span.gfield_required_asterisk, body .gform_required_legend { display:none; }
body .gform_wrapper.gravity-theme .ginput_container_checkbox { padding:0 0 0 15px; }
body .gform_wrapper.gravity-theme .gfield textarea, body .gform_wrapper.gravity-theme .gfield textarea.small, body .gform_wrapper.gravity-theme .gfield textarea[aria-invalid=true] { padding:17px 22px; height:166px !important; border:1px solid #fff; }
body .gform_wrapper.gravity-theme .gfield.gfield--type-fileupload label { font-size:13px; color:#969696; font-weight: 500; }
body .gform_wrapper.gravity-theme .gfield.gfield--type-fileupload .gform_fileupload_rules { font-size:12px; font-weight: 500; color:#acabab; padding: 0; }
body .gform_wrapper.gravity-theme .gfield .ginput_container_checkbox label span { font-weight:500; font-size:13px; color:#717070; }
body .gform_wrapper.gravity-theme .gfield .ginput_container_checkbox label span.note { font-weight:normal; width:100%; color:#a5a5a5; }
body .gform_wrapper.gravity-theme .gfield .ginput_container_checkbox label span.preview { padding:13px 0 0; }
body .gform_wrapper.gravity-theme .gfield.align_top { align-self: auto; }
body .gform_wrapper.gravity-theme .gfield.align_top .gchoice input[type="checkbox"] + *::before { vertical-align: top; margin-top: 2px; }
body .gform_wrapper.gravity-theme .ginput_complex { }
body .gform_wrapper.gravity-theme .ginput_container_address span { flex: auto; }
body .gform_wrapper.gravity-theme .ginput_container_address .ginput_left { padding-right:0; }
body .gform_wrapper select option { color:#000; }
body .gform_wrapper.dark_bg_wrapper select option { color:#fff; }
body .gform_wrapper.gravity-theme .gform_footer { position:relative; z-index:0; }
body .gform_wrapper.gravity-theme .gform_validation_errors>h2 .gform-icon { display:none; }

body .gform_wrapper .gform_footer { padding:15px 0; }
body .gform-theme--foundation .chosen-container-multi .chosen-choices { padding:0 !important; }
body .gform-theme--foundation .chosen-container-multi.chosen-container-active { outline:none !important; }
body .gform-theme--framework .gfield:where(.gfield--type-multiselect,.gfield--input-type-multiselect) .chosen-container-multi.chosen-container-active { border-color:rgba(255, 255, 255, 0.36); }
body .gform-theme--framework .gfield:where(.gfield--type-multiselect,.gfield--input-type-multiselect) .chosen-container-multi { padding:8px 50px 8px 8px; }
body .gform-theme--foundation .chosen-container-multi .chosen-choices li.search-field input.chosen-search-input { backdrop-filter: none !important; padding-top:7px !important; padding-bottom:7px !important; padding-left:21px !important; color: #8B8E94 !important; }
body .gform-theme--foundation .dark_bg .chosen-container-multi .chosen-choices li.search-field input.chosen-search-input { color:rgba(255, 255, 255, 0.5) !important; }

/* We use 'body' and 'input.gform_button' to ensure we outscore the plugin defaults */
body .gform_wrapper .gform_footer input.gform_button.button-with-arrow,
body .gform_wrapper .gform_footer button.gform_button.button-with-arrow,
body .gform_wrapper .gform_page_footer input.gform_button.button-with-arrow {
    background: #32363F !important; /* Force the dark color */
    color: #ffffff !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 60px !important;
    padding: 11px 15px 11px 28px !important;
    font-size: 21px !important;
    font-family: "Figtree", sans-serif !important;
    cursor: pointer;
    text-transform: none !important;
    min-width: 200px;
}

/* Hover State */
body .gform_wrapper .gform_footer button.gform_button.button-with-arrow:hover {
    background: #D4AF37 !important;
}

/* 3. The Arrow Icon (Material Design) */
body .gform_wrapper button.gform_button.button-with-arrow::after {
    content: 'arrow_forward'; /* The Material Icon name */
    font-family: 'Material Icons';
    font-size: 105%;
    margin-left: 0.6em;
    line-height: 1;
    background: #ffffff !important;
    border-radius: 100%;
    color: #32363F;
    padding: 9px;
    display: inline-block;
    transition: transform 0.3s ease, color 0.3s ease;
}

/* Styling the Select2/Enhanced UI tags for your brand */
.gform_wrapper .chosen-container-multi .chosen-choices .search-choice,
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #D4AF37 !important; border: none !important; color: #fff !important; padding:10px 30px 10px 15px !important; border-radius: 4px !important; font-size: 20px !important; font-weight: 300 !important; margin: 0 !important;
}
.gform_wrapper .chosen-container-multi .chosen-choices .search-choice:first-child { }

/* Fix the text color inside the dropdown for dark themes */
.chosen-container .chosen-results, .select2-dropdown {
    color: #32363F !important; /* Dark text for readability in the list */
}

.gform-theme--framework .gfield:where(.gfield--type-multiselect,.gfield--input-type-multiselect) .chosen-container-multi.chosen-container-active { outline:none; }

/* 1. Force the container to sit higher when active */
.chosen-container.chosen-with-drop {
    z-index: 9999 !important;
}

/* 2. Ensure the dropdown itself is on top of everything */
.chosen-container .chosen-drop {
    z-index: 99999 !important;
    position: absolute !important;
    background: #ffffff !important; /* Chosen needs a solid background to be readable */
    border: 1px solid rgba(255, 255, 255, 0.36) !important;
    border-radius: 0 0 10px 10px;
    margin-top: -1px; /* Joins it perfectly to the field above */
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

/* 3. Dark Mode Fix: Since the drop is white, ensure the text inside is dark */
.chosen-container .chosen-results li {
    color: #32363F !important;
    padding: 10px 20px !important;
}

/* 4. Fix for parent container clipping */
.gfield--type-multiselect {
    overflow: visible !important; /* If the parent has overflow:hidden, the drop disappears */
}

/* Force the Chosen container to be visible and full-width */
.chosen-container {
    width: 100% !important;
}

.chosen-container-multi .chosen-choices {
    min-height: 40px; /* Adjust to match your design */
    padding: 5px;
}

body .gform_wrapper .chosen-container-multi .chosen-choices li.search-choice { line-height:1 !important; }

/* =========================
   TOM SELECT - MATCH CHOSEN
========================= */

/* Main wrapper */
body .gform_wrapper .ts-wrapper.multi {
    width: 100%;
}

body .gform_wrapper .ts-wrapper {
	position:relative;	
}

/* Main field */
body .gform_wrapper .ts-control {
    box-shadow: none !important;
    min-height: 58px;
	border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.36) !important;
    background: rgba(145, 189, 239, 0.13) url(asset/images/select_arrow_dark.svg) no-repeat 95% center !important;
    padding: 16px 29px !important;
    backdrop-filter: blur(20px);
    font-size: 20px;
    font-weight: 300;
    color: #ffffff;
    width: 100%;
    font-family: "Figtree", "Inter", Arial, Helvetica, sans-serif;
    min-height: auto;
    line-height: 1.2;
    outline: none !important;
    height: auto;
}

body .gform_wrapper.dark_bg_wrapper .ts-control {
	background-image:url(asset/images/select_arrow.svg) !important;	
}

/* Active state */
body .gform_wrapper .ts-wrapper.focus .ts-control {
    outline: none !important;
    box-shadow: none !important;
    border-color: rgba(255,255,255,0.36) !important;
}

/* Input text */
body .gform_wrapper .ts-control input {
    color: #ffffff !important;
    font-size: 20px !important;
    font-family: inherit !important;
	background:none !important;
	backdrop-filter: none !important;
}

/* Dark bg input */
body .dark_bg .gform_wrapper .ts-control input {
    color: rgba(255,255,255,0.5) !important;
}

/* Selected tags */
body .gform_wrapper .ts-wrapper.multi .ts-control > div {
    background: #D4AF37 !important;
    border: none !important;
    color: #fff !important;
    padding: 6px 5px 6px 13px !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    margin: 4px !important;
    line-height: 1 !important;
}

body .ts-dropdown-content {
    overflow: hidden auto;
    max-height: 200px;
    scroll-behavior: smooth;
}

/* Remove button */
body .gform_wrapper .ts-wrapper.plugin-remove_button .item .remove {
    border-left: none !important;
    color: #fff !important;
    font-size: 18px;
    margin-left: 10px;
}

/* Dropdown */
body .gform_wrapper .ts-dropdown {
	position: absolute;
	top:100%;
	left:0;
	width:100%;
    background: #ffffff !important;
    border: 1px solid rgba(255,255,255,0.36) !important;
    border-radius: 0 0 10px 10px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    z-index: 99999 !important;
}

/* Dropdown option */
body .gform_wrapper .ts-dropdown .option {
    color: #32363F !important;
    padding: 10px 20px !important;
	font-size:16px;
}

/* Hover option */
body .gform_wrapper .ts-dropdown .option.active {
    background: #f5f5f5 !important;
}

/* Fix clipping */
body .gform_wrapper .gfield--type-multiselect {
    overflow: visible !important;
}

body .gform_wrapper .gform_fileupload_rules { display:none; }
label.custom-upload-bar {
    display: flex !important; /* Vital for the layout */
    align-items: center;
    justify-content: space-between;
    background: rgba(145, 189, 239, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.36);
    border-radius: 10px;
    padding: 6px 6px 6px 29px;
    backdrop-filter: blur(20px);
    cursor: pointer !important;
    min-height: 57.6px;
    width: 100%;
}

/* Ensure nothing inside the label blocks the click from reaching the input */
.upload-placeholder, .upload-button {
    pointer-events: none;
}
.custom-upload-wrapper .upload-placeholder { 
	font-size: 20px; 
    font-weight: 300; 
    color: rgba(255, 255, 255, 0.5); /* Default placeholder-style gray */
    font-family:"Figtree", "Inter", Arial, Helvetica, sans-serif;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 65%;
    pointer-events: none;
}
.custom-upload-wrapper .upload-button {
	background: #7B8393;
    padding: 13px 20px;
    border-radius: 5px;
    font-size: 18px; 
    font-weight: 300; 
    color: #ffffff; 
    font-family:"Figtree", "Inter", Arial, Helvetica, sans-serif;
    pointer-events: none;
    transition: background 0.3s ease;
}
.custom-upload-bar:hover .upload-button { background-color:#D4AF37; color:#fff; }

body .gform_wrapper.dark_bg_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) , body .gform_wrapper.dark_bg_wrapper select, body .gform_wrapper.dark_bg_wrapper select , body .gform_wrapper.dark_bg_wrapper.gf_browser_chrome select, body .gform_wrapper.dark_bg_wrapper.gravity-theme .gfield textarea, body .gform_wrapper.dark_bg_wrapper.gravity-theme .gfield_error [aria-invalid=true], body .gform_wrapper.dark_bg_wrapper select, body .gform_wrapper.dark_bg_wrapper select , body .gform_wrapper.dark_bg_wrapper.gf_browser_chrome select, body .gform_wrapper.dark_bg_wrapper.gravity-theme .gfield select, body .gform_wrapper.dark_bg_wrapper .gfield textarea { border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.36); background: rgba(145, 189, 239, 0.13); padding: 16px 29px; backdrop-filter: blur(20px); font-size: 20px; font-weight:300; color:#ffffff; width: 100%; font-family:"Figtree", "Inter", Arial, Helvetica, sans-serif; min-height: auto; line-height: 1.2; outline:none !important; height:auto; }
body .gform_wrapper.dark_bg_wrapper .gfield_description { color:#fff; }
body .gform_wrapper.dark_bg_wrapper, body .gform_wrapper.dark_bg_wrapper .gform-field-label--type-inline:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), body .gform_wrapper.dark_bg_wrapper .ginput_container_consent a { color:#fff; }
body .gform_wrapper.dark_bg_wrapper input[type=checkbox]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) { border-color:#fff; }

/* Dark Wrapper Specifics */
body .gform_wrapper .dark_bg .button.button-with-arrow, body .gform_wrapper .dark_bg .gform_footer button.gform_button.button-with-arrow {
    background: #fff !important;
    color: #32363F !important;
}

body .gform_wrapper .dark_bg .button.button-with-arrow .elementor-button-content-wrapper::after {
    background-color: #32363F !important;
    color: #fff !important;
}

/* Dark Wrapper Hover */
body .gform_wrapper .dark_bg .gform_footer button.gform_button.button-with-arrow:hover {
    background: #D4AF37 !important;
    color: #fff !important;
}

body .gform_wrapper .dark_bg .button.button-with-arrow:hover .elementor-button-content-wrapper::after {
    color: #D4AF37 !important;
    background-color: #fff !important;
}
body .dark_bg input[type=checkbox]::before { color:#fff; }
body .dark_bg input[type=checkbox]::before { color:#fff; }
body .dark_bg .gfield_description:not(.validation_message) { color:#fff; }



.section-button-title { display:flex; align-items: center; cursor:pointer; }
.section-button-title:before { content:''; width:47px; height:1px; background:none; }
.section-button-title .elementor-heading-title { width:calc( 100% - 47px ); }
.section-button-title.active:before { background:#D4AF37; }
.section-button-title.active .elementor-heading-title { color:#D4AF37 !important; }
.section-button-title:hover .elementor-heading-title { color:#D4AF37 !important; }

.office-info-box a { color:#32363F; text-decoration:underline; }
.google-map-container iframe { width:100%; display:block; }
.full-height .elementor-widget-image { height:100%; }
.search-term { color:#D4AF37; }
.search-results-container .elementor-post__card { border-left:0 !important; border-right:0 !important; border-top:0 !important; }
.search-results-container .search-result-row:hover .elementor-heading-title { color:#253477 !important; }

/* 1. Make the article container the relative anchor */
.search-results-container .elementor-post {
    position: relative;
    transition: all 0.3s ease;
}

/* 2. Create an invisible 'overlay' from the title link */
.search-results-container .elementor-post__title a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1; /* Ensures it sits on top of the card */
}

/* 3. Optional: Add a hover effect to indicate the whole area is clickable */
.search-results-container .elementor-post:hover {
    background-color: rgba(0, 0, 0, 0.02); /* Slight tint on hover */
    cursor: pointer;
}
.search-results-container .elementor-post:hover .elementor-post__title a {
	color:#253477 !important;
}
.page-numbers.current { color:#D4AF37 !important; }
.whatsapp-button a { padding:13px 13px 11px 14px; }
button.e-n-menu-toggle:hover, button.e-n-menu-toggle:focus { background:none !important; }
.elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-wrapper { padding: 15px 0; background: #e7ebf4; }
.elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title { border:0 !important; }
.elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title a { padding-top: 5px; padding-bottom: 5px; }
.service-list-box:hover { background:#D4AF37; }
.service-list-box:hover .elementor-heading-title,
.service-list-box:hover .service-short-desc .elementor-icon-list-text { color:#fff !important; }