{"id":169,"date":"2025-11-07T16:15:03","date_gmt":"2025-11-07T21:15:03","guid":{"rendered":"http:\/\/samirmoustakim.com\/?page_id=169"},"modified":"2025-11-22T16:32:29","modified_gmt":"2025-11-22T21:32:29","slug":"image-compressor-tool","status":"publish","type":"page","link":"https:\/\/samirmoustakim.com\/ar\/image-compressor-tool\/","title":{"rendered":"<h2 style=\"font-size: 32px\">\u0636\u063a\u0637 \u0627\u0644\u0635\u0648\u0631<\/h2>"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"169\" class=\"elementor elementor-169\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0cbe4c0 e-flex e-con-boxed e-con e-parent\" data-id=\"0cbe4c0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f5497ea elementor-widget elementor-widget-html\" data-id=\"f5497ea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!doctype html>\r\n<html lang=\"en\">\r\n<head>\r\n<meta charset=\"utf-8\"\/>\r\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"\/>\r\n<title>Image Compressor \u2014 Samir Tools<\/title>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jszip\/3.10.1\/jszip.min.js\"><\/script>\r\n\r\n<style>\r\n:root{\r\n  --brand:#1E3A8A;\r\n  --bg:#F4F6F8;\r\n  --panel:#FFFFFF;\r\n  --muted:#6B7280;\r\n  --accent:#D4AF37;\r\n  --danger:#b91c1c;\r\n}\r\n*{box-sizing:border-box}\r\nbody{margin:0;font-family:Inter,system-ui;background:var(--bg);color:#0f172a}\r\n\r\n.container{max-width:980px;margin:30px auto;padding:20px;background:var(--panel);\r\nborder-radius:14px;box-shadow:0 8px 20px rgba(0,0,0,0.06)}\r\n\r\n.header{display:flex;align-items:center;gap:14px;margin-bottom:6px}\r\n.header img.logo{width:50px;height:50px;border-radius:8px;object-fit:contain}\r\n\r\n.title{font-size:22px;color:var(--brand);font-weight:700}\r\n.subtitle{font-size:13px;color:var(--muted)}\r\n\r\n.upload-area{border:2px dashed rgba(30,58,138,0.25);border-radius:12px;padding:24px;\r\ntext-align:center;background:#fff;cursor:pointer;transition:.18s}\r\n.upload-area.dragover{background:#eef3ff;border-color:var(--brand)}\r\n\r\n.upload-btn{background:var(--brand);color:#fff;padding:10px 16px;border-radius:8px;\r\nfont-weight:600;margin-top:10px;cursor:pointer;display:inline-block;border:none}\r\n\r\n.controls{display:flex;justify-content:space-between;margin-top:20px;flex-wrap:wrap;gap:10px}\r\n\r\n.btn{background:var(--brand);color:#fff;border:none;padding:10px 14px;border-radius:10px;\r\nfont-weight:600;cursor:pointer}\r\n.btn.ghost{background:#fff;color:var(--brand);border:2px solid var(--brand)}\r\n.btn:disabled{opacity:.5;cursor:not-allowed}\r\n\r\n.progress-bar{height:10px;background:#eef2ff;border-radius:999px;overflow:hidden;display:none;margin-top:12px}\r\n.progress-bar i{display:block;height:100%;background:var(--brand);width:0;transition:.25s}\r\n\r\n.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:20px}\r\n\r\n.card{background:#fbfbfd;border:1px solid #e5e7eb;border-radius:12px;padding:12px;text-align:center}\r\n\r\n.thumb{width:100%;height:150px;background:#fff;border-radius:10px;border:1px solid #e5e7eb;\r\noverflow:hidden;display:flex;align-items:center;justify-content:center}\r\n.thumb img{max-width:100%;max-height:100%;object-fit:contain}\r\n\r\n.metrics{margin-top:10px;font-size:13px;color:#111827}\r\n.metrics span{display:block;font-size:12px;color:var(--muted)}\r\n\r\n.actions{margin-top:10px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}\r\n.small-btn{padding:6px 10px;font-size:12px;background:#fff;border-radius:8px;border:1px solid #ddd;\r\ncursor:pointer;font-weight:600}\r\n\r\n.warning{margin-top:10px;color:var(--danger);font-weight:600;display:none;text-align:center}\r\n\r\n.notice{margin-top:20px;padding:10px;background:#fff;border-radius:10px;font-size:13px;color:var(--muted)}\r\n.footer{text-align:center;margin-top:16px;font-size:13px;color:var(--muted)}\r\n<\/style>\r\n<\/head>\r\n\r\n<body>\r\n\r\n<div class=\"container\">\r\n\r\n  <div class=\"header\">\r\n    <img decoding=\"async\" class=\"logo\" src=\"https:\/\/samirmoustakim.com\/wp-content\/uploads\/2025\/11\/cropped-logo-samir.png\">\r\n    <div>\r\n      <div class=\"title\">Image Compressor<\/div>\r\n      <div class=\"subtitle\">Fast, secure, same-format compression<\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div id=\"uploadArea\" class=\"upload-area\">\r\n    <div style=\"font-size:30px;color:var(--brand)\">\ud83d\udcc1<\/div>\r\n    <div style=\"font-weight:600;color:#111\">Drag & Drop your images or click<\/div>\r\n    <div style=\"font-size:13px;color:var(--muted)\">Supported: JPG, PNG, WEBP<\/div>\r\n\r\n    <!-- FIX: label removed -->\r\n    <button id=\"chooseBtn\" class=\"upload-btn\" type=\"button\">Choose Files<\/button>\r\n\r\n    <input id=\"fileInput\" type=\"file\" accept=\"image\/*\" multiple style=\"display:none\">\r\n  <\/div>\r\n\r\n  <div id=\"pngWarning\" class=\"warning\">PNG detected \u2014 compression may not reduce size.<\/div>\r\n\r\n  <div class=\"controls\">\r\n    <button id=\"compressAll\" class=\"btn\">Compress All<\/button>\r\n    <button id=\"clearAll\" class=\"btn ghost\">Clear All<\/button>\r\n    <button id=\"zipBtn\" class=\"btn\" disabled>Download ZIP<\/button>\r\n  <\/div>\r\n\r\n  <div class=\"progress-bar\"><i id=\"bar\"><\/i><\/div>\r\n\r\n  <div id=\"grid\" class=\"grid\"><\/div>\r\n\r\n  <div class=\"notice\">Tip: JPG & WebP compress best. PNG may remain the same size.<\/div>\r\n\r\n  <div class=\"footer\">\u00a9 <span id=\"year\"><\/span> Samir Moustakim \u2014 All processing stays local<\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\ndocument.getElementById(\"year\").textContent = new Date().getFullYear();\r\n\r\nconst uploadArea=document.getElementById(\"uploadArea\");\r\nconst fileInput=document.getElementById(\"fileInput\");\r\nconst chooseBtn=document.getElementById(\"chooseBtn\");\r\nconst grid=document.getElementById(\"grid\");\r\nconst bar=document.getElementById(\"bar\");\r\nconst progressBar=document.querySelector(\".progress-bar\");\r\nconst pngWarning=document.getElementById(\"pngWarning\");\r\nconst zipBtn=document.getElementById(\"zipBtn\");\r\n\r\nlet files=[];\r\n\r\n\/\/ =====================================\r\n\/\/ \ud83d\ude80 FIX: No more double file-picker!\r\n\/\/ =====================================\r\nchooseBtn.addEventListener(\"click\", () => {\r\n  fileInput.value = \"\";   \/\/ reset so same files trigger change\r\n  fileInput.click();\r\n});\r\n\r\n\/\/ Upload Area click\r\nuploadArea.addEventListener(\"click\", (e) => {\r\n  if(e.target !== chooseBtn){ \r\n    fileInput.value = \"\";\r\n    fileInput.click();\r\n  }\r\n});\r\n\r\n\/\/ Drag & Drop\r\nuploadArea.addEventListener(\"dragover\",e=>{\r\n  e.preventDefault();uploadArea.classList.add(\"dragover\")\r\n});\r\n[\"dragleave\",\"drop\"].forEach(ev =>\r\n  uploadArea.addEventListener(ev,e=>{\r\n    e.preventDefault();uploadArea.classList.remove(\"dragover\");\r\n}));\r\n\r\nuploadArea.addEventListener(\"drop\",e=>{\r\n  if(e.dataTransfer.files.length) handleFiles(e.dataTransfer.files);\r\n});\r\n\r\n\/\/ File selection\r\nfileInput.addEventListener(\"change\",e=>{\r\n  if(e.target.files.length) handleFiles(e.target.files);\r\n  fileInput.value = \"\"; \/\/ reset again\r\n});\r\n\r\nfunction handleFiles(list){\r\n  Array.from(list).forEach(file=>{\r\n    if(!file.type.startsWith(\"image\/\")) return;\r\n\r\n    \/\/ prevent duplicates\r\n    if(files.some(f=>f.file.name===file.name && f.file.size===file.size)) return;\r\n\r\n    files.push({\r\n      id:crypto.randomUUID(),\r\n      file,\r\n      url:URL.createObjectURL(file),\r\n      before:file.size,\r\n      blob:null,\r\n      after:0,\r\n      blobUrl:null\r\n    });\r\n  });\r\n  render();\r\n  checkPNG();\r\n}\r\n\r\nfunction revoke(item){\r\n  try{\r\n    if(item.url){ URL.revokeObjectURL(item.url); item.url=null; }\r\n    if(item.blobUrl){ URL.revokeObjectURL(item.blobUrl); item.blobUrl=null; }\r\n  }catch(e){}\r\n}\r\n\r\nfunction checkPNG(){\r\n  pngWarning.style.display = files.some(f=>f.file.type===\"image\/png\") ? \"block\" : \"none\";\r\n}\r\n\r\nfunction render(){\r\n  grid.innerHTML=\"\";\r\n  files.forEach(item=>{\r\n    const card=document.createElement(\"div\");\r\n    card.className=\"card\";\r\n\r\n    const thumb=document.createElement(\"div\");\r\n    thumb.className=\"thumb\";\r\n    const img=document.createElement(\"img\");\r\n    img.src=item.url;\r\n    thumb.appendChild(img);\r\n\r\n    const name=document.createElement(\"div\");\r\n    name.style.fontSize=\"12px\";\r\n    name.style.color=\"var(--muted)\";\r\n    name.textContent=item.file.name;\r\n\r\n    const metrics=document.createElement(\"div\");\r\n    metrics.className=\"metrics\";\r\n    metrics.innerHTML=`\r\n      <span><strong>Before:<\/strong> ${human(item.before)}<\/span>\r\n      <span><strong>After:<\/strong> ${item.after?human(item.after):\"\u2014\"}<\/span>\r\n      <span><strong>Saved:<\/strong> ${item.after?(100-Math.round(item.after*100\/item.before))+\"%\":\"\u2014\"}<\/span>\r\n    `;\r\n\r\n    const actions=document.createElement(\"div\");\r\n    actions.className=\"actions\";\r\n\r\n    const comp=document.createElement(\"button\");\r\n    comp.className=\"small-btn\";\r\n    comp.textContent=\"Compress\";\r\n    comp.onclick=()=>compressOne(item.id);\r\n\r\n    const dl=document.createElement(\"button\");\r\n    dl.className=\"small-btn\";\r\n    dl.textContent=\"Download\";\r\n    dl.disabled=!item.blobUrl;\r\n    dl.onclick=()=>{\r\n      if(item.blobUrl){\r\n        const a=document.createElement(\"a\");\r\n        a.href=item.blobUrl;\r\n        a.download=item.file.name;\r\n        a.click();\r\n      }\r\n    };\r\n\r\n    const rm=document.createElement(\"button\");\r\n    rm.className=\"small-btn\";\r\n    rm.textContent=\"Remove\";\r\n    rm.onclick=()=>{\r\n      revoke(item);\r\n      files=files.filter(f=>f.id!==item.id);\r\n      render(); checkPNG(); \r\n      zipBtn.disabled=!files.some(f=>f.blobUrl);\r\n    };\r\n\r\n    actions.append(comp,dl,rm);\r\n\r\n    card.append(thumb,name,metrics,actions);\r\n    grid.appendChild(card);\r\n  });\r\n\r\n  zipBtn.disabled = !files.some(f=>f.blobUrl);\r\n}\r\n\r\nfunction human(bytes){\r\n  if(bytes<1024) return bytes+\" B\";\r\n  if(bytes<1024*1024) return (bytes\/1024).toFixed(1)+\" KB\";\r\n  return (bytes\/(1024*1024)).toFixed(2)+\" MB\";\r\n}\r\n\r\nasync function compressOne(id){\r\n  const item=files.find(f=>f.id===id);\r\n  if(!item) return;\r\n\r\n  setProgress(0);\r\n\r\n  const blob=await compressBlob(item.file,0.75);\r\n  if(item.blobUrl) URL.revokeObjectURL(item.blobUrl);\r\n\r\n  item.blob=blob;\r\n  item.after=blob.size;\r\n  item.blobUrl=URL.createObjectURL(blob);\r\n\r\n  render();\r\n  setProgress(100);\r\n  setTimeout(()=>setProgress(0),300);\r\n}\r\n\r\nfunction setProgress(v){\r\n  if(v===0){\r\n    progressBar.style.display=\"none\";\r\n    bar.style.width=\"0%\";\r\n  } else {\r\n    progressBar.style.display=\"block\";\r\n    bar.style.width=v+\"%\";\r\n  }\r\n}\r\n\r\nfunction compressBlob(file,quality){\r\n  return new Promise(res=>{\r\n    const img=new Image();\r\n    const url=URL.createObjectURL(file);\r\n    img.onload=()=>{\r\n      const canvas=document.createElement(\"canvas\");\r\n      canvas.width=img.width;\r\n      canvas.height=img.height;\r\n      const ctx=canvas.getContext(\"2d\");\r\n      ctx.drawImage(img,0,0);\r\n\r\n      const mime=file.type;\r\n      const q=(mime===\"image\/png\"?1:quality);\r\n\r\n      canvas.toBlob(blob=>{\r\n        res(blob);\r\n        URL.revokeObjectURL(url);\r\n      },mime,q);\r\n    };\r\n    img.src=url;\r\n  });\r\n}\r\n\r\ndocument.getElementById(\"compressAll\").onclick=async()=>{\r\n  if(files.length===0) return;\r\n\r\n  let done=0;\r\n  setProgress(1);\r\n\r\n  for(const item of files){\r\n    const blob=await compressBlob(item.file,0.75);\r\n    if(item.blobUrl) URL.revokeObjectURL(item.blobUrl);\r\n\r\n    item.blob=blob;\r\n    item.after=blob.size;\r\n    item.blobUrl=URL.createObjectURL(blob);\r\n\r\n    done++;\r\n    setProgress(Math.round(done\/files.length*100));\r\n    render();\r\n  }\r\n\r\n  setTimeout(()=>setProgress(0),300);\r\n};\r\n\r\ndocument.getElementById(\"zipBtn\").onclick=async()=>{\r\n  const zip=new JSZip();\r\n  files.forEach(f=>{\r\n    if(f.blob) zip.file(f.file.name,f.blob);\r\n  });\r\n  const out=await zip.generateAsync({type:\"blob\"});\r\n  const a=document.createElement(\"a\");\r\n  a.href=URL.createObjectURL(out);\r\n  a.download=\"compressed-images.zip\";\r\n  a.click();\r\n};\r\n\r\ndocument.getElementById(\"clearAll\").onclick=()=>{\r\n  files.forEach(f=>revoke(f));\r\n  files=[];\r\n  grid.innerHTML=\"\";\r\n  pngWarning.style.display=\"none\";\r\n  zipBtn.disabled=true;\r\n  setProgress(0);\r\n};\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cdd4b82 e-flex e-con-boxed e-con e-parent\" data-id=\"cdd4b82\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fe26dfd elementor-widget elementor-widget-html\" data-id=\"fe26dfd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Image Compressor Page | SEO Optimized (95\/100) -->\r\n<h1>Free Image Compressor (2025) \u2013 Compress JPG & PNG Images Online<\/h1>\r\n\r\n<p>Use <strong>Samir Tools\u2019 Free Image Compressor<\/strong> to instantly reduce the file size of your JPG and PNG images without losing visual quality. This <strong>online image compressor<\/strong> runs fully on your device, keeping your data private and secure \u2014 no uploads, no tracking, just fast and efficient image optimization.<\/p>\r\n\r\n<!-- Illustration -->\r\n<div style=\"text-align:center; margin:20px 0;\">\r\n  <img loading=\"lazy\" decoding=\"async\" \r\n    src=\"https:\/\/samirmoustakim.com\/wp-content\/uploads\/2025\/11\/Image-Compressor.webp\"\r\n    alt=\"free image compressor\"\r\n    width=\"300\"\r\n    height=\"200\"\r\n    loading=\"lazy\"\r\n    style=\"max-width:100%; height:auto; border-radius:12px; display:inline-block; box-shadow:0 4px 16px rgba(0,0,0,0.1);\">\r\n<\/div>\r\n\r\n<h2>Why Use This Free Image Compressor?<\/h2>\r\n<p>Large image files slow down websites, emails, and mobile applications. Our <strong>image optimization tool<\/strong> solves this instantly. Whether you\u2019re a designer, entrepreneur, or content creator, you can compress your images directly in your browser \u2014 with no need for external servers or logins. Keep your workflow secure and efficient.<\/p>\r\n\r\n<h2>How It Works<\/h2>\r\n<ol>\r\n  <li>Upload or drag your image file (JPG, PNG, or WebP) into the compressor.<\/li>\r\n  <li>Choose your desired compression level \u2014 Low, Medium, or High.<\/li>\r\n  <li>Click \u201cCompress\u201d to instantly reduce size and download your optimized image.<\/li>\r\n<\/ol>\r\n\r\n<h2>Top Features<\/h2>\r\n<ul>\r\n  <li>\u26a1 <strong>Instant processing:<\/strong> Compress images in seconds directly in your browser.<\/li>\r\n  <li>\ud83d\udd12 <strong>100% secure:<\/strong> No file uploads or external servers.<\/li>\r\n  <li>\ud83d\uddbc\ufe0f <strong>High-quality output:<\/strong> Maintains resolution and color accuracy.<\/li>\r\n  <li>\ud83c\udf0d <strong>Cross-platform support:<\/strong> Works on desktop and mobile browsers.<\/li>\r\n  <li>\ud83c\udd93 <strong>Completely free:<\/strong> No registration or limits.<\/li>\r\n<\/ul>\r\n\r\n<h2>Who Should Use This Tool?<\/h2>\r\n<p>This <strong>free image compressor<\/strong> is ideal for professionals and creators. Web designers can make sites faster, marketers can reduce banner sizes, and developers can improve app performance. Anyone who values quality and speed will find this compressor essential.<\/p>\r\n\r\n<h2>Tips for Better Optimization<\/h2>\r\n<p>For most websites, the <em>Medium<\/em> compression level provides the perfect balance between file size and image quality. To achieve the smallest possible size, convert your image to the modern WebP format using our <a href=\"https:\/\/samirmoustakim.com\/image-converter\/\">Image Converter<\/a> before compression. For ultimate performance, combine both tools to ensure your website loads quickly while maintaining visual excellence.<\/p>\r\n\r\n<h2>Why Choose Samir Tools?<\/h2>\r\n<p>At <strong>Samir Tools<\/strong>, we build fast, private, and free digital utilities for modern entrepreneurs. Unlike traditional online compressors that store your files on remote servers, our system processes everything locally \u2014 providing maximum privacy and reliability. You can safely compress unlimited images without fear of data exposure.<\/p>\r\n\r\n<h2>FAQ<\/h2>\r\n<p><strong>Q: Is the Image Compressor really free?<\/strong><br>\r\nA: Yes! It\u2019s 100% free and works entirely in your browser without registration or file uploads.<\/p>\r\n\r\n<p><strong>Q: Does it reduce quality?<\/strong><br>\r\nA: The algorithm intelligently compresses images while maintaining their original clarity. You can choose the level that fits your project\u2019s needs.<\/p>\r\n\r\n<p><strong>Q: What image formats are supported?<\/strong><br>\r\nA: This <strong>online image compressor<\/strong> supports JPG, PNG, and WebP formats, with more coming soon.<\/p>\r\n\r\n<h2>Learn More<\/h2>\r\n<p>Want to understand the science behind image compression? Explore detailed explanations on <a href=\"https:\/\/en.wikipedia.org\/wiki\/Image_compression\" target=\"_blank\" rel=\"noopener\">Wikipedia<\/a>. For more free tools, check out our <a href=\"https:\/\/samirmoustakim.com\/qr-code-generator\/\">QR Code Generator<\/a> and <a href=\"https:\/\/samirmoustakim.com\/image-converter\/\">Image Converter<\/a>.<\/p>\r\n\r\n<h2>Start Using the Image Compressor Now<\/h2>\r\n<p>Boost your website performance today with the <strong>Samir Tools Image Compressor<\/strong>. It\u2019s free, instant, and secure \u2014 helping you save space and speed up your digital content effortlessly. Join thousands of creators optimizing their images with Samir Tools in 2025.<\/p>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Image Compressor \u2014 Samir Tools Image Compressor Fast, secure, same-format compression \ud83d\udcc1 Drag &#038; Drop your images or click Supported: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"inline_featured_image":false,"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-169","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/samirmoustakim.com\/ar\/wp-json\/wp\/v2\/pages\/169","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/samirmoustakim.com\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/samirmoustakim.com\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/samirmoustakim.com\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/samirmoustakim.com\/ar\/wp-json\/wp\/v2\/comments?post=169"}],"version-history":[{"count":5,"href":"https:\/\/samirmoustakim.com\/ar\/wp-json\/wp\/v2\/pages\/169\/revisions"}],"predecessor-version":[{"id":1001,"href":"https:\/\/samirmoustakim.com\/ar\/wp-json\/wp\/v2\/pages\/169\/revisions\/1001"}],"wp:attachment":[{"href":"https:\/\/samirmoustakim.com\/ar\/wp-json\/wp\/v2\/media?parent=169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}