CINXE.COM
Why high-power dc EV chargers require liquid cooling systems
<!DOCTYPE html> <html lang="en-US"> <head > <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta property="fb:admins" content="1140409510" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta property="fb:admins" content="107031532675062" /> <meta name="msvalidate.01" content="40BA1B879066C83CDFCA374CA4B490C3" /> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO Premium plugin v20.11 (Yoast SEO v23.9) - https://yoast.com/wordpress/plugins/seo/ --> <title>Why high-power dc EV chargers require liquid cooling systems</title> <meta name="description" content="This article explores the thermal challenges of electric vehicle (EV) chargers and the strategies EVSE manufacturers use to manage them." /> <link rel="canonical" href="https://www.evengineeringonline.com/why-high-power-dc-ev-chargers-require-liquid-cooling-systems/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Why high-power dc EV chargers require liquid cooling systems" /> <meta property="og:description" content="This article explores the thermal challenges of electric vehicle (EV) chargers and the strategies EVSE manufacturers use to manage them." /> <meta property="og:url" content="https://www.evengineeringonline.com/why-high-power-dc-ev-chargers-require-liquid-cooling-systems/" /> <meta property="og:site_name" content="EV Engineering & Infrastructure" /> <meta property="article:published_time" content="2024-11-19T13:48:45+00:00" /> <meta property="og:image" content="https://www.evengineeringonline.com/wp-content/uploads/2024/11/ROTATOR-Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure1.jpg" /> <meta property="og:image:width" content="803" /> <meta property="og:image:height" content="500" /> <meta property="og:image:type" content="image/jpeg" /> <meta name="author" content="Aharon Etengoff" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:label1" content="Written by" /> <meta name="twitter:data1" content="Aharon Etengoff" /> <meta name="twitter:label2" content="Est. reading time" /> <meta name="twitter:data2" content="7 minutes" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.evengineeringonline.com/why-high-power-dc-ev-chargers-require-liquid-cooling-systems/","url":"https://www.evengineeringonline.com/why-high-power-dc-ev-chargers-require-liquid-cooling-systems/","name":"Why high-power dc EV chargers require liquid cooling systems","isPartOf":{"@id":"https://www.evengineeringonline.com/#website"},"primaryImageOfPage":{"@id":"https://www.evengineeringonline.com/why-high-power-dc-ev-chargers-require-liquid-cooling-systems/#primaryimage"},"image":{"@id":"https://www.evengineeringonline.com/why-high-power-dc-ev-chargers-require-liquid-cooling-systems/#primaryimage"},"thumbnailUrl":"https://www.evengineeringonline.com/wp-content/uploads/2024/11/ROTATOR-Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure1.jpg","datePublished":"2024-11-19T13:48:45+00:00","dateModified":"2024-11-19T13:48:45+00:00","author":{"@id":"https://www.evengineeringonline.com/#/schema/person/b360159f87354d999ee216a09de0b506"},"description":"This article explores the thermal challenges of electric vehicle (EV) chargers and the strategies EVSE manufacturers use to manage them.","breadcrumb":{"@id":"https://www.evengineeringonline.com/why-high-power-dc-ev-chargers-require-liquid-cooling-systems/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.evengineeringonline.com/why-high-power-dc-ev-chargers-require-liquid-cooling-systems/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.evengineeringonline.com/why-high-power-dc-ev-chargers-require-liquid-cooling-systems/#primaryimage","url":"https://www.evengineeringonline.com/wp-content/uploads/2024/11/ROTATOR-Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure1.jpg","contentUrl":"https://www.evengineeringonline.com/wp-content/uploads/2024/11/ROTATOR-Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure1.jpg","width":803,"height":500},{"@type":"BreadcrumbList","@id":"https://www.evengineeringonline.com/why-high-power-dc-ev-chargers-require-liquid-cooling-systems/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.evengineeringonline.com/"},{"@type":"ListItem","position":2,"name":"EV Engineering Articles","item":"https://www.evengineeringonline.com/ev-engineering-articles/"},{"@type":"ListItem","position":3,"name":"Why high-power dc EV chargers require liquid cooling systems"}]},{"@type":"WebSite","@id":"https://www.evengineeringonline.com/#website","url":"https://www.evengineeringonline.com/","name":"EV Engineering & Infrastructure","description":"Technical insights on the vehicles of tomorrow.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.evengineeringonline.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https://www.evengineeringonline.com/#/schema/person/b360159f87354d999ee216a09de0b506","name":"Aharon Etengoff","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.evengineeringonline.com/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/3bbdbab1d0236a1ac38175ad699f31e9?s=96&d=mm&r=g","contentUrl":"https://secure.gravatar.com/avatar/3bbdbab1d0236a1ac38175ad699f31e9?s=96&d=mm&r=g","caption":"Aharon Etengoff"},"url":"https://www.evengineeringonline.com/author/aharon-etengoff/"}]}</script> <!-- / Yoast SEO Premium plugin. --> <link rel='dns-prefetch' href='//static.addtoany.com' /> <link rel='dns-prefetch' href='//kit.fontawesome.com' /> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel="alternate" type="application/rss+xml" title="EV Engineering & Infrastructure » Feed" href="https://www.evengineeringonline.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="EV Engineering & Infrastructure » Comments Feed" href="https://www.evengineeringonline.com/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="EV Engineering & Infrastructure » Why high-power dc EV chargers require liquid cooling systems Comments Feed" href="https://www.evengineeringonline.com/why-high-power-dc-ev-chargers-require-liquid-cooling-systems/feed/" /> <!-- Google Tag Manager GLOBAL --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MMC9PJ9');</script> <!-- End Google Tag Manager GLOBAL--> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-WKS3GR3W');</script> <!-- End Google Tag Manager --> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.evengineeringonline.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!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!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));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(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link rel='stylesheet' id='genesis-simple-share-plugin-css-css' href='https://www.evengineeringonline.com/wp-content/plugins/genesis-simple-share/assets/css/share.min.css?ver=0.1.0' type='text/css' media='all' /> <link rel='stylesheet' id='genesis-simple-share-genericons-css-css' href='https://www.evengineeringonline.com/wp-content/plugins/genesis-simple-share/assets/css/genericons.min.css?ver=0.1.0' type='text/css' media='all' /> <link rel='stylesheet' id='theme-wtwh-amplifying-css' href='https://www.evengineeringonline.com/wp-content/themes/ThemeWTWH/style.css?ver=1709937819' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.evengineeringonline.com/wp-includes/css/dist/block-library/style.min.css?ver=6.7' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .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} </style> <style id='global-styles-inline-css' type='text/css'> :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--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 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,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 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 rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}: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;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.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-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-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-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;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='cookie-notice-front-css' href='https://www.evengineeringonline.com/wp-content/plugins/cookie-notice/css/front.min.css?ver=2.5.1' type='text/css' media='all' /> <link rel='stylesheet' id='wtwh_prestitial_main_style-css' href='https://www.evengineeringonline.com/wp-content/plugins/prestitial/assets/css/main.css?ver=1.1.0' type='text/css' media='all' /> <link rel='stylesheet' id='wtwh_prestitial_style-css' href='https://www.evengineeringonline.com/wp-content/plugins/prestitial/assets/css/prestitial.css?ver=1.1.0' type='text/css' media='all' /> <link rel='stylesheet' id='buttons-css' href='https://www.evengineeringonline.com/wp-includes/css/buttons.min.css?ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='dashicons-css' href='https://www.evengineeringonline.com/wp-includes/css/dashicons.min.css?ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='mediaelement-css' href='https://www.evengineeringonline.com/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css?ver=4.2.17' type='text/css' media='all' /> <link rel='stylesheet' id='wp-mediaelement-css' href='https://www.evengineeringonline.com/wp-includes/js/mediaelement/wp-mediaelement.min.css?ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='media-views-css' href='https://www.evengineeringonline.com/wp-includes/css/media-views.min.css?ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='imgareaselect-css' href='https://www.evengineeringonline.com/wp-includes/js/imgareaselect/imgareaselect.css?ver=0.9.8' type='text/css' media='all' /> <link rel='stylesheet' id='frontend-sponsored-ads-css-css' href='https://www.evengineeringonline.com/wp-content/plugins/sponsored-content-ad/css/frontend-sponsored-ads.css?ver=1.01202411231732333290' type='text/css' media='all' /> <link rel='stylesheet' id='ea-fonts-css' href='https://fonts.googleapis.com/css?family=Open+Sans%3A300%2C700&ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='ea-style-css' href='https://www.evengineeringonline.com/wp-content/themes/ThemeWTWH/assets/css/main.css?ver=1709937819' type='text/css' media='all' /> <link rel='stylesheet' id='addtoany-css' href='https://www.evengineeringonline.com/wp-content/plugins/add-to-any/addtoany.min.css?ver=1.16' type='text/css' media='all' /> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-content/plugins/genesis-simple-share/assets/js/sharrre/jquery.sharrre.min.js?ver=0.1.0" id="genesis-simple-share-plugin-js-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-content/plugins/genesis-simple-share/assets/js/waypoints.min.js?ver=0.1.0" id="genesis-simple-share-waypoint-js-js"></script> <script type="text/javascript" id="addtoany-core-js-before"> /* <![CDATA[ */ window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={}; /* ]]> */ </script> <script type="text/javascript" defer src="https://static.addtoany.com/menu/page.js" id="addtoany-core-js"></script> <script type="text/javascript" defer src="https://www.evengineeringonline.com/wp-content/plugins/add-to-any/addtoany.min.js?ver=1.1" id="addtoany-jquery-js"></script> <script type="text/javascript" id="cookie-notice-front-js-before"> /* <![CDATA[ */ var cnArgs = {"ajaxUrl":"https:\/\/www.evengineeringonline.com\/wp-admin\/admin-ajax.php","nonce":"2e2950d2a0","hideEffect":"fade","position":"bottom","onScroll":true,"onScrollOffset":100,"onClick":false,"cookieName":"cookie_notice_accepted","cookieTime":31536000,"cookieTimeRejected":2592000,"globalCookie":false,"redirection":false,"cache":true,"revokeCookies":false,"revokeCookiesOpt":"automatic"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-content/plugins/cookie-notice/js/front.min.js?ver=2.5.1" id="cookie-notice-front-js"></script> <script type="text/javascript" src="https://kit.fontawesome.com/0db18eb627.js?ver=6.7" id="wtwh_prestitial_fontAwesome_js-js"></script> <script type="text/javascript" id="utils-js-extra"> /* <![CDATA[ */ var userSettings = {"url":"\/","uid":"0","time":"1732333290","secure":"1"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/utils.min.js?ver=6.7" id="utils-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/plupload/moxie.min.js?ver=1.3.5" id="moxiejs-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/plupload/plupload.min.js?ver=2.1.9" id="plupload-js"></script> <!--[if lt IE 8]> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/json2.min.js?ver=2015-05-03" id="json2-js"></script> <![endif]--> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-content/plugins/sponsored-content-ad/js/frontend-sponsored-ads.js" id="frontend-sponsored-ads-script-js"></script> <link rel="https://api.w.org/" href="https://www.evengineeringonline.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.evengineeringonline.com/wp-json/wp/v2/posts/6848" /><link rel='shortlink' href='https://www.evengineeringonline.com/?p=6848' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.evengineeringonline.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.evengineeringonline.com%2Fwhy-high-power-dc-ev-chargers-require-liquid-cooling-systems%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.evengineeringonline.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.evengineeringonline.com%2Fwhy-high-power-dc-ev-chargers-require-liquid-cooling-systems%2F&format=xml" /> <!-- www.evengineeringonline.com=6848 --> <script> var contentHash = '1eeced2c4da864d250ab76fd4b0d5109'; var cat_target='1eeced2c4da864d250ab76fd4b0d5109, thermal-management, ros'; </script> <style> #category-posts-4-internal ul {padding: 0;} #category-posts-4-internal .cat-post-item img {max-width: initial; max-height: initial; margin: initial;} #category-posts-4-internal .cat-post-author {margin-bottom: 0;} #category-posts-4-internal .cat-post-thumbnail {margin: 5px 10px 5px 0;} #category-posts-4-internal .cat-post-item:before {content: ""; clear: both;} #category-posts-4-internal .cat-post-excerpt-more {display: inline-block;} #category-posts-4-internal .cat-post-item {list-style: none; margin: 3px 0 10px; padding: 3px 0;} #category-posts-4-internal .cat-post-current .cat-post-title {font-weight: bold; text-transform: uppercase;} #category-posts-4-internal [class*=cat-post-tax] {font-size: 0.85em;} #category-posts-4-internal [class*=cat-post-tax] * {display:inline-block;} #category-posts-4-internal .cat-post-item:after {content: ""; display: table; clear: both;} #category-posts-4-internal .cat-post-item .cat-post-title {overflow: hidden;text-overflow: ellipsis;white-space: initial;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;padding-bottom: 0 !important;} #category-posts-4-internal .cat-post-item:after {content: ""; display: table; clear: both;} #category-posts-4-internal .cat-post-thumbnail {display:block; float:left; margin:5px 10px 5px 0;} #category-posts-4-internal .cat-post-crop {overflow:hidden;display:block;} #category-posts-4-internal p {margin:5px 0 0 0} #category-posts-4-internal li > div {margin:5px 0 0 0; clear:both;} #category-posts-4-internal .dashicons {vertical-align:middle;} #category-posts-4-internal .cat-post-thumbnail .cat-post-crop img {height: 95px;} #category-posts-4-internal .cat-post-thumbnail .cat-post-crop img {width: 150px;} #category-posts-4-internal .cat-post-thumbnail .cat-post-crop img {object-fit: cover; max-width: 100%; display: block;} #category-posts-4-internal .cat-post-thumbnail .cat-post-crop-not-supported img {width: 100%;} #category-posts-4-internal .cat-post-thumbnail {max-width:100%;} #category-posts-4-internal .cat-post-item img {margin: initial;} #category-posts-4-internal .cat-post-dark img {padding-bottom: 0 !important; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease;} #category-posts-4-internal .cat-post-dark:hover img {-webkit-filter: brightness(75%); -moz-filter: brightness(75%); -ms-filter: brightness(75%); -o-filter: brightness(75%); filter: brightness(75%);} #category-posts-3-internal ul {padding: 0;} #category-posts-3-internal .cat-post-item img {max-width: initial; max-height: initial; margin: initial;} #category-posts-3-internal .cat-post-author {margin-bottom: 0;} #category-posts-3-internal .cat-post-thumbnail {margin: 5px 10px 5px 0;} #category-posts-3-internal .cat-post-item:before {content: ""; clear: both;} #category-posts-3-internal .cat-post-excerpt-more {display: inline-block;} #category-posts-3-internal .cat-post-item {list-style: none; margin: 3px 0 10px; padding: 3px 0;} #category-posts-3-internal .cat-post-current .cat-post-title {font-weight: bold; text-transform: uppercase;} #category-posts-3-internal [class*=cat-post-tax] {font-size: 0.85em;} #category-posts-3-internal [class*=cat-post-tax] * {display:inline-block;} #category-posts-3-internal .cat-post-item:after {content: ""; display: table; clear: both;} #category-posts-3-internal .cat-post-item .cat-post-title {overflow: hidden;text-overflow: ellipsis;white-space: initial;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;padding-bottom: 0 !important;} #category-posts-3-internal .cat-post-item:after {content: ""; display: table; clear: both;} #category-posts-3-internal .cat-post-thumbnail {display:block; float:left; margin:5px 10px 5px 0;} #category-posts-3-internal .cat-post-crop {overflow:hidden;display:block;} #category-posts-3-internal p {margin:5px 0 0 0} #category-posts-3-internal li > div {margin:5px 0 0 0; clear:both;} #category-posts-3-internal .dashicons {vertical-align:middle;} #category-posts-3-internal .cat-post-thumbnail .cat-post-crop img {height: 95px;} #category-posts-3-internal .cat-post-thumbnail .cat-post-crop img {width: 150px;} #category-posts-3-internal .cat-post-thumbnail .cat-post-crop img {object-fit: cover; max-width: 100%; display: block;} #category-posts-3-internal .cat-post-thumbnail .cat-post-crop-not-supported img {width: 100%;} #category-posts-3-internal .cat-post-thumbnail {max-width:100%;} #category-posts-3-internal .cat-post-item img {margin: initial;} #category-posts-3-internal .cat-post-dark img {padding-bottom: 0 !important; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease;} #category-posts-3-internal .cat-post-dark:hover img {-webkit-filter: brightness(75%); -moz-filter: brightness(75%); -ms-filter: brightness(75%); -o-filter: brightness(75%); filter: brightness(75%);} </style> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { var pathParts = window.location.pathname.substr(1).split('/'); var mapHeader = googletag.sizeMapping() .addSize([768, 200], [728, 90]) .addSize([0, 0], [300, 250]) .build(); var mapLargeHeader = googletag.sizeMapping() .addSize([1024, 200], [[970, 90], [970, 250]]) .addSize([0, 0], [300, 250]) .build(); var mapInterstitial = googletag.sizeMapping() .addSize([1024, 500], [640, 480]) .addSize([0, 0], [[1, 1]]) .build(); var mapWallpaper = googletag.sizeMapping() .addSize([1024, 500], [[1, 1]]) .addSize([0, 0], [[1, 1]]) .build(); var gptSlots = []; gptSlots[0] = googletag.defineSlot('/5272491/ee_network/eveng_header', [[300, 250], [728, 90]], 'div-gpt-eveng-header') .defineSizeMapping(mapHeader) .addService(googletag.pubads()); gptSlots[1] = googletag.defineSlot('/5272491/ee_network/eveng_largeleader', [[970, 90], [970, 250]], 'div-gpt-eveng_largeleader') .defineSizeMapping(mapLargeHeader) .addService(googletag.pubads()); gptSlots[2] = googletag.defineSlot('/5272491/ee_network/eveng_wallpaper', [[1, 1]], 'div-gpt-eveng_wallpaper') .defineSizeMapping(mapWallpaper) .addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eveng_allstreamflex', [[1, 1]], 'div-gpt-eveng_allstreamflex').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eveng_allstreamprelude', [[1, 1]], 'div-gpt-eveng_allstreamprelude').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eveng_prestitial', [[640, 480], [300, 225]], 'div-gpt-eveng_prestitial').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eveng_sidebar1', [[300, 600], [300, 250]], 'div-gpt-eveng_sidebar1').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eveng_sidebarbotton', [[300, 600], [300, 250]], 'div-gpt-eveng_sidebarbotton').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.pubads().collapseEmptyDivs(); googletag.pubads().setTargeting('articletitle', pathParts[0] ? pathParts[0]: 'home-page').setTargeting('cat_target', [cat_target]); googletag.enableServices(); }); </script> <link rel="icon" href="https://www.evengineeringonline.com/wp-content/uploads/2023/08/cropped-favicon-ev-engineering-32x32.png" sizes="32x32" /> <link rel="icon" href="https://www.evengineeringonline.com/wp-content/uploads/2023/08/cropped-favicon-ev-engineering-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.evengineeringonline.com/wp-content/uploads/2023/08/cropped-favicon-ev-engineering-180x180.png" /> <meta name="msapplication-TileImage" content="https://www.evengineeringonline.com/wp-content/uploads/2023/08/cropped-favicon-ev-engineering-270x270.png" /> <style type="text/css" id="wp-custom-css"> .dropbtn { background-color: #04AA6D; color: white; padding: 16px; font-size: 16px; border: none; } .dropdown { display: inline-block; } .dropdown-content { display: none; position: absolute; background-color: #f1f1f1; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; } .dropdown-content a:hover {background-color: #ddd;} .dropdown:hover .dropdown-content {display: block;} .dropdown:hover .dropbtn {background-color: #3e8e41;} /*Design Guide Drop Down Menu*/ .motion-design-guides { font-size: 16px; font-family: Raleway, sans-serif; width: 270px; height: 50px; text-align: center; text-align-last: center; -moz-text-align-last: center; border-radius: 0px; text-transform: uppercase; white-space: wrap; } .motion-design-guides-button { font-size: 16px; font-family: Raleway, sans-serif; width: 270px; height: 50px; text-align: center; text-align-last: center; -moz-text-align-last: center; border-radius: 0px; text-transform: uppercase; white-space: wrap; margin-top: 10px; } .motion-design-guides-button a { color: white !important; } .motion-design-guide-option { text-align: center; text-align-last: center; -moz-text-align-last: center; text-transform: uppercase; width: 255px; white-space: wrap; } .motion-design-guides:after { content: ""; border: solid #fff; border-width: 0 2px 2px 0; margin-left: 10px; display: inline-block; padding: 4px; transform: rotate(45deg); -webkit-transform: rotate(45deg); } .dropdown-content { max-height: 400px; overflow-y: scroll; } /*Login Button / Link Fix*/ p.must-log-in a, p.logged-in-as a { color: #12bcc1 !important; font-weight: bold; } div.entry-content a { color: #12bcc1 !important; font-weight: bold; } .nav-previous{ float:left; margin-bottom:50px } .nav-next{ float:right; margin-bottom:50px } /*Digital Issue Widget Fix*/ .type-post.entry.has-post-thumbnail { display: flex; flex-direction: column; justify-content: center; margin-top: 20px; } .type-post.entry.has-post-thumbnail .entry-header h2 { font-size: 20px !important; margin-left: 20px; margin-right: 20px; } .type-post.entry.has-post-thumbnail .entry-content p { margin-left: 20px; margin-right: 20px; } .more-from-category { width: 100%; display: flex; justify-content: center; } .widget-wrap > .more-from-category a { text-align: center; background-color: #12bcc1; padding: 12px 16px; color: white; font-weight: bold; } /* Search Page */ body.search .site-inner { padding-left: unset; padding-right: unset; } @media only screen and (min-width: 988px) { .search .content { width: 66% !important; float: left; } .search .sidebar { width: 30%; float: right; } } </style> </head> <body class="post-template-default single single-post postid-6848 single-format-standard cookies-not-set header-image content-sidebar genesis-breadcrumbs-hidden"><!-- Google Tag Manager GLOBAL (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MMC9PJ9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager GLOBAL (noscript) --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WKS3GR3W" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- xyzzy top --> <div id="prestitial" style="opacity: 0;"> <div id="prestitial-overlay"></div> <div id="prestitial-grid"> <div class="prestitial-logo"> <div class="title-area"> <h1 class="site-title"> <a href="#"><img src="https://www.evengineeringonline.com/wp-content/uploads/2023/08/EVengineering_Logo-inv-200w.png"></a></h1> </div> </div> <div class="close-cta"> Continue to Site <i class="fa fa-arrow-right"></i> </div> <div id="prestitial-banner"></div> </div> </div> <!-- hides rest of content --> <div id="body-wrapper" style="opacity: 0;"> <div class="site-container"><header class="site-header"><div class="wrap"><div class="title-area"><p class="site-title"><a href="https://www.evengineeringonline.com/">EV Engineering & Infrastructure</a></p></div><div class="widget-area header-widget-area"><section id="custom_html-3" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><div id='div-gpt-eveng-header'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eveng-header'); }); </script> </div></div></div></section> </div><div class="mobile-toggles"><a href="#" class="search-toggle"><i class="icon-search"></i></a><a href="#" class="mobile-menu-toggle"><i class="icon-menu"></i></a></div></div></header><nav class="nav-primary" aria-label="Main"><div class="wrap"><ul id="menu-main-menu" class="menu genesis-nav-menu menu-primary"><li id="menu-item-22" class="menu-item"><a href="https://www.evengineeringonline.com/category/technology-news/"><span >News</span></a></li> <li id="menu-item-4023" class="menu-item"><a href="https://www.evengineeringonline.com/category/faq/"><span >Articles</span></a></li> <li id="menu-item-17" class="menu-item"><a href="https://www.evengineeringonline.com/category/batteries/"><span >Batteries</span></a></li> <li id="menu-item-3554" class="menu-item menu-item-has-children"><a href="https://www.evengineeringonline.com/category/charging/"><span >Charging</span></a> <ul class="sub-menu"> <li id="menu-item-4671" class="menu-item"><a href="https://www.evengineeringonline.com/category/charging/wireless-charging/"><span >Wireless Charging</span></a></li> <li id="menu-item-4670" class="menu-item"><a href="https://www.evengineeringonline.com/category/charging/vehicle-to-grid-v2g/"><span >Vehicle-to-Grid (V2G)</span></a></li> </ul> </li> <li id="menu-item-2716" class="menu-item"><a href="https://www.evengineeringonline.com/category/electrification/"><span >Electrification</span></a></li> <li id="menu-item-20" class="menu-item"><a href="https://www.evengineeringonline.com/category/testing-safety/"><span >Testing and Safety</span></a></li> <li id="menu-item-21" class="menu-item"><a href="https://www.evengineeringonline.com/category/rr/"><span >R&D</span></a></li> <li id="menu-item-2087" class="menu-item menu-item-has-children"><a><span >Learn</span></a> <ul class="sub-menu"> <li id="menu-item-2088" class="menu-item"><a target="_blank" href="https://www.eeworldonline.com/learning-center"><span >Learning Center</span></a></li> <li id="menu-item-4866" class="menu-item"><a target="_blank" href="https://www.eeworldonline.com/category/tech-toolboxes/"><span >Tech Toolboxes</span></a></li> <li id="menu-item-1979" class="menu-item"><a target="_blank" href="https://gateway.on24.com/wcc/experience/elitewtwhmedia/2927718/4415889/ev-engineering"><span >Webinars</span></a></li> </ul> </li> <li id="menu-item-2084" class="menu-item menu-item-has-children"><a><span >Resources</span></a> <ul class="sub-menu"> <li id="menu-item-2085" class="menu-item"><a target="_blank" href="https://www.evengineeringonline.com/category/digital-issues/"><span >Digital Editions</span></a></li> <li id="menu-item-2086" class="menu-item"><a target="_blank" href="https://www.designworldonline.com/category/news/engineering-diversity/nnWe"><span >Diversity & Inclusion</span></a></li> </ul> </li> <li id="menu-item-2782" class="menu-item"><a href="https://www.evengineeringonline.com/welcome-ev-community/"><span >Subscribe</span></a></li> <li class="menu-item search"><a href="#" class="search-toggle"><i class="icon-search"></i></a></li></ul></div></nav><div style="padding-top:10px;text-align:center"><div id='div-gpt-eveng_largeleader'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eveng_largeleader'); }); </script> </div> </div><div class="site-inner"><div class="wrap"><div class="content-sidebar-wrap"><main class="content"><article class="type-post entry" aria-label="Why high-power dc EV chargers require liquid cooling systems"><header class="entry-header"><h1 class="entry-title">Why high-power dc EV chargers require liquid cooling systems</h1> <p class="entry-meta"><span class="entry-author">By <a href="https://www.evengineeringonline.com/author/aharon-etengoff/" class="entry-author-link" rel="author"><span class="entry-author-name">Aharon Etengoff</span></a></span> | <time class="entry-time">November 19, 2024</time></p></header><div class="entry-content"><div class="addtoany_share_save_container addtoany_content addtoany_content_top"><div class="a2a_kit a2a_kit_size_20 addtoany_list" data-a2a-url="https://www.evengineeringonline.com/why-high-power-dc-ev-chargers-require-liquid-cooling-systems/" data-a2a-title="Why high-power dc EV chargers require liquid cooling systems"><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.evengineeringonline.com%2Fwhy-high-power-dc-ev-chargers-require-liquid-cooling-systems%2F&linkname=Why%20high-power%20dc%20EV%20chargers%20require%20liquid%20cooling%20systems" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_x" href="https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Fwww.evengineeringonline.com%2Fwhy-high-power-dc-ev-chargers-require-liquid-cooling-systems%2F&linkname=Why%20high-power%20dc%20EV%20chargers%20require%20liquid%20cooling%20systems" title="X" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.evengineeringonline.com%2Fwhy-high-power-dc-ev-chargers-require-liquid-cooling-systems%2F&linkname=Why%20high-power%20dc%20EV%20chargers%20require%20liquid%20cooling%20systems" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.evengineeringonline.com%2Fwhy-high-power-dc-ev-chargers-require-liquid-cooling-systems%2F&linkname=Why%20high-power%20dc%20EV%20chargers%20require%20liquid%20cooling%20systems" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share"></a></div></div><p>Electric vehicle supply equipment (<a href="https://www.evengineeringonline.com/?s=EVSE">EVSE</a>) typically incorporates <a href="https://www.evengineeringonline.com/?s=air+liquid+cooling">air or liquid cooling systems</a> to prevent overheating and maintain charging efficiency. This article explores the thermal challenges of electric vehicle (EV) <a href="https://www.evengineeringonline.com/?s=electric+vehicle+%28EV%29+chargers+">chargers</a> and the strategies EVSE manufacturers use to manage them. It also reviews the advantages and limitations of air and liquid cooling systems, explaining why manufacturers of high-power fast and ultra-fast<a href="https://www.evengineeringonline.com/?s=high-power+fast+and+ultra-fast+EV+chargers+"> commercial dc EV chargers</a> are increasingly choosing the latter option.</p> <h3><strong>Managing thermal challenges</strong></h3> <p>Many commercial EVSE operators install high-power fast and ultra-fast EV chargers (<strong>Figure 1</strong>) in public outdoor parking lots or along highway rest areas. These chargers can quickly <a href="https://www.evengineeringonline.com/?s=thermal+cooling">overheat</a> without protection from direct sunlight and efficient thermal cooling. Even indoor ultra-fast dc chargers in climate-controlled parking garages are at risk of temperature spikes without effective thermal management.</p> <div id="attachment_6850" style="width: 670px" class="wp-caption aligncenter"><a href="https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure1.jpg"><img decoding="async" aria-describedby="caption-attachment-6850" class=" wp-image-6850" src="https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure1.jpg" alt="" width="660" height="371" srcset="https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure1.jpg 1920w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure1-300x169.jpg 300w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure1-1024x576.jpg 1024w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure1-768x432.jpg 768w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure1-1536x864.jpg 1536w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure1-368x207.jpg 368w" sizes="(max-width: 660px) 100vw, 660px" /></a><p id="caption-attachment-6850" class="wp-caption-text"><strong>Figure 1.</strong> The ADS-TEC Energy ChargePost: a compact, battery-integrated system delivering up to 300 kW of ultra-fast charging power with dual charging points<em>. </em>(Image: <a href="https://www.businesswire.com/news/home/20221201005112/en/ADS-TEC-Energy-Launches-New-Ultra-Fast-Charging-System-ChargePost-an-Energy-Platform-With-Integrated-Battery-Storage-and-Large-Digital-Displays">ADS-TEC</a>)</p></div> <p>The optimal operating temperature for high-power fast and ultra-fast dc EV chargers ranges between 68° and 113° F (20° to 45° C). Most EVSE operators implement safety protocols beyond 113° F (45° C), limiting power output, throttling charging speeds, and extending charging times.</p> <p>Continuous exposure to excessive heat accelerates the degradation of EVSE charging cables, connectors, and crucial electronic components. Overheating EVSE infrastructure increases the risk of thermal runaway in EV batteries and can negatively impact battery management systems (<a href="https://www.evengineeringonline.com/?s=battery+management+systems+%28BMS%29">BMS</a>), onboard chargers (<a href="https://www.evengineeringonline.com/?s=onboard+chargers+%28OBC%29">OBCs</a>), and vehicle control units (<a href="https://www.evengineeringonline.com/?s=vehicle+control+units+%28VCU%29">VCUs</a>).</p> <p>To mitigate thermal challenges, manufacturers design EVSE infrastructure with reliable materials that withstand high temperatures, such as thermoplastics with UL94 V0 flame retardant properties, aluminum for casings, and UV-stabilized, fire-resistant materials like PC (polycarbonate) Siloxane for charging plugs and cables. Additionally, installing <a href="https://www.evengineeringonline.com/?s=solar+panel">solar panel</a> canopies (<strong>Figure 2</strong>) over EV chargers provides shade and generates <a href="https://www.evengineeringonline.com/?s=renewable+energy">renewable energy</a>.</p> <div id="attachment_6852" style="width: 645px" class="wp-caption aligncenter"><a href="https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure2.jpeg"><img decoding="async" aria-describedby="caption-attachment-6852" class=" wp-image-6852" src="https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure2.jpeg" alt="" width="635" height="356" srcset="https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure2.jpeg 1536w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure2-300x168.jpeg 300w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure2-1024x574.jpeg 1024w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure2-768x431.jpeg 768w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure2-368x206.jpeg 368w" sizes="(max-width: 635px) 100vw, 635px" /></a><p id="caption-attachment-6852" class="wp-caption-text"><strong>Figure 2.</strong> Fastned EV chargers under a solar-panel canopy, providing renewable energy generation and protection from the elements. (Image: <a href="https://blog.chargemap.com/electric-vehicle-in-hot-weather-the-impact-on-charging/">ChargeMap</a>)</p></div> <p>Most importantly, manufacturers of high-power fast and ultra-fast dc EV chargers integrate advanced thermal management systems that ensure optimal performance and rapid charging times by efficiently regulating temperatures and dissipating excess heat.</p> <h3><strong>The advantages and limitations of air cooling</strong></h3> <p>EVSE air-cooling (<strong>Figure 3</strong>) systems typically rely on forced convection, using <a href="https://www.eeworldonline.com/?s=IP20">IP20</a> or <a href="https://www.eeworldonline.com/?s=IP65+">IP65</a> forced air-cooled modules to reduce thermal buildup and maintain optimal operating temperatures.</p> <p>Strategically placed fans circulate ambient air over and around <a href="https://www.eeworldonline.com/?s=heat+sinks+">heat sinks</a> attached to crucial EVSE components, while air vents help remove hot air and draw in cooler air. Temperature sensors monitor heat levels and dynamically adjust fan speed to ensure efficient cooling at varying voltages and environmental conditions.</p> <div id="attachment_6853" style="width: 661px" class="wp-caption aligncenter"><a href="https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure3.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6853" class=" wp-image-6853" src="https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure3.png" alt="" width="651" height="284" srcset="https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure3.png 994w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure3-300x131.png 300w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure3-768x335.png 768w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure3-368x161.png 368w" sizes="auto, (max-width: 651px) 100vw, 651px" /></a><p id="caption-attachment-6853" class="wp-caption-text"><strong>Figure 3.</strong> A comparison of air-cooling techniques: natural, IP20 forced, and IP65 independent forced air cooling with enhanced heat dissipation.(Image: <a href="https://www.linkedin.com/pulse/forced-air-cooling-charging-solution-liquid-obxjc/">UUGreenPowerCo</a>)</p></div> <p>The primary advantages of air-cooling systems for EVSE manufacturers are operational simplicity, minimal component requirements, and easy integration into existing designs. Air-cooling systems are generally more cost-effective to manufacture compared to their liquid-cooling counterparts, and the absence of liquid-based components reduces the risk of leak-related failures.</p> <p>Despite their key advantages, EVSE air-cooling systems require thicker copper wires in charging cables to effectively dissipate heat generated by fast charging at higher voltages, raising manufacturing costs and increasing overall cable weight. Additionally, air-cooling systems fail to effectively cool cable cores directly.</p> <p>These systems also generate significant noise when operating at higher temperatures, and direct exposure to circulating outside air can lead to dust buildup, component corrosion, higher maintenance costs, and reduced lifespan. Lastly, air-cooled systems require frequent dust removal, fan replacement, and heat sink cleaning.</p> <p>Although still used in <a href="https://www.eeworldonline.com/?s=residential+AC+chargers+">residential ac chargers</a> and some <a href="https://www.eeworldonline.com/?s=DC+fast+chargers+">dc fast chargers</a> below 150 kW, air cooling is insufficient for ultra-fast EV chargers at higher power levels. During high-power sessions (150 kW+), temperatures can exceed 392° F (200° C) within a 10-minute fast charge. As dc charging gun capacity increases from 250 to 500A, air-cooled systems face significant thermal management challenges.</p> <h3><strong>Maintaining high-power EVSE performance with liquid cooling</strong></h3> <p>EVSE liquid cooling systems (<strong>Figure 4</strong>) maintain optimal operating temperatures using a water-glycol mixture that efficiently reduces thermal buildup around crucial heat-generating components. Liquid cooling transfers heat at low flow rates, keeping internal temperatures roughly 18° F (10° C) lower than air-cooled modules. The heat capacity of water is up to 3,500 times greater than air, making it ten times more effective at dissipating heat.</p> <div id="attachment_6854" style="width: 660px" class="wp-caption aligncenter"><a href="https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure4.webp"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6854" class=" wp-image-6854" src="https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure4.webp" alt="" width="650" height="490" srcset="https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure4.webp 759w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure4-300x226.webp 300w, https://www.evengineeringonline.com/wp-content/uploads/2024/11/Air_Liquid_Cooling_EV_Charger_Efficiency_11122024_Figure4-315x238.webp 315w" sizes="auto, (max-width: 650px) 100vw, 650px" /></a><p id="caption-attachment-6854" class="wp-caption-text"><strong>Figure 4.</strong> A comparison of air and liquid-cooling systems in EVSE modules, highlighting heat dissipation methods using fans and radiators versus liquid cooling plates and circulation. (Image: <a href="https://www.penoda-power.com/liquid-cooled/">Penoda Power</a>)</p></div> <p>Some high-power liquid cooling systems use dual-loop architecture to optimize heat dissipation. In this configuration, internal liquid-cooled modules rapidly absorb heat, while external radiators dissipate it with low-speed, high-volume fans or air-conditioning units.</p> <p>Many systems use coolants like ethylene glycol or oil in modules and cables to prevent thermal buildup. These designs enable the use of smaller, lighter charging <a href="https://www.evengineeringonline.com/?s=connectors+and+cables">connectors and cables</a>. In some advanced configurations, coolant flows through cables and connectors and may even extend directly to the EV’s connection point.</p> <p>Although liquid cooling systems in high-power fast and ultra-fast dc EV chargers are more expensive to design and manufacture, they often result in a lower total cost of ownership (TCO) over time due to improved cooling efficiency, reduced component wear, and longer system lifespan.</p> <p>Nevertheless, liquid cooling systems require precise temperature control and continuous monitoring to prevent coolant degradation and maintain optimal performance. Additionally, pumps and secondary fans used to dissipate heat from radiators draw extra power and may generate noise at higher temperatures. Notably, some liquid-cooled modules can achieve near-zero noise, with only minimal noise from external cooling systems.</p> <p>Liquid cooling systems require minimal maintenance, such as coolant checks and radiator cleaning. Though sealed loops help prevent contamination, regular inspections are needed to prevent leaks that could degrade efficiency, damage infrastructure, or pose safety risks.</p> <h3><strong>Accelerating the shift from air to liquid cooling</strong></h3> <p>Many manufacturers initially integrated air-cooling systems into residential and commercial EV chargers. Managing increased voltage and thermal loads, however, requires larger heat sinks, thicker copper cables, and more high-speed fans.</p> <p>Air-cooling systems draw two to three times more energy to maintain temperatures, reducing efficiency and reliability, especially in hotter climates. Frequent maintenance — six to 12 times per year — is also required for dust removal and fan replacement.</p> <p>Although still used in lower-powered ac chargers and some dc fast chargers below 150 kW, air-cooling systems cannot cost-effectively maintain optimal performance in ultra-fast EV chargers at higher power levels. As a result, many manufacturers now prefer liquid cooling for high-power and ultra-fast dc chargers. While liquid cooling systems have higher upfront costs, they efficiently dissipate heat, draw less power, require minimal maintenance, and can support dc chargers up to 350 kW or more.</p> <h3><strong>Conclusion</strong></h3> <p>High-power dc EV chargers in outdoor parking lots or highway rest areas can quickly overheat without protection from direct sunlight and effective thermal cooling. To ensure optimal performance and rapid charging, EVSE manufacturers use advanced liquid-cooling systems to dissipate thermal buildup in indoor and outdoor units.</p> <p>Air-cooling systems can’t cost-effectively maintain optimal performance in ultra-fast dc EV chargers at higher power levels. Nevertheless, they are still used in many lower-powered ac chargers and some dc fast chargers below 150 kW.</p> <h3><strong>Related content</strong></h3> <ul> <li><a href="https://www.evengineeringonline.com/how-do-air-and-liquid-cooling-compare-in-ev-chargers-and-cyclers/">How Do Air and Liquid Cooling Compare in EV Chargers and Cyclers?</a></li> <li><a href="https://www.evengineeringonline.com/how-does-hot-weather-affect-electric-vehicles/">How Does Hot Weather Affect Electric Vehicles?</a></li> <li><a href="https://www.evengineeringonline.com/understanding-battery-overheating-in-evs/">Understanding Battery Overheating in EVs</a></li> <li><a href="https://www.evengineeringonline.com/redefining-ev-charging-with-high-protection-isolated-air-cooling/">Redefining EV Charging with High-Protection Isolated Air Cooling</a></li> <li><a href="https://www.evengineeringonline.com/what-are-the-challenges-with-high-voltage-ev-charging/">What Are the Challenges With High-Voltage EV Charging?</a></li> </ul> <h3><strong>References</strong></h3> <ul> <li>Liquid-Cooled vs Traditional Charging Stations: Which is Better?, <a href="https://www.penoda-power.com/liquid-cooled/">Penoda Power</a></li> <li>Thermal Management for Safe and Efficient Fast-Charging of Battery Electric Vehicles on the Road, <a href="https://www.cejn.com/en-us/articles/thermal-management-for-safe-and-efficient-fast-charging-of-battery-electric-vehicles-on-the-road/">CEJN</a></li> <li>Value of EV Chargers that Can Withstand Extreme Temperatures, <a href="https://greenc-ev.com/value-of-ev-chargers-that-can-withstand-extreme-temperatures/">GreenCEV</a></li> <li>Successful Thermal Management with Liquid Cooling, <a href="https://www.e-motec.net/thermal-management-with-liquid-cooling">E-Motec</a></li> <li>Electric Vehicle in Hot Weather – the Impact on Charging, <a href="https://blog.chargemap.com/electric-vehicle-in-hot-weather-the-impact-on-charging/">ChargeMap</a></li> </ul> <p> </p> <div class="bawmrp"> <h3>You may also like:</h3> <ul> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.evengineeringonline.com/how-is-hil-testing-used-for-onboard-ev-chargers/"><img loading="lazy" decoding="async" width="100" height="100" src="https://www.evengineeringonline.com/wp-content/uploads/2024/10/How-is-HIL-testing-used-for-onboard-EV-chargers-Figure-1feature-150x150.jpg" class="attachment-100x100 size-100x100 wp-image-5671 wp-post-image" alt="" /><br />How is HIL testing used for onboard EV chargers?</a></li> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.evengineeringonline.com/what-is-smart-energy-management-for-evs/"><img loading="lazy" decoding="async" width="100" height="100" src="https://www.evengineeringonline.com/wp-content/uploads/2024/05/ROTATOR-EV_Smart_Energy_Management_Figure2-150x150.png" class="attachment-100x100 size-100x100 wp-image-3942 wp-post-image" alt="" /><br />What is smart energy management for EVs?</a></li> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.evengineeringonline.com/what-electrical-filtering-is-required-for-ac-and-dc-ev-charging/"><img loading="lazy" decoding="async" width="100" height="100" src="https://www.evengineeringonline.com/wp-content/uploads/2024/01/Ac-and-dc-charging-connections-rotator-150x150.png" class="attachment-100x100 size-100x100 wp-image-2385 wp-post-image" alt="" /><br />What electrical filtering is required for ac and dc EV…</a></li> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_auto"><a href="https://www.evengineeringonline.com/how-to-ensure-ev-battery-safety-with-advanced-temperature-monitoring/"><img loading="lazy" decoding="async" width="100" height="100" src="https://www.evengineeringonline.com/wp-content/uploads/2024/11/Header-rotator-150x150.jpg" class="attachment-100x100 size-100x100 wp-image-6770 wp-post-image" alt="" /><br />How to ensure EV battery safety with advanced temperature monitoring</a></li> </ul> </div> <div style="clear:both;"></div> <hr><span class="entry-categories">Filed Under: <a href="https://www.evengineeringonline.com/category/batteries/thermal-management/" rel="category tag">Thermal Management</a></span><br /><span class="entry-tags">Tagged With: <a href="https://www.evengineeringonline.com/tag/aircooling/" rel="tag">aircooling</a>, <a href="https://www.evengineeringonline.com/tag/charger/" rel="tag">charger</a>, <a href="https://www.evengineeringonline.com/tag/dcpower/" rel="tag">dcpower</a>, <a href="https://www.evengineeringonline.com/tag/faq/" rel="tag">FAQ</a></span><br /> <nav class="navigation post-navigation" aria-label="Next Article"> <h2 class="screen-reader-text">Next Article</h2> <div class="nav-links"><div class="nav-previous"><a href="https://www.evengineeringonline.com/solving-compatibility-gaps-in-ev-charging-infrastructure/" rel="prev">← Previous Article</a></div><div class="nav-next"><a href="https://www.evengineeringonline.com/nfc-chip-integrates-ecc-and-aes-256-encryption/" rel="next">Next Article →</a></div></div> </nav><hr /><br clear='all' /> </div><footer class="entry-footer"></footer></article></main><aside class="sidebar sidebar-primary widget-area" role="complementary" aria-label="Primary Sidebar"><section id="search-3" class="widget widget_search"><div class="widget-wrap"><form class="search-form" method="get" action="https://www.evengineeringonline.com/" role="search"><input class="search-form-input" type="search" name="s" id="searchform-1" placeholder="Search this website"><input class="search-form-submit" type="submit" value="GO"><meta content="https://www.evengineeringonline.com/?s={s}"></form></div></section> <section id="custom_html-4" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"> <div id='div-gpt-eveng_sidebar1'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eveng_sidebar1'); }); </script> </div></div></div></section> <section id="custom_html-2" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center> <div style="display: flex; flex-direction: column; justify-content: center; width: 300px;"> <div align="center"><a href="/welcome-ev-community/" target="_blank"><img src="https://www.eeworldonline.com/wp-content/uploads/2023/03/header-EE.jpg" alt=“ee newsletter”></a></div> <div align="center" style="width: 300px; line-height: 20px; padding-top: 10px;"><span style="font-weight: bold; color: #0c506d; text-align: center; font-size: 20px;">EXPAND YOUR KNOWLEDGE AND STAY CONNECTED</span></div> <div align="center" style="line-height: 16px; padding-top: 5px;"><span style="text-align: center; font-size: 16px;">Get the latest info on technologies, tools and strategies for EV professionals.</span></div> <div align="center" style="padding-top: 10px;"><a href="/welcome-ev-community/" target="_self"><button style="background-color: #57bf9b; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">GET THE ENEWSLETTER</button></a></div> </div> </center></div></div></section> <section id="category-posts-4" class="widget cat-post-widget"><div class="widget-wrap"><h4 class="widget-title widgettitle">Featured Contributions</h4> <ul id="category-posts-4-internal" class="category-posts-internal"> <li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.evengineeringonline.com/how-usage-based-billing-and-charging-as-a-service-are-transforming-ev-fleet-management/" title="How usage-based billing and charging-as-a-service are transforming EV fleet management"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.evengineeringonline.com/wp-content/uploads/2024/08/ElectricSemi-rotator.jpg" class="attachment- size- wp-image-4514 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" loading="lazy" srcset="https://www.evengineeringonline.com/wp-content/uploads/2024/08/ElectricSemi-rotator.jpg 798w, https://www.evengineeringonline.com/wp-content/uploads/2024/08/ElectricSemi-rotator-300x188.jpg 300w, https://www.evengineeringonline.com/wp-content/uploads/2024/08/ElectricSemi-rotator-768x481.jpg 768w, https://www.evengineeringonline.com/wp-content/uploads/2024/08/ElectricSemi-rotator-368x231.jpg 368w" sizes="auto, (max-width: 150px) 100vw, 150px" /></span></a> <a class="cat-post-title" href="https://www.evengineeringonline.com/how-usage-based-billing-and-charging-as-a-service-are-transforming-ev-fleet-management/" rel="bookmark">How usage-based billing and charging-as-a-service are transforming EV fleet management</a></div></li><li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.evengineeringonline.com/why-surge-protection-matters-for-ev-charging-infrastructure/" title="Why surge protection matters for EV charging infrastructure"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.evengineeringonline.com/wp-content/uploads/2024/07/Surge-protection-device-rotator.png" class="attachment- size- wp-image-4446 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" loading="lazy" srcset="https://www.evengineeringonline.com/wp-content/uploads/2024/07/Surge-protection-device-rotator.png 806w, https://www.evengineeringonline.com/wp-content/uploads/2024/07/Surge-protection-device-rotator-300x186.png 300w, https://www.evengineeringonline.com/wp-content/uploads/2024/07/Surge-protection-device-rotator-768x476.png 768w, https://www.evengineeringonline.com/wp-content/uploads/2024/07/Surge-protection-device-rotator-368x228.png 368w" sizes="auto, (max-width: 150px) 100vw, 150px" /></span></a> <a class="cat-post-title" href="https://www.evengineeringonline.com/why-surge-protection-matters-for-ev-charging-infrastructure/" rel="bookmark">Why surge protection matters for EV charging infrastructure</a></div></li><li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.evengineeringonline.com/using-evs-to-drive-decarbonization-its-not-just-about-the-vehicles/" title="Using EVs to drive decarbonization: It’s not just about the vehicles"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.evengineeringonline.com/wp-content/uploads/2024/07/Figure-1-Microgrids-can-pair-with-EV-charging-infrastructure.png" class="attachment- size- wp-image-4416 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" loading="lazy" srcset="https://www.evengineeringonline.com/wp-content/uploads/2024/07/Figure-1-Microgrids-can-pair-with-EV-charging-infrastructure.png 832w, https://www.evengineeringonline.com/wp-content/uploads/2024/07/Figure-1-Microgrids-can-pair-with-EV-charging-infrastructure-300x180.png 300w, https://www.evengineeringonline.com/wp-content/uploads/2024/07/Figure-1-Microgrids-can-pair-with-EV-charging-infrastructure-768x462.png 768w, https://www.evengineeringonline.com/wp-content/uploads/2024/07/Figure-1-Microgrids-can-pair-with-EV-charging-infrastructure-368x221.png 368w" sizes="auto, (max-width: 150px) 100vw, 150px" /></span></a> <a class="cat-post-title" href="https://www.evengineeringonline.com/using-evs-to-drive-decarbonization-its-not-just-about-the-vehicles/" rel="bookmark">Using EVs to drive decarbonization: It’s not just about the vehicles</a></div></li><li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.evengineeringonline.com/how-to-choose-thermal-management-fluid-for-an-ev/" title="How to choose thermal management fluid for an EV"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.evengineeringonline.com/wp-content/uploads/2024/07/Coolant-comparison-rotator.png" class="attachment- size- wp-image-4344 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" loading="lazy" srcset="https://www.evengineeringonline.com/wp-content/uploads/2024/07/Coolant-comparison-rotator.png 800w, https://www.evengineeringonline.com/wp-content/uploads/2024/07/Coolant-comparison-rotator-300x191.png 300w, https://www.evengineeringonline.com/wp-content/uploads/2024/07/Coolant-comparison-rotator-768x488.png 768w, https://www.evengineeringonline.com/wp-content/uploads/2024/07/Coolant-comparison-rotator-268x170.png 268w, https://www.evengineeringonline.com/wp-content/uploads/2024/07/Coolant-comparison-rotator-368x234.png 368w" sizes="auto, (max-width: 150px) 100vw, 150px" /></span></a> <a class="cat-post-title" href="https://www.evengineeringonline.com/how-to-choose-thermal-management-fluid-for-an-ev/" rel="bookmark">How to choose thermal management fluid for an EV</a></div></li><li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.evengineeringonline.com/how-to-ensure-greater-safety-and-efficiency-when-building-ev-battery-facilities/" title="How to ensure greater safety and efficiency when building EV battery facilities"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.evengineeringonline.com/wp-content/uploads/2024/06/Fireproofing-IFRM-Application-1.jpg" class="attachment- size- wp-image-4213 wp-post-image" alt="Fireproofing Fireproofing is essential for EV manufacturing facilities to mitigate the risk of fire incidents caused by high-energy battery systems and electrical components." data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" loading="lazy" srcset="https://www.evengineeringonline.com/wp-content/uploads/2024/06/Fireproofing-IFRM-Application-1.jpg 815w, https://www.evengineeringonline.com/wp-content/uploads/2024/06/Fireproofing-IFRM-Application-1-300x184.jpg 300w, https://www.evengineeringonline.com/wp-content/uploads/2024/06/Fireproofing-IFRM-Application-1-768x471.jpg 768w, https://www.evengineeringonline.com/wp-content/uploads/2024/06/Fireproofing-IFRM-Application-1-368x226.jpg 368w" sizes="auto, (max-width: 150px) 100vw, 150px" /></span></a> <a class="cat-post-title" href="https://www.evengineeringonline.com/how-to-ensure-greater-safety-and-efficiency-when-building-ev-battery-facilities/" rel="bookmark">How to ensure greater safety and efficiency when building EV battery facilities</a></div></li></ul> <a class="cat-post-footer-link" href="https://www.evengineeringonline.com/category/featured-contributions/">More Featured Contributions</a></div></section> <section id="custom_html-9" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">EE TECH TOOLBOX</h4> <div class="textwidget custom-html-widget"><center> <div style="display: flex; flex-direction: column; justify-content: center; width: 300px;"> <div align="center"><a href="https://www.eeworldonline.com/tech-toolbox-test-measurement/" target="_blank"><img src="https://www.eeworldonline.com/wp-content/uploads/2024/11/EE-TechToolbox-T_and_M_Page_01-scaled.jpg" alt=“ee tech toolbox”></a></div> <div align="center" style="width: 300px; line-height: 20px; padding-top: 10px;"><span style="font-weight: bold; color: #0c506d; text-align: center; font-size: 20px;">Tech Toolbox: Test & Measurement</span></div> <div align="center" style="line-height: 16px; padding-top: 5px;"><span style="text-align: center; font-size: 16px;"> Everything needs testing and testing needs measurement. This Tech Toolbox covers measurement fundamentals, accuracy, precision, and resolution. A look at the Smith chart, a handy tool for RF engineers, is also reviewed. </span></div> <div align="center" style="padding-top: 10px;"><a href="https://www.eeworldonline.com/tech-toolbox-test-measurement/" target="_blank"><button style="background-color: #57bf9b; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">Download PDF</button></a></div> <div align="center" style="padding-top: 10px;"><a href="https://www.eeworldonline.com/category/tech-toolboxes/" target="_blank"><button style="background-color: #57bf9b; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">View All Tech Toolboxes</button></a></div> </div> </center> </div></div></section> <section id="custom_html-6" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">Learning Center</h4> <div class="textwidget custom-html-widget"><center><div style="display: flex; flex-direction: column; width: 270px;"><a href="https://www.eeworldonline.com/learning-center" target="_blank" rel="noopener"><img src="https://www.evengineeringonline.com/wp-content/uploads/2024/08/300x250-2-EE-LearnCtr.png" alt="EE Learning Center" style="max-width: 270px;" /></a> <div class="dropdown" style="text-align: center; margin-top: 10px;"> <button class="motion-design-guides">BROWSE CLASSROOMS</button> <div class="dropdown-content"> <a class="motion-design-guide-option" href="https://www.eeworldonline.com/circuit-protection-classroom" target="_blank">CIRCUIT PROTECTION</a> </div> </div></div> </center> <center> <div class="dropdown" style="text-align: center; padding-top: 10px;"> <button class="motion-design-guides">Browse Design Guides</button> <div class="dropdown-content"> <a class="motion-design-guide-option" href="https://eeworldonline.tradepub.com/free/w_defa4462/" target="_blank">Lithium Batteries</a> <a class="motion-design-guide-option" href="https://eeworldonline.tradepub.com/free/w_defa3554/" target="_blank">Connectors</a> <a class="motion-design-guide-option" href="https://eeworldonline.tradepub.com/free/w_defa3475/" target="_blank">5G Connectivity</a> <a class="motion-design-guide-option" href="https://eeworldonline.tradepub.com/free/w_rene01/" target="_blank">Bluetooth & Connectivity</a> <a class="motion-design-guide-option" href="https://eeworldonline.tradepub.com/free/w_defa2728/" target="_blank">WiFi & the IOT</a> <a class="motion-design-guide-option" href="https://dw-resources.designworldonline.com/free/w_defa2978/" target="_blank">Linear Position Sensors</a> <a class="motion-design-guide-option" href="https://eeworldonline.tradepub.com/free/w_defa3337/" target="_blank">Relays</a> </div> </div> </center></div></div></section> <section id="custom_html-8" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><style type="text/css">/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */ /* Document ========================================================================== */ /** * 1. Correct the line height in all browsers. * 2. Prevent adjustments of font size after orientation changes in iOS. */ html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ } /* Sections ========================================================================== */ /** * Remove the margin in all browsers. */ body { margin: 0; } /** * Correct the font size and margin on `h1` elements within `section` and * `article` contexts in Chrome, Firefox, and Safari. */ h1 { font-size: 2em; margin: 0.67em 0; } /* Grouping content ========================================================================== */ /** * 1. Add the correct box sizing in Firefox. * 2. Show the overflow in Edge and IE. */ hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /* Text-level semantics ========================================================================== */ /** * Remove the gray background on active links in IE 10. */ a { background-color: transparent; } /** * 1. Remove the bottom border in Chrome 57- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */ abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ } /** * Add the correct font weight in Chrome, Edge, and Safari. */ b, strong { font-weight: bolder; } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /** * Add the correct font size in all browsers. */ small { font-size: 80%; } /** * Prevent `sub` and `sup` elements from affecting the line height in * all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } /* Embedded content ========================================================================== */ /** * Remove the border on images inside links in IE 10. */ img { border-style: none; } /* Forms ========================================================================== */ /** * 1. Change the font styles in all browsers. * 2. Remove the margin in Firefox and Safari. */ button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ } /** * Show the overflow in IE. * 1. Show the overflow in Edge. */ button, input { /* 1 */ overflow: visible; } /** * Remove the inheritance of text transform in Edge, Firefox, and IE. * 1. Remove the inheritance of text transform in Firefox. */ button, select { /* 1 */ text-transform: none; } /** * Correct the inability to style clickable types in iOS and Safari. */ button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } /** * Remove the inner border and padding in Firefox. */ button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } /** * Restore the focus styles unset by the previous rule. */ button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; } /** * Correct the padding in Firefox. */ fieldset { padding: 0.35em 0.75em 0.625em; } /** * 1. Correct the text wrapping in Edge and IE. * 2. Correct the color inheritance from `fieldset` elements in IE. * 3. Remove the padding so developers are not caught out when they zero out * `fieldset` elements in all browsers. */ legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ } /** * Add the correct vertical alignment in Chrome, Firefox, and Opera. */ progress { vertical-align: baseline; } /** * Remove the default vertical scrollbar in IE 10+. */ textarea { overflow: auto; } /** * 1. Add the correct box sizing in IE 10. * 2. Remove the padding in IE 10. */ [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } /** * Correct the cursor style of increment and decrement buttons in Chrome. */ [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } /** * 1. Correct the odd appearance in Chrome and Safari. * 2. Correct the outline style in Safari. */ [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /** * Remove the inner padding in Chrome and Safari on macOS. */ [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /** * 1. Correct the inability to style clickable types in iOS and Safari. * 2. Change font properties to `inherit` in Safari. */ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } /* Interactive ========================================================================== */ /* * Add the correct display in Edge, IE 10+, and Firefox. */ details { display: block; } /* * Add the correct display in all browsers. */ summary { display: list-item; } /* Misc ========================================================================== */ /** * Add the correct display in IE 10+. */ template { display: none; } /** * Add the correct display in IE 10. */ [hidden] { display: none; } #box { background-color: #1d2765; width: 300px; height: 250px; } .img-padding { padding-top: 5%; } .center { text-align: center; } #header { display: flex; } #header-text { font-family: 'Open Sans', Arial, sans-serif !important; font-size: 21px; color: #ffffff !important; line-height: 20px !important; text-align: center; display: inline-block; flex: 0 60%; } /* Style used in WP Ad, overriding here. */ #df-form input { box-shadow: none; padding: 0; } #df-form { display: flex; justify-content: center; margin-top: 5%; } #header-image { display: inline-block; flex: 0 40%; } #header-image img { width: 100px; height: 100px; } #search-input { background-color: #36428c; border: 10px solid #36428c; max-width: 70%; color:#fff; font-size: 12px; } #search-input::placeholder { color: #fff; } #submit-btn { color: #fff; background-color: #1074fb; border: 10px solid #1074fb; } </style><style>/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */ /* Document ========================================================================== */ /** * 1. Correct the line height in all browsers. * 2. Prevent adjustments of font size after orientation changes in iOS. */ html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ } /* Sections ========================================================================== */ /** * Remove the margin in all browsers. */ body { margin: 0; } /** * Correct the font size and margin on `h1` elements within `section` and * `article` contexts in Chrome, Firefox, and Safari. */ h1 { font-size: 2em; margin: 0.67em 0; } /* Grouping content ========================================================================== */ /** * 1. Add the correct box sizing in Firefox. * 2. Show the overflow in Edge and IE. */ hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /* Text-level semantics ========================================================================== */ /** * Remove the gray background on active links in IE 10. */ a { background-color: transparent; } /** * 1. Remove the bottom border in Chrome 57- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */ abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ } /** * Add the correct font weight in Chrome, Edge, and Safari. */ b, strong { font-weight: bolder; } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /** * Add the correct font size in all browsers. */ small { font-size: 80%; } /** * Prevent `sub` and `sup` elements from affecting the line height in * all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } /* Embedded content ========================================================================== */ /** * Remove the border on images inside links in IE 10. */ img { border-style: none; } /* Forms ========================================================================== */ /** * 1. Change the font styles in all browsers. * 2. Remove the margin in Firefox and Safari. */ button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ } /** * Show the overflow in IE. * 1. Show the overflow in Edge. */ button, input { /* 1 */ overflow: visible; } /** * Remove the inheritance of text transform in Edge, Firefox, and IE. * 1. Remove the inheritance of text transform in Firefox. */ button, select { /* 1 */ text-transform: none; } /** * Correct the inability to style clickable types in iOS and Safari. */ button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } /** * Remove the inner border and padding in Firefox. */ button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } /** * Restore the focus styles unset by the previous rule. */ button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; } /** * Correct the padding in Firefox. */ fieldset { padding: 0.35em 0.75em 0.625em; } /** * 1. Correct the text wrapping in Edge and IE. * 2. Correct the color inheritance from `fieldset` elements in IE. * 3. Remove the padding so developers are not caught out when they zero out * `fieldset` elements in all browsers. */ legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ } /** * Add the correct vertical alignment in Chrome, Firefox, and Opera. */ progress { vertical-align: baseline; } /** * Remove the default vertical scrollbar in IE 10+. */ textarea { overflow: auto; } /** * 1. Add the correct box sizing in IE 10. * 2. Remove the padding in IE 10. */ [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } /** * Correct the cursor style of increment and decrement buttons in Chrome. */ [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } /** * 1. Correct the odd appearance in Chrome and Safari. * 2. Correct the outline style in Safari. */ [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /** * Remove the inner padding in Chrome and Safari on macOS. */ [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /** * 1. Correct the inability to style clickable types in iOS and Safari. * 2. Change font properties to `inherit` in Safari. */ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } /* Interactive ========================================================================== */ /* * Add the correct display in Edge, IE 10+, and Firefox. */ details { display: block; } /* * Add the correct display in all browsers. */ summary { display: list-item; } /* Misc ========================================================================== */ /** * Add the correct display in IE 10+. */ template { display: none; } /** * Add the correct display in IE 10. */ [hidden] { display: none; } #box { background-color: #1d2765; width: 300px; height: 250px; } .img-padding { padding-top: 5%; } .center { text-align: center; } #header { display: flex; } #header-text { font-family: 'Open Sans', Arial, sans-serif !important; font-size: 21px; color: #ffffff !important; line-height: 20px !important; text-align: center; display: inline-block; flex: 0 60%; } /* Style used in WP Ad, overriding here. */ #df-form input { box-shadow: none; padding: 0; } #df-form { display: flex; justify-content: center; margin-top: 5%; } #header-image { display: inline-block; flex: 0 40%; } #header-image img { width: 100px; height: 100px; } #search-input { background-color: #36428c; border: 10px solid #36428c; max-width: 70%; color:#fff; font-size: 12px; } #search-input::placeholder { color: #fff; } #submit-btn { color: #fff; background-color: #1074fb; border: 10px solid #1074fb; } </style> <div id="box"> <!-- Design Fast Logo --> <div class="center img-padding"> <img src="https://images.designworldonline.com/newsletters/images/c4988f59a6e50d1a1d4c5d5f9e5dcd72.png"> </div> <!-- Header Start --> <div id="header"> <!-- Header Text --> <div id="header-text"> Search Millions of Parts from Thousands of Suppliers.<br><br>Search Now! </div> <!-- Globe Image --> <div id="header-image"> <img alt="design fast globle" src="https://images.designworldonline.com/newsletters/images/037373d010e86f50d2d8462d161945b4.png" /> </div> </div> <!-- Header End --> <!-- Form Start --> <form id="df-form"> <input type="text" name="searchbox" id="search-input" size="32" placeholder="Search for a part or datasheet" /> <input type="submit" value="GO" id="submit-btn" /> </form> <!-- Form End --> </div> <script type="text/javascript">!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){n(1),n(3);let r=document.querySelector("#df-form");function o(){const e=r.elements[0].value;window.open("https://www.app.designfast.com/search?q="+e)}r.addEventListener("submit",function(e){if(!e)window.event;e.preventDefault(),o()}),r.addEventListener("keydown",function(e){13===e.key&&o()})},function(e,t,n){},,function(e,t,n){}]);</script> </div></div></section> <section id="category-posts-3" class="widget cat-post-widget"><div class="widget-wrap"><h4 class="widget-title widgettitle">Sponsored Content</h4> <ul id="category-posts-3-internal" class="category-posts-internal"> <li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.evengineeringonline.com/advantech-powers-versatile-electric-vehicle-charging-systems/" title="Advantech Powers Versatile Electric Vehicle Charging Systems"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.evengineeringonline.com/wp-content/uploads/2023/12/advantechembeddediotgroup-sponsored-featured-image-january2024.png" class="attachment- size- wp-image-2175 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" loading="lazy" srcset="https://www.evengineeringonline.com/wp-content/uploads/2023/12/advantechembeddediotgroup-sponsored-featured-image-january2024.png 770w, https://www.evengineeringonline.com/wp-content/uploads/2023/12/advantechembeddediotgroup-sponsored-featured-image-january2024-300x195.png 300w, https://www.evengineeringonline.com/wp-content/uploads/2023/12/advantechembeddediotgroup-sponsored-featured-image-january2024-768x499.png 768w, https://www.evengineeringonline.com/wp-content/uploads/2023/12/advantechembeddediotgroup-sponsored-featured-image-january2024-368x238.png 368w" sizes="auto, (max-width: 150px) 100vw, 150px" /></span></a> <a class="cat-post-title" href="https://www.evengineeringonline.com/advantech-powers-versatile-electric-vehicle-charging-systems/" rel="bookmark">Advantech Powers Versatile Electric Vehicle Charging Systems</a></div></li></ul> </div></section> <section id="custom_html-5" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><div id='div-gpt-eveng_sidebarbotton'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eveng_sidebarbotton'); }); </script> </div></div></div></section> </aside></div></div></div><div class="footer-socials"><div class="wrap"><label style="color:#ffffff">Connect with EV Engineering & Infrastructure</label> <a href="https://twitter.com/EV_OnlineNews" target="_blank" rel="noopener noreferrer"><i class="icon-twitter"></i></a><a href="https://www.linkedin.com/company/evengineering/" target="_blank" rel="noopener noreferrer"><i class="icon-linkedin"></i></a></div></div><footer class="site-footer"><div class="wrap"><div class="row"><div class="footer-logo"><a href="https://www.evengineeringonline.com">EV Engineering & Infrastructure</a></div><div class="footer-menu"><div class="menu-footer-menu-container"><ul id="menu-footer-menu" class="menu"><li id="menu-item-1090" class="menu-item"><a href="https://www.5gtechnologyworld.com/">5G Technology</a></li> <li id="menu-item-1091" class="menu-item"><a href="http://www.analogictips.com/">Analog IC Tips</a></li> <li id="menu-item-1325" class="menu-item"><a href="https://www.batterypowertips.com/">Battery Power Tips</a></li> <li id="menu-item-1092" class="menu-item"><a href="https://www.connectortips.com/">Connector Tips</a></li> <li id="menu-item-1093" class="menu-item"><a href="https://www.designfast.com/">Design Fast</a></li> <li id="menu-item-1094" class="menu-item"><a href="http://www.edaboard.com/">EDABoard Forums</a></li> <li id="menu-item-1095" class="menu-item"><a href="http://www.electro-tech-online.com/">Electro-Tech-Online Forums</a></li> <li id="menu-item-1096" class="menu-item"><a href="https://www.engineersgarage.com/">Engineer’s Garage</a></li> <li id="menu-item-1097" class="menu-item"><a href="https://www.microcontrollertips.com/">Microcontroller Tips</a></li> <li id="menu-item-1098" class="menu-item"><a href="https://www.powerelectronictips.com/">Power Electronic Tips</a></li> <li id="menu-item-1099" class="menu-item"><a href="http://www.sensortips.com/">Sensor Tips</a></li> <li id="menu-item-1100" class="menu-item"><a href="http://www.testandmeasurementtips.com/">Test and Measurement Tips</a></li> <li id="menu-item-1103" class="menu-item"><a href="/contact/">Contact Us</a></li> </ul></div></div><div class="footer-copyright"><p>Copyright © 2024 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media<br /> <a href="http://www.wtwhmedia.com/privacy-policy/" target="_blank">Privacy Policy</a> | <a href="https://marketing.wtwhmedia.com/2024-ee-world-online-media-guide/" target="_blank">Advertising</a> | <a href="/about-ev-engineering/">About Us</a> </p></div></div></div></footer></div><div class="site-search"><div class="wrap"><div class="search-inner"><h2>Search EV Engineering & Infrastructure</h2><form class="search-form" method="get" action="https://www.evengineeringonline.com/" role="search"><input class="search-form-input" type="search" name="s" id="searchform-2" placeholder="Search this website"><input class="search-form-submit" type="submit" value="GO"><meta content="https://www.evengineeringonline.com/?s={s}"></form></div></div></div> <!-- xyzzy bottom --> </div> <script> var GAMaccountID = 5272491; var GAMnetworkName = 'ee_network'; var GAMadUnitName = 'eveng_prestitial'; googletag.slots = googletag.slots || {}; </script> <div id='div-gpt-eveng_wallpaper'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eveng_wallpaper'); }); </script> </div> <div id='div-gpt-eveng_allstreamflex'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eveng_allstreamflex'); }); </script> </div> <div id='div-gpt-eveng_allstreamprelude'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eveng_allstreamprelude'); }); </script> </div> <div id="sidr-mobile-menu" class="sidr right"><a class="sidr-menu-close" href="#"><i class="icon-close"></i></a><div class="menu-main-menu-container"><ul id="menu-main-menu-1" class="menu"><li class="menu-item"><a href="https://www.evengineeringonline.com/category/technology-news/">News</a></li> <li class="menu-item"><a href="https://www.evengineeringonline.com/category/faq/">Articles</a></li> <li class="menu-item"><a href="https://www.evengineeringonline.com/category/batteries/">Batteries</a></li> <li class="menu-item menu-item-has-children"><a href="https://www.evengineeringonline.com/category/charging/">Charging</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.evengineeringonline.com/category/charging/wireless-charging/">Wireless Charging</a></li> <li class="menu-item"><a href="https://www.evengineeringonline.com/category/charging/vehicle-to-grid-v2g/">Vehicle-to-Grid (V2G)</a></li> </ul> </li> <li class="menu-item"><a href="https://www.evengineeringonline.com/category/electrification/">Electrification</a></li> <li class="menu-item"><a href="https://www.evengineeringonline.com/category/testing-safety/">Testing and Safety</a></li> <li class="menu-item"><a href="https://www.evengineeringonline.com/category/rr/">R&D</a></li> <li class="menu-item menu-item-has-children"><a>Learn</a> <ul class="sub-menu"> <li class="menu-item"><a target="_blank" href="https://www.eeworldonline.com/learning-center">Learning Center</a></li> <li class="menu-item"><a target="_blank" href="https://www.eeworldonline.com/category/tech-toolboxes/">Tech Toolboxes</a></li> <li class="menu-item"><a target="_blank" href="https://gateway.on24.com/wcc/experience/elitewtwhmedia/2927718/4415889/ev-engineering">Webinars</a></li> </ul> </li> <li class="menu-item menu-item-has-children"><a>Resources</a> <ul class="sub-menu"> <li class="menu-item"><a target="_blank" href="https://www.evengineeringonline.com/category/digital-issues/">Digital Editions</a></li> <li class="menu-item"><a target="_blank" href="https://www.designworldonline.com/category/news/engineering-diversity/nnWe">Diversity & Inclusion</a></li> </ul> </li> <li class="menu-item"><a href="https://www.evengineeringonline.com/welcome-ev-community/">Subscribe</a></li> </ul></div></div></div><script type="text/javascript"> jQuery( function() { if ( window.Cookies ) { Cookies.set( "gp_easy_passthrough_session", "d9c520a90b90472e12d1f9887c4c9174||1732335090||1732334730", {"expires": new Date( new Date().getTime() + 1800000 ),"path": "/","domain": "","SameSite": "Lax","secure": false} ); } } ); </script> <script type="text/html" id="tmpl-media-frame"> <div class="media-frame-title" id="media-frame-title"></div> <h2 class="media-frame-menu-heading">Actions</h2> <button type="button" class="button button-link media-frame-menu-toggle" aria-expanded="false"> Menu <span class="dashicons dashicons-arrow-down" aria-hidden="true"></span> </button> <div class="media-frame-menu"></div> <div class="media-frame-tab-panel"> <div class="media-frame-router"></div> <div class="media-frame-content"></div> </div> <h2 class="media-frame-actions-heading screen-reader-text"> Selected media actions </h2> <div class="media-frame-toolbar"></div> <div class="media-frame-uploader"></div> </script> <script type="text/html" id="tmpl-media-modal"> <div tabindex="0" class="media-modal wp-core-ui" role="dialog" aria-labelledby="media-frame-title"> <# if ( data.hasCloseButton ) { #> <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text"> Close dialog </span></span></button> <# } #> <div class="media-modal-content" role="document"></div> </div> <div class="media-modal-backdrop"></div> </script> <script type="text/html" id="tmpl-uploader-window"> <div class="uploader-window-content"> <div class="uploader-editor-title">Drop files to upload</div> </div> </script> <script type="text/html" id="tmpl-uploader-editor"> <div class="uploader-editor-content"> <div class="uploader-editor-title">Drop files to upload</div> </div> </script> <script type="text/html" id="tmpl-uploader-inline"> <# var messageClass = data.message ? 'has-upload-message' : 'no-upload-message'; #> <# if ( data.canClose ) { #> <button class="close dashicons dashicons-no"><span class="screen-reader-text"> Close uploader </span></button> <# } #> <div class="uploader-inline-content {{ messageClass }}"> <# if ( data.message ) { #> <h2 class="upload-message">{{ data.message }}</h2> <# } #> <div class="upload-ui"> <h2 class="upload-instructions drop-instructions">Drop files to upload</h2> <p class="upload-instructions drop-instructions">or</p> <button type="button" class="browser button button-hero" aria-labelledby="post-upload-info">Select Files</button> </div> <div class="upload-inline-status"></div> <div class="post-upload-ui" id="post-upload-info"> <p class="max-upload-size"> Maximum upload file size: 50 MB. </p> <# if ( data.suggestedWidth && data.suggestedHeight ) { #> <p class="suggested-dimensions"> Suggested image dimensions: {{data.suggestedWidth}} by {{data.suggestedHeight}} pixels. </p> <# } #> </div> </div> </script> <script type="text/html" id="tmpl-media-library-view-switcher"> <a href="https://www.evengineeringonline.com/wp-admin/upload.php?mode=list" class="view-list"> <span class="screen-reader-text"> List view </span> </a> <a href="https://www.evengineeringonline.com/wp-admin/upload.php?mode=grid" class="view-grid current" aria-current="page"> <span class="screen-reader-text"> Grid view </span> </a> </script> <script type="text/html" id="tmpl-uploader-status"> <h2>Uploading</h2> <div class="media-progress-bar"><div></div></div> <div class="upload-details"> <span class="upload-count"> <span class="upload-index"></span> / <span class="upload-total"></span> </span> <span class="upload-detail-separator">–</span> <span class="upload-filename"></span> </div> <div class="upload-errors"></div> <button type="button" class="button upload-dismiss-errors">Dismiss errors</button> </script> <script type="text/html" id="tmpl-uploader-status-error"> <span class="upload-error-filename">{{{ data.filename }}}</span> <span class="upload-error-message">{{ data.message }}</span> </script> <script type="text/html" id="tmpl-edit-attachment-frame"> <div class="edit-media-header"> <button class="left dashicons"<# if ( ! data.hasPrevious ) { #> disabled<# } #>><span class="screen-reader-text">Edit previous media item</span></button> <button class="right dashicons"<# if ( ! data.hasNext ) { #> disabled<# } #>><span class="screen-reader-text">Edit next media item</span></button> <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text">Close dialog</span></span></button> </div> <div class="media-frame-title"></div> <div class="media-frame-content"></div> </script> <script type="text/html" id="tmpl-attachment-details-two-column"> <div class="attachment-media-view {{ data.orientation }}"> <h2 class="screen-reader-text">Attachment Preview</h2> <div class="thumbnail thumbnail-{{ data.type }}"> <# if ( data.uploading ) { #> <div class="media-progress-bar"><div></div></div> <# } else if ( data.sizes && data.sizes.full ) { #> <img class="details-image" src="{{ data.sizes.full.url }}" draggable="false" alt="" /> <# } else if ( data.sizes && data.sizes.large ) { #> <img class="details-image" src="{{ data.sizes.large.url }}" draggable="false" alt="" /> <# } else if ( -1 === jQuery.inArray( data.type, [ 'audio', 'video' ] ) ) { #> <img class="details-image icon" src="{{ data.icon }}" draggable="false" alt="" /> <# } #> <# if ( 'audio' === data.type ) { #> <div class="wp-media-wrapper wp-audio"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none"> <source type="{{ data.mime }}" src="{{ data.url }}" /> </audio> </div> <# } else if ( 'video' === data.type ) { var w_rule = ''; if ( data.width ) { w_rule = 'width: ' + data.width + 'px;'; } else if ( wp.media.view.settings.contentWidth ) { w_rule = 'width: ' + wp.media.view.settings.contentWidth + 'px;'; } #> <div style="{{ w_rule }}" class="wp-media-wrapper wp-video"> <video controls="controls" class="wp-video-shortcode" preload="metadata" <# if ( data.width ) { #>width="{{ data.width }}"<# } #> <# if ( data.height ) { #>height="{{ data.height }}"<# } #> <# if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>> <source type="{{ data.mime }}" src="{{ data.url }}" /> </video> </div> <# } #> <div class="attachment-actions"> <# if ( 'image' === data.type && ! data.uploading && data.sizes && data.can.save ) { #> <button type="button" class="button edit-attachment">Edit Image</button> <# } else if ( 'pdf' === data.subtype && data.sizes ) { #> <p>Document Preview</p> <# } #> </div> </div> </div> <div class="attachment-info"> <span class="settings-save-status" role="status"> <span class="spinner"></span> <span class="saved">Saved.</span> </span> <div class="details"> <h2 class="screen-reader-text"> Details </h2> <div class="uploaded"><strong>Uploaded on:</strong> {{ data.dateFormatted }}</div> <div class="uploaded-by"> <strong>Uploaded by:</strong> <# if ( data.authorLink ) { #> <a href="{{ data.authorLink }}">{{ data.authorName }}</a> <# } else { #> {{ data.authorName }} <# } #> </div> <# if ( data.uploadedToTitle ) { #> <div class="uploaded-to"> <strong>Uploaded to:</strong> <# if ( data.uploadedToLink ) { #> <a href="{{ data.uploadedToLink }}">{{ data.uploadedToTitle }}</a> <# } else { #> {{ data.uploadedToTitle }} <# } #> </div> <# } #> <div class="filename"><strong>File name:</strong> {{ data.filename }}</div> <div class="file-type"><strong>File type:</strong> {{ data.mime }}</div> <div class="file-size"><strong>File size:</strong> {{ data.filesizeHumanReadable }}</div> <# if ( 'image' === data.type && ! data.uploading ) { #> <# if ( data.width && data.height ) { #> <div class="dimensions"><strong>Dimensions:</strong> {{ data.width }} by {{ data.height }} pixels </div> <# } #> <# if ( data.originalImageURL && data.originalImageName ) { #> <div class="word-wrap-break-word"> <strong>Original image:</strong> <a href="{{ data.originalImageURL }}">{{data.originalImageName}}</a> </div> <# } #> <# } #> <# if ( data.fileLength && data.fileLengthHumanReadable ) { #> <div class="file-length"><strong>Length:</strong> <span aria-hidden="true">{{ data.fileLengthHumanReadable }}</span> <span class="screen-reader-text">{{ data.fileLengthHumanReadable }}</span> </div> <# } #> <# if ( 'audio' === data.type && data.meta.bitrate ) { #> <div class="bitrate"> <strong>Bitrate:</strong> {{ Math.round( data.meta.bitrate / 1000 ) }}kb/s <# if ( data.meta.bitrate_mode ) { #> {{ ' ' + data.meta.bitrate_mode.toUpperCase() }} <# } #> </div> <# } #> <# if ( data.mediaStates ) { #> <div class="media-states"><strong>Used as:</strong> {{ data.mediaStates }}</div> <# } #> <div class="compat-meta"> <# if ( data.compat && data.compat.meta ) { #> {{{ data.compat.meta }}} <# } #> </div> </div> <div class="settings"> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #> <# if ( 'image' === data.type ) { #> <span class="setting alt-text has-description" data-setting="alt"> <label for="attachment-details-two-column-alt-text" class="name">Alternative Text</label> <textarea id="attachment-details-two-column-alt-text" aria-describedby="alt-text-description" {{ maybeReadOnly }}>{{ data.alt }}</textarea> </span> <p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <# } #> <span class="setting" data-setting="title"> <label for="attachment-details-two-column-title" class="name">Title</label> <input type="text" id="attachment-details-two-column-title" value="{{ data.title }}" {{ maybeReadOnly }} /> </span> <# if ( 'audio' === data.type ) { #> <span class="setting" data-setting="artist"> <label for="attachment-details-two-column-artist" class="name">Artist</label> <input type="text" id="attachment-details-two-column-artist" value="{{ data.artist || data.meta.artist || '' }}" /> </span> <span class="setting" data-setting="album"> <label for="attachment-details-two-column-album" class="name">Album</label> <input type="text" id="attachment-details-two-column-album" value="{{ data.album || data.meta.album || '' }}" /> </span> <# } #> <span class="setting" data-setting="caption"> <label for="attachment-details-two-column-caption" class="name">Caption</label> <textarea id="attachment-details-two-column-caption" {{ maybeReadOnly }}>{{ data.caption }}</textarea> </span> <span class="setting" data-setting="description"> <label for="attachment-details-two-column-description" class="name">Description</label> <textarea id="attachment-details-two-column-description" {{ maybeReadOnly }}>{{ data.description }}</textarea> </span> <span class="setting" data-setting="url"> <label for="attachment-details-two-column-copy-link" class="name">File URL:</label> <input type="text" class="attachment-details-copy-link" id="attachment-details-two-column-copy-link" value="{{ data.url }}" readonly /> <span class="copy-to-clipboard-container"> <button type="button" class="button button-small copy-attachment-url" data-clipboard-target="#attachment-details-two-column-copy-link">Copy URL to clipboard</button> <span class="success hidden" aria-hidden="true">Copied!</span> </span> </span> <div class="attachment-compat"></div> </div> <div class="actions"> <# if ( data.link ) { #> <a class="view-attachment" href="{{ data.link }}">View attachment page</a> <# } #> <# if ( data.can.save ) { #> <# if ( data.link ) { #> <span class="links-separator">|</span> <# } #> <a href="{{ data.editLink }}">Edit more details</a> <# } #> <# if ( data.can.save && data.link ) { #> <span class="links-separator">|</span> <a href="{{ data.url }}" download>Download file</a> <# } #> <# if ( ! data.uploading && data.can.remove ) { #> <# if ( data.link || data.can.save ) { #> <span class="links-separator">|</span> <# } #> <button type="button" class="button-link delete-attachment">Delete permanently</button> <# } #> </div> </div> </script> <script type="text/html" id="tmpl-attachment"> <div class="attachment-preview js--select-attachment type-{{ data.type }} subtype-{{ data.subtype }} {{ data.orientation }}"> <div class="thumbnail"> <# if ( data.uploading ) { #> <div class="media-progress-bar"><div style="width: {{ data.percent }}%"></div></div> <# } else if ( 'image' === data.type && data.size && data.size.url ) { #> <div class="centered"> <img src="{{ data.size.url }}" draggable="false" alt="" /> </div> <# } else { #> <div class="centered"> <# if ( data.image && data.image.src && data.image.src !== data.icon ) { #> <img src="{{ data.image.src }}" class="thumbnail" draggable="false" alt="" /> <# } else if ( data.sizes ) { if ( data.sizes.medium ) { #> <img src="{{ data.sizes.medium.url }}" class="thumbnail" draggable="false" alt="" /> <# } else { #> <img src="{{ data.sizes.full.url }}" class="thumbnail" draggable="false" alt="" /> <# } #> <# } else { #> <img src="{{ data.icon }}" class="icon" draggable="false" alt="" /> <# } #> </div> <div class="filename"> <div>{{ data.filename }}</div> </div> <# } #> </div> <# if ( data.buttons.close ) { #> <button type="button" class="button-link attachment-close media-modal-icon"><span class="screen-reader-text"> Remove </span></button> <# } #> </div> <# if ( data.buttons.check ) { #> <button type="button" class="check" tabindex="-1"><span class="media-modal-icon"></span><span class="screen-reader-text"> Deselect </span></button> <# } #> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; if ( data.describe ) { if ( 'image' === data.type ) { #> <input type="text" value="{{ data.caption }}" class="describe" data-setting="caption" aria-label="Caption" placeholder="Caption…" {{ maybeReadOnly }} /> <# } else { #> <input type="text" value="{{ data.title }}" class="describe" data-setting="title" <# if ( 'video' === data.type ) { #> aria-label="Video title" placeholder="Video title…" <# } else if ( 'audio' === data.type ) { #> aria-label="Audio title" placeholder="Audio title…" <# } else { #> aria-label="Media title" placeholder="Media title…" <# } #> {{ maybeReadOnly }} /> <# } } #> </script> <script type="text/html" id="tmpl-attachment-details"> <h2> Attachment Details <span class="settings-save-status" role="status"> <span class="spinner"></span> <span class="saved">Saved.</span> </span> </h2> <div class="attachment-info"> <# if ( 'audio' === data.type ) { #> <div class="wp-media-wrapper wp-audio"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none"> <source type="{{ data.mime }}" src="{{ data.url }}" /> </audio> </div> <# } else if ( 'video' === data.type ) { var w_rule = ''; if ( data.width ) { w_rule = 'width: ' + data.width + 'px;'; } else if ( wp.media.view.settings.contentWidth ) { w_rule = 'width: ' + wp.media.view.settings.contentWidth + 'px;'; } #> <div style="{{ w_rule }}" class="wp-media-wrapper wp-video"> <video controls="controls" class="wp-video-shortcode" preload="metadata" <# if ( data.width ) { #>width="{{ data.width }}"<# } #> <# if ( data.height ) { #>height="{{ data.height }}"<# } #> <# if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>> <source type="{{ data.mime }}" src="{{ data.url }}" /> </video> </div> <# } else { #> <div class="thumbnail thumbnail-{{ data.type }}"> <# if ( data.uploading ) { #> <div class="media-progress-bar"><div></div></div> <# } else if ( 'image' === data.type && data.size && data.size.url ) { #> <img src="{{ data.size.url }}" draggable="false" alt="" /> <# } else { #> <img src="{{ data.icon }}" class="icon" draggable="false" alt="" /> <# } #> </div> <# } #> <div class="details"> <div class="filename">{{ data.filename }}</div> <div class="uploaded">{{ data.dateFormatted }}</div> <div class="file-size">{{ data.filesizeHumanReadable }}</div> <# if ( 'image' === data.type && ! data.uploading ) { #> <# if ( data.width && data.height ) { #> <div class="dimensions"> {{ data.width }} by {{ data.height }} pixels </div> <# } #> <# if ( data.originalImageURL && data.originalImageName ) { #> <div class="word-wrap-break-word"> Original image: <a href="{{ data.originalImageURL }}">{{data.originalImageName}}</a> </div> <# } #> <# if ( data.can.save && data.sizes ) { #> <a class="edit-attachment" href="{{ data.editLink }}&image-editor" target="_blank">Edit Image</a> <# } #> <# } #> <# if ( data.fileLength && data.fileLengthHumanReadable ) { #> <div class="file-length">Length: <span aria-hidden="true">{{ data.fileLengthHumanReadable }}</span> <span class="screen-reader-text">{{ data.fileLengthHumanReadable }}</span> </div> <# } #> <# if ( data.mediaStates ) { #> <div class="media-states"><strong>Used as:</strong> {{ data.mediaStates }}</div> <# } #> <# if ( ! data.uploading && data.can.remove ) { #> <button type="button" class="button-link delete-attachment">Delete permanently</button> <# } #> <div class="compat-meta"> <# if ( data.compat && data.compat.meta ) { #> {{{ data.compat.meta }}} <# } #> </div> </div> </div> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #> <# if ( 'image' === data.type ) { #> <span class="setting alt-text has-description" data-setting="alt"> <label for="attachment-details-alt-text" class="name">Alt Text</label> <textarea id="attachment-details-alt-text" aria-describedby="alt-text-description" {{ maybeReadOnly }}>{{ data.alt }}</textarea> </span> <p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <# } #> <span class="setting" data-setting="title"> <label for="attachment-details-title" class="name">Title</label> <input type="text" id="attachment-details-title" value="{{ data.title }}" {{ maybeReadOnly }} /> </span> <# if ( 'audio' === data.type ) { #> <span class="setting" data-setting="artist"> <label for="attachment-details-artist" class="name">Artist</label> <input type="text" id="attachment-details-artist" value="{{ data.artist || data.meta.artist || '' }}" /> </span> <span class="setting" data-setting="album"> <label for="attachment-details-album" class="name">Album</label> <input type="text" id="attachment-details-album" value="{{ data.album || data.meta.album || '' }}" /> </span> <# } #> <span class="setting" data-setting="caption"> <label for="attachment-details-caption" class="name">Caption</label> <textarea id="attachment-details-caption" {{ maybeReadOnly }}>{{ data.caption }}</textarea> </span> <span class="setting" data-setting="description"> <label for="attachment-details-description" class="name">Description</label> <textarea id="attachment-details-description" {{ maybeReadOnly }}>{{ data.description }}</textarea> </span> <span class="setting" data-setting="url"> <label for="attachment-details-copy-link" class="name">File URL:</label> <input type="text" class="attachment-details-copy-link" id="attachment-details-copy-link" value="{{ data.url }}" readonly /> <div class="copy-to-clipboard-container"> <button type="button" class="button button-small copy-attachment-url" data-clipboard-target="#attachment-details-copy-link">Copy URL to clipboard</button> <span class="success hidden" aria-hidden="true">Copied!</span> </div> </span> </script> <script type="text/html" id="tmpl-media-selection"> <div class="selection-info"> <span class="count"></span> <# if ( data.editable ) { #> <button type="button" class="button-link edit-selection">Edit Selection</button> <# } #> <# if ( data.clearable ) { #> <button type="button" class="button-link clear-selection">Clear</button> <# } #> </div> <div class="selection-view"></div> </script> <script type="text/html" id="tmpl-attachment-display-settings"> <h2>Attachment Display Settings</h2> <# if ( 'image' === data.type ) { #> <span class="setting align"> <label for="attachment-display-settings-alignment" class="name">Alignment</label> <select id="attachment-display-settings-alignment" class="alignment" data-setting="align" <# if ( data.userSettings ) { #> data-user-setting="align" <# } #>> <option value="left"> Left </option> <option value="center"> Center </option> <option value="right"> Right </option> <option value="none" selected> None </option> </select> </span> <# } #> <span class="setting"> <label for="attachment-display-settings-link-to" class="name"> <# if ( data.model.canEmbed ) { #> Embed or Link <# } else { #> Link To <# } #> </label> <select id="attachment-display-settings-link-to" class="link-to" data-setting="link" <# if ( data.userSettings && ! data.model.canEmbed ) { #> data-user-setting="urlbutton" <# } #>> <# if ( data.model.canEmbed ) { #> <option value="embed" selected> Embed Media Player </option> <option value="file"> <# } else { #> <option value="none" selected> None </option> <option value="file"> <# } #> <# if ( data.model.canEmbed ) { #> Link to Media File <# } else { #> Media File <# } #> </option> <option value="post"> <# if ( data.model.canEmbed ) { #> Link to Attachment Page <# } else { #> Attachment Page <# } #> </option> <# if ( 'image' === data.type ) { #> <option value="custom"> Custom URL </option> <# } #> </select> </span> <span class="setting"> <label for="attachment-display-settings-link-to-custom" class="name">URL</label> <input type="text" id="attachment-display-settings-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span> <# if ( 'undefined' !== typeof data.sizes ) { #> <span class="setting"> <label for="attachment-display-settings-size" class="name">Size</label> <select id="attachment-display-settings-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #>> <# var size = data.sizes['thumbnail']; if ( size ) { #> <option value="thumbnail" > Thumbnail – {{ size.width }} × {{ size.height }} </option> <# } #> <# var size = data.sizes['medium']; if ( size ) { #> <option value="medium" > Medium – {{ size.width }} × {{ size.height }} </option> <# } #> <# var size = data.sizes['large']; if ( size ) { #> <option value="large" > Large – {{ size.width }} × {{ size.height }} </option> <# } #> <# var size = data.sizes['full']; if ( size ) { #> <option value="full" selected='selected'> Full Size – {{ size.width }} × {{ size.height }} </option> <# } #> </select> </span> <# } #> </script> <script type="text/html" id="tmpl-gallery-settings"> <h2>Gallery Settings</h2> <span class="setting"> <label for="gallery-settings-link-to" class="name">Link To</label> <select id="gallery-settings-link-to" class="link-to" data-setting="link" <# if ( data.userSettings ) { #> data-user-setting="urlbutton" <# } #>> <option value="post" <# if ( ! wp.media.galleryDefaults.link || 'post' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> Attachment Page </option> <option value="file" <# if ( 'file' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> Media File </option> <option value="none" <# if ( 'none' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> None </option> </select> </span> <span class="setting"> <label for="gallery-settings-columns" class="name select-label-inline">Columns</label> <select id="gallery-settings-columns" class="columns" name="columns" data-setting="columns"> <option value="1" <# if ( 1 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 1 </option> <option value="2" <# if ( 2 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 2 </option> <option value="3" <# if ( 3 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 3 </option> <option value="4" <# if ( 4 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 4 </option> <option value="5" <# if ( 5 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 5 </option> <option value="6" <# if ( 6 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 6 </option> <option value="7" <# if ( 7 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 7 </option> <option value="8" <# if ( 8 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 8 </option> <option value="9" <# if ( 9 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 9 </option> </select> </span> <span class="setting"> <input type="checkbox" id="gallery-settings-random-order" data-setting="_orderbyRandom" /> <label for="gallery-settings-random-order" class="checkbox-label-inline">Random Order</label> </span> <span class="setting size"> <label for="gallery-settings-size" class="name">Size</label> <select id="gallery-settings-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #> > <option value="thumbnail"> Thumbnail </option> <option value="medium"> Medium </option> <option value="large"> Large </option> <option value="full"> Full Size </option> </select> </span> </script> <script type="text/html" id="tmpl-playlist-settings"> <h2>Playlist Settings</h2> <# var emptyModel = _.isEmpty( data.model ), isVideo = 'video' === data.controller.get('library').props.get('type'); #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-list" data-setting="tracklist" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-list" class="checkbox-label-inline"> <# if ( isVideo ) { #> Show Video List <# } else { #> Show Tracklist <# } #> </label> </span> <# if ( ! isVideo ) { #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-artist" data-setting="artists" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-artist" class="checkbox-label-inline"> Show Artist Name in Tracklist </label> </span> <# } #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-images" data-setting="images" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-images" class="checkbox-label-inline"> Show Images </label> </span> </script> <script type="text/html" id="tmpl-embed-link-settings"> <span class="setting link-text"> <label for="embed-link-settings-link-text" class="name">Link Text</label> <input type="text" id="embed-link-settings-link-text" class="alignment" data-setting="linkText" /> </span> <div class="embed-container" style="display: none;"> <div class="embed-preview"></div> </div> </script> <script type="text/html" id="tmpl-embed-image-settings"> <div class="wp-clearfix"> <div class="thumbnail"> <img src="{{ data.model.url }}" draggable="false" alt="" /> </div> </div> <span class="setting alt-text has-description"> <label for="embed-image-settings-alt-text" class="name">Alternative Text</label> <textarea id="embed-image-settings-alt-text" data-setting="alt" aria-describedby="alt-text-description"></textarea> </span> <p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <span class="setting caption"> <label for="embed-image-settings-caption" class="name">Caption</label> <textarea id="embed-image-settings-caption" data-setting="caption"></textarea> </span> <fieldset class="setting-group"> <legend class="name">Align</legend> <span class="setting align"> <span class="button-group button-large" data-setting="align"> <button class="button" value="left"> Left </button> <button class="button" value="center"> Center </button> <button class="button" value="right"> Right </button> <button class="button active" value="none"> None </button> </span> </span> </fieldset> <fieldset class="setting-group"> <legend class="name">Link To</legend> <span class="setting link-to"> <span class="button-group button-large" data-setting="link"> <button class="button" value="file"> Image URL </button> <button class="button" value="custom"> Custom URL </button> <button class="button active" value="none"> None </button> </span> </span> <span class="setting"> <label for="embed-image-settings-link-to-custom" class="name">URL</label> <input type="text" id="embed-image-settings-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span> </fieldset> </script> <script type="text/html" id="tmpl-image-details"> <div class="media-embed"> <div class="embed-media-settings"> <div class="column-settings"> <span class="setting alt-text has-description"> <label for="image-details-alt-text" class="name">Alternative Text</label> <textarea id="image-details-alt-text" data-setting="alt" aria-describedby="alt-text-description">{{ data.model.alt }}</textarea> </span> <p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <span class="setting caption"> <label for="image-details-caption" class="name">Caption</label> <textarea id="image-details-caption" data-setting="caption">{{ data.model.caption }}</textarea> </span> <h2>Display Settings</h2> <fieldset class="setting-group"> <legend class="legend-inline">Align</legend> <span class="setting align"> <span class="button-group button-large" data-setting="align"> <button class="button" value="left"> Left </button> <button class="button" value="center"> Center </button> <button class="button" value="right"> Right </button> <button class="button active" value="none"> None </button> </span> </span> </fieldset> <# if ( data.attachment ) { #> <# if ( 'undefined' !== typeof data.attachment.sizes ) { #> <span class="setting size"> <label for="image-details-size" class="name">Size</label> <select id="image-details-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #>> <# var size = data.sizes['thumbnail']; if ( size ) { #> <option value="thumbnail"> Thumbnail – {{ size.width }} × {{ size.height }} </option> <# } #> <# var size = data.sizes['medium']; if ( size ) { #> <option value="medium"> Medium – {{ size.width }} × {{ size.height }} </option> <# } #> <# var size = data.sizes['large']; if ( size ) { #> <option value="large"> Large – {{ size.width }} × {{ size.height }} </option> <# } #> <# var size = data.sizes['full']; if ( size ) { #> <option value="full"> Full Size – {{ size.width }} × {{ size.height }} </option> <# } #> <option value="custom"> Custom Size </option> </select> </span> <# } #> <div class="custom-size wp-clearfix<# if ( data.model.size !== 'custom' ) { #> hidden<# } #>"> <span class="custom-size-setting"> <label for="image-details-size-width">Width</label> <input type="number" id="image-details-size-width" aria-describedby="image-size-desc" data-setting="customWidth" step="1" value="{{ data.model.customWidth }}" /> </span> <span class="sep" aria-hidden="true">×</span> <span class="custom-size-setting"> <label for="image-details-size-height">Height</label> <input type="number" id="image-details-size-height" aria-describedby="image-size-desc" data-setting="customHeight" step="1" value="{{ data.model.customHeight }}" /> </span> <p id="image-size-desc" class="description">Image size in pixels</p> </div> <# } #> <span class="setting link-to"> <label for="image-details-link-to" class="name">Link To</label> <select id="image-details-link-to" data-setting="link"> <# if ( data.attachment ) { #> <option value="file"> Media File </option> <option value="post"> Attachment Page </option> <# } else { #> <option value="file"> Image URL </option> <# } #> <option value="custom"> Custom URL </option> <option value="none"> None </option> </select> </span> <span class="setting"> <label for="image-details-link-to-custom" class="name">URL</label> <input type="text" id="image-details-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span> <div class="advanced-section"> <h2><button type="button" class="button-link advanced-toggle">Advanced Options</button></h2> <div class="advanced-settings hidden"> <div class="advanced-image"> <span class="setting title-text"> <label for="image-details-title-attribute" class="name">Image Title Attribute</label> <input type="text" id="image-details-title-attribute" data-setting="title" value="{{ data.model.title }}" /> </span> <span class="setting extra-classes"> <label for="image-details-css-class" class="name">Image CSS Class</label> <input type="text" id="image-details-css-class" data-setting="extraClasses" value="{{ data.model.extraClasses }}" /> </span> </div> <div class="advanced-link"> <span class="setting link-target"> <input type="checkbox" id="image-details-link-target" data-setting="linkTargetBlank" value="_blank" <# if ( data.model.linkTargetBlank ) { #>checked="checked"<# } #>> <label for="image-details-link-target" class="checkbox-label">Open link in a new tab</label> </span> <span class="setting link-rel"> <label for="image-details-link-rel" class="name">Link Rel</label> <input type="text" id="image-details-link-rel" data-setting="linkRel" value="{{ data.model.linkRel }}" /> </span> <span class="setting link-class-name"> <label for="image-details-link-css-class" class="name">Link CSS Class</label> <input type="text" id="image-details-link-css-class" data-setting="linkClassName" value="{{ data.model.linkClassName }}" /> </span> </div> </div> </div> </div> <div class="column-image"> <div class="image"> <img src="{{ data.model.url }}" draggable="false" alt="" /> <# if ( data.attachment && window.imageEdit ) { #> <div class="actions"> <input type="button" class="edit-attachment button" value="Edit Original" /> <input type="button" class="replace-attachment button" value="Replace" /> </div> <# } #> </div> </div> </div> </div> </script> <script type="text/html" id="tmpl-image-editor"> <div id="media-head-{{ data.id }}"></div> <div id="image-editor-{{ data.id }}"></div> </script> <script type="text/html" id="tmpl-audio-details"> <# var ext, html5types = { mp3: wp.media.view.settings.embedMimes.mp3, ogg: wp.media.view.settings.embedMimes.ogg }; #> <div class="media-embed media-embed-details"> <div class="embed-media-settings embed-audio-settings"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="{{ _.isUndefined( data.model.width ) ? 400 : data.model.width }}" preload="{{ _.isUndefined( data.model.preload ) ? 'none' : data.model.preload }}" <# if ( ! _.isUndefined( data.model.autoplay ) && data.model.autoplay ) { #> autoplay<# } if ( ! _.isUndefined( data.model.loop ) && data.model.loop ) { #> loop<# } #> > <# if ( ! _.isEmpty( data.model.src ) ) { #> <source src="{{ data.model.src }}" type="{{ wp.media.view.settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.mp3 ) ) { #> <source src="{{ data.model.mp3 }}" type="{{ wp.media.view.settings.embedMimes[ 'mp3' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.ogg ) ) { #> <source src="{{ data.model.ogg }}" type="{{ wp.media.view.settings.embedMimes[ 'ogg' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.flac ) ) { #> <source src="{{ data.model.flac }}" type="{{ wp.media.view.settings.embedMimes[ 'flac' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.m4a ) ) { #> <source src="{{ data.model.m4a }}" type="{{ wp.media.view.settings.embedMimes[ 'm4a' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.wav ) ) { #> <source src="{{ data.model.wav }}" type="{{ wp.media.view.settings.embedMimes[ 'wav' ] }}" /> <# } #> </audio> <# if ( ! _.isEmpty( data.model.src ) ) { ext = data.model.src.split('.').pop(); if ( html5types[ ext ] ) { delete html5types[ ext ]; } #> <span class="setting"> <label for="audio-details-source" class="name">URL</label> <input type="text" id="audio-details-source" readonly data-setting="src" value="{{ data.model.src }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.mp3 ) ) { if ( ! _.isUndefined( html5types.mp3 ) ) { delete html5types.mp3; } #> <span class="setting"> <label for="audio-details-mp3-source" class="name">MP3</label> <input type="text" id="audio-details-mp3-source" readonly data-setting="mp3" value="{{ data.model.mp3 }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.ogg ) ) { if ( ! _.isUndefined( html5types.ogg ) ) { delete html5types.ogg; } #> <span class="setting"> <label for="audio-details-ogg-source" class="name">OGG</label> <input type="text" id="audio-details-ogg-source" readonly data-setting="ogg" value="{{ data.model.ogg }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.flac ) ) { if ( ! _.isUndefined( html5types.flac ) ) { delete html5types.flac; } #> <span class="setting"> <label for="audio-details-flac-source" class="name">FLAC</label> <input type="text" id="audio-details-flac-source" readonly data-setting="flac" value="{{ data.model.flac }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.m4a ) ) { if ( ! _.isUndefined( html5types.m4a ) ) { delete html5types.m4a; } #> <span class="setting"> <label for="audio-details-m4a-source" class="name">M4A</label> <input type="text" id="audio-details-m4a-source" readonly data-setting="m4a" value="{{ data.model.m4a }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.wav ) ) { if ( ! _.isUndefined( html5types.wav ) ) { delete html5types.wav; } #> <span class="setting"> <label for="audio-details-wav-source" class="name">WAV</label> <input type="text" id="audio-details-wav-source" readonly data-setting="wav" value="{{ data.model.wav }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( html5types ) ) { #> <fieldset class="setting-group"> <legend class="name">Add alternate sources for maximum HTML5 playback</legend> <span class="setting"> <span class="button-large"> <# _.each( html5types, function (mime, type) { #> <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button> <# } ) #> </span> </span> </fieldset> <# } #> <fieldset class="setting-group"> <legend class="name">Preload</legend> <span class="setting preload"> <span class="button-group button-large" data-setting="preload"> <button class="button" value="auto">Auto</button> <button class="button" value="metadata">Metadata</button> <button class="button active" value="none">None</button> </span> </span> </fieldset> <span class="setting-group"> <span class="setting checkbox-setting autoplay"> <input type="checkbox" id="audio-details-autoplay" data-setting="autoplay" /> <label for="audio-details-autoplay" class="checkbox-label">Autoplay</label> </span> <span class="setting checkbox-setting"> <input type="checkbox" id="audio-details-loop" data-setting="loop" /> <label for="audio-details-loop" class="checkbox-label">Loop</label> </span> </span> </div> </div> </script> <script type="text/html" id="tmpl-video-details"> <# var ext, html5types = { mp4: wp.media.view.settings.embedMimes.mp4, ogv: wp.media.view.settings.embedMimes.ogv, webm: wp.media.view.settings.embedMimes.webm }; #> <div class="media-embed media-embed-details"> <div class="embed-media-settings embed-video-settings"> <div class="wp-video-holder"> <# var w = ! data.model.width || data.model.width > 640 ? 640 : data.model.width, h = ! data.model.height ? 360 : data.model.height; if ( data.model.width && w !== data.model.width ) { h = Math.ceil( ( h * w ) / data.model.width ); } #> <# var w_rule = '', classes = [], w, h, settings = wp.media.view.settings, isYouTube = isVimeo = false; if ( ! _.isEmpty( data.model.src ) ) { isYouTube = data.model.src.match(/youtube|youtu\.be/); isVimeo = -1 !== data.model.src.indexOf('vimeo'); } if ( settings.contentWidth && data.model.width >= settings.contentWidth ) { w = settings.contentWidth; } else { w = data.model.width; } if ( w !== data.model.width ) { h = Math.ceil( ( data.model.height * w ) / data.model.width ); } else { h = data.model.height; } if ( w ) { w_rule = 'width: ' + w + 'px; '; } if ( isYouTube ) { classes.push( 'youtube-video' ); } if ( isVimeo ) { classes.push( 'vimeo-video' ); } #> <div style="{{ w_rule }}" class="wp-video"> <video controls class="wp-video-shortcode {{ classes.join( ' ' ) }}" <# if ( w ) { #>width="{{ w }}"<# } #> <# if ( h ) { #>height="{{ h }}"<# } #> <# if ( ! _.isUndefined( data.model.poster ) && data.model.poster ) { #> poster="{{ data.model.poster }}"<# } #> preload ="{{ _.isUndefined( data.model.preload ) ? 'metadata' : data.model.preload }}" <# if ( ! _.isUndefined( data.model.autoplay ) && data.model.autoplay ) { #> autoplay<# } if ( ! _.isUndefined( data.model.loop ) && data.model.loop ) { #> loop<# } #> > <# if ( ! _.isEmpty( data.model.src ) ) { if ( isYouTube ) { #> <source src="{{ data.model.src }}" type="video/youtube" /> <# } else if ( isVimeo ) { #> <source src="{{ data.model.src }}" type="video/vimeo" /> <# } else { #> <source src="{{ data.model.src }}" type="{{ settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> <# } } #> <# if ( data.model.mp4 ) { #> <source src="{{ data.model.mp4 }}" type="{{ settings.embedMimes[ 'mp4' ] }}" /> <# } #> <# if ( data.model.m4v ) { #> <source src="{{ data.model.m4v }}" type="{{ settings.embedMimes[ 'm4v' ] }}" /> <# } #> <# if ( data.model.webm ) { #> <source src="{{ data.model.webm }}" type="{{ settings.embedMimes[ 'webm' ] }}" /> <# } #> <# if ( data.model.ogv ) { #> <source src="{{ data.model.ogv }}" type="{{ settings.embedMimes[ 'ogv' ] }}" /> <# } #> <# if ( data.model.flv ) { #> <source src="{{ data.model.flv }}" type="{{ settings.embedMimes[ 'flv' ] }}" /> <# } #> {{{ data.model.content }}} </video> </div> <# if ( ! _.isEmpty( data.model.src ) ) { ext = data.model.src.split('.').pop(); if ( html5types[ ext ] ) { delete html5types[ ext ]; } #> <span class="setting"> <label for="video-details-source" class="name">URL</label> <input type="text" id="video-details-source" readonly data-setting="src" value="{{ data.model.src }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.mp4 ) ) { if ( ! _.isUndefined( html5types.mp4 ) ) { delete html5types.mp4; } #> <span class="setting"> <label for="video-details-mp4-source" class="name">MP4</label> <input type="text" id="video-details-mp4-source" readonly data-setting="mp4" value="{{ data.model.mp4 }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.m4v ) ) { if ( ! _.isUndefined( html5types.m4v ) ) { delete html5types.m4v; } #> <span class="setting"> <label for="video-details-m4v-source" class="name">M4V</label> <input type="text" id="video-details-m4v-source" readonly data-setting="m4v" value="{{ data.model.m4v }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.webm ) ) { if ( ! _.isUndefined( html5types.webm ) ) { delete html5types.webm; } #> <span class="setting"> <label for="video-details-webm-source" class="name">WEBM</label> <input type="text" id="video-details-webm-source" readonly data-setting="webm" value="{{ data.model.webm }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.ogv ) ) { if ( ! _.isUndefined( html5types.ogv ) ) { delete html5types.ogv; } #> <span class="setting"> <label for="video-details-ogv-source" class="name">OGV</label> <input type="text" id="video-details-ogv-source" readonly data-setting="ogv" value="{{ data.model.ogv }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.flv ) ) { if ( ! _.isUndefined( html5types.flv ) ) { delete html5types.flv; } #> <span class="setting"> <label for="video-details-flv-source" class="name">FLV</label> <input type="text" id="video-details-flv-source" readonly data-setting="flv" value="{{ data.model.flv }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> </div> <# if ( ! _.isEmpty( html5types ) ) { #> <fieldset class="setting-group"> <legend class="name">Add alternate sources for maximum HTML5 playback</legend> <span class="setting"> <span class="button-large"> <# _.each( html5types, function (mime, type) { #> <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button> <# } ) #> </span> </span> </fieldset> <# } #> <# if ( ! _.isEmpty( data.model.poster ) ) { #> <span class="setting"> <label for="video-details-poster-image" class="name">Poster Image</label> <input type="text" id="video-details-poster-image" readonly data-setting="poster" value="{{ data.model.poster }}" /> <button type="button" class="button-link remove-setting">Remove poster image</button> </span> <# } #> <fieldset class="setting-group"> <legend class="name">Preload</legend> <span class="setting preload"> <span class="button-group button-large" data-setting="preload"> <button class="button" value="auto">Auto</button> <button class="button" value="metadata">Metadata</button> <button class="button active" value="none">None</button> </span> </span> </fieldset> <span class="setting-group"> <span class="setting checkbox-setting autoplay"> <input type="checkbox" id="video-details-autoplay" data-setting="autoplay" /> <label for="video-details-autoplay" class="checkbox-label">Autoplay</label> </span> <span class="setting checkbox-setting"> <input type="checkbox" id="video-details-loop" data-setting="loop" /> <label for="video-details-loop" class="checkbox-label">Loop</label> </span> </span> <span class="setting" data-setting="content"> <# var content = ''; if ( ! _.isEmpty( data.model.content ) ) { var tracks = jQuery( data.model.content ).filter( 'track' ); _.each( tracks.toArray(), function( track, index ) { content += track.outerHTML; #> <label for="video-details-track-{{ index }}" class="name">Tracks (subtitles, captions, descriptions, chapters, or metadata)</label> <input class="content-track" type="text" id="video-details-track-{{ index }}" aria-describedby="video-details-track-desc-{{ index }}" value="{{ track.outerHTML }}" /> <span class="description" id="video-details-track-desc-{{ index }}"> The srclang, label, and kind values can be edited to set the video track language and kind. </span> <button type="button" class="button-link remove-setting remove-track">Remove video track</button><br /> <# } ); #> <# } else { #> <span class="name">Tracks (subtitles, captions, descriptions, chapters, or metadata)</span><br /> <em>There are no associated subtitles.</em> <# } #> <textarea class="hidden content-setting">{{ content }}</textarea> </span> </div> </div> </script> <script type="text/html" id="tmpl-editor-gallery"> <# if ( data.attachments.length ) { #> <div class="gallery gallery-columns-{{ data.columns }}"> <# _.each( data.attachments, function( attachment, index ) { #> <dl class="gallery-item"> <dt class="gallery-icon"> <# if ( attachment.thumbnail ) { #> <img src="{{ attachment.thumbnail.url }}" width="{{ attachment.thumbnail.width }}" height="{{ attachment.thumbnail.height }}" alt="{{ attachment.alt }}" /> <# } else { #> <img src="{{ attachment.url }}" alt="{{ attachment.alt }}" /> <# } #> </dt> <# if ( attachment.caption ) { #> <dd class="wp-caption-text gallery-caption"> {{{ data.verifyHTML( attachment.caption ) }}} </dd> <# } #> </dl> <# if ( index % data.columns === data.columns - 1 ) { #> <br style="clear: both;" /> <# } #> <# } ); #> </div> <# } else { #> <div class="wpview-error"> <div class="dashicons dashicons-format-gallery"></div><p>No items found.</p> </div> <# } #> </script> <script type="text/html" id="tmpl-crop-content"> <img class="crop-image" src="{{ data.url }}" alt="Image crop area preview. Requires mouse interaction." /> <div class="upload-errors"></div> </script> <script type="text/html" id="tmpl-site-icon-preview-crop"> <style> :root{ --site-icon-url: url( "{{ data.url }}" ); } </style> <h2>Site Icon Preview</h2> <p>As an app icon and a browser icon.</p> <div class="site-icon-preview crop"> <div class="image-preview-wrap app-icon-preview"> <img id="preview-app-icon" src="{{ data.url }}" class="app-icon-preview" alt="Preview as an app icon" /> </div> <div class="site-icon-preview-browser"> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="browser-buttons"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 20a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm18 0a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm24-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z" /></svg> <div class="site-icon-preview-tab"> <div class="image-preview-wrap browser"> <img id="preview-favicon" src="{{ data.url }}" class="browser-icon-preview" alt="Preview as a browser icon" /> </div> <div class="site-icon-preview-site-title" aria-hidden="true"><# print( 'EV Engineering & Infrastructure' ) #></div> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="close-button"> <path d="M12 13.0607L15.7123 16.773L16.773 15.7123L13.0607 12L16.773 8.28772L15.7123 7.22706L12 10.9394L8.28771 7.22705L7.22705 8.28771L10.9394 12L7.22706 15.7123L8.28772 16.773L12 13.0607Z" /> </svg> </div> </div> </div> </div> </script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-content/plugins/prestitial/assets/js/adlogic.js?ver=1.1.0" id="wtwh_prestitial_core_js-js"></script> <script type="text/javascript" id="thickbox-js-extra"> /* <![CDATA[ */ var thickboxL10n = {"next":"Next >","prev":"< Prev","image":"Image","of":"of","close":"Close","noiframes":"This feature requires inline frames. You have iframes disabled or your browser does not support them.","loadingAnimation":"https:\/\/www.evengineeringonline.com\/wp-includes\/js\/thickbox\/loadingAnimation.gif"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/thickbox/thickbox.js?ver=3.1-20121105" id="thickbox-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/underscore.min.js?ver=1.13.7" id="underscore-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/shortcode.min.js?ver=6.7" id="shortcode-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-admin/js/media-upload.min.js?ver=6.7" id="media-upload-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/backbone.min.js?ver=1.6.0" id="backbone-js"></script> <script type="text/javascript" id="wp-util-js-extra"> /* <![CDATA[ */ var _wpUtilSettings = {"ajax":{"url":"\/wp-admin\/admin-ajax.php"}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/wp-util.min.js?ver=6.7" id="wp-util-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/wp-backbone.min.js?ver=6.7" id="wp-backbone-js"></script> <script type="text/javascript" id="media-models-js-extra"> /* <![CDATA[ */ var _wpMediaModelsL10n = {"settings":{"ajaxurl":"\/wp-admin\/admin-ajax.php","post":{"id":0}}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/media-models.min.js?ver=6.7" id="media-models-js"></script> <script type="text/javascript" id="wp-plupload-js-extra"> /* <![CDATA[ */ var pluploadL10n = {"queue_limit_exceeded":"You have attempted to queue too many files.","file_exceeds_size_limit":"%s exceeds the maximum upload size for this site.","zero_byte_file":"This file is empty. Please try another.","invalid_filetype":"Sorry, you are not allowed to upload this file type.","not_an_image":"This file is not an image. Please try another.","image_memory_exceeded":"Memory exceeded. Please try another smaller file.","image_dimensions_exceeded":"This is larger than the maximum size. Please try another.","default_error":"An error occurred in the upload. Please try again later.","missing_upload_url":"There was a configuration error. Please contact the server administrator.","upload_limit_exceeded":"You may only upload 1 file.","http_error":"Unexpected response from the server. The file may have been uploaded successfully. Check in the Media Library or reload the page.","http_error_image":"The server cannot process the image. This can happen if the server is busy or does not have enough resources to complete the task. Uploading a smaller image may help. Suggested maximum size is 2560 pixels.","upload_failed":"Upload failed.","big_upload_failed":"Please try uploading this file with the %1$sbrowser uploader%2$s.","big_upload_queued":"%s exceeds the maximum upload size for the multi-file uploader when used in your browser.","io_error":"IO error.","security_error":"Security error.","file_cancelled":"File canceled.","upload_stopped":"Upload stopped.","dismiss":"Dismiss","crunching":"Crunching\u2026","deleted":"moved to the Trash.","error_uploading":"\u201c%s\u201d has failed to upload.","unsupported_image":"This image cannot be displayed in a web browser. For best results convert it to JPEG before uploading.","noneditable_image":"This image cannot be processed by the web server. Convert it to JPEG or PNG before uploading.","file_url_copied":"The file URL has been copied to your clipboard"}; var _wpPluploadSettings = {"defaults":{"file_data_name":"async-upload","url":"\/wp-admin\/async-upload.php","filters":{"max_file_size":"52428800b","mime_types":[{"extensions":"jpg,jpeg,jpe,gif,png,bmp,tiff,tif,webp,avif,ico,heic,heif,heics,heifs,asf,asx,wmv,wmx,wm,avi,divx,flv,mov,qt,mpeg,mpg,mpe,mp4,m4v,ogv,webm,mkv,3gp,3gpp,3g2,3gp2,txt,asc,c,cc,h,srt,csv,tsv,ics,rtx,css,vtt,dfxp,mp3,m4a,m4b,aac,ra,ram,wav,ogg,oga,flac,mid,midi,wma,wax,mka,rtf,pdf,class,tar,zip,gz,gzip,rar,7z,psd,xcf,doc,pot,pps,ppt,wri,xla,xls,xlt,xlw,mdb,mpp,docx,docm,dotx,dotm,xlsx,xlsm,xlsb,xltx,xltm,xlam,pptx,pptm,ppsx,ppsm,potx,potm,ppam,sldx,sldm,onetoc,onetoc2,onetmp,onepkg,oxps,xps,odt,odp,ods,odg,odc,odb,odf,wp,wpd,key,numbers,pages"}]},"multipart_params":{"action":"upload-attachment","_wpnonce":"088645f900"}},"browser":{"mobile":false,"supported":true},"limitExceeded":false}; /* ]]> */ </script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/plupload/wp-plupload.min.js?ver=6.7" id="wp-plupload-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" id="jquery-ui-core-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/jquery/ui/mouse.min.js?ver=1.13.3" id="jquery-ui-mouse-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/jquery/ui/sortable.min.js?ver=1.13.3" id="jquery-ui-sortable-js"></script> <script type="text/javascript" id="mediaelement-core-js-before"> /* <![CDATA[ */ var mejsL10n = {"language":"en","strings":{"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https:\/\/get.adobe.com\/flashplayer\/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left\/Right Arrow keys to advance one second, Up\/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up\/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions\/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/mediaelement/mediaelement-and-player.min.js?ver=4.2.17" id="mediaelement-core-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/mediaelement/mediaelement-migrate.min.js?ver=6.7" id="mediaelement-migrate-js"></script> <script type="text/javascript" id="mediaelement-js-extra"> /* <![CDATA[ */ var _wpmejsSettings = {"pluginPath":"\/wp-includes\/js\/mediaelement\/","classPrefix":"mejs-","stretching":"responsive","audioShortcodeLibrary":"mediaelement","videoShortcodeLibrary":"mediaelement"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/mediaelement/wp-mediaelement.min.js?ver=6.7" id="wp-mediaelement-js"></script> <script type="text/javascript" id="wp-api-request-js-extra"> /* <![CDATA[ */ var wpApiSettings = {"root":"https:\/\/www.evengineeringonline.com\/wp-json\/","nonce":"ee8898367f","versionString":"wp\/v2\/"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/api-request.min.js?ver=6.7" id="wp-api-request-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/dist/dom-ready.min.js?ver=f77871ff7694fffea381" id="wp-dom-ready-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/dist/hooks.min.js?ver=4d63a3d491d11ffd8ac6" id="wp-hooks-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script type="text/javascript" id="wp-i18n-js-after"> /* <![CDATA[ */ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); /* ]]> */ </script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/dist/a11y.min.js?ver=3156534cc54473497e14" id="wp-a11y-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/clipboard.min.js?ver=2.0.11" id="clipboard-js"></script> <script type="text/javascript" id="media-views-js-extra"> /* <![CDATA[ */ var _wpMediaViewsL10n = {"mediaFrameDefaultTitle":"Media","url":"URL","addMedia":"Add media","search":"Search","select":"Select","cancel":"Cancel","update":"Update","replace":"Replace","remove":"Remove","back":"Back","selected":"%d selected","dragInfo":"Drag and drop to reorder media files.","uploadFilesTitle":"Upload files","uploadImagesTitle":"Upload images","mediaLibraryTitle":"Media Library","insertMediaTitle":"Add media","createNewGallery":"Create a new gallery","createNewPlaylist":"Create a new playlist","createNewVideoPlaylist":"Create a new video playlist","returnToLibrary":"\u2190 Go to library","allMediaItems":"All media items","allDates":"All dates","noItemsFound":"No items found.","insertIntoPost":"Insert into post","unattached":"Unattached","mine":"Mine","trash":"Trash","uploadedToThisPost":"Uploaded to this post","warnDelete":"You are about to permanently delete this item from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete.","warnBulkDelete":"You are about to permanently delete these items from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete.","warnBulkTrash":"You are about to trash these items.\n 'Cancel' to stop, 'OK' to delete.","bulkSelect":"Bulk select","trashSelected":"Move to Trash","restoreSelected":"Restore from Trash","deletePermanently":"Delete permanently","errorDeleting":"Error in deleting the attachment.","apply":"Apply","filterByDate":"Filter by date","filterByType":"Filter by type","searchLabel":"Search media","searchMediaLabel":"Search media","searchMediaPlaceholder":"Search media items...","mediaFound":"Number of media items found: %d","noMedia":"No media items found.","noMediaTryNewSearch":"No media items found. Try a different search.","attachmentDetails":"Attachment details","insertFromUrlTitle":"Insert from URL","setFeaturedImageTitle":"Featured image","setFeaturedImage":"Set featured image","createGalleryTitle":"Create gallery","editGalleryTitle":"Edit gallery","cancelGalleryTitle":"\u2190 Cancel gallery","insertGallery":"Insert gallery","updateGallery":"Update gallery","addToGallery":"Add to gallery","addToGalleryTitle":"Add to gallery","reverseOrder":"Reverse order","imageDetailsTitle":"Image details","imageReplaceTitle":"Replace image","imageDetailsCancel":"Cancel edit","editImage":"Edit image","chooseImage":"Choose image","selectAndCrop":"Select and crop","skipCropping":"Skip cropping","cropImage":"Crop image","cropYourImage":"Crop your image","cropping":"Cropping\u2026","suggestedDimensions":"Suggested image dimensions: %1$s by %2$s pixels.","cropError":"There has been an error cropping your image.","audioDetailsTitle":"Audio details","audioReplaceTitle":"Replace audio","audioAddSourceTitle":"Add audio source","audioDetailsCancel":"Cancel edit","videoDetailsTitle":"Video details","videoReplaceTitle":"Replace video","videoAddSourceTitle":"Add video source","videoDetailsCancel":"Cancel edit","videoSelectPosterImageTitle":"Select poster image","videoAddTrackTitle":"Add subtitles","playlistDragInfo":"Drag and drop to reorder tracks.","createPlaylistTitle":"Create audio playlist","editPlaylistTitle":"Edit audio playlist","cancelPlaylistTitle":"\u2190 Cancel audio playlist","insertPlaylist":"Insert audio playlist","updatePlaylist":"Update audio playlist","addToPlaylist":"Add to audio playlist","addToPlaylistTitle":"Add to Audio Playlist","videoPlaylistDragInfo":"Drag and drop to reorder videos.","createVideoPlaylistTitle":"Create video playlist","editVideoPlaylistTitle":"Edit video playlist","cancelVideoPlaylistTitle":"\u2190 Cancel video playlist","insertVideoPlaylist":"Insert video playlist","updateVideoPlaylist":"Update video playlist","addToVideoPlaylist":"Add to video playlist","addToVideoPlaylistTitle":"Add to video Playlist","filterAttachments":"Filter media","attachmentsList":"Media list","settings":{"tabs":[],"tabUrl":"https:\/\/www.evengineeringonline.com\/wp-admin\/media-upload.php?chromeless=1","mimeTypes":{"image":"Images","audio":"Audio","video":"Video","application\/msword,application\/vnd.openxmlformats-officedocument.wordprocessingml.document,application\/vnd.ms-word.document.macroEnabled.12,application\/vnd.ms-word.template.macroEnabled.12,application\/vnd.oasis.opendocument.text,application\/vnd.apple.pages,application\/pdf,application\/vnd.ms-xpsdocument,application\/oxps,application\/rtf,application\/wordperfect,application\/octet-stream":"Documents","application\/vnd.apple.numbers,application\/vnd.oasis.opendocument.spreadsheet,application\/vnd.ms-excel,application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application\/vnd.ms-excel.sheet.macroEnabled.12,application\/vnd.ms-excel.sheet.binary.macroEnabled.12":"Spreadsheets","application\/x-gzip,application\/rar,application\/x-tar,application\/zip,application\/x-7z-compressed":"Archives"},"captions":true,"nonce":{"sendToEditor":"527960a6c4","setAttachmentThumbnail":"7fe77c8dd7"},"post":{"id":0},"defaultProps":{"link":"none","align":"","size":""},"attachmentCounts":{"audio":1,"video":1},"oEmbedProxyUrl":"https:\/\/www.evengineeringonline.com\/wp-json\/oembed\/1.0\/proxy","embedExts":["mp3","ogg","flac","m4a","wav","mp4","m4v","webm","ogv","flv"],"embedMimes":{"mp3":"audio\/mpeg","ogg":"audio\/ogg","flac":"audio\/flac","m4a":"audio\/mpeg","wav":"audio\/wav","mp4":"video\/mp4","m4v":"video\/mp4","webm":"video\/webm","ogv":"video\/ogg","flv":"video\/x-flv"},"contentWidth":740,"months":[{"year":"2024","month":"11","text":"November 2024"},{"year":"2024","month":"10","text":"October 2024"},{"year":"2024","month":"9","text":"September 2024"},{"year":"2024","month":"8","text":"August 2024"},{"year":"2024","month":"7","text":"July 2024"},{"year":"2024","month":"6","text":"June 2024"},{"year":"2024","month":"5","text":"May 2024"},{"year":"2024","month":"4","text":"April 2024"},{"year":"2024","month":"3","text":"March 2024"},{"year":"2024","month":"2","text":"February 2024"},{"year":"2024","month":"1","text":"January 2024"},{"year":"2023","month":"12","text":"December 2023"},{"year":"2023","month":"11","text":"November 2023"},{"year":"2023","month":"10","text":"October 2023"},{"year":"2023","month":"9","text":"September 2023"},{"year":"2023","month":"8","text":"August 2023"}],"mediaTrash":0,"infiniteScrolling":0}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/media-views.min.js?ver=6.7" id="media-views-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/media-editor.min.js?ver=6.7" id="media-editor-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/media-audiovideo.min.js?ver=6.7" id="media-audiovideo-js"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-includes/js/comment-reply.min.js?ver=6.7" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script type="text/javascript" src="https://www.evengineeringonline.com/wp-content/themes/ThemeWTWH/assets/js/global-min.js?ver=1629383263" id="ea-global-js"></script> <script>"undefined"!=typeof jQuery&&jQuery(document).ready(function(){"objectFit"in document.documentElement.style==!1&&(jQuery(".cat-post-item figure").removeClass("cat-post-crop"),jQuery(".cat-post-item figure").addClass("cat-post-crop-not-supported")),(document.documentMode||/Edge/.test(navigator.userAgent))&&(jQuery(".cat-post-item figure img").height("+=1"),window.setTimeout(function(){jQuery(".cat-post-item figure img").height("-=1")},0))});</script> <script type="text/javascript"> if (typeof jQuery !== 'undefined') { var cat_posts_namespace = window.cat_posts_namespace || {}; cat_posts_namespace.layout_wrap_text = cat_posts_namespace.layout_wrap_text || {}; cat_posts_namespace.layout_img_size = cat_posts_namespace.layout_img_size || {}; cat_posts_namespace.layout_wrap_text = { preWrap : function (widget) { jQuery(widget).find('.cat-post-item').each(function(){ var _that = jQuery(this); _that.find('p.cpwp-excerpt-text').addClass('cpwp-wrap-text'); _that.find('p.cpwp-excerpt-text').closest('div').wrap('<div class="cpwp-wrap-text-stage"></div>'); }); return; }, add : function(_this){ var _that = jQuery(_this); if (_that.find('p.cpwp-excerpt-text').height() < _that.find('.cat-post-thumbnail').height()) { _that.find('p.cpwp-excerpt-text').closest('.cpwp-wrap-text-stage').removeClass( "cpwp-wrap-text" ); _that.find('p.cpwp-excerpt-text').addClass( "cpwp-wrap-text" ); }else{ _that.find('p.cpwp-excerpt-text').removeClass( "cpwp-wrap-text" ); _that.find('p.cpwp-excerpt-text').closest('.cpwp-wrap-text-stage').addClass( "cpwp-wrap-text" ); } return; }, handleLazyLoading : function(_this) { var width = jQuery(_this).find('img').width(); if( 0 !== width ){ cat_posts_namespace.layout_wrap_text.add(_this); } else { jQuery(_this).find('img').one("load", function(){ cat_posts_namespace.layout_wrap_text.add(_this); }); } return; }, setClass : function (widget) { // var _widget = jQuery(widget); jQuery(widget).find('.cat-post-item').each(function(){ cat_posts_namespace.layout_wrap_text.handleLazyLoading(this); }); return; } } cat_posts_namespace.layout_img_size = { replace : function(_this){ var _that = jQuery(_this), resp_w = _that.width(), resp_h = _that.height(), orig_w = _that.data('cat-posts-width'), orig_h = _that.data('cat-posts-height'); if( resp_w < orig_w ){ _that.height( resp_w * orig_h / orig_w ); } else { _that.height( '' ); } return; }, handleLazyLoading : function(_this) { var width = jQuery(_this).width(); if( 0 !== width ){ cat_posts_namespace.layout_img_size.replace(_this); } else { jQuery(_this).one("load", function(){ cat_posts_namespace.layout_img_size.replace(_this); }); } return; }, setHeight : function (widget) { jQuery(widget).find('.cat-post-item img').each(function(){ cat_posts_namespace.layout_img_size.handleLazyLoading(this); }); return; } } let widget = jQuery('#category-posts-4-internal'); jQuery( document ).ready(function () { cat_posts_namespace.layout_wrap_text.setClass(widget); cat_posts_namespace.layout_img_size.setHeight(widget); }); jQuery(window).on('load resize', function() { cat_posts_namespace.layout_wrap_text.setClass(widget); cat_posts_namespace.layout_img_size.setHeight(widget); }); // low-end mobile cat_posts_namespace.layout_wrap_text.preWrap(widget); cat_posts_namespace.layout_wrap_text.setClass(widget); cat_posts_namespace.layout_img_size.setHeight(widget); } </script> <script type="text/javascript"> if (typeof jQuery !== 'undefined') { var cat_posts_namespace = window.cat_posts_namespace || {}; cat_posts_namespace.layout_wrap_text = cat_posts_namespace.layout_wrap_text || {}; cat_posts_namespace.layout_img_size = cat_posts_namespace.layout_img_size || {}; cat_posts_namespace.layout_wrap_text = { preWrap : function (widget) { jQuery(widget).find('.cat-post-item').each(function(){ var _that = jQuery(this); _that.find('p.cpwp-excerpt-text').addClass('cpwp-wrap-text'); _that.find('p.cpwp-excerpt-text').closest('div').wrap('<div class="cpwp-wrap-text-stage"></div>'); }); return; }, add : function(_this){ var _that = jQuery(_this); if (_that.find('p.cpwp-excerpt-text').height() < _that.find('.cat-post-thumbnail').height()) { _that.find('p.cpwp-excerpt-text').closest('.cpwp-wrap-text-stage').removeClass( "cpwp-wrap-text" ); _that.find('p.cpwp-excerpt-text').addClass( "cpwp-wrap-text" ); }else{ _that.find('p.cpwp-excerpt-text').removeClass( "cpwp-wrap-text" ); _that.find('p.cpwp-excerpt-text').closest('.cpwp-wrap-text-stage').addClass( "cpwp-wrap-text" ); } return; }, handleLazyLoading : function(_this) { var width = jQuery(_this).find('img').width(); if( 0 !== width ){ cat_posts_namespace.layout_wrap_text.add(_this); } else { jQuery(_this).find('img').one("load", function(){ cat_posts_namespace.layout_wrap_text.add(_this); }); } return; }, setClass : function (widget) { // var _widget = jQuery(widget); jQuery(widget).find('.cat-post-item').each(function(){ cat_posts_namespace.layout_wrap_text.handleLazyLoading(this); }); return; } } cat_posts_namespace.layout_img_size = { replace : function(_this){ var _that = jQuery(_this), resp_w = _that.width(), resp_h = _that.height(), orig_w = _that.data('cat-posts-width'), orig_h = _that.data('cat-posts-height'); if( resp_w < orig_w ){ _that.height( resp_w * orig_h / orig_w ); } else { _that.height( '' ); } return; }, handleLazyLoading : function(_this) { var width = jQuery(_this).width(); if( 0 !== width ){ cat_posts_namespace.layout_img_size.replace(_this); } else { jQuery(_this).one("load", function(){ cat_posts_namespace.layout_img_size.replace(_this); }); } return; }, setHeight : function (widget) { jQuery(widget).find('.cat-post-item img').each(function(){ cat_posts_namespace.layout_img_size.handleLazyLoading(this); }); return; } } let widget = jQuery('#category-posts-3-internal'); jQuery( document ).ready(function () { cat_posts_namespace.layout_wrap_text.setClass(widget); cat_posts_namespace.layout_img_size.setHeight(widget); }); jQuery(window).on('load resize', function() { cat_posts_namespace.layout_wrap_text.setClass(widget); cat_posts_namespace.layout_img_size.setHeight(widget); }); // low-end mobile cat_posts_namespace.layout_wrap_text.preWrap(widget); cat_posts_namespace.layout_wrap_text.setClass(widget); cat_posts_namespace.layout_img_size.setHeight(widget); } </script> <!-- Cookie Notice plugin v2.5.1 by Hu-manity.co https://hu-manity.co/ --> <div id="cookie-notice" role="dialog" class="cookie-notice-hidden cookie-revoke-hidden cn-position-bottom" aria-label="Cookie Notice" style="background-color: rgba(30,115,190,1);"><div class="cookie-notice-container" style="color: #fff"><span id="cn-notice-text" class="cn-text-container">We use cookies to personalize content and ads, to provide social media features and to analyze our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services. You consent to our cookies if you continue to use this website.</span><span id="cn-notice-buttons" class="cn-buttons-container"><a href="#" id="cn-accept-cookie" data-cookie-set="accept" class="cn-set-cookie cn-button" aria-label="Ok" style="background-color: #00a99d">Ok</a><a href="#" id="cn-refuse-cookie" data-cookie-set="refuse" class="cn-set-cookie cn-button" aria-label="No" style="background-color: #00a99d">No</a><a href="https://www.wtwhmedia.com/privacy-policy/" target="_blank" id="cn-more-info" class="cn-more-info cn-button" aria-label="Read more" style="background-color: #00a99d">Read more</a></span><span id="cn-close-notice" data-cookie-set="accept" class="cn-close-icon" title="No"></span></div> </div> <!-- / Cookie Notice plugin --></body></html>