{"html":"<!DOCTYPE html><html lang=\"en-US\" prefix=\"og: https://ogp.me/ns#\"><head>\n\t<meta charset=\"UTF-8\">\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<!-- Search Engine Optimization by Rank Math - https://rankmath.com/ -->\n<title>Free Image Cropping Taja Info Tool Online</title>\n<meta name=\"description\" content=\"The Free Image Cropping Taja Info Tool Online helps you crop, resize, and edit images easily with simple, fast, and convenient online tools.\">\n<meta name=\"robots\" content=\"follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large\">\n<link rel=\"canonical\" href=\"https://tajainfo.in/\">\n<meta property=\"og:locale\" content=\"en_US\">\n<meta property=\"og:type\" content=\"website\">\n<meta property=\"og:title\" content=\"Free Image Cropping Taja Info Tool Online\">\n<meta property=\"og:description\" content=\"The Free Image Cropping Taja Info Tool Online helps you crop, resize, and edit images easily with simple, fast, and convenient online tools.\">\n<meta property=\"og:url\" content=\"https://tajainfo.in/\">\n<meta property=\"og:site_name\" content=\"Taja Info\">\n<meta property=\"og:updated_time\" content=\"2026-10-18T14:26:35+05:30\">\n<meta property=\"article:published_time\" content=\"2026-09-17T07:25:05+05:30\">\n<meta property=\"article:modified_time\" content=\"2026-10-18T14:26:35+05:30\">\n<meta name=\"twitter:card\" content=\"summary_large_image\">\n<meta name=\"twitter:title\" content=\"Free Image Cropping Taja Info Tool Online\">\n<meta name=\"twitter:description\" content=\"The Free Image Cropping Taja Info Tool Online helps you crop, resize, and edit images easily with simple, fast, and convenient online tools.\">\n<meta name=\"twitter:label1\" content=\"Written by\">\n<meta name=\"twitter:data1\" content=\"Taja\">\n<meta name=\"twitter:label2\" content=\"Time to read\">\n<meta name=\"twitter:data2\" content=\"4 minutes\">\n<script type=\"application/ld+json\" class=\"rank-math-schema\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https://tajainfo.in/#person\",\"name\":\"Taja Info\"},{\"@type\":\"WebSite\",\"@id\":\"https://tajainfo.in/#website\",\"url\":\"https://tajainfo.in\",\"name\":\"Taja Info\",\"publisher\":{\"@id\":\"https://tajainfo.in/#person\"},\"inLanguage\":\"en-US\",\"potentialAction\":{\"@type\":\"SearchAction\",\"target\":\"https://tajainfo.in/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}},{\"@type\":\"WebPage\",\"@id\":\"https://tajainfo.in/#webpage\",\"url\":\"https://tajainfo.in/\",\"name\":\"Free Image Cropping Taja Info Tool Online\",\"datePublished\":\"2026-09-17T07:25:05+05:30\",\"dateModified\":\"2026-10-18T14:26:35+05:30\",\"about\":{\"@id\":\"https://tajainfo.in/#person\"},\"isPartOf\":{\"@id\":\"https://tajainfo.in/#website\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https://tajainfo.in/author/suman8051/\",\"name\":\"Taja\",\"url\":\"https://tajainfo.in/author/suman8051/\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https://secure.gravatar.com/avatar/a54a7b97e5b4d0a94b4861fc98dfa3ec76f7d4600c6dfe9c08c4f787890d4a01?s=96&amp;d=mm&amp;r=g\",\"url\":\"https://secure.gravatar.com/avatar/a54a7b97e5b4d0a94b4861fc98dfa3ec76f7d4600c6dfe9c08c4f787890d4a01?s=96&amp;d=mm&amp;r=g\",\"caption\":\"Taja\",\"inLanguage\":\"en-US\"},\"sameAs\":[\"https://tajainfo.in\"]},{\"@type\":\"Article\",\"headline\":\"Free Image Cropping Taja Info Tool Online\",\"keywords\":\"Taja Info\",\"datePublished\":\"2026-09-17T07:25:05+05:30\",\"dateModified\":\"2026-10-18T14:26:35+05:30\",\"author\":{\"@id\":\"https://tajainfo.in/author/suman8051/\",\"name\":\"Taja\"},\"publisher\":{\"@id\":\"https://tajainfo.in/#person\"},\"description\":\"The Free Image Cropping Taja Info Tool Online helps you crop, resize, and edit images easily with simple, fast, and convenient online tools.\",\"name\":\"Free Image Cropping Taja Info Tool Online\",\"@id\":\"https://tajainfo.in/#richSnippet\",\"isPartOf\":{\"@id\":\"https://tajainfo.in/#webpage\"},\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https://tajainfo.in/#webpage\"}}]}</script>\n<meta name=\"google-site-verification\" content=\"cD4atdaAYxRqZ_lRupADuxhCb0xLuuzUSHaX3bpWeXQ\">\n<!-- /Rank Math WordPress SEO plugin -->\n\n<link rel=\"alternate\" type=\"application/rss+xml\" title=\"Taja Info » Feed\" href=\"https://tajainfo.in/feed/\">\n<link rel=\"alternate\" type=\"application/rss+xml\" title=\"Taja Info » Comments Feed\" href=\"https://tajainfo.in/comments/feed/\">\n<link rel=\"alternate\" title=\"oEmbed (JSON)\" type=\"application/json+oembed\" href=\"https://tajainfo.in/wp-json/oembed/1.0/embed?url=https%3A%2F%2Ftajainfo.in%2F\">\n<link rel=\"alternate\" title=\"oEmbed (XML)\" type=\"text/xml+oembed\" href=\"https://tajainfo.in/wp-json/oembed/1.0/embed?url=https%3A%2F%2Ftajainfo.in%2F&amp;format=xml\">\n<style id=\"wp-img-auto-sizes-contain-inline-css\">\nimg:is([sizes=auto i],[sizes^=\"auto,\" i]){contain-intrinsic-size:3000px 1500px}\n/*# sourceURL=wp-img-auto-sizes-contain-inline-css */\n</style>\n<style id=\"wp-emoji-styles-inline-css\">\n\n\timg.wp-smiley, img.emoji {\n\t\tdisplay: inline !important;\n\t\tborder: none !important;\n\t\tbox-shadow: none !important;\n\t\theight: 1em !important;\n\t\twidth: 1em !important;\n\t\tmargin: 0 0.07em !important;\n\t\tvertical-align: -0.1em !important;\n\t\tbackground: none !important;\n\t\tpadding: 0 !important;\n\t}\n/*# sourceURL=wp-emoji-styles-inline-css */\n</style>\n<style id=\"classic-theme-styles-inline-css\">\n/*! This file is auto-generated */\n.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}\n/*# sourceURL=/wp-includes/css/classic-themes.min.css */\n</style>\n<style id=\"global-styles-inline-css\">\n:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--contrast: var(--contrast);--wp--preset--color--contrast-2: var(--contrast-2);--wp--preset--color--contrast-3: var(--contrast-3);--wp--preset--color--base: var(--base);--wp--preset--color--base-2: var(--base-2);--wp--preset--color--base-3: var(--base-3);--wp--preset--color--accent: var(--accent);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-contrast-color{color: var(--wp--preset--color--contrast) !important;}.has-contrast-2-color{color: var(--wp--preset--color--contrast-2) !important;}.has-contrast-3-color{color: var(--wp--preset--color--contrast-3) !important;}.has-base-color{color: var(--wp--preset--color--base) !important;}.has-base-2-color{color: var(--wp--preset--color--base-2) !important;}.has-base-3-color{color: var(--wp--preset--color--base-3) !important;}.has-accent-color{color: var(--wp--preset--color--accent) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-contrast-background-color{background-color: var(--wp--preset--color--contrast) !important;}.has-contrast-2-background-color{background-color: var(--wp--preset--color--contrast-2) !important;}.has-contrast-3-background-color{background-color: var(--wp--preset--color--contrast-3) !important;}.has-base-background-color{background-color: var(--wp--preset--color--base) !important;}.has-base-2-background-color{background-color: var(--wp--preset--color--base-2) !important;}.has-base-3-background-color{background-color: var(--wp--preset--color--base-3) !important;}.has-accent-background-color{background-color: var(--wp--preset--color--accent) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-contrast-border-color{border-color: var(--wp--preset--color--contrast) !important;}.has-contrast-2-border-color{border-color: var(--wp--preset--color--contrast-2) !important;}.has-contrast-3-border-color{border-color: var(--wp--preset--color--contrast-3) !important;}.has-base-border-color{border-color: var(--wp--preset--color--base) !important;}.has-base-2-border-color{border-color: var(--wp--preset--color--base-2) !important;}.has-base-3-border-color{border-color: var(--wp--preset--color--base-3) !important;}.has-accent-border-color{border-color: var(--wp--preset--color--accent) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}\n:root :where(.wp-block-icon svg){width: 24px;}\n:where(.wp-block-gallery.is-layout-flex){gap: var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}:where(.wp-block-gallery.is-layout-grid){gap: var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}\n:where(.wp-block-latest-posts.is-layout-flex){gap: 1.25em;}:where(.wp-block-latest-posts.is-layout-grid){gap: 1.25em;}\n:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}\n:where(.wp-block-term-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-term-template.is-layout-grid){gap: 1.25em;}\n:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}\n:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}\n/*# sourceURL=global-styles-inline-css */\n</style>\n<link rel=\"stylesheet\" id=\"generate-style-css\" href=\"https://tajainfo.in/wp-content/themes/generatepress/assets/css/main.min.css?ver=3.6.1\" media=\"all\">\n<style id=\"generate-style-inline-css\">\nbody{background-color:var(--base-2);color:var(--contrast);}a{color:var(--accent);}a{text-decoration:underline;}.entry-title a, .site-branding a, a.button, .wp-block-button__link, .main-navigation a{text-decoration:none;}a:hover, a:focus, a:active{color:var(--contrast);}.wp-block-group__inner-container{max-width:1200px;margin-left:auto;margin-right:auto;}:root{--contrast:#222222;--contrast-2:#575760;--contrast-3:#b2b2be;--base:#f0f0f0;--base-2:#f7f8f9;--base-3:#ffffff;--accent:#1e73be;}:root .has-contrast-color{color:var(--contrast);}:root .has-contrast-background-color{background-color:var(--contrast);}:root .has-contrast-2-color{color:var(--contrast-2);}:root .has-contrast-2-background-color{background-color:var(--contrast-2);}:root .has-contrast-3-color{color:var(--contrast-3);}:root .has-contrast-3-background-color{background-color:var(--contrast-3);}:root .has-base-color{color:var(--base);}:root .has-base-background-color{background-color:var(--base);}:root .has-base-2-color{color:var(--base-2);}:root .has-base-2-background-color{background-color:var(--base-2);}:root .has-base-3-color{color:var(--base-3);}:root .has-base-3-background-color{background-color:var(--base-3);}:root .has-accent-color{color:var(--accent);}:root .has-accent-background-color{background-color:var(--accent);}.top-bar{background-color:#636363;color:#ffffff;}.top-bar a{color:#ffffff;}.top-bar a:hover{color:#303030;}.site-header{background-color:var(--base-3);}.main-title a,.main-title a:hover{color:var(--contrast);}.site-description{color:var(--contrast-2);}.mobile-menu-control-wrapper .menu-toggle,.mobile-menu-control-wrapper .menu-toggle:hover,.mobile-menu-control-wrapper .menu-toggle:focus,.has-inline-mobile-toggle #site-navigation.toggled{background-color:rgba(0, 0, 0, 0.02);}.main-navigation,.main-navigation ul ul{background-color:var(--base-3);}.main-navigation .main-nav ul li a, .main-navigation .menu-toggle, .main-navigation .menu-bar-items{color:var(--contrast);}.main-navigation .main-nav ul li:not([class*=\"current-menu-\"]):hover > a, .main-navigation .main-nav ul li:not([class*=\"current-menu-\"]):focus > a, .main-navigation .main-nav ul li.sfHover:not([class*=\"current-menu-\"]) > a, .main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a{color:var(--accent);}button.menu-toggle:hover,button.menu-toggle:focus{color:var(--contrast);}.main-navigation .main-nav ul li[class*=\"current-menu-\"] > a{color:var(--accent);}.navigation-search input[type=\"search\"],.navigation-search input[type=\"search\"]:active, .navigation-search input[type=\"search\"]:focus, .main-navigation .main-nav ul li.search-item.active > a, .main-navigation .menu-bar-items .search-item.active > a{color:var(--accent);}.main-navigation ul ul{background-color:var(--base);}.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .one-container .container, .separate-containers .paging-navigation, .inside-page-header{background-color:var(--base-3);}.entry-title a{color:var(--contrast);}.entry-title a:hover{color:var(--contrast-2);}.entry-meta{color:var(--contrast-2);}.sidebar .widget{background-color:var(--base-3);}.footer-widgets{background-color:var(--base-3);}.site-info{background-color:var(--base-3);}input[type=\"text\"],input[type=\"email\"],input[type=\"url\"],input[type=\"password\"],input[type=\"search\"],input[type=\"tel\"],input[type=\"number\"],textarea,select{color:var(--contrast);background-color:var(--base-2);border-color:var(--base);}input[type=\"text\"]:focus,input[type=\"email\"]:focus,input[type=\"url\"]:focus,input[type=\"password\"]:focus,input[type=\"search\"]:focus,input[type=\"tel\"]:focus,input[type=\"number\"]:focus,textarea:focus,select:focus{color:var(--contrast);background-color:var(--base-2);border-color:var(--contrast-3);}button,html input[type=\"button\"],input[type=\"reset\"],input[type=\"submit\"],a.button,a.wp-block-button__link:not(.has-background){color:#ffffff;background-color:#55555e;}button:hover,html input[type=\"button\"]:hover,input[type=\"reset\"]:hover,input[type=\"submit\"]:hover,a.button:hover,button:focus,html input[type=\"button\"]:focus,input[type=\"reset\"]:focus,input[type=\"submit\"]:focus,a.button:focus,a.wp-block-button__link:not(.has-background):active,a.wp-block-button__link:not(.has-background):focus,a.wp-block-button__link:not(.has-background):hover{color:#ffffff;background-color:#3f4047;}a.generate-back-to-top{background-color:rgba( 0,0,0,0.4 );color:#ffffff;}a.generate-back-to-top:hover,a.generate-back-to-top:focus{background-color:rgba( 0,0,0,0.6 );color:#ffffff;}:root{--gp-search-modal-bg-color:var(--base-3);--gp-search-modal-text-color:var(--contrast);--gp-search-modal-overlay-bg-color:rgba(0,0,0,0.2);}@media (max-width:768px){.main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a{background:none;color:var(--contrast);}}.nav-below-header .main-navigation .inside-navigation.grid-container, .nav-above-header .main-navigation .inside-navigation.grid-container{padding:0px 20px 0px 20px;}.site-main .wp-block-group__inner-container{padding:40px;}.separate-containers .paging-navigation{padding-top:20px;padding-bottom:20px;}.entry-content .alignwide, body:not(.no-sidebar) .entry-content .alignfull{margin-left:-40px;width:calc(100% + 80px);max-width:calc(100% + 80px);}.rtl .menu-item-has-children .dropdown-menu-toggle{padding-left:20px;}.rtl .main-navigation .main-nav ul li.menu-item-has-children > a{padding-right:20px;}@media (max-width:768px){.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header{padding:30px;}.site-main .wp-block-group__inner-container{padding:30px;}.inside-top-bar{padding-right:30px;padding-left:30px;}.inside-header{padding-right:30px;padding-left:30px;}.widget-area .widget{padding-top:30px;padding-right:30px;padding-bottom:30px;padding-left:30px;}.footer-widgets-container{padding-top:30px;padding-right:30px;padding-bottom:30px;padding-left:30px;}.inside-site-info{padding-right:30px;padding-left:30px;}.entry-content .alignwide, body:not(.no-sidebar) .entry-content .alignfull{margin-left:-30px;width:calc(100% + 60px);max-width:calc(100% + 60px);}.one-container .site-main .paging-navigation{margin-bottom:20px;}}/* End cached CSS */.is-right-sidebar{width:30%;}.is-left-sidebar{width:30%;}.site-content .content-area{width:100%;}@media (max-width:768px){.main-navigation .menu-toggle,.sidebar-nav-mobile:not(#sticky-placeholder){display:block;}.main-navigation ul,.gen-sidebar-nav,.main-navigation:not(.slideout-navigation):not(.toggled) .main-nav > ul,.has-inline-mobile-toggle #site-navigation .inside-navigation > *:not(.navigation-search):not(.main-nav){display:none;}.nav-align-right .inside-navigation,.nav-align-center .inside-navigation{justify-content:space-between;}.has-inline-mobile-toggle .mobile-menu-control-wrapper{display:flex;flex-wrap:wrap;}.has-inline-mobile-toggle .inside-header{flex-direction:row;text-align:left;flex-wrap:wrap;}.has-inline-mobile-toggle .header-widget,.has-inline-mobile-toggle #site-navigation{flex-basis:100%;}.nav-float-left .has-inline-mobile-toggle #site-navigation{order:10;}}\n.elementor-template-full-width .site-content{display:block;}\n/*# sourceURL=generate-style-inline-css */\n</style>\n<link rel=\"stylesheet\" id=\"elementor-frontend-css\" href=\"https://tajainfo.in/wp-content/plugins/elementor/assets/css/frontend.min.css?ver=4.2.4\" media=\"all\">\n<style id=\"elementor-frontend-inline-css\">\n.e-heading-base a, .e-paragraph-base a { all: unset; cursor: pointer; }form[data-element_type=\"e-form\"].form-state-success [data-element_type=\"e-form-success-message\"],form[data-element_type=\"e-form\"].form-state-error [data-element_type=\"e-form-error-message\"]{ display: block; }\n/*# sourceURL=elementor-frontend-inline-css */\n</style>\n<link rel=\"stylesheet\" id=\"elementor-post-10-css\" href=\"https://tajainfo.in/wp-content/uploads/elementor/css/post-10.css?ver=1791333732\" media=\"all\">\n<link rel=\"stylesheet\" id=\"elementor-post-22-css\" href=\"https://tajainfo.in/wp-content/uploads/elementor/css/post-22.css?ver=1792313808\" media=\"all\">\n<link rel=\"stylesheet\" id=\"base-desktop-css\" href=\"https://tajainfo.in/wp-content/uploads/elementor/css/base-desktop.css?ver=6ac595643263c\" media=\"all\">\n<link rel=\"stylesheet\" id=\"base-mobile-css\" href=\"https://tajainfo.in/wp-content/uploads/elementor/css/base-mobile.css?ver=6ac595643263c\" media=\"(max-width:767px)\">\n<link rel=\"stylesheet\" id=\"elementor-gf-roboto-css\" href=\"https://fonts.googleapis.com/css?family=Roboto:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic&amp;display=swap\" media=\"all\">\n<link rel=\"stylesheet\" id=\"elementor-gf-robotoslab-css\" href=\"https://fonts.googleapis.com/css?family=Roboto+Slab:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic&amp;display=swap\" media=\"all\">\n<script id=\"jquery-core-js\" src=\"https://tajainfo.in/wp-includes/js/jquery/jquery.min.js?ver=3.7.1\"></script>\n<script id=\"jquery-migrate-js\" src=\"https://tajainfo.in/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1\"></script>\n<link rel=\"https://api.w.org/\" href=\"https://tajainfo.in/wp-json/\"><link rel=\"alternate\" title=\"JSON\" type=\"application/json\" href=\"https://tajainfo.in/wp-json/wp/v2/pages/22\"><link rel=\"EditURI\" type=\"application/rsd+xml\" title=\"RSD\" href=\"https://tajainfo.in/xmlrpc.php?rsd\">\n<meta name=\"generator\" content=\"WordPress 7.1.3\">\n<link rel=\"shortlink\" href=\"https://tajainfo.in/\">\n<meta name=\"generator\" content=\"Elementor 4.2.4; features: e_font_icon_svg, additional_custom_breakpoints; settings: css_print_method-external, google_font-enabled, font_display-swap\">\n\t\t\t<style>\n\t\t\t\t.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),\n\t\t\t\t.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {\n\t\t\t\t\tbackground-image: none !important;\n\t\t\t\t}\n\t\t\t\t@media screen and (max-height: 1024px) {\n\t\t\t\t\t.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),\n\t\t\t\t\t.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {\n\t\t\t\t\t\tbackground-image: none !important;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t@media screen and (max-height: 640px) {\n\t\t\t\t\t.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),\n\t\t\t\t\t.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {\n\t\t\t\t\t\tbackground-image: none !important;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<link rel=\"icon\" href=\"https://tajainfo.in/wp-content/uploads/2026/09/cropped-Taja-Info-scaled-1-32x32.jpg\" sizes=\"32x32\">\n<link rel=\"icon\" href=\"https://tajainfo.in/wp-content/uploads/2026/09/cropped-Taja-Info-scaled-1-192x192.jpg\" sizes=\"192x192\">\n<link rel=\"apple-touch-icon\" href=\"https://tajainfo.in/wp-content/uploads/2026/09/cropped-Taja-Info-scaled-1-180x180.jpg\">\n<meta name=\"msapplication-TileImage\" content=\"https://tajainfo.in/wp-content/uploads/2026/09/cropped-Taja-Info-scaled-1-270x270.jpg\">\n<style id=\"wp-custom-css\">\nhtml,\nbody {\n    margin: 0 !important;\n    padding: 0 !important;\n}\n\n.site-footer {\n    margin-bottom: 0 !important;\n}\n\n.site {\n    margin-bottom: 0 !important;\n    padding-bottom: 0 !important;\n}\n\n\n\n</style>\n<script src=\"https://tajainfo.in/wp-includes/js/wp-emoji-release.min.js?ver=7.1.3\" defer=\"\"></script></head>\n\n<body class=\"home wp-singular page-template-default page page-id-22 wp-embed-responsive wp-theme-generatepress no-sidebar nav-float-right separate-containers header-aligned-left dropdown-hover full-width-content elementor-default elementor-kit-10 elementor-page elementor-page-22 e--ua-blink e--ua-webkit\" itemtype=\"https://schema.org/WebPage\" itemscope=\"\" data-elementor-device-mode=\"tablet\">\n\t<a class=\"screen-reader-text skip-link\" href=\"#content\" title=\"Skip to content\">Skip to content</a>\t\t<header class=\"site-header has-inline-mobile-toggle\" id=\"masthead\" aria-label=\"Site\" itemtype=\"https://schema.org/WPHeader\" itemscope=\"\">\n\t\t\t<div class=\"inside-header grid-container\">\n\t\t\t\t<div class=\"site-branding\">\n\t\t\t\t\t\t<p class=\"main-title\" itemprop=\"headline\">\n\t\t\t\t\t<a href=\"https://tajainfo.in/\" rel=\"home\">Taja Info</a>\n\t\t\t\t</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\t<nav class=\"main-navigation mobile-menu-control-wrapper\" id=\"mobile-menu-control-wrapper\" aria-label=\"Mobile Toggle\">\n\t\t\t\t<button data-nav=\"site-navigation\" class=\"menu-toggle\" aria-controls=\"primary-menu\" aria-expanded=\"false\">\n\t\t\t<span class=\"gp-icon icon-menu-bars\"><svg viewBox=\"0 0 512 512\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\"><path d=\"M0 96c0-13.255 10.745-24 24-24h464c13.255 0 24 10.745 24 24s-10.745 24-24 24H24c-13.255 0-24-10.745-24-24zm0 160c0-13.255 10.745-24 24-24h464c13.255 0 24 10.745 24 24s-10.745 24-24 24H24c-13.255 0-24-10.745-24-24zm0 160c0-13.255 10.745-24 24-24h464c13.255 0 24 10.745 24 24s-10.745 24-24 24H24c-13.255 0-24-10.745-24-24z\"></path></svg><svg viewBox=\"0 0 512 512\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\"><path d=\"M71.029 71.029c9.373-9.372 24.569-9.372 33.942 0L256 222.059l151.029-151.03c9.373-9.372 24.569-9.372 33.942 0 9.372 9.373 9.372 24.569 0 33.942L289.941 256l151.03 151.029c9.372 9.373 9.372 24.569 0 33.942-9.373 9.372-24.569 9.372-33.942 0L256 289.941l-151.029 151.03c-9.373 9.372-24.569 9.372-33.942 0-9.372-9.373-9.372-24.569 0-33.942L222.059 256 71.029 104.971c-9.372-9.373-9.372-24.569 0-33.942z\"></path></svg></span><span class=\"screen-reader-text\">Menu</span>\t\t</button>\n\t</nav>\n\t\t\t<nav class=\"main-navigation sub-menu-right\" id=\"site-navigation\" aria-label=\"Primary\" itemtype=\"https://schema.org/SiteNavigationElement\" itemscope=\"\">\n\t\t\t<div class=\"inside-navigation grid-container\">\n\t\t\t\t\t\t\t\t<button class=\"menu-toggle\" aria-controls=\"primary-menu\" aria-expanded=\"false\">\n\t\t\t\t\t<span class=\"gp-icon icon-menu-bars\"><svg viewBox=\"0 0 512 512\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\"><path d=\"M0 96c0-13.255 10.745-24 24-24h464c13.255 0 24 10.745 24 24s-10.745 24-24 24H24c-13.255 0-24-10.745-24-24zm0 160c0-13.255 10.745-24 24-24h464c13.255 0 24 10.745 24 24s-10.745 24-24 24H24c-13.255 0-24-10.745-24-24zm0 160c0-13.255 10.745-24 24-24h464c13.255 0 24 10.745 24 24s-10.745 24-24 24H24c-13.255 0-24-10.745-24-24z\"></path></svg><svg viewBox=\"0 0 512 512\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\"><path d=\"M71.029 71.029c9.373-9.372 24.569-9.372 33.942 0L256 222.059l151.029-151.03c9.373-9.372 24.569-9.372 33.942 0 9.372 9.373 9.372 24.569 0 33.942L289.941 256l151.03 151.029c9.372 9.373 9.372 24.569 0 33.942-9.373 9.372-24.569 9.372-33.942 0L256 289.941l-151.029 151.03c-9.373 9.372-24.569 9.372-33.942 0-9.372-9.373-9.372-24.569 0-33.942L222.059 256 71.029 104.971c-9.372-9.373-9.372-24.569 0-33.942z\"></path></svg></span><span class=\"mobile-menu\">Menu</span>\t\t\t\t</button>\n\t\t\t\t<div id=\"primary-menu\" class=\"main-nav\"><ul id=\"menu-menu-1\" class=\" menu sf-menu\"><li id=\"menu-item-39\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-39\"><a rel=\"privacy-policy\" href=\"https://tajainfo.in/privacy-policy/\">Privacy Policy</a></li>\n<li id=\"menu-item-40\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-40\"><a href=\"https://tajainfo.in/about-us/\">About Us</a></li>\n<li id=\"menu-item-43\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-43\"><a href=\"https://tajainfo.in/contact-us/\">Contact Us</a></li>\n<li id=\"menu-item-46\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-46\"><a href=\"https://tajainfo.in/term/\">Terms &amp; Conditions</a></li>\n<li id=\"menu-item-50\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-50\"><a href=\"https://tajainfo.in/disclaimer/\">Disclaimer</a></li>\n</ul></div>\t\t\t</div>\n\t\t</nav>\n\t\t\t\t\t</div>\n\t\t</header>\n\t\t\n\t<div class=\"site grid-container container hfeed\" id=\"page\">\n\t\t\t\t<div class=\"site-content\" id=\"content\">\n\t\t\t\n\t<div class=\"content-area\" id=\"primary\">\n\t\t<main class=\"site-main\" id=\"main\">\n\t\t\t\n<article id=\"post-22\" class=\"post-22 page type-page status-publish\" itemtype=\"https://schema.org/CreativeWork\" itemscope=\"\">\n\t<div class=\"inside-article\">\n\t\t\n\t\t<div class=\"entry-content\" itemprop=\"text\">\n\t\t\t\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"22\" class=\"elementor elementor-22\">\n\t\t\t\t<div class=\"elementor-element elementor-element-214497c e-flex e-con-boxed e-con e-parent e-lazyloaded\" data-id=\"214497c\" 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-b6b03f9 elementor-widget elementor-widget-html\" data-id=\"b6b03f9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\n\n\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\n  <title>Free Image Cropping Tool Online | Nano Cropper+</title>\n  <meta name=\"description\" content=\"Crop images online for free with Nano Cropper+. Use our fast and easy free image cropping tool to crop images with custom and preset aspect ratios.\">\n  <meta name=\"keywords\" content=\"free image cropping tool, free image cropper, crop image online, image cropping tool, online image cropper\">\n  <meta name=\"robots\" content=\"index, follow\">\n  <link rel=\"canonical\" href=\"https://tajainfo.in/\">\n\n  <meta property=\"og:title\" content=\"Free Image Cropping Tool Online | Nano Cropper+\">\n  <meta property=\"og:description\" content=\"Crop your images online for free with Nano Cropper+.\">\n  <meta property=\"og:type\" content=\"website\">\n\n  <meta name=\"twitter:card\" content=\"summary_large_image\">\n  <meta name=\"twitter:title\" content=\"Free Image Cropping Tool Online | Nano Cropper+\">\n  <meta name=\"twitter:description\" content=\"A fast and easy free image cropping tool.\">\n\n  <style>\n    :root {\n      --blue: #326fa8;\n      --blue-dark: #25577f;\n      --pink: #d11f66;\n      --charcoal: #323634;\n\n      --bg: #f6f9fc;\n      --surface: #ffffff;\n      --surface-2: #eef4f9;\n      --text: #1e292f;\n      --muted: #64737d;\n      --border: rgba(50, 111, 168, 0.15);\n      --shadow: 0 20px 60px rgba(25, 55, 75, 0.12);\n\n      --radius: 22px;\n      --transition: 0.3s ease;\n    }\n\n    body.dark {\n      --bg: #101516;\n      --surface: #18201f;\n      --surface-2: #202a29;\n      --text: #f1f6f5;\n      --muted: #a7b5b2;\n      --border: rgba(255, 255, 255, 0.1);\n      --shadow: 0 20px 60px rgba(0, 0, 0, 0.35);\n    }\n\n    * {\n      margin: 0;\n      padding: 0;\n      box-sizing: border-box;\n    }\n\n    html {\n      scroll-behavior: smooth;\n    }\n\n    body {\n      font-family:\n        Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,\n        \"Segoe UI\", sans-serif;\n      background: var(--bg);\n      color: var(--text);\n      line-height: 1.6;\n      transition: background var(--transition), color var(--transition);\n      overflow-x: hidden;\n    }\n\n    button,\n    input,\n    textarea,\n    select {\n      font: inherit;\n    }\n\n    button {\n      cursor: pointer;\n    }\n\n    a {\n      color: inherit;\n      text-decoration: none;\n    }\n\n    img {\n      max-width: 100%;\n    }\n\n    .container {\n      width: min(1140px, calc(100% - 40px));\n      margin: auto;\n    }\n\n    \n\n    /* =========================\n       GENERAL SECTIONS\n    ========================== */\n\n    section {\n      padding: 90px 0;\n    }\n\n    .section-heading {\n      text-align: center;\n      max-width: 760px;\n      margin: 0 auto 48px;\n    }\n\n    .section-heading .eyebrow {\n      color: var(--pink);\n      font-size: 13px;\n      text-transform: uppercase;\n      letter-spacing: 2px;\n      font-weight: 800;\n      margin-bottom: 10px;\n    }\n\n    .section-heading h2 {\n      font-size: clamp(30px, 4vw, 48px);\n      line-height: 1.1;\n      letter-spacing: -1.5px;\n      margin-bottom: 15px;\n    }\n\n    .section-heading p {\n      color: var(--muted);\n    }\n\n    /* =========================\n       CROPPER\n    ========================== */\n\n    .tool-section {\n      background: var(--bg);\n    }\n\n    .cropper-card {\n      max-width: 1050px;\n      margin: auto;\n      background: var(--surface);\n      border: 1px solid var(--border);\n      border-radius: 28px;\n      box-shadow: var(--shadow);\n      overflow: hidden;\n    }\n\n    .upload-panel {\n      padding: 42px;\n    }\n\n    .drop-zone {\n      border: 2px dashed rgba(50,111,168,.38);\n      background: var(--surface-2);\n      min-height: 290px;\n      border-radius: 20px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      text-align: center;\n      padding: 30px;\n      transition: var(--transition);\n    }\n\n    .drop-zone.dragover {\n      border-color: var(--pink);\n      background: rgba(209,31,102,.08);\n      transform: scale(1.01);\n    }\n\n    .upload-icon {\n      width: 75px;\n      height: 75px;\n      display: grid;\n      place-items: center;\n      margin: 0 auto 18px;\n      border-radius: 22px;\n      background: linear-gradient(135deg, rgba(50,111,168,.14), rgba(209,31,102,.14));\n      color: var(--blue);\n      font-size: 35px;\n    }\n\n    .drop-zone h3 {\n      margin-bottom: 7px;\n    }\n\n    .drop-zone p {\n      color: var(--muted);\n      margin-bottom: 20px;\n      font-size: 14px;\n    }\n\n    #fileInput {\n      display: none;\n    }\n\n    .tool-workspace {\n      display: none;\n      grid-template-columns: 1fr 280px;\n      gap: 0;\n      border-top: 1px solid var(--border);\n    }\n\n    .tool-workspace.active {\n      display: grid;\n    }\n\n    .canvas-area {\n      min-width: 0;\n      padding: 25px;\n      background:\n        linear-gradient(45deg, rgba(100,100,100,.04) 25%, transparent 25%),\n        linear-gradient(-45deg, rgba(100,100,100,.04) 25%, transparent 25%),\n        linear-gradient(45deg, transparent 75%, rgba(100,100,100,.04) 75%),\n        linear-gradient(-45deg, transparent 75%, rgba(100,100,100,.04) 75%);\n      background-size: 24px 24px;\n      background-position: 0 0, 0 12px, 12px -12px, -12px 0;\n    }\n\n    .canvas-wrapper {\n      position: relative;\n      width: 100%;\n      height: 560px;\n      overflow: hidden;\n      background: rgba(0,0,0,.12);\n      border-radius: 15px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n    }\n\n    #imageCanvas {\n      max-width: 100%;\n      max-height: 100%;\n      display: block;\n      cursor: crosshair;\n      touch-action: none;\n    }\n\n    .tool-sidebar {\n      border-left: 1px solid var(--border);\n      padding: 25px;\n      background: var(--surface);\n    }\n\n    .control-group {\n      margin-bottom: 25px;\n    }\n\n    .control-group > label {\n      display: block;\n      font-size: 13px;\n      font-weight: 800;\n      color: var(--muted);\n      margin-bottom: 10px;\n      text-transform: uppercase;\n      letter-spacing: .7px;\n    }\n\n    .ratio-grid {\n      display: grid;\n      grid-template-columns: repeat(2, 1fr);\n      gap: 8px;\n    }\n\n    .ratio-btn {\n      border: 1px solid var(--border);\n      background: var(--surface-2);\n      color: var(--text);\n      padding: 9px 5px;\n      border-radius: 9px;\n      font-size: 12px;\n      font-weight: 700;\n      transition: var(--transition);\n    }\n\n    .ratio-btn:hover,\n    .ratio-btn.active {\n      background: var(--blue);\n      border-color: var(--blue);\n      color: #fff;\n    }\n\n    .control-row {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 8px;\n    }\n\n    .small-btn {\n      border: 1px solid var(--border);\n      background: var(--surface-2);\n      color: var(--text);\n      border-radius: 9px;\n      padding: 10px;\n      font-size: 13px;\n      font-weight: 700;\n      transition: var(--transition);\n    }\n\n    .small-btn:hover {\n      border-color: var(--blue);\n      color: var(--blue);\n      transform: translateY(-2px);\n    }\n\n    .download-btn {\n      width: 100%;\n      border: 0;\n      border-radius: 11px;\n      padding: 13px;\n      background: linear-gradient(135deg, var(--pink), #e34882);\n      color: #fff;\n      font-weight: 800;\n      transition: var(--transition);\n    }\n\n    .download-btn:hover {\n      transform: translateY(-2px);\n      box-shadow: 0 10px 25px rgba(209,31,102,.25);\n    }\n\n    .privacy-note {\n      margin-top: 18px;\n      padding: 13px;\n      border-radius: 10px;\n      background: rgba(50,111,168,.07);\n      color: var(--muted);\n      font-size: 12px;\n    }\n\n    /* =========================\n       FEATURES\n    ========================== */\n\n    .features {\n      background: var(--surface);\n    }\n\n    .feature-grid {\n      display: grid;\n      grid-template-columns: repeat(4, 1fr);\n      gap: 18px;\n    }\n\n    .feature-card {\n      padding: 28px 22px;\n      border-radius: 18px;\n      background: var(--bg);\n      border: 1px solid var(--border);\n      transition: var(--transition);\n    }\n\n    .feature-card:hover {\n      transform: translateY(-8px);\n      border-color: rgba(50,111,168,.35);\n      box-shadow: var(--shadow);\n    }\n\n    .feature-icon {\n      width: 48px;\n      height: 48px;\n      border-radius: 14px;\n      display: grid;\n      place-items: center;\n      background: rgba(50,111,168,.1);\n      color: var(--blue);\n      font-size: 23px;\n      margin-bottom: 17px;\n      transition: var(--transition);\n    }\n\n    .feature-card:hover .feature-icon {\n      background: var(--blue);\n      color: #fff;\n      transform: rotate(-5deg) scale(1.08);\n    }\n\n    .feature-card h3 {\n      margin-bottom: 7px;\n      font-size: 17px;\n    }\n\n    .feature-card p {\n      color: var(--muted);\n      font-size: 14px;\n    }\n\n    /* =========================\n       HOW IT WORKS\n    ========================== */\n\n    .steps {\n      display: grid;\n      grid-template-columns: repeat(4, 1fr);\n      gap: 20px;\n    }\n\n    .step {\n      text-align: center;\n      position: relative;\n      padding: 10px;\n    }\n\n    .step-number {\n      width: 58px;\n      height: 58px;\n      display: grid;\n      place-items: center;\n      margin: 0 auto 17px;\n      border-radius: 50%;\n      color: #fff;\n      font-weight: 900;\n      background: linear-gradient(135deg, var(--blue), var(--pink));\n      box-shadow: 0 10px 25px rgba(50,111,168,.2);\n    }\n\n    .step h3 {\n      margin-bottom: 7px;\n    }\n\n    .step p {\n      color: var(--muted);\n      font-size: 14px;\n    }\n\n    /* =========================\n       CONTENT\n    ========================== */\n\n    .content-section {\n      background: var(--surface);\n    }\n\n    .content-box {\n      max-width: 900px;\n      margin: auto;\n    }\n\n    .content-box h2 {\n      font-size: 34px;\n      margin: 35px 0 12px;\n      line-height: 1.2;\n    }\n\n    .content-box h2:first-child {\n      margin-top: 0;\n    }\n\n    .content-box p {\n      color: var(--muted);\n      margin-bottom: 17px;\n    }\n\n    /* =========================\n       FAQ\n    ========================== */\n\n    .faq {\n      max-width: 850px;\n      margin: auto;\n    }\n\n    .faq-item {\n      background: var(--surface);\n      border: 1px solid var(--border);\n      border-radius: 14px;\n      margin-bottom: 11px;\n      overflow: hidden;\n    }\n\n    .faq-question {\n      width: 100%;\n      background: transparent;\n      border: 0;\n      color: var(--text);\n      padding: 19px 20px;\n      text-align: left;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      font-weight: 750;\n    }\n\n    .faq-question span:last-child {\n      color: var(--pink);\n      font-size: 22px;\n      transition: var(--transition);\n    }\n\n    .faq-item.open .faq-question span:last-child {\n      transform: rotate(45deg);\n    }\n\n    .faq-answer {\n      max-height: 0;\n      overflow: hidden;\n      transition: max-height .35s ease;\n    }\n\n    .faq-answer p {\n      padding: 0 20px 20px;\n      color: var(--muted);\n    }\n\n    /* =========================\n       CONTACT\n    ========================== */\n\n    .contact-section {\n      background:\n        radial-gradient(circle at 10% 10%, rgba(50,111,168,.15), transparent 30%),\n        radial-gradient(circle at 90% 90%, rgba(209,31,102,.12), transparent 30%),\n        var(--bg);\n    }\n\n    .contact-card {\n      max-width: 850px;\n      margin: auto;\n      background: var(--surface);\n      padding: 38px;\n      border-radius: 24px;\n      border: 1px solid var(--border);\n      box-shadow: var(--shadow);\n    }\n\n    .form-grid {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 17px;\n    }\n\n    .form-group {\n      margin-bottom: 17px;\n    }\n\n    .form-group.full {\n      grid-column: 1 / -1;\n    }\n\n    .form-group label {\n      display: block;\n      margin-bottom: 7px;\n      font-size: 13px;\n      font-weight: 750;\n    }\n\n    .form-group input,\n    .form-group textarea {\n      width: 100%;\n      border: 1px solid var(--border);\n      background: var(--bg);\n      color: var(--text);\n      border-radius: 11px;\n      padding: 13px 14px;\n      outline: none;\n      transition: var(--transition);\n    }\n\n    .form-group textarea {\n      min-height: 130px;\n      resize: vertical;\n    }\n\n    .form-group input:focus,\n    .form-group textarea:focus {\n      border-color: var(--blue);\n      box-shadow: 0 0 0 4px rgba(50,111,168,.1);\n    }\n\n    .form-message {\n      display: none;\n      margin-top: 15px;\n      padding: 12px;\n      background: rgba(50,111,168,.1);\n      border-radius: 9px;\n      color: var(--blue);\n      font-size: 14px;\n    }\n    \n    \n    \n/* ===== PROFESSIONAL FOOTER CSS ===== */\n\n.site-footer {\n  padding: 64px 0 0;\n  background: linear-gradient(\n    135deg,\n    #202927,\n    #323634 58%,\n    #243b4b\n  );\n  color: rgba(255, 255, 255, 0.76);\n  border-top: 3px solid var(--pink);\n  box-sizing: border-box;\n}\n\n.site-footer .footer-main {\n  display: grid;\n  grid-template-columns: 1.5fr 1fr 1fr 1fr;\n  gap: 36px;\n  padding-bottom: 42px;\n}\n\n.site-footer .footer-brand {\n  display: inline-block;\n  margin-bottom: 13px;\n  color: #fff;\n  font-size: 21px;\n  font-weight: 850;\n  letter-spacing: -0.4px;\n  text-decoration: none;\n}\n\n.site-footer .footer-about p {\n  max-width: 340px;\n  color: rgba(255, 255, 255, 0.68);\n  font-size: 14px;\n  line-height: 1.8;\n}\n\n.site-footer .footer-column h3 {\n  margin: 4px 0 17px;\n  color: #fff;\n  font-size: 15px;\n  font-weight: 800;\n}\n\n.site-footer .footer-list {\n  display: grid;\n  gap: 11px;\n  list-style: none;\n  padding: 0;\n  margin: 0;\n}\n\n.site-footer .footer-list a {\n  color: rgba(255, 255, 255, 0.72);\n  font-size: 14px;\n  text-decoration: none;\n  transition: color 0.2s ease, padding-left 0.2s ease;\n}\n\n.site-footer .footer-list a:hover,\n.site-footer .footer-list a:focus-visible {\n  color: #fff;\n  padding-left: 4px;\n  outline-offset: 3px;\n}\n\n.site-footer .footer-socials {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin-top: 17px;\n}\n\n.site-footer .footer-socials a {\n  width: 39px;\n  height: 39px;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  border: 1px solid rgba(255, 255, 255, 0.2);\n  border-radius: 12px;\n  color: #fff;\n  font-size: 12px;\n  font-weight: 800;\n  text-decoration: none;\n  transition: background 0.2s ease, transform 0.2s ease;\n}\n\n.site-footer .footer-socials a:hover,\n.site-footer .footer-socials a:focus-visible {\n  background: var(--pink);\n  border-color: var(--pink);\n  transform: translateY(-3px);\n}\n\n.site-footer .footer-bottom {\n  border-top: 1px solid rgba(255, 255, 255, 0.14);\n  padding: 19px 0;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 14px 24px;\n  flex-wrap: wrap;\n  font-size: 13px;\n}\n\n.site-footer .footer-bottom p {\n  margin: 0;\n}\n\n.site-footer .footer-bottom strong {\n  color: #fff;\n}\n\n.site-footer .footer-bottom-links {\n  display: flex;\n  gap: 18px;\n  flex-wrap: wrap;\n}\n\n.site-footer .footer-bottom-links a {\n  color: rgba(255, 255, 255, 0.72);\n  text-decoration: none;\n}\n\n.site-footer .footer-bottom-links a:hover {\n  color: #fff;\n}\n\n/* TABLET */\n@media (max-width: 900px) {\n  .site-footer .footer-main {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 30px;\n  }\n}\n\n/* MOBILE */\n@media (max-width: 600px) {\n  .site-footer {\n    padding-top: 42px;\n  }\n\n  .site-footer .footer-main {\n    grid-template-columns: 1fr 1fr;\n    gap: 28px 18px;\n    padding-bottom: 30px;\n  }\n\n  .site-footer .footer-about {\n    grid-column: 1 / -1;\n  }\n\n  .site-footer .footer-brand {\n    font-size: 19px;\n  }\n\n  .site-footer .footer-bottom {\n    align-items: flex-start;\n    flex-direction: column;\n  }\n\n  .site-footer .footer-bottom-links {\n    gap: 12px;\n  }\n}\n\n/* VERY SMALL MOBILE */\n@media (max-width: 360px) {\n  .site-footer .footer-main {\n    grid-template-columns: 1fr;\n  }\n\n  .site-footer .footer-about {\n    grid-column: auto;\n  }\n}\n\n\n    /* =========================\n       FOOTER\n    ========================== */\n\n    footer {\n      padding: 30px 0;\n      background: var(--charcoal);\n      color: rgba(255,255,255,.7);\n    }\n\n    .footer-inner {\n      display: flex;\n      justify-content: space-between;\n      gap: 20px;\n      align-items: center;\n      flex-wrap: wrap;\n    }\n\n    .footer-brand {\n      color: #fff;\n      font-weight: 850;\n    }\n\n    .footer-links {\n      display: flex;\n      gap: 18px;\n      flex-wrap: wrap;\n      font-size: 14px;\n    }\n\n    .footer-links a:hover {\n      color: #fff;\n    }\n\n    /* =========================\n       REVEAL ANIMATION\n    ========================== */\n\n    .reveal {\n      opacity: 0;\n      transform: translateY(25px);\n      transition: opacity .7s ease, transform .7s ease;\n    }\n\n    .reveal.visible {\n      opacity: 1;\n      transform: translateY(0);\n    }\n\n    /* =========================\n       RESPONSIVE\n    ========================== */\n\n    @media (max-width: 900px) {\n      .feature-grid,\n      .steps {\n        grid-template-columns: repeat(2, 1fr);\n      }\n\n      .tool-workspace {\n        grid-template-columns: 1fr;\n      }\n\n      .tool-sidebar {\n        border-left: 0;\n        border-top: 1px solid var(--border);\n      }\n\n      .canvas-wrapper {\n        height: 500px;\n      }\n    }\n\n    @media (max-width: 600px) {\n      .container {\n        width: min(100% - 24px, 1140px);\n      }\n\n      .hero {\n        min-height: 700px;\n      }\n\n      .theme-toggle {\n        top: 15px;\n        right: 15px;\n      }\n\n      .hero h1 {\n        letter-spacing: -2px;\n      }\n\n      section {\n        padding: 65px 0;\n      }\n\n      .upload-panel {\n        padding: 18px;\n      }\n\n      .drop-zone {\n        min-height: 250px;\n      }\n\n      .canvas-area {\n        padding: 12px;\n      }\n\n      .canvas-wrapper {\n        height: 390px;\n      }\n\n      .feature-grid,\n      .steps,\n      .form-grid {\n        grid-template-columns: 1fr;\n      }\n\n      .form-group.full {\n        grid-column: auto;\n      }\n\n      .contact-card {\n        padding: 22px;\n      }\n    }\n\n    @media (prefers-reduced-motion: reduce) {\n      *,\n      *::before,\n      *::after {\n        scroll-behavior: auto !important;\n        animation-duration: .01ms !important;\n        animation-iteration-count: 1 !important;\n        transition-duration: .01ms !important;\n      }\n\n      .particle {\n        display: none;\n      }\n    }\n  </style>\n\n  <script type=\"application/ld+json\">\n  {\n    \"@context\": \"https://schema.org\",\n    \"@type\": \"WebApplication\",\n    \"name\": \"Nano Cropper+\",\n    \"applicationCategory\": \"MultimediaApplication\",\n    \"operatingSystem\": \"Any\",\n    \"description\": \"A free image cropping tool for cropping images online.\",\n    \"offers\": {\n      \"@type\": \"Offer\",\n      \"price\": \"0\",\n      \"priceCurrency\": \"USD\"\n    }\n  }\n  </script>\n\n  <script type=\"application/ld+json\">\n  {\n    \"@context\": \"https://schema.org\",\n    \"@type\": \"FAQPage\",\n    \"mainEntity\": [\n      {\n        \"@type\": \"Question\",\n        \"name\": \"What is a free image cropping tool?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"A free image cropping tool lets you select and remove unwanted areas of an image without requiring paid image-editing software.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"Can I crop an image online for free?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Yes. Nano Cropper+ provides browser-based image cropping without requiring an installation.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"Does Nano Cropper+ upload my images?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"The cropper processes the selected image directly in the browser, so no server upload is required for the cropping functionality.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"Can I crop an image to a specific aspect ratio?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Yes. Nano Cropper+ includes common aspect ratios such as 1:1, 4:3, 16:9, portrait and landscape.\"\n        }\n      }\n    ]\n  }\n  </script>\n\n\n\n\n \n  <!-- TOOL -->\n  <section class=\"tool-section\" id=\"tool\">\n    <div class=\"container\">\n      <div class=\"section-heading reveal visible\">\n        <div class=\"eyebrow\">Online Image Editor</div>\n        <h2><b>Crop Your Image in Seconds</b></h2>\n        <p>\n          Upload an image, select the area you want to keep, adjust the crop,\n          and download your result.\n        </p>\n      </div>\n\n      <div class=\"cropper-card reveal visible\">\n\n        <div class=\"upload-panel\" id=\"uploadPanel\">\n          <div class=\"drop-zone\" id=\"dropZone\">\n            <div>\n              <div class=\"upload-icon\"><img draggable=\"false\" role=\"img\" class=\"emoji\" alt=\"🖼️\" src=\"https://s.w.org/images/core/emoji/17.0.2/svg/1f5bc.svg\"></div>\n\n              <h3>Drop your image here</h3>\n\n              <p>\n                or select an image from your device.\n                JPG, PNG and WebP are supported.\n              </p>\n\n              <label for=\"fileInput\" class=\"btn btn-primary\">\n                <img draggable=\"false\" role=\"img\" class=\"emoji\" alt=\"📁\" src=\"https://s.w.org/images/core/emoji/17.0.2/svg/1f4c1.svg\"> Choose Image\n              </label>\n\n              <input type=\"file\" id=\"fileInput\" accept=\"image/jpeg,image/png,image/webp,image/gif\">\n            </div>\n          </div>\n        </div>\n\n        <div class=\"tool-workspace\" id=\"workspace\">\n\n          <div class=\"canvas-area\">\n            <div class=\"canvas-wrapper\">\n              <canvas id=\"imageCanvas\"></canvas>\n            </div>\n          </div>\n\n          <aside class=\"tool-sidebar\">\n\n            <div class=\"control-group\">\n              <label>Aspect Ratio</label>\n\n              <div class=\"ratio-grid\">\n                <button class=\"ratio-btn active\" data-ratio=\"free\">Free</button>\n                <button class=\"ratio-btn\" data-ratio=\"1\">1:1</button>\n                <button class=\"ratio-btn\" data-ratio=\"1.333333\">4:3</button>\n                <button class=\"ratio-btn\" data-ratio=\"1.777778\">16:9</button>\n                <button class=\"ratio-btn\" data-ratio=\"0.75\">3:4</button>\n                <button class=\"ratio-btn\" data-ratio=\"0.5625\">9:16</button>\n              </div>\n            </div>\n\n            <div class=\"control-group\">\n              <label>Zoom</label>\n\n              <div class=\"control-row\">\n                <button class=\"small-btn\" id=\"zoomOut\">− Zoom</button>\n                <button class=\"small-btn\" id=\"zoomIn\">＋ Zoom</button>\n              </div>\n            </div>\n\n            <div class=\"control-group\">\n              <label>Rotate</label>\n\n              <div class=\"control-row\">\n                <button class=\"small-btn\" id=\"rotateLeft\">↶ Left</button>\n                <button class=\"small-btn\" id=\"rotateRight\">↷ Right</button>\n              </div>\n            </div>\n\n            <div class=\"control-group\">\n              <label>Actions</label>\n\n              <div class=\"control-row\">\n                <button class=\"small-btn\" id=\"resetBtn\">↺ Reset</button>\n                <button class=\"small-btn\" id=\"newImageBtn\">＋ New</button>\n              </div>\n            </div>\n\n            <button class=\"download-btn\" id=\"downloadBtn\">\n              ⬇ Download Cropped Image\n            </button>\n\n            <div class=\"privacy-note\">\n              <img draggable=\"false\" role=\"img\" class=\"emoji\" alt=\"🔒\" src=\"https://s.w.org/images/core/emoji/17.0.2/svg/1f512.svg\"> Your image is processed directly in your browser.\n              No upload is required for cropping.\n            </div>\n\n          </aside>\n        </div>\n\n      </div>\n    </div>\n  </section>\n\n  <!-- FEATURES -->\n  <section class=\"features\">\n    <div class=\"container\">\n      <div class=\"section-heading reveal\">\n        <div class=\"eyebrow\">Why Nano Cropper+</div>\n        <h2><b>A Simple Way to Crop Images</b></h2>\n        <p>\n          Everything you need for quick image cropping without unnecessary complexity.\n        </p>\n      </div>\n\n      <div class=\"feature-grid\">\n\n        <div class=\"feature-card reveal\">\n          <div class=\"feature-icon\"><img draggable=\"false\" role=\"img\" class=\"emoji\" alt=\"⚡\" src=\"https://s.w.org/images/core/emoji/17.0.2/svg/26a1.svg\"></div>\n          <h3>Fast Processing</h3>\n          <p>Crop images directly in your browser without waiting for server processing.</p>\n        </div>\n\n        <div class=\"feature-card reveal\">\n          <div class=\"feature-icon\"><img draggable=\"false\" role=\"img\" class=\"emoji\" alt=\"🆓\" src=\"https://s.w.org/images/core/emoji/17.0.2/svg/1f193.svg\"></div>\n          <h3>Free to Use</h3>\n          <p>Use Nano Cropper+ as a free image cropping tool for everyday image editing.</p>\n        </div>\n\n        <div class=\"feature-card reveal\">\n          <div class=\"feature-icon\"><img draggable=\"false\" role=\"img\" class=\"emoji\" alt=\"📱\" src=\"https://s.w.org/images/core/emoji/17.0.2/svg/1f4f1.svg\"></div>\n          <h3>Mobile Friendly</h3>\n          <p>The responsive interface is designed to work across phones, tablets and desktops.</p>\n        </div>\n\n        <div class=\"feature-card reveal\">\n          <div class=\"feature-icon\"><img draggable=\"false\" role=\"img\" class=\"emoji\" alt=\"🔒\" src=\"https://s.w.org/images/core/emoji/17.0.2/svg/1f512.svg\"></div>\n          <h3>Browser Based</h3>\n          <p>Your selected image can be processed locally in your browser.</p>\n        </div>\n\n        <div class=\"feature-card reveal\">\n          <div class=\"feature-icon\"><img draggable=\"false\" role=\"img\" class=\"emoji\" alt=\"🎯\" src=\"https://s.w.org/images/core/emoji/17.0.2/svg/1f3af.svg\"></div>\n          <h3>Aspect Ratios</h3>\n          <p>Quickly select popular crop ratios including square, portrait and landscape.</p>\n        </div>\n\n        <div class=\"feature-card reveal\">\n          <div class=\"feature-icon\"><img draggable=\"false\" role=\"img\" class=\"emoji\" alt=\"🔍\" src=\"https://s.w.org/images/core/emoji/17.0.2/svg/1f50d.svg\"></div>\n          <h3>Zoom Control</h3>\n          <p>Zoom your image to make it easier to position the desired crop area.</p>\n        </div>\n\n        <div class=\"feature-card reveal\">\n          <div class=\"feature-icon\"><img draggable=\"false\" role=\"img\" class=\"emoji\" alt=\"🔄\" src=\"https://s.w.org/images/core/emoji/17.0.2/svg/1f504.svg\"></div>\n          <h3>Rotate Images</h3>\n          <p>Rotate your image before cropping to get the orientation you need.</p>\n        </div>\n\n        <div class=\"feature-card reveal\">\n          <div class=\"feature-icon\"><img draggable=\"false\" role=\"img\" class=\"emoji\" alt=\"⬇️\" src=\"https://s.w.org/images/core/emoji/17.0.2/svg/2b07.svg\"></div>\n          <h3>Easy Download</h3>\n          <p>Download the finished crop directly to your device.</p>\n        </div>\n\n      </div>\n    </div>\n  </section>\n\n  <!-- HOW IT WORKS -->\n  <section>\n    <div class=\"container\">\n\n      <div class=\"section-heading reveal\">\n        <div class=\"eyebrow\">How It Works</div>\n        <h2><b>Crop Images in Four Simple Steps</b></h2>\n        <p>No complicated editing software is required.</p>\n      </div>\n\n      <div class=\"steps\">\n\n        <div class=\"step reveal\">\n          <div class=\"step-number\">1</div>\n          <h3>Upload</h3>\n          <p>Select an image or drag it into the upload area.</p>\n        </div>\n\n        <div class=\"step reveal\">\n          <div class=\"step-number\">2</div>\n          <h3>Select</h3>\n          <p>Choose the crop area you want to keep.</p>\n        </div>\n\n        <div class=\"step reveal\">\n          <div class=\"step-number\">3</div>\n          <h3>Adjust</h3>\n          <p>Use aspect ratio, zoom and rotation controls.</p>\n        </div>\n\n        <div class=\"step reveal\">\n          <div class=\"step-number\">4</div>\n          <h3>Download</h3>\n          <p>Download your cropped image to your device.</p>\n        </div>\n\n      </div>\n    </div>\n  </section>\n\n  <!-- SEO CONTENT -->\n  <section class=\"content-section\">\n    <div class=\"container\">\n      <div class=\"content-box reveal\">\n\n        <h2><b>Free Image Cropping Tool for Easy Online Editing</b></h2>\n\n        <p>\n          Nano Cropper+ is a free image cropping tool designed to make\n          everyday image editing quick and straightforward. Instead of\n          installing complicated photo-editing software, you can open the\n          tool in your browser, select an image and crop it to the area you\n          need.\n        </p>\n\n        <p>\n          Cropping is useful when an image contains unwanted areas, when you\n          need to change its composition, or when a website or social\n          platform requires a particular image shape. With an online image\n          cropper, these adjustments can be made quickly from a desktop,\n          tablet or mobile device.\n        </p>\n\n        <h2><b>Crop Images Online</b></h2>\n\n        <p>\n          To crop an image online, simply upload your picture to the cropper,\n          select the area you want to retain and adjust the selection. Nano\n          Cropper+ provides common aspect ratios such as 1:1, 4:3 and 16:9,\n          making it easier to prepare images for different purposes.\n        </p>\n\n        <p>\n          You can also zoom and rotate your image before downloading the\n          result. The interface is designed to keep the process simple so\n          that you can concentrate on getting the composition you want.\n        </p>\n\n        <h2><b>Why Use an Image Cropping Tool?</b></h2>\n\n        <p>\n          Image cropping can improve the composition of a photograph by\n          removing distracting objects or unnecessary background space.\n          It can also help prepare images for profile pictures, blog posts,\n          presentations, websites, online listings and social media.\n        </p>\n\n        <p>\n          A browser-based image cropping tool is especially convenient when\n          you only need a quick edit. There is no need to learn a complete\n          image-editing application for a simple crop.\n        </p>\n\n        <h2><b>Common Image Aspect Ratios</b></h2>\n\n        <p>\n          Square 1:1 images are commonly used for profile pictures and\n          thumbnails. A 4:3 ratio is useful for many traditional photo\n          layouts, while 16:9 is widely used for landscape and widescreen\n          content. Portrait ratios such as 3:4 and 9:16 are useful for\n          vertical images.\n        </p>\n\n        <p>\n          Choosing the appropriate ratio before cropping can help maintain\n          consistent dimensions across a collection of images.\n        </p>\n\n        <h2><b>Crop Images Directly in Your Browser</b></h2>\n\n        <p>\n          Nano Cropper+ performs its cropping operation in the browser using\n          standard web technologies. This allows you to work with your image\n          without requiring a dedicated desktop application for the crop\n          itself.\n        </p>\n\n      </div>\n    </div>\n  </section>\n\n  <!-- FAQ -->\n  <section>\n    <div class=\"container\">\n\n      <div class=\"section-heading reveal\">\n        <div class=\"eyebrow\">FAQ</div>\n        <h2><b>Frequently Asked Questions</b></h2>\n        <p>Common questions about our free image cropping tool.</p>\n      </div>\n\n      <div class=\"faq\">\n\n        <div class=\"faq-item reveal\">\n          <button class=\"faq-question\">\n            <span>What is a free image cropping tool?</span>\n            <span>+</span>\n          </button>\n          <div class=\"faq-answer\">\n            <p>\n              A free image cropping tool lets you select and remove unwanted\n              areas of an image without requiring paid image-editing software.\n            </p>\n          </div>\n        </div>\n\n        <div class=\"faq-item reveal\">\n          <button class=\"faq-question\">\n            <span>Can I crop an image online for free?</span>\n            <span>+</span>\n          </button>\n          <div class=\"faq-answer\">\n            <p>\n              Yes. Nano Cropper+ provides browser-based image cropping without\n              requiring you to install dedicated image-editing software.\n            </p>\n          </div>\n        </div>\n\n        <div class=\"faq-item reveal\">\n          <button class=\"faq-question\">\n            <span>Does Nano Cropper+ upload my images?</span>\n            <span>+</span>\n          </button>\n          <div class=\"faq-answer\">\n            <p>\n              The cropping functionality processes the selected image directly\n              in your browser, so a server upload is not required for the crop.\n            </p>\n          </div>\n        </div>\n\n        <div class=\"faq-item reveal\">\n          <button class=\"faq-question\">\n            <span>What image formats are supported?</span>\n            <span>+</span>\n          </button>\n          <div class=\"faq-answer\">\n            <p>\n              The tool supports common browser-readable formats including\n              JPEG, PNG and WebP.\n            </p>\n          </div>\n        </div>\n\n        <div class=\"faq-item reveal\">\n          <button class=\"faq-question\">\n            <span>Can I crop an image to a specific aspect ratio?</span>\n            <span>+</span>\n          </button>\n          <div class=\"faq-answer\">\n            <p>\n              Yes. Nano Cropper+ includes free cropping along with common\n              ratios such as 1:1, 4:3, 16:9, 3:4 and 9:16.\n            </p>\n          </div>\n        </div>\n\n        <div class=\"faq-item reveal\">\n          <button class=\"faq-question\">\n            <span>Can I use the image cropper on mobile?</span>\n            <span>+</span>\n          </button>\n          <div class=\"faq-answer\">\n            <p>\n              Yes. The interface is responsive and the cropper canvas supports\n              touch interaction on compatible mobile browsers.\n            </p>\n          </div>\n        </div>\n\n      </div>\n    </div>\n  </section>\n\n  <!-- CONTACT -->\n  <section class=\"contact-section\" id=\"contact\">\n    <div class=\"container\">\n\n      <div class=\"section-heading reveal\">\n        <div class=\"eyebrow\">Contact</div>\n        <h2><b>Get in Touch</b></h2>\n        <p>\n          Have a question, suggestion or feedback about Nano Cropper+?\n        </p>\n      </div>\n\n      <div class=\"contact-card reveal\">\n\n        <form id=\"contactForm\">\n\n          <div class=\"form-grid\">\n\n            <div class=\"form-group\">\n              <label for=\"name\">Name</label>\n              <input type=\"text\" id=\"name\" placeholder=\"Your name\" required=\"\">\n            </div>\n\n            <div class=\"form-group\">\n              <label for=\"email\">Email</label>\n              <input type=\"email\" id=\"email\" placeholder=\"you@example.com\" required=\"\">\n            </div>\n\n            <div class=\"form-group full\">\n              <label for=\"message\">Message</label>\n              <textarea id=\"message\" placeholder=\"Write your message...\" required=\"\"></textarea>\n            </div>\n\n          </div>\n\n          <button class=\"btn btn-primary\" type=\"submit\">\n            Send Message\n          </button>\n\n          <div class=\"form-message\" id=\"formMessage\">\n            Thanks! Your message has been received by this demo form.\n            Connect the form to your preferred backend or email service\n            to enable actual message delivery.\n          </div>\n\n        </form>\n\n      </div>\n    </div>\n  </section>\n\n\n\n<!-- ===== PROFESSIONAL FOOTER HTML ===== -->\n\n<footer class=\"site-footer\" aria-label=\"Website footer\">\n  <div class=\"container\">\n\n    <div class=\"footer-main\">\n\n      <!-- ABOUT WEBSITE -->\n      <div class=\"footer-about\">\n        <a class=\"footer-brand\" href=\"/\" aria-label=\"Taja Info home\">\n          Taja Info\n        </a>\n\n        <p>\n          Taja Info Image Cropper is a simple online tool for cropping\n          images with popular aspect ratios. Prepare your images quickly\n          using a responsive, browser-based editing experience.\n        </p>\n\n        <!-- SOCIAL MEDIA LINKS -->\n        <div class=\"footer-socials\" aria-label=\"Social media links\">\n          <a href=\"#\" aria-label=\"Facebook\" title=\"Facebook\">f</a>\n          <a href=\"#\" aria-label=\"Instagram\" title=\"Instagram\">ig</a>\n          <a href=\"#\" aria-label=\"YouTube\" title=\"YouTube\">▶</a>\n          <a href=\"#\" aria-label=\"Pinterest\" title=\"Pinterest\">p</a>\n        </div>\n      </div>\n\n      <!-- QUICK LINKS -->\n      <nav class=\"footer-column\" aria-label=\"Quick links\">\n        <h3>Quick Links</h3>\n        <ul class=\"footer-list\">\n          <li><a href=\"/\">Home</a></li>\n          <li><a href=\"#tool\">Image Cropper Tool</a></li>\n          <li><a href=\"#tool\">Crop Image Online</a></li>\n          <li><a href=\"#contact\">Contact Us</a></li>\n        </ul>\n      </nav>\n\n      <!-- IMPORTANT PAGES -->\n      <nav class=\"footer-column\" aria-label=\"Important pages\">\n        <h3>Important Pages</h3>\n        <ul class=\"footer-list\">\n          <li><a href=\"/about-us/\">About Us</a></li>\n          <li><a href=\"/privacy-policy/\">Privacy Policy</a></li>\n          <li>\n            <a href=\"/terms-and-conditions/\">\n              Terms &amp; Conditions\n            </a>\n          </li>\n          <li><a href=\"/disclaimer/\">Disclaimer</a></li>\n          <li><a href=\"#contact\">Contact Us</a></li>\n        </ul>\n      </nav>\n\n      <!-- FEATURES -->\n      <nav class=\"footer-column\" aria-label=\"Popular topics\">\n        <h3>Why Taja Info?</h3>\n        <ul class=\"footer-list\">\n          <li><a href=\"#tool\">Easy Image Cropping</a></li>\n          <li><a href=\"#tool\">Preset Aspect Ratios</a></li>\n          <li><a href=\"#tool\">Zoom &amp; Rotate</a></li>\n          <li><a href=\"#tool\">Browser-Based Editing</a></li>\n        </ul>\n      </nav>\n\n    </div>\n\n    <!-- COPYRIGHT -->\n    <div class=\"footer-bottom\">\n      <p>\n        © <span id=\"footer-year\">2026</span>\n        <strong>Taja Info</strong>. All rights reserved.\n      </p>\n\n      <div class=\"footer-bottom-links\">\n        <a href=\"/privacy-policy/\">Privacy</a>\n        <a href=\"/terms-and-conditions/\">Terms</a>\n        <a href=\"/disclaimer/\">Disclaimer</a>\n      </div>\n    </div>\n\n  </div>\n</footer>\n\n<script>\n  document.getElementById(\"footer-year\").textContent =\n    new Date().getFullYear();\n</script>\n\n\n  <script>\n \n   \n    /* =========================\n       IMAGE CROPPER\n    ========================== */\n\n    const fileInput = document.getElementById(\"fileInput\");\n    const dropZone = document.getElementById(\"dropZone\");\n    const workspace = document.getElementById(\"workspace\");\n    const uploadPanel = document.getElementById(\"uploadPanel\");\n    const canvas = document.getElementById(\"imageCanvas\");\n    const ctx = canvas.getContext(\"2d\");\n\n    const zoomIn = document.getElementById(\"zoomIn\");\n    const zoomOut = document.getElementById(\"zoomOut\");\n    const rotateLeft = document.getElementById(\"rotateLeft\");\n    const rotateRight = document.getElementById(\"rotateRight\");\n    const resetBtn = document.getElementById(\"resetBtn\");\n    const newImageBtn = document.getElementById(\"newImageBtn\");\n    const downloadBtn = document.getElementById(\"downloadBtn\");\n\n    let image = new Image();\n\n    let imageLoaded = false;\n    let rotation = 0;\n    let zoom = 1;\n\n    let crop = {\n      x: 0,\n      y: 0,\n      width: 0,\n      height: 0\n    };\n\n    let selectedRatio = null;\n\n    let displayScale = 1;\n    let displayOffsetX = 0;\n    let displayOffsetY = 0;\n\n    let dragMode = null;\n    let dragStart = {\n      x: 0,\n      y: 0,\n      cropX: 0,\n      cropY: 0,\n      cropWidth: 0,\n      cropHeight: 0\n    };\n\n    let imageData = null;\n\n\n    function loadFile(file) {\n      if (!file || !file.type.startsWith(\"image/\")) {\n        alert(\"Please select a valid image file.\");\n        return;\n      }\n\n      const reader = new FileReader();\n\n      reader.onload = function(event) {\n        image = new Image();\n\n        image.onload = function() {\n          imageLoaded = true;\n          imageData = event.target.result;\n\n          rotation = 0;\n          zoom = 1;\n\n          uploadPanel.style.display = \"none\";\n          workspace.classList.add(\"active\");\n\n          setupCrop();\n          resizeCanvas();\n          draw();\n        };\n\n        image.onerror = function() {\n          alert(\"Unable to load this image.\");\n        };\n\n        image.src = event.target.result;\n      };\n\n      reader.readAsDataURL(file);\n    }\n\n\n    fileInput.addEventListener(\"change\", function() {\n      if (this.files.length) {\n        loadFile(this.files[0]);\n      }\n    });\n\n\n    dropZone.addEventListener(\"dragover\", function(event) {\n      event.preventDefault();\n      dropZone.classList.add(\"dragover\");\n    });\n\n    dropZone.addEventListener(\"dragleave\", function() {\n      dropZone.classList.remove(\"dragover\");\n    });\n\n    dropZone.addEventListener(\"drop\", function(event) {\n      event.preventDefault();\n      dropZone.classList.remove(\"dragover\");\n\n      const files = event.dataTransfer.files;\n\n      if (files.length) {\n        loadFile(files[0]);\n      }\n    });\n\n\n    function getOrientedDimensions() {\n      if (rotation % 180 === 0) {\n        return {\n          width: image.naturalWidth,\n          height: image.naturalHeight\n        };\n      }\n\n      return {\n        width: image.naturalHeight,\n        height: image.naturalWidth\n      };\n    }\n\n\n    function setupCrop() {\n      const dims = getOrientedDimensions();\n\n      let cropWidth = dims.width * 0.75;\n      let cropHeight = dims.height * 0.75;\n\n      if (selectedRatio) {\n        if (cropWidth / cropHeight > selectedRatio) {\n          cropWidth = cropHeight * selectedRatio;\n        } else {\n          cropHeight = cropWidth / selectedRatio;\n        }\n      }\n\n      crop.width = cropWidth;\n      crop.height = cropHeight;\n      crop.x = (dims.width - cropWidth) / 2;\n      crop.y = (dims.height - cropHeight) / 2;\n    }\n\n\n    function resizeCanvas() {\n      if (!imageLoaded) return;\n\n      const wrapper = document.querySelector(\".canvas-wrapper\");\n\n      const maxWidth = wrapper.clientWidth;\n      const maxHeight = wrapper.clientHeight;\n\n      const dims = getOrientedDimensions();\n\n      displayScale = Math.min(\n        maxWidth / dims.width,\n        maxHeight / dims.height\n      );\n\n      displayScale *= zoom;\n\n      const canvasWidth = dims.width * displayScale;\n      const canvasHeight = dims.height * displayScale;\n\n      canvas.width = Math.max(1, Math.floor(canvasWidth));\n      canvas.height = Math.max(1, Math.floor(canvasHeight));\n\n      displayOffsetX = 0;\n      displayOffsetY = 0;\n\n      draw();\n    }\n\n\n    function drawRotatedImage() {\n      const dims = getOrientedDimensions();\n\n      ctx.save();\n\n      ctx.translate(canvas.width / 2, canvas.height / 2);\n\n      ctx.rotate(rotation * Math.PI / 180);\n\n      const sourceWidth = image.naturalWidth * displayScale;\n      const sourceHeight = image.naturalHeight * displayScale;\n\n      ctx.drawImage(\n        image,\n        -sourceWidth / 2,\n        -sourceHeight / 2,\n        sourceWidth,\n        sourceHeight\n      );\n\n      ctx.restore();\n\n      return dims;\n    }\n\n\n    function draw() {\n      if (!imageLoaded) return;\n\n      ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n      drawRotatedImage();\n\n      drawCropOverlay();\n    }\n\n\n    function drawCropOverlay() {\n      const x = crop.x * displayScale;\n      const y = crop.y * displayScale;\n      const w = crop.width * displayScale;\n      const h = crop.height * displayScale;\n\n      // Dark overlay\n      ctx.save();\n\n      ctx.fillStyle = \"rgba(0, 0, 0, 0.48)\";\n      ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n      // Reveal crop region\n      ctx.globalCompositeOperation = \"destination-out\";\n      ctx.fillRect(x, y, w, h);\n\n      ctx.globalCompositeOperation = \"source-over\";\n\n      // Redraw crop area\n      ctx.save();\n\n      ctx.beginPath();\n      ctx.rect(x, y, w, h);\n      ctx.clip();\n\n      drawRotatedImage();\n\n      ctx.restore();\n\n      // Crop border\n      ctx.strokeStyle = \"#ffffff\";\n      ctx.lineWidth = 2;\n      ctx.strokeRect(x, y, w, h);\n\n      // Grid\n      ctx.strokeStyle = \"rgba(255,255,255,.45)\";\n      ctx.lineWidth = 1;\n\n      for (let i = 1; i < 3; i++) {\n        const gx = x + (w / 3) * i;\n        const gy = y + (h / 3) * i;\n\n        ctx.beginPath();\n        ctx.moveTo(gx, y);\n        ctx.lineTo(gx, y + h);\n        ctx.stroke();\n\n        ctx.beginPath();\n        ctx.moveTo(x, gy);\n        ctx.lineTo(x + w, gy);\n        ctx.stroke();\n      }\n\n      // Handles\n      const handleSize = 9;\n\n      const handles = [\n        [x, y],\n        [x + w / 2, y],\n        [x + w, y],\n        [x, y + h / 2],\n        [x + w, y + h / 2],\n        [x, y + h],\n        [x + w / 2, y + h],\n        [x + w, y + h]\n      ];\n\n      ctx.fillStyle = \"#ffffff\";\n\n      handles.forEach(([hx, hy]) => {\n        ctx.fillRect(\n          hx - handleSize / 2,\n          hy - handleSize / 2,\n          handleSize,\n          handleSize\n        );\n      });\n\n      ctx.restore();\n    }\n\n\n    function pointerPosition(event) {\n      const rect = canvas.getBoundingClientRect();\n\n      const clientX =\n        event.touches ? event.touches[0].clientX : event.clientX;\n\n      const clientY =\n        event.touches ? event.touches[0].clientY : event.clientY;\n\n      return {\n        x: (clientX - rect.left) / displayScale,\n        y: (clientY - rect.top) / displayScale\n      };\n    }\n\n\n    function isInsideCrop(x, y) {\n      return (\n        x >= crop.x &&\n        x <= crop.x + crop.width &&\n        y >= crop.y &&\n        y <= crop.y + crop.height\n      );\n    }\n\n\n    function getHandle(x, y) {\n      const threshold = 15 / displayScale;\n\n      const points = {\n        nw: [crop.x, crop.y],\n        n: [crop.x + crop.width / 2, crop.y],\n        ne: [crop.x + crop.width, crop.y],\n        w: [crop.x, crop.y + crop.height / 2],\n        e: [crop.x + crop.width, crop.y + crop.height / 2],\n        sw: [crop.x, crop.y + crop.height],\n        s: [crop.x + crop.width / 2, crop.y + crop.height],\n        se: [crop.x + crop.width, crop.y + crop.height]\n      };\n\n      for (const key in points) {\n        const dx = x - points[key][0];\n        const dy = y - points[key][1];\n\n        if (Math.sqrt(dx * dx + dy * dy) < threshold) {\n          return key;\n        }\n      }\n\n      return null;\n    }\n\n\n    function startDrag(event) {\n      if (!imageLoaded) return;\n\n      event.preventDefault();\n\n      const p = pointerPosition(event);\n\n      const handle = getHandle(p.x, p.y);\n\n      if (handle) {\n        dragMode = handle;\n      } else if (isInsideCrop(p.x, p.y)) {\n        dragMode = \"move\";\n      } else {\n        dragMode = \"draw\";\n        crop.x = p.x;\n        crop.y = p.y;\n        crop.width = 1;\n        crop.height = 1;\n      }\n\n      dragStart = {\n        x: p.x,\n        y: p.y,\n        cropX: crop.x,\n        cropY: crop.y,\n        cropWidth: crop.width,\n        cropHeight: crop.height\n      };\n\n      draw();\n    }\n\n\n    function moveDrag(event) {\n      if (!dragMode) return;\n\n      event.preventDefault();\n\n      const p = pointerPosition(event);\n\n      const dx = p.x - dragStart.x;\n      const dy = p.y - dragStart.y;\n\n      const dims = getOrientedDimensions();\n\n      if (dragMode === \"move\") {\n        crop.x = dragStart.cropX + dx;\n        crop.y = dragStart.cropY + dy;\n\n        crop.x = Math.max(\n          0,\n          Math.min(crop.x, dims.width - crop.width)\n        );\n\n        crop.y = Math.max(\n          0,\n          Math.min(crop.y, dims.height - crop.height)\n        );\n      }\n\n      else if (dragMode === \"draw\") {\n        let width = dx;\n        let height = dy;\n\n        if (selectedRatio) {\n          if (Math.abs(width) > Math.abs(height)) {\n            height = Math.abs(width) / selectedRatio * Math.sign(height || 1);\n          } else {\n            width = Math.abs(height) * selectedRatio * Math.sign(width || 1);\n          }\n        }\n\n        let x = dragStart.x;\n        let y = dragStart.y;\n\n        if (width < 0) {\n          x += width;\n          width = Math.abs(width);\n        }\n\n        if (height < 0) {\n          y += height;\n          height = Math.abs(height);\n        }\n\n        crop.x = Math.max(0, x);\n        crop.y = Math.max(0, y);\n\n        crop.width = Math.min(width, dims.width - crop.x);\n        crop.height = Math.min(height, dims.height - crop.y);\n      }\n\n      else {\n        resizeCrop(p, dx, dy, dims);\n      }\n\n      draw();\n    }\n\n\n    function resizeCrop(p, dx, dy, dims) {\n      let left = dragStart.cropX;\n      let top = dragStart.cropY;\n      let right = dragStart.cropX + dragStart.cropWidth;\n      let bottom = dragStart.cropY + dragStart.cropHeight;\n\n      if (dragMode.includes(\"w\")) {\n        left = Math.max(0, Math.min(p.x, right - 20));\n      }\n\n      if (dragMode.includes(\"e\")) {\n        right = Math.min(dims.width, Math.max(p.x, left + 20));\n      }\n\n      if (dragMode.includes(\"n\")) {\n        top = Math.max(0, Math.min(p.y, bottom - 20));\n      }\n\n      if (dragMode.includes(\"s\")) {\n        bottom = Math.min(dims.height, Math.max(p.y, top + 20));\n      }\n\n      if (selectedRatio) {\n        let width = right - left;\n        let height = bottom - top;\n\n        if (dragMode.includes(\"n\") || dragMode.includes(\"s\")) {\n          width = height * selectedRatio;\n\n          if (dragMode.includes(\"w\")) {\n            left = right - width;\n          } else {\n            right = left + width;\n          }\n        } else {\n          height = width / selectedRatio;\n\n          if (dragMode.includes(\"n\")) {\n            top = bottom - height;\n          } else {\n            bottom = top + height;\n          }\n        }\n\n        if (left < 0) {\n          left = 0;\n          right = width;\n        }\n\n        if (top < 0) {\n          top = 0;\n          bottom = height;\n        }\n\n        if (right > dims.width) {\n          right = dims.width;\n          left = right - width;\n        }\n\n        if (bottom > dims.height) {\n          bottom = dims.height;\n          top = bottom - height;\n        }\n      }\n\n      crop.x = left;\n      crop.y = top;\n      crop.width = Math.max(20, right - left);\n      crop.height = Math.max(20, bottom - top);\n    }\n\n\n    function endDrag() {\n      dragMode = null;\n    }\n\n\n    canvas.addEventListener(\"mousedown\", startDrag);\n    canvas.addEventListener(\"mousemove\", moveDrag);\n    window.addEventListener(\"mouseup\", endDrag);\n\n    canvas.addEventListener(\"touchstart\", startDrag, { passive: false });\n    canvas.addEventListener(\"touchmove\", moveDrag, { passive: false });\n    window.addEventListener(\"touchend\", endDrag);\n\n\n    /* =========================\n       ASPECT RATIO\n    ========================== */\n\n    document.querySelectorAll(\".ratio-btn\").forEach(button => {\n      button.addEventListener(\"click\", () => {\n\n        document.querySelectorAll(\".ratio-btn\").forEach(btn => {\n          btn.classList.remove(\"active\");\n        });\n\n        button.classList.add(\"active\");\n\n        const ratio = button.dataset.ratio;\n\n        selectedRatio =\n          ratio === \"free\" ? null : Number(ratio);\n\n        setupCrop();\n        draw();\n      });\n    });\n\n\n    /* =========================\n       ZOOM\n    ========================== */\n\n    zoomIn.addEventListener(\"click\", () => {\n      zoom = Math.min(2.5, zoom + 0.1);\n      resizeCanvas();\n    });\n\n    zoomOut.addEventListener(\"click\", () => {\n      zoom = Math.max(0.5, zoom - 0.1);\n      resizeCanvas();\n    });\n\n\n    /* =========================\n       ROTATION\n    ========================== */\n\n    rotateLeft.addEventListener(\"click\", () => {\n      rotation = (rotation - 90 + 360) % 360;\n      setupCrop();\n      resizeCanvas();\n    });\n\n    rotateRight.addEventListener(\"click\", () => {\n      rotation = (rotation + 90) % 360;\n      setupCrop();\n      resizeCanvas();\n    });\n\n\n    /* =========================\n       RESET\n    ========================== */\n\n    resetBtn.addEventListener(\"click\", () => {\n      rotation = 0;\n      zoom = 1;\n\n      setupCrop();\n      resizeCanvas();\n    });\n\n\n    /* =========================\n       NEW IMAGE\n    ========================== */\n\n    newImageBtn.addEventListener(\"click\", () => {\n      imageLoaded = false;\n      fileInput.value = \"\";\n\n      workspace.classList.remove(\"active\");\n      uploadPanel.style.display = \"block\";\n\n      ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n      document.querySelectorAll(\".ratio-btn\").forEach(btn => {\n        btn.classList.remove(\"active\");\n      });\n\n      document.querySelector('[data-ratio=\"free\"]').classList.add(\"active\");\n\n      selectedRatio = null;\n    });\n\n\n    /* =========================\n       DOWNLOAD\n    ========================== */\n\n    function createOutputCanvas() {\n      const output = document.createElement(\"canvas\");\n\n      const sourceCanvas = document.createElement(\"canvas\");\n      const sourceCtx = sourceCanvas.getContext(\"2d\");\n\n      const dims = getOrientedDimensions();\n\n      sourceCanvas.width = dims.width;\n      sourceCanvas.height = dims.height;\n\n      sourceCtx.save();\n\n      sourceCtx.translate(\n        dims.width / 2,\n        dims.height / 2\n      );\n\n      sourceCtx.rotate(rotation * Math.PI / 180);\n\n      sourceCtx.drawImage(\n        image,\n        -image.naturalWidth / 2,\n        -image.naturalHeight / 2\n      );\n\n      sourceCtx.restore();\n\n      output.width = Math.round(crop.width);\n      output.height = Math.round(crop.height);\n\n      const outputCtx = output.getContext(\"2d\");\n\n      outputCtx.drawImage(\n        sourceCanvas,\n        crop.x,\n        crop.y,\n        crop.width,\n        crop.height,\n        0,\n        0,\n        output.width,\n        output.height\n      );\n\n      return output;\n    }\n\n\n    downloadBtn.addEventListener(\"click\", () => {\n      if (!imageLoaded) return;\n\n      const output = createOutputCanvas();\n\n      output.toBlob(blob => {\n        if (!blob) {\n          alert(\"Unable to create the cropped image.\");\n          return;\n        }\n\n        const url = URL.createObjectURL(blob);\n\n        const link = document.createElement(\"a\");\n        link.href = url;\n        link.download = \"nano-cropper-cropped.png\";\n\n        document.body.appendChild(link);\n        link.click();\n        link.remove();\n\n        setTimeout(() => {\n          URL.revokeObjectURL(url);\n        }, 1000);\n\n      }, \"image/png\");\n    });\n\n\n    window.addEventListener(\"resize\", () => {\n      if (imageLoaded) {\n        resizeCanvas();\n      }\n    });\n\n\n    /* =========================\n       FAQ\n    ========================== */\n\n    document.querySelectorAll(\".faq-question\").forEach(button => {\n      button.addEventListener(\"click\", () => {\n\n        const item = button.closest(\".faq-item\");\n        const answer = item.querySelector(\".faq-answer\");\n\n        document.querySelectorAll(\".faq-item\").forEach(other => {\n          if (other !== item) {\n            other.classList.remove(\"open\");\n            other.querySelector(\".faq-answer\").style.maxHeight = null;\n          }\n        });\n\n        item.classList.toggle(\"open\");\n\n        if (item.classList.contains(\"open\")) {\n          answer.style.maxHeight = answer.scrollHeight + \"px\";\n        } else {\n          answer.style.maxHeight = null;\n        }\n      });\n    });\n\n\n    /* =========================\n       CONTACT FORM\n    ========================== */\n\n    const contactForm = document.getElementById(\"contactForm\");\n    const formMessage = document.getElementById(\"formMessage\");\n\n    contactForm.addEventListener(\"submit\", event => {\n      event.preventDefault();\n\n      if (!contactForm.checkValidity()) {\n        contactForm.reportValidity();\n        return;\n      }\n\n      formMessage.style.display = \"block\";\n      contactForm.reset();\n\n      formMessage.scrollIntoView({\n        behavior: \"smooth\",\n        block: \"nearest\"\n      });\n    });\n\n\n    /* =========================\n       SCROLL REVEAL\n    ========================== */\n\n    const revealElements = document.querySelectorAll(\".reveal\");\n\n    const observer = new IntersectionObserver(\n      entries => {\n        entries.forEach(entry => {\n          if (entry.isIntersecting) {\n            entry.target.classList.add(\"visible\");\n            observer.unobserve(entry.target);\n          }\n        });\n      },\n      {\n        threshold: 0.12\n      }\n    );\n\n    revealElements.forEach(element => {\n      observer.observe(element);\n    });\n\n\n    /* =========================\n       YEAR\n    ========================== */\n\n    document.getElementById(\"year\").textContent =\n      new Date().getFullYear();\n  </script>\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n\n<style>\nhtml,\nbody {\n  width: 100% !important;\n  max-width: 100% !important;\n  margin: 0 !important;\n  padding: 0 !important;\n  overflow-x: hidden !important;\n}\n\n/* -----------------------------------------\n   ALL MAIN SECTIONS FULL WIDTH\n   ----------------------------------------- */\n\nbody > section,\nsection,\nfooter {\n  width: 100vw !important;\n  max-width: 100vw !important;\n  min-width: 100vw !important;\n\n  margin-left: calc(50% - 50vw) !important;\n  margin-right: calc(50% - 50vw) !important;\n\n  box-sizing: border-box !important;\n}\n\n\n/* -----------------------------------------\n   HERO FULL WIDTH\n   ----------------------------------------- */\n\n.hero {\n  width: 100vw !important;\n  max-width: 100vw !important;\n  min-width: 100vw !important;\n\n  margin-left: calc(50% - 50vw) !important;\n  margin-right: calc(50% - 50vw) !important;\n\n  box-sizing: border-box !important;\n}\n\n\n/* -----------------------------------------\n   TOOL SECTION FULL WIDTH\n   ----------------------------------------- */\n\n.tool-section {\n  width: 100vw !important;\n  max-width: 100vw !important;\n\n  margin-left: calc(50% - 50vw) !important;\n  margin-right: calc(50% - 50vw) !important;\n\n  box-sizing: border-box !important;\n}\n\n\n/* -----------------------------------------\n   FEATURES FULL WIDTH\n   ----------------------------------------- */\n\n.features {\n  width: 100vw !important;\n  max-width: 100vw !important;\n\n  margin-left: calc(50% - 50vw) !important;\n  margin-right: calc(50% - 50vw) !important;\n\n  box-sizing: border-box !important;\n}\n\n\n/* -----------------------------------------\n   CONTENT / SEO SECTION FULL WIDTH\n   ----------------------------------------- */\n\n.content-section {\n  width: 100vw !important;\n  max-width: 100vw !important;\n\n  margin-left: calc(50% - 50vw) !important;\n  margin-right: calc(50% - 50vw) !important;\n\n  box-sizing: border-box !important;\n}\n\n\n/* -----------------------------------------\n   CONTACT SECTION FULL WIDTH\n   ----------------------------------------- */\n\n.contact-section {\n  width: 100vw !important;\n  max-width: 100vw !important;\n\n  margin-left: calc(50% - 50vw) !important;\n  margin-right: calc(50% - 50vw) !important;\n\n  box-sizing: border-box !important;\n}\n\n\n/* -----------------------------------------\n   FOOTER FULL WIDTH\n   ----------------------------------------- */\n\nfooter {\n  width: 100vw !important;\n  max-width: 100vw !important;\n  min-width: 100vw !important;\n\n  margin-left: calc(50% - 50vw) !important;\n  margin-right: calc(50% - 50vw) !important;\n\n  box-sizing: border-box !important;\n}\n\n\n/* -----------------------------------------\n   CONTAINER\n   Background full screen रहे,\n   लेकिन content readable width में रहे\n   ----------------------------------------- */\n\n.container {\n  width: min(1140px, calc(100% - 40px)) !important;\n  max-width: 1140px !important;\n\n  margin-left: auto !important;\n  margin-right: auto !important;\n\n  box-sizing: border-box !important;\n}\n\n\n/* -----------------------------------------\n   MOBILE\n   ----------------------------------------- */\n\n@media (max-width: 600px) {\n\n  body > section,\n  section,\n  footer,\n  .hero,\n  .tool-section,\n  .features,\n  .content-section,\n  .contact-section {\n    width: 100vw !important;\n    max-width: 100vw !important;\n    min-width: 100vw !important;\n\n    margin-left: calc(50% - 50vw) !important;\n    margin-right: calc(50% - 50vw) !important;\n  }\n\n  .container {\n    width: calc(100% - 24px) !important;\n    max-width: none !important;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n}\n\n\n\n\n\n\n\n\n\n\n\n  \n  </style>\n  \n  \n  \n  \n  \n \n  \n  \n  \n  \n  \n  \n  \n\n\n\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\t\t</div>\n\n\t\t\t</div>\n</article>\n\t\t</main>\n\t</div>\n\n\t\n\t</div>\n</div>\n\n\n<div class=\"site-footer\">\n\t</div>\n\n<script type=\"speculationrules\">\n{\"prefetch\":[{\"source\":\"document\",\"where\":{\"and\":[{\"href_matches\":\"/*\"},{\"not\":{\"href_matches\":[\"/wp-*.php\",\"/wp-admin/*\",\"/wp-content/uploads/*\",\"/wp-content/*\",\"/wp-content/plugins/*\",\"/wp-content/themes/generatepress/*\",\"/*\\\\?(.+)\"]}},{\"not\":{\"selector_matches\":\"a[rel~=\\\"nofollow\\\"]\"}},{\"not\":{\"selector_matches\":\".no-prefetch, .no-prefetch a\"}}]},\"eagerness\":\"conservative\"}]}\n</script>\n<script id=\"generate-a11y\">\n!function(){\"use strict\";if(\"querySelector\"in document&&\"addEventListener\"in window){var e=document.body;e.addEventListener(\"pointerdown\",(function(){e.classList.add(\"using-mouse\")}),{passive:!0}),e.addEventListener(\"keydown\",(function(){e.classList.remove(\"using-mouse\")}),{passive:!0})}}();\n</script>\n\t\t\t<script>\n\t\t\t\t( () => {\n\t\t\t\t\tconst lazyloadRunObserver = () => {\n\t\t\t\t\t\tconst lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );\n\t\t\t\t\t\tconst lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {\n\t\t\t\t\t\t\tentries.forEach( ( entry ) => {\n\t\t\t\t\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\t\t\t\t\tlet lazyloadBackground = entry.target;\n\t\t\t\t\t\t\t\t\tif( lazyloadBackground ) {\n\t\t\t\t\t\t\t\t\t\tlazyloadBackground.classList.add( 'e-lazyloaded' );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlazyloadBackgroundObserver.unobserve( entry.target );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}, { rootMargin: '200px 0px 200px 0px' } );\n\t\t\t\t\t\tlazyloadBackgrounds.forEach( ( lazyloadBackground ) => {\n\t\t\t\t\t\t\tlazyloadBackgroundObserver.observe( lazyloadBackground );\n\t\t\t\t\t\t} );\n\t\t\t\t\t};\n\t\t\t\t\tconst events = [\n\t\t\t\t\t\t'DOMContentLoaded',\n\t\t\t\t\t\t'elementor/lazyload/observe',\n\t\t\t\t\t];\n\t\t\t\t\tevents.forEach( ( event ) => {\n\t\t\t\t\t\tdocument.addEventListener( event, lazyloadRunObserver );\n\t\t\t\t\t} );\n\t\t\t\t} )();\n\t\t\t</script>\n\t\t\t<script id=\"generate-menu-js-before\">\nvar generatepressMenu = {\"toggleOpenedSubMenus\":true,\"openSubMenuLabel\":\"Open Sub-Menu\",\"closeSubMenuLabel\":\"Close Sub-Menu\"};\n//# sourceURL=generate-menu-js-before\n</script>\n<script id=\"generate-menu-js\" src=\"https://tajainfo.in/wp-content/themes/generatepress/assets/js/menu.min.js?ver=3.6.1\"></script>\n<script id=\"elementor-webpack-runtime-js\" src=\"https://tajainfo.in/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=4.2.4\"></script>\n<script id=\"elementor-frontend-modules-js\" src=\"https://tajainfo.in/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=4.2.4\"></script>\n<script id=\"jquery-ui-core-js-before\">\njQuery.uiBackCompat = true;\n//# sourceURL=jquery-ui-core-js-before\n</script>\n<script id=\"jquery-ui-core-js\" src=\"https://tajainfo.in/wp-includes/js/jquery/ui/core.min.js?ver=1.14.2\"></script>\n<script id=\"elementor-frontend-js-before\">\nvar elementorFrontendConfig = {\"environmentMode\":{\"edit\":false,\"wpPreview\":false,\"isScriptDebug\":false},\"i18n\":{\"shareOnFacebook\":\"Share on Facebook\",\"shareOnX\":\"Share on X\",\"pinIt\":\"Pin it\",\"download\":\"Download\",\"downloadImage\":\"Download image\",\"fullscreen\":\"Fullscreen\",\"zoom\":\"Zoom\",\"share\":\"Share\",\"playVideo\":\"Play Video\",\"previous\":\"Previous\",\"next\":\"Next\",\"close\":\"Close\",\"a11yCarouselPrevSlideMessage\":\"Previous slide\",\"a11yCarouselNextSlideMessage\":\"Next slide\",\"a11yCarouselFirstSlideMessage\":\"This is the first slide\",\"a11yCarouselLastSlideMessage\":\"This is the last slide\",\"a11yCarouselPaginationBulletMessage\":\"Go to slide\"},\"is_rtl\":false,\"breakpoints\":{\"xs\":0,\"sm\":480,\"md\":768,\"lg\":1025,\"xl\":1440,\"xxl\":1600},\"responsive\":{\"breakpoints\":{\"mobile\":{\"label\":\"Mobile Portrait\",\"value\":767,\"default_value\":767,\"direction\":\"max\",\"is_enabled\":true},\"mobile_extra\":{\"label\":\"Mobile Landscape\",\"value\":880,\"default_value\":880,\"direction\":\"max\",\"is_enabled\":false},\"tablet\":{\"label\":\"Tablet Portrait\",\"value\":1024,\"default_value\":1024,\"direction\":\"max\",\"is_enabled\":true},\"tablet_extra\":{\"label\":\"Tablet Landscape\",\"value\":1200,\"default_value\":1200,\"direction\":\"max\",\"is_enabled\":false},\"laptop\":{\"label\":\"Laptop\",\"value\":1366,\"default_value\":1366,\"direction\":\"max\",\"is_enabled\":false},\"widescreen\":{\"label\":\"Widescreen\",\"value\":2400,\"default_value\":2400,\"direction\":\"min\",\"is_enabled\":false}},\"hasCustomBreakpoints\":false},\"version\":\"4.2.4\",\"is_static\":false,\"experimentalFeatures\":{\"e_font_icon_svg\":true,\"additional_custom_breakpoints\":true,\"container\":true,\"e_optimized_markup\":true,\"e_panel_promotions\":true,\"e_pro_free_trial_popup\":true,\"nested-elements\":true,\"e_atomic_elements\":true,\"atomic_widgets_should_enforce_capabilities\":true,\"editor_mcp\":true,\"e_bc_migrations\":true,\"e_classes\":true,\"global_classes_should_enforce_capabilities\":true,\"e_variables\":true,\"e_variables_manager\":true,\"e_opt_in_v4_page\":true,\"e_opt_in_v4\":true,\"e_components\":true,\"e_interactions\":true,\"e_widget_creation\":true,\"import-export-customization\":true},\"urls\":{\"assets\":\"https:\\/\\/tajainfo.in\\/wp-content\\/plugins\\/elementor\\/assets\\/\",\"ajaxurl\":\"https:\\/\\/tajainfo.in\\/wp-admin\\/admin-ajax.php\",\"uploadUrl\":\"https:\\/\\/tajainfo.in\\/wp-content\\/uploads\"},\"nonces\":{\"floatingButtonsClickTracking\":\"53a20a2c30\",\"atomicFormsSendForm\":\"583f4443ca\"},\"swiperClass\":\"swiper\",\"settings\":{\"page\":[],\"editorPreferences\":[]},\"kit\":{\"active_breakpoints\":[\"viewport_mobile\",\"viewport_tablet\"],\"global_image_lightbox\":\"yes\",\"lightbox_enable_counter\":\"yes\",\"lightbox_enable_fullscreen\":\"yes\",\"lightbox_enable_zoom\":\"yes\",\"lightbox_enable_share\":\"yes\",\"lightbox_title_src\":\"title\",\"lightbox_description_src\":\"description\"},\"post\":{\"id\":22,\"title\":\"Free%20Image%20Cropping%20Taja%20Info%20Tool%20Online\",\"excerpt\":\"\",\"featuredImage\":false}};\n//# sourceURL=elementor-frontend-js-before\n</script>\n<script id=\"elementor-frontend-js\" src=\"https://tajainfo.in/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=4.2.4\"></script><span id=\"elementor-device-mode\" class=\"elementor-screen-only\"></span>\n<script id=\"wp-emoji-settings\" type=\"application/json\">\n{\"baseUrl\":\"https://s.w.org/images/core/emoji/17.0.2/72x72/\",\"ext\":\".png\",\"svgUrl\":\"https://s.w.org/images/core/emoji/17.0.2/svg/\",\"svgExt\":\".svg\",\"source\":{\"concatemoji\":\"https://tajainfo.in/wp-includes/js/wp-emoji-release.min.js?ver=7.1.3\"}}\n</script>\n<script type=\"module\">\n/*! This file is auto-generated */\nvar e=\"script#wp-emoji-settings\",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error(\"Element missing: \"+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,\"wpEmojiSettingsSupports\"),o=[\"flag\",\"emoji\"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case\"flag\":return n(e,\"\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f\",\"\\ud83c\\udff3\\ufe0f\\u200b\\u26a7\\ufe0f\")?!1:!n(e,\"\\ud83c\\udde8\\ud83c\\uddf6\",\"\\ud83c\\udde8\\u200b\\ud83c\\uddf6\")&&!n(e,\"\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f\",\"\\ud83c\\udff4\\u200b\\udb40\\udc67\\u200b\\udb40\\udc62\\u200b\\udb40\\udc65\\u200b\\udb40\\udc6e\\u200b\\udb40\\udc67\\u200b\\udb40\\udc7f\");case\"emoji\":return!r(e,\"\\ud83e\\u1fac8\")}return!1}function f(e,t,n,r){let a;const s=(a=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement(\"canvas\")).getContext(\"2d\",{willReadFrequently:!0}),o=(s.textBaseline=\"top\",s.font=\"600 32px Arial\",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement(\"script\");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if(\"object\"==typeof e&&\"number\"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&\"object\"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if(\"undefined\"!=typeof Worker&&\"undefined\"!=typeof OffscreenCanvas&&\"undefined\"!=typeof URL&&URL.createObjectURL&&\"undefined\"!=typeof Blob)try{var e=\"postMessage(\"+f.toString()+\"(\"+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(\",\")+\"));\",r=new Blob([e],{type:\"text/javascript\"});const a=new Worker(URL.createObjectURL(r),{name:\"wpTestEmojiSupports\"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],\"flag\"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});\n//# sourceURL=https://tajainfo.in/wp-includes/js/wp-emoji-loader.min.js\n</script>\n\n\n\n</body></html>"}