$gf = jQuery.noConflict(); $gf(document).ready(function () { $gf('body').on('click', '#refresh-google-fonts', function () { $gf(this).next('.spinner').css({'display':'inline-block','float':'none','vertical-align': 'middle','visibility':'visible'}); var data = { action: 'ultimate_google_fonts_refresh', security: uavc.google_font_nonce, }; // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php $gf.post(ajaxurl, data, function(response) { var object = jQuery.parseJSON(response); var count = object.count; var msg = object.message; if(count == 0) { var dmsg = msg; } else { var dmsg = msg+' Please wait, Page is reloading.'; window.location.reload(true); } $gf('#vc-gf-msg').html('
'+dmsg+'
').hide(); $gf('#vc-gf-msg').slideDown(300); $gf('#refresh-google-fonts').next('.spinner').css({'display':'none'}); setTimeout(function(){ $gf('#vc-gf-msg').slideUp(300); },4000); }); }); $gf('body').on('click', '.add-google-font', function () { var button = $gf(this); var font_family = $gf(this).attr('data-font_family'); var font_name = $gf(this).attr('data-font_name'); if(!button.hasClass('font-added')) { button.next('.spinner').show(); button.next('.spinner').css({'float':'right','visibility':'visible'}); var variants_array = new Array(); var subsets_array = new Array(); button.parent().find('.variants').find('.font-variant').each(function (iv, variant) { $v = $gf(variant); var temp_arr = {}; var variant_value = $v.find('.font-variant-inputs').val(); temp_arr['variant_value'] = variant_value; if ($v.find('.font-variant-inputs').is(':checked')) { temp_arr['variant_selected'] = true; } else { temp_arr['variant_selected'] = false; } variants_array.push(temp_arr); }); button.parent().find('.subsets').find('.font-subset').each(function (iv, subset) { $s = $gf(subset); var temp_arr = {}; var subset_value = $s.find('.font-subset-inputs').val(); temp_arr['subset_value'] = subset_value; if ($s.find('.font-subset-inputs').is(':checked')) { temp_arr['subset_selected'] = true; } else { temp_arr['subset_selected'] = false; } subsets_array.push(temp_arr); }); var data = { action: 'add_google_font', font_family: font_family, font_name: font_name, variants: variants_array, subsets: subsets_array, security: uavc.add_google_fonts }; $gf.post(ajaxurl, data, function(response) { // console.log(response); button.next('.spinner').hide(); button.val('Added in collection'); button.addClass('font-added'); //if(variants_array.length > 0) if(variants_array.length > 0 || subsets_array.length > 0) var xclass = 'have-variants'; else var xclass = ''; var gshtml = '
'+font_name+'
'; if(variants_array.length > 0) gshtml += ''; gshtml += '
'; if(variants_array.length > 0 || subsets_array.length > 0) { gshtml += '
'; if(temp = font_name.split(' ')) { var ctemp = temp.length; var temp_id = ''; $gf.each(temp,function (i, val) { temp_id += val; if ((ctemp-1) != i) temp_id += '-'; }) } else var temp_id = font_name; var temp_subset_class = ''; if(variants_array.length > 0) { gshtml += '
'; $gf.each(variants_array, function(index, variant){ var lid = temp_id+'-dynamic-'+variant.variant_value+'-'+index; var font_style = 'font-family:\''+font_name+'\';'; if(/italic/i.test(variant.variant_value)) { font_style += 'font-style:italic;'; } var weight = 'normal'; if (weight = variant.variant_value.match(/\d+/)) { font_style += 'font-weight:'+weight+';'; } gshtml += ''; }); gshtml += '
'; temp_subset_class = 'selected-font-subset-wrapper'; } if(subsets_array.length > 0) { gshtml += '
'; $gf.each(subsets_array, function(index, subset){ var lid = temp_id+'-dynamic-subset-'+subset.subset_value+'-'+index; gshtml += ''; }); gshtml += '
'; } gshtml += '
'; } gshtml += '
'; $gf('#fonts-selected-wrapper').prepend(gshtml); }); } }); $gf('body').on('click', '.font-delete', function () { $gf('.google-font-overlay').remove(); $gf('.google-font-confirmation').remove(); var button = $gf(this); var font_name = $gf(this).attr('data-font_name'); $gf('body').append('
'); $gf('body').append('

Are you sure you want to remove this font?

'); $gf('.google-font-overlay').fadeIn(100); $gf('.google-font-confirmation').fadeIn(100); }); $gf('body').on('click', '.gfont-buttons', function(){ if($gf(this).hasClass('google-font-message-delete')) { var font_name = $gf(this).attr('data-gfont_name'); var data = { action: 'delete_google_font', font_name: font_name, security: uavc.delete_google_fonts }; $gf.post(ajaxurl, data, function(response) { $gf('.font-delete').each(function(i,e){ var button = $gf(this); var bfont_name = $gf(this).attr('data-font_name'); if(bfont_name == font_name) button.parent().remove(); }); }); } $gf('.google-font-confirmation').fadeOut(200); $gf('.google-font-overlay').fadeOut(200); }); $gf('body').on('click', '.update-google-font-button', function () { var font_name = $gf(this).attr('data-font_name'); var parent = $gf(this).parent(); var variant_array = new Array(); var subset_array = new Array(); $gf(parent).find('.font-variant').each(function (index, variant_wrap) { var temp_array = {}; var variant_checkbox = $gf(variant_wrap).find('.selected-variant-checkbox'); temp_array['variant_value'] = $gf(variant_checkbox).val(); if ($gf(variant_checkbox).is(':checked')) temp_array['variant_selected'] = true; else temp_array['variant_selected'] = false; variant_array.push(temp_array); }); $gf(parent).find('.font-subset').each(function (index, subset_wrap) { var temp_array = {}; var subset_checkbox = $gf(subset_wrap).find('.selected-subset-checkbox'); temp_array['subset_value'] = $gf(subset_checkbox).val(); if ($gf(subset_checkbox).is(':checked')) temp_array['subset_selected'] = true; else temp_array['subset_selected'] = false; subset_array.push(temp_array); }); var data = { action: 'update_google_font', font_name: font_name, variants: variant_array, subsets: subset_array, security: uavc.update_google_fonts }; $gf(this).next('.fspinner').addClass('fspinner-show'); $gf.post(ajaxurl, data, function(response) { $gf('.fspinner').removeClass('fspinner-show'); }); }); $gf('body').on('click', '.selected-font-top', function () { if ($gf(this).hasClass('fopened')) { $gf(this).parent().find('.selected-font-content').slideUp(200); $gf(this).removeClass('fopened'); return; } $gf('.selected-font .selected-font-content').slideUp(200); $gf('.selected-font-top').removeClass('fopened'); $gf(this).addClass('fopened'); $gf(this).parent().find('.selected-font-content').slideToggle(200); }); //get google fonts get_google_fonts(); }); function get_google_fonts() { $gf('#load-more').show(); $list_wrapper = $gf('#fonts-list-wrapper'); var gstart = $list_wrapper.attr('data-gstart'); var gfetch = $list_wrapper.attr('data-gfetch'); var gsearch = $gf('#search_gfont').val(); var data = { action : 'get_google_fonts', start : gstart, fetch : gfetch, search : gsearch, security : uavc.get_google_fonts }; $gf.post(ajaxurl, data, function(response) { var object = jQuery.parseJSON(response); var font_count = object.fonts_count; var fonts = object.fonts; var is_search = object.is_search; if(font_count == 0 && is_search == 'false') { var ghtml = '
It seems you don\'t have any Google Fonts yet. But you can download them now with just a click.
'; $list_wrapper.html(ghtml); } else { if (fonts.length == 0) { var ghtml = '
'; ghtml += 'Bummer, there are no font families that match. Try with other search keyword'; ghtml += '
'; $list_wrapper.html(ghtml); } else { var ghtml = convert_json_to_html(fonts); $list_wrapper.append(ghtml); } } $gf('#load-more').hide(); $list_wrapper.attr('data-gstart',parseInt(gstart)+parseInt(gfetch)); }); } function convert_json_to_html(object) { var html = ''; $gf.each(object,function (index, gfont) { var font_call = gfont.font_call; var font_name = gfont.font_name; var font_variants = gfont.variants; var font_subsets = gfont.subsets; var selected = gfont.selected; if(temp = font_name.split(' ')) { var ctemp = temp.length; var temp_id = ''; $gf.each(temp,function (i, val) { temp_id += val; if ((ctemp-1) != i) temp_id += '-'; }) } else var temp_id = font_name; var variants_length = font_variants.length; var subsets_length = font_subsets.length; if (selected == 'true') { var button_text = 'Added in collection'; var button_class = 'font-added'; } else { var button_text = 'Add to Collection'; var button_class = ''; } html += '
'; html += '
'+font_name+'
'; html += '
'; if (variants_length > 1) { font_call += ':'; html += ''; $gf.each(font_variants, function (vindex, variant) { if (variant != 'regular') { var font_style = 'font-family:\''+font_name+'\';'; if(/italic/i.test(variant)) { font_style += 'font-style:italic;'; } var weight = 'normal'; if (weight = variant.match(/\d+/)) { font_style += 'font-weight:'+weight+';'; } html += ''; html += ''; html += ''; html += ''; font_call += variant; if (variants_length > 0 && (variants_length-1) != vindex) { font_call += ','; } } }); html += ''; } //end of varients if(subsets_length > 1) { html += ''; $gf.each(font_subsets, function(sindex, subset){ html += ''; html += ''; html += ''; }); html += ''; } //end of subsets html += '
'; html += '
'; $gf('head').append(''); }); return html; } $gf(window).scroll(function () { if ($gf(window).height() + $gf(window).scrollTop() == $gf(document).height()) { var gsearch = $gf('#search_gfont').val(); if (gsearch == '') get_google_fonts(); } }); $gf(document).ready(function(){ var typingTimer; //timer identifier var doneTypingInterval = 500; //time in ms, 2 second for example //on keyup, start the countdown $gf('#search_gfont').keyup(function(){ clearTimeout(typingTimer); typingTimer = setTimeout(search_gfont, doneTypingInterval); }); //on keydown, clear the countdown $gf('#search_gfont').keydown(function(){ clearTimeout(typingTimer); }); }); function search_gfont() { var gsearch = $gf('#search_gfont').val(); $list_wrapper = $gf('#fonts-list-wrapper'); $list_wrapper.html(''); if (gsearch == '') { $list_wrapper.attr('data-gstart',parseInt(0)); } get_google_fonts(); } $gf(document).ready(function() { //set_wrap_height('notfixed'); var $menu = jQuery(".fonts-selected-list"), $window = jQuery(window), offset = $menu.offset(), topPadding = 15; $window.scroll(function() { if ($window.scrollTop()+35+15 > offset.top) { $menu.addClass('uagffixed'); //set_wrap_height('fixed'); } else { $menu.removeClass('uagffixed'); //set_wrap_height('notfixed'); } }); }); function set_wrap_height(fx) { var win_height = $gf(window).height(); if(fx == 'notfixed') { var swrap_top = $gf('#fonts-selected-wrapper').offset().top; var cheight = win_height - swrap_top - 40; } else { var cheight = win_height - 140; } $gf('#fonts-selected-wrapper').height(cheight); }/** * Shared ABE launcher, teaser modal, and preview chat styles. */ :root, :host { /* ===== ABE SURFACE TOKENS ===== */ --mwp-abe-padding-small: 8px; --mwp-abe-padding-medium: 16px; --mwp-abe-padding-xxl: 34px; --mwp-abe-radius-small: 12px; --mwp-abe-radius-medium: 16px; --mwp-abe-radius-large: 18px; --mwp-abe-radius-xlarge: 28px; --mwp-abe-radius-xxl: 36px; --mwp-abe-launcher-size: 48px; --mwp-abe-launcher-icon-size: 30px; --mwp-abe-launcher-offset: 16px; --mwp-abe-launcher-mobile-offset: 12px; --mwp-abe-launcher-border: #f0cf8a; --mwp-abe-launcher-outline: #fff0c2; --mwp-abe-launcher-bg-start: #2b3446; --mwp-abe-launcher-bg-end: #131a28; --mwp-abe-launcher-fill: #4e3a19; --mwp-abe-launcher-stroke: #ddb663; --mwp-abe-launcher-shimmer-start: #9f691d; --mwp-abe-launcher-shimmer-mid: #fff0b5; --mwp-abe-launcher-shimmer-end: #c88e36; --mwp-abe-sparkle-gradient-start: var(--mwp-abe-launcher-outline); --mwp-abe-sparkle-gradient-end: var(--mwp-abe-launcher-shimmer-end); --mwp-abe-launcher-shadow: 0 18px 40px rgba(0, 0, 0, 0.38); --mwp-abe-launcher-shadow-hover: 0 22px 46px rgba(0, 0, 0, 0.44); --mwp-abe-launcher-inner-highlight: rgba(255, 248, 224, 0.18); --mwp-abe-launcher-inner-border: rgba(135, 98, 31, 0.65); --mwp-abe-launcher-glow: rgba(226, 191, 103, 0.35); --mwp-abe-launcher-shimmer-duration: 3s; --mwp-abe-launcher-z-index: 123456789; } .mwp-abe-shadow-shell, .mwp-abe-shadow-shell * { box-sizing: border-box; } .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .mwp-abe-shell, .mwp-abe-shell * { font-family: var(--mwp-sfe-font-family) !important; font-weight: normal !important; box-sizing: border-box; } .mwp-abe-shell ::selection { color: var(--mwp-sfe-text-light); background-color: var(--mwp-sfe-primary); } .mwp-abe-shell { color: var(--mwp-sfe-text-light); } .mwp-abe-panel { background: var(--mwp-sfe-bg-darkest); border: 1px solid var(--mwp-sfe-border-dark); border-radius: var(--mwp-abe-radius-xxl); box-shadow: var(--mwp-sfe-shadow-elevated); overflow: hidden; backdrop-filter: blur(10px); } .mwp-abe-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 320px); gap: var(--mwp-sfe-gap-large); align-items: stretch; padding: var(--mwp-abe-padding-small); padding-top: 0; } .mwp-abe-shell-frontend .mwp-abe-layout { grid-template-columns: minmax(0, 1fr); } .mwp-abe-header { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--mwp-sfe-gap-large); padding: var(--mwp-abe-padding-medium); border-bottom: 1px solid var(--mwp-sfe-border-dark); } .mwp-abe-header-copy { margin-left: var(--mwp-abe-padding-xxl); } .mwp-abe-header-branded { align-items: flex-start; } .mwp-abe-header-brand { display: flex; align-items: flex-start; gap: 12px; min-width: 0; } .mwp-abe-header-copy-branded, .mwp-abe-modal-header-copy { margin-left: 0; flex: 1 1 auto; min-width: 0; } .mwp-abe-sparkle-icon { display: inline-flex; align-items: center; justify-content: center; width: var(--mwp-abe-sparkle-icon-size); height: var(--mwp-abe-sparkle-icon-size); flex: 0 0 auto; } .mwp-abe-sparkle-icon svg { display: block; width: 100%; height: 100%; } .mwp-abe-header-icon { --mwp-abe-sparkle-icon-size: 40px; color: var(--mwp-abe-launcher-stroke); } .mwp-abe-kicker { margin-bottom: 6px; font-size: var(--mwp-sfe-font-size-tiny); letter-spacing: 0.14em; text-transform: uppercase; color: var(--mwp-sfe-primary); } .mwp-abe-title, .mwp-abe-card-title { margin: 0; color: var(--mwp-sfe-text-light); } .mwp-abe-title { font-size: 24px; line-height: 1.15; } .mwp-abe-subtitle, .mwp-abe-card-copy, .mwp-abe-note, .mwp-abe-empty, .mwp-abe-message-label { color: var(--mwp-sfe-text-muted); } .mwp-abe-subtitle, .mwp-abe-card-copy, .mwp-abe-note, .mwp-abe-empty { margin: 8px 0 0; font-size: var(--mwp-sfe-font-size-medium); line-height: 1.6; } .mwp-abe-chat-wrap { display: flex; flex-direction: column; height: min(720px, 60vh); min-height: 0; overflow: visible; } .mwp-abe-messages { flex: 1 1 auto; display: flex; flex-direction: column; gap: 14px; min-height: 0; overflow-y: auto; padding: var(--mwp-sfe-padding-large); margin: 0 var(--mwp-abe-padding-medium); scrollbar-color: var(--mwp-sfe-bg-light) var(--mwp-sfe-bg-darkest); } .mwp-abe-message { max-width: 75%; } .mwp-abe-message.is-pending { max-width: none; } .mwp-abe-message.is-user { align-self: flex-end; } .mwp-abe-message.is-assistant { align-self: flex-start; } .mwp-abe-message-label { margin-bottom: 6px; font-size: var(--mwp-sfe-font-size-tiny); letter-spacing: 0.08em; text-transform: uppercase; } .mwp-abe-message.is-assistant .mwp-abe-message-label { margin-left: 16px; } .mwp-abe-message.is-user .mwp-abe-message-label { margin-right: 16px; text-align: right; } .mwp-abe-message-bubble { padding: 14px; border: 1px solid; border-radius: var(--mwp-abe-radius-medium); } .mwp-abe-message.is-assistant .mwp-abe-message-bubble { background: var(--mwp-sfe-primary-alpha-10); border-color: var(--mwp-sfe-primary-alpha-25); box-shadow: var(--mwp-sfe-shadow-comment); border-bottom-left-radius: var(--mwp-sfe-radius-medium); } .mwp-abe-message.is-user .mwp-abe-message-bubble { background: var(--mwp-sfe-primary-alpha-20); border-color: var(--mwp-sfe-primary-alpha-40); box-shadow: inset var(--mwp-sfe-shadow-light); border-bottom-right-radius: var(--mwp-sfe-radius-medium); } .mwp-abe-message-bubble p { margin: 0; font-size: var(--mwp-sfe-font-size-medium); line-height: 1.5; } .mwp-abe-stage-row, .mwp-abe-thinking-row { position: relative; display: inline-flex; align-items: center; margin: 0; padding: 0; } .mwp-abe-stage-text, .mwp-abe-thinking-text { display: inline-block; font-size: var(--mwp-sfe-font-size-medium); color: var(--mwp-sfe-text-muted); -webkit-text-fill-color: currentColor; } .mwp-abe-stage-text.is-pending, .mwp-abe-thinking-text.is-pending { background: linear-gradient( 90deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.5) 40%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0.5) 100% ); background-size: 200% 100%; background-position: 100% 0; -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; animation: mwpAbeShimmer linear infinite; } .mwp-abe-stage-text.is-pending { animation-duration: 2s; } .mwp-abe-thinking-text.is-pending { animation-duration: 2.5s; } .mwp-abe-thinking-row.is-complete .mwp-abe-thinking-text { font-size: var(--mwp-sfe-font-size-small); color: var(--mwp-sfe-text-muted); -webkit-text-fill-color: currentColor; background: none; animation: none; } @keyframes mwpAbeShimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } } .mwp-abe-composer-footer { display: flex; flex-direction: column; gap: 0; background: var(--mwp-sfe-bg-dark); border: 1px solid var(--mwp-sfe-border-medium); border-radius: var(--mwp-abe-radius-xlarge); box-shadow: inset var(--mwp-sfe-shadow-light); transition: background var(--mwp-sfe-transition-instant), box-shadow var(--mwp-sfe-transition-instant), border-color var(--mwp-sfe-transition-fast); } .mwp-abe-composer-footer:focus-within { border-color: var(--mwp-sfe-primary); background: var(--mwp-sfe-bg-light); box-shadow: inset var(--mwp-sfe-shadow-medium); } .mwp-abe-composer-overlay { display: flex; align-items: center; gap: var(--mwp-abe-padding-small); padding: var(--mwp-abe-padding-small); min-width: 0; background: transparent; border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; } .mwp-abe-composer-overlay-upload, .mwp-abe-composer-overlay-action, .mwp-abe-composer-leading-actions, .mwp-abe-composer-actions, .mwp-abe-header-actions, .mwp-abe-preview-actions { display: flex; align-items: center; gap: var(--mwp-sfe-gap-medium); } .mwp-abe-composer-overlay-upload { flex: 0 1 40%; min-width: 0; max-width: 40%; justify-content: flex-start; } .mwp-abe-composer-overlay-action { flex: 0 0 60%; min-width: 0; max-width: 60%; justify-content: flex-end; margin-left: auto; } .mwp-abe-composer-leading-actions, .mwp-abe-composer-actions { flex: 0 0 auto; } .mwp-abe-composer-links { display: flex; flex: 0 0 auto; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: var(--mwp-abe-padding-small); } .mwp-abe-composer-drop-status, .mwp-abe-composer-selection-status { font-size: var(--mwp-sfe-font-size-small); line-height: 1.4; color: var(--mwp-sfe-text-muted); } .mwp-abe-composer-selection-status[hidden] { display: none !important; } .mwp-abe-composer .mwp-abe-input { display: block; align-self: center; width: 90%; max-height: 144px; field-sizing: content; resize: none; overflow-y: auto; line-height: 1.5; background: transparent; border: 0; outline: none !important; color: var(--mwp-sfe-text-light); padding: var(--mwp-abe-padding-medium) 0; font-size: var(--mwp-sfe-font-size-medium); box-shadow: none; transition: none; scrollbar-color: var(--mwp-sfe-bg-light) transparent; } .mwp-abe-composer .mwp-abe-input::placeholder { text-align: center; font-size: var(--mwp-sfe-font-size-small); } .mwp-abe-composer .mwp-abe-input:focus { color: var(--mwp-sfe-text-light); scrollbar-color: var(--mwp-sfe-bg-darkest) transparent; } .mwp-abe-send-btn, .mwp-abe-close-btn, .mwp-abe-upload-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border-radius: 999px; z-index: unset; } .mwp-abe-upload-btn { background: var(--mwp-sfe-bg-darkest); } .mwp-abe-upload-btn:hover { background: var(--mwp-sfe-bg-dark); } .mwp-abe-upload-btn:disabled { background: var(--mwp-sfe-bg-dark); } .mwp-abe-send-btn svg, .mwp-abe-close-btn svg, .mwp-abe-upload-btn svg { width: 28px; height: 28px; } .mwp-abe-send-btn path, .mwp-abe-close-btn path, .mwp-abe-upload-btn path { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; } .mwp-abe-preview-actions { flex-wrap: wrap; justify-content: center; margin-top: 20px; } .mwp-abe-launcher { position: fixed; right: var(--mwp-abe-launcher-offset); bottom: var(--mwp-abe-launcher-offset); z-index: var(--mwp-abe-launcher-z-index); display: inline-flex; align-items: center; justify-content: center; width: var(--mwp-abe-launcher-size); height: var(--mwp-abe-launcher-size); padding: 0; border-radius: 50%; border: 2px solid var(--mwp-abe-launcher-border); background: var(--mwp-sfe-bg-darkest); box-shadow: 0 18px 32px rgba(0, 0, 0, 0.28); line-height: 1; cursor: pointer; transition: transform var(--mwp-sfe-transition-fast), box-shadow var(--mwp-sfe-transition-fast), opacity var(--mwp-sfe-transition-fast); } .mwp-abe-launcher:hover, .mwp-abe-launcher:focus { transform: translateY(-1px); box-shadow: 0 22px 38px rgba(0, 0, 0, 0.32), 0 0 0 3px rgba(255, 240, 181, 0.18); } .mwp-abe-launcher:focus { outline: 2px solid var(--mwp-abe-launcher-outline); outline-offset: 3px; } .mwp-abe-launcher-hidden { opacity: 0; pointer-events: none; transform: translateY(8px) scale(0.92); } .mwp-abe-launcher-icon { width: var(--mwp-abe-launcher-icon-size); height: var(--mwp-abe-launcher-icon-size); display: inline-flex; align-items: center; justify-content: center; } .mwp-abe-launcher-icon svg { width: 100%; height: 100%; overflow: visible; } .mwp-abe-sparkle-fill-group-1 { fill: var(--mwp-abe-launcher-outline); } .mwp-abe-sparkle-fill-group-2 { fill: url(#mwp-abe-sparkle-gradient); } .mwp-abe-sparkle-fill-group-3 { fill: var(--mwp-abe-launcher-shimmer-end); } .mwp-abe-launcher-stroke { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 30; stroke: var(--mwp-abe-launcher-stroke); } .mwp-abe-modal[hidden], .mwp-abe-drawer[hidden] { display: none; } .mwp-abe-modal { position: fixed; inset: 0; z-index: calc(var(--mwp-abe-launcher-z-index) + 2); opacity: 0; pointer-events: none; transition: opacity var(--mwp-sfe-transition-fast); } .mwp-abe-modal, .mwp-abe-modal * { font-family: var(--mwp-sfe-font-family) !important; font-weight: normal !important; } .mwp-abe-modal.is-open { opacity: 1; pointer-events: auto; } .mwp-abe-modal-backdrop { position: absolute; inset: 0; background: rgba(7, 11, 18, 0); backdrop-filter: blur(0); transition: background var(--mwp-sfe-transition-fast), backdrop-filter var(--mwp-sfe-transition-fast); } .mwp-abe-modal.is-open .mwp-abe-modal-backdrop { background: rgba(7, 11, 18, 0.58); backdrop-filter: blur(10px); } .mwp-abe-modal-dialog { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 24px; } .mwp-abe-modal-panel { width: min(600px, 95vw); max-height: min(80vh, 820px); transform: translateY(24px) scale(0.98); opacity: 0; transition: transform var(--mwp-sfe-transition-fast), opacity var(--mwp-sfe-transition-fast); } .mwp-abe-modal.is-open .mwp-abe-modal-panel { transform: translateY(0) scale(1); opacity: 1; } .mwp-abe-modal-body { display: flex; flex-direction: column; gap: 16px; max-height: calc(80vh - 110px); padding: 24px; overflow: auto; scrollbar-color: var(--mwp-sfe-bg-light) var(--mwp-sfe-bg-darkest); } .mwp-abe-modal-copy { margin-top: 0; color: var(--mwp-sfe-text-light); } .mwp-abe-modal-panel .mwp-abe-header { padding-bottom: 18px; } .mwp-abe-drawer { position: fixed; right: 10px; bottom: 10px; z-index: calc(var(--mwp-abe-launcher-z-index) + 1); width: min(540px, 95vw); opacity: 0; pointer-events: none; transform: translateY(24px) scale(0.98); transition: opacity var(--mwp-sfe-transition-fast), transform var(--mwp-sfe-transition-fast); } .mwp-abe-drawer.is-open { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); } .mwp-abe-modal-button { flex: 0 0 auto; text-decoration: none; } @media (max-width: 782px) { .mwp-abe-launcher { right: var(--mwp-abe-launcher-mobile-offset); bottom: var(--mwp-abe-launcher-mobile-offset); } .mwp-abe-modal-dialog { padding: 12px; } .mwp-abe-modal-panel { width: min(760px, calc(100vw - 24px)); } .mwp-abe-drawer { right: 8px; bottom: 8px; width: min(540px, calc(100vw - 16px)); } .mwp-abe-chat-wrap { height: min(640px, 70vh); } } General Surgery – Adira

General Surgery

At Adira Multispecialty Hospital, our General Surgery department provides comprehensive surgical care for a wide range of common and complex conditions. With experienced surgeons and advanced operation theatres, we focus on safe, effective, and minimally invasive procedures for faster recovery.

Why Choose Our General Surgery?

  • Experienced Surgeons — Highly qualified general surgeons with expertise in both open and laparoscopic techniques.
  • Advanced OT Facilities — Equipped with modern laparoscopic systems and strict infection control protocols.
  • 24×7 Emergency Services — Immediate surgical intervention for trauma, acute abdomen, and emergencies.
  • Patient-Centric Care — Personalized treatment plans with pre and post-operative support.
  • Minimal Invasive Options — Emphasis on keyhole surgeries for less pain and quicker recovery.
  • Multidisciplinary Approach — Close coordination with other specialties for best outcomes.

Our General Surgery Services

  • Laparoscopic and open hernia repair
  • Appendectomy and cholecystectomy (gallbladder removal)
  • Surgery for piles, fistula, and fissures
  • Breast lump excision and thyroid surgeries
  • Emergency trauma and abdominal surgeries
  • Minor surgical procedures under local anesthesia