CINXE.COM

Simple C++ MP3 Player Class | CodeGuru

<!doctype html > <!--[if IE 8]> <html class="ie8" lang="en"> <![endif]--> <!--[if IE 9]> <html class="ie9" lang="en"> <![endif]--> <!--[if gt IE 8]><!--> <html lang="en-US"> <!--<![endif]--> <head> <title>Simple C++ MP3 Player Class | CodeGuru</title> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="pingback" href="https://www.codeguru.com/wp/xmlrpc.php" /> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <link rel="icon" type="image/png" href="https://assets.codeguru.com/uploads/2021/08/CG_Favicon.png"> <!-- This site is optimized with the Yoast SEO plugin v23.8 - https://yoast.com/wordpress/plugins/seo/ --> <meta name="description" content="If you need to just play MP3s in your application (for example, play a short MP3 during the application splash screen), Mp3 class is a no frills C++" /> <link rel="canonical" href="https://www.codeguru.com/multimedia/simple-c-mp3-player-class/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Simple C++ MP3 Player Class | CodeGuru" /> <meta property="og:description" content="If you need to just play MP3s in your application (for example, play a short MP3 during the application splash screen), Mp3 class is a no frills C++" /> <meta property="og:url" content="https://www.codeguru.com/multimedia/simple-c-mp3-player-class/" /> <meta property="og:site_name" content="CodeGuru" /> <meta property="article:published_time" content="2011-08-22T15:53:33+00:00" /> <meta property="article:modified_time" content="2021-08-09T21:42:30+00:00" /> <meta property="og:image" content="https://assets.codeguru.com/uploads/2021/07/cppmp3player.png" /> <meta property="og:image:width" content="498" /> <meta property="og:image:height" content="175" /> <meta property="og:image:type" content="image/png" /> <meta name="author" content="CodeGuru Staff" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:label1" content="Written by" /> <meta name="twitter:data1" content="CodeGuru Staff" /> <meta name="twitter:label2" content="Est. reading time" /> <meta name="twitter:data2" content="6 minutes" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"Article","@id":"https://www.codeguru.com/multimedia/simple-c-mp3-player-class/#article","isPartOf":{"@id":"https://www.codeguru.com/multimedia/simple-c-mp3-player-class/"},"author":{"name":"CodeGuru Staff","@id":"https://www.codeguru.com/#/schema/person/0246c26a89f5855de717cfd9a167db63"},"headline":"Simple C++ MP3 Player Class","datePublished":"2011-08-22T15:53:33+00:00","dateModified":"2021-08-09T21:42:30+00:00","mainEntityOfPage":{"@id":"https://www.codeguru.com/multimedia/simple-c-mp3-player-class/"},"wordCount":475,"publisher":{"@id":"https://www.codeguru.com/#organization"},"image":{"@id":"https://www.codeguru.com/multimedia/simple-c-mp3-player-class/#primaryimage"},"thumbnailUrl":"https://assets.codeguru.com/uploads/2021/07/cppmp3player.png","articleSection":["Multimedia"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https://www.codeguru.com/multimedia/simple-c-mp3-player-class/","url":"https://www.codeguru.com/multimedia/simple-c-mp3-player-class/","name":"Simple C++ MP3 Player Class | CodeGuru","isPartOf":{"@id":"https://www.codeguru.com/#website"},"primaryImageOfPage":{"@id":"https://www.codeguru.com/multimedia/simple-c-mp3-player-class/#primaryimage"},"image":{"@id":"https://www.codeguru.com/multimedia/simple-c-mp3-player-class/#primaryimage"},"thumbnailUrl":"https://assets.codeguru.com/uploads/2021/07/cppmp3player.png","datePublished":"2011-08-22T15:53:33+00:00","dateModified":"2021-08-09T21:42:30+00:00","description":"If you need to just play MP3s in your application (for example, play a short MP3 during the application splash screen), Mp3 class is a no frills C++","breadcrumb":{"@id":"https://www.codeguru.com/multimedia/simple-c-mp3-player-class/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.codeguru.com/multimedia/simple-c-mp3-player-class/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.codeguru.com/multimedia/simple-c-mp3-player-class/#primaryimage","url":"https://assets.codeguru.com/uploads/2021/07/cppmp3player.png","contentUrl":"https://assets.codeguru.com/uploads/2021/07/cppmp3player.png","width":498,"height":175},{"@type":"BreadcrumbList","@id":"https://www.codeguru.com/multimedia/simple-c-mp3-player-class/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.codeguru.com/"},{"@type":"ListItem","position":2,"name":"Simple C++ MP3 Player Class"}]},{"@type":"WebSite","@id":"https://www.codeguru.com/#website","url":"https://www.codeguru.com/","name":"CodeGuru","description":"","publisher":{"@id":"https://www.codeguru.com/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.codeguru.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://www.codeguru.com/#organization","name":"Code Guru","url":"https://www.codeguru.com/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.codeguru.com/#/schema/logo/image/","url":"https://assets.codeguru.com/uploads/2021/08/CG_RetinaLogo-copy.png","contentUrl":"https://assets.codeguru.com/uploads/2021/08/CG_RetinaLogo-copy.png","width":2267,"height":339,"caption":"Code Guru"},"image":{"@id":"https://www.codeguru.com/#/schema/logo/image/"}},{"@type":"Person","@id":"https://www.codeguru.com/#/schema/person/0246c26a89f5855de717cfd9a167db63","name":"CodeGuru Staff","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.codeguru.com/#/schema/person/image/","url":"https://assets.codeguru.com/uploads/2021/12/Website_Avatar__CodeGuru_3-96x96.png","contentUrl":"https://assets.codeguru.com/uploads/2021/12/Website_Avatar__CodeGuru_3-96x96.png","caption":"CodeGuru Staff"},"url":"https://www.codeguru.com/author/codeguru-staff/"}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//www.codeguru.com' /> <link rel='dns-prefetch' href='//assets.codeguru.com' /> <link rel="alternate" type="application/rss+xml" title="CodeGuru &raquo; Feed" href="https://www.codeguru.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="CodeGuru &raquo; Comments Feed" href="https://www.codeguru.com/comments/feed/" /> <!-- codeguru.com is managing ads with Advanced Ads 1.55.0 --><script data-src="data:text/javascript;base64,CgkJCXdpbmRvdy5hZHZhbmNlZF9hZHNfcmVhZHk9ZnVuY3Rpb24oZSxhKXthPWF8fCJjb21wbGV0ZSI7dmFyIGQ9ZnVuY3Rpb24oZSl7cmV0dXJuImludGVyYWN0aXZlIj09PWE/ImxvYWRpbmciIT09ZToiY29tcGxldGUiPT09ZX07ZChkb2N1bWVudC5yZWFkeVN0YXRlKT9lKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsKGZ1bmN0aW9uKGEpe2QoYS50YXJnZXQucmVhZHlTdGF0ZSkmJmUoKX0pLHtvbmNlOiJpbnRlcmFjdGl2ZSI9PT1hfSl9LHdpbmRvdy5hZHZhbmNlZF9hZHNfcmVhZHlfcXVldWU9d2luZG93LmFkdmFuY2VkX2Fkc19yZWFkeV9xdWV1ZXx8W107CQk=" data-type="lazy" id="wp-ads-ready"></script> <link rel='preload' as='style' onload="this.onload=null;this.rel='stylesheet'" id='wp-block-library' href='https://www.codeguru.com/wp/wp-includes/css/dist/block-library/style.min.css?ver=6.6.2' type='text/css' media='all' /> <noscript><link rel='stylesheet' id='wp-block-library' href='https://www.codeguru.com/wp/wp-includes/css/dist/block-library/style.min.css?ver=6.6.2' type='text/css' media='all'></noscript><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: 11px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 32px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--regular: 15px;--wp--preset--font-size--larger: 50px;--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='preload' as='style' onload="this.onload=null;this.rel='stylesheet'" id='taxopress-frontend-css' href='https://www.codeguru.com/wp-content/plugins/simple-tags/assets/frontend/css/frontend.css?ver=3.27.0' type='text/css' media='all' /> <noscript><link rel='stylesheet' id='taxopress-frontend-css' href='https://www.codeguru.com/wp-content/plugins/simple-tags/assets/frontend/css/frontend.css?ver=3.27.0' type='text/css' media='all'></noscript><link rel='stylesheet' id='parent-style-css' href='https://www.codeguru.com/wp-content/themes/newspaper/style.css?ver=1730988897' type='text/css' media='all' /> <link rel='preload' as='style' onload="this.onload=null;this.rel='stylesheet'" id='td-plugin-multi-purpose' href='https://www.codeguru.com/wp-content/plugins/td-composer/td-multi-purpose/style.css?ver=def8edc4e13d95bdf49953a9dce2f608' type='text/css' media='all' /> <noscript><link rel='stylesheet' id='td-plugin-multi-purpose' href='https://www.codeguru.com/wp-content/plugins/td-composer/td-multi-purpose/style.css?ver=def8edc4e13d95bdf49953a9dce2f608' type='text/css' media='all'></noscript><link rel='preload' as='style' onload="this.onload=null;this.rel='stylesheet'" id='font_awesome' href='https://www.codeguru.com/wp-content/plugins/td-composer/assets/fonts/font-awesome/font-awesome.css?ver=def8edc4e13d95bdf49953a9dce2f608' type='text/css' media='all' /> <noscript><link rel='stylesheet' id='font_awesome' href='https://www.codeguru.com/wp-content/plugins/td-composer/assets/fonts/font-awesome/font-awesome.css?ver=def8edc4e13d95bdf49953a9dce2f608' type='text/css' media='all'></noscript><link rel='preload' as='style' onload="this.onload=null;this.rel='stylesheet'" id='td-theme' href='https://www.codeguru.com/wp-content/themes/Newspaper-child-codeguru/style.css?ver=1730988887' type='text/css' media='all' /> <noscript><link rel='stylesheet' id='td-theme' href='https://www.codeguru.com/wp-content/themes/Newspaper-child-codeguru/style.css?ver=1730988887' type='text/css' media='all'></noscript><style id='td-theme-inline-css' type='text/css'>@media (max-width:767px){.td-header-desktop-wrap{display:none}}@media (min-width:767px){.td-header-mobile-wrap{display:none}}</style> <link rel='stylesheet' id='td-legacy-framework-front-style-css' href='https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/assets/css/td_legacy_main.css?ver=def8edc4e13d95bdf49953a9dce2f608' type='text/css' media='all' /> <link rel='preload' as='style' onload="this.onload=null;this.rel='stylesheet'" id='td-standard-pack-framework-front-style' href='https://www.codeguru.com/wp-content/plugins/td-standard-pack/Newspaper/assets/css/td_standard_pack_main.css?ver=1b3d5bf2c64738aa07b4643e31257da9' type='text/css' media='all' /> <noscript><link rel='stylesheet' id='td-standard-pack-framework-front-style' href='https://www.codeguru.com/wp-content/plugins/td-standard-pack/Newspaper/assets/css/td_standard_pack_main.css?ver=1b3d5bf2c64738aa07b4643e31257da9' type='text/css' media='all'></noscript><link rel='preload' as='style' onload="this.onload=null;this.rel='stylesheet'" id='tdb_style_cloud_templates_front' href='https://www.codeguru.com/wp-content/plugins/td-cloud-library/assets/css/tdb_main.css?ver=b33652f2535d2f3812f59e306e26300d' type='text/css' media='all' /> <noscript><link rel='stylesheet' id='tdb_style_cloud_templates_front' href='https://www.codeguru.com/wp-content/plugins/td-cloud-library/assets/css/tdb_main.css?ver=b33652f2535d2f3812f59e306e26300d' type='text/css' media='all'></noscript><script type="text/javascript" src="https://www.codeguru.com/wp/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script data-src="https://www.codeguru.com/wp-content/plugins/simple-tags/assets/frontend/js/frontend.js?ver=3.27.0" data-type="lazy" type="text/javascript" id="taxopress-frontend-js-js"></script> <link rel="https://api.w.org/" href="https://www.codeguru.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.codeguru.com/wp-json/wp/v2/posts/14665" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.codeguru.com/wp/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.6.2" /> <link rel='shortlink' href='https://www.codeguru.com/?p=14665' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.codeguru.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.codeguru.com%2Fmultimedia%2Fsimple-c-mp3-player-class%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.codeguru.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.codeguru.com%2Fmultimedia%2Fsimple-c-mp3-player-class%2F&#038;format=xml" /> <!-- Google Tag Manager --> <script type="text/javascript"> (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-NR3XXWX8'); </script> <!-- End Google Tag Manager --> <script data-src="data:text/javascript;base64,CgkJdmFyIGFkdmFkc0NmcFF1ZXVlID0gW107CgkJdmFyIGFkdmFkc0NmcEFkID0gZnVuY3Rpb24oIGFkSUQgKXsKCQkJaWYgKCAndW5kZWZpbmVkJyA9PSB0eXBlb2YgYWR2YWRzUHJvQ2ZwICkgeyBhZHZhZHNDZnBRdWV1ZS5wdXNoKCBhZElEICkgfSBlbHNlIHsgYWR2YWRzUHJvQ2ZwLmFkZEVsZW1lbnQoIGFkSUQgKSB9CgkJfTsKCQk=" data-type="lazy" type="text/javascript"></script> <script> window.tdb_global_vars = {"wpRestUrl":"https:\/\/www.codeguru.com\/wp-json\/","permalinkStructure":"\/%category%\/%postname%\/"}; window.tdb_p_autoload_vars = {"isAjax":false,"isAdminBarShowing":false,"autoloadStatus":"off","origPostEditUrl":null}; </script> <style id="tdb-global-colors">:root{--accent-color:#fff}</style> <!-- JS generated by theme --> <script type="text/javascript" id="td-generated-header-js"> var tdBlocksArray = []; //here we store all the items for the current page // td_block class - each ajax block uses a object of this class for requests function tdBlock() { this.id = ''; this.block_type = 1; //block type id (1-234 etc) this.atts = ''; this.td_column_number = ''; this.td_current_page = 1; // this.post_count = 0; //from wp this.found_posts = 0; //from wp this.max_num_pages = 0; //from wp this.td_filter_value = ''; //current live filter value this.is_ajax_running = false; this.td_user_action = ''; // load more or infinite loader (used by the animation) this.header_color = ''; this.ajax_pagination_infinite_stop = ''; //show load more at page x } // td_js_generator - mini detector ( function () { var htmlTag = document.getElementsByTagName("html")[0]; if ( navigator.userAgent.indexOf("MSIE 10.0") > -1 ) { htmlTag.className += ' ie10'; } if ( !!navigator.userAgent.match(/Trident.*rv\:11\./) ) { htmlTag.className += ' ie11'; } if ( navigator.userAgent.indexOf("Edge") > -1 ) { htmlTag.className += ' ieEdge'; } if ( /(iPad|iPhone|iPod)/g.test(navigator.userAgent) ) { htmlTag.className += ' td-md-is-ios'; } var user_agent = navigator.userAgent.toLowerCase(); if ( user_agent.indexOf("android") > -1 ) { htmlTag.className += ' td-md-is-android'; } if ( -1 !== navigator.userAgent.indexOf('Mac OS X') ) { htmlTag.className += ' td-md-is-os-x'; } if ( /chrom(e|ium)/.test(navigator.userAgent.toLowerCase()) ) { htmlTag.className += ' td-md-is-chrome'; } if ( -1 !== navigator.userAgent.indexOf('Firefox') ) { htmlTag.className += ' td-md-is-firefox'; } if ( -1 !== navigator.userAgent.indexOf('Safari') && -1 === navigator.userAgent.indexOf('Chrome') ) { htmlTag.className += ' td-md-is-safari'; } if( -1 !== navigator.userAgent.indexOf('IEMobile') ){ htmlTag.className += ' td-md-is-iemobile'; } })(); var tdLocalCache = {}; ( function () { "use strict"; tdLocalCache = { data: {}, remove: function (resource_id) { delete tdLocalCache.data[resource_id]; }, exist: function (resource_id) { return tdLocalCache.data.hasOwnProperty(resource_id) && tdLocalCache.data[resource_id] !== null; }, get: function (resource_id) { return tdLocalCache.data[resource_id]; }, set: function (resource_id, cachedData) { tdLocalCache.remove(resource_id); tdLocalCache.data[resource_id] = cachedData; } }; })(); var td_viewport_interval_list=[{"limitBottom":767,"sidebarWidth":228},{"limitBottom":1018,"sidebarWidth":300},{"limitBottom":1140,"sidebarWidth":324}]; var tdc_is_installed="yes"; var td_ajax_url="https:\/\/www.codeguru.com\/wp\/wp-admin\/admin-ajax.php?td_theme_name=Newspaper&v=12.6.8"; var td_get_template_directory_uri="https:\/\/www.codeguru.com\/wp-content\/plugins\/td-composer\/legacy\/common"; var tds_snap_menu=""; var tds_logo_on_sticky=""; var tds_header_style=""; var td_please_wait="Please wait..."; var td_email_user_pass_incorrect="User or password incorrect!"; var td_email_user_incorrect="Email or username incorrect!"; var td_email_incorrect="Email incorrect!"; var td_user_incorrect="Username incorrect!"; var td_email_user_empty="Email or username empty!"; var td_pass_empty="Pass empty!"; var td_pass_pattern_incorrect="Invalid Pass Pattern!"; var td_retype_pass_incorrect="Retyped Pass incorrect!"; var tds_more_articles_on_post_enable=""; var tds_more_articles_on_post_time_to_wait=""; var tds_more_articles_on_post_pages_distance_from_top=0; var tds_captcha=""; var tds_theme_color_site_wide="#238fee"; var tds_smart_sidebar=""; var tdThemeName="Newspaper"; var tdThemeNameWl="Newspaper"; var td_magnific_popup_translation_tPrev="Previous (Left arrow key)"; var td_magnific_popup_translation_tNext="Next (Right arrow key)"; var td_magnific_popup_translation_tCounter="%curr% of %total%"; var td_magnific_popup_translation_ajax_tError="The content from %url% could not be loaded."; var td_magnific_popup_translation_image_tError="The image #%curr% could not be loaded."; var tdBlockNonce="4d336fd651"; var tdMobileMenu="enabled"; var tdMobileSearch="enabled"; var tdDateNamesI18n={"month_names":["January","February","March","April","May","June","July","August","September","October","November","December"],"month_names_short":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"day_names":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"day_names_short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]}; var tdb_modal_confirm="Save"; var tdb_modal_cancel="Cancel"; var tdb_modal_confirm_alt="Yes"; var tdb_modal_cancel_alt="No"; var td_deploy_mode="deploy"; var td_ad_background_click_link=""; var td_ad_background_click_target=""; </script> <!-- Header style compiled by theme --> <style>.td-page-content .widgettitle{color:#fff}.td-mobile-content .td-mobile-main-menu>li>a{font-family:brother-xl}.td-mobile-content .sub-menu a{font-family:brother-xl}#td-mobile-nav,#td-mobile-nav .wpb_button,.td-search-wrap-mob{font-family:brother-xl}.td-page-title,.td-category-title-holder .td-page-title{font-family:brother-xl}.td-page-content p,.td-page-content li,.td-page-content .td_block_text_with_title,.wpb_text_column p{font-family:brother-xl}.td-page-content h1,.wpb_text_column h1{font-family:brother-xl}.td-page-content h2,.wpb_text_column h2{font-family:brother-xl}.td-page-content h3,.wpb_text_column h3{font-family:brother-xl}.td-page-content h4,.wpb_text_column h4{font-family:brother-xl}.td-page-content h5,.wpb_text_column h5{font-family:brother-xl}.td-page-content h6,.wpb_text_column h6{font-family:brother-xl}body,p{font-family:brother-xl}.white-popup-block,.white-popup-block .wpb_button{font-family:brother-xl}:root{--td_theme_color:#238fee;--td_slider_text:rgba(35,143,238,0.7);--td_text_header_color:#151948;--td_mobile_menu_color:#080a19;--td_mobile_gradient_one_mob:#238fee;--td_mobile_gradient_two_mob:#26bde9;--td_mobile_text_active_color:#151948;--td_mobile_button_color_mob:#ffffff;--td_page_title_color:#7e90a9;--td_page_content_color:#122c56;--td_page_h_color:#7e90a9}.td-header-style-12 .td-header-menu-wrap-full,.td-header-style-12 .td-affix,.td-grid-style-1.td-hover-1 .td-big-grid-post:hover .td-post-category,.td-grid-style-5.td-hover-1 .td-big-grid-post:hover .td-post-category,.td_category_template_3 .td-current-sub-category,.td_category_template_8 .td-category-header .td-category a.td-current-sub-category,.td_category_template_4 .td-category-siblings .td-category a:hover,.td_block_big_grid_9.td-grid-style-1 .td-post-category,.td_block_big_grid_9.td-grid-style-5 .td-post-category,.td-grid-style-6.td-hover-1 .td-module-thumb:after,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.current-menu-item>a,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.current-menu-ancestor>a,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.current-category-ancestor>a,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>li>a:hover,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.sfHover>a{background-color:#238fee}.td_mega_menu_sub_cats .cur-sub-cat,.td-mega-span h3 a:hover,.td_mod_mega_menu:hover .entry-title a,.header-search-wrap .result-msg a:hover,.td-header-top-menu .td-drop-down-search .td_module_wrap:hover .entry-title a,.td-header-top-menu .td-icon-search:hover,.td-header-wrap .result-msg a:hover,.top-header-menu li a:hover,.top-header-menu .current-menu-item>a,.top-header-menu .current-menu-ancestor>a,.top-header-menu .current-category-ancestor>a,.td-social-icon-wrap>a:hover,.td-header-sp-top-widget .td-social-icon-wrap a:hover,.td_mod_related_posts:hover h3>a,.td-post-template-11 .td-related-title .td-related-left:hover,.td-post-template-11 .td-related-title .td-related-right:hover,.td-post-template-11 .td-related-title .td-cur-simple-item,.td-post-template-11 .td_block_related_posts .td-next-prev-wrap a:hover,.td-category-header .td-pulldown-category-filter-link:hover,.td-category-siblings .td-subcat-dropdown a:hover,.td-category-siblings .td-subcat-dropdown a.td-current-sub-category,.footer-text-wrap .footer-email-wrap a,.footer-social-wrap a:hover,.td_module_17 .td-read-more a:hover,.td_module_18 .td-read-more a:hover,.td_module_19 .td-post-author-name a:hover,.td-pulldown-syle-2 .td-subcat-dropdown:hover .td-subcat-more span,.td-pulldown-syle-2 .td-subcat-dropdown:hover .td-subcat-more i,.td-pulldown-syle-3 .td-subcat-dropdown:hover .td-subcat-more span,.td-pulldown-syle-3 .td-subcat-dropdown:hover .td-subcat-more i,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.current-category-ancestor>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.current-menu-ancestor>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.current-menu-item>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.sfHover>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>li>a:hover{color:#238fee}.td-mega-menu-page .wpb_content_element ul li a:hover,.td-theme-wrap .td-aj-search-results .td_module_wrap:hover .entry-title a,.td-theme-wrap .header-search-wrap .result-msg a:hover{color:#238fee!important}.td_category_template_8 .td-category-header .td-category a.td-current-sub-category,.td_category_template_4 .td-category-siblings .td-category a:hover,.tdm-menu-active-style4 .tdm-header .sf-menu>.current-menu-item>a,.tdm-menu-active-style4 .tdm-header .sf-menu>.current-menu-ancestor>a,.tdm-menu-active-style4 .tdm-header .sf-menu>.current-category-ancestor>a,.tdm-menu-active-style4 .tdm-header .sf-menu>li>a:hover,.tdm-menu-active-style4 .tdm-header .sf-menu>.sfHover>a{border-color:#238fee}.td-theme-wrap .td-mega-span h3 a{color:#080a19}.td-theme-wrap .td_mega_menu_sub_cats a{color:#080a19}.td-theme-wrap .td_mod_mega_menu:hover .entry-title a,.td-theme-wrap .sf-menu .td_mega_menu_sub_cats .cur-sub-cat{color:#238fee}.td-theme-wrap .sf-menu .td-mega-menu .td-post-category:hover,.td-theme-wrap .td-mega-menu .td-next-prev-wrap a:hover{background-color:#238fee}.td-theme-wrap .td-mega-menu .td-next-prev-wrap a:hover{border-color:#238fee}.td-theme-wrap .td-aj-search-results .td-module-title a,.td-theme-wrap #td-header-search,.td-theme-wrap .header-search-wrap .result-msg a{color:#080a19}.td-theme-wrap .header-search-wrap .td-drop-down-search .btn{background-color:#080a19}.td-theme-wrap .header-search-wrap .td-drop-down-search .btn:hover,.td-theme-wrap .td-aj-search-results .td_module_wrap:hover .entry-title a,.td-theme-wrap .header-search-wrap .result-msg a:hover{color:#238fee!important}.td-page-content .widgettitle{color:#fff}.td-mobile-content .td-mobile-main-menu>li>a{font-family:brother-xl}.td-mobile-content .sub-menu a{font-family:brother-xl}#td-mobile-nav,#td-mobile-nav .wpb_button,.td-search-wrap-mob{font-family:brother-xl}.td-page-title,.td-category-title-holder .td-page-title{font-family:brother-xl}.td-page-content p,.td-page-content li,.td-page-content .td_block_text_with_title,.wpb_text_column p{font-family:brother-xl}.td-page-content h1,.wpb_text_column h1{font-family:brother-xl}.td-page-content h2,.wpb_text_column h2{font-family:brother-xl}.td-page-content h3,.wpb_text_column h3{font-family:brother-xl}.td-page-content h4,.wpb_text_column h4{font-family:brother-xl}.td-page-content h5,.wpb_text_column h5{font-family:brother-xl}.td-page-content h6,.wpb_text_column h6{font-family:brother-xl}body,p{font-family:brother-xl}.white-popup-block,.white-popup-block .wpb_button{font-family:brother-xl}:root{--td_theme_color:#238fee;--td_slider_text:rgba(35,143,238,0.7);--td_text_header_color:#151948;--td_mobile_menu_color:#080a19;--td_mobile_gradient_one_mob:#238fee;--td_mobile_gradient_two_mob:#26bde9;--td_mobile_text_active_color:#151948;--td_mobile_button_color_mob:#ffffff;--td_page_title_color:#7e90a9;--td_page_content_color:#122c56;--td_page_h_color:#7e90a9}.td-header-style-12 .td-header-menu-wrap-full,.td-header-style-12 .td-affix,.td-grid-style-1.td-hover-1 .td-big-grid-post:hover .td-post-category,.td-grid-style-5.td-hover-1 .td-big-grid-post:hover .td-post-category,.td_category_template_3 .td-current-sub-category,.td_category_template_8 .td-category-header .td-category a.td-current-sub-category,.td_category_template_4 .td-category-siblings .td-category a:hover,.td_block_big_grid_9.td-grid-style-1 .td-post-category,.td_block_big_grid_9.td-grid-style-5 .td-post-category,.td-grid-style-6.td-hover-1 .td-module-thumb:after,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.current-menu-item>a,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.current-menu-ancestor>a,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.current-category-ancestor>a,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>li>a:hover,.tdm-menu-active-style5 .td-header-menu-wrap .sf-menu>.sfHover>a{background-color:#238fee}.td_mega_menu_sub_cats .cur-sub-cat,.td-mega-span h3 a:hover,.td_mod_mega_menu:hover .entry-title a,.header-search-wrap .result-msg a:hover,.td-header-top-menu .td-drop-down-search .td_module_wrap:hover .entry-title a,.td-header-top-menu .td-icon-search:hover,.td-header-wrap .result-msg a:hover,.top-header-menu li a:hover,.top-header-menu .current-menu-item>a,.top-header-menu .current-menu-ancestor>a,.top-header-menu .current-category-ancestor>a,.td-social-icon-wrap>a:hover,.td-header-sp-top-widget .td-social-icon-wrap a:hover,.td_mod_related_posts:hover h3>a,.td-post-template-11 .td-related-title .td-related-left:hover,.td-post-template-11 .td-related-title .td-related-right:hover,.td-post-template-11 .td-related-title .td-cur-simple-item,.td-post-template-11 .td_block_related_posts .td-next-prev-wrap a:hover,.td-category-header .td-pulldown-category-filter-link:hover,.td-category-siblings .td-subcat-dropdown a:hover,.td-category-siblings .td-subcat-dropdown a.td-current-sub-category,.footer-text-wrap .footer-email-wrap a,.footer-social-wrap a:hover,.td_module_17 .td-read-more a:hover,.td_module_18 .td-read-more a:hover,.td_module_19 .td-post-author-name a:hover,.td-pulldown-syle-2 .td-subcat-dropdown:hover .td-subcat-more span,.td-pulldown-syle-2 .td-subcat-dropdown:hover .td-subcat-more i,.td-pulldown-syle-3 .td-subcat-dropdown:hover .td-subcat-more span,.td-pulldown-syle-3 .td-subcat-dropdown:hover .td-subcat-more i,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.current-category-ancestor>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.current-menu-ancestor>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.current-menu-item>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>.sfHover>a,.tdm-menu-active-style3 .tdm-header.td-header-wrap .sf-menu>li>a:hover{color:#238fee}.td-mega-menu-page .wpb_content_element ul li a:hover,.td-theme-wrap .td-aj-search-results .td_module_wrap:hover .entry-title a,.td-theme-wrap .header-search-wrap .result-msg a:hover{color:#238fee!important}.td_category_template_8 .td-category-header .td-category a.td-current-sub-category,.td_category_template_4 .td-category-siblings .td-category a:hover,.tdm-menu-active-style4 .tdm-header .sf-menu>.current-menu-item>a,.tdm-menu-active-style4 .tdm-header .sf-menu>.current-menu-ancestor>a,.tdm-menu-active-style4 .tdm-header .sf-menu>.current-category-ancestor>a,.tdm-menu-active-style4 .tdm-header .sf-menu>li>a:hover,.tdm-menu-active-style4 .tdm-header .sf-menu>.sfHover>a{border-color:#238fee}.td-theme-wrap .td-mega-span h3 a{color:#080a19}.td-theme-wrap .td_mega_menu_sub_cats a{color:#080a19}.td-theme-wrap .td_mod_mega_menu:hover .entry-title a,.td-theme-wrap .sf-menu .td_mega_menu_sub_cats .cur-sub-cat{color:#238fee}.td-theme-wrap .sf-menu .td-mega-menu .td-post-category:hover,.td-theme-wrap .td-mega-menu .td-next-prev-wrap a:hover{background-color:#238fee}.td-theme-wrap .td-mega-menu .td-next-prev-wrap a:hover{border-color:#238fee}.td-theme-wrap .td-aj-search-results .td-module-title a,.td-theme-wrap #td-header-search,.td-theme-wrap .header-search-wrap .result-msg a{color:#080a19}.td-theme-wrap .header-search-wrap .td-drop-down-search .btn{background-color:#080a19}.td-theme-wrap .header-search-wrap .td-drop-down-search .btn:hover,.td-theme-wrap .td-aj-search-results .td_module_wrap:hover .entry-title a,.td-theme-wrap .header-search-wrap .result-msg a:hover{color:#238fee!important}</style> <link rel="preload" href="https://securepubads.g.doubleclick.net/tag/js/gpt.js" as="script"> <script nowprocket async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <!-- Start: Data Layer --> <script nowprocket> window.dataLayer = window.dataLayer || []; dataLayer.push({"event":"CMS_Data","topic":"multimedia","kw":[],"taxonomy":["product development programming languages c cplusplus visualc","product development"],"category":"multimedia","keywords":[]}); </script> <!-- End: Data Layer--> <!-- Start: GAM Head Tag --> <script nowprocket> window.googletag = window.googletag || { cmd: [] }; // VID const vid = fetch('https://link.technologyadvice.com/_me', { cache: "force-cache" }) .then(res => res.json()) .then(data => window.googletag.cmd.push(() => { window.googletag.pubads() .setTargeting('visitor_id', data.vid) .setTargeting('user_agent', data.user_agent); ([ ['is_datacenter', ['is-datacenter']], ['is_suspected_bot', ["suspected-bad-bot", "bad-bot"]], ['is_ta_user', ["is-ta-user"]], ['is_crawler', ["user-agent-blocked"]], ['is_ad_blocked', ["is-ad-blocked"]], ]) .filter(([tag, flags]) => data.tags?.includes(tag)) .reduce((acc, [_, flags]) => [...acc, ...flags], []) .forEach(flag => window.googletag.pubads().setTargeting(`site.${flag}`, 'true')); })) .catch(err => console.error(err)); // 6Sense const sense6 = fetch("https://epsilon.6sense.com/v3/company/details", { cache: "force-cache", headers: { 'Authorization': 'Token d20a1b0e892442270cbc4cb6801c0160d28af04c' } }) .then(res => res.json()) .then(data => window.googletag.cmd.push(() => { if (data.segments?.ids?.length) { window.googletag.pubads() .setTargeting('segment_ids_6si', data.segments.ids.map(String)); } })) .catch(err => console.error(err)); window.googletag.cmd.push(() => { window.googletag.pubads() .addEventListener("slotResponseReceived", async (event) => { if (!event.slot.getResponseInformation()) { window.requestAnimationFrame(() => { const id = event.slot.getSlotElementId(); if (!id) return; const slot = document.getElementById(id); if (!slot) return; // unset sizing on slots if no ads are available for assignment slot.style.setProperty('height', 'unset'); slot.style.setProperty('width', 'unset'); }) } }); const env = 'prod' const ptype = 'article'; const keywords = []; const taxonomies = ["product development programming languages c cplusplus visualc","product development"]; const categories = ["multimedia"]; const path = window.location.pathname; const url = window.location.hostname + path; const content_id = path.split('/').filter(v => !!v).pop() ?? ''; const campaign = (new URL(window.location)).searchParams.get("adTargeting_campaign") ?? ''; const cookies = Object.fromEntries(document.cookie.split('; ').map(c => c.split('=', 2))) const pvKey = 'userIP3.133.61.52'; const pvValue = Number(cookies[pvKey] ?? '0') + 1; document.cookie = `${pvKey}=${pvValue}; path=/; expires=` + (new Date(new Date().getTime() + (60 * 60 * 24 * 400)).toUTCString()); window.googletag.pubads() .setTargeting("env", env) .setTargeting("url", url) .setTargeting("hostname", window.location.hostname) .setTargeting("kw", keywords) .setTargeting("tax", taxonomies) .setTargeting("topic", categories.join(' ')) .setTargeting("path", path.split('/').filter(v => !!v)) .setTargeting("pv", `${pvValue}`) .setTargeting("ptype", ptype) .setTargeting("campaign", campaign) .setTargeting("cid", content_id) .setTargeting('lazyload', 'true'); window.googletag.pubads().enableSingleRequest(); window.googletag.pubads().enableLazyLoad({ fetchMarginPercent: 300, // when to fetch the ad? renderMarginPercent: 150, // when to render the ad mobileScaling: 2.0 // config for mobile }); }) window.googletag.cmd.push(() => { window.googletag.enableServices() }); </script><!-- Start: GAM Ad Slot Definitions | Codeguru Multimedia --> <script nowprocket> window.googletag = window.googletag || { cmd: [] }; window.ta = window.ta || { gam: { ready: false, tags: {} } }; googletag.cmd.push(function() { // Define Ad Slot Configurations // Inline Top window.ta.gam.tags.inlinetop = { id: 'inline-top', refreshable: false, refresh_delay: 5, pending_refresh: false, refreshed: false, max_refresh: 5, refresh_counter: 0, viewable: false, in_view: undefined, visibility: 0, view_percentage_threshold: 85 }; window.ta.gam.tags.inlinetop.slot = googletag.defineSlot( '/5055/B2B/DEV/codeguru/multimedia/inline-top', [ [300, 50], [320, 50], [728, 90], [970, 90], [970, 250], [1000, 90] ], 'inline-top' ).defineSizeMapping( googletag.sizeMapping() // Desktop .addSize([1240, 650], [ [728, 90], [970, 90], [970, 250], [1000, 90] ]) // Tablet .addSize([768, 321], [ [728, 90] ]) // Mobile .addSize([0, 0], [ [300, 50], [320, 50] ]) .build() ) .addService(googletag.pubads()) .setTargeting('pos', 'top') .setTargeting('refreshable', 'false') .setTargeting('adrefreshed', 'false'); // Sticky Rail window.ta.gam.tags.stickyrail = { id: 'sticky-rail', refreshable: false, refresh_delay: 5, pending_refresh: false, refreshed: false, max_refresh: 5, refresh_counter: 0, viewable: false, in_view: undefined, visibility: 0, view_percentage_threshold: 85 }; window.ta.gam.tags.stickyrail.slot = googletag.defineSlot( '/5055/B2B/DEV/codeguru/multimedia/sticky-rail', [ [300, 50], [320, 50], [300, 250], [300, 600], [160, 600] ], 'sticky-rail' ).defineSizeMapping( googletag.sizeMapping() // Desktop .addSize([1240, 650], [ [300, 250], [300, 600], [160, 600] ]) // Tablet .addSize([768, 650], [ [300, 250], [300, 600], [160, 600] ]) // Mobile .addSize([0, 0], [ [300, 50], [320, 50], [300, 250] ]) .build() ) .addService(googletag.pubads()) .setTargeting('pos', 'top') .setTargeting('refreshable', 'false') .setTargeting('adrefreshed', 'false'); // Sticky Bottom window.ta.gam.tags.stickybottom = { id: 'sticky-bottom', refreshable: false, refresh_delay: 5, pending_refresh: false, refreshed: false, max_refresh: 5, refresh_counter: 0, viewable: false, in_view: undefined, visibility: 0, view_percentage_threshold: 85 }; window.ta.gam.tags.stickybottom.slot = googletag.defineSlot( '/5055/B2B/DEV/codeguru/multimedia/sticky-bottom', [ [300, 50], [320, 50], [728, 90], [970, 90], [1000, 90] ], 'sticky-bottom' ).defineSizeMapping( googletag.sizeMapping() // Desktop .addSize([1240, 650], [ [728, 90], [970, 90], [1000, 90] ]) // Tablet .addSize([768, 321], [ [728, 90] ]) // Mobile .addSize([0, 0], [ [300, 50], [320, 50] ]) .build() ) .addService(googletag.pubads()) .setTargeting('pos', 'sticky') .setTargeting('refreshable', 'false') .setTargeting('adrefreshed', 'false'); var nativeSiteName = 'codeguru'; var nativeCategory = 'multimedia'; // Native Study Guide window.ta.gam.tags.nativestudyguide = { id: 'native-study-guide', refreshable: false, refresh_delay: 5, pending_refresh: false, refreshed: false, max_refresh: 5, refresh_counter: 0, viewable: false, in_view: undefined, visibility: 0, view_percentage_threshold: 85 }; window.ta.gam.tags.nativestudyguide.slot = googletag.defineSlot( '/5055/B2B/DEV/' + nativeSiteName + '/' + nativeCategory + '/native-study-guide', ['fluid'], 'native-study-guide').defineSizeMapping( googletag.sizeMapping() .build()) .addService(googletag.pubads()) .setTargeting('pos', 'native-study-guide') .setTargeting('refreshable', 'false') .setTargeting('adrefreshed', 'false'); // Native Study Guide window.ta.gam.tags.nativebiggrid = { id: 'native-big-grid', refreshable: false, refresh_delay: 5, pending_refresh: false, refreshed: false, max_refresh: 5, refresh_counter: 0, viewable: false, in_view: undefined, visibility: 0, view_percentage_threshold: 85 }; window.ta.gam.tags.nativebiggrid.slot = googletag.defineSlot( '/5055/B2B/DEV/' + nativeSiteName + '/' + nativeCategory + '/native-big-grid', ['fluid'], 'native-big-grid').defineSizeMapping( googletag.sizeMapping() .build()) .addService(googletag.pubads()) .setTargeting('pos', 'native-big-grid') .setTargeting('refreshable', 'false') .setTargeting('adrefreshed', 'false'); // Native RR Article window.ta.gam.tags.nativerrarticle = { id: 'native-rr-article', refreshable: false, refresh_delay: 5, pending_refresh: false, refreshed: false, max_refresh: 5, refresh_counter: 0, viewable: false, in_view: undefined, visibility: 0, view_percentage_threshold: 85 }; window.ta.gam.tags.nativerrarticle.slot = googletag.defineSlot( '/5055/B2B/DEV/' + nativeSiteName + '/' + nativeCategory + '/native-rr-article', ['fluid'], 'native-rr-article').defineSizeMapping( googletag.sizeMapping() .build()) .addService(googletag.pubads()) .setTargeting('pos', 'native-rr-article') .setTargeting('refreshable', 'false') .setTargeting('adrefreshed', 'false'); // Native Main Well window.ta.gam.tags.nativemainwell = { id: 'native-main-well', refreshable: false, refresh_delay: 5, pending_refresh: false, refreshed: false, max_refresh: 5, refresh_counter: 0, viewable: false, in_view: undefined, visibility: 0, view_percentage_threshold: 85 }; window.ta.gam.tags.nativemainwell.slot = googletag.defineSlot( '/5055/B2B/DEV/' + nativeSiteName + '/' + nativeCategory + '/native-main-well', ['fluid'], 'native-main-well').defineSizeMapping( googletag.sizeMapping() .build()) .addService(googletag.pubads()) .setTargeting('pos', 'native-main-well') .setTargeting('refreshable', 'false') .setTargeting('adrefreshed', 'false'); // Native BOAP window.ta.gam.tags.nativeboap = { id: 'native-boap', refreshable: false, refresh_delay: 5, pending_refresh: false, refreshed: false, max_refresh: 5, refresh_counter: 0, viewable: false, in_view: undefined, visibility: 0, view_percentage_threshold: 85 }; window.ta.gam.tags.nativeboap.slot = googletag.defineSlot( '/5055/B2B/DEV/' + nativeSiteName + '/' + nativeCategory + '/native-boap', ['fluid'], 'native-boap').defineSizeMapping( googletag.sizeMapping() .build()) .addService(googletag.pubads()) .setTargeting('pos', 'native-boap') .setTargeting('refreshable', 'false') .setTargeting('adrefreshed', 'false'); }); </script> <!-- End: GAM Ad Slot Definitions | Codeguru Multimedia --> <!-- Button style compiled by theme --> <style>.tdm-btn-style1{background-color:#238fee}.tdm-btn-style2:before{border-color:#238fee}.tdm-btn-style2{color:#238fee}.tdm-btn-style3{-webkit-box-shadow:0 2px 16px #238fee;-moz-box-shadow:0 2px 16px #238fee;box-shadow:0 2px 16px #238fee}.tdm-btn-style3:hover{-webkit-box-shadow:0 4px 26px #238fee;-moz-box-shadow:0 4px 26px #238fee;box-shadow:0 4px 26px #238fee}</style> <style id="tdw-css-placeholder"></style><noscript><style id="rocket-lazyload-nojs-css">.rll-youtube-player, [data-lazy-src]{display:none !important;}</style></noscript></head> <body class="post-template-default single single-post postid-14665 single-format-standard td-standard-pack simple-c-mp3-player-class global-block-template-2 tdb_template_138 tdb-template tdc-header-template tdc-footer-template td-full-layout" itemscope="itemscope" itemtype="https://schema.org/WebPage"> <div class="td-scroll-up" data-style="style1"><i class="td-icon-menu-up"></i></div> <div class="td-menu-background" style="visibility:hidden"></div> <div id="td-mobile-nav" style="visibility:hidden"> <div class="td-mobile-container"> <!-- mobile menu top section --> <div class="td-menu-socials-wrap"> <!-- socials --> <div class="td-menu-socials"> </div> <!-- close button --> <div class="td-mobile-close"> <span><i class="td-icon-close-mobile"></i></span> </div> </div> <!-- login section --> <!-- menu section --> <div class="td-mobile-content"> <div class="menu-header-menu-container"><ul id="menu-header-menu-1" class="td-mobile-main-menu"><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-first menu-item-18398"><a href="https://www.codeguru.com/news/">News</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-18391"><a href="https://www.codeguru.com/cplusplus/">C++<i class="td-icon-menu-right td-element-after"></i></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18400"><a href="https://www.codeguru.com/soap/">SOAP</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-18396"><a href="https://www.codeguru.com/multimedia/">Multimedia</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18397"><a href="https://www.codeguru.com/network/">Network Programming</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18404"><a href="https://www.codeguru.com/windows/">Windows Programming</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18390"><a href="https://www.codeguru.com/csharp/">C#</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-18387"><a href="https://www.codeguru.com/dotnet/">.NET<i class="td-icon-menu-right td-element-after"></i></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18403"><a href="https://www.codeguru.com/visual-studio/">Visual Studio</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18402"><a href="https://www.codeguru.com/visual-basic/">Visual Basic</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18394"><a href="https://www.codeguru.com/java/">Java</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18392"><a href="https://www.codeguru.com/database/">Database</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18388"><a href="https://www.codeguru.com/azure/">Azure</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18393"><a href="https://www.codeguru.com/iot/">IoT</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18395"><a href="https://www.codeguru.com/mobile/">Mobile</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18399"><a href="https://www.codeguru.com/research/">Research</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18401"><a href="https://www.codeguru.com/tools/">Tools</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18389"><a href="https://www.codeguru.com/blog/">Blog</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-18442"><a href="http://forums.codeguru.com">Forums</a></li> </ul></div> </div> </div> <!-- register/login section --> </div><div class="td-search-background" style="visibility:hidden"></div> <div class="td-search-wrap-mob" style="visibility:hidden"> <div class="td-drop-down-search"> <form method="get" class="td-search-form" action="https://www.codeguru.com/"> <!-- close button --> <div class="td-search-close"> <span><i class="td-icon-close-mobile"></i></span> </div> <div role="search" class="td-search-input"> <span>Search</span> <input id="td-header-search-mob" type="text" value="" name="s" autocomplete="off" /> </div> </form> <div id="td-aj-search-mob" class="td-ajax-search-flex"></div> </div> </div> <div id="td-outer-wrap" class="td-theme-wrap"> <div class="td-header-template-wrap" style="position: relative"> <div class="td-header-mobile-wrap "> <div id="tdi_1" class="tdc-zone"><div class="tdc_zone tdi_2 wpb_row td-pb-row tdc-element-style" > <style scoped>.tdi_2{min-height:0}.td-header-mobile-wrap{position:relative;width:100%}@media (max-width:767px){.tdi_2:before{content:'';display:block;width:100vw;height:100%;position:absolute;left:50%;transform:translateX(-50%);box-shadow:0px 6px 8px 0px rgba(0,0,0,0.08);z-index:20;pointer-events:none}@media (max-width:767px){.tdi_2:before{width:100%}}}@media (max-width:767px){.tdi_2{position:relative}}</style> <div class="tdi_1_rand_style td-element-style" ><style>@media (max-width:767px){.tdi_1_rand_style{background-color:#222222!important}}</style></div><div id="tdi_3" class="tdc-row"><div class="vc_row tdi_4 wpb_row td-pb-row tdc-element-style" > <style scoped>.tdi_4,.tdi_4 .tdc-columns{min-height:0}.tdi_4>.td-element-style:after{content:''!important;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important;z-index:0!important;display:block!important;background-color:#080a19}.tdi_4,.tdi_4 .tdc-columns{display:block}.tdi_4 .tdc-columns{width:100%}.tdi_4:before,.tdi_4:after{display:table}@media (max-width:767px){@media (min-width:768px){.tdi_4{margin-left:-0px;margin-right:-0px}.tdi_4 .tdc-row-video-background-error,.tdi_4>.vc_column,.tdi_4>.tdc-columns>.vc_column{padding-left:0px;padding-right:0px}}}</style> <div class="tdi_3_rand_style td-element-style" ></div><div class="vc_column tdi_6 wpb_column vc_column_container tdc-column td-pb-span4"> <style scoped>.tdi_6{vertical-align:baseline}.tdi_6>.wpb_wrapper,.tdi_6>.wpb_wrapper>.tdc-elements{display:block}.tdi_6>.wpb_wrapper>.tdc-elements{width:100%}.tdi_6>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_6>.wpb_wrapper{width:auto;height:auto}@media (max-width:767px){.tdi_6{vertical-align:middle}}@media (max-width:767px){.tdi_6{width:20%!important;display:inline-block!important}}</style><div class="wpb_wrapper" ><div class="td_block_wrap tdb_mobile_menu tdi_7 td-pb-border-top td_block_template_2 tdb-header-align" data-td-block-uid="tdi_7" > <style>@media (max-width:767px){.tdi_7{margin-left:-13px!important}}</style> <style>.tdb-header-align{vertical-align:middle}.tdb_mobile_menu{margin-bottom:0;clear:none}.tdb_mobile_menu a{display:inline-block!important;position:relative;text-align:center;color:var(--td_theme_color,#4db2ec)}.tdb_mobile_menu a>span{display:flex;align-items:center;justify-content:center}.tdb_mobile_menu svg{height:auto}.tdb_mobile_menu svg,.tdb_mobile_menu svg *{fill:var(--td_theme_color,#4db2ec)}#tdc-live-iframe .tdb_mobile_menu a{pointer-events:none}.td-menu-mob-open-menu{overflow:hidden}.td-menu-mob-open-menu #td-outer-wrap{position:static}.tdi_7{display:inline-block}.tdi_7 .tdb-mobile-menu-button i{font-size:22px;width:55px;height:55px;line-height:55px}.tdi_7 .tdb-mobile-menu-button svg{width:22px}.tdi_7 .tdb-mobile-menu-button .tdb-mobile-menu-icon-svg{width:55px;height:55px}.tdi_7 .tdb-mobile-menu-button{color:#ffffff}.tdi_7 .tdb-mobile-menu-button svg,.tdi_7 .tdb-mobile-menu-button svg *{fill:#ffffff}@media (max-width:767px){.tdi_7 .tdb-mobile-menu-button i{font-size:27px;width:54px;height:54px;line-height:54px}.tdi_7 .tdb-mobile-menu-button svg{width:27px}.tdi_7 .tdb-mobile-menu-button .tdb-mobile-menu-icon-svg{width:54px;height:54px}}</style><div class="tdb-block-inner td-fix-index"><span class="tdb-mobile-menu-button"><i class="tdb-mobile-menu-icon td-icon-mobile"></i></span></div></div> <!-- ./block --></div></div><div class="vc_column tdi_9 wpb_column vc_column_container tdc-column td-pb-span4"> <style scoped>.tdi_9{vertical-align:baseline}.tdi_9>.wpb_wrapper,.tdi_9>.wpb_wrapper>.tdc-elements{display:block}.tdi_9>.wpb_wrapper>.tdc-elements{width:100%}.tdi_9>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_9>.wpb_wrapper{width:auto;height:auto}@media (max-width:767px){.tdi_9{vertical-align:middle}}@media (max-width:767px){.tdi_9{width:60%!important;display:inline-block!important}}</style><div class="wpb_wrapper" ><div class="td_block_wrap tdb_header_logo tdi_10 td-pb-border-top td_block_template_2 tdb-header-align" data-td-block-uid="tdi_10" > <style>.tdb_header_logo{margin-bottom:0;clear:none}.tdb_header_logo .tdb-logo-a,.tdb_header_logo h1{display:flex;pointer-events:auto;align-items:flex-start}.tdb_header_logo h1{margin:0;line-height:0}.tdb_header_logo .tdb-logo-img-wrap img{display:block}.tdb_header_logo .tdb-logo-svg-wrap+.tdb-logo-img-wrap{display:none}.tdb_header_logo .tdb-logo-svg-wrap svg{width:50px;display:block;transition:fill .3s ease}.tdb_header_logo .tdb-logo-text-wrap{display:flex}.tdb_header_logo .tdb-logo-text-title,.tdb_header_logo .tdb-logo-text-tagline{-webkit-transition:all 0.2s ease;transition:all 0.2s ease}.tdb_header_logo .tdb-logo-text-title{background-size:cover;background-position:center center;font-size:75px;font-family:serif;line-height:1.1;color:#222;white-space:nowrap}.tdb_header_logo .tdb-logo-text-tagline{margin-top:2px;font-size:12px;font-family:serif;letter-spacing:1.8px;line-height:1;color:#767676}.tdb_header_logo .tdb-logo-icon{position:relative;font-size:46px;color:#000}.tdb_header_logo .tdb-logo-icon-svg{line-height:0}.tdb_header_logo .tdb-logo-icon-svg svg{width:46px;height:auto}.tdb_header_logo .tdb-logo-icon-svg svg,.tdb_header_logo .tdb-logo-icon-svg svg *{fill:#000}.tdi_10 .tdb-logo-a,.tdi_10 h1{flex-direction:row;align-items:center;justify-content:center}.tdi_10 .tdb-logo-svg-wrap{display:block}.tdi_10 .tdb-logo-img-wrap{display:none}.tdi_10 .tdb-logo-text-tagline{margin-top:-3px;margin-left:0;display:block;font-family:Montserrat!important;}.tdi_10 .tdb-logo-text-title{display:block;color:#ffffff}.tdi_10 .tdb-logo-text-wrap{flex-direction:column;align-items:center}.tdi_10 .tdb-logo-icon{top:0px;display:block}@media (max-width:767px){.tdb_header_logo .tdb-logo-text-title{font-size:36px}}@media (max-width:767px){.tdb_header_logo .tdb-logo-text-tagline{font-size:11px}}@media (min-width:768px) and (max-width:1018px){.tdi_10 .tdb-logo-img{max-width:186px}.tdi_10 .tdb-logo-text-tagline{margin-top:-2px;margin-left:0}}@media (max-width:767px){.tdi_10 .tdb-logo-svg-wrap+.tdb-logo-img-wrap{display:none}.tdi_10 .tdb-logo-img-wrap{display:block}.tdi_10 .tdb-logo-text-title{font-family:Roboto!important;font-size:20px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:1px!important;}}</style><div class="tdb-block-inner td-fix-index"><a class="tdb-logo-a" href="https://www.codeguru.com/"><span class="tdb-logo-img-wrap"><img class="tdb-logo-img" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201134%20181'%3E%3C/svg%3E" alt="Logo" title="" width="1134" height="181" data-lazy-src="https://assets.codeguru.com/uploads/2021/08/CG_MobileLogo_White.png" /><noscript><img class="tdb-logo-img" src="https://assets.codeguru.com/uploads/2021/08/CG_MobileLogo_White.png" alt="Logo" title="" width="1134" height="181" /></noscript></span></a></div></div> <!-- ./block --></div></div><div class="vc_column tdi_12 wpb_column vc_column_container tdc-column td-pb-span4"> <style scoped>.tdi_12{vertical-align:baseline}.tdi_12>.wpb_wrapper,.tdi_12>.wpb_wrapper>.tdc-elements{display:block}.tdi_12>.wpb_wrapper>.tdc-elements{width:100%}.tdi_12>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_12>.wpb_wrapper{width:auto;height:auto}@media (max-width:767px){.tdi_12{vertical-align:middle}}@media (max-width:767px){.tdi_12{width:20%!important;display:inline-block!important}}</style><div class="wpb_wrapper" ><div class="td_block_wrap tdb_mobile_search tdi_13 td-pb-border-top td_block_template_2 tdb-header-align" data-td-block-uid="tdi_13" > <style>@media (max-width:767px){.tdi_13{margin-right:-19px!important;margin-bottom:0px!important}}</style> <style>.tdb_mobile_search{margin-bottom:0;clear:none}.tdb_mobile_search a{display:inline-block!important;position:relative;text-align:center;color:var(--td_theme_color,#4db2ec)}.tdb_mobile_search a>span{display:flex;align-items:center;justify-content:center}.tdb_mobile_search svg{height:auto}.tdb_mobile_search svg,.tdb_mobile_search svg *{fill:var(--td_theme_color,#4db2ec)}#tdc-live-iframe .tdb_mobile_search a{pointer-events:none}.td-search-opened{overflow:hidden}.td-search-opened #td-outer-wrap{position:static}.td-search-opened .td-search-wrap-mob{position:fixed;height:calc(100% + 1px)}.td-search-opened .td-drop-down-search{height:calc(100% + 1px);overflow-y:scroll;overflow-x:hidden}.tdi_13{display:inline-block;float:right;clear:none}.tdi_13 .tdb-header-search-button-mob i{font-size:22px;width:55px;height:55px;line-height:55px}.tdi_13 .tdb-header-search-button-mob svg{width:22px}.tdi_13 .tdb-header-search-button-mob .tdb-mobile-search-icon-svg{width:55px;height:55px;display:flex;justify-content:center}.tdi_13 .tdb-header-search-button-mob{color:#ffffff}.tdi_13 .tdb-header-search-button-mob svg,.tdi_13 .tdb-header-search-button-mob svg *{fill:#ffffff}@media (max-width:767px){.tdi_13 .tdb-header-search-button-mob i{font-size:27px;width:54px;height:54px;line-height:54px}.tdi_13 .tdb-header-search-button-mob svg{width:27px}.tdi_13 .tdb-header-search-button-mob .tdb-mobile-search-icon-svg{width:54px;height:54px;display:flex;justify-content:center}}</style><div class="tdb-block-inner td-fix-index"><span class="tdb-header-search-button-mob dropdown-toggle" data-toggle="dropdown"><i class="tdb-mobile-search-icon td-icon-search"></i></span></div></div> <!-- ./block --></div></div></div></div></div></div> </div> <div class="td-header-desktop-wrap "> <div id="tdi_14" class="tdc-zone"><div class="tdc_zone tdi_15 wpb_row td-pb-row tdc-element-style" > <style scoped>.tdi_15{min-height:0}.td-header-desktop-wrap{position:relative}.tdi_15{position:relative}</style> <div class="tdi_14_rand_style td-element-style" ><style>.tdi_14_rand_style{background-color:#ffffff!important}</style></div><div id="tdi_16" class="tdc-row tdc-row-is-sticky tdc-rist-top stretch_row_1400 td-stretch-content"><div class="vc_row tdi_17 wpb_row td-pb-row tdc-element-style" > <style scoped>body .tdc-row.tdc-rist-top-active,body .tdc-row.tdc-rist-bottom-active{position:fixed;left:50%;transform:translateX(-50%);z-index:10000}body .tdc-row.tdc-rist-top-active.td-stretch-content,body .tdc-row.tdc-rist-bottom-active.td-stretch-content{width:100%!important}body .tdc-row.tdc-rist-top-active{top:0}body .tdc-row.tdc-rist-absolute{position:absolute}body .tdc-row.tdc-rist-bottom-active{bottom:0}.tdi_17,.tdi_17 .tdc-columns{min-height:0}.tdi_17>.td-element-style:after{content:''!important;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important;z-index:0!important;display:block!important;background-color:#080a19!important}#tdi_16.tdc-rist-top-active .tdi_17:before,#tdi_16.tdc-rist-bottom-active .tdi_17:before{display:block;width:100vw;height:100%;position:absolute;left:50%;transform:translateX(-50%);box-shadow:0px 0px 6px .75px #3d3d3d;z-index:20;pointer-events:none;top:0}.tdi_17,.tdi_17 .tdc-columns{display:block}.tdi_17 .tdc-columns{width:100%}.tdi_17:before,.tdi_17:after{display:table}@media (min-width:767px){body.admin-bar .tdc-row.tdc-rist-top-active{top:32px}}@media (min-width:768px){.tdi_17{margin-left:-21px;margin-right:-21px}.tdi_17 .tdc-row-video-background-error,.tdi_17>.vc_column,.tdi_17>.tdc-columns>.vc_column{padding-left:21px;padding-right:21px}}@media (min-width:768px) and (max-width:1018px){@media (min-width:768px){.tdi_17{margin-left:-10px;margin-right:-10px}.tdi_17 .tdc-row-video-background-error,.tdi_17>.vc_column,.tdi_17>.tdc-columns>.vc_column{padding-left:10px;padding-right:10px}}}.tdi_17{padding-top:15px!important;padding-bottom:15px!important;z-index:100!important;position:relative}.tdi_17 .td_block_wrap{text-align:left}</style> <div class="tdi_16_rand_style td-element-style" ><style>.tdi_16_rand_style{background-color:#151948!important}</style></div><div class="vc_column tdi_19 wpb_column vc_column_container tdc-column td-pb-span12 td-is-sticky"> <style scoped>.tdi_19{vertical-align:baseline}.tdi_19>.wpb_wrapper,.tdi_19>.wpb_wrapper>.tdc-elements{display:block}.tdi_19>.wpb_wrapper>.tdc-elements{width:100%}.tdi_19>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_19>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" data-sticky-enabled-on="W3RydWUsdHJ1ZSx0cnVlLHRydWVd" data-sticky-offset="20" data-sticky-is-width-auto="W2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXQ=="><div class="td_block_wrap tdb_header_logo tdi_20 td-pb-border-top td_block_template_2 tdb-header-align" data-td-block-uid="tdi_20" > <style>.tdi_20{margin-right:21px!important}</style> <style>.tdi_20{display:inline-block}.tdi_20 .tdb-logo-a,.tdi_20 h1{flex-direction:column;align-items:center}.tdi_20 .tdb-logo-svg-wrap{display:block}.tdi_20 .tdb-logo-svg-wrap+.tdb-logo-img-wrap{display:none}.tdi_20 .tdb-logo-img{max-width:280px}.tdi_20 .tdb-logo-text-tagline{margin-top:-3px;margin-left:0;display:block;font-family:Montserrat!important;}.tdi_20 .tdb-logo-text-title{display:block;color:#ffffff;font-family:Roboto!important;font-size:20px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:1px!important;}.tdi_20 .tdb-logo-text-wrap{flex-direction:column;align-items:center}.tdi_20 .tdb-logo-icon{top:0px;display:block}@media (min-width:768px) and (max-width:1018px){.tdi_20 .tdb-logo-img{max-width:186px}.tdi_20 .tdb-logo-text-tagline{margin-top:-2px;margin-left:0}}</style><div class="tdb-block-inner td-fix-index"><a class="tdb-logo-a" href="https://www.codeguru.com/"><span class="tdb-logo-img-wrap"><img class="tdb-logo-img" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%202267%20352'%3E%3C/svg%3E" alt="Logo" title="" width="2267" height="352" data-lazy-src="https://assets.codeguru.com/uploads/2021/08/CG_RetinaLogo-copy-white-2.png" /><noscript><img class="tdb-logo-img" src="https://assets.codeguru.com/uploads/2021/08/CG_RetinaLogo-copy-white-2.png" alt="Logo" title="" width="2267" height="352" /></noscript></span></a></div></div> <!-- ./block --><div class="td_block_wrap tdb_header_menu tdi_21 tds_menu_active3 tds_menu_sub_active1 tdb-head-menu-inline tdb-mm-align-screen td-pb-border-top td_block_template_2 tdb-header-align" data-td-block-uid="tdi_21" style=" z-index: 999;"> <style>.tdb_header_menu{margin-bottom:0;z-index:999;clear:none}.tdb_header_menu .tdb-main-sub-icon-fake,.tdb_header_menu .tdb-sub-icon-fake{display:none}.rtl .tdb_header_menu .tdb-menu{display:flex}.tdb_header_menu .tdb-menu{display:inline-block;vertical-align:middle;margin:0}.tdb_header_menu .tdb-menu .tdb-mega-menu-inactive,.tdb_header_menu .tdb-menu .tdb-menu-item-inactive{pointer-events:none}.tdb_header_menu .tdb-menu .tdb-mega-menu-inactive>ul,.tdb_header_menu .tdb-menu .tdb-menu-item-inactive>ul{visibility:hidden;opacity:0}.tdb_header_menu .tdb-menu .sub-menu{font-size:14px;position:absolute;top:-999em;background-color:#fff;z-index:99}.tdb_header_menu .tdb-menu .sub-menu>li{list-style-type:none;margin:0;font-family:var(--td_default_google_font_1,'Open Sans','Open Sans Regular',sans-serif)}.tdb_header_menu .tdb-menu>li{float:left;list-style-type:none;margin:0}.tdb_header_menu .tdb-menu>li>a{position:relative;display:inline-block;padding:0 14px;font-weight:700;font-size:14px;line-height:48px;vertical-align:middle;text-transform:uppercase;-webkit-backface-visibility:hidden;color:#000;font-family:var(--td_default_google_font_1,'Open Sans','Open Sans Regular',sans-serif)}.tdb_header_menu .tdb-menu>li>a:after{content:'';position:absolute;bottom:0;left:0;right:0;margin:0 auto;width:0;height:3px;background-color:var(--td_theme_color,#4db2ec);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:width 0.2s ease;transition:width 0.2s ease}.tdb_header_menu .tdb-menu>li>a>.tdb-menu-item-text{display:inline-block}.tdb_header_menu .tdb-menu>li>a .tdb-menu-item-text,.tdb_header_menu .tdb-menu>li>a span{vertical-align:middle;float:left}.tdb_header_menu .tdb-menu>li>a .tdb-sub-menu-icon{margin:0 0 0 7px}.tdb_header_menu .tdb-menu>li>a .tdb-sub-menu-icon-svg{float:none;line-height:0}.tdb_header_menu .tdb-menu>li>a .tdb-sub-menu-icon-svg svg{width:14px;height:auto}.tdb_header_menu .tdb-menu>li>a .tdb-sub-menu-icon-svg svg,.tdb_header_menu .tdb-menu>li>a .tdb-sub-menu-icon-svg svg *{fill:#000}.tdb_header_menu .tdb-menu>li.current-menu-item>a:after,.tdb_header_menu .tdb-menu>li.current-menu-ancestor>a:after,.tdb_header_menu .tdb-menu>li.current-category-ancestor>a:after,.tdb_header_menu .tdb-menu>li.current-page-ancestor>a:after,.tdb_header_menu .tdb-menu>li:hover>a:after,.tdb_header_menu .tdb-menu>li.tdb-hover>a:after{width:100%}.tdb_header_menu .tdb-menu>li:hover>ul,.tdb_header_menu .tdb-menu>li.tdb-hover>ul{top:auto;display:block!important}.tdb_header_menu .tdb-menu>li.td-normal-menu>ul.sub-menu{top:auto;left:0;z-index:99}.tdb_header_menu .tdb-menu>li .tdb-menu-sep{position:relative;vertical-align:middle;font-size:14px}.tdb_header_menu .tdb-menu>li .tdb-menu-sep-svg{line-height:0}.tdb_header_menu .tdb-menu>li .tdb-menu-sep-svg svg{width:14px;height:auto}.tdb_header_menu .tdb-menu>li:last-child .tdb-menu-sep{display:none}.tdb_header_menu .tdb-menu-item-text{word-wrap:break-word}.tdb_header_menu .tdb-menu-item-text,.tdb_header_menu .tdb-sub-menu-icon,.tdb_header_menu .tdb-menu-more-subicon{vertical-align:middle}.tdb_header_menu .tdb-sub-menu-icon,.tdb_header_menu .tdb-menu-more-subicon{position:relative;top:0;padding-left:0}.tdb_header_menu .tdb-normal-menu{position:relative}.tdb_header_menu .tdb-normal-menu ul{left:0;padding:15px 0;text-align:left}.tdb_header_menu .tdb-normal-menu ul ul{margin-top:-15px}.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item{position:relative;list-style-type:none}.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item>a{position:relative;display:block;padding:7px 30px;font-size:12px;line-height:20px;color:#111}.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item>a .tdb-sub-menu-icon,.tdb_header_menu .td-pulldown-filter-list .tdb-menu-item>a .tdb-sub-menu-icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:0;padding-right:inherit;font-size:7px;line-height:20px}.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item>a .tdb-sub-menu-icon-svg,.tdb_header_menu .td-pulldown-filter-list .tdb-menu-item>a .tdb-sub-menu-icon-svg{line-height:0}.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item>a .tdb-sub-menu-icon-svg svg,.tdb_header_menu .td-pulldown-filter-list .tdb-menu-item>a .tdb-sub-menu-icon-svg svg{width:7px;height:auto}.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item>a .tdb-sub-menu-icon-svg svg,.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item>a .tdb-sub-menu-icon-svg svg *,.tdb_header_menu .td-pulldown-filter-list .tdb-menu-item>a .tdb-sub-menu-icon svg,.tdb_header_menu .td-pulldown-filter-list .tdb-menu-item>a .tdb-sub-menu-icon svg *{fill:#000}.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item:hover>ul,.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item.tdb-hover>ul{top:0;display:block!important}.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item.current-menu-item>a,.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item.current-menu-ancestor>a,.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item.current-category-ancestor>a,.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item.current-page-ancestor>a,.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item.tdb-hover>a,.tdb_header_menu .tdb-normal-menu ul .tdb-menu-item:hover>a{color:var(--td_theme_color,#4db2ec)}.tdb_header_menu .tdb-normal-menu>ul{left:-15px}.tdb_header_menu.tdb-menu-sub-inline .tdb-normal-menu ul,.tdb_header_menu.tdb-menu-sub-inline .td-pulldown-filter-list{width:100%!important}.tdb_header_menu.tdb-menu-sub-inline .tdb-normal-menu ul li,.tdb_header_menu.tdb-menu-sub-inline .td-pulldown-filter-list li{display:inline-block;width:auto!important}.tdb_header_menu.tdb-menu-sub-inline .tdb-normal-menu,.tdb_header_menu.tdb-menu-sub-inline .tdb-normal-menu .tdb-menu-item{position:static}.tdb_header_menu.tdb-menu-sub-inline .tdb-normal-menu ul ul{margin-top:0!important}.tdb_header_menu.tdb-menu-sub-inline .tdb-normal-menu>ul{left:0!important}.tdb_header_menu.tdb-menu-sub-inline .tdb-normal-menu .tdb-menu-item>a .tdb-sub-menu-icon{float:none;line-height:1}.tdb_header_menu.tdb-menu-sub-inline .tdb-normal-menu .tdb-menu-item:hover>ul,.tdb_header_menu.tdb-menu-sub-inline .tdb-normal-menu .tdb-menu-item.tdb-hover>ul{top:100%}.tdb_header_menu.tdb-menu-sub-inline .tdb-menu-items-dropdown{position:static}.tdb_header_menu.tdb-menu-sub-inline .td-pulldown-filter-list{left:0!important}.tdb-menu .tdb-mega-menu .sub-menu{-webkit-transition:opacity 0.3s ease;transition:opacity 0.3s ease;width:1114px!important}.tdb-menu .tdb-mega-menu .sub-menu,.tdb-menu .tdb-mega-menu .sub-menu>li{position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tdb-menu .tdb-mega-menu .sub-menu>li{top:0;width:100%;max-width:1114px!important;height:auto;background-color:#fff;border:1px solid #eaeaea;overflow:hidden}.tdc-dragged .tdb-block-menu ul{visibility:hidden!important;opacity:0!important;-webkit-transition:all 0.3s ease;transition:all 0.3s ease}.tdb-mm-align-screen .tdb-menu .tdb-mega-menu .sub-menu{-webkit-transform:translateX(0);transform:translateX(0)}.tdb-mm-align-parent .tdb-menu .tdb-mega-menu{position:relative}.tdb-menu .tdb-mega-menu .tdc-row:not([class*='stretch_row_']),.tdb-menu .tdb-mega-menu .tdc-row-composer:not([class*='stretch_row_']){width:auto!important;max-width:1240px}.tdb-menu .tdb-mega-menu-page>.sub-menu>li .tdb-page-tpl-edit-btns{position:absolute;top:0;left:0;display:none;flex-wrap:wrap;gap:0 4px}.tdb-menu .tdb-mega-menu-page>.sub-menu>li:hover .tdb-page-tpl-edit-btns{display:flex}.tdb-menu .tdb-mega-menu-page>.sub-menu>li .tdb-page-tpl-edit-btn{background-color:#000;padding:1px 8px 2px;font-size:11px;color:#fff;z-index:100}.tdi_21{max-width:100%;display:inline-block;float:right;clear:none}.tdi_21 .tdb-menu>li .tdb-menu-sep,.tdi_21 .tdb-menu-items-dropdown .tdb-menu-sep{top:-1px}.tdi_21 .tdb-menu>li>a .tdb-sub-menu-icon,.tdi_21 .td-subcat-more .tdb-menu-more-subicon{top:-1px}.tdi_21 .td-subcat-more .tdb-menu-more-icon{top:0px}.tdi_21 .tdb-menu>li>a,.tdi_21 .td-subcat-more{color:#ffffff}.tdi_21 .tdb-menu>li>a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu>li>a .tdb-sub-menu-icon-svg svg *,.tdi_21 .td-subcat-more .tdb-menu-more-subicon-svg svg,.tdi_21 .td-subcat-more .tdb-menu-more-subicon-svg svg *,.tdi_21 .td-subcat-more .tdb-menu-more-icon-svg,.tdi_21 .td-subcat-more .tdb-menu-more-icon-svg *{fill:#ffffff}.tdi_21 .tdb-menu>li>a,.tdi_21 .td-subcat-more,.tdi_21 .td-subcat-more>.tdb-menu-item-text{font-family:brother-xl!important;font-size:13px!important;text-transform:capitalize!important}.tdi_21 .tdb-normal-menu ul .tdb-menu-item>a .tdb-sub-menu-icon,.tdi_21 .td-pulldown-filter-list .tdb-menu-item>a .tdb-sub-menu-icon{right:0;margin-top:1px}.tdi_21 .tdb-menu .tdb-normal-menu ul,.tdi_21 .td-pulldown-filter-list,.tdi_21 .td-pulldown-filter-list .sub-menu{background-color:#ffffff;box-shadow:1px 1px 4px 0px rgba(0,0,0,0.15)}.tdi_21 .tdb-menu .tdb-normal-menu ul .tdb-menu-item>a,.tdi_21 .tdb-menu-items-dropdown .td-pulldown-filter-list li a,.tdi_21 .tdb-menu-items-dropdown .td-pulldown-filter-list li a{color:#151948}.tdi_21 .tdb-menu .tdb-normal-menu ul .tdb-menu-item>a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu .tdb-normal-menu ul .tdb-menu-item>a .tdb-sub-menu-icon-svg svg *,.tdi_21 .tdb-menu-items-dropdown .td-pulldown-filter-list li a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu-items-dropdown .td-pulldown-filter-list li a .tdb-sub-menu-icon-svg svg *{fill:#151948}.tdi_21 .tdb-menu .tdb-normal-menu ul .tdb-menu-item>a,.tdi_21 .td-pulldown-filter-list li a{font-family:brother-xl!important;font-size:15px!important;font-weight:700!important;text-transform:capitalize!important;letter-spacing:0px!important}.tdi_21 .tdb-menu .tdb-mega-menu .sub-menu>li{box-shadow:0px 2px 6px 0px rgba(0,0,0,0.1)}@media (max-width:1140px){.tdb-menu .tdb-mega-menu .sub-menu>li{width:100%!important}}@media (min-width:768px) and (max-width:1018px){.tdi_21 .tdb-menu>li>a,.tdi_21 .td-subcat-more{padding:0 9px}.tdi_21 .tdb-menu>li>a,.tdi_21 .td-subcat-more,.tdi_21 .td-subcat-more>.tdb-menu-item-text{font-size:11px!important;line-height:48px!important}}</style> <style>.tds_menu_active3 .tdb-menu>li>a:after{opacity:0;-webkit-transition:opacity 0.2s ease;transition:opacity 0.2s ease;height:100%;z-index:-1}.tds_menu_active3 .tdb-menu>li.current-menu-item>a:after,.tds_menu_active3 .tdb-menu>li.current-menu-ancestor>a:after,.tds_menu_active3 .tdb-menu>li.current-category-ancestor>a:after,.tds_menu_active3 .tdb-menu>li.current-page-ancestor>a:after,.tds_menu_active3 .tdb-menu>li:hover>a:after,.tds_menu_active3 .tdb-menu>li.tdb-hover>a:after{opacity:1}.tds_menu_active3 .tdb-menu-items-dropdown .td-subcat-more:after{opacity:0;-webkit-transition:opacity 0.2s ease;transition:opacity 0.2s ease;height:100%;z-index:-1}.tds_menu_active3 .tdb-menu-items-dropdown:hover .td-subcat-more:after{opacity:1}.tdi_21 .tdb-menu>li.current-menu-item>a,.tdi_21 .tdb-menu>li.current-menu-ancestor>a,.tdi_21 .tdb-menu>li.current-category-ancestor>a,.tdi_21 .tdb-menu>li.current-page-ancestor>a,.tdi_21 .tdb-menu>li:hover>a,.tdi_21 .tdb-menu>li.tdb-hover>a,.tdi_21 .tdb-menu-items-dropdown:hover .td-subcat-more{color:#ffffff}.tdi_21 .tdb-menu>li.current-menu-item>a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu>li.current-menu-item>a .tdb-sub-menu-icon-svg svg *,.tdi_21 .tdb-menu>li.current-menu-ancestor>a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu>li.current-menu-ancestor>a .tdb-sub-menu-icon-svg svg *,.tdi_21 .tdb-menu>li.current-category-ancestor>a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu>li.current-category-ancestor>a .tdb-sub-menu-icon-svg svg *,.tdi_21 .tdb-menu>li.current-page-ancestor>a .tdb-sub-menu-icon-svg svg *,.tdi_21 .tdb-menu>li:hover>a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu>li:hover>a .tdb-sub-menu-icon-svg svg *,.tdi_21 .tdb-menu>li.tdb-hover>a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu>li.tdb-hover>a .tdb-sub-menu-icon-svg svg *,.tdi_21 .tdb-menu-items-dropdown:hover .td-subcat-more .tdb-menu-more-icon-svg svg,.tdi_21 .tdb-menu-items-dropdown:hover .td-subcat-more .tdb-menu-more-icon-svg svg *{fill:#ffffff}.tdi_21 .tdb-menu>li>a:after,.tdi_21 .tdb-menu-items-dropdown .td-subcat-more:after{background-color:#238fee}</style> <style>.tdi_21 .tdb-menu ul .tdb-normal-menu.current-menu-item>a,.tdi_21 .tdb-menu ul .tdb-normal-menu.current-menu-ancestor>a,.tdi_21 .tdb-menu ul .tdb-normal-menu.current-category-ancestor>a,.tdi_21 .tdb-menu ul .tdb-normal-menu.tdb-hover>a,.tdi_21 .tdb-menu ul .tdb-normal-menu:hover>a,.tdi_21 .tdb-menu-items-dropdown .td-pulldown-filter-list li:hover>a{color:#ffffff;background-color:#b361e0}.tdi_21 .tdb-menu ul .tdb-normal-menu.current-menu-item>a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu ul .tdb-normal-menu.current-menu-item>a .tdb-sub-menu-icon-svg svg *,.tdi_21 .tdb-menu ul .tdb-normal-menu.current-menu-ancestor>a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu ul .tdb-normal-menu.current-menu-ancestor>a .tdb-sub-menu-icon-svg svg *,.tdi_21 .tdb-menu ul .tdb-normal-menu.current-category-ancestor>a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu ul .tdb-normal-menu.current-category-ancestor>a .tdb-sub-menu-icon-svg svg *,.tdi_21 .tdb-menu ul .tdb-normal-menu.tdb-hover>a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu ul .tdb-normal-menu.tdb-hover>a .tdb-sub-menu-icon-svg svg *,.tdi_21 .tdb-menu ul .tdb-normal-menu:hover>a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu ul .tdb-normal-menu:hover>a .tdb-sub-menu-icon-svg svg *,.tdi_21 .tdb-menu-items-dropdown .td-pulldown-filter-list li:hover>a .tdb-sub-menu-icon-svg svg,.tdi_21 .tdb-menu-items-dropdown .td-pulldown-filter-list li:hover>a .tdb-sub-menu-icon-svg svg *{fill:#ffffff}</style><div id=tdi_21 class="td_block_inner td-fix-index"><div class="tdb-main-sub-icon-fake"><i class="tdb-sub-menu-icon td-icon-down tdb-main-sub-menu-icon"></i></div><div class="tdb-sub-icon-fake"><i class="tdb-sub-menu-icon td-icon-right-arrow"></i></div><ul id="menu-header-menu-2" class="tdb-block-menu tdb-menu tdb-menu-items-visible"><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-first tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18398"><a href="https://www.codeguru.com/news/"><div class="tdb-menu-item-text">News</div></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18391 tdb-menu-item-inactive"><a href="https://www.codeguru.com/cplusplus/"><div class="tdb-menu-item-text">C++</div><i class="tdb-sub-menu-icon td-icon-down tdb-main-sub-menu-icon"></i></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item tdb-normal-menu menu-item-18400"><a href="https://www.codeguru.com/soap/"><div class="tdb-menu-item-text">SOAP</div></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent tdb-menu-item tdb-normal-menu menu-item-18396"><a href="https://www.codeguru.com/multimedia/"><div class="tdb-menu-item-text">Multimedia</div></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item tdb-normal-menu menu-item-18397"><a href="https://www.codeguru.com/network/"><div class="tdb-menu-item-text">Network Programming</div></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item tdb-normal-menu menu-item-18404"><a href="https://www.codeguru.com/windows/"><div class="tdb-menu-item-text">Windows Programming</div></a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18390"><a href="https://www.codeguru.com/csharp/"><div class="tdb-menu-item-text">C#</div></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18387 tdb-menu-item-inactive"><a href="https://www.codeguru.com/dotnet/"><div class="tdb-menu-item-text">.NET</div><i class="tdb-sub-menu-icon td-icon-down tdb-main-sub-menu-icon"></i></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item tdb-normal-menu menu-item-18403"><a href="https://www.codeguru.com/visual-studio/"><div class="tdb-menu-item-text">Visual Studio</div></a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18402"><a href="https://www.codeguru.com/visual-basic/"><div class="tdb-menu-item-text">Visual Basic</div></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18394"><a href="https://www.codeguru.com/java/"><div class="tdb-menu-item-text">Java</div></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18392"><a href="https://www.codeguru.com/database/"><div class="tdb-menu-item-text">Database</div></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18388"><a href="https://www.codeguru.com/azure/"><div class="tdb-menu-item-text">Azure</div></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18393"><a href="https://www.codeguru.com/iot/"><div class="tdb-menu-item-text">IoT</div></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18395"><a href="https://www.codeguru.com/mobile/"><div class="tdb-menu-item-text">Mobile</div></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18399"><a href="https://www.codeguru.com/research/"><div class="tdb-menu-item-text">Research</div></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18401"><a href="https://www.codeguru.com/tools/"><div class="tdb-menu-item-text">Tools</div></a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18389"><a href="https://www.codeguru.com/blog/"><div class="tdb-menu-item-text">Blog</div></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-18442"><a href="http://forums.codeguru.com"><div class="tdb-menu-item-text">Forums</div></a></li> </ul></div></div></div></div></div></div><div id="tdi_24" class="tdc-row stretch_row_1400 td-stretch-content"><div class="vc_row tdi_25 wpb_row td-pb-row" > <style scoped>.tdi_25,.tdi_25 .tdc-columns{min-height:0}.tdi_25,.tdi_25 .tdc-columns{display:block}.tdi_25 .tdc-columns{width:100%}.tdi_25:before,.tdi_25:after{display:table}.tdi_25{margin-top:15px!important}.tdi_25 .td_block_wrap{text-align:left}</style><div class="vc_column tdi_27 wpb_column vc_column_container tdc-column td-pb-span4"> <style scoped>.tdi_27{vertical-align:baseline}.tdi_27>.wpb_wrapper,.tdi_27>.wpb_wrapper>.tdc-elements{display:block}.tdi_27>.wpb_wrapper>.tdc-elements{width:100%}.tdi_27>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_27>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ><div class="tdm_block td_block_wrap tdm_block_socials tdi_28 tdm-content-horiz-left td-pb-border-top td_block_template_2" data-td-block-uid="tdi_28" > <style>.tdm_block.tdm_block_socials{margin-bottom:0}.tdm-social-wrapper{*zoom:1}.tdm-social-wrapper:before,.tdm-social-wrapper:after{display:table;content:'';line-height:0}.tdm-social-wrapper:after{clear:both}.tdm-social-item-wrap{display:inline-block}.tdm-social-item{position:relative;display:inline-block;vertical-align:middle;-webkit-transition:all 0.2s;transition:all 0.2s;text-align:center;-webkit-transform:translateZ(0);transform:translateZ(0)}.tdm-social-item i{font-size:14px;color:var(--td_theme_color,#4db2ec);-webkit-transition:all 0.2s;transition:all 0.2s}.tdm-social-text{display:none;margin-top:-1px;vertical-align:middle;font-size:13px;color:var(--td_theme_color,#4db2ec);-webkit-transition:all 0.2s;transition:all 0.2s}.tdm-social-item-wrap:hover i,.tdm-social-item-wrap:hover .tdm-social-text{color:#000}.tdm-social-item-wrap:last-child .tdm-social-text{margin-right:0!important}</style> <style>.tds-social3 .tdm-social-item{background-color:var(--td_theme_color,#4db2ec)}.tds-social3 .tdm-social-item:hover{background-color:#000}.tds-social3 .tdm-social-item i{color:#fff}.tdi_29 .tdm-social-item i{font-size:16px;vertical-align:middle}.tdi_29 .tdm-social-item i.td-icon-linkedin,.tdi_29 .tdm-social-item i.td-icon-pinterest,.tdi_29 .tdm-social-item i.td-icon-blogger,.tdi_29 .tdm-social-item i.td-icon-vimeo{font-size:12.8px}.tdi_29 .tdm-social-item{width:32px;height:32px;line-height:32px;margin:5px 10px 5px 0}.tdi_29 .tdm-social-item-wrap:last-child .tdm-social-item{margin-right:0!important}body .tdi_29 .tdm-social-item i{color:#151948}body .tdi_29 .tdm-social-item-wrap:hover i{color:#ffffff}body .tdi_29 .tdm-social-item{background-color:#ffffff}body .tdi_29 .tdm-social-item-wrap:hover .tdm-social-item{background-color:#238fee}.tdi_29 .tdm-social-text{margin-left:2px;margin-right:18px;display:none}</style><div class="tdm-social-wrapper tds-social3 tdi_29"><div class="tdm-social-item-wrap"><a href="https://www.facebook.com/CodeGuru-108048391032729" target="_blank" title="Facebook" class="tdm-social-item"><i class="td-icon-font td-icon-facebook"></i><span style="display: none">Facebook</span></a></div><div class="tdm-social-item-wrap"><a href="https://www.linkedin.com/company/codegurutoday/?viewAsMember=true" target="_blank" title="Linkedin" class="tdm-social-item"><i class="td-icon-font td-icon-linkedin"></i><span style="display: none">Linkedin</span></a></div><div class="tdm-social-item-wrap"><a href="https://twitter.com/CodeGuruToday" target="_blank" title="Twitter" class="tdm-social-item"><i class="td-icon-font td-icon-twitter"></i><span style="display: none">Twitter</span></a></div></div></div></div></div><div class="vc_column tdi_31 wpb_column vc_column_container tdc-column td-pb-span4"> <style scoped>.tdi_31{vertical-align:baseline}.tdi_31>.wpb_wrapper,.tdi_31>.wpb_wrapper>.tdc-elements{display:block}.tdi_31>.wpb_wrapper>.tdc-elements{width:100%}.tdi_31>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_31>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ></div></div><div class="vc_column tdi_33 wpb_column vc_column_container tdc-column td-pb-span4"> <style scoped>.tdi_33{vertical-align:baseline}.tdi_33>.wpb_wrapper,.tdi_33>.wpb_wrapper>.tdc-elements{display:block}.tdi_33>.wpb_wrapper>.tdc-elements{width:100%}.tdi_33>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_33>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ><div class="td_block_wrap tdb_search_form tdi_34 td-pb-border-top td_block_template_2" data-td-block-uid="tdi_34" > <style>.tdi_34{margin-top:10px!important;margin-bottom:10px!important;padding-bottom:0px!important;width:60%!important}</style> <style>.tdb_search_form{margin-bottom:40px}.tdb_search_form .tdb-search-form-inner{position:relative;display:flex;background-color:#fff}.tdb_search_form .tdb-search-form-border{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #e1e1e1;pointer-events:none;transition:all .3s ease}.tdb_search_form .tdb-search-form-input:focus+.tdb-search-form-border{border-color:#b0b0b0}.tdb_search_form .tdb-search-form-input:not([value=""])+.tdb-search-form-border+.tdb-search-form-placeholder{display:none}.tdb_search_form .tdb-search-form-input,.tdb_search_form .tdb-search-form-btn{height:auto;min-height:32px}.tdb_search_form .tdb-search-form-input{position:relative;flex:1;background-color:transparent;line-height:19px;border:0}.tdb_search_form .tdb-search-form-placeholder{position:absolute;top:50%;transform:translateY(-50%);padding:3px 9px;font-size:12px;line-height:21px;color:#999;-webkit-transition:all 0.3s ease;transition:all 0.3s ease;pointer-events:none}.tdb_search_form .tdb-search-form-input:focus+.tdb-search-form-border+.tdb-search-form-placeholder,.tdb-search-form-input:not(:placeholder-shown)~.tdb-search-form-placeholder{opacity:0}.tdb_search_form .tdb-search-form-btn{text-shadow:none;padding:7px 15px 8px 15px;line-height:16px;margin:0;background-color:#222222;font-family:var(--td_default_google_font_2,'Roboto',sans-serif);font-size:13px;font-weight:500;color:#fff;z-index:1;-webkit-transition:all 0.3s ease;transition:all 0.3s ease}.tdb_search_form .tdb-search-form-btn:hover{background-color:var(--td_theme_color,#4db2ec)}.tdb_search_form .tdb-search-form-btn i,.tdb_search_form .tdb-search-form-btn span{display:inline-block;vertical-align:middle}.tdb_search_form .tdb-search-form-btn i{position:relative;font-size:12px}.tdb_search_form .tdb-search-form-btn .tdb-search-form-btn-icon{position:relative}.tdb_search_form .tdb-search-form-btn .tdb-search-form-btn-icon-svg{line-height:0}.tdb_search_form .tdb-search-form-btn svg{width:12px;height:auto}.tdb_search_form .tdb-search-form-btn svg,.tdb_search_form .tdb-search-form-btn svg *{fill:#fff;-webkit-transition:all 0.3s ease;transition:all 0.3s ease}.tdb_search_form .tdb-search-msg{font-size:12px}.tdi_34{max-width:80%;float:right;clear:none}.td-theme-wrap .tdi_34{text-align:left}.tdi_34 .tdb-search-form-input:focus+.tdb-search-form-border+.tdb-search-form-placeholder,.tdb-search-form-input:not(:placeholder-shown)~.tdb-search-form-placeholder{top:-0%;transform:translateY(0)}.tdi_34 .tdb-search-form-border{border-width:2px 0 2px 2px;border-radius:0px;border-color:#f2f2f2}.tdi_34 .tdb-search-form-inner{border-radius:0px}.tdi_34 .tdb-search-form-input{border-top-left-radius:@input_radius;border-bottom-left-radius:@input_radius;font-family:Rubik!important}.tdi_34 .tdb-search-form-btn-icon{top:0px}.tdi_34 .tdb-search-form-btn{border-radius:2px;background:-webkit-linear-gradient(120deg,#26bde9,#238fee);background:linear-gradient(120deg,#26bde9,#238fee);font-family:brother-xl!important;font-weight:700!important}.tdi_34 .tdb-search-msg{margin-top:11px}.tdi_34 .tdb-search-form-btn:hover{color:#ffffff;background-color:#b361e0}.tdi_34 .tdb-search-form-btn:hover svg,.tdi_34 .tdb-search-form-btn:hover svg *{fill:#ffffff}</style><div class="tdb-block-inner td-fix-index"><form method="get" class="tdb-search-form" action="https://www.codeguru.com/"><div role="search" class="tdb-search-form-inner"><input id="tdb-search-form-input-tdi_34" class="tdb-search-form-input" placeholder=" " type="text" value="" name="s" /><div class="tdb-search-form-border"></div><button class="wpb_button wpb_btn-inverse tdb-search-form-btn" aria-label="Search" type="submit"><span>Search</span></button></div></form></div></div></div></div></div></div><div id="tdi_35" class="tdc-row stretch_row_1400 td-stretch-content"><div class="vc_row tdi_36 wpb_row td-pb-row tdc-row-content-vert-center" > <style scoped>.tdi_36,.tdi_36 .tdc-columns{min-height:0}.tdi_36,.tdi_36 .tdc-columns{display:block}.tdi_36 .tdc-columns{width:100%}.tdi_36:before,.tdi_36:after{display:table}@media (min-width:768px){.tdi_36{margin-left:-14px;margin-right:-14px}.tdi_36 .tdc-row-video-background-error,.tdi_36>.vc_column,.tdi_36>.tdc-columns>.vc_column{padding-left:14px;padding-right:14px}}@media (min-width:767px){.tdi_36.tdc-row-content-vert-center,.tdi_36.tdc-row-content-vert-center .tdc-columns{display:flex;align-items:center;flex:1}.tdi_36.tdc-row-content-vert-bottom,.tdi_36.tdc-row-content-vert-bottom .tdc-columns{display:flex;align-items:flex-end;flex:1}.tdi_36.tdc-row-content-vert-center .td_block_wrap{vertical-align:middle}.tdi_36.tdc-row-content-vert-bottom .td_block_wrap{vertical-align:bottom}}.tdi_36{padding-top:24px!important}.tdi_36 .td_block_wrap{text-align:left}@media(min-width:1141px){.tdi_36{display:none!important}}@media (min-width:768px) and (max-width:1018px){.tdi_36{padding-top:14px!important}}</style><div class="vc_column tdi_38 wpb_column vc_column_container tdc-column td-pb-span12"> <style scoped>.tdi_38{vertical-align:baseline}.tdi_38>.wpb_wrapper,.tdi_38>.wpb_wrapper>.tdc-elements{display:block}.tdi_38>.wpb_wrapper>.tdc-elements{width:100%}.tdi_38>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_38>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ><div class="vc_row_inner tdi_40 vc_row vc_inner wpb_row td-pb-row" > <style scoped>.tdi_40{position:relative!important;top:0;transform:none;-webkit-transform:none}.tdi_40,.tdi_40 .tdc-inner-columns{display:block}.tdi_40 .tdc-inner-columns{width:100%}</style><div class="vc_column_inner tdi_42 wpb_column vc_column_container tdc-inner-column td-pb-span12"> <style scoped>.tdi_42{vertical-align:baseline}.tdi_42 .vc_column-inner>.wpb_wrapper,.tdi_42 .vc_column-inner>.wpb_wrapper .tdc-elements{display:block}.tdi_42 .vc_column-inner>.wpb_wrapper .tdc-elements{width:100%}@media (min-width:768px) and (max-width:1018px){.tdi_42{display:none!important}}@media (min-width:1019px) and (max-width:1140px){.tdi_42{display:none!important}}</style><div class="vc_column-inner"><div class="wpb_wrapper" ></div></div></div></div></div></div></div></div></div></div> </div> </div> <div id="tdb-autoload-article" data-autoload="off" data-autoload-org-post-id="14665" data-autoload-tpl-id="138" data-autoload-type="" data-autoload-count="5" data-autoload-scroll-percent="50"> <style> .tdb-autoload-wrap { position: relative; } .tdb-autoload-wrap .tdb-loader-autoload { top: auto !important; bottom: 50px !important; } .tdb-autoload-debug { display: none; width: 1068px; margin-right: auto; margin-left: auto; } @media (min-width: 1019px) and (max-width: 1018px) { .tdb-autoload-debug { width: 740px; } } @media (max-width: 767px) { .tdb-autoload-debug { display: none; width: 100%; padding-left: 20px; padding-right: 20px; } } </style> <div class="td-main-content-wrap td-container-wrap"> <div class="tdc-content-wrap"> <article id="template-id-138" class="post-138 tdb_templates type-tdb_templates status-publish post" itemscope itemtype="https://schema.org/Article" > <style type="text/css"> .commission-disclaimer-message { background-color: #f7f7f7; color: #aaaaaa !important; font-weight: 300; font-size: .8rem !important; padding: 10px 20px; margin-bottom:10px; border-radius: 20px; } .search .commission-disclaimer-message, .archive .commission-disclaimer-message, .category .commission-disclaimer-message { display: none; } </style><div id="tdi_43" class="tdc-zone"><div class="tdc_zone tdi_44 wpb_row td-pb-row" > <style scoped>.tdi_44{min-height:0}</style><div id="tdi_45" class="tdc-row"><div class="vc_row tdi_46 wpb_row td-pb-row" > <style scoped>.tdi_46,.tdi_46 .tdc-columns{min-height:0}.tdi_46,.tdi_46 .tdc-columns{display:block}.tdi_46 .tdc-columns{width:100%}.tdi_46:before,.tdi_46:after{display:table}</style><div class="vc_column tdi_48 wpb_column vc_column_container tdc-column td-pb-span12"> <style scoped>.tdi_48{vertical-align:baseline}.tdi_48>.wpb_wrapper,.tdi_48>.wpb_wrapper>.tdc-elements{display:block}.tdi_48>.wpb_wrapper>.tdc-elements{width:100%}.tdi_48>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_48>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ><div class="td-block td-a-rec td-a-rec-id-custom-spot tdi_49 td_block_template_2"> <style>.tdi_49.td-a-rec{text-align:center}.tdi_49.td-a-rec:not(.td-a-rec-no-translate){transform:translateZ(0)}.tdi_49 .td-element-style{z-index:-1}</style><div class="wp-ads-inline-top" id="wp-ads-1631596609"><!-- Start: GAM Ad Slot Render | Codeguru Inline Top --> <div id="inline-top" style="min-width: 300px; width: auto; text-align:center; min-height: 50px; max-height: 250px; height: auto; background-color: #ffffff; border:0px solid #efefef;"> <script nowprocket> window.googletag = window.googletag || { cmd: [] }; window.googletag.cmd.push(function() { googletag.display("inline-top"); }); </script> </div> <!-- End: GAM Ad Slot Render | Codeguru Inline Top --></div></div></div></div></div></div><div id="tdi_50" class="tdc-row stretch_row_1400 td-stretch-content"><div class="vc_row tdi_51 wpb_row td-pb-row" > <style scoped>.tdi_51,.tdi_51 .tdc-columns{min-height:0}.tdi_51,.tdi_51 .tdc-columns{display:block}.tdi_51 .tdc-columns{width:100%}.tdi_51:before,.tdi_51:after{display:table}.tdi_51{margin-top:40px!important}.tdi_51 .td_block_wrap{text-align:left}</style><div class="vc_column tdi_53 wpb_column vc_column_container tdc-column td-pb-span8"> <style scoped>.tdi_53{vertical-align:baseline}.tdi_53>.wpb_wrapper,.tdi_53>.wpb_wrapper>.tdc-elements{display:block}.tdi_53>.wpb_wrapper>.tdc-elements{width:100%}.tdi_53>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_53>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ><div class="td_block_wrap tdb_breadcrumbs tdi_54 td-pb-border-top td_block_template_2 tdb-breadcrumbs " data-td-block-uid="tdi_54" > <style>.tdi_54{margin-bottom:18px!important}</style> <style>.tdb-breadcrumbs{margin-bottom:11px;font-family:var(--td_default_google_font_1,'Open Sans','Open Sans Regular',sans-serif);font-size:12px;color:#747474;line-height:18px}.tdb-breadcrumbs a{color:#747474}.tdb-breadcrumbs a:hover{color:#000}.tdb-breadcrumbs .tdb-bread-sep{line-height:1;vertical-align:middle}.tdb-breadcrumbs .tdb-bread-sep-svg svg{height:auto}.tdb-breadcrumbs .tdb-bread-sep-svg svg,.tdb-breadcrumbs .tdb-bread-sep-svg svg *{fill:#c3c3c3}.single-tdb_templates.author-template .tdb_breadcrumbs{margin-bottom:2px}.tdb_category_breadcrumbs{margin:21px 0 9px}.search-results .tdb_breadcrumbs{margin-bottom:2px}.tdi_54 .tdb-bread-sep{font-size:10px;margin:0 5px}.tdi_54,.tdi_54 a{color:#a5a5a5}.tdi_54 .tdb-bread-sep-svg svg,.tdi_54 .tdb-bread-sep-svg svg *{fill:#a5a5a5}.tdi_54 a:hover{color:#b361e0}.td-theme-wrap .tdi_54{text-align:left}.tdi_54{font-family:Rubik!important;font-size:14px!important;font-weight:400!important;letter-spacing:.25px!important}</style><div class="tdb-block-inner td-fix-index"><span><a title="" class="tdb-entry-crumb" href="https://www.codeguru.com/">Home</a></span><i class="tdb-bread-sep td-icon-right"></i><span><a title="View all posts in Multimedia" class="tdb-entry-crumb" href="https://www.codeguru.com/multimedia/">Multimedia</a></span></div></div><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "item": { "@type": "WebSite", "@id": "https://www.codeguru.com/", "name": "Home" } },{ "@type": "ListItem", "position": 2, "item": { "@type": "WebPage", "@id": "https://www.codeguru.com/multimedia/", "name": "Multimedia" } } ] } </script><div class="td_block_wrap tdb_title tdi_55 tdb-single-title td-pb-border-top td_block_template_2" data-td-block-uid="tdi_55" > <style>@media (max-width:767px){.tdi_55{padding-right:0px!important}}@media (min-width:768px) and (max-width:1018px){.tdi_55{padding-right:0px!important}}@media (min-width:1019px) and (max-width:1140px){.tdi_55{padding-right:100px!important}}</style> <style>.tdb_title{margin-bottom:19px}.tdb_title.tdb-content-horiz-center{text-align:center}.tdb_title.tdb-content-horiz-center .tdb-title-line{margin:0 auto}.tdb_title.tdb-content-horiz-right{text-align:right}.tdb_title.tdb-content-horiz-right .tdb-title-line{margin-left:auto;margin-right:0}.tdb-title-text{display:inline-block;position:relative;margin:0;word-wrap:break-word;font-size:30px;line-height:38px;font-weight:700}.tdb-first-letter{position:absolute;-webkit-user-select:none;user-select:none;pointer-events:none;text-transform:uppercase;color:rgba(0,0,0,0.08);font-size:6em;font-weight:300;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);left:-0.36em;z-index:-1;-webkit-text-fill-color:initial}.tdb-title-line{display:none;position:relative}.tdb-title-line:after{content:'';width:100%;position:absolute;background-color:var(--td_theme_color,#4db2ec);top:0;left:0;margin:auto}.tdb-single-title .tdb-title-text{font-size:41px;line-height:50px;font-weight:400}.tdi_55 .tdb-title-text{background-color:#080a19;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-family:brother-xl!important;font-size:30px!important;line-height:1.2!important;font-weight:700!important}html[class*='ie'] .tdi_55 .tdb-title-text{background:none;color:#080a19}.tdi_55 .tdb-title-line:after{height:2px;bottom:40%}.tdi_55 .tdb-title-line{height:50px}.td-theme-wrap .tdi_55{text-align:left}.tdi_55 .tdb-first-letter{left:-0.36em;right:auto;font-family:brother-xl!important;font-weight:700!important}.tdi_55 .tdb-add-text{font-family:brother-xl!important}@media (min-width:1019px) and (max-width:1140px){.tdi_55 .tdb-title-text{font-size:48px!important}}@media (min-width:768px) and (max-width:1018px){.tdi_55 .tdb-title-text{font-size:36px!important}}@media (max-width:767px){.tdi_55 .tdb-title-text{font-size:18px!important;line-height:1.6!important}}</style><div class="tdb-block-inner td-fix-index"><h1 class="tdb-title-text">Simple C++ MP3 Player Class</h1><div></div><div class="tdb-title-line"></div></div></div><div class="td_block_wrap tdb_single_author tdi_56 td-pb-border-top td_block_template_2 tdb-post-meta" data-td-block-uid="tdi_56" > <style>.tdi_56{margin-bottom:0px!important}</style> <style>.tdb-post-meta{margin-bottom:16px;color:#444;font-family:var(--td_default_google_font_1,'Open Sans','Open Sans Regular',sans-serif);font-size:11px;font-weight:400;clear:none;vertical-align:middle;line-height:1}.tdb-post-meta span,.tdb-post-meta i,.tdb-post-meta time{vertical-align:middle}.tdb_single_author{line-height:30px}.tdb_single_author a{vertical-align:middle}.tdb_single_author .tdb-block-inner{display:flex;align-items:center}.tdb_single_author .tdb-author-name-wrap{display:flex}.tdb_single_author .tdb-author-name{font-weight:700;margin-right:3px}.tdb_single_author .tdb-author-by{margin-right:3px}.tdb_single_author .tdb-author-photo img{display:block}.tdi_56{display:inline-block}.tdi_56 .tdb-author-name-wrap{align-items:baseline}.tdi_56 .avatar{width:30px;height:30px;margin-right:6px;border-radius:0px}.tdi_56 .tdb-author-by{color:#080a19;font-family:Rubik!important;font-size:14px!important;font-weight:400!important;text-transform:capitalize!important}.tdi_56 .tdb-author-name{color:#238fee;font-family:Rubik!important;font-size:14px!important;font-weight:400!important;text-transform:capitalize!important}.tdi_56 .tdb-author-name:hover{color:#b361e0}</style><div class="tdb-block-inner td-fix-index"><a class="tdb-author-photo" href="https://www.codeguru.com/author/codeguru-staff/" title="CodeGuru Staff"><img alt='CodeGuru Staff' src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2030%2030'%3E%3C/svg%3E" data-lazy-srcset='https://assets.codeguru.com/uploads/2021/12/Website_Avatar__CodeGuru_3-60x60.png 2x' class='avatar avatar-30 photo' height='30' width='30' decoding='async' data-lazy-src="https://assets.codeguru.com/uploads/2021/12/Website_Avatar__CodeGuru_3-30x30.png"/><noscript><img alt='CodeGuru Staff' src='https://assets.codeguru.com/uploads/2021/12/Website_Avatar__CodeGuru_3-30x30.png' srcset='https://assets.codeguru.com/uploads/2021/12/Website_Avatar__CodeGuru_3-60x60.png 2x' class='avatar avatar-30 photo' height='30' width='30' loading='lazy' decoding='async'/></noscript></a><div class="tdb-author-name-wrap"><span class="tdb-author-by">By</span> <a class="tdb-author-name" href="https://www.codeguru.com/author/codeguru-staff/">CodeGuru Staff</a></div></div></div><div class="td_block_wrap tdb_single_date tdi_57 td-pb-border-top td_block_template_2 tdb-post-meta" data-td-block-uid="tdi_57" > <style>.tdi_57{margin-bottom:2px!important;margin-left:10px!important}@media (max-width:767px){.tdi_57{margin-right:10px!important}}</style> <style>.tdb_single_date{line-height:30px}.tdb_single_date a{vertical-align:middle}.tdb_single_date .tdb-date-icon-svg{position:relative;line-height:0}.tdb_single_date svg{height:auto}.tdb_single_date svg,.tdb_single_date svg *{fill:#444}.tdi_57{display:inline-block;color:#a5a5a5;font-family:Rubik!important;font-size:14px!important;font-weight:400!important;text-transform:capitalize!important;letter-spacing:.05px!important}.tdi_57 svg{width:14px}.tdi_57 .tdb-date-icon{margin-right:5px}.tdi_57 svg,.tdi_57 svg *{fill:#a5a5a5}</style><div class="tdb-block-inner td-fix-index"><time class="entry-date updated td-module-date" datetime="2011-08-22T15:53:33+00:00">August 22, 2011</time></div></div> <!-- ./block --><div class="td_block_wrap tdb_single_post_share tdi_58 td-pb-border-top td_block_template_2" data-td-block-uid="tdi_58" > <style>.tdi_58{margin-top:20px!important;margin-bottom:60px!important}@media (min-width:768px) and (max-width:1018px){.tdi_58{margin-top:15px!important;margin-bottom:40px!important}}@media (max-width:767px){.tdi_58{margin-bottom:20px!important}}</style> <style>.tdb_single_post_share{margin-bottom:23px}.tdb-share-classic{position:relative;height:20px;margin-bottom:15px}.td-post-sharing-show-all-icons .td-social-sharing-hidden .td-social-expand-tabs{display:none}.td-post-sharing_display-vertically .td-post-sharing-visible,.td-post-sharing_display-vertically .td-social-sharing-hidden{display:flex;flex-direction:column}.tdi_58 .td-post-sharing-visible{align-items:flex-start}.tdi_58 .td-social-handler .td-social-but-text{font-family:brother-xl!important;font-size:12px!important;font-weight:300!important}.tdi_58 .td-social-network{font-family:brother-xl!important;font-weight:300!important}.tdi_58 .td-social-expand-tabs-icon,.tdi_58 .td-icon-share{color:#080a19}.tdi_58 .td-social-share-text .td-social-but-text{color:#080a19}.tdi_58 .td-social-handler .td-social-but-text:before{background-color:#080a19}.tdi_58 .td-ps-bg .td-social-network div,.tdi_58 .td-ps-icon-bg .td-social-network .td-social-but-icon,.tdi_58 .td-ps-dark-bg .td-social-network div{background-color:#238fee}.tdi_58 .td-ps-icon-arrow .td-social-but-icon:after{border-left-color:#238fee}.tdi_58 .td-ps-border-colored .td-social-but-text{border-color:#238fee}</style><div id="tdi_58" class="td-post-sharing tdb-block td-ps-bg td-ps-notext td-ps-bar td-post-sharing-style5 "> <style>.td-post-sharing-classic{position:relative;height:20px}.td-post-sharing{margin-left:-3px;margin-right:-3px;font-family:var(--td_default_google_font_1,'Open Sans','Open Sans Regular',sans-serif);z-index:2;white-space:nowrap;opacity:0}.td-post-sharing.td-social-show-all{white-space:normal}.td-js-loaded .td-post-sharing{-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1}.td-post-sharing-classic+.td-post-sharing{margin-top:15px}@media (max-width:767px){.td-post-sharing-classic+.td-post-sharing{margin-top:8px}}.td-post-sharing-top{margin-bottom:30px}@media (max-width:767px){.td-post-sharing-top{margin-bottom:20px}}.td-post-sharing-bottom{border-style:solid;border-color:#ededed;border-width:1px 0;padding:21px 0;margin-bottom:42px}.td-post-sharing-bottom .td-post-sharing{margin-bottom:-7px}.td-post-sharing-visible,.td-social-sharing-hidden{display:inline-block}.td-social-sharing-hidden ul{display:none}.td-social-show-all .td-pulldown-filter-list{display:inline-block}.td-social-network,.td-social-handler{position:relative;display:inline-block;margin:0 3px 7px;height:40px;min-width:40px;font-size:11px;text-align:center;vertical-align:middle}.td-ps-notext .td-social-network .td-social-but-icon,.td-ps-notext .td-social-handler .td-social-but-icon{border-top-right-radius:2px;border-bottom-right-radius:2px}.td-social-network{color:#000;overflow:hidden}.td-social-network .td-social-but-icon{border-top-left-radius:2px;border-bottom-left-radius:2px}.td-social-network .td-social-but-text{border-top-right-radius:2px;border-bottom-right-radius:2px}.td-social-network:hover{opacity:0.8!important}.td-social-handler{color:#444;border:1px solid #e9e9e9;border-radius:2px}.td-social-handler .td-social-but-text{font-weight:700}.td-social-handler .td-social-but-text:before{background-color:#000;opacity:0.08}.td-social-share-text{margin-right:18px}.td-social-share-text:before,.td-social-share-text:after{content:'';position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);left:100%;width:0;height:0;border-style:solid}.td-social-share-text:before{border-width:9px 0 9px 11px;border-color:transparent transparent transparent #e9e9e9}.td-social-share-text:after{border-width:8px 0 8px 10px;border-color:transparent transparent transparent #fff}.td-social-but-text,.td-social-but-icon{display:inline-block;position:relative}.td-social-but-icon{padding-left:13px;padding-right:13px;line-height:40px;z-index:1}.td-social-but-icon i{position:relative;top:-1px;vertical-align:middle}.td-social-but-text{margin-left:-6px;padding-left:12px;padding-right:17px;line-height:40px}.td-social-but-text:before{content:'';position:absolute;top:12px;left:0;width:1px;height:16px;background-color:#fff;opacity:0.2;z-index:1}.td-social-handler i,.td-social-facebook i,.td-social-reddit i,.td-social-linkedin i,.td-social-tumblr i,.td-social-stumbleupon i,.td-social-vk i,.td-social-viber i,.td-social-flipboard i,.td-social-koo i{font-size:14px}.td-social-telegram i{font-size:16px}.td-social-mail i,.td-social-line i,.td-social-print i{font-size:15px}.td-social-handler .td-icon-share{top:-1px;left:-1px}.td-social-twitter .td-icon-twitter{font-size:14px}.td-social-pinterest .td-icon-pinterest{font-size:13px}.td-social-whatsapp .td-icon-whatsapp,.td-social-kakao .td-icon-kakao{font-size:18px}.td-social-kakao .td-icon-kakao:before{color:#3C1B1D}.td-social-reddit .td-social-but-icon{padding-right:12px}.td-social-reddit .td-icon-reddit{left:-1px}.td-social-telegram .td-social-but-icon{padding-right:12px}.td-social-telegram .td-icon-telegram{left:-1px}.td-social-stumbleupon .td-social-but-icon{padding-right:11px}.td-social-stumbleupon .td-icon-stumbleupon{left:-2px}.td-social-digg .td-social-but-icon{padding-right:11px}.td-social-digg .td-icon-digg{left:-2px;font-size:17px}.td-social-vk .td-social-but-icon{padding-right:11px}.td-social-vk .td-icon-vk{left:-2px}.td-social-naver .td-icon-naver{left:-1px;font-size:16px}.td-social-gettr .td-icon-gettr{font-size:25px}.td-ps-notext .td-social-gettr .td-icon-gettr{left:-5px}.td-social-copy_url{position:relative}.td-social-copy_url-check{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;opacity:0;pointer-events:none;transition:opacity .2s ease-in-out;z-index:11}.td-social-copy_url .td-icon-copy_url{left:-1px;font-size:17px}.td-social-copy_url-disabled{pointer-events:none}.td-social-copy_url-disabled .td-icon-copy_url{opacity:0}.td-social-copy_url-copied .td-social-copy_url-check{opacity:1}@keyframes social_copy_url_loader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.td-social-expand-tabs i{top:-2px;left:-1px;font-size:16px}@media (min-width:767px){.td-social-line,.td-social-viber{display:none}}.td-ps-bg .td-social-network{color:#fff}.td-ps-bg .td-social-facebook .td-social-but-icon,.td-ps-bg .td-social-facebook .td-social-but-text{background-color:#516eab}.td-ps-bg .td-social-twitter .td-social-but-icon,.td-ps-bg .td-social-twitter .td-social-but-text{background-color:#29c5f6}.td-ps-bg .td-social-pinterest .td-social-but-icon,.td-ps-bg .td-social-pinterest .td-social-but-text{background-color:#ca212a}.td-ps-bg .td-social-whatsapp .td-social-but-icon,.td-ps-bg .td-social-whatsapp .td-social-but-text{background-color:#7bbf6a}.td-ps-bg .td-social-reddit .td-social-but-icon,.td-ps-bg .td-social-reddit .td-social-but-text{background-color:#f54200}.td-ps-bg .td-social-mail .td-social-but-icon,.td-ps-bg .td-social-digg .td-social-but-icon,.td-ps-bg .td-social-copy_url .td-social-but-icon,.td-ps-bg .td-social-mail .td-social-but-text,.td-ps-bg .td-social-digg .td-social-but-text,.td-ps-bg .td-social-copy_url .td-social-but-text{background-color:#000}.td-ps-bg .td-social-print .td-social-but-icon,.td-ps-bg .td-social-print .td-social-but-text{background-color:#333}.td-ps-bg .td-social-linkedin .td-social-but-icon,.td-ps-bg .td-social-linkedin .td-social-but-text{background-color:#0266a0}.td-ps-bg .td-social-tumblr .td-social-but-icon,.td-ps-bg .td-social-tumblr .td-social-but-text{background-color:#3e5a70}.td-ps-bg .td-social-telegram .td-social-but-icon,.td-ps-bg .td-social-telegram .td-social-but-text{background-color:#179cde}.td-ps-bg .td-social-stumbleupon .td-social-but-icon,.td-ps-bg .td-social-stumbleupon .td-social-but-text{background-color:#ee4813}.td-ps-bg .td-social-vk .td-social-but-icon,.td-ps-bg .td-social-vk .td-social-but-text{background-color:#4c75a3}.td-ps-bg .td-social-line .td-social-but-icon,.td-ps-bg .td-social-line .td-social-but-text{background-color:#00b900}.td-ps-bg .td-social-viber .td-social-but-icon,.td-ps-bg .td-social-viber .td-social-but-text{background-color:#5d54a4}.td-ps-bg .td-social-naver .td-social-but-icon,.td-ps-bg .td-social-naver .td-social-but-text{background-color:#3ec729}.td-ps-bg .td-social-flipboard .td-social-but-icon,.td-ps-bg .td-social-flipboard .td-social-but-text{background-color:#f42827}.td-ps-bg .td-social-kakao .td-social-but-icon,.td-ps-bg .td-social-kakao .td-social-but-text{background-color:#f9e000}.td-ps-bg .td-social-gettr .td-social-but-icon,.td-ps-bg .td-social-gettr .td-social-but-text{background-color:#fc223b}.td-ps-bg .td-social-koo .td-social-but-icon,.td-ps-bg .td-social-koo .td-social-but-text{background-color:#facd00}.td-ps-dark-bg .td-social-network{color:#fff}.td-ps-dark-bg .td-social-network .td-social-but-icon,.td-ps-dark-bg .td-social-network .td-social-but-text{background-color:#000}.td-ps-border .td-social-network .td-social-but-icon,.td-ps-border .td-social-network .td-social-but-text{line-height:38px;border-width:1px;border-style:solid}.td-ps-border .td-social-network .td-social-but-text{border-left-width:0}.td-ps-border .td-social-network .td-social-but-text:before{background-color:#000;opacity:0.08}.td-ps-border.td-ps-padding .td-social-network .td-social-but-icon{border-right-width:0}.td-ps-border.td-ps-padding .td-social-network.td-social-expand-tabs .td-social-but-icon{border-right-width:1px}.td-ps-border-grey .td-social-but-icon,.td-ps-border-grey .td-social-but-text{border-color:#e9e9e9}.td-ps-border-colored .td-social-facebook .td-social-but-icon,.td-ps-border-colored .td-social-facebook .td-social-but-text{border-color:#516eab}.td-ps-border-colored .td-social-twitter .td-social-but-icon,div.td-ps-border-colored .td-social-twitter .td-social-but-text{border-color:#29c5f6;color:#29c5f6}.td-ps-border-colored .td-social-pinterest .td-social-but-icon,.td-ps-border-colored .td-social-pinterest .td-social-but-text{border-color:#ca212a}.td-ps-border-colored .td-social-whatsapp .td-social-but-icon,.td-ps-border-colored .td-social-whatsapp .td-social-but-text{border-color:#7bbf6a}.td-ps-border-colored .td-social-reddit .td-social-but-icon,.td-ps-border-colored .td-social-reddit .td-social-but-text{border-color:#f54200}.td-ps-border-colored .td-social-mail .td-social-but-icon,.td-ps-border-colored .td-social-digg .td-social-but-icon,.td-ps-border-colored .td-social-copy_url .td-social-but-icon,.td-ps-border-colored .td-social-mail .td-social-but-text,.td-ps-border-colored .td-social-digg .td-social-but-text,.td-ps-border-colored .td-social-copy_url .td-social-but-text{border-color:#000}.td-ps-border-colored .td-social-print .td-social-but-icon,.td-ps-border-colored .td-social-print .td-social-but-text{border-color:#333}.td-ps-border-colored .td-social-linkedin .td-social-but-icon,.td-ps-border-colored .td-social-linkedin .td-social-but-text{border-color:#0266a0}.td-ps-border-colored .td-social-tumblr .td-social-but-icon,.td-ps-border-colored .td-social-tumblr .td-social-but-text{border-color:#3e5a70}.td-ps-border-colored .td-social-telegram .td-social-but-icon,.td-ps-border-colored .td-social-telegram .td-social-but-text{border-color:#179cde}.td-ps-border-colored .td-social-stumbleupon .td-social-but-icon,.td-ps-border-colored .td-social-stumbleupon .td-social-but-text{border-color:#ee4813}.td-ps-border-colored .td-social-vk .td-social-but-icon,.td-ps-border-colored .td-social-vk .td-social-but-text{border-color:#4c75a3}.td-ps-border-colored .td-social-line .td-social-but-icon,.td-ps-border-colored .td-social-line .td-social-but-text{border-color:#00b900}.td-ps-border-colored .td-social-viber .td-social-but-icon,.td-ps-border-colored .td-social-viber .td-social-but-text{border-color:#5d54a4}.td-ps-border-colored .td-social-naver .td-social-but-icon,.td-ps-border-colored .td-social-naver .td-social-but-text{border-color:#3ec729}.td-ps-border-colored .td-social-flipboard .td-social-but-icon,.td-ps-border-colored .td-social-flipboard .td-social-but-text{border-color:#f42827}.td-ps-border-colored .td-social-kakao .td-social-but-icon,.td-ps-border-colored .td-social-kakao .td-social-but-text{border-color:#f9e000}.td-ps-border-colored .td-social-gettr .td-social-but-icon,.td-ps-border-colored .td-social-gettr .td-social-but-text{border-color:#fc223b}.td-ps-border-colored .td-social-koo .td-social-but-icon,.td-ps-border-colored .td-social-koo .td-social-but-text{border-color:#facd00}.td-ps-icon-bg .td-social-but-icon{height:100%;border-color:transparent!important}.td-ps-icon-bg .td-social-network .td-social-but-icon{color:#fff}.td-ps-icon-bg .td-social-facebook .td-social-but-icon{background-color:#516eab}.td-ps-icon-bg .td-social-twitter .td-social-but-icon{background-color:#29c5f6}.td-ps-icon-bg .td-social-pinterest .td-social-but-icon{background-color:#ca212a}.td-ps-icon-bg .td-social-whatsapp .td-social-but-icon{background-color:#7bbf6a}.td-ps-icon-bg .td-social-reddit .td-social-but-icon{background-color:#f54200}.td-ps-icon-bg .td-social-mail .td-social-but-icon,.td-ps-icon-bg .td-social-digg .td-social-but-icon,.td-ps-icon-bg .td-social-copy_url .td-social-but-icon{background-color:#000}.td-ps-icon-bg .td-social-print .td-social-but-icon{background-color:#333}.td-ps-icon-bg .td-social-linkedin .td-social-but-icon{background-color:#0266a0}.td-ps-icon-bg .td-social-tumblr .td-social-but-icon{background-color:#3e5a70}.td-ps-icon-bg .td-social-telegram .td-social-but-icon{background-color:#179cde}.td-ps-icon-bg .td-social-stumbleupon .td-social-but-icon{background-color:#ee4813}.td-ps-icon-bg .td-social-vk .td-social-but-icon{background-color:#4c75a3}.td-ps-icon-bg .td-social-line .td-social-but-icon{background-color:#00b900}.td-ps-icon-bg .td-social-viber .td-social-but-icon{background-color:#5d54a4}.td-ps-icon-bg .td-social-naver .td-social-but-icon{background-color:#3ec729}.td-ps-icon-bg .td-social-flipboard .td-social-but-icon{background-color:#f42827}.td-ps-icon-bg .td-social-kakao .td-social-but-icon{background-color:#f9e000}.td-ps-icon-bg .td-social-gettr .td-social-but-icon{background-color:#fc223b}.td-ps-icon-bg .td-social-koo .td-social-but-icon{background-color:#facd00}.td-ps-icon-bg .td-social-but-text{margin-left:-3px}.td-ps-icon-bg .td-social-network .td-social-but-text:before{display:none}.td-ps-icon-arrow .td-social-network .td-social-but-icon:after{content:'';position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);left:calc(100% + 1px);width:0;height:0;border-style:solid;border-width:9px 0 9px 11px;border-color:transparent transparent transparent #000}.td-ps-icon-arrow .td-social-network .td-social-but-text{padding-left:20px}.td-ps-icon-arrow .td-social-network .td-social-but-text:before{display:none}.td-ps-icon-arrow.td-ps-padding .td-social-network .td-social-but-icon:after{left:100%}.td-ps-icon-arrow .td-social-facebook .td-social-but-icon:after{border-left-color:#516eab}.td-ps-icon-arrow .td-social-twitter .td-social-but-icon:after{border-left-color:#29c5f6}.td-ps-icon-arrow .td-social-pinterest .td-social-but-icon:after{border-left-color:#ca212a}.td-ps-icon-arrow .td-social-whatsapp .td-social-but-icon:after{border-left-color:#7bbf6a}.td-ps-icon-arrow .td-social-reddit .td-social-but-icon:after{border-left-color:#f54200}.td-ps-icon-arrow .td-social-mail .td-social-but-icon:after,.td-ps-icon-arrow .td-social-digg .td-social-but-icon:after,.td-ps-icon-arrow .td-social-copy_url .td-social-but-icon:after{border-left-color:#000}.td-ps-icon-arrow .td-social-print .td-social-but-icon:after{border-left-color:#333}.td-ps-icon-arrow .td-social-linkedin .td-social-but-icon:after{border-left-color:#0266a0}.td-ps-icon-arrow .td-social-tumblr .td-social-but-icon:after{border-left-color:#3e5a70}.td-ps-icon-arrow .td-social-telegram .td-social-but-icon:after{border-left-color:#179cde}.td-ps-icon-arrow .td-social-stumbleupon .td-social-but-icon:after{border-left-color:#ee4813}.td-ps-icon-arrow .td-social-vk .td-social-but-icon:after{border-left-color:#4c75a3}.td-ps-icon-arrow .td-social-line .td-social-but-icon:after{border-left-color:#00b900}.td-ps-icon-arrow .td-social-viber .td-social-but-icon:after{border-left-color:#5d54a4}.td-ps-icon-arrow .td-social-naver .td-social-but-icon:after{border-left-color:#3ec729}.td-ps-icon-arrow .td-social-flipboard .td-social-but-icon:after{border-left-color:#f42827}.td-ps-icon-arrow .td-social-kakao .td-social-but-icon:after{border-left-color:#f9e000}.td-ps-icon-arrow .td-social-gettr .td-social-but-icon:after{border-left-color:#fc223b}.td-ps-icon-arrow .td-social-koo .td-social-but-icon:after{border-left-color:#facd00}.td-ps-icon-arrow .td-social-expand-tabs .td-social-but-icon:after{display:none}.td-ps-icon-color .td-social-facebook .td-social-but-icon{color:#516eab}.td-ps-icon-color .td-social-pinterest .td-social-but-icon{color:#ca212a}.td-ps-icon-color .td-social-whatsapp .td-social-but-icon{color:#7bbf6a}.td-ps-icon-color .td-social-reddit .td-social-but-icon{color:#f54200}.td-ps-icon-color .td-social-mail .td-social-but-icon,.td-ps-icon-color .td-social-digg .td-social-but-icon,.td-ps-icon-color .td-social-copy_url .td-social-but-icon,.td-ps-icon-color .td-social-copy_url-check,.td-ps-icon-color .td-social-twitter .td-social-but-icon{color:#000}.td-ps-icon-color .td-social-print .td-social-but-icon{color:#333}.td-ps-icon-color .td-social-linkedin .td-social-but-icon{color:#0266a0}.td-ps-icon-color .td-social-tumblr .td-social-but-icon{color:#3e5a70}.td-ps-icon-color .td-social-telegram .td-social-but-icon{color:#179cde}.td-ps-icon-color .td-social-stumbleupon .td-social-but-icon{color:#ee4813}.td-ps-icon-color .td-social-vk .td-social-but-icon{color:#4c75a3}.td-ps-icon-color .td-social-line .td-social-but-icon{color:#00b900}.td-ps-icon-color .td-social-viber .td-social-but-icon{color:#5d54a4}.td-ps-icon-color .td-social-naver .td-social-but-icon{color:#3ec729}.td-ps-icon-color .td-social-flipboard .td-social-but-icon{color:#f42827}.td-ps-icon-color .td-social-kakao .td-social-but-icon{color:#f9e000}.td-ps-icon-color .td-social-gettr .td-social-but-icon{color:#fc223b}.td-ps-icon-color .td-social-koo .td-social-but-icon{color:#facd00}.td-ps-text-color .td-social-but-text{font-weight:700}.td-ps-text-color .td-social-facebook .td-social-but-text{color:#516eab}.td-ps-text-color .td-social-twitter .td-social-but-text{color:#29c5f6}.td-ps-text-color .td-social-pinterest .td-social-but-text{color:#ca212a}.td-ps-text-color .td-social-whatsapp .td-social-but-text{color:#7bbf6a}.td-ps-text-color .td-social-reddit .td-social-but-text{color:#f54200}.td-ps-text-color .td-social-mail .td-social-but-text,.td-ps-text-color .td-social-digg .td-social-but-text,.td-ps-text-color .td-social-copy_url .td-social-but-text{color:#000}.td-ps-text-color .td-social-print .td-social-but-text{color:#333}.td-ps-text-color .td-social-linkedin .td-social-but-text{color:#0266a0}.td-ps-text-color .td-social-tumblr .td-social-but-text{color:#3e5a70}.td-ps-text-color .td-social-telegram .td-social-but-text{color:#179cde}.td-ps-text-color .td-social-stumbleupon .td-social-but-text{color:#ee4813}.td-ps-text-color .td-social-vk .td-social-but-text{color:#4c75a3}.td-ps-text-color .td-social-line .td-social-but-text{color:#00b900}.td-ps-text-color .td-social-viber .td-social-but-text{color:#5d54a4}.td-ps-text-color .td-social-naver .td-social-but-text{color:#3ec729}.td-ps-text-color .td-social-flipboard .td-social-but-text{color:#f42827}.td-ps-text-color .td-social-kakao .td-social-but-text{color:#f9e000}.td-ps-text-color .td-social-gettr .td-social-but-text{color:#fc223b}.td-ps-text-color .td-social-koo .td-social-but-text{color:#facd00}.td-ps-text-color .td-social-expand-tabs .td-social-but-text{color:#b1b1b1}.td-ps-notext .td-social-but-icon{width:40px}.td-ps-notext .td-social-network .td-social-but-text{display:none}.td-ps-padding .td-social-network .td-social-but-icon{padding-left:17px;padding-right:17px}.td-ps-padding .td-social-handler .td-social-but-icon{width:40px}.td-ps-padding .td-social-reddit .td-social-but-icon,.td-ps-padding .td-social-telegram .td-social-but-icon{padding-right:16px}.td-ps-padding .td-social-stumbleupon .td-social-but-icon,.td-ps-padding .td-social-digg .td-social-but-icon,.td-ps-padding .td-social-expand-tabs .td-social-but-icon{padding-right:13px}.td-ps-padding .td-social-vk .td-social-but-icon{padding-right:14px}.td-ps-padding .td-social-expand-tabs .td-social-but-icon{padding-left:13px}.td-ps-rounded .td-social-network .td-social-but-icon{border-top-left-radius:100px;border-bottom-left-radius:100px}.td-ps-rounded .td-social-network .td-social-but-text{border-top-right-radius:100px;border-bottom-right-radius:100px}.td-ps-rounded.td-ps-notext .td-social-network .td-social-but-icon{border-top-right-radius:100px;border-bottom-right-radius:100px}.td-ps-rounded .td-social-expand-tabs{border-radius:100px}.td-ps-bar .td-social-network .td-social-but-icon,.td-ps-bar .td-social-network .td-social-but-text{-webkit-box-shadow:inset 0px -3px 0px 0px rgba(0,0,0,0.31);box-shadow:inset 0px -3px 0px 0px rgba(0,0,0,0.31)}.td-ps-bar .td-social-mail .td-social-but-icon,.td-ps-bar .td-social-digg .td-social-but-icon,.td-ps-bar .td-social-copy_url .td-social-but-icon,.td-ps-bar .td-social-mail .td-social-but-text,.td-ps-bar .td-social-digg .td-social-but-text,.td-ps-bar .td-social-copy_url .td-social-but-text{-webkit-box-shadow:inset 0px -3px 0px 0px rgba(255,255,255,0.28);box-shadow:inset 0px -3px 0px 0px rgba(255,255,255,0.28)}.td-ps-bar .td-social-print .td-social-but-icon,.td-ps-bar .td-social-print .td-social-but-text{-webkit-box-shadow:inset 0px -3px 0px 0px rgba(255,255,255,0.2);box-shadow:inset 0px -3px 0px 0px rgba(255,255,255,0.2)}.td-ps-big .td-social-but-icon{display:block;line-height:60px}.td-ps-big .td-social-but-icon .td-icon-share{width:auto}.td-ps-big .td-social-handler .td-social-but-text:before{display:none}.td-ps-big .td-social-share-text .td-social-but-icon{width:90px}.td-ps-big .td-social-expand-tabs .td-social-but-icon{width:60px}@media (max-width:767px){.td-ps-big .td-social-share-text{display:none}}.td-ps-big .td-social-facebook i,.td-ps-big .td-social-reddit i,.td-ps-big .td-social-mail i,.td-ps-big .td-social-linkedin i,.td-ps-big .td-social-tumblr i,.td-ps-big .td-social-stumbleupon i{margin-top:-2px}.td-ps-big .td-social-facebook i,.td-ps-big .td-social-reddit i,.td-ps-big .td-social-linkedin i,.td-ps-big .td-social-tumblr i,.td-ps-big .td-social-stumbleupon i,.td-ps-big .td-social-vk i,.td-ps-big .td-social-viber i,.td-ps-big .td-social-fliboard i,.td-ps-big .td-social-koo i,.td-ps-big .td-social-share-text i{font-size:22px}.td-ps-big .td-social-telegram i{font-size:24px}.td-ps-big .td-social-mail i,.td-ps-big .td-social-line i,.td-ps-big .td-social-print i{font-size:23px}.td-ps-big .td-social-twitter i,.td-ps-big .td-social-expand-tabs i{font-size:20px}.td-ps-big .td-social-whatsapp i,.td-ps-big .td-social-naver i,.td-ps-big .td-social-flipboard i,.td-ps-big .td-social-kakao i{font-size:26px}.td-ps-big .td-social-pinterest .td-icon-pinterest{font-size:21px}.td-ps-big .td-social-telegram .td-icon-telegram{left:1px}.td-ps-big .td-social-stumbleupon .td-icon-stumbleupon{left:-2px}.td-ps-big .td-social-digg .td-icon-digg{left:-1px;font-size:25px}.td-ps-big .td-social-vk .td-icon-vk{left:-1px}.td-ps-big .td-social-naver .td-icon-naver{left:0}.td-ps-big .td-social-gettr .td-icon-gettr{left:-1px}.td-ps-big .td-social-copy_url .td-icon-copy_url{left:0;font-size:25px}.td-ps-big .td-social-copy_url-check{font-size:18px}.td-ps-big .td-social-but-text{margin-left:0;padding-top:0;padding-left:17px}.td-ps-big.td-ps-notext .td-social-network,.td-ps-big.td-ps-notext .td-social-handler{height:60px}.td-ps-big.td-ps-notext .td-social-network{width:60px}.td-ps-big.td-ps-notext .td-social-network .td-social-but-icon{width:60px}.td-ps-big.td-ps-notext .td-social-share-text .td-social-but-icon{line-height:40px}.td-ps-big.td-ps-notext .td-social-share-text .td-social-but-text{display:block;line-height:1}.td-ps-big.td-ps-padding .td-social-network,.td-ps-big.td-ps-padding .td-social-handler{height:90px;font-size:13px}.td-ps-big.td-ps-padding .td-social-network{min-width:60px}.td-ps-big.td-ps-padding .td-social-but-icon{border-bottom-left-radius:0;border-top-right-radius:2px}.td-ps-big.td-ps-padding.td-ps-bar .td-social-but-icon{-webkit-box-shadow:none;box-shadow:none}.td-ps-big.td-ps-padding .td-social-but-text{display:block;padding-bottom:17px;line-height:1;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:2px}.td-ps-big.td-ps-padding .td-social-but-text:before{display:none}.td-ps-big.td-ps-padding .td-social-expand-tabs i{line-height:90px}.td-ps-nogap{margin-left:0;margin-right:0}.td-ps-nogap .td-social-network,.td-ps-nogap .td-social-handler{margin-left:0;margin-right:0;border-radius:0}.td-ps-nogap .td-social-network .td-social-but-icon,.td-ps-nogap .td-social-network .td-social-but-text{border-radius:0}.td-ps-nogap .td-social-expand-tabs{border-radius:0}.td-post-sharing-style7 .td-social-network .td-social-but-icon{height:100%}.td-post-sharing-style7 .td-social-network .td-social-but-icon:before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.31)}.td-post-sharing-style7 .td-social-network .td-social-but-text{padding-left:17px}.td-post-sharing-style7 .td-social-network .td-social-but-text:before{display:none}.td-post-sharing-style7 .td-social-mail .td-social-but-icon:before,.td-post-sharing-style7 .td-social-digg .td-social-but-icon:before,.td-post-sharing-style7 .td-social-copy_url .td-social-but-icon:before{background-color:rgba(255,255,255,0.2)}.td-post-sharing-style7 .td-social-print .td-social-but-icon:before{background-color:rgba(255,255,255,0.1)}@media (max-width:767px){.td-post-sharing-style1 .td-social-share-text .td-social-but-text,.td-post-sharing-style3 .td-social-share-text .td-social-but-text,.td-post-sharing-style5 .td-social-share-text .td-social-but-text,.td-post-sharing-style14 .td-social-share-text .td-social-but-text,.td-post-sharing-style16 .td-social-share-text .td-social-but-text{display:none!important}}@media (max-width:767px){.td-post-sharing-style2 .td-social-share-text,.td-post-sharing-style4 .td-social-share-text,.td-post-sharing-style6 .td-social-share-text,.td-post-sharing-style7 .td-social-share-text,.td-post-sharing-style15 .td-social-share-text,.td-post-sharing-style17 .td-social-share-text,.td-post-sharing-style18 .td-social-share-text,.td-post-sharing-style19 .td-social-share-text,.td-post-sharing-style20 .td-social-share-text{display:none!important}}</style> <div class="td-post-sharing-visible"><a class="td-social-sharing-button td-social-sharing-button-js td-social-network td-social-facebook" href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.codeguru.com%2Fmultimedia%2Fsimple-c-mp3-player-class%2F" title="Facebook" ><div class="td-social-but-icon"><i class="td-icon-facebook"></i></div><div class="td-social-but-text">Facebook</div></a><a class="td-social-sharing-button td-social-sharing-button-js td-social-network td-social-twitter" href="https://twitter.com/intent/tweet?text=Simple+C%2B%2B+MP3+Player+Class&url=https%3A%2F%2Fwww.codeguru.com%2Fmultimedia%2Fsimple-c-mp3-player-class%2F&via=CodeGuru" title="Twitter" ><div class="td-social-but-icon"><i class="td-icon-twitter"></i></div><div class="td-social-but-text">Twitter</div></a><a class="td-social-sharing-button td-social-sharing-button-js td-social-network td-social-linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.codeguru.com/multimedia/simple-c-mp3-player-class/&title=Simple+C%2B%2B+MP3+Player+Class" title="Linkedin" ><div class="td-social-but-icon"><i class="td-icon-linkedin"></i></div><div class="td-social-but-text">Linkedin</div></a><a class="td-social-sharing-button td-social-sharing-button-js td-social-network td-social-whatsapp" href="https://api.whatsapp.com/send?text=Simple+C%2B%2B+MP3+Player+Class %0A%0A https://www.codeguru.com/multimedia/simple-c-mp3-player-class/" title="WhatsApp" ><div class="td-social-but-icon"><i class="td-icon-whatsapp"></i></div><div class="td-social-but-text">WhatsApp</div></a><a class="td-social-sharing-button td-social-sharing-button-js td-social-network td-social-reddit" href="https://reddit.com/submit?url=https://www.codeguru.com/multimedia/simple-c-mp3-player-class/&title=Simple+C%2B%2B+MP3+Player+Class" title="ReddIt" ><div class="td-social-but-icon"><i class="td-icon-reddit"></i></div><div class="td-social-but-text">ReddIt</div></a></div><div class="td-social-sharing-hidden"><ul class="td-pulldown-filter-list"></ul><a class="td-social-sharing-button td-social-handler td-social-expand-tabs" href="#" data-block-uid="tdi_58" title="More"> <div class="td-social-but-icon"><i class="td-icon-plus td-social-expand-tabs-icon"></i></div> </a></div></div></div><div class="td_block_wrap tdb_single_content tdi_59 td-pb-border-top td_block_template_2 td-post-content tagdiv-type" data-td-block-uid="tdi_59" > <style>.tdi_59{margin-top:0px!important}@media (max-width:767px){.tdi_59{margin-top:0px!important}}</style> <style>.tdb_single_content{margin-bottom:0;*zoom:1}.tdb_single_content:before,.tdb_single_content:after{display:table;content:'';line-height:0}.tdb_single_content:after{clear:both}.tdb_single_content .tdb-block-inner>*:not(.wp-block-quote):not(.alignwide):not(.alignfull.wp-block-cover.has-parallax):not(.td-a-ad){margin-left:auto;margin-right:auto}.tdb_single_content a{pointer-events:auto}.tdb_single_content .td-spot-id-top_ad .tdc-placeholder-title:before{content:'Article Top Ad'!important}.tdb_single_content .td-spot-id-inline_ad0 .tdc-placeholder-title:before{content:'Article Inline Ad 1'!important}.tdb_single_content .td-spot-id-inline_ad1 .tdc-placeholder-title:before{content:'Article Inline Ad 2'!important}.tdb_single_content .td-spot-id-inline_ad2 .tdc-placeholder-title:before{content:'Article Inline Ad 3'!important}.tdb_single_content .td-spot-id-bottom_ad .tdc-placeholder-title:before{content:'Article Bottom Ad'!important}.tdb_single_content .id_top_ad,.tdb_single_content .id_bottom_ad{clear:both;margin-bottom:21px;text-align:center}.tdb_single_content .id_top_ad img,.tdb_single_content .id_bottom_ad img{margin-bottom:0}.tdb_single_content .id_top_ad .adsbygoogle,.tdb_single_content .id_bottom_ad .adsbygoogle{position:relative}.tdb_single_content .id_ad_content-horiz-left,.tdb_single_content .id_ad_content-horiz-right,.tdb_single_content .id_ad_content-horiz-center{margin-bottom:15px}.tdb_single_content .id_ad_content-horiz-left img,.tdb_single_content .id_ad_content-horiz-right img,.tdb_single_content .id_ad_content-horiz-center img{margin-bottom:0}.tdb_single_content .id_ad_content-horiz-center{text-align:center}.tdb_single_content .id_ad_content-horiz-center img{margin-right:auto;margin-left:auto}.tdb_single_content .id_ad_content-horiz-left{float:left;margin-top:9px;margin-right:21px}.tdb_single_content .id_ad_content-horiz-right{float:right;margin-top:6px;margin-left:21px}.tdb_single_content .tdc-a-ad .tdc-placeholder-title{width:300px;height:250px}.tdb_single_content .tdc-a-ad .tdc-placeholder-title:before{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin:auto;display:table;width:100%}.tdb_single_content .tdb-block-inner.td-fix-index{word-break:break-word}.tdi_59,.tdi_59>p,.tdi_59 .tdb-block-inner>p{font-family:Rubik!important;font-size:16px!important;line-height:1.6!important;font-weight:400!important}.tdi_59 h1{font-family:brother-xl!important;font-weight:700!important;letter-spacing:0px!important}.tdi_59 h2{font-family:brother-xl!important;font-weight:700!important;letter-spacing:0px!important}.tdi_59 h3:not(.tds-locker-title){font-family:brother-xl!important;font-weight:700!important;letter-spacing:0px!important}.tdi_59 h4{font-family:brother-xl!important;font-weight:500!important;letter-spacing:0px!important}.tdi_59 h5{font-family:brother-xl!important;font-weight:500!important;letter-spacing:0px!important}.tdi_59 h6{font-family:brother-xl!important;font-weight:500!important;letter-spacing:0px!important}.tdi_59 li{font-family:Rubik!important;font-size:16px!important;font-weight:400!important}.tdi_59 li:before{margin-top:1px;line-height:16px!important}.tdi_59 .tdb-block-inner blockquote p{font-family:brother-xl!important;font-size:30px!important;line-height:1.1!important;font-weight:700!important;text-transform:uppercase!important;color:#222222}.tdi_59,.tdi_59 p{color:#080a19}.tdi_59 h1,.tdi_59 h2,.tdi_59 h3:not(.tds-locker-title),.tdi_59 h4,.tdi_59 h5,.tdi_59 h6{color:#238fee}.tdi_59 .wp-caption-text,.tdi_59 figcaption{color:#080a19}.tdi_59 a:not(.wp-block-button__link){color:#238fee}.tdi_59 a:not(.wp-block-button__link):hover{color:#b361e0}@media (max-width:767px){.tdb_single_content .id_ad_content-horiz-left,.tdb_single_content .id_ad_content-horiz-right,.tdb_single_content .id_ad_content-horiz-center{margin:0 auto 26px auto}}@media (max-width:767px){.tdb_single_content .id_ad_content-horiz-left{margin-right:0}}@media (max-width:767px){.tdb_single_content .id_ad_content-horiz-right{margin-left:0}}@media (max-width:767px){.tdb_single_content .td-a-ad{float:none;text-align:center}.tdb_single_content .td-a-ad img{margin-right:auto;margin-left:auto}.tdb_single_content .tdc-a-ad{float:none}}@media (min-width:768px) and (max-width:1018px){.tdi_59 .tdb-block-inner blockquote p{font-size:24px!important;line-height:1.2!important}}@media (max-width:767px){.tdi_59 h2{line-height:1.2!important}.tdi_59 .tdb-block-inner blockquote p{font-size:24px!important;line-height:1.2!important}}</style><div class="tdb-block-inner td-fix-index"><p class="commission-disclaimer-message"> CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. <a href="/editorial-policy/" target="_blank">Learn More</a>. </p><p>If you need to just play <strong><a href="http://en.wikipedia.org/wiki/MP3">MP3</a></strong>s in your application (for example, play a short MP3 during the application splash screen), Mp3 class is a no frills <strong><a href="http://www.cplusplus.com/doc/tutorial/">C++</a></strong> MP3/WMA DirectShow player class, for such simple needs. The original code is from <a href="http://www.flipcode.com/archives/Playing_An_MP3_With_DirectShow.shtml">Flipcode</a>&#8216;s contributor, <a href="mailto:alankemp@bigfoot.com">Alan Kemp</a>. The original code needs a bit of tweaking to include the necessary header files and import libraries so that it will compile in <strong><a href="http://www.microsoft.com/visualstudio/en-us/">Visual Studio</a></strong> 2010. Since this class relies on <a href="http://msdn.microsoft.com/en-us/library/dd375454(v=vs.85).aspx">DirectShow</a>, you need to download the Windows SDK to build it. If you are using Visual Studio 2010, it actually comes with a subset of the Windows SDK, which includes the DirectShow libraries, so you can build this class without downloading anything. You have to call COM&#8217;s CoInitialize to initialize COM&#8217;s runtime before calling the Load on mp3 file. And you have to also call CoUninitialize at the end of your application, after the Cleanup is called. The header file, Mp3.h is listed below. </p> <p> <img fetchpriority="high" decoding="async" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20498%20175'%3E%3C/svg%3E" width="498" height="175" alt="cppmp3player" data-lazy-src="https://assets.codeguru.com/uploads/2021/07/cppmp3player.png"/><noscript><img fetchpriority="high" decoding="async" src="https://assets.codeguru.com/uploads/2021/07/cppmp3player.png" width="498" height="175" alt="cppmp3player"/></noscript> <br /> Figure 1: cppmp3player </p> <pre> #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers // Windows Header Files: #include &lt;windows.h&gt; #include &lt;mmsystem.h&gt; #include &lt;strmif.h&gt; #include &lt;control.h&gt; #pragma comment(lib, "strmiids.lib") class Mp3 { public: Mp3(); ~Mp3(); bool Load(LPCWSTR filename); void Cleanup(); bool Play(); bool Pause(); bool Stop(); // Poll this function with msTimeout = 0, so that it return immediately. // If the mp3 finished playing, WaitForCompletion will return true; bool WaitForCompletion(long msTimeout, long* EvCode); // -10000 is lowest volume and 0 is highest volume, positive value > 0 will fail bool SetVolume(long vol); // -10000 is lowest volume and 0 is highest volume long GetVolume(); // Returns the duration in 1/10 millionth of a second, // meaning 10,000,000 == 1 second // You have to divide the result by 10,000,000 // to get the duration in seconds. __int64 GetDuration(); // Returns the current playing position // in 1/10 millionth of a second, // meaning 10,000,000 == 1 second // You have to divide the result by 10,000,000 // to get the duration in seconds. __int64 GetCurrentPosition(); // Seek to position with pCurrent and pStop // bAbsolutePositioning specifies absolute or relative positioning. // If pCurrent and pStop have the same value, the player will seek to the position // and stop playing. Note: Even if pCurrent and pStop have the same value, // avoid putting the same pointer into both of them, meaning put different // pointers with the same dereferenced value. bool SetPositions(__int64* pCurrent, __int64* pStop, bool bAbsolutePositioning); private: IGraphBuilder * pigb; IMediaControl * pimc; IMediaEventEx * pimex; IBasicAudio * piba; IMediaSeeking * pims; bool ready; // Duration of the MP3. __int64 duration; }; </pre> <p>The original class only has the play, pause and stop functionality. Note: after calling Pause, you have to call Play to resume playing. Since I have a need to loop my music, I need to know when my MP3 has ended, so I added the method, WaitForCompletion to poll periodically whether the playing has ended, and to replay it again. Since the original code always played at full volume, I have also added a method, GetVolume to get volume and another method, SetVolume to set volume. Note: -10000 is the minimum volume and 0 is the maximum volume. If you set any positive volume greater than 0, you will receive an error. You can call GetDuration and GetCurrentPosition to get the duration of the MP3 and the current playing (time) position of the MP3 respectively. These 2 methods return units of 10th millionth of a second(1/10,000,000 of a second): you have to divide by 10,000,000 to get the duration in seconds. The reason I did not return the duration in seconds is because I found that second unit is too coarse grained to do seeking. The source code implementation of Mp3.cpp is listed below. </p> <pre> #include "Mp3.h" #include &lt;uuids.h&gt; Mp3::Mp3() { pigb = NULL; pimc = NULL; pimex = NULL; piba = NULL; pims = NULL; ready = false; duration = 0; } Mp3::~Mp3() { Cleanup(); } void Mp3::Cleanup() { if (pimc) pimc-&gt;Stop(); if(pigb) { pigb-&gt;Release(); pigb = NULL; } if(pimc) { pimc-&gt;Release(); pimc = NULL; } if(pimex) { pimex-&gt;Release(); pimex = NULL; } if(piba) { piba-&gt;Release(); piba = NULL; } if(pims) { pims-&gt;Release(); pims = NULL; } ready = false; } bool Mp3::Load(LPCWSTR szFile) { Cleanup(); ready = false; if (SUCCEEDED(CoCreateInstance( CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&amp;this-&gt;pigb))) { pigb-&gt;QueryInterface(IID_IMediaControl, (void **)&amp;pimc); pigb-&gt;QueryInterface(IID_IMediaEventEx, (void **)&amp;pimex); pigb-&gt;QueryInterface(IID_IBasicAudio, (void**)&amp;piba); pigb-&gt;QueryInterface(IID_IMediaSeeking, (void**)&amp;pims); HRESULT hr = pigb->RenderFile(szFile, NULL); if (SUCCEEDED(hr)) { ready = true; if(pims) { pims-&gt;SetTimeFormat(&amp;TIME_FORMAT_MEDIA_TIME); pims-&gt;GetDuration(&amp;duration); // returns 10,000,000 for a second. duration = duration; } } } return ready; } bool Mp3::Play() { if (ready&amp;&amp;pimc) { HRESULT hr = pimc-&gt;Run(); return SUCCEEDED(hr); } return false; } bool Mp3::Pause() { if (ready&amp;&amp;pimc) { HRESULT hr = pimc-&gt;Pause(); return SUCCEEDED(hr); } return false; } bool Mp3::Stop() { if (ready&amp;&amp;pimc) { HRESULT hr = pimc-&gt;Stop(); return SUCCEEDED(hr); } return false; } bool Mp3::WaitForCompletion(long msTimeout, long* EvCode) { if (ready&amp;&amp;pimex) { HRESULT hr = pimex->WaitForCompletion(msTimeout, EvCode); return *EvCode &gt; 0; } return false; } bool Mp3::SetVolume(long vol) { if (ready&amp;&amp;piba) { HRESULT hr = piba-&gt;put_Volume(vol); return SUCCEEDED(hr); } return false; } long Mp3::GetVolume() { if (ready&amp;&amp;piba) { long vol = -1; HRESULT hr = piba-&gt;get_Volume(&amp;vol); if(SUCCEEDED(hr)) return vol; } return -1; } __int64 Mp3::GetDuration() { return duration; } __int64 Mp3::GetCurrentPosition() { if (ready&amp;&amp;pims) { __int64 curpos = -1; HRESULT hr = pims-&gt;GetCurrentPosition(&amp;curpos); if(SUCCEEDED(hr)) return curpos; } return -1; } bool Mp3::SetPositions(__int64* pCurrent, __int64* pStop, bool bAbsolutePositioning) { if (ready&amp;&amp;pims) { DWORD flags = 0; if(bAbsolutePositioning) flags = AM_SEEKING_AbsolutePositioning | AM_SEEKING_SeekToKeyFrame; else flags = AM_SEEKING_RelativePositioning | AM_SEEKING_SeekToKeyFrame; HRESULT hr = pims->SetPositions(pCurrent, flags, pStop, flags); if(SUCCEEDED(hr)) return true; } return false; } </pre> <p>The source code includes a static library project and the DLL project and a demo project, PlayMp3, which plays MP3 with a helper class, CLibMP3DLL, to load the LibMP3DLL.dll at runtime. Usage of CLibMP3DLL is similar to Mp3 class, with additional LoadDLL and UnloadDLL methods to load/unload dll. Below is the header file of CLibMP3DLL. </p> <pre> class CLibMP3DLL { public: CLibMP3DLL(void); ~CLibMP3DLL(void); bool LoadDLL(LPCWSTR dll); void UnloadDLL(); bool Load(LPCWSTR filename); bool Cleanup(); bool Play(); bool Pause(); bool Stop(); bool WaitForCompletion(long msTimeout, long* EvCode); bool SetVolume(long vol); long GetVolume(); __int64 GetDuration(); __int64 GetCurrentPosition(); bool SetPositions(__int64* pCurrent, __int64* pStop, bool bAbsolutePositioning); private: HMODULE m_Mod; }; </pre> <p>Though I may have added a few methods to the Mp3 class, it took quite a bit of effort to get them to run correctly. I hope to pass these time-savings to other developers who simply wants to play a MP3 file, minus the hassle. This class is hosted at <a href="http://cppmp3player.codeplex.com/">Codeplex</a>.</p> </div></div><div class="td_block_wrap tdb_single_post_share tdi_60 td-pb-border-top td_block_template_2" data-td-block-uid="tdi_60" > <style>.tdi_60{margin-top:20px!important;margin-bottom:60px!important}@media (min-width:768px) and (max-width:1018px){.tdi_60{margin-top:15px!important;margin-bottom:40px!important}}</style> <style>.tdi_60 .td-post-sharing-visible{align-items:flex-start}.tdi_60 .td-social-handler .td-social-but-text{font-family:brother-xl!important;font-size:12px!important;font-weight:400!important}.tdi_60 .td-social-network{font-family:brother-xl!important;font-weight:400!important}.tdi_60 .td-social-expand-tabs-icon,.tdi_60 .td-icon-share{color:#080a19}.tdi_60 .td-social-share-text .td-social-but-text{color:#080a19}.tdi_60 .td-social-handler .td-social-but-text:before{background-color:#080a19}.tdi_60 .td-ps-bg .td-social-network div,.tdi_60 .td-ps-icon-bg .td-social-network .td-social-but-icon,.tdi_60 .td-ps-dark-bg .td-social-network div{background-color:#238fee}.tdi_60 .td-ps-icon-arrow .td-social-but-icon:after{border-left-color:#238fee}.tdi_60 .td-ps-border-colored .td-social-but-text{border-color:#238fee}</style><div id="tdi_60" class="td-post-sharing tdb-block td-ps-bg td-ps-notext td-ps-bar td-post-sharing-style5 "><div class="td-post-sharing-visible"><a class="td-social-sharing-button td-social-sharing-button-js td-social-network td-social-facebook" href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.codeguru.com%2Fmultimedia%2Fsimple-c-mp3-player-class%2F" title="Facebook" ><div class="td-social-but-icon"><i class="td-icon-facebook"></i></div><div class="td-social-but-text">Facebook</div></a><a class="td-social-sharing-button td-social-sharing-button-js td-social-network td-social-twitter" href="https://twitter.com/intent/tweet?text=Simple+C%2B%2B+MP3+Player+Class&url=https%3A%2F%2Fwww.codeguru.com%2Fmultimedia%2Fsimple-c-mp3-player-class%2F&via=CodeGuru" title="Twitter" ><div class="td-social-but-icon"><i class="td-icon-twitter"></i></div><div class="td-social-but-text">Twitter</div></a><a class="td-social-sharing-button td-social-sharing-button-js td-social-network td-social-linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.codeguru.com/multimedia/simple-c-mp3-player-class/&title=Simple+C%2B%2B+MP3+Player+Class" title="Linkedin" ><div class="td-social-but-icon"><i class="td-icon-linkedin"></i></div><div class="td-social-but-text">Linkedin</div></a><a class="td-social-sharing-button td-social-sharing-button-js td-social-network td-social-whatsapp" href="https://api.whatsapp.com/send?text=Simple+C%2B%2B+MP3+Player+Class %0A%0A https://www.codeguru.com/multimedia/simple-c-mp3-player-class/" title="WhatsApp" ><div class="td-social-but-icon"><i class="td-icon-whatsapp"></i></div><div class="td-social-but-text">WhatsApp</div></a><a class="td-social-sharing-button td-social-sharing-button-js td-social-network td-social-reddit" href="https://reddit.com/submit?url=https://www.codeguru.com/multimedia/simple-c-mp3-player-class/&title=Simple+C%2B%2B+MP3+Player+Class" title="ReddIt" ><div class="td-social-but-icon"><i class="td-icon-reddit"></i></div><div class="td-social-but-text">ReddIt</div></a></div><div class="td-social-sharing-hidden"><ul class="td-pulldown-filter-list"></ul><a class="td-social-sharing-button td-social-handler td-social-expand-tabs" href="#" data-block-uid="tdi_60" title="More"> <div class="td-social-but-icon"><i class="td-icon-plus td-social-expand-tabs-icon"></i></div> </a></div></div></div><div class="vc_row_inner tdi_62 native-boap-before vc_row vc_inner wpb_row td-pb-row" > <style scoped>.tdi_62{position:relative!important;top:0;transform:none;-webkit-transform:none}.tdi_62,.tdi_62 .tdc-inner-columns{display:block}.tdi_62 .tdc-inner-columns{width:100%}@media (min-width:768px){.tdi_62{margin-left:-15px;margin-right:-15px}.tdi_62>.vc_column_inner,.tdi_62>.tdc-inner-columns>.vc_column_inner{padding-left:15px;padding-right:15px}}.tdi_62{margin-bottom:20px!important}.tdi_62 .td_block_wrap{text-align:left}</style><div class="vc_column_inner tdi_64 wpb_column vc_column_container tdc-inner-column td-pb-span3"> <style scoped>.tdi_64{vertical-align:baseline}.tdi_64 .vc_column-inner>.wpb_wrapper,.tdi_64 .vc_column-inner>.wpb_wrapper .tdc-elements{display:block}.tdi_64 .vc_column-inner>.wpb_wrapper .tdc-elements{width:100%}</style><div class="vc_column-inner"><div class="wpb_wrapper" ><div class="tdb-author-box td_block_wrap tdb_single_author_box tdi_65 tdb-content-vert-top td-pb-border-top td_block_template_2" data-td-block-uid="tdi_65" > <style>.tdi_65{margin-bottom:60px!important;box-shadow:0 3px 20px rgba(0,0,0,0.15)!important}@media (min-width:768px) and (max-width:1018px){.tdi_65{margin-bottom:40px!important;box-shadow:0 3px 20px rgba(0,0,0,0.15)!important}}</style> <style>.tdb-author-box .tdb-author-photo,.tdb-author-box .tdb-author-info{display:table-cell;vertical-align:top}.tdb-author-box .tdb-author-photo img{display:block}.tdb-author-box .tdb-author-counters span{display:inline-block;background-color:#222;margin:0 10px 0 0;padding:5px 10px 4px;font-family:var(--td_default_google_font_2,'Roboto',sans-serif);font-size:11px;font-weight:700;line-height:1;color:#fff}.tdb-author-box .tdb-author-name,.tdb-author-box .tdb-author-url{display:block}.tdb-author-box .tdb-author-name{margin:7px 0 8px;font-family:var(--td_default_google_font_1,'Open Sans','Open Sans Regular',sans-serif);font-size:15px;line-height:21px;font-weight:700;color:#222}.tdb-author-box .tdb-author-name:hover{color:#4db2ec}.tdb-author-box .tdb-author-url{margin-bottom:6px;font-size:11px;font-style:italic;line-height:21px;color:#444}.tdb-author-box .tdb-author-url:hover{color:#4db2ec}.tdb-author-box .tdb-author-descr{font-size:12px}.tdb-author-box .tdb-author-social{margin-top:4px}.tdb-author-box .tdb-social-item{position:relative;display:inline-block;-webkit-transition:all 0.2s;transition:all 0.2s;text-align:center;-webkit-transform:translateZ(0);transform:translateZ(0)}.tdb-author-box .tdb-social-item:last-child{margin-right:0!important}.tdb-author-box .tdb-social-item i{color:#000;-webkit-transition:all 0.2s;transition:all 0.2s}.tdb-author-box .tdb-social-item:hover i{color:#000}.tdi_65{padding:21px;border:1px solid #ededed}.tdi_65 .tdb-author-photo{display:inline-block;width:130px;transform:translateZ(0);-webkit-transform:translateZ(0);pointer-events:auto}.tdi_65 .tdb-author-info{display:inline-block;width:100%;padding-top:21px;padding-left:0}.tdi_65 .tdb-block-inner{text-align:center}.tdi_65 .avatar,.tdi_65 .tdb-author-photo:before,.tdi_65 .tdb-author-photo:after{border-radius:0px}.tdi_65 .tdb-author-name{color:#238fee;font-family:Rubik!important;font-size:18px!important;line-height:1.2!important;font-weight:400!important}.tdi_65 .tdb-author-name:hover{color:#b361e0}.tdi_65 .tdb-author-url{color:#a5a5a5;font-family:Rubik!important;font-size:11px!important;line-height:1.1!important;font-weight:400!important}.tdi_65 .tdb-author-url:hover{color:#b361e0}.tdi_65 .tdb-author-descr{color:#080a19;font-family:Rubik!important;font-size:15px!important;font-weight:300!important}.tdi_65 .tdb-social-item i{font-size:16px;vertical-align:middle;line-height:24px;color:#080a19}.tdi_65 .tdb-social-item i.td-icon-twitter,.tdi_65 .tdb-social-item i.td-icon-linkedin,.tdi_65 .tdb-social-item i.td-icon-pinterest,.tdi_65 .tdb-social-item i.td-icon-blogger,.tdi_65 .tdb-social-item i.td-icon-vimeo{font-size:12.8px}.tdi_65 .tdb-social-item{min-width:24px;height:24px;margin:7px 14px 7px 0}.tdi_65 .tdb-social-item:hover i{color:#ffffff}.tdi_65 .tdb-social-item:hover{background-color:#238fee}.tdi_65 .tdb-author-photo:hover:before{opacity:0}@media (min-width:1019px) and (max-width:1140px){.tdi_65{border:1px solid #ededed}}@media (min-width:768px) and (max-width:1018px){.tdi_65{border:1px solid #ededed}.tdi_65 .tdb-author-descr{font-size:12px!important}}@media (max-width:767px){.tdi_65{border:1px solid #ededed}}</style><div class="tdb-block-inner td-fix-index"><a href="https://www.codeguru.com/author/codeguru-staff/" class="tdb-author-photo" title="CodeGuru Staff"><img alt='CodeGuru Staff' src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20130%20130'%3E%3C/svg%3E" data-lazy-srcset='https://assets.codeguru.com/uploads/2021/12/Website_Avatar__CodeGuru_3.png 2x' class='avatar avatar-130 photo' height='130' width='130' decoding='async' data-lazy-src="https://assets.codeguru.com/uploads/2021/12/Website_Avatar__CodeGuru_3-130x130.png"/><noscript><img alt='CodeGuru Staff' src='https://assets.codeguru.com/uploads/2021/12/Website_Avatar__CodeGuru_3-130x130.png' srcset='https://assets.codeguru.com/uploads/2021/12/Website_Avatar__CodeGuru_3.png 2x' class='avatar avatar-130 photo' height='130' width='130' loading='lazy' decoding='async'/></noscript></a><div class="tdb-author-info"><a href="https://www.codeguru.com/author/codeguru-staff/" class="tdb-author-name">CodeGuru Staff</a><div class="tdb-author-descr"></div><div class="tdb-author-social"></div></div></div></div></div></div></div><div class="vc_column_inner tdi_67 wpb_column vc_column_container tdc-inner-column td-pb-span9"> <style scoped>.tdi_67{vertical-align:baseline}.tdi_67 .vc_column-inner>.wpb_wrapper,.tdi_67 .vc_column-inner>.wpb_wrapper .tdc-elements{display:block}.tdi_67 .vc_column-inner>.wpb_wrapper .tdc-elements{width:100%}</style><div class="vc_column-inner"><div class="wpb_wrapper" ><div class="td_block_wrap td_flex_block_1 tdi_68 td-pb-border-top td_block_template_2 td_flex_block" data-td-block-uid="tdi_68" > <style> .td_block_template_2.widget > ul > li { margin-left: 0 !important; } .td_block_template_2 .td-block-title { font-size: 17px; font-weight: 500; margin-top: 0; margin-bottom: 16px; line-height: 31px; text-align: left; } .td_block_template_2 .td-block-title > * { color: var(--td_text_header_color, #000); } .td_block_template_2 .td-related-title a { padding: 0 20px 0 0; } @media (max-width: 767px) { .td_block_template_2 .td-related-title a { font-size: 15px; } } .td_block_template_2 .td-related-title .td-cur-simple-item { color: var(--td_theme_color, #4db2ec); } .td-theme-wrap .tdi_68 .td-block-title > *, .td-theme-wrap .tdi_68 .td-pulldown-filter-link:hover, .td-theme-wrap .tdi_68 .td-subcat-item a:hover, .td-theme-wrap .tdi_68 .td-subcat-item .td-cur-simple-item, .td-theme-wrap .tdi_68 .td-subcat-dropdown:hover .td-subcat-more span, .td-theme-wrap .tdi_68 .td-subcat-dropdown:hover .td-subcat-more i { color: #151948; } .td-theme-wrap .tdi_68 .td-subcat-dropdown ul:after { background-color: #151948; } .td-theme-wrap .tdi_68 .td_module_wrap:hover .entry-title a, .td-theme-wrap .tdi_68 .td_quote_on_blocks, .td-theme-wrap .tdi_68 .td-opacity-cat .td-post-category:hover, .td-theme-wrap .tdi_68 .td-opacity-read .td-read-more a:hover, .td-theme-wrap .tdi_68 .td-opacity-author .td-post-author-name a:hover, .td-theme-wrap .tdi_68 .td-instagram-user a { color: #151948; } .td-theme-wrap .tdi_68 .td-next-prev-wrap a:hover, .td-theme-wrap .tdi_68 .td-load-more-wrap a:hover { background-color: #151948; border-color: #151948; } .td-theme-wrap .tdi_68 .td-read-more a, .td-theme-wrap .tdi_68 .td-weather-information:before, .td-theme-wrap .tdi_68 .td-weather-week:before, .td-theme-wrap .tdi_68 .td-exchange-header:before, .td-theme-wrap .td-footer-wrapper .tdi_68 .td-post-category, .td-theme-wrap .tdi_68 .td-post-category:hover { background-color: #151948; } </style> <style>.tdi_68 .td-image-wrap{padding-bottom:60%}.tdi_68 .entry-thumb{background-position:center 50%}.tdi_68 .td-image-container{flex:0 0 30%;width:30%;display:block;order:0}.ie10 .tdi_68 .td-image-container,.ie11 .tdi_68 .td-image-container{flex:0 0 auto}.tdi_68 .td-module-container{flex-direction:row;padding:0 0 10px 0;border-width:0 0 2px 0;border-style:solid;border-color:#000;border-color:#eaeaea!important}.ie10 .tdi_68 .td-module-meta-info,.ie11 .tdi_68 .td-module-meta-info{flex:1}body .tdi_68 .td-favorite{font-size:36px;box-shadow:1px 1px 4px 0px rgba(0,0,0,0.2)}.tdi_68 .td-module-meta-info{padding:0px;border-color:#eaeaea}.tdi_68 .td_module_wrap{width:50%;float:left;padding-left:10px;padding-right:10px;padding-bottom:9px;margin-bottom:9px}.rtl .tdi_68 .td_module_wrap{float:right}.tdi_68 .td_block_inner{margin-left:-10px;margin-right:-10px}.tdi_68 .td-module-container:before{bottom:-9px;border-color:#eaeaea}.tdi_68 .td-post-vid-time{display:block}.tdi_68 .td-post-category{padding:6px 8px;background-color:#238fee;color:#ffffff;border-color:#ffffff;font-family:brother-xl!important;font-size:14px!important}.tdi_68 .td-post-category:not(.td-post-extra-category){display:none}.tdi_68 .td-author-photo .avatar{width:20px;height:20px;margin-right:6px;border-radius:50%}.tdi_68 .td-excerpt{display:none;margin:0px;column-count:1;column-gap:48px}.tdi_68 .td-audio-player{opacity:1;visibility:visible;height:auto;font-size:13px}.tdi_68 .td-author-date{display:inline}.tdi_68 .entry-review-stars{display:inline-block}.tdi_68 .td-icon-star,.tdi_68 .td-icon-star-empty,.tdi_68 .td-icon-star-half{font-size:15px}.tdi_68 .td-module-comments{display:none}.tdi_68 .td_module_wrap:nth-child(2n+1){clear:both}.tdi_68 .td_module_wrap:nth-last-child(-n+2){margin-bottom:0;padding-bottom:0}.tdi_68 .td_module_wrap:nth-last-child(-n+2) .td-module-container:before{display:none}.tdi_68 .td-module-thumb a:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:-webkit-linear-gradient(90deg,rgba(38,189,233,0.29),rgba(0,126,237,0.26));background:linear-gradient(90deg,rgba(38,189,233,0.29),rgba(0,126,237,0.26))}.tdi_68 .td-post-category:hover{background-color:#f2f2f2!important;color:#238fee;border-color:#ffffff}.tdi_68 .td-module-title a{color:#151948;box-shadow:inset 0 0 0 0 #238fee}.tdi_68 .td_module_wrap:hover .td-module-title a{color:#151948!important;box-shadow:inset 0 -2px 0 0 #238fee}.tdi_68 .td-post-author-name a{color:#238fee}.tdi_68 .td-post-author-name:hover a{color:#b361e0}.tdi_68 .td-post-date,.tdi_68 .td-post-author-name span{color:#a5a5a5}.tdi_68.td_with_ajax_pagination .td-next-prev-wrap a,.tdi_68 .td-load-more-wrap a{color:#a5a5a5;background-color:#ffffff;border-color:#dbdbdb;border-width:0px}.tdi_68 .td-load-more-wrap a .td-load-more-icon-svg svg,.tdi_68 .td-load-more-wrap a .td-load-more-icon-svg svg *,.tdi_68.td_with_ajax_pagination .td-next-prev-wrap .td-next-prev-icon-svg svg,.tdi_68.td_with_ajax_pagination .td-next-prev-wrap .td-next-prev-icon-svg svg *{fill:#a5a5a5}.tdi_68.td_with_ajax_pagination .td-next-prev-wrap a:hover,.tdi_68 .td-load-more-wrap a:hover{color:#ffffff;background-color:#238fee!important;border-color:#238fee!important;border-color:#f2f2f2!important}.tdi_68 .td-load-more-wrap a:hover .td-load-more-icon-svg svg,.tdi_68 .td-load-more-wrap a:hover .td-load-more-icon-svg svg *,.tdi_68.td_with_ajax_pagination .td-next-prev-wrap a:hover .td-next-prev-icon-svg svg,.tdi_68.td_with_ajax_pagination .td-next-prev-wrap a:hover .td-next-prev-icon-svg svg *{fill:#ffffff}.tdi_68 .entry-title{margin:0 0 5px 0;font-family:brother-xl!important;font-size:17px!important;line-height:1.2!important;font-weight:700!important}.tdi_68 .td-read-more{margin:15px 0 0 0}.tdi_68 .td-read-more a{border-width:2px;border-style:solid;border-color:#000;background-color:#238fee!important;color:#ffffff;border-color:#ffffff!important;font-family:brother-xl!important;font-size:12px!important;font-weight:700!important}.tdi_68 .td-read-more:hover a{background-color:#ffffff!important;color:#a5a5a5;border-color:#dbdbdb!important}.tdi_68.td_with_ajax_pagination .td-next-prev-wrap,.tdi_68 .td-load-more-wrap{margin-top:0px}.tdi_68 .td-block-title a,.tdi_68 .td-block-title span{font-family:brother-xl!important;font-size:30px!important;font-weight:700!important;text-transform:capitalize!important}.tdi_68 .td-subcat-list a,.tdi_68 .td-subcat-dropdown span,.tdi_68 .td-subcat-dropdown a{font-family:brother-xl!important}.tdi_68 .td-editor-date,.tdi_68 .td-editor-date .td-post-author-name a,.tdi_68 .td-editor-date .entry-date,.tdi_68 .td-module-comments a{font-family:Rubik!important;font-size:14px!important;font-weight:400!important}.tdi_68 .td-load-more-wrap a{font-family:brother-xl!important}html:not([class*='ie']) .tdi_68 .td-module-container:hover .entry-thumb:before{opacity:0}html:not([class*='ie']) .tdi_68 .entry-thumb{filter:brightness(1) contrast(1) saturate(1);transition:all 1s ease;-webkit-transition:all 1s ease}@media (min-width:768px){.tdi_68 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}@media (min-width:1141px){html:not([class*='ie']) .tdi_68 .td-module-container:hover .entry-thumb{filter:brightness(0.7) contrast(0.7) saturate(1)}}@media (min-width:1019px) and (max-width:1140px){.tdi_68 .td_module_wrap{padding-bottom:9px;margin-bottom:9px;clear:none!important;padding-bottom:9px!important;margin-bottom:9px!important}.tdi_68 .td-module-container:before{bottom:-9px}.tdi_68 .td_module_wrap:nth-child(2n+1){clear:both!important}.tdi_68 .td_module_wrap:nth-last-child(-n+2){margin-bottom:0!important;padding-bottom:0!important}.tdi_68 .td_module_wrap .td-module-container:before{display:block!important}.tdi_68 .td_module_wrap:nth-last-child(-n+2) .td-module-container:before{display:none!important}.tdi_68 .td-module-title a{box-shadow:inset 0 0 0 0 #238fee}.tdi_68 .td_module_wrap:hover .td-module-title a{box-shadow:inset 0 -2px 0 0 #238fee}.tdi_68 .entry-title{font-size:14px!important}@media (min-width:768px){.tdi_68 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}}@media (min-width:768px) and (max-width:1018px){.tdi_68 .td-image-wrap{padding-bottom:90%}.tdi_68 .td-module-meta-info{padding:0 0 0 10px}.tdi_68 .td_module_wrap{padding-bottom:8px;margin-bottom:8px;clear:none!important;padding-bottom:8px!important;margin-bottom:8px!important}.tdi_68 .td-module-container:before{bottom:-8px}.tdi_68 .td_module_wrap:nth-child(2n+1){clear:both!important}.tdi_68 .td_module_wrap:nth-last-child(-n+2){margin-bottom:0!important;padding-bottom:0!important}.tdi_68 .td_module_wrap .td-module-container:before{display:block!important}.tdi_68 .td_module_wrap:nth-last-child(-n+2) .td-module-container:before{display:none!important}.tdi_68 .td-module-title a{box-shadow:inset 0 0 0 0 #238fee}.tdi_68 .td_module_wrap:hover .td-module-title a{box-shadow:inset 0 -2px 0 0 #238fee}.tdi_68 .entry-title{font-size:12px!important}@media (min-width:768px){.tdi_68 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}}@media (max-width:767px){.tdi_68 .td-module-meta-info{padding:0px 5px 5px 15px}.tdi_68 .td_module_wrap{width:100%;float:left;padding-bottom:9px;margin-bottom:9px;padding-bottom:9px!important;margin-bottom:9px!important}.rtl .tdi_68 .td_module_wrap{float:right}.tdi_68 .td-module-container:before{bottom:-9px}.tdi_68 .td_module_wrap:nth-last-child(1){margin-bottom:0!important;padding-bottom:0!important}.tdi_68 .td_module_wrap .td-module-container:before{display:block!important}.tdi_68 .td_module_wrap:nth-last-child(1) .td-module-container:before{display:none!important}.tdi_68 .td-module-title a{box-shadow:inset 0 0 0 0 #238fee}.tdi_68 .td_module_wrap:hover .td-module-title a{box-shadow:inset 0 -2px 0 0 #238fee}.tdi_68 .entry-title{font-size:15px!important}@media (min-width:768px){.tdi_68 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}}</style><script data-src="data:text/javascript;base64,dmFyIGJsb2NrX3RkaV82OCA9IG5ldyB0ZEJsb2NrKCk7CmJsb2NrX3RkaV82OC5pZCA9ICJ0ZGlfNjgiOwpibG9ja190ZGlfNjguYXR0cyA9ICd7ImZfaGVhZGVyX2ZvbnRfdHJhbnNmb3JtIjoiY2FwaXRhbGl6ZSIsImFqYXhfcGFnaW5hdGlvbiI6IiIsImNhdGVnb3J5X2lkIjoiX21vcmVfYXV0aG9yIiwic29ydCI6IiIsImFsbF9tb2R1bGVzX3NwYWNlIjoiZXlKd2IzSjBjbUZwZENJNklqRTJJaXdpWVd4c0lqb2lNVGdpZlE9PSIsImltYWdlX2Zsb2F0ZWQiOiJmbG9hdF9sZWZ0IiwiaW1hZ2Vfd2lkdGgiOiIzMCIsImltYWdlX2hlaWdodCI6ImV5SmhiR3dpT2lJMk1DVWlMQ0p3YjNKMGNtRnBkQ0k2SWprd0luMD0iLCJtZXRhX3BhZGRpbmciOiJleUp3YjNKMGNtRnBkQ0k2SWpBZ01DQXdJREV3Y0hnaUxDSndhRzl1WlNJNklqQndlQ0ExY0hnZ05YQjRJREUxY0hnaUxDSmhiR3dpT2lJd0luMD0iLCJzaG93X2V4Y2VycHQiOiJub25lIiwic2hvd19idG4iOiIiLCJzaG93X2NvbSI6Im5vbmUiLCJzaG93X2RhdGUiOiIiLCJzaG93X2F1dGhvciI6IiIsImJsb2NrX3RlbXBsYXRlX2lkIjoidGRfYmxvY2tfdGVtcGxhdGVfMiIsImZfdGl0bGVfZm9udF9zaXplIjoiZXlKd2IzSjBjbUZwZENJNklqRXlJaXdpYkdGdVpITmpZWEJsSWpvaU1UUWlMQ0p3YUc5dVpTSTZJakUxSWl3aVlXeHNJam9pTVRjaWZRPT0iLCJmX3RpdGxlX2ZvbnRfbGluZV9oZWlnaHQiOiIxLjIiLCJmX3RpdGxlX2ZvbnRfd2VpZ2h0IjoiNzAwIiwiZl9oZWFkZXJfZm9udF9mYW1pbHkiOiJ0a18xIiwiZl9oZWFkZXJfZm9udF93ZWlnaHQiOiI3MDAiLCJmX3RpdGxlX2ZvbnRfZmFtaWx5IjoidGtfMSIsInNob3dfY2F0IjoiZXlKc1lXNWtjMk5oY0dVaU9pSnViMjVsSWl3aWNHOXlkSEpoYVhRaU9pSnViMjVsSWl3aWNHaHZibVVpT2lKdWIyNWxJaXdpWVd4c0lqb2libTl1WlNKOSIsIm1jMV9lbCI6IjEwIiwibW9kdWxlc19nYXAiOiIyMCIsIm1vZHVsZXNfY2F0ZWdvcnkiOiIiLCJtb2R1bGVzX2NhdGVnb3J5X3BhZGRpbmciOiI2cHggOHB4IiwiYXJ0X2V4Y2VycHQiOiIwIiwicGFnX2JvcmRlcl93aWR0aCI6IjAiLCJwcmV2X3RkaWNvbiI6InRkLWljb24tbGluZWUiLCJmX2FqYXhfZm9udF9mYW1pbHkiOiJ0a18xIiwiZl9tb3JlX2ZvbnRfZmFtaWx5IjoidGtfMSIsImZfY2F0X2ZvbnRfZmFtaWx5IjoidGtfMSIsImZfbWV0YV9mb250X2ZhbWlseSI6IjcxMiIsImZfbWV0YV9mb250X3dlaWdodCI6IjQwMCIsImZfbWV0YV9mb250X3NpemUiOiIxNCIsImZfY2F0X2ZvbnRfc2l6ZSI6IjE0IiwiZmVfYnJpZ2h0bmVzc19oIjoiMC43IiwiZmVfY29udHJhc3RfaCI6IjAuNyIsImNvbG9yX292ZXJsYXkiOiJleUowZVhCbElqb2laM0poWkdsbGJuUWlMQ0pqYjJ4dmNqRWlPaUp5WjJKaEtEQXNNVEkyTERJek55d3dMakkyS1NJc0ltTnZiRzl5TWlJNkluSm5ZbUVvTXpnc01UZzVMREl6TXl3d0xqSTVLU0lzSW0xcGVHVmtRMjlzYjNKeklqcGJYU3dpWkdWbmNtVmxJam9pT1RBaUxDSmpjM01pT2lKaVlXTnJaM0p2ZFc1a09pQXRkMlZpYTJsMExXeHBibVZoY2kxbmNtRmthV1Z1ZENnNU1HUmxaeXh5WjJKaEtETTRMREU0T1N3eU16TXNNQzR5T1Nrc2NtZGlZU2d3TERFeU5pd3lNemNzTUM0eU5pa3BPMkpoWTJ0bmNtOTFibVE2SUd4cGJtVmhjaTFuY21Ga2FXVnVkQ2c1TUdSbFp5eHlaMkpoS0RNNExERTRPU3d5TXpNc01DNHlPU2tzY21kaVlTZ3dMREV5Tml3eU16Y3NNQzR5TmlrcE95SXNJbU56YzFCaGNtRnRjeUk2SWprd1pHVm5MSEpuWW1Fb016Z3NNVGc1TERJek15d3dMakk1S1N4eVoySmhLREFzTVRJMkxESXpOeXd3TGpJMktTSjkiLCJ0aXRsZV90eHQiOiIjMTUxOTQ4IiwidGl0bGVfdHh0X2hvdmVyIjoiIzE1MTk0OCIsImFsbF91bmRlcmxpbmVfaGVpZ2h0IjoiMiIsImFsbF91bmRlcmxpbmVfY29sb3IiOiIjMjM4ZmVlIiwiY2F0X2JnIjoiIzIzOGZlZSIsImNhdF9iZ19ob3ZlciI6IiNmMmYyZjIiLCJjYXRfdHh0X2hvdmVyIjoiIzIzOGZlZSIsImNhdF90eHQiOiIjZmZmZmZmIiwiY2F0X2JvcmRlciI6IiNmZmZmZmYiLCJjYXRfYm9yZGVyX2hvdmVyIjoiI2ZmZmZmZiIsImF1dGhvcl90eHQiOiIjMjM4ZmVlIiwiYXV0aG9yX3R4dF9ob3ZlciI6IiNiMzYxZTAiLCJkYXRlX3R4dCI6IiNhNWE1YTUiLCJwYWdfdGV4dCI6IiNhNWE1YTUiLCJwYWdfaF90ZXh0IjoiI2ZmZmZmZiIsInBhZ19iZyI6IiNmZmZmZmYiLCJwYWdfaF9iZyI6IiMyMzhmZWUiLCJwYWdfaF9ib3JkZXIiOiIjZjJmMmYyIiwicGFnX2JvcmRlciI6IiNkYmRiZGIiLCJoZWFkZXJfdGV4dF9jb2xvciI6IiMxNTE5NDgiLCJoaWRlX2ltYWdlIjoieWVzIiwicGFnX3NwYWNlIjoiMCIsImZfaGVhZGVyX2ZvbnRfc2l6ZSI6IjMwIiwibGltaXQiOiI0IiwibWMxX3RsIjoiMjAiLCJhcnRfYnRuIjoiMTVweCAwIDAgMCIsImFydF90aXRsZSI6IjAgMCA1cHggMCIsIm1vZHVsZXNfYm9yZGVyX3NpemUiOiIwIDAgMnB4IDAiLCJtX3BhZGRpbmciOiIwIDAgMTBweCAwIiwiYnRuX2JnIjoiIzIzOGZlZSIsImJ0bl9iZ19ob3ZlciI6IiNmZmZmZmYiLCJidG5fdHh0X2hvdmVyIjoiI2E1YTVhNSIsImJ0bl9ib3JkZXJfaG92ZXIiOiIjZGJkYmRiIiwiYnRuX3R4dCI6IiNmZmZmZmYiLCJidG5fYm9yZGVyIjoiI2ZmZmZmZiIsImZfYnRuX2ZvbnRfc2l6ZSI6IjEyIiwiZl9idG5fZm9udF93ZWlnaHQiOiI3MDAiLCJmX2J0bl9mb250X2ZhbWlseSI6InRrXzEiLCJidG5fYm9yZGVyX3dpZHRoIjoiMiIsIm1vZHVsZXNfb25fcm93IjoiZXlKaGJHd2lPaUkxTUNVaUxDSndhRzl1WlNJNklqRXdNQ1VpZlE9PSIsImN1c3RvbV90aXRsZSI6Ik1vcmUgYnkgQXV0aG9yIiwiYmxvY2tfdHlwZSI6InRkX2ZsZXhfYmxvY2tfMSIsInNlcGFyYXRvciI6IiIsImN1c3RvbV91cmwiOiIiLCJ0aXRsZV90YWciOiIiLCJtYzFfdGl0bGVfdGFnIjoiIiwicG9zdF9pZHMiOiItMTQ2NjUiLCJ0YXhvbm9taWVzIjoiIiwiY2F0ZWdvcnlfaWRzIjoiIiwiaW5fYWxsX3Rlcm1zIjoiIiwidGFnX3NsdWciOiIiLCJhdXRvcnNfaWQiOiIiLCJpbnN0YWxsZWRfcG9zdF90eXBlcyI6IiIsImluY2x1ZGVfY2ZfcG9zdHMiOiIiLCJleGNsdWRlX2NmX3Bvc3RzIjoiIiwicG9wdWxhcl9ieV9kYXRlIjoiIiwibGlua2VkX3Bvc3RzIjoiIiwiZmF2b3VyaXRlX29ubHkiOiIiLCJvZmZzZXQiOiIiLCJvcGVuX2luX25ld193aW5kb3ciOiIiLCJzaG93X21vZGlmaWVkX2RhdGUiOiIiLCJ0aW1lX2FnbyI6IiIsInRpbWVfYWdvX2FkZF90eHQiOiJhZ28iLCJ0aW1lX2Fnb190eHRfcG9zIjoiIiwicmV2aWV3X3NvdXJjZSI6IiIsImVsX2NsYXNzIjoiIiwidGRfcXVlcnlfY2FjaGUiOiIiLCJ0ZF9xdWVyeV9jYWNoZV9leHBpcmF0aW9uIjoiIiwidGRfYWpheF9maWx0ZXJfdHlwZSI6IiIsInRkX2FqYXhfZmlsdGVyX2lkcyI6IiIsInRkX2ZpbHRlcl9kZWZhdWx0X3R4dCI6IkFsbCIsInRkX2FqYXhfcHJlbG9hZGluZyI6IiIsImNvbnRhaW5lcl93aWR0aCI6IiIsIm1vZHVsZXNfYm9yZGVyX3N0eWxlIjoiIiwibW9kdWxlc19ib3JkZXJfY29sb3IiOiIjZWFlYWVhIiwibW9kdWxlc19ib3JkZXJfcmFkaXVzIjoiIiwibW9kdWxlc19kaXZpZGVyIjoiIiwibW9kdWxlc19kaXZpZGVyX2NvbG9yIjoiI2VhZWFlYSIsImhfZWZmZWN0IjoiIiwiaW1hZ2Vfc2l6ZSI6IiIsImltYWdlX2FsaWdubWVudCI6IjUwIiwiaW1hZ2VfcmFkaXVzIjoiIiwic2hvd19mYXZvdXJpdGVzIjoiIiwiZmF2X3NpemUiOiIyIiwiZmF2X3NwYWNlIjoiIiwiZmF2X2ljb19jb2xvciI6IiIsImZhdl9pY29fY29sb3JfaCI6IiIsImZhdl9iZyI6IiIsImZhdl9iZ19oIjoiIiwiZmF2X3NoYWRvd19zaGFkb3dfaGVhZGVyIjoiIiwiZmF2X3NoYWRvd19zaGFkb3dfdGl0bGUiOiJTaGFkb3ciLCJmYXZfc2hhZG93X3NoYWRvd19zaXplIjoiIiwiZmF2X3NoYWRvd19zaGFkb3dfb2Zmc2V0X2hvcml6b250YWwiOiIiLCJmYXZfc2hhZG93X3NoYWRvd19vZmZzZXRfdmVydGljYWwiOiIiLCJmYXZfc2hhZG93X3NoYWRvd19zcHJlYWQiOiIiLCJmYXZfc2hhZG93X3NoYWRvd19jb2xvciI6IiIsInZpZGVvX2ljb24iOiIiLCJ2aWRlb19wb3B1cCI6InllcyIsInZpZGVvX3JlYyI6IiIsInNwb3RfaGVhZGVyIjoiIiwidmlkZW9fcmVjX3RpdGxlIjoiIiwidmlkZW9fcmVjX2NvbG9yIjoiIiwidmlkZW9fcmVjX2Rpc2FibGUiOiIiLCJhdXRvcGxheV92aWQiOiJ5ZXMiLCJzaG93X3ZpZF90IjoiYmxvY2siLCJ2aWRfdF9tYXJnaW4iOiIiLCJ2aWRfdF9wYWRkaW5nIjoiIiwidmlkZW9fdGl0bGVfY29sb3IiOiIiLCJ2aWRlb190aXRsZV9jb2xvcl9oIjoiIiwidmlkZW9fYmciOiIiLCJ2aWRlb19vdmVybGF5IjoiIiwidmlkX3RfY29sb3IiOiIiLCJ2aWRfdF9iZ19jb2xvciI6IiIsImZfdmlkX3RpdGxlX2ZvbnRfaGVhZGVyIjoiIiwiZl92aWRfdGl0bGVfZm9udF90aXRsZSI6IlZpZGVvIHBvcC11cCBhcnRpY2xlIHRpdGxlIiwiZl92aWRfdGl0bGVfZm9udF9zZXR0aW5ncyI6IiIsImZfdmlkX3RpdGxlX2ZvbnRfZmFtaWx5IjoiIiwiZl92aWRfdGl0bGVfZm9udF9zaXplIjoiIiwiZl92aWRfdGl0bGVfZm9udF9saW5lX2hlaWdodCI6IiIsImZfdmlkX3RpdGxlX2ZvbnRfc3R5bGUiOiIiLCJmX3ZpZF90aXRsZV9mb250X3dlaWdodCI6IiIsImZfdmlkX3RpdGxlX2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl92aWRfdGl0bGVfZm9udF9zcGFjaW5nIjoiIiwiZl92aWRfdGl0bGVfIjoiIiwiZl92aWRfdGltZV9mb250X3RpdGxlIjoiVmlkZW8gZHVyYXRpb24gdGV4dCIsImZfdmlkX3RpbWVfZm9udF9zZXR0aW5ncyI6IiIsImZfdmlkX3RpbWVfZm9udF9mYW1pbHkiOiIiLCJmX3ZpZF90aW1lX2ZvbnRfc2l6ZSI6IiIsImZfdmlkX3RpbWVfZm9udF9saW5lX2hlaWdodCI6IiIsImZfdmlkX3RpbWVfZm9udF9zdHlsZSI6IiIsImZfdmlkX3RpbWVfZm9udF93ZWlnaHQiOiIiLCJmX3ZpZF90aW1lX2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl92aWRfdGltZV9mb250X3NwYWNpbmciOiIiLCJmX3ZpZF90aW1lXyI6IiIsIm1ldGFfaW5mb19hbGlnbiI6IiIsIm1ldGFfaW5mb19ob3JpeiI6ImxheW91dC1kZWZhdWx0IiwibWV0YV93aWR0aCI6IiIsIm1ldGFfbWFyZ2luIjoiIiwibWV0YV9zcGFjZSI6IiIsIm1ldGFfaW5mb19ib3JkZXJfc2l6ZSI6IiIsIm1ldGFfaW5mb19ib3JkZXJfc3R5bGUiOiIiLCJtZXRhX2luZm9fYm9yZGVyX2NvbG9yIjoiI2VhZWFlYSIsIm1ldGFfaW5mb19ib3JkZXJfcmFkaXVzIjoiIiwibW9kdWxlc19jYXRlZ29yeV9tYXJnaW4iOiIiLCJtb2R1bGVzX2NhdF9ib3JkZXIiOiIiLCJtb2R1bGVzX2NhdGVnb3J5X3JhZGl1cyI6IjAiLCJtb2R1bGVzX2V4dHJhX2NhdCI6IiIsImF1dGhvcl9waG90byI6IiIsImF1dGhvcl9waG90b19zaXplIjoiIiwiYXV0aG9yX3Bob3RvX3NwYWNlIjoiIiwiYXV0aG9yX3Bob3RvX3JhZGl1cyI6IiIsInNob3dfcmV2aWV3IjoiaW5saW5lLWJsb2NrIiwicmV2aWV3X3NwYWNlIjoiIiwicmV2aWV3X3NpemUiOiIyLjUiLCJyZXZpZXdfZGlzdGFuY2UiOiIiLCJleGNlcnB0X2NvbCI6IjEiLCJleGNlcnB0X2dhcCI6IiIsImV4Y2VycHRfbWlkZGxlIjoiIiwiZXhjZXJwdF9pbmxpbmUiOiIiLCJzaG93X2F1ZGlvIjoiYmxvY2siLCJoaWRlX2F1ZGlvIjoiIiwiYXJ0X2F1ZGlvIjoiIiwiYXJ0X2F1ZGlvX3NpemUiOiIxLjUiLCJidG5fdGl0bGUiOiIiLCJidG5fbWFyZ2luIjoiIiwiYnRuX3BhZGRpbmciOiIiLCJidG5fcmFkaXVzIjoiIiwicGFnX3BhZGRpbmciOiIiLCJwYWdfYm9yZGVyX3JhZGl1cyI6IiIsIm5leHRfdGRpY29uIjoiIiwicGFnX2ljb25zX3NpemUiOiIiLCJmX2hlYWRlcl9mb250X2hlYWRlciI6IiIsImZfaGVhZGVyX2ZvbnRfdGl0bGUiOiJCbG9jayBoZWFkZXIiLCJmX2hlYWRlcl9mb250X3NldHRpbmdzIjoiIiwiZl9oZWFkZXJfZm9udF9saW5lX2hlaWdodCI6IiIsImZfaGVhZGVyX2ZvbnRfc3R5bGUiOiIiLCJmX2hlYWRlcl9mb250X3NwYWNpbmciOiIiLCJmX2hlYWRlcl8iOiIiLCJmX2FqYXhfZm9udF90aXRsZSI6IkFqYXggY2F0ZWdvcmllcyIsImZfYWpheF9mb250X3NldHRpbmdzIjoiIiwiZl9hamF4X2ZvbnRfc2l6ZSI6IiIsImZfYWpheF9mb250X2xpbmVfaGVpZ2h0IjoiIiwiZl9hamF4X2ZvbnRfc3R5bGUiOiIiLCJmX2FqYXhfZm9udF93ZWlnaHQiOiIiLCJmX2FqYXhfZm9udF90cmFuc2Zvcm0iOiIiLCJmX2FqYXhfZm9udF9zcGFjaW5nIjoiIiwiZl9hamF4XyI6IiIsImZfbW9yZV9mb250X3RpdGxlIjoiTG9hZCBtb3JlIGJ1dHRvbiIsImZfbW9yZV9mb250X3NldHRpbmdzIjoiIiwiZl9tb3JlX2ZvbnRfc2l6ZSI6IiIsImZfbW9yZV9mb250X2xpbmVfaGVpZ2h0IjoiIiwiZl9tb3JlX2ZvbnRfc3R5bGUiOiIiLCJmX21vcmVfZm9udF93ZWlnaHQiOiIiLCJmX21vcmVfZm9udF90cmFuc2Zvcm0iOiIiLCJmX21vcmVfZm9udF9zcGFjaW5nIjoiIiwiZl9tb3JlXyI6IiIsImZfdGl0bGVfZm9udF9oZWFkZXIiOiIiLCJmX3RpdGxlX2ZvbnRfdGl0bGUiOiJBcnRpY2xlIHRpdGxlIiwiZl90aXRsZV9mb250X3NldHRpbmdzIjoiIiwiZl90aXRsZV9mb250X3N0eWxlIjoiIiwiZl90aXRsZV9mb250X3RyYW5zZm9ybSI6IiIsImZfdGl0bGVfZm9udF9zcGFjaW5nIjoiIiwiZl90aXRsZV8iOiIiLCJmX2NhdF9mb250X3RpdGxlIjoiQXJ0aWNsZSBjYXRlZ29yeSB0YWciLCJmX2NhdF9mb250X3NldHRpbmdzIjoiIiwiZl9jYXRfZm9udF9saW5lX2hlaWdodCI6IiIsImZfY2F0X2ZvbnRfc3R5bGUiOiIiLCJmX2NhdF9mb250X3dlaWdodCI6IiIsImZfY2F0X2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl9jYXRfZm9udF9zcGFjaW5nIjoiIiwiZl9jYXRfIjoiIiwiZl9tZXRhX2ZvbnRfdGl0bGUiOiJBcnRpY2xlIG1ldGEgaW5mbyIsImZfbWV0YV9mb250X3NldHRpbmdzIjoiIiwiZl9tZXRhX2ZvbnRfbGluZV9oZWlnaHQiOiIiLCJmX21ldGFfZm9udF9zdHlsZSI6IiIsImZfbWV0YV9mb250X3RyYW5zZm9ybSI6IiIsImZfbWV0YV9mb250X3NwYWNpbmciOiIiLCJmX21ldGFfIjoiIiwiZl9leF9mb250X3RpdGxlIjoiQXJ0aWNsZSBleGNlcnB0IiwiZl9leF9mb250X3NldHRpbmdzIjoiIiwiZl9leF9mb250X2ZhbWlseSI6IiIsImZfZXhfZm9udF9zaXplIjoiIiwiZl9leF9mb250X2xpbmVfaGVpZ2h0IjoiIiwiZl9leF9mb250X3N0eWxlIjoiIiwiZl9leF9mb250X3dlaWdodCI6IiIsImZfZXhfZm9udF90cmFuc2Zvcm0iOiIiLCJmX2V4X2ZvbnRfc3BhY2luZyI6IiIsImZfZXhfIjoiIiwiZl9idG5fZm9udF90aXRsZSI6IkFydGljbGUgcmVhZCBtb3JlIGJ1dHRvbiIsImZfYnRuX2ZvbnRfc2V0dGluZ3MiOiIiLCJmX2J0bl9mb250X2xpbmVfaGVpZ2h0IjoiIiwiZl9idG5fZm9udF9zdHlsZSI6IiIsImZfYnRuX2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl9idG5fZm9udF9zcGFjaW5nIjoiIiwiZl9idG5fIjoiIiwibWl4X2NvbG9yIjoiIiwibWl4X3R5cGUiOiIiLCJmZV9icmlnaHRuZXNzIjoiMSIsImZlX2NvbnRyYXN0IjoiMSIsImZlX3NhdHVyYXRlIjoiMSIsIm1peF9jb2xvcl9oIjoiIiwibWl4X3R5cGVfaCI6IiIsImZlX3NhdHVyYXRlX2giOiIxIiwibV9iZyI6IiIsInNoYWRvd19zaGFkb3dfaGVhZGVyIjoiIiwic2hhZG93X3NoYWRvd190aXRsZSI6Ik1vZHVsZSBTaGFkb3ciLCJzaGFkb3dfc2hhZG93X3NpemUiOiIiLCJzaGFkb3dfc2hhZG93X29mZnNldF9ob3Jpem9udGFsIjoiIiwic2hhZG93X3NoYWRvd19vZmZzZXRfdmVydGljYWwiOiIiLCJzaGFkb3dfc2hhZG93X3NwcmVhZCI6IiIsInNoYWRvd19zaGFkb3dfY29sb3IiOiIiLCJjYXRfc3R5bGUiOiIiLCJtZXRhX2JnIjoiIiwiZXhfdHh0IjoiIiwiY29tX2JnIjoiIiwiY29tX3R4dCI6IiIsInJldl90eHQiOiIiLCJhdWRpb19idG5fY29sb3IiOiIiLCJhdWRpb190aW1lX2NvbG9yIjoiIiwiYXVkaW9fYmFyX2NvbG9yIjoiIiwiYXVkaW9fYmFyX2N1cnJfY29sb3IiOiIiLCJzaGFkb3dfbV9zaGFkb3dfaGVhZGVyIjoiIiwic2hhZG93X21fc2hhZG93X3RpdGxlIjoiTWV0YSBpbmZvIHNoYWRvdyIsInNoYWRvd19tX3NoYWRvd19zaXplIjoiIiwic2hhZG93X21fc2hhZG93X29mZnNldF9ob3Jpem9udGFsIjoiIiwic2hhZG93X21fc2hhZG93X29mZnNldF92ZXJ0aWNhbCI6IiIsInNoYWRvd19tX3NoYWRvd19zcHJlYWQiOiIiLCJzaGFkb3dfbV9zaGFkb3dfY29sb3IiOiIiLCJhamF4X3BhZ2luYXRpb25fbmV4dF9wcmV2X3N3aXBlIjoiIiwiYWpheF9wYWdpbmF0aW9uX2luZmluaXRlX3N0b3AiOiIiLCJjc3MiOiIiLCJ0ZGNfY3NzIjoiIiwidGRfY29sdW1uX251bWJlciI6MSwiaGVhZGVyX2NvbG9yIjoiIiwiY29sb3JfcHJlc2V0IjoiIiwiYm9yZGVyX3RvcCI6IiIsImNsYXNzIjoidGRpXzY4IiwidGRjX2Nzc19jbGFzcyI6InRkaV82OCIsInRkY19jc3NfY2xhc3Nfc3R5bGUiOiJ0ZGlfNjhfcmFuZF9zdHlsZSIsImxpdmVfZmlsdGVyIjoiY3VyX3Bvc3Rfc2FtZV9hdXRob3IiLCJsaXZlX2ZpbHRlcl9jdXJfcG9zdF9hdXRob3IiOiIyOSJ9JzsKYmxvY2tfdGRpXzY4LnRkX2NvbHVtbl9udW1iZXIgPSAiMSI7CmJsb2NrX3RkaV82OC5ibG9ja190eXBlID0gInRkX2ZsZXhfYmxvY2tfMSI7CmJsb2NrX3RkaV82OC5wb3N0X2NvdW50ID0gIjQiOwpibG9ja190ZGlfNjguZm91bmRfcG9zdHMgPSAiNzc2NiI7CmJsb2NrX3RkaV82OC5oZWFkZXJfY29sb3IgPSAiIjsKYmxvY2tfdGRpXzY4LmFqYXhfcGFnaW5hdGlvbl9pbmZpbml0ZV9zdG9wID0gIiI7CmJsb2NrX3RkaV82OC5tYXhfbnVtX3BhZ2VzID0gIjE5NDIiOwp0ZEJsb2Nrc0FycmF5LnB1c2goYmxvY2tfdGRpXzY4KTsK" data-type="lazy"></script><div class="td-block-title-wrap"><h4 class="td-block-title"><span class="td-pulldown-size">More by Author</span></h4></div><div id=tdi_68 class="td_block_inner td-mc1-wrap"> <div class="td_module_flex td_module_flex_1 td_module_wrap td-animation-stack td-cpt-post"> <div class="td-module-container td-category-pos-"> <div class="td-module-meta-info"> <h3 class="entry-title td-module-title"><a href="https://www.codeguru.com/tools/video-game-development-tools/" rel="bookmark" title="Best Video Game Development Tools">Best Video Game Development Tools</a></h3> <div class="td-editor-date"> <a href="https://www.codeguru.com/tools/" class="td-post-category" >Tools</a> <span class="td-author-date"> <span class="td-post-author-name"><a href="https://www.codeguru.com/author/codeguru-staff/">CodeGuru Staff</a> <span>-</span> </span> <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2022-09-30T01:18:10+00:00" >September 30, 2022</time></span> </span> </div> <div class="td-read-more"> <a href="https://www.codeguru.com/tools/video-game-development-tools/" title="Read more" >Read more</a> </div> </div> </div> </div> <div class="td_module_flex td_module_flex_1 td_module_wrap td-animation-stack td-cpt-post"> <div class="td-module-container td-category-pos-"> <div class="td-module-meta-info"> <h3 class="entry-title td-module-title"><a href="https://www.codeguru.com/cplusplus/video-game-careers/" rel="bookmark" title="Video Game Careers Overview">Video Game Careers Overview</a></h3> <div class="td-editor-date"> <a href="https://www.codeguru.com/cplusplus/" class="td-post-category" >C++</a> <span class="td-author-date"> <span class="td-post-author-name"><a href="https://www.codeguru.com/author/codeguru-staff/">CodeGuru Staff</a> <span>-</span> </span> <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2022-09-18T16:52:52+00:00" >September 18, 2022</time></span> </span> </div> <div class="td-read-more"> <a href="https://www.codeguru.com/cplusplus/video-game-careers/" title="Read more" >Read more</a> </div> </div> </div> </div> <div class="td_module_flex td_module_flex_1 td_module_wrap td-animation-stack td-cpt-post"> <div class="td-module-container td-category-pos-"> <div class="td-module-meta-info"> <h3 class="entry-title td-module-title"><a href="https://www.codeguru.com/tools/task-management-software-developers/" rel="bookmark" title="The Top Task Management Software for Developers">The Top Task Management Software for Developers</a></h3> <div class="td-editor-date"> <a href="https://www.codeguru.com/tools/" class="td-post-category" >Tools</a> <span class="td-author-date"> <span class="td-post-author-name"><a href="https://www.codeguru.com/author/codeguru-staff/">CodeGuru Staff</a> <span>-</span> </span> <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2022-08-25T03:44:16+00:00" >August 25, 2022</time></span> </span> </div> <div class="td-read-more"> <a href="https://www.codeguru.com/tools/task-management-software-developers/" title="Read more" >Read more</a> </div> </div> </div> </div> <div class="td_module_flex td_module_flex_1 td_module_wrap td-animation-stack td-cpt-post"> <div class="td-module-container td-category-pos-"> <div class="td-module-meta-info"> <h3 class="entry-title td-module-title"><a href="https://www.codeguru.com/dotnet/dot-net-courses/" rel="bookmark" title="Best Online Courses for .NET Developers">Best Online Courses for .NET Developers</a></h3> <div class="td-editor-date"> <a href="https://www.codeguru.com/dotnet/" class="td-post-category" >.NET</a> <span class="td-author-date"> <span class="td-post-author-name"><a href="https://www.codeguru.com/author/codeguru-staff/">CodeGuru Staff</a> <span>-</span> </span> <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2022-06-30T20:10:31+00:00" >June 30, 2022</time></span> </span> </div> <div class="td-read-more"> <a href="https://www.codeguru.com/dotnet/dot-net-courses/" title="Read more" >Read more</a> </div> </div> </div> </div> </div></div></div></div></div></div><div class="td_block_wrap tdb_single_next_prev tdi_69 td-pb-border-top td_block_template_2" data-td-block-uid="tdi_69" > <style>.tdi_69{position:relative}@media (min-width:768px) and (max-width:1018px){.tdi_69{margin-bottom:40px!important}}@media (max-width:767px){.tdi_69{margin-bottom:40px!important}}</style> <style>.tdb_single_next_prev{*zoom:1}.tdb_single_next_prev:before,.tdb_single_next_prev:after{display:table;content:'';line-height:0}.tdb_single_next_prev:after{clear:both}.tdb-next-post{font-family:var(--td_default_google_font_2,'Roboto',sans-serif);width:48%;float:left;transform:translateZ(0);-webkit-transform:translateZ(0);min-height:1px;line-height:1}.tdb-next-post span{display:block;font-size:12px;color:#747474;margin-bottom:7px}.tdb-next-post a{font-size:15px;color:#222;line-height:21px;-webkit-transition:color 0.2s ease;transition:color 0.2s ease}.tdb-next-post a:hover{color:var(--td_theme_color,#4db2ec)}.tdb-post-next{margin-left:2%;text-align:right}.tdb-post-prev{margin-right:2%}.tdb-post-next .td-image-container{display:inline-block}.tdi_69 .td-module-container{display:flex;flex-direction:column}.tdi_69 .tdb-post-next .td-module-container{align-items:flex-end}.tdi_69 .td-image-container{display:block;order:0}.ie10 .tdi_69 .next-prev-title,.ie11 .tdi_69 .next-prev-title{flex:auto}.tdi_69 .tdb-next-post{padding:20px}.tdi_69 .tdb-next-post a{color:#ffffff;font-family:brother-xl!important;font-size:18px!important;line-height:1.2!important;font-weight:700!important}.tdi_69 .tdb-next-post:hover a{color:#080a19;box-shadow:inset 0 -2px 0 0 #ffffff}.tdi_69 .tdb-next-post span{color:#ffffff;font-family:Rubik!important;font-size:14px!important;font-weight:400!important}.tdi_69 .td-module-title a{box-shadow:inset 0 0 0 0 #ffffff}@media (min-width:768px){.tdi_69 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}@media (min-width:1019px) and (max-width:1140px){.tdi_69 .td-module-title a{box-shadow:inset 0 0 0 0 #ffffff}.tdi_69 .tdb-next-post:hover a{box-shadow:inset 0 -2px 0 0 #ffffff}@media (min-width:768px){.tdi_69 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}}@media (min-width:768px) and (max-width:1018px){.tdi_69 .td-module-title a{box-shadow:inset 0 0 0 0 #ffffff}.tdi_69 .tdb-next-post:hover a{box-shadow:inset 0 -2px 0 0 #ffffff}.tdi_69 .tdb-next-post a{font-size:14px!important}@media (min-width:768px){.tdi_69 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}}@media (max-width:767px){.tdi_69 .td-module-title a{box-shadow:inset 0 0 0 0 #ffffff}.tdi_69 .tdb-next-post:hover a{box-shadow:inset 0 -2px 0 0 #ffffff}.tdi_69 .tdb-next-post a{font-size:12px!important}@media (min-width:768px){.tdi_69 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}}</style> <div class="tdi_69_rand_style td-element-style"><style> .tdi_69_rand_style::after { content:'' !important; width:100% !important; height:100% !important; position:absolute !important; top:0 !important; left:0 !important; z-index:0 !important; display:block !important; background: linear-gradient(90deg,#238fee, #2fc8c0) !important; } </style></div><div class="tdb-block-inner td-fix-index"><div class="tdb-next-post tdb-next-post-bg tdb-post-prev"><span>Previous article</span><div class="td-module-container"><div class="next-prev-title"><a href="https://www.codeguru.com/news/microsoft-ahead-of-schedule-with-windows-phone-7-mango/">Microsoft Ahead of Schedule with Windows Phone 7 Mango</a></div></div></div><div class="tdb-next-post tdb-next-post-bg tdb-post-next"><span>Next article</span><div class="td-module-container"><div class="next-prev-title"><a href="https://www.codeguru.com/news/joining-the-mobile-app-goldrush/">Joining The Mobile App Goldrush</a></div></div></div></div></div><div class="td_block_wrap tdb_single_related tdi_70 td_with_ajax_pagination td-pb-border-top td_block_template_3 tdb-single-related-posts" data-td-block-uid="tdi_70" > <style>.td-block-title-wrap .td-wrapper-pulldown-filter{font-family:var(--td_default_google_font_2,'Roboto',sans-serif);position:absolute;bottom:0;right:0;top:0;margin:auto 0;z-index:2;background-color:#fff;font-size:13px;line-height:1;color:#777;text-align:right}.td-block-title-wrap .td-wrapper-pulldown-filter .td-pulldown-filter-display-option{cursor:pointer;white-space:nowrap;position:relative;line-height:29px}.td-block-title-wrap .td-wrapper-pulldown-filter .td-pulldown-filter-display-option i{font-size:9px;color:#777;margin-left:20px;margin-right:10px}.td-block-title-wrap .td-wrapper-pulldown-filter .td-pulldown-filter-display-option i:before{content:'\e83d'}.td-block-title-wrap .td-wrapper-pulldown-filter .td-pulldown-filter-display-option span{padding-left:20px;margin-right:-14px}@media (max-width:360px){.td-block-title-wrap .td-wrapper-pulldown-filter .td-pulldown-filter-display-option span{display:none}}.td-block-title-wrap .td-pulldown-filter-display-option:hover,.td-block-title-wrap .td-pulldown-filter-display-option:hover i{color:#4db2ec}.td-block-title-wrap .td-wrapper-pulldown-filter .td-pulldown-filter-display-option:hover ul{display:block}.td-block-title-wrap .td-wrapper-pulldown-filter .td-pulldown-filter-list{list-style:none;position:absolute;right:0;top:100%;padding:18px 0;background-color:rgb(255,255,255);background-color:rgba(255,255,255,0.95);z-index:999;border-width:1px;border-color:#ededed;border-style:solid;display:none;margin:0}.td-block-title-wrap .td-wrapper-pulldown-filter .td-pulldown-filter-item{list-style:none;margin:0}.td-block-title-wrap .td-pulldown-filter-item .td-cur-simple-item{color:#4db2ec}.td-block-title-wrap .td-wrapper-pulldown-filter .td-pulldown-more{padding-bottom:10px}.td-block-title-wrap .td-wrapper-pulldown-filter .td-pulldown-more:before{content:'';width:70px;height:100%;position:absolute;margin-top:2px;top:0;right:0;z-index:1;opacity:0}.td-block-title-wrap .td-wrapper-pulldown-filter .td-pulldown-filter-link{color:#777;white-space:nowrap;display:block;line-height:26px;padding-left:36px;padding-right:27px}.td-block-title-wrap .td-pulldown-filter-link:hover{color:#4db2ec}@media (min-width:768px) and (max-width:1018px){.td-pb-span4 .td-block-title-wrap .td-wrapper-pulldown-filter .td-pulldown-filter-display-option span{display:none}.td-pb-span4 .td-block-title-wrap .td-wrapper-pulldown-filter .td-pulldown-filter-link{padding-left:24px;padding-right:20px!important}}.td-pulldown-syle-3{top:0}.td-pulldown-syle-3 .td-subcat-dropdown ul{padding:15px 0;margin-top:-1px;border-width:1px}.td-pulldown-syle-3 .td-subcat-dropdown a{padding-left:40px;padding-right:31px}.td-pulldown-syle-3 .td-subcat-dropdown:hover .td-subcat-more{background-color:transparent!important}.td-pulldown-syle-3 .td-subcat-dropdown:hover span,.td-pulldown-syle-3 .td-subcat-dropdown:hover i{color:#4db2ec}.td-pulldown-syle-3 .td-subcat-dropdown .td-subcat-more{margin-left:9px;margin-bottom:8px}.td-pulldown-syle-3 .td-subcat-list .td-subcat-item{margin-left:24px}.td_block_template_3 .td-block-title{font-size:16px;font-weight:400;margin-top:0;margin-bottom:26px;line-height:31px;text-align:left}.td_block_template_3 .td-block-title>*{background-color:var(--td_header_color,#000);color:var(--td_text_header_color,#fff);padding:0 10px}.td_block_template_3 .td-related-title a{margin-right:10px}@media (max-width:767px){.td_block_template_3 .td-related-title a{margin-right:0;font-size:14px}}.td_block_template_3 .td-related-title .td-cur-simple-item{background-color:var(--td_theme_color,#4db2ec)}@-moz-document url-prefix(){.td_block_template_3 .td-block-title>*{padding-bottom:2px}}.td-theme-wrap .tdi_70 .td-pulldown-filter-link:hover,.td-theme-wrap .tdi_70 .td-subcat-item a:hover,.td-theme-wrap .tdi_70 .td-subcat-item .td-cur-simple-item,.td-theme-wrap .tdi_70 .td-subcat-dropdown:hover .td-subcat-more span,.td-theme-wrap .tdi_70 .td-subcat-dropdown:hover .td-subcat-more i{color:rgba(219,219,219,0)}.td-theme-wrap .tdi_70 .td-block-title>*{background-color:rgba(219,219,219,0)}.td-theme-wrap .tdi_70 .td-block-title>*{color:#151948}.td-theme-wrap .tdi_70 .td_module_wrap:hover .entry-title a,.td-theme-wrap .tdi_70 .td_quote_on_blocks,.td-theme-wrap .tdi_70 .td-opacity-cat .td-post-category:hover,.td-theme-wrap .tdi_70 .td-opacity-read .td-read-more a:hover,.td-theme-wrap .tdi_70 .td-opacity-author .td-post-author-name a:hover,.td-theme-wrap .tdi_70 .td-instagram-user a{color:rgba(219,219,219,0)}.td-theme-wrap .tdi_70 .td-next-prev-wrap a:hover,.td-theme-wrap .tdi_70 .td-load-more-wrap a:hover{background-color:rgba(219,219,219,0);border-color:rgba(219,219,219,0)}.td-theme-wrap .tdi_70 .td-read-more a,.td-theme-wrap .tdi_70 .td-weather-information:before,.td-theme-wrap .tdi_70 .td-weather-week:before,.td-theme-wrap .tdi_70 .td-exchange-header:before,.td-theme-wrap .td-footer-wrapper .tdi_70 .td-post-category,.td-theme-wrap .tdi_70 .td-post-category:hover{background-color:rgba(219,219,219,0)}@media (max-width:767px){.tdi_70{margin-bottom:40px!important}}</style> <style>.tdb-single-related-posts{display:inline-block;width:100%;padding-bottom:0;overflow:visible}.tdb-single-related-posts .tdb-block-inner:after,.tdb-single-related-posts .tdb-block-inner .td_module_wrap:after{content:'';display:table;clear:both}.tdb-single-related-posts .td-module-container{display:flex;flex-direction:column;position:relative}.tdb-single-related-posts .td-module-container:before{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px}.tdb-single-related-posts .td-image-wrap{display:block;position:relative;padding-bottom:70%}.tdb-single-related-posts .td-image-container{position:relative;flex:0 0 100%;width:100%;height:100%}.tdb-single-related-posts .td-module-thumb{margin-bottom:0}.tdb-single-related-posts .td-module-meta-info{padding:7px 0 0 0;margin-bottom:0;z-index:1;border:0 solid #eaeaea}.tdb-single-related-posts .tdb-author-photo{display:inline-block}.tdb-single-related-posts .tdb-author-photo,.tdb-single-related-posts .tdb-author-photo img{vertical-align:middle}.tdb-single-related-posts .td-post-author-name,.tdb-single-related-posts .td-post-date,.tdb-single-related-posts .td-module-comments{vertical-align:text-top}.tdb-single-related-posts .entry-review-stars{margin-left:6px;vertical-align:text-bottom}.tdb-single-related-posts .td-author-photo{display:inline-block;vertical-align:middle}.tdb-single-related-posts .td-thumb-css{width:100%;height:100%;position:absolute;background-size:cover;background-position:center center}.tdb-single-related-posts .td-category-pos-image .td-post-category,.tdb-single-related-posts .td-post-vid-time{position:absolute;z-index:2;bottom:0}.tdb-single-related-posts .td-category-pos-image .td-post-category{left:0}.tdb-single-related-posts .td-post-vid-time{right:0;background-color:#000;padding:3px 6px 4px;font-family:var(--td_default_google_font_1,'Open Sans','Open Sans Regular',sans-serif);font-size:10px;font-weight:600;line-height:1;color:#fff}.tdb-single-related-posts .td-module-title{font-family:var(--td_default_google_font_2,'Roboto',sans-serif);font-weight:500;font-size:13px;line-height:20px;margin:0}.tdb-single-related-posts .td-excerpt{margin:20px 0 0;line-height:21px}.tdb-single-related-posts .td-read-more,.tdb-single-related-posts .td-next-prev-wrap{margin:20px 0 0}.tdb-single-related-posts div.tdb-block-inner:after{content:''!important;padding:0;border:none}.tdb-single-related-posts .td-next-prev-wrap a{width:auto;height:auto;min-width:25px;min-height:25px}.single-tdb_templates .tdb-single-related-posts .td-next-prev-wrap a:active{pointer-events:none}.tdb-dummy-data{position:absolute;top:50%;left:50%;transform:translate(-50%);padding:8px 40px 9px;background:rgba(0,0,0,0.35);color:#fff;z-index:100;opacity:0;-webkit-transition:opacity 0.2s;transition:opacity 0.2s}.tdc-element:hover .tdb-dummy-data{opacity:1}.tdi_70 .td-image-wrap{padding-bottom:60%}.tdi_70 .entry-thumb{background-position:center 50%}.tdi_70 .td-module-container{flex-direction:column;border-color:#eaeaea;flex-grow:1}.tdi_70 .td-image-container{display:block;order:0;flex:0 0 0}.tdi_70 .td-module-meta-info{padding:12px 0 0 0;border-color:#eaeaea}.tdi_70 .td-module-title a{box-shadow:inset 0 0 0 0 #238fee;color:#151948}.tdi_70 .td-module-container:hover .td-module-title a{box-shadow:inset 0 -2px 0 0 #238fee}.tdi_70 .td_module_wrap{width:33.33333333%;float:left;padding-left:20px;padding-right:20px;padding-bottom:5px;margin-bottom:5px;display:flex}.tdi_70 .tdb-block-inner{margin-left:-20px;margin-right:-20px}.tdi_70 .td-module-container:before{bottom:-5px;border-color:#eaeaea}.tdi_70 .td-post-vid-time{display:block}.tdi_70 .td-post-category{padding:6px 8px;background-color:#238fee;color:#ffffff;font-family:brother-xl!important;font-size:14px!important;font-weight:700!important}.tdi_70 .td-author-photo .avatar{width:20px;height:20px;margin-right:6px;border-radius:50%}.tdi_70 .td-excerpt{display:none;column-count:1;column-gap:48px;font-family:Rubik!important}.tdi_70 .td-audio-player{opacity:1;visibility:visible;height:auto;font-size:13px}.tdi_70 .td-read-more{display:none}.tdi_70 .td-module-comments{display:none}.tdi_70 .td_module_wrap:nth-child(3n+1){clear:both}.tdi_70 .td_module_wrap:nth-last-child(-n+3){margin-bottom:0;padding-bottom:0}.tdi_70 .td_module_wrap:nth-last-child(-n+3) .td-module-container:before{display:none}.tdi_70 .td-module-thumb a:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:-webkit-linear-gradient(90deg,rgba(38,189,233,0.29),rgba(0,126,237,0.26));background:linear-gradient(90deg,rgba(38,189,233,0.29),rgba(0,126,237,0.26))}.tdi_70 .td-post-category:hover{background-color:#f2f2f2!important;color:#238fee}.tdi_70 .td_module_wrap:hover .td-module-title a{color:#151948!important}.tdi_70 .td-post-author-name a{color:#238fee}.tdi_70 .td-post-author-name:hover a{color:#b361e0}.tdi_70 .td-post-date,.tdi_70 .td-post-author-name span{color:#a5a5a5}.tdi_70.td_with_ajax_pagination .td-next-prev-wrap a{color:#a5a5a5;background-color:#ffffff;border-color:#ffffff;border-color:#dbdbdb;padding:6px 6px 4px 7px;border-width:2px;font-size:24px}.tdi_70.td_with_ajax_pagination .td-next-prev-wrap .td-next-prev-icon-svg svg,.tdi_70.td_with_ajax_pagination .td-next-prev-wrap .td-next-prev-icon-svg svg *{fill:#a5a5a5}.tdi_70.td_with_ajax_pagination .td-next-prev-wrap a:hover{color:#ffffff;background-color:#238fee;border-color:#238fee;border-color:#f2f2f2}.tdi_70.td_with_ajax_pagination .td-next-prev-wrap a:hover .td-next-prev-icon-svg svg,.tdi_70.td_with_ajax_pagination .td-next-prev-wrap a:hover .td-next-prev-icon-svg svg *{fill:#ffffff}.tdi_70 .entry-title{margin:0 0 3px 0;font-family:brother-xl!important;font-size:17px!important;line-height:1.3!important;font-weight:700!important}.tdi_70.td_with_ajax_pagination .td-next-prev-wrap{margin-top:35px}.tdi_70.td_with_ajax_pagination .td-next-prev-wrap .td-next-prev-icon-svg svg{width:24px;height:calc(24px + 1px)}.tdi_70 .block-title a,.tdi_70 .block-title span,.tdi_70 .td-block-title a,.tdi_70 .td-block-title span{font-family:brother-xl!important;font-size:30px!important;font-weight:700!important}.tdi_70 .td-editor-date,.tdi_70 .td-editor-date .entry-date,.tdi_70 .td-post-author-name a,.tdi_70 .td-module-comments a{font-family:Rubik!important;font-size:14px!important;font-weight:400!important}.tdi_70 .td-post-author-name{font-weight:400}.tdi_70 .td_block_inner{display:flex;flex-wrap:wrap}html:not([class*='ie']) .tdi_70 .td-module-container:hover .entry-thumb:before{opacity:0}@media (max-width:767px){.tdb-single-related-posts .td-module-title{font-size:17px;line-height:23px}}@media (min-width:768px){.tdi_70 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}@media (min-width:1019px) and (max-width:1140px){.tdi_70 .td-module-title a{box-shadow:inset 0 0 0 0 #238fee}.tdi_70 .td-module-container:hover .td-module-title a{box-shadow:inset 0 -2px 0 0 #238fee}.tdi_70 .td_module_wrap{padding-bottom:5px;margin-bottom:5px;clear:none!important;padding-bottom:5px!important;margin-bottom:5px!important}.tdi_70 .td-module-container:before{bottom:-5px}.tdi_70 .td_module_wrap:nth-child(3n+1){clear:both!important}.tdi_70 .td_module_wrap:nth-last-child(-n+3){margin-bottom:0!important;padding-bottom:0!important}.tdi_70 .td_module_wrap .td-module-container:before{display:block!important}.tdi_70 .td_module_wrap:nth-last-child(-n+3) .td-module-container:before{display:none!important}.tdi_70 .entry-title{font-size:20px!important}@media (min-width:768px){.tdi_70 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}}@media (min-width:768px) and (max-width:1018px){.tdi_70 .td-module-title a{box-shadow:inset 0 0 0 0 #238fee}.tdi_70 .td-module-container:hover .td-module-title a{box-shadow:inset 0 -2px 0 0 #238fee}.tdi_70 .td_module_wrap{padding-bottom:5px;margin-bottom:5px;clear:none!important;padding-bottom:5px!important;margin-bottom:5px!important}.tdi_70 .td-module-container:before{bottom:-5px}.tdi_70 .td_module_wrap:nth-child(3n+1){clear:both!important}.tdi_70 .td_module_wrap:nth-last-child(-n+3){margin-bottom:0!important;padding-bottom:0!important}.tdi_70 .td_module_wrap .td-module-container:before{display:block!important}.tdi_70 .td_module_wrap:nth-last-child(-n+3) .td-module-container:before{display:none!important}.tdi_70 .entry-title{font-size:14px!important}@media (min-width:768px){.tdi_70 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}}@media (max-width:767px){.tdi_70 .td-image-container{flex:0 0 30%;width:30%;display:block;order:0}.tdi_70 .td-module-container{flex-direction:row}.tdi_70 .td-module-meta-info{padding:0px 5px 5px 15px}.tdi_70 .td-module-title a{box-shadow:inset 0 0 0 0 #238fee}.tdi_70 .td-module-container:hover .td-module-title a{box-shadow:inset 0 -2px 0 0 #238fee}.tdi_70 .td_module_wrap{width:100%;float:left;padding-bottom:5px;margin-bottom:5px;padding-bottom:5px!important;margin-bottom:5px!important}.tdi_70 .td-module-container:before{bottom:-5px}.tdi_70 .td-post-category{display:none}.tdi_70 .td_module_wrap:nth-last-child(1){margin-bottom:0!important;padding-bottom:0!important}.tdi_70 .td_module_wrap .td-module-container:before{display:block!important}.tdi_70 .td_module_wrap:nth-last-child(1) .td-module-container:before{display:none!important}.tdi_70 .entry-title{font-size:15px!important}@media (min-width:768px){.tdi_70 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}}</style><script data-src="data:text/javascript;base64,dmFyIGJsb2NrX3RkaV83MCA9IG5ldyB0ZEJsb2NrKCk7CmJsb2NrX3RkaV83MC5pZCA9ICJ0ZGlfNzAiOwpibG9ja190ZGlfNzAuYXR0cyA9ICd7Im1vZHVsZXNfb25fcm93IjoiZXlKaGJHd2lPaUl6TXk0ek16TXpNek16TXlVaUxDSndhRzl1WlNJNklqRXdNQ1VpZlE9PSIsIm1vZHVsZXNfY2F0ZWdvcnkiOiJpbWFnZSIsInNob3dfYXV0aG9yIjoiIiwic2hvd19kYXRlIjoiIiwic2hvd19jb20iOiJub25lIiwic2hvd19leGNlcnB0Ijoibm9uZSIsInNob3dfYnRuIjoibm9uZSIsImFqYXhfcGFnaW5hdGlvbiI6Im5leHRfcHJldiIsInJlbGF0ZWRfYXJ0aWNsZXNfcG9zdHNfbGltaXQiOiIzIiwiaW1hZ2Vfd2lkdGgiOiJleUp3YUc5dVpTSTZJak13SW4wPSIsImltYWdlX2Zsb2F0ZWQiOiJleUp3YUc5dVpTSTZJbVpzYjJGMFgyeGxablFpZlE9PSIsIm1ldGFfcGFkZGluZyI6ImV5SndhRzl1WlNJNklqQndlQ0ExY0hnZ05YQjRJREUxY0hnaUxDSmhiR3dpT2lJeE1uQjRJREFnTUNBd0luMD0iLCJibG9ja190ZW1wbGF0ZV9pZCI6InRkX2Jsb2NrX3RlbXBsYXRlXzMiLCJmX3RpdGxlX2ZvbnRfc2l6ZSI6ImV5SmhiR3dpT2lJeE55SXNJbkJvYjI1bElqb2lNVFVpTENKc1lXNWtjMk5oY0dVaU9pSXlNQ0lzSW5CdmNuUnlZV2wwSWpvaU1UUWlmUT09IiwiZl90aXRsZV9mb250X2xpbmVfaGVpZ2h0IjoiMS4zIiwibW9kdWxlc19nYXAiOiIiLCJhbGxfbW9kdWxlc19zcGFjZSI6IjEwIiwiZl90aXRsZV9mb250X3dlaWdodCI6IjcwMCIsInRkY19jc3MiOiJleUp3YUc5dVpTSTZleUp0WVhKbmFXNHRZbTkwZEc5dElqb2lOREFpTENKa2FYTndiR0Y1SWpvaUluMHNJbkJvYjI1bFgyMWhlRjkzYVdSMGFDSTZOelkzZlE9PSIsImZfdGl0bGVfZm9udF9mYW1pbHkiOiJ0a18xIiwiZl9oZWFkZXJfZm9udF9mYW1pbHkiOiJ0a18xIiwiZl9oZWFkZXJfZm9udF93ZWlnaHQiOiI3MDAiLCJzaG93X2NhdCI6ImV5SndhRzl1WlNJNkltNXZibVVpZlE9PSIsImN1c3RvbV90aXRsZSI6Ik5ld3MgJmFtcDsgVHJlbmRzIiwiaGVhZGVyX3RleHRfY29sb3IiOiIjMTUxOTQ4IiwibWMxX2VsIjoiMTUiLCJuZXh0cHJldiI6InllcyIsImltYWdlX2hlaWdodCI6IjYwJSIsInBhZ19zcGFjZSI6IjM1IiwicGFnX3BhZGRpbmciOiI2cHggNnB4IDRweCA3cHgiLCJwYWdfYm9yZGVyX3dpZHRoIjoiMiIsInBhZ19pY29uc19zaXplIjoiMjQiLCJwcmV2X3RkaWNvbiI6InRkLWljb24tbGluZWUiLCJuZXh0X3RkaWNvbiI6InRkLWljb24tcGx1c3MiLCJmX2hlYWRlcl9mb250X3NpemUiOiIzMCIsImhlYWRlcl9jb2xvciI6InJnYmEoMjE5LDIxOSwyMTksMCkiLCJtb2R1bGVzX2NhdGVnb3J5X3BhZGRpbmciOiI2cHggOHB4IiwiZl9jYXRfZm9udF9mYW1pbHkiOiJ0a18xIiwiZl9tZXRhX2ZvbnRfZmFtaWx5IjoiNzEyIiwiZl9leF9mb250X2ZhbWlseSI6IjcxMiIsImZfY2F0X2ZvbnRfc2l6ZSI6IjE0IiwiZl9tZXRhX2ZvbnRfc2l6ZSI6IjE0IiwiZl9tZXRhX2ZvbnRfd2VpZ2h0IjoiNDAwIiwiZl9jYXRfZm9udF93ZWlnaHQiOiI3MDAiLCJ0aXRsZV90eHQiOiIjMTUxOTQ4IiwidGl0bGVfdHh0X2hvdmVyIjoiIzE1MTk0OCIsImFsbF91bmRlcmxpbmVfaGVpZ2h0IjoiMiIsImFsbF91bmRlcmxpbmVfY29sb3IiOiIjMjM4ZmVlIiwiY2F0X2JnIjoiIzIzOGZlZSIsImNhdF9iZ19ob3ZlciI6IiNmMmYyZjIiLCJjYXRfdHh0IjoiI2ZmZmZmZiIsImNhdF90eHRfaG92ZXIiOiIjMjM4ZmVlIiwiYXV0aG9yX3R4dCI6IiMyMzhmZWUiLCJhdXRob3JfdHh0X2hvdmVyIjoiI2IzNjFlMCIsImRhdGVfdHh0IjoiI2E1YTVhNSIsImFydF90aXRsZSI6IjAgMCAzcHggMCIsImNvbG9yX292ZXJsYXkiOiJleUowZVhCbElqb2laM0poWkdsbGJuUWlMQ0pqYjJ4dmNqRWlPaUp5WjJKaEtEQXNNVEkyTERJek55d3dMakkyS1NJc0ltTnZiRzl5TWlJNkluSm5ZbUVvTXpnc01UZzVMREl6TXl3d0xqSTVLU0lzSW0xcGVHVmtRMjlzYjNKeklqcGJYU3dpWkdWbmNtVmxJam9pT1RBaUxDSmpjM01pT2lKaVlXTnJaM0p2ZFc1a09pQXRkMlZpYTJsMExXeHBibVZoY2kxbmNtRmthV1Z1ZENnNU1HUmxaeXh5WjJKaEtETTRMREU0T1N3eU16TXNNQzR5T1Nrc2NtZGlZU2d3TERFeU5pd3lNemNzTUM0eU5pa3BPMkpoWTJ0bmNtOTFibVE2SUd4cGJtVmhjaTFuY21Ga2FXVnVkQ2c1TUdSbFp5eHlaMkpoS0RNNExERTRPU3d5TXpNc01DNHlPU2tzY21kaVlTZ3dMREV5Tml3eU16Y3NNQzR5TmlrcE95SXNJbU56YzFCaGNtRnRjeUk2SWprd1pHVm5MSEpuWW1Fb016Z3NNVGc1TERJek15d3dMakk1S1N4eVoySmhLREFzTVRJMkxESXpOeXd3TGpJMktTSjkiLCJuZXh0cHJldl9pY29uIjoiI2E1YTVhNSIsIm5leHRwcmV2X2ljb25faCI6IiNmZmZmZmYiLCJuZXh0cHJldl9iZyI6IiNmZmZmZmYiLCJuZXh0cHJldl9iZ19oIjoiIzIzOGZlZSIsIm5leHRwcmV2X2JvcmRlciI6IiNkYmRiZGIiLCJuZXh0cHJldl9ib3JkZXJfaCI6IiNmMmYyZjIiLCJsaW1pdCI6IjMiLCJvZmZzZXQiOiIiLCJsaXZlX2ZpbHRlciI6ImN1cl9wb3N0X3NhbWVfY2F0ZWdvcmllcyIsInRkX2FqYXhfZmlsdGVyX3R5cGUiOiJ0ZF9jdXN0b21fcmVsYXRlZCIsImxpdmVfZmlsdGVyX2N1cl9wb3N0X2lkIjoxNDY2NSwic2FtcGxlX3Bvc3RzX2RhdGEiOmZhbHNlLCJibG9ja190eXBlIjoidGRiX3NpbmdsZV9yZWxhdGVkIiwic2VwYXJhdG9yIjoiIiwidGl0bGVfdGFnIjoiIiwibWMxX3RsIjoiIiwibWMxX3RpdGxlX3RhZyI6IiIsInJlbGF0ZWRfYXJ0aWNsZXNfdHlwZSI6IiIsInJlbGF0ZWRfYXJ0aWNsZXNfcG9zdHNfb2Zmc2V0IjoiIiwiY29udGFpbmVyX3dpZHRoIjoiIiwibV9wYWRkaW5nIjoiIiwibW9kdWxlc19ib3JkZXJfc2l6ZSI6IiIsIm1vZHVsZXNfYm9yZGVyX3N0eWxlIjoiIiwibW9kdWxlc19ib3JkZXJfY29sb3IiOiIjZWFlYWVhIiwibW9kdWxlc19kaXZpZGVyIjoiIiwiZGl2aWRlcl9vbiI6IiIsIm1vZHVsZXNfZGl2aWRlcl9jb2xvciI6IiNlYWVhZWEiLCJzaGFkb3dfc2hhZG93X2hlYWRlciI6IiIsInNoYWRvd19zaGFkb3dfdGl0bGUiOiJTaGFkb3ciLCJzaGFkb3dfc2hhZG93X3NpemUiOiIiLCJzaGFkb3dfc2hhZG93X29mZnNldF9ob3Jpem9udGFsIjoiIiwic2hhZG93X3NoYWRvd19vZmZzZXRfdmVydGljYWwiOiIiLCJzaGFkb3dfc2hhZG93X3NwcmVhZCI6IiIsInNoYWRvd19zaGFkb3dfY29sb3IiOiIiLCJoX2VmZmVjdCI6IiIsImltYWdlX3NpemUiOiIiLCJpbWFnZV9hbGlnbm1lbnQiOiI1MCIsImltYWdlX3JhZGl1cyI6IiIsImhpZGVfaW1hZ2UiOiIiLCJ2aWRlb19pY29uIjoiIiwidmlkZW9fcG9wdXAiOiJ5ZXMiLCJ2aWRlb19yZWMiOiIiLCJzcG90X2hlYWRlciI6IiIsInZpZGVvX3JlY190aXRsZSI6Ii0gQWR2ZXJ0aXNlbWVudCAtIiwidmlkZW9fcmVjX2NvbG9yIjoiIiwidmlkZW9fcmVjX2Rpc2FibGUiOiIiLCJzaG93X3ZpZF90IjoiYmxvY2siLCJ2aWRfdF9tYXJnaW4iOiIiLCJ2aWRfdF9wYWRkaW5nIjoiIiwidmlkZW9fdGl0bGVfY29sb3IiOiIiLCJ2aWRlb190aXRsZV9jb2xvcl9oIjoiIiwidmlkZW9fYmciOiIiLCJ2aWRlb19vdmVybGF5IjoiIiwidmlkX3RfY29sb3IiOiIiLCJ2aWRfdF9iZ19jb2xvciI6IiIsImZfdmlkX3RpdGxlX2ZvbnRfaGVhZGVyIjoiIiwiZl92aWRfdGl0bGVfZm9udF90aXRsZSI6IlZpZGVvIHBvcC11cCBhcnRpY2xlIHRpdGxlIiwiZl92aWRfdGl0bGVfZm9udF9zZXR0aW5ncyI6IiIsImZfdmlkX3RpdGxlX2ZvbnRfZmFtaWx5IjoiIiwiZl92aWRfdGl0bGVfZm9udF9zaXplIjoiIiwiZl92aWRfdGl0bGVfZm9udF9saW5lX2hlaWdodCI6IiIsImZfdmlkX3RpdGxlX2ZvbnRfc3R5bGUiOiIiLCJmX3ZpZF90aXRsZV9mb250X3dlaWdodCI6IiIsImZfdmlkX3RpdGxlX2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl92aWRfdGl0bGVfZm9udF9zcGFjaW5nIjoiIiwiZl92aWRfdGl0bGVfIjoiIiwiZl92aWRfdGltZV9mb250X3RpdGxlIjoiVmlkZW8gZHVyYXRpb24gdGV4dCIsImZfdmlkX3RpbWVfZm9udF9zZXR0aW5ncyI6IiIsImZfdmlkX3RpbWVfZm9udF9mYW1pbHkiOiIiLCJmX3ZpZF90aW1lX2ZvbnRfc2l6ZSI6IiIsImZfdmlkX3RpbWVfZm9udF9saW5lX2hlaWdodCI6IiIsImZfdmlkX3RpbWVfZm9udF9zdHlsZSI6IiIsImZfdmlkX3RpbWVfZm9udF93ZWlnaHQiOiIiLCJmX3ZpZF90aW1lX2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl92aWRfdGltZV9mb250X3NwYWNpbmciOiIiLCJmX3ZpZF90aW1lXyI6IiIsIm1ldGFfaW5mb19hbGlnbiI6IiIsIm1ldGFfaW5mb19ob3JpeiI6ImNvbnRlbnQtaG9yaXotbGVmdCIsIm1ldGFfd2lkdGgiOiIiLCJtZXRhX21hcmdpbiI6IiIsImFydF9leGNlcnB0IjoiIiwiZXhjZXJwdF9jb2wiOiIxIiwiZXhjZXJwdF9nYXAiOiIiLCJhcnRfYXVkaW8iOiIiLCJhcnRfYXVkaW9fc2l6ZSI6IjEuNSIsImFydF9idG4iOiIiLCJtZXRhX2luZm9fYm9yZGVyX3NpemUiOiIiLCJtZXRhX2luZm9fYm9yZGVyX3N0eWxlIjoiIiwibWV0YV9pbmZvX2JvcmRlcl9jb2xvciI6IiNlYWVhZWEiLCJtb2R1bGVzX2NhdGVnb3J5X3NwYWNpbmciOiIiLCJtb2R1bGVzX2NhdF9ib3JkZXIiOiIiLCJtb2R1bGVzX2NhdGVnb3J5X3JhZGl1cyI6IjAiLCJhdXRob3JfcGhvdG8iOiIiLCJhdXRob3JfcGhvdG9fc2l6ZSI6IiIsImF1dGhvcl9waG90b19zcGFjZSI6IiIsImF1dGhvcl9waG90b19yYWRpdXMiOiIiLCJzaG93X21vZGlmaWVkX2RhdGUiOiIiLCJ0aW1lX2FnbyI6IiIsInRpbWVfYWdvX2FkZF90eHQiOiJhZ28iLCJ0aW1lX2Fnb190eHRfcG9zIjoiIiwiZXhjZXJwdF9taWRkbGUiOiIiLCJleGNlcnB0X2lubGluZSI6IiIsInNob3dfYXVkaW8iOiJibG9jayIsImhpZGVfYXVkaW8iOiIiLCJtZXRhX3NwYWNlIjoiIiwiYnRuX3RpdGxlIjoiIiwiYnRuX21hcmdpbiI6IiIsImJ0bl9wYWRkaW5nIjoiIiwiYnRuX2JvcmRlcl93aWR0aCI6IiIsImJ0bl9yYWRpdXMiOiIiLCJwYWdfYm9yZGVyX3JhZGl1cyI6IiIsImZfaGVhZGVyX2ZvbnRfaGVhZGVyIjoiIiwiZl9oZWFkZXJfZm9udF90aXRsZSI6IkJsb2NrIGhlYWRlciIsImZfaGVhZGVyX2ZvbnRfc2V0dGluZ3MiOiIiLCJmX2hlYWRlcl9mb250X2xpbmVfaGVpZ2h0IjoiIiwiZl9oZWFkZXJfZm9udF9zdHlsZSI6IiIsImZfaGVhZGVyX2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl9oZWFkZXJfZm9udF9zcGFjaW5nIjoiIiwiZl9oZWFkZXJfIjoiIiwiZl9hamF4X2ZvbnRfdGl0bGUiOiJBamF4IGNhdGVnb3JpZXMiLCJmX2FqYXhfZm9udF9zZXR0aW5ncyI6IiIsImZfYWpheF9mb250X2ZhbWlseSI6IiIsImZfYWpheF9mb250X3NpemUiOiIiLCJmX2FqYXhfZm9udF9saW5lX2hlaWdodCI6IiIsImZfYWpheF9mb250X3N0eWxlIjoiIiwiZl9hamF4X2ZvbnRfd2VpZ2h0IjoiIiwiZl9hamF4X2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl9hamF4X2ZvbnRfc3BhY2luZyI6IiIsImZfYWpheF8iOiIiLCJmX21vcmVfZm9udF90aXRsZSI6IkxvYWQgbW9yZSBidXR0b24iLCJmX21vcmVfZm9udF9zZXR0aW5ncyI6IiIsImZfbW9yZV9mb250X2ZhbWlseSI6IiIsImZfbW9yZV9mb250X3NpemUiOiIiLCJmX21vcmVfZm9udF9saW5lX2hlaWdodCI6IiIsImZfbW9yZV9mb250X3N0eWxlIjoiIiwiZl9tb3JlX2ZvbnRfd2VpZ2h0IjoiIiwiZl9tb3JlX2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl9tb3JlX2ZvbnRfc3BhY2luZyI6IiIsImZfbW9yZV8iOiIiLCJmX3RpdGxlX2ZvbnRfaGVhZGVyIjoiIiwiZl90aXRsZV9mb250X3RpdGxlIjoiQXJ0aWNsZSB0aXRsZSIsImZfdGl0bGVfZm9udF9zZXR0aW5ncyI6IiIsImZfdGl0bGVfZm9udF9zdHlsZSI6IiIsImZfdGl0bGVfZm9udF90cmFuc2Zvcm0iOiIiLCJmX3RpdGxlX2ZvbnRfc3BhY2luZyI6IiIsImZfdGl0bGVfIjoiIiwiZl9jYXRfZm9udF90aXRsZSI6IkFydGljbGUgY2F0ZWdvcnkgdGFnIiwiZl9jYXRfZm9udF9zZXR0aW5ncyI6IiIsImZfY2F0X2ZvbnRfbGluZV9oZWlnaHQiOiIiLCJmX2NhdF9mb250X3N0eWxlIjoiIiwiZl9jYXRfZm9udF90cmFuc2Zvcm0iOiIiLCJmX2NhdF9mb250X3NwYWNpbmciOiIiLCJmX2NhdF8iOiIiLCJmX21ldGFfZm9udF90aXRsZSI6IkFydGljbGUgbWV0YSBpbmZvIiwiZl9tZXRhX2ZvbnRfc2V0dGluZ3MiOiIiLCJmX21ldGFfZm9udF9saW5lX2hlaWdodCI6IiIsImZfbWV0YV9mb250X3N0eWxlIjoiIiwiZl9tZXRhX2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl9tZXRhX2ZvbnRfc3BhY2luZyI6IiIsImZfbWV0YV8iOiIiLCJmX2V4X2ZvbnRfdGl0bGUiOiJBcnRpY2xlIGV4Y2VycHQiLCJmX2V4X2ZvbnRfc2V0dGluZ3MiOiIiLCJmX2V4X2ZvbnRfc2l6ZSI6IiIsImZfZXhfZm9udF9saW5lX2hlaWdodCI6IiIsImZfZXhfZm9udF9zdHlsZSI6IiIsImZfZXhfZm9udF93ZWlnaHQiOiIiLCJmX2V4X2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl9leF9mb250X3NwYWNpbmciOiIiLCJmX2V4XyI6IiIsImZfYnRuX2ZvbnRfdGl0bGUiOiJBcnRpY2xlIHJlYWQgbW9yZSBidXR0b24iLCJmX2J0bl9mb250X3NldHRpbmdzIjoiIiwiZl9idG5fZm9udF9mYW1pbHkiOiIiLCJmX2J0bl9mb250X3NpemUiOiIiLCJmX2J0bl9mb250X2xpbmVfaGVpZ2h0IjoiIiwiZl9idG5fZm9udF9zdHlsZSI6IiIsImZfYnRuX2ZvbnRfd2VpZ2h0IjoiIiwiZl9idG5fZm9udF90cmFuc2Zvcm0iOiIiLCJmX2J0bl9mb250X3NwYWNpbmciOiIiLCJmX2J0bl8iOiIiLCJtaXhfY29sb3IiOiIiLCJtaXhfdHlwZSI6IiIsImZlX2JyaWdodG5lc3MiOiIxIiwiZmVfY29udHJhc3QiOiIxIiwiZmVfc2F0dXJhdGUiOiIxIiwibWl4X2NvbG9yX2giOiIiLCJtaXhfdHlwZV9oIjoiIiwiZmVfYnJpZ2h0bmVzc19oIjoiMSIsImZlX2NvbnRyYXN0X2giOiIxIiwiZmVfc2F0dXJhdGVfaCI6IjEiLCJtX2JnIjoiIiwiY2F0X2JvcmRlciI6IiIsImNhdF9ib3JkZXJfaG92ZXIiOiIiLCJtZXRhX2JnIjoiIiwiZXhfdHh0IjoiIiwiY29tX2JnIjoiIiwiY29tX3R4dCI6IiIsInNoYWRvd19tX3NoYWRvd19oZWFkZXIiOiIiLCJzaGFkb3dfbV9zaGFkb3dfdGl0bGUiOiJNZXRhIGluZm8gc2hhZG93Iiwic2hhZG93X21fc2hhZG93X3NpemUiOiIiLCJzaGFkb3dfbV9zaGFkb3dfb2Zmc2V0X2hvcml6b250YWwiOiIiLCJzaGFkb3dfbV9zaGFkb3dfb2Zmc2V0X3ZlcnRpY2FsIjoiIiwic2hhZG93X21fc2hhZG93X3NwcmVhZCI6IiIsInNoYWRvd19tX3NoYWRvd19jb2xvciI6IiIsImF1ZGlvX2J0bl9jb2xvciI6IiIsImF1ZGlvX3RpbWVfY29sb3IiOiIiLCJhdWRpb19iYXJfY29sb3IiOiIiLCJhdWRpb19iYXJfY3Vycl9jb2xvciI6IiIsImJ0bl9iZyI6IiIsImJ0bl9iZ19ob3ZlciI6IiIsImJ0bl90eHQiOiIiLCJidG5fdHh0X2hvdmVyIjoiIiwiYnRuX2JvcmRlciI6IiIsImJ0bl9ib3JkZXJfaG92ZXIiOiIiLCJlbF9jbGFzcyI6IiIsImxpdmVfZmlsdGVyX2N1cl9wb3N0X2F1dGhvciI6IjI5IiwidGRfY29sdW1uX251bWJlciI6MiwiYWpheF9wYWdpbmF0aW9uX2luZmluaXRlX3N0b3AiOiIiLCJ0ZF9hamF4X3ByZWxvYWRpbmciOiIiLCJ0ZF9maWx0ZXJfZGVmYXVsdF90eHQiOiIiLCJ0ZF9hamF4X2ZpbHRlcl9pZHMiOiIiLCJjb2xvcl9wcmVzZXQiOiIiLCJhamF4X3BhZ2luYXRpb25fbmV4dF9wcmV2X3N3aXBlIjoiIiwiYm9yZGVyX3RvcCI6IiIsImNzcyI6IiIsImNsYXNzIjoidGRpXzcwIiwidGRjX2Nzc19jbGFzcyI6InRkaV83MCIsInRkY19jc3NfY2xhc3Nfc3R5bGUiOiJ0ZGlfNzBfcmFuZF9zdHlsZSJ9JzsKYmxvY2tfdGRpXzcwLnRkX2NvbHVtbl9udW1iZXIgPSAiMiI7CmJsb2NrX3RkaV83MC5ibG9ja190eXBlID0gInRkYl9zaW5nbGVfcmVsYXRlZCI7CmJsb2NrX3RkaV83MC5wb3N0X2NvdW50ID0gIjMiOwpibG9ja190ZGlfNzAuZm91bmRfcG9zdHMgPSAiMjQ3IjsKYmxvY2tfdGRpXzcwLmhlYWRlcl9jb2xvciA9ICJyZ2JhKDIxOSwyMTksMjE5LDApIjsKYmxvY2tfdGRpXzcwLmFqYXhfcGFnaW5hdGlvbl9pbmZpbml0ZV9zdG9wID0gIiI7CmJsb2NrX3RkaV83MC5tYXhfbnVtX3BhZ2VzID0gIjgzIjsKdGRCbG9ja3NBcnJheS5wdXNoKGJsb2NrX3RkaV83MCk7Cg==" data-type="lazy"></script><div class="td-block-title-wrap"><h4 class="td-block-title"><span>News &amp; Trends</span></h4></div><div id=tdi_70 class="td_block_inner tdb-block-inner td-fix-index"> <div class="tdb_module_related td_module_wrap td-animation-stack"> <div class="td-module-container td-category-pos-image"> <div class="td-image-container"> <a href="https://www.codeguru.com/multimedia/" class="td-post-category" >Multimedia</a> <div class="td-module-thumb"><a href="https://www.codeguru.com/multimedia/drawing-3d-opengl-graphics-on-google-maps/" rel="bookmark" class="td-image-wrap " title="Drawing 3D OpenGL Graphics on Google Maps" ><span data-bg="https://assets.codeguru.com/uploads/2021/07/Cplusplus2.jpg" class="entry-thumb td-thumb-css rocket-lazyload" style="" ></span></a></div> </div> <div class="td-module-meta-info"> <h3 class="entry-title td-module-title"><a href="https://www.codeguru.com/multimedia/drawing-3d-opengl-graphics-on-google-maps/" rel="bookmark" title="Drawing 3D OpenGL Graphics on Google Maps">Drawing 3D OpenGL Graphics on Google Maps</a></h3> <div class="td-editor-date"> <span class="td-author-date"> <span class="td-post-author-name"><a href="https://www.codeguru.com/author/pravin-kumar-sinha/">Pravin Kumar Sinha</a> <span>-</span> </span> <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2016-05-18T07:15:00+00:00" >May 18, 2016</time></span> </span> </div> </div> </div> </div> <div class="tdb_module_related td_module_wrap td-animation-stack"> <div class="td-module-container td-category-pos-image"> <div class="td-image-container"> <a href="https://www.codeguru.com/multimedia/" class="td-post-category" >Multimedia</a> <div class="td-module-thumb"><a href="https://www.codeguru.com/multimedia/mandelbrot-using-c-amp/" rel="bookmark" class="td-image-wrap " title="Mandelbrot Using C++ AMP" ><span data-bg="https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/assets/images/no-thumb/td_696x0.png" class="entry-thumb td-thumb-css rocket-lazyload" style="" ></span></a></div> </div> <div class="td-module-meta-info"> <h3 class="entry-title td-module-title"><a href="https://www.codeguru.com/multimedia/mandelbrot-using-c-amp/" rel="bookmark" title="Mandelbrot Using C++ AMP">Mandelbrot Using C++ AMP</a></h3> <div class="td-editor-date"> <span class="td-author-date"> <span class="td-post-author-name"><a href="https://www.codeguru.com/author/codeguru-staff/">CodeGuru Staff</a> <span>-</span> </span> <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2012-01-27T17:57:52+00:00" >January 27, 2012</time></span> </span> </div> </div> </div> </div> <div class="tdb_module_related td_module_wrap td-animation-stack"> <div class="td-module-container td-category-pos-image"> <div class="td-image-container"> <a href="https://www.codeguru.com/multimedia/" class="td-post-category" >Multimedia</a> <div class="td-module-thumb"><a href="https://www.codeguru.com/multimedia/library-for-raw-video-processing/" rel="bookmark" class="td-image-wrap " title="Library for Raw Video Processing" ><span data-bg="https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/assets/images/no-thumb/td_696x0.png" class="entry-thumb td-thumb-css rocket-lazyload" style="" ></span></a></div> </div> <div class="td-module-meta-info"> <h3 class="entry-title td-module-title"><a href="https://www.codeguru.com/multimedia/library-for-raw-video-processing/" rel="bookmark" title="Library for Raw Video Processing">Library for Raw Video Processing</a></h3> <div class="td-editor-date"> <span class="td-author-date"> <span class="td-post-author-name"><a href="https://www.codeguru.com/author/codeguru-staff/">CodeGuru Staff</a> <span>-</span> </span> <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2011-06-14T18:32:41+00:00" >June 14, 2011</time></span> </span> </div> </div> </div> </div> </div><div class="td-next-prev-wrap"><a href="#" class="td-ajax-prev-page ajax-page-disabled" aria-label="prev-page" id="prev-page-tdi_70" data-td_block_id="tdi_70"><i class="td-next-prev-icon td-icon-linee"></i></a><a href="#" class="td-ajax-next-page" aria-label="next-page" id="next-page-tdi_70" data-td_block_id="tdi_70"><i class="td-next-prev-icon td-icon-pluss"></i></a></div></div></div></div><div class="vc_column tdi_72 wpb_column vc_column_container tdc-column td-pb-span4 td-is-sticky"> <style scoped>.tdi_72{vertical-align:baseline}.tdi_72>.wpb_wrapper,.tdi_72>.wpb_wrapper>.tdc-elements{display:block}.tdi_72>.wpb_wrapper>.tdc-elements{width:100%}.tdi_72>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_72>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" data-sticky-enabled-on="W3RydWUsdHJ1ZSx0cnVlLHRydWVd" data-sticky-offset="20" data-sticky-is-width-auto="W2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXQ=="><div class="wpb_wrapper td_block_wrap td_block_wrap tdb_single_current_post tdi_74 td-pb-border-top td_block_template_2"><div class="td-fix-index"><div class="fit-campaign-container"> <div style=" --ta-campaign-plugin-primary: #238fee; --ta-campaign-plugin-button-text: #fff; --ta-campaign-plugin-button-hover-background: #DBDBDB; --ta-campaign-plugin-button-hover-text: #fff; --ta-campaign-plugin-button-toggle-background: #238fee; --ta-campaign-plugin-button-toggle-text: #DBDBDB; " data-ajax-url="https://www.codeguru.com/wp/wp-admin/admin-ajax.php"> <div id="ta-campaign-widget-674242aa68f56" class="ta-campaign-widget ta-campaign-widget--sidebar" data-campaign-fields='{"properties":{"campaign_type":"sidebar","campaign_category":false,"sailthru_list":["developer-insider"],"appearance":{"colors":{"primary_color":"#238fee","button":{"button_text_color":"#fff","hover":{"button_hover_background_color":"#DBDBDB","button_hover_text_color":"#fff"},"toggle":{"button_toggle_background_color":"#238fee","button_toggle_text_color":"#DBDBDB"}}},"custom_scss":""},"behavior":{"opt_in_enabled":true},"language":{"tagline":"Get the Free Newsletter!","subtagline":"","content":"Subscribe to Developer Insider for top news, trends & analysis","email_placeholder":"Work Email Address","opt_in":"By signing up to receive our newsletter, you agree to our <a href=\"https:\/\/technologyadvice.com\/terms-conditions\/\">Terms of Use<\/a> and <a href=\"https:\/\/technologyadvice.com\/privacy-policy\/\">Privacy Policy<\/a>.","subscribe_button":"Subscribe"}},"identifier":"674242aa68f56","campaign_id":"19717","campaign_type":"sidebar","popup_type":null,"newsletters":["developer-insider"],"behavior":{"opt_in_enabled":true},"appearance":{"colors":{"primary":"#238fee","button":{"text":"#fff","hover":{"background":"#DBDBDB","text":"#fff"},"toggle":{"background":"#238fee","text":"#DBDBDB"}}},"custom_css":""},"language":{"tagline":"Get the Free Newsletter!","subtagline":"","content":"Subscribe to Developer Insider for top news, trends & analysis","email_placeholder":"Work Email Address","opt_in":"By signing up to receive our newsletter, you agree to our <a href=\"https:\/\/technologyadvice.com\/terms-conditions\/\">Terms of Use<\/a> and <a href=\"https:\/\/technologyadvice.com\/privacy-policy\/\">Privacy Policy<\/a>.","subscribe_button":"Subscribe"}}'> <div class="ta-campaign-widget__wrapper"> <div class="ta-campaign-widget__header mb-6"> <h3 class="ta-campaign-widget__tagline"> Get the Free Newsletter! </h3> <p class="ta-campaign-widget__content mt-6"> Subscribe to Developer Insider for top news, trends & analysis </p> </div> <form class="ta-campaign-widget__form"> <div class="ta-campaign-widget__input mb-4" data-field="email"> <label class="sr-only" for="email-674242aa68f56"> Email Address </label> <input class="ta-campaign-widget__input__text" placeholder="Work Email Address" id="email-674242aa68f56" name="email" type="email"> </div> <div class="ta-campaign-widget__checkbox mb-4" data-field="opt_in"> <div class="flex items-start"> <input id="opt-in-674242aa68f56" class="ta-campaign-widget__checkbox__input mr-2" name="opt-in" type="checkbox"/> <label class="ta-campaign-widget__checkbox__label" for="opt-in-674242aa68f56"> By signing up to receive our newsletter, you agree to our <a href="https://technologyadvice.com/terms-conditions/">Terms of Use</a> and <a href="https://technologyadvice.com/privacy-policy/">Privacy Policy</a>. </label> </div> </div> <button class="ta-campaign-widget__button" type="submit" > Subscribe </button> </form> </div> </div> </div> <style> </style></div></div></div><div class="td_block_wrap td_flex_block_1 tdi_75 td-pb-border-top native-rr td_block_template_2 td_flex_block" data-td-block-uid="tdi_75" > <style> .td-theme-wrap .tdi_75 .td-block-title > *, .td-theme-wrap .tdi_75 .td-pulldown-filter-link:hover, .td-theme-wrap .tdi_75 .td-subcat-item a:hover, .td-theme-wrap .tdi_75 .td-subcat-item .td-cur-simple-item, .td-theme-wrap .tdi_75 .td-subcat-dropdown:hover .td-subcat-more span, .td-theme-wrap .tdi_75 .td-subcat-dropdown:hover .td-subcat-more i { color: #151948; } .td-theme-wrap .tdi_75 .td-subcat-dropdown ul:after { background-color: #151948; } .td-theme-wrap .tdi_75 .td_module_wrap:hover .entry-title a, .td-theme-wrap .tdi_75 .td_quote_on_blocks, .td-theme-wrap .tdi_75 .td-opacity-cat .td-post-category:hover, .td-theme-wrap .tdi_75 .td-opacity-read .td-read-more a:hover, .td-theme-wrap .tdi_75 .td-opacity-author .td-post-author-name a:hover, .td-theme-wrap .tdi_75 .td-instagram-user a { color: #151948; } .td-theme-wrap .tdi_75 .td-next-prev-wrap a:hover, .td-theme-wrap .tdi_75 .td-load-more-wrap a:hover { background-color: #151948; border-color: #151948; } .td-theme-wrap .tdi_75 .td-read-more a, .td-theme-wrap .tdi_75 .td-weather-information:before, .td-theme-wrap .tdi_75 .td-weather-week:before, .td-theme-wrap .tdi_75 .td-exchange-header:before, .td-theme-wrap .td-footer-wrapper .tdi_75 .td-post-category, .td-theme-wrap .tdi_75 .td-post-category:hover { background-color: #151948; } </style> <style>.tdi_75 .td-image-wrap{padding-bottom:60%}.tdi_75 .entry-thumb{background-position:center 50%}.tdi_75 .td-image-container{flex:0 0 30%;width:30%;display:block;order:0}.ie10 .tdi_75 .td-image-container,.ie11 .tdi_75 .td-image-container{flex:0 0 auto}.tdi_75 .td-module-container{flex-direction:row;padding:10px 0;border-color:#eaeaea!important}.ie10 .tdi_75 .td-module-meta-info,.ie11 .tdi_75 .td-module-meta-info{flex:1}body .tdi_75 .td-favorite{font-size:36px;box-shadow:1px 1px 4px 0px rgba(0,0,0,0.2)}.tdi_75 .td-module-meta-info{padding:0 0 0 15px;border-color:#eaeaea}.tdi_75 .td_module_wrap{width:100%;float:left;padding-left:0px;padding-right:0px;padding-bottom:9px;margin-bottom:9px}.rtl .tdi_75 .td_module_wrap{float:right}.tdi_75 .td_block_inner{margin-left:-0px;margin-right:-0px}.tdi_75 .td-module-container:before{bottom:-9px;border-color:#eaeaea}.tdi_75 .td-post-vid-time{display:block}.tdi_75 .td-post-category{padding:6px 8px;background-color:#238fee;color:#ffffff;border-color:#ffffff;font-family:brother-xl!important;font-size:14px!important}.tdi_75 .td-author-photo .avatar{width:20px;height:20px;margin-right:6px;border-radius:50%}.tdi_75 .td-excerpt{display:none;margin:0px;column-count:1;column-gap:48px}.tdi_75 .td-audio-player{opacity:1;visibility:visible;height:auto;font-size:13px}.tdi_75 .td-read-more{display:none}.tdi_75 .td-author-date{display:inline}.tdi_75 .entry-review-stars{display:inline-block}.tdi_75 .td-icon-star,.tdi_75 .td-icon-star-empty,.tdi_75 .td-icon-star-half{font-size:15px}.tdi_75 .td-module-comments{display:none}.tdi_75 .td_module_wrap:nth-last-child(1){margin-bottom:0;padding-bottom:0}.tdi_75 .td_module_wrap:nth-last-child(1) .td-module-container:before{display:none}.tdi_75 .td-module-thumb a:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:-webkit-linear-gradient(90deg,rgba(38,189,233,0.29),rgba(0,126,237,0.26));background:linear-gradient(90deg,rgba(38,189,233,0.29),rgba(0,126,237,0.26))}.tdi_75 .td-post-category:hover{background-color:#f2f2f2!important;color:#238fee;border-color:#ffffff}.tdi_75 .td-module-title a{color:#151948;box-shadow:inset 0 0 0 0 #238fee}.tdi_75 .td_module_wrap:hover .td-module-title a{color:#151948!important;box-shadow:inset 0 -2px 0 0 #238fee}.tdi_75 .td-post-author-name a{color:#238fee}.tdi_75 .td-post-author-name:hover a{color:#b361e0}.tdi_75 .td-post-date,.tdi_75 .td-post-author-name span{color:#a5a5a5}.tdi_75.td_with_ajax_pagination .td-next-prev-wrap a,.tdi_75 .td-load-more-wrap a{color:#a5a5a5;background-color:#ffffff;border-color:#dbdbdb;padding:5px 6px;border-width:2px}.tdi_75 .td-load-more-wrap a .td-load-more-icon-svg svg,.tdi_75 .td-load-more-wrap a .td-load-more-icon-svg svg *,.tdi_75.td_with_ajax_pagination .td-next-prev-wrap .td-next-prev-icon-svg svg,.tdi_75.td_with_ajax_pagination .td-next-prev-wrap .td-next-prev-icon-svg svg *{fill:#a5a5a5}.tdi_75.td_with_ajax_pagination .td-next-prev-wrap a:hover,.tdi_75 .td-load-more-wrap a:hover{color:#ffffff;background-color:#238fee!important;border-color:#238fee!important;border-color:#f2f2f2!important}.tdi_75 .td-load-more-wrap a:hover .td-load-more-icon-svg svg,.tdi_75 .td-load-more-wrap a:hover .td-load-more-icon-svg svg *,.tdi_75.td_with_ajax_pagination .td-next-prev-wrap a:hover .td-next-prev-icon-svg svg,.tdi_75.td_with_ajax_pagination .td-next-prev-wrap a:hover .td-next-prev-icon-svg svg *{fill:#ffffff}.tdi_75.td_with_ajax_pagination .td-next-prev-wrap,.tdi_75 .td-load-more-wrap{margin-top:35px}.tdi_75 .page-nav .pages{padding-right:0}.tdi_75.td_with_ajax_pagination .td-next-prev-wrap a,.tdi_75 .td-load-more-wrap a i{font-size:24px}.tdi_75 .td-load-more-wrap a .td-load-more-icon-svg svg,.tdi_75.td_with_ajax_pagination .td-next-prev-wrap .td-next-prev-icon-svg svg{width:24px;height:calc(24px + 1px)}.tdi_75 .td-block-title a,.tdi_75 .td-block-title span{font-family:brother-xl!important;font-size:30px!important;font-weight:700!important;text-transform:capitalize!important}.tdi_75 .td-subcat-list a,.tdi_75 .td-subcat-dropdown span,.tdi_75 .td-subcat-dropdown a{font-family:brother-xl!important}.tdi_75 .entry-title{font-family:brother-xl!important;font-size:17px!important;line-height:1.2!important;font-weight:700!important}.tdi_75 .td-editor-date,.tdi_75 .td-editor-date .td-post-author-name a,.tdi_75 .td-editor-date .entry-date,.tdi_75 .td-module-comments a{font-family:Rubik!important;font-size:14px!important;font-weight:400!important}.tdi_75 .td-load-more-wrap a{font-family:brother-xl!important}html:not([class*='ie']) .tdi_75 .td-module-container:hover .entry-thumb:before{opacity:0}html:not([class*='ie']) .tdi_75 .entry-thumb{filter:brightness(1) contrast(1) saturate(1);transition:all 1s ease;-webkit-transition:all 1s ease}@media (min-width:768px){.tdi_75 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}@media (min-width:1141px){html:not([class*='ie']) .tdi_75 .td-module-container:hover .entry-thumb{filter:brightness(0.7) contrast(0.7) saturate(1)}}@media (min-width:1019px) and (max-width:1140px){.tdi_75 .td_module_wrap{padding-bottom:9px;margin-bottom:9px;padding-bottom:9px!important;margin-bottom:9px!important}.tdi_75 .td-module-container:before{bottom:-9px}.tdi_75 .td-post-category:not(.td-post-extra-category){display:none}.tdi_75 .td_module_wrap:nth-last-child(1){margin-bottom:0!important;padding-bottom:0!important}.tdi_75 .td_module_wrap .td-module-container:before{display:block!important}.tdi_75 .td_module_wrap:nth-last-child(1) .td-module-container:before{display:none!important}.tdi_75 .td-module-title a{box-shadow:inset 0 0 0 0 #238fee}.tdi_75 .td_module_wrap:hover .td-module-title a{box-shadow:inset 0 -2px 0 0 #238fee}.tdi_75 .entry-title{font-size:14px!important}@media (min-width:768px){.tdi_75 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}}@media (min-width:768px) and (max-width:1018px){.tdi_75 .td-image-wrap{padding-bottom:90%}.tdi_75 .td-module-meta-info{padding:0 0 0 10px}.tdi_75 .td_module_wrap{padding-bottom:8px;margin-bottom:8px;padding-bottom:8px!important;margin-bottom:8px!important}.tdi_75 .td-module-container:before{bottom:-8px}.tdi_75 .td-post-category:not(.td-post-extra-category){display:none}.tdi_75 .td_module_wrap:nth-last-child(1){margin-bottom:0!important;padding-bottom:0!important}.tdi_75 .td_module_wrap .td-module-container:before{display:block!important}.tdi_75 .td_module_wrap:nth-last-child(1) .td-module-container:before{display:none!important}.tdi_75 .td-module-title a{box-shadow:inset 0 0 0 0 #238fee}.tdi_75 .td_module_wrap:hover .td-module-title a{box-shadow:inset 0 -2px 0 0 #238fee}.tdi_75 .entry-title{font-size:12px!important}@media (min-width:768px){.tdi_75 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}}@media (max-width:767px){.tdi_75 .td-module-meta-info{padding:0px 5px 5px 15px}.tdi_75 .td_module_wrap{padding-bottom:9px;margin-bottom:9px;padding-bottom:9px!important;margin-bottom:9px!important}.tdi_75 .td-module-container:before{bottom:-9px}.tdi_75 .td-post-category:not(.td-post-extra-category){display:none}.tdi_75 .td_module_wrap:nth-last-child(1){margin-bottom:0!important;padding-bottom:0!important}.tdi_75 .td_module_wrap .td-module-container:before{display:block!important}.tdi_75 .td_module_wrap:nth-last-child(1) .td-module-container:before{display:none!important}.tdi_75 .td-module-title a{box-shadow:inset 0 0 0 0 #238fee}.tdi_75 .td_module_wrap:hover .td-module-title a{box-shadow:inset 0 -2px 0 0 #238fee}.tdi_75 .entry-title{font-size:15px!important}@media (min-width:768px){.tdi_75 .td-module-title a{transition:all 0.2s ease;-webkit-transition:all 0.2s ease}}}</style><script data-src="data:text/javascript;base64,dmFyIGJsb2NrX3RkaV83NSA9IG5ldyB0ZEJsb2NrKCk7CmJsb2NrX3RkaV83NS5pZCA9ICJ0ZGlfNzUiOwpibG9ja190ZGlfNzUuYXR0cyA9ICd7ImN1c3RvbV90aXRsZSI6Ik11c3QgUmVhZCIsImZfaGVhZGVyX2ZvbnRfdHJhbnNmb3JtIjoiY2FwaXRhbGl6ZSIsImFqYXhfcGFnaW5hdGlvbiI6IiIsImNhdGVnb3J5X2lkIjoiX3JlbGF0ZWRfY2F0Iiwic29ydCI6IiIsImFsbF9tb2R1bGVzX3NwYWNlIjoiZXlKd2IzSjBjbUZwZENJNklqRTJJaXdpWVd4c0lqb2lNVGdpZlE9PSIsImltYWdlX2Zsb2F0ZWQiOiJmbG9hdF9sZWZ0IiwiaW1hZ2Vfd2lkdGgiOiIzMCIsImltYWdlX2hlaWdodCI6ImV5SmhiR3dpT2lJMk1DVWlMQ0p3YjNKMGNtRnBkQ0k2SWprd0luMD0iLCJtZXRhX3BhZGRpbmciOiJleUp3YjNKMGNtRnBkQ0k2SWpBZ01DQXdJREV3Y0hnaUxDSndhRzl1WlNJNklqQndlQ0ExY0hnZ05YQjRJREUxY0hnaUxDSmhiR3dpT2lJd0lEQWdNQ0F4TlhCNEluMD0iLCJzaG93X2V4Y2VycHQiOiJub25lIiwic2hvd19idG4iOiJub25lIiwic2hvd19jb20iOiJub25lIiwic2hvd19kYXRlIjoiIiwic2hvd19hdXRob3IiOiIiLCJibG9ja190ZW1wbGF0ZV9pZCI6InRkX2Jsb2NrX3RlbXBsYXRlXzIiLCJmX3RpdGxlX2ZvbnRfc2l6ZSI6ImV5SndiM0owY21GcGRDSTZJakV5SWl3aWJHRnVaSE5qWVhCbElqb2lNVFFpTENKd2FHOXVaU0k2SWpFMUlpd2lZV3hzSWpvaU1UY2lmUT09IiwiZl90aXRsZV9mb250X2xpbmVfaGVpZ2h0IjoiMS4yIiwiZl90aXRsZV9mb250X3dlaWdodCI6IjcwMCIsImZfaGVhZGVyX2ZvbnRfZmFtaWx5IjoidGtfMSIsImZfaGVhZGVyX2ZvbnRfd2VpZ2h0IjoiNzAwIiwiZl90aXRsZV9mb250X2ZhbWlseSI6InRrXzEiLCJzaG93X2NhdCI6ImV5SnNZVzVrYzJOaGNHVWlPaUp1YjI1bElpd2ljRzl5ZEhKaGFYUWlPaUp1YjI1bElpd2ljR2h2Ym1VaU9pSnViMjVsSW4wPSIsIm1jMV90bCI6IjExIiwibWMxX2VsIjoiMTAiLCJtb2R1bGVzX2dhcCI6IjAiLCJtX3BhZGRpbmciOiIxMHB4IDAiLCJtb2R1bGVzX2NhdGVnb3J5IjoiaW1hZ2UiLCJtb2R1bGVzX2NhdGVnb3J5X3BhZGRpbmciOiI2cHggOHB4IiwiYXJ0X2V4Y2VycHQiOiIwIiwicGFnX3NwYWNlIjoiMzUiLCJwYWdfcGFkZGluZyI6IjVweCA2cHgiLCJwYWdfYm9yZGVyX3dpZHRoIjoiMiIsInBhZ19pY29uc19zaXplIjoiMjQiLCJwcmV2X3RkaWNvbiI6InRkLWljb24tbGluZWUiLCJuZXh0X3RkaWNvbiI6InRkLWljb24tcGx1c3MiLCJmX2FqYXhfZm9udF9mYW1pbHkiOiJ0a18xIiwiZl9tb3JlX2ZvbnRfZmFtaWx5IjoidGtfMSIsImZfY2F0X2ZvbnRfZmFtaWx5IjoidGtfMSIsImZfbWV0YV9mb250X2ZhbWlseSI6IjcxMiIsImZfbWV0YV9mb250X3dlaWdodCI6IjQwMCIsImZfbWV0YV9mb250X3NpemUiOiIxNCIsImZfY2F0X2ZvbnRfc2l6ZSI6IjE0IiwiZmVfYnJpZ2h0bmVzc19oIjoiMC43IiwiZmVfY29udHJhc3RfaCI6IjAuNyIsImNvbG9yX292ZXJsYXkiOiJleUowZVhCbElqb2laM0poWkdsbGJuUWlMQ0pqYjJ4dmNqRWlPaUp5WjJKaEtEQXNNVEkyTERJek55d3dMakkyS1NJc0ltTnZiRzl5TWlJNkluSm5ZbUVvTXpnc01UZzVMREl6TXl3d0xqSTVLU0lzSW0xcGVHVmtRMjlzYjNKeklqcGJYU3dpWkdWbmNtVmxJam9pT1RBaUxDSmpjM01pT2lKaVlXTnJaM0p2ZFc1a09pQXRkMlZpYTJsMExXeHBibVZoY2kxbmNtRmthV1Z1ZENnNU1HUmxaeXh5WjJKaEtETTRMREU0T1N3eU16TXNNQzR5T1Nrc2NtZGlZU2d3TERFeU5pd3lNemNzTUM0eU5pa3BPMkpoWTJ0bmNtOTFibVE2SUd4cGJtVmhjaTFuY21Ga2FXVnVkQ2c1TUdSbFp5eHlaMkpoS0RNNExERTRPU3d5TXpNc01DNHlPU2tzY21kaVlTZ3dMREV5Tml3eU16Y3NNQzR5TmlrcE95SXNJbU56YzFCaGNtRnRjeUk2SWprd1pHVm5MSEpuWW1Fb016Z3NNVGc1TERJek15d3dMakk1S1N4eVoySmhLREFzTVRJMkxESXpOeXd3TGpJMktTSjkiLCJ0aXRsZV90eHQiOiIjMTUxOTQ4IiwidGl0bGVfdHh0X2hvdmVyIjoiIzE1MTk0OCIsImFsbF91bmRlcmxpbmVfaGVpZ2h0IjoiMiIsImFsbF91bmRlcmxpbmVfY29sb3IiOiIjMjM4ZmVlIiwiY2F0X2JnIjoiIzIzOGZlZSIsImNhdF9iZ19ob3ZlciI6IiNmMmYyZjIiLCJjYXRfdHh0X2hvdmVyIjoiIzIzOGZlZSIsImNhdF90eHQiOiIjZmZmZmZmIiwiY2F0X2JvcmRlciI6IiNmZmZmZmYiLCJjYXRfYm9yZGVyX2hvdmVyIjoiI2ZmZmZmZiIsImF1dGhvcl90eHQiOiIjMjM4ZmVlIiwiYXV0aG9yX3R4dF9ob3ZlciI6IiNiMzYxZTAiLCJkYXRlX3R4dCI6IiNhNWE1YTUiLCJwYWdfdGV4dCI6IiNhNWE1YTUiLCJwYWdfaF90ZXh0IjoiI2ZmZmZmZiIsInBhZ19iZyI6IiNmZmZmZmYiLCJwYWdfaF9iZyI6IiMyMzhmZWUiLCJwYWdfaF9ib3JkZXIiOiIjZjJmMmYyIiwicGFnX2JvcmRlciI6IiNkYmRiZGIiLCJoZWFkZXJfdGV4dF9jb2xvciI6IiMxNTE5NDgiLCJmX2hlYWRlcl9mb250X3NpemUiOiIzMCIsImxpbWl0IjoiNCIsImVsX2NsYXNzIjoibmF0aXZlLXJyIiwiYmxvY2tfdHlwZSI6InRkX2ZsZXhfYmxvY2tfMSIsInNlcGFyYXRvciI6IiIsImN1c3RvbV91cmwiOiIiLCJ0aXRsZV90YWciOiIiLCJtYzFfdGl0bGVfdGFnIjoiIiwicG9zdF9pZHMiOiItMTQ2NjUiLCJ0YXhvbm9taWVzIjoiIiwiY2F0ZWdvcnlfaWRzIjoiIiwiaW5fYWxsX3Rlcm1zIjoiIiwidGFnX3NsdWciOiIiLCJhdXRvcnNfaWQiOiIiLCJpbnN0YWxsZWRfcG9zdF90eXBlcyI6IiIsImluY2x1ZGVfY2ZfcG9zdHMiOiIiLCJleGNsdWRlX2NmX3Bvc3RzIjoiIiwicG9wdWxhcl9ieV9kYXRlIjoiIiwibGlua2VkX3Bvc3RzIjoiIiwiZmF2b3VyaXRlX29ubHkiOiIiLCJvZmZzZXQiOiIiLCJvcGVuX2luX25ld193aW5kb3ciOiIiLCJzaG93X21vZGlmaWVkX2RhdGUiOiIiLCJ0aW1lX2FnbyI6IiIsInRpbWVfYWdvX2FkZF90eHQiOiJhZ28iLCJ0aW1lX2Fnb190eHRfcG9zIjoiIiwicmV2aWV3X3NvdXJjZSI6IiIsInRkX3F1ZXJ5X2NhY2hlIjoiIiwidGRfcXVlcnlfY2FjaGVfZXhwaXJhdGlvbiI6IiIsInRkX2FqYXhfZmlsdGVyX3R5cGUiOiIiLCJ0ZF9hamF4X2ZpbHRlcl9pZHMiOiIiLCJ0ZF9maWx0ZXJfZGVmYXVsdF90eHQiOiJBbGwiLCJ0ZF9hamF4X3ByZWxvYWRpbmciOiIiLCJjb250YWluZXJfd2lkdGgiOiIiLCJtb2R1bGVzX29uX3JvdyI6IjEwMCUiLCJtb2R1bGVzX2JvcmRlcl9zaXplIjoiIiwibW9kdWxlc19ib3JkZXJfc3R5bGUiOiIiLCJtb2R1bGVzX2JvcmRlcl9jb2xvciI6IiNlYWVhZWEiLCJtb2R1bGVzX2JvcmRlcl9yYWRpdXMiOiIiLCJtb2R1bGVzX2RpdmlkZXIiOiIiLCJtb2R1bGVzX2RpdmlkZXJfY29sb3IiOiIjZWFlYWVhIiwiaF9lZmZlY3QiOiIiLCJpbWFnZV9zaXplIjoiIiwiaW1hZ2VfYWxpZ25tZW50IjoiNTAiLCJpbWFnZV9yYWRpdXMiOiIiLCJoaWRlX2ltYWdlIjoiIiwic2hvd19mYXZvdXJpdGVzIjoiIiwiZmF2X3NpemUiOiIyIiwiZmF2X3NwYWNlIjoiIiwiZmF2X2ljb19jb2xvciI6IiIsImZhdl9pY29fY29sb3JfaCI6IiIsImZhdl9iZyI6IiIsImZhdl9iZ19oIjoiIiwiZmF2X3NoYWRvd19zaGFkb3dfaGVhZGVyIjoiIiwiZmF2X3NoYWRvd19zaGFkb3dfdGl0bGUiOiJTaGFkb3ciLCJmYXZfc2hhZG93X3NoYWRvd19zaXplIjoiIiwiZmF2X3NoYWRvd19zaGFkb3dfb2Zmc2V0X2hvcml6b250YWwiOiIiLCJmYXZfc2hhZG93X3NoYWRvd19vZmZzZXRfdmVydGljYWwiOiIiLCJmYXZfc2hhZG93X3NoYWRvd19zcHJlYWQiOiIiLCJmYXZfc2hhZG93X3NoYWRvd19jb2xvciI6IiIsInZpZGVvX2ljb24iOiIiLCJ2aWRlb19wb3B1cCI6InllcyIsInZpZGVvX3JlYyI6IiIsInNwb3RfaGVhZGVyIjoiIiwidmlkZW9fcmVjX3RpdGxlIjoiIiwidmlkZW9fcmVjX2NvbG9yIjoiIiwidmlkZW9fcmVjX2Rpc2FibGUiOiIiLCJhdXRvcGxheV92aWQiOiJ5ZXMiLCJzaG93X3ZpZF90IjoiYmxvY2siLCJ2aWRfdF9tYXJnaW4iOiIiLCJ2aWRfdF9wYWRkaW5nIjoiIiwidmlkZW9fdGl0bGVfY29sb3IiOiIiLCJ2aWRlb190aXRsZV9jb2xvcl9oIjoiIiwidmlkZW9fYmciOiIiLCJ2aWRlb19vdmVybGF5IjoiIiwidmlkX3RfY29sb3IiOiIiLCJ2aWRfdF9iZ19jb2xvciI6IiIsImZfdmlkX3RpdGxlX2ZvbnRfaGVhZGVyIjoiIiwiZl92aWRfdGl0bGVfZm9udF90aXRsZSI6IlZpZGVvIHBvcC11cCBhcnRpY2xlIHRpdGxlIiwiZl92aWRfdGl0bGVfZm9udF9zZXR0aW5ncyI6IiIsImZfdmlkX3RpdGxlX2ZvbnRfZmFtaWx5IjoiIiwiZl92aWRfdGl0bGVfZm9udF9zaXplIjoiIiwiZl92aWRfdGl0bGVfZm9udF9saW5lX2hlaWdodCI6IiIsImZfdmlkX3RpdGxlX2ZvbnRfc3R5bGUiOiIiLCJmX3ZpZF90aXRsZV9mb250X3dlaWdodCI6IiIsImZfdmlkX3RpdGxlX2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl92aWRfdGl0bGVfZm9udF9zcGFjaW5nIjoiIiwiZl92aWRfdGl0bGVfIjoiIiwiZl92aWRfdGltZV9mb250X3RpdGxlIjoiVmlkZW8gZHVyYXRpb24gdGV4dCIsImZfdmlkX3RpbWVfZm9udF9zZXR0aW5ncyI6IiIsImZfdmlkX3RpbWVfZm9udF9mYW1pbHkiOiIiLCJmX3ZpZF90aW1lX2ZvbnRfc2l6ZSI6IiIsImZfdmlkX3RpbWVfZm9udF9saW5lX2hlaWdodCI6IiIsImZfdmlkX3RpbWVfZm9udF9zdHlsZSI6IiIsImZfdmlkX3RpbWVfZm9udF93ZWlnaHQiOiIiLCJmX3ZpZF90aW1lX2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl92aWRfdGltZV9mb250X3NwYWNpbmciOiIiLCJmX3ZpZF90aW1lXyI6IiIsIm1ldGFfaW5mb19hbGlnbiI6IiIsIm1ldGFfaW5mb19ob3JpeiI6ImxheW91dC1kZWZhdWx0IiwibWV0YV93aWR0aCI6IiIsIm1ldGFfbWFyZ2luIjoiIiwibWV0YV9zcGFjZSI6IiIsImFydF90aXRsZSI6IiIsImFydF9idG4iOiIiLCJtZXRhX2luZm9fYm9yZGVyX3NpemUiOiIiLCJtZXRhX2luZm9fYm9yZGVyX3N0eWxlIjoiIiwibWV0YV9pbmZvX2JvcmRlcl9jb2xvciI6IiNlYWVhZWEiLCJtZXRhX2luZm9fYm9yZGVyX3JhZGl1cyI6IiIsIm1vZHVsZXNfY2F0ZWdvcnlfbWFyZ2luIjoiIiwibW9kdWxlc19jYXRfYm9yZGVyIjoiIiwibW9kdWxlc19jYXRlZ29yeV9yYWRpdXMiOiIwIiwibW9kdWxlc19leHRyYV9jYXQiOiIiLCJhdXRob3JfcGhvdG8iOiIiLCJhdXRob3JfcGhvdG9fc2l6ZSI6IiIsImF1dGhvcl9waG90b19zcGFjZSI6IiIsImF1dGhvcl9waG90b19yYWRpdXMiOiIiLCJzaG93X3JldmlldyI6ImlubGluZS1ibG9jayIsInJldmlld19zcGFjZSI6IiIsInJldmlld19zaXplIjoiMi41IiwicmV2aWV3X2Rpc3RhbmNlIjoiIiwiZXhjZXJwdF9jb2wiOiIxIiwiZXhjZXJwdF9nYXAiOiIiLCJleGNlcnB0X21pZGRsZSI6IiIsImV4Y2VycHRfaW5saW5lIjoiIiwic2hvd19hdWRpbyI6ImJsb2NrIiwiaGlkZV9hdWRpbyI6IiIsImFydF9hdWRpbyI6IiIsImFydF9hdWRpb19zaXplIjoiMS41IiwiYnRuX3RpdGxlIjoiIiwiYnRuX21hcmdpbiI6IiIsImJ0bl9wYWRkaW5nIjoiIiwiYnRuX2JvcmRlcl93aWR0aCI6IiIsImJ0bl9yYWRpdXMiOiIiLCJwYWdfYm9yZGVyX3JhZGl1cyI6IiIsImZfaGVhZGVyX2ZvbnRfaGVhZGVyIjoiIiwiZl9oZWFkZXJfZm9udF90aXRsZSI6IkJsb2NrIGhlYWRlciIsImZfaGVhZGVyX2ZvbnRfc2V0dGluZ3MiOiIiLCJmX2hlYWRlcl9mb250X2xpbmVfaGVpZ2h0IjoiIiwiZl9oZWFkZXJfZm9udF9zdHlsZSI6IiIsImZfaGVhZGVyX2ZvbnRfc3BhY2luZyI6IiIsImZfaGVhZGVyXyI6IiIsImZfYWpheF9mb250X3RpdGxlIjoiQWpheCBjYXRlZ29yaWVzIiwiZl9hamF4X2ZvbnRfc2V0dGluZ3MiOiIiLCJmX2FqYXhfZm9udF9zaXplIjoiIiwiZl9hamF4X2ZvbnRfbGluZV9oZWlnaHQiOiIiLCJmX2FqYXhfZm9udF9zdHlsZSI6IiIsImZfYWpheF9mb250X3dlaWdodCI6IiIsImZfYWpheF9mb250X3RyYW5zZm9ybSI6IiIsImZfYWpheF9mb250X3NwYWNpbmciOiIiLCJmX2FqYXhfIjoiIiwiZl9tb3JlX2ZvbnRfdGl0bGUiOiJMb2FkIG1vcmUgYnV0dG9uIiwiZl9tb3JlX2ZvbnRfc2V0dGluZ3MiOiIiLCJmX21vcmVfZm9udF9zaXplIjoiIiwiZl9tb3JlX2ZvbnRfbGluZV9oZWlnaHQiOiIiLCJmX21vcmVfZm9udF9zdHlsZSI6IiIsImZfbW9yZV9mb250X3dlaWdodCI6IiIsImZfbW9yZV9mb250X3RyYW5zZm9ybSI6IiIsImZfbW9yZV9mb250X3NwYWNpbmciOiIiLCJmX21vcmVfIjoiIiwiZl90aXRsZV9mb250X2hlYWRlciI6IiIsImZfdGl0bGVfZm9udF90aXRsZSI6IkFydGljbGUgdGl0bGUiLCJmX3RpdGxlX2ZvbnRfc2V0dGluZ3MiOiIiLCJmX3RpdGxlX2ZvbnRfc3R5bGUiOiIiLCJmX3RpdGxlX2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl90aXRsZV9mb250X3NwYWNpbmciOiIiLCJmX3RpdGxlXyI6IiIsImZfY2F0X2ZvbnRfdGl0bGUiOiJBcnRpY2xlIGNhdGVnb3J5IHRhZyIsImZfY2F0X2ZvbnRfc2V0dGluZ3MiOiIiLCJmX2NhdF9mb250X2xpbmVfaGVpZ2h0IjoiIiwiZl9jYXRfZm9udF9zdHlsZSI6IiIsImZfY2F0X2ZvbnRfd2VpZ2h0IjoiIiwiZl9jYXRfZm9udF90cmFuc2Zvcm0iOiIiLCJmX2NhdF9mb250X3NwYWNpbmciOiIiLCJmX2NhdF8iOiIiLCJmX21ldGFfZm9udF90aXRsZSI6IkFydGljbGUgbWV0YSBpbmZvIiwiZl9tZXRhX2ZvbnRfc2V0dGluZ3MiOiIiLCJmX21ldGFfZm9udF9saW5lX2hlaWdodCI6IiIsImZfbWV0YV9mb250X3N0eWxlIjoiIiwiZl9tZXRhX2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl9tZXRhX2ZvbnRfc3BhY2luZyI6IiIsImZfbWV0YV8iOiIiLCJmX2V4X2ZvbnRfdGl0bGUiOiJBcnRpY2xlIGV4Y2VycHQiLCJmX2V4X2ZvbnRfc2V0dGluZ3MiOiIiLCJmX2V4X2ZvbnRfZmFtaWx5IjoiIiwiZl9leF9mb250X3NpemUiOiIiLCJmX2V4X2ZvbnRfbGluZV9oZWlnaHQiOiIiLCJmX2V4X2ZvbnRfc3R5bGUiOiIiLCJmX2V4X2ZvbnRfd2VpZ2h0IjoiIiwiZl9leF9mb250X3RyYW5zZm9ybSI6IiIsImZfZXhfZm9udF9zcGFjaW5nIjoiIiwiZl9leF8iOiIiLCJmX2J0bl9mb250X3RpdGxlIjoiQXJ0aWNsZSByZWFkIG1vcmUgYnV0dG9uIiwiZl9idG5fZm9udF9zZXR0aW5ncyI6IiIsImZfYnRuX2ZvbnRfZmFtaWx5IjoiIiwiZl9idG5fZm9udF9zaXplIjoiIiwiZl9idG5fZm9udF9saW5lX2hlaWdodCI6IiIsImZfYnRuX2ZvbnRfc3R5bGUiOiIiLCJmX2J0bl9mb250X3dlaWdodCI6IiIsImZfYnRuX2ZvbnRfdHJhbnNmb3JtIjoiIiwiZl9idG5fZm9udF9zcGFjaW5nIjoiIiwiZl9idG5fIjoiIiwibWl4X2NvbG9yIjoiIiwibWl4X3R5cGUiOiIiLCJmZV9icmlnaHRuZXNzIjoiMSIsImZlX2NvbnRyYXN0IjoiMSIsImZlX3NhdHVyYXRlIjoiMSIsIm1peF9jb2xvcl9oIjoiIiwibWl4X3R5cGVfaCI6IiIsImZlX3NhdHVyYXRlX2giOiIxIiwibV9iZyI6IiIsInNoYWRvd19zaGFkb3dfaGVhZGVyIjoiIiwic2hhZG93X3NoYWRvd190aXRsZSI6Ik1vZHVsZSBTaGFkb3ciLCJzaGFkb3dfc2hhZG93X3NpemUiOiIiLCJzaGFkb3dfc2hhZG93X29mZnNldF9ob3Jpem9udGFsIjoiIiwic2hhZG93X3NoYWRvd19vZmZzZXRfdmVydGljYWwiOiIiLCJzaGFkb3dfc2hhZG93X3NwcmVhZCI6IiIsInNoYWRvd19zaGFkb3dfY29sb3IiOiIiLCJjYXRfc3R5bGUiOiIiLCJtZXRhX2JnIjoiIiwiZXhfdHh0IjoiIiwiY29tX2JnIjoiIiwiY29tX3R4dCI6IiIsInJldl90eHQiOiIiLCJhdWRpb19idG5fY29sb3IiOiIiLCJhdWRpb190aW1lX2NvbG9yIjoiIiwiYXVkaW9fYmFyX2NvbG9yIjoiIiwiYXVkaW9fYmFyX2N1cnJfY29sb3IiOiIiLCJzaGFkb3dfbV9zaGFkb3dfaGVhZGVyIjoiIiwic2hhZG93X21fc2hhZG93X3RpdGxlIjoiTWV0YSBpbmZvIHNoYWRvdyIsInNoYWRvd19tX3NoYWRvd19zaXplIjoiIiwic2hhZG93X21fc2hhZG93X29mZnNldF9ob3Jpem9udGFsIjoiIiwic2hhZG93X21fc2hhZG93X29mZnNldF92ZXJ0aWNhbCI6IiIsInNoYWRvd19tX3NoYWRvd19zcHJlYWQiOiIiLCJzaGFkb3dfbV9zaGFkb3dfY29sb3IiOiIiLCJidG5fYmciOiIiLCJidG5fYmdfaG92ZXIiOiIiLCJidG5fdHh0IjoiIiwiYnRuX3R4dF9ob3ZlciI6IiIsImJ0bl9ib3JkZXIiOiIiLCJidG5fYm9yZGVyX2hvdmVyIjoiIiwiYWpheF9wYWdpbmF0aW9uX25leHRfcHJldl9zd2lwZSI6IiIsImFqYXhfcGFnaW5hdGlvbl9pbmZpbml0ZV9zdG9wIjoiIiwiY3NzIjoiIiwidGRjX2NzcyI6IiIsInRkX2NvbHVtbl9udW1iZXIiOjEsImhlYWRlcl9jb2xvciI6IiIsImNvbG9yX3ByZXNldCI6IiIsImJvcmRlcl90b3AiOiIiLCJjbGFzcyI6InRkaV83NSIsInRkY19jc3NfY2xhc3MiOiJ0ZGlfNzUiLCJ0ZGNfY3NzX2NsYXNzX3N0eWxlIjoidGRpXzc1X3JhbmRfc3R5bGUiLCJsaXZlX2ZpbHRlciI6ImN1cl9wb3N0X3NhbWVfY2F0ZWdvcmllcyIsImxpdmVfZmlsdGVyX2N1cl9wb3N0X2lkIjoxNDY2NSwibGl2ZV9maWx0ZXJfY3VyX3Bvc3RfcGFyZW50X2lkIjowfSc7CmJsb2NrX3RkaV83NS50ZF9jb2x1bW5fbnVtYmVyID0gIjEiOwpibG9ja190ZGlfNzUuYmxvY2tfdHlwZSA9ICJ0ZF9mbGV4X2Jsb2NrXzEiOwpibG9ja190ZGlfNzUucG9zdF9jb3VudCA9ICI0IjsKYmxvY2tfdGRpXzc1LmZvdW5kX3Bvc3RzID0gIjI0NyI7CmJsb2NrX3RkaV83NS5oZWFkZXJfY29sb3IgPSAiIjsKYmxvY2tfdGRpXzc1LmFqYXhfcGFnaW5hdGlvbl9pbmZpbml0ZV9zdG9wID0gIiI7CmJsb2NrX3RkaV83NS5tYXhfbnVtX3BhZ2VzID0gIjYyIjsKdGRCbG9ja3NBcnJheS5wdXNoKGJsb2NrX3RkaV83NSk7Cg==" data-type="lazy"></script><div class="td-block-title-wrap"><h4 class="td-block-title"><span class="td-pulldown-size">Must Read</span></h4></div><div id=tdi_75 class="td_block_inner td-mc1-wrap"> <div class="td_module_flex td_module_flex_1 td_module_wrap td-animation-stack td-cpt-post"> <div class="td-module-container td-category-pos-image"> <div class="td-image-container"> <a href="https://www.codeguru.com/multimedia/" class="td-post-category" >Multimedia</a> <div class="td-module-thumb"><a href="https://www.codeguru.com/multimedia/drawing-3d-opengl-graphics-on-google-maps/" rel="bookmark" class="td-image-wrap " title="Drawing 3D OpenGL Graphics on Google Maps" ><span data-bg="https://assets.codeguru.com/uploads/2021/07/Cplusplus2.jpg" class="entry-thumb td-thumb-css rocket-lazyload" style="" ></span></a></div> </div> <div class="td-module-meta-info"> <h3 class="entry-title td-module-title"><a href="https://www.codeguru.com/multimedia/drawing-3d-opengl-graphics-on-google-maps/" rel="bookmark" title="Drawing 3D OpenGL Graphics on Google Maps">Drawing 3D OpenGL Graphics on Google Maps</a></h3> <div class="td-editor-date"> <span class="td-author-date"> <span class="td-post-author-name"><a href="https://www.codeguru.com/author/pravin-kumar-sinha/">Pravin Kumar Sinha</a> <span>-</span> </span> <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2016-05-18T07:15:00+00:00" >May 18, 2016</time></span> </span> </div> </div> </div> </div> <div class="td_module_flex td_module_flex_1 td_module_wrap td-animation-stack td-cpt-post"> <div class="td-module-container td-category-pos-image"> <div class="td-image-container"> <a href="https://www.codeguru.com/multimedia/" class="td-post-category" >Multimedia</a> <div class="td-module-thumb"><a href="https://www.codeguru.com/multimedia/mandelbrot-using-c-amp/" rel="bookmark" class="td-image-wrap " title="Mandelbrot Using C++ AMP" ><span data-bg="https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/assets/images/no-thumb/td_696x0.png" class="entry-thumb td-thumb-css rocket-lazyload" style="" ></span></a></div> </div> <div class="td-module-meta-info"> <h3 class="entry-title td-module-title"><a href="https://www.codeguru.com/multimedia/mandelbrot-using-c-amp/" rel="bookmark" title="Mandelbrot Using C++ AMP">Mandelbrot Using C++ AMP</a></h3> <div class="td-editor-date"> <span class="td-author-date"> <span class="td-post-author-name"><a href="https://www.codeguru.com/author/codeguru-staff/">CodeGuru Staff</a> <span>-</span> </span> <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2012-01-27T17:57:52+00:00" >January 27, 2012</time></span> </span> </div> </div> </div> </div> <div class="td_module_flex td_module_flex_1 td_module_wrap td-animation-stack td-cpt-post"> <div class="td-module-container td-category-pos-image"> <div class="td-image-container"> <a href="https://www.codeguru.com/multimedia/" class="td-post-category" >Multimedia</a> <div class="td-module-thumb"><a href="https://www.codeguru.com/multimedia/library-for-raw-video-processing/" rel="bookmark" class="td-image-wrap " title="Library for Raw Video Processing" ><span data-bg="https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/assets/images/no-thumb/td_696x0.png" class="entry-thumb td-thumb-css rocket-lazyload" style="" ></span></a></div> </div> <div class="td-module-meta-info"> <h3 class="entry-title td-module-title"><a href="https://www.codeguru.com/multimedia/library-for-raw-video-processing/" rel="bookmark" title="Library for Raw Video Processing">Library for Raw Video Processing</a></h3> <div class="td-editor-date"> <span class="td-author-date"> <span class="td-post-author-name"><a href="https://www.codeguru.com/author/codeguru-staff/">CodeGuru Staff</a> <span>-</span> </span> <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2011-06-14T18:32:41+00:00" >June 14, 2011</time></span> </span> </div> </div> </div> </div> <div class="td_module_flex td_module_flex_1 td_module_wrap td-animation-stack td-cpt-post"> <div class="td-module-container td-category-pos-image"> <div class="td-image-container"> <a href="https://www.codeguru.com/multimedia/" class="td-post-category" >Multimedia</a> <div class="td-module-thumb"><a href="https://www.codeguru.com/multimedia/how-to-add-dmo-in-directshow-filter-graph/" rel="bookmark" class="td-image-wrap " title="How to add DMO in DirectShow filter graph" ><span data-bg="https://assets.codeguru.com/uploads/2021/07/DMOAudEffects.jpg" class="entry-thumb td-thumb-css rocket-lazyload" style="" ></span></a></div> </div> <div class="td-module-meta-info"> <h3 class="entry-title td-module-title"><a href="https://www.codeguru.com/multimedia/how-to-add-dmo-in-directshow-filter-graph/" rel="bookmark" title="How to add DMO in DirectShow filter graph">How to add DMO in DirectShow filter graph</a></h3> <div class="td-editor-date"> <span class="td-author-date"> <span class="td-post-author-name"><a href="https://www.codeguru.com/author/codeguru-staff/">CodeGuru Staff</a> <span>-</span> </span> <span class="td-post-date"><time class="entry-date updated td-module-date" datetime="2010-12-11T00:38:58+00:00" >December 11, 2010</time></span> </span> </div> </div> </div> </div> </div></div><div class="td-block td-a-rec td-a-rec-id-custom-spot tdi_76 td_block_template_2"> <style>.tdi_76.td-a-rec{text-align:center}.tdi_76.td-a-rec:not(.td-a-rec-no-translate){transform:translateZ(0)}.tdi_76 .td-element-style{z-index:-1}.tdi_76.td-a-rec-img{text-align:left}.tdi_76.td-a-rec-img img{margin:0 auto 0 0}@media (max-width:767px){.tdi_76.td-a-rec-img{text-align:center}}</style><div class="wp-ads-sticky-rail" id="wp-ads-1660771448"><!-- Start: GAM Ad Slot Render | Codeguru Sticky Rail --> <div id="sticky-rail" style="max-width: 300px; min-width: 160px; width: auto; text-align:center; min-height: 250px; max-height: 600px; height: auto; background-color: #ffffff; border:0px solid #efefef;"> <script nowprocket> window.googletag = window.googletag || { cmd: [] }; window.googletag.cmd.push(function() { googletag.display("sticky-rail"); }); </script> </div> <!-- End: GAM Ad Slot Render | Codeguru Sticky Rail --></div></div><div class="wpb_wrapper td_block_empty_space td_block_wrap vc_empty_space tdi_78 " style="height: 42px"></div></div></div></div></div></div></div> <span class="td-page-meta" itemprop="author" itemscope itemtype="https://schema.org/Person"><meta itemprop="name" content="CodeGuru Staff"><meta itemprop="url" content="https://www.codeguru.com/author/codeguru-staff/"></span><meta itemprop="datePublished" content="2011-08-22T15:53:33+00:00"><meta itemprop="dateModified" content="2021-08-09T21:42:30+00:00"><meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://www.codeguru.com/multimedia/simple-c-mp3-player-class/"/><span class="td-page-meta" itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><span class="td-page-meta" itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="https://www.codeguru.com/multimedia/simple-c-mp3-player-class/"></span><meta itemprop="name" content="CodeGuru"></span><meta itemprop="headline" content="Simple C++ MP3 Player Class"><span class="td-page-meta" itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="https://assets.codeguru.com/uploads/2021/07/cppmp3player.png"><meta itemprop="width" content="498"><meta itemprop="height" content="175"></span> </article> </div> </div> </div> <!-- #tdb-autoload-article --> <div class="td-footer-template-wrap" style="position: relative"> <div class="td-footer-wrap "> <div id="tdi_79" class="tdc-zone"><div class="tdc_zone tdi_80 wpb_row td-pb-row tdc-element-style" > <style scoped>.tdi_80{min-height:0}.tdi_80>.td-element-style:after{content:''!important;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important;z-index:0!important;display:block!important;background-color:#080a19!important}</style> <div class="tdi_79_rand_style td-element-style" ></div><div id="tdi_81" class="tdc-row stretch_row_1400 td-stretch-content"><div class="vc_row tdi_82 _ntv_footer wpb_row td-pb-row" > <style scoped>.tdi_82,.tdi_82 .tdc-columns{min-height:0}.tdi_82,.tdi_82 .tdc-columns{display:block}.tdi_82 .tdc-columns{width:100%}.tdi_82:before,.tdi_82:after{display:table}@media (min-width:768px){.tdi_82{margin-left:-15px;margin-right:-15px}.tdi_82 .tdc-row-video-background-error,.tdi_82>.vc_column,.tdi_82>.tdc-columns>.vc_column{padding-left:15px;padding-right:15px}}@media (min-width:1019px) and (max-width:1140px){@media (min-width:768px){.tdi_82{margin-left:-10px;margin-right:-10px}.tdi_82 .tdc-row-video-background-error,.tdi_82>.vc_column,.tdi_82>.tdc-columns>.vc_column{padding-left:10px;padding-right:10px}}}@media (min-width:768px) and (max-width:1018px){@media (min-width:768px){.tdi_82{margin-left:-10px;margin-right:-10px}.tdi_82 .tdc-row-video-background-error,.tdi_82>.vc_column,.tdi_82>.tdc-columns>.vc_column{padding-left:10px;padding-right:10px}}}.tdi_82{padding-top:60px!important}.tdi_82 .td_block_wrap{text-align:left}@media (min-width:768px) and (max-width:1018px){.tdi_82{padding-top:30px!important;padding-bottom:10px!important}}@media (max-width:767px){.tdi_82{padding-top:60px!important}}</style><div class="vc_column tdi_84 wpb_column vc_column_container tdc-column td-pb-span6"> <style scoped>.tdi_84{vertical-align:baseline}.tdi_84>.wpb_wrapper,.tdi_84>.wpb_wrapper>.tdc-elements{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;align-items:flex-start}.tdi_84>.wpb_wrapper>.tdc-elements{width:100%}.tdi_84>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_84>.wpb_wrapper{width:100%;height:100%}@media (max-width:767px){.tdi_84{justify-content:center!important;text-align:center!important}}</style><div class="wpb_wrapper" ><div class="td_block_wrap tdb_header_logo tdi_85 td-pb-border-top td_block_template_2 tdb-header-align" data-td-block-uid="tdi_85" > <style>.tdi_85{margin-top:10px!important;margin-bottom:10px!important}@media (max-width:767px){.tdi_85{margin-left:50px!important;display:inline-block!important}}</style> <style>.tdi_85 .tdb-logo-a,.tdi_85 h1{flex-direction:row;align-items:center;justify-content:flex-start}.tdi_85 .tdb-logo-svg-wrap{display:block}.tdi_85 .tdb-logo-svg-wrap+.tdb-logo-img-wrap{display:none}.tdi_85 .tdb-logo-img{max-width:47%}.tdi_85 .tdb-logo-img-wrap{display:block}.tdi_85 .tdb-logo-text-tagline{margin-top:2px;margin-left:0;display:block;font-family:brother-xl!important;}.tdi_85 .tdb-logo-text-title{display:block;color:#ffffff;font-family:brother-xl!important;font-size:34px!important;font-weight:500!important;text-transform:uppercase!important;}.tdi_85 .tdb-logo-text-wrap{flex-direction:column;align-items:center}.tdi_85 .tdb-logo-icon{top:0px;display:block}@media (min-width:1019px) and (max-width:1140px){.tdi_85 .tdb-logo-text-title{font-size:32px!important;}}@media (min-width:768px) and (max-width:1018px){.tdi_85 .tdb-logo-text-title{font-size:22px!important;}}@media (max-width:767px){.tdi_85 .tdb-logo-img{max-width:80%}}</style><div class="tdb-block-inner td-fix-index"><a class="tdb-logo-a" href="https://www.codeguru.com/"><span class="tdb-logo-img-wrap"><img class="tdb-logo-img td-retina-data" data-retina="https://assets.codeguru.com/uploads/2021/08/CG_MobileLogo_White.png" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%202267%20352'%3E%3C/svg%3E" alt="Logo" title="" width="2267" height="352" data-lazy-src="https://assets.codeguru.com/uploads/2021/08/CG_RetinaLogo-copy-white-2.png" /><noscript><img class="tdb-logo-img td-retina-data" data-retina="https://assets.codeguru.com/uploads/2021/08/CG_MobileLogo_White.png" src="https://assets.codeguru.com/uploads/2021/08/CG_RetinaLogo-copy-white-2.png" alt="Logo" title="" width="2267" height="352" /></noscript></span></a></div></div> <!-- ./block --><div class="tdm_block td_block_wrap tdm_block_inline_text tdi_86 tdm-inline-block td-pb-border-top td_block_template_2" data-td-block-uid="tdi_86" > <style>.tdi_86{width:90%!important}@media (max-width:767px){.tdi_86{width:100%!important;justify-content:center!important;text-align:center!important}}</style> <style>.tdm_block.tdm_block_inline_text{margin-bottom:0;vertical-align:top}.tdm_block.tdm_block_inline_text .tdm-descr{margin-bottom:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.tdc-row-content-vert-center .tdm-inline-text-yes{vertical-align:middle}.tdc-row-content-vert-bottom .tdm-inline-text-yes{vertical-align:bottom}.tdi_86{text-align:left!important}.tdi_86 .tdm-descr{color:#ffffff;font-family:Rubik!important;font-size:16px!important;line-height:1.4!important}@media (min-width:768px) and (max-width:1018px){.tdi_86 .tdm-descr{font-size:12px!important}}@media (max-width:767px){.tdi_86{text-align:center!important;margin-right:auto;margin-left:auto}}</style><p class="tdm-descr">CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.</p></div><div class="tdm_block td_block_wrap tdm_block_socials tdi_87 tdm-inline-block tdm-content-horiz-left td-pb-border-top td_block_template_2" data-td-block-uid="tdi_87" > <style>.tdi_87{margin-top:10px!important;margin-bottom:20px!important;width:100%!important}@media (max-width:767px){.tdi_87{margin-right:auto!important;margin-left:auto!important;width:auto!important}}</style> <style>.tdi_88 .tdm-social-item i{font-size:20px;vertical-align:middle;line-height:36px}.tdi_88 .tdm-social-item i.td-icon-linkedin,.tdi_88 .tdm-social-item i.td-icon-pinterest,.tdi_88 .tdm-social-item i.td-icon-blogger,.tdi_88 .tdm-social-item i.td-icon-vimeo{font-size:16px}.tdi_88 .tdm-social-item{width:36px;height:36px;margin:5px 10px 5px 0}.tdi_88 .tdm-social-item-wrap:last-child .tdm-social-item{margin-right:0!important}.tdi_88 .tdm-social-item i,.tds-team-member2 .tdi_88.tds-social1 .tdm-social-item i{color:#ffffff}.tdi_88 .tdm-social-item-wrap:hover i,.tds-team-member2 .tdi_88.tds-social1 .tdm-social-item:hover i{color:#b361e0}.tdi_88 .tdm-social-text{display:none;margin-left:2px;margin-right:18px}@media (min-width:768px) and (max-width:1018px){.tdi_88 .tdm-social-item i{font-size:12px;vertical-align:middle;line-height:21.6px}.tdi_88 .tdm-social-item i.td-icon-linkedin,.tdi_88 .tdm-social-item i.td-icon-pinterest,.tdi_88 .tdm-social-item i.td-icon-blogger,.tdi_88 .tdm-social-item i.td-icon-vimeo{font-size:9.6px}.tdi_88 .tdm-social-item{width:21.6px;height:21.6px}}</style><div class="tdm-social-wrapper tds-social1 tdi_88"><div class="tdm-social-item-wrap"><a href="https://www.facebook.com/CodeGuru-108048391032729" title="Facebook" class="tdm-social-item"><i class="td-icon-font td-icon-facebook"></i><span style="display: none">Facebook</span></a></div><div class="tdm-social-item-wrap"><a href="https://www.linkedin.com/company/codegurutoday/?viewAsMember=true" title="Linkedin" class="tdm-social-item"><i class="td-icon-font td-icon-linkedin"></i><span style="display: none">Linkedin</span></a></div><div class="tdm-social-item-wrap"><a href="https://twitter.com/CodeGuruToday" title="Twitter" class="tdm-social-item"><i class="td-icon-font td-icon-twitter"></i><span style="display: none">Twitter</span></a></div></div></div></div></div><div class="vc_column tdi_90 wpb_column vc_column_container tdc-column td-pb-span6"> <style scoped>.tdi_90{vertical-align:baseline}.tdi_90>.wpb_wrapper,.tdi_90>.wpb_wrapper>.tdc-elements{display:block}.tdi_90>.wpb_wrapper>.tdc-elements{width:100%}.tdi_90>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_90>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ><div class="vc_row_inner tdi_92 vc_row vc_inner wpb_row td-pb-row" > <style scoped>.tdi_92{position:relative!important;top:0;transform:none;-webkit-transform:none}.tdi_92,.tdi_92 .tdc-inner-columns{display:block}.tdi_92 .tdc-inner-columns{width:100%}</style><div class="vc_column_inner tdi_94 wpb_column vc_column_container tdc-inner-column td-pb-span8"> <style scoped>.tdi_94{vertical-align:baseline}.tdi_94 .vc_column-inner>.wpb_wrapper,.tdi_94 .vc_column-inner>.wpb_wrapper .tdc-elements{display:block}.tdi_94 .vc_column-inner>.wpb_wrapper .tdc-elements{width:100%}@media (max-width:767px){div.tdi_94{width:100%!important}}@media (max-width:767px){.tdi_94{margin-bottom:0px!important;padding-bottom:0px!important}}</style><div class="vc_column-inner"><div class="wpb_wrapper" ><div class="td_block_wrap td_block_title tdi_95 td-pb-border-top td_block_template_2 td-fix-index" data-td-block-uid="tdi_95" > <style>.td-theme-wrap .tdi_95 .td-block-title>*,.td-theme-wrap .tdi_95 .td-pulldown-filter-link:hover,.td-theme-wrap .tdi_95 .td-subcat-item a:hover,.td-theme-wrap .tdi_95 .td-subcat-item .td-cur-simple-item,.td-theme-wrap .tdi_95 .td-subcat-dropdown:hover .td-subcat-more span,.td-theme-wrap .tdi_95 .td-subcat-dropdown:hover .td-subcat-more i{color:#238fee}.td-theme-wrap .tdi_95 .td-subcat-dropdown ul:after{background-color:#238fee}.td-theme-wrap .tdi_95 .td_module_wrap:hover .entry-title a,.td-theme-wrap .tdi_95 .td_quote_on_blocks,.td-theme-wrap .tdi_95 .td-opacity-cat .td-post-category:hover,.td-theme-wrap .tdi_95 .td-opacity-read .td-read-more a:hover,.td-theme-wrap .tdi_95 .td-opacity-author .td-post-author-name a:hover,.td-theme-wrap .tdi_95 .td-instagram-user a{color:#238fee}.td-theme-wrap .tdi_95 .td-next-prev-wrap a:hover,.td-theme-wrap .tdi_95 .td-load-more-wrap a:hover{background-color:#238fee;border-color:#238fee}.td-theme-wrap .tdi_95 .td-read-more a,.td-theme-wrap .tdi_95 .td-weather-information:before,.td-theme-wrap .tdi_95 .td-weather-week:before,.td-theme-wrap .tdi_95 .td-exchange-header:before,.td-theme-wrap .td-footer-wrapper .tdi_95 .td-post-category,.td-theme-wrap .tdi_95 .td-post-category:hover{background-color:#238fee}.tdi_95{margin-bottom:-5px!important}@media (min-width:768px) and (max-width:1018px){.tdi_95{margin-bottom:-15px!important}}@media (max-width:767px){.tdi_95{width:100%!important;display:inline-block!important}}</style> <style>body .tdi_95 .td-block-title a,body .tdi_95 .td-block-title span{font-family:brother-xl!important;font-size:24px!important;font-weight:700!important;letter-spacing:1px!important}@media (min-width:1019px) and (max-width:1140px){body .tdi_95 .td-block-title a,body .tdi_95 .td-block-title span{font-size:19px!important}}@media (min-width:768px) and (max-width:1018px){body .tdi_95 .td-block-title a,body .tdi_95 .td-block-title span{font-size:18px!important}}@media (max-width:767px){body .tdi_95 .td-block-title{text-align:center}body .tdi_95.td_block_template_4 .td-block-title>*:before,body .tdi_95.td_block_template_17 .td-block-title:after,body .tdi_95.td_block_template_13 .td-block-subtitle,body .tdi_95.td_block_template_9 .td-block-title:after{right:0;left:0}body .tdi_95.td_block_template_5 .td-block-title>*{border-width:0 0 0 4px}body .tdi_95.td_block_template_8 .td-block-title>*{padding-left:20px;padding-right:20px}body .tdi_95.td_block_template_12 .td-block-title{justify-content:center}}</style><div class="td-block-title-wrap"><h4 class="td-block-title"><span class="td-pulldown-size">Advertisers</span></h4></div></div><div class="tdm_block td_block_wrap tdm_block_inline_text tdi_96 tdm-inline-block td-pb-border-top td_block_template_2" data-td-block-uid="tdi_96" > <style>.tdi_96{margin-bottom:30px!important;width:90%!important}@media (max-width:767px){.tdi_96{width:100%!important;justify-content:center!important;text-align:center!important}}@media (min-width:1019px) and (max-width:1140px){.tdi_96{width:100%!important}}@media (min-width:768px) and (max-width:1018px){.tdi_96{width:100%!important}}</style> <style>.tdi_96{text-align:left!important}.tdi_96 .tdm-descr{color:#ffffff;font-family:Rubik!important;font-size:16px!important;line-height:1.4!important}@media (min-width:768px) and (max-width:1018px){.tdi_96 .tdm-descr{font-size:12px!important}}@media (max-width:767px){.tdi_96{text-align:center!important;margin-right:auto;margin-left:auto}}</style><p class="tdm-descr">Advertise with TechnologyAdvice on CodeGuru and our other developer-focused platforms.</p></div><div class="tdm_block td_block_wrap tdm_block_button tdi_97 tdm-block-button-inline tdm-content-horiz-center td-pb-border-top td_block_template_2" data-td-block-uid="tdi_97" > <style>.tdi_97{border-color:#238fee!important;border-style:solid!important;border-width:0!important}@media (max-width:767px){.tdi_97{width:100%!important}}</style> <style>.tdm_block.tdm_block_button{margin-bottom:0}.tdm_block.tdm_block_button .tds-button{line-height:0}.tdm_block.tdm_block_button.tdm-block-button-inline{display:inline-block}.tdm_block.tdm_block_button.tdm-block-button-full,.tdm_block.tdm_block_button.tdm-block-button-full .tdm-btn{display:block}.tdi_97 .tdm-btn{height:auto;padding:10px}@media (max-width:767px){.tdi_97 .tdm-btn{height:auto;padding:15px 30px}}</style> <style>body .tdi_98{background-color:#238fee}body .tdi_98:before{background-color:#767676}.tdi_98 .tdm-btn-text,.tdi_98 i{color:#ffffff}.tdi_98 svg{fill:#ffffff}.tdi_98 svg *{fill:inherit}.tdi_98{padding:10px;height:auto;line-height:1;font-weight:500!important}.tdi_98 .tdm-btn-icon:last-child{margin-left:10px}.tdi_98,.tdi_98:before{border-radius:15px}@media (max-width:767px){.tdi_98{padding:15px 30px;height:auto;line-height:1}.tdi_98,.tdi_98:before{border-radius:25px}}</style><div class="tds-button td-fix-index"><a href="https://solutions.technologyadvice.com/advertise-on-codeguru/?utm_source=codeguru&amp;utm_medium=portfolio_footer&amp;utm_campaign=advertise_button" title="Advertise with Us" class="tds-button1 tdm-btn tdm-btn-lg tdi_98 " ><span class="tdm-btn-text">Advertise with Us</span><i class="tdm-btn-icon tdc-font-fa tdc-font-fa-angle-right"></i></a></div></div></div></div></div><div class="vc_column_inner tdi_100 wpb_column vc_column_container tdc-inner-column td-pb-span4"> <style scoped>.tdi_100{vertical-align:baseline}.tdi_100 .vc_column-inner>.wpb_wrapper,.tdi_100 .vc_column-inner>.wpb_wrapper .tdc-elements{display:block}.tdi_100 .vc_column-inner>.wpb_wrapper .tdc-elements{width:100%}@media (max-width:767px){.tdi_100{display:none!important}}</style><div class="vc_column-inner"><div class="wpb_wrapper" ><div class="td_block_wrap td_block_title tdi_101 td-pb-border-top td_block_template_2 td-fix-index" data-td-block-uid="tdi_101" > <style>.td-theme-wrap .tdi_101 .td-block-title>*,.td-theme-wrap .tdi_101 .td-pulldown-filter-link:hover,.td-theme-wrap .tdi_101 .td-subcat-item a:hover,.td-theme-wrap .tdi_101 .td-subcat-item .td-cur-simple-item,.td-theme-wrap .tdi_101 .td-subcat-dropdown:hover .td-subcat-more span,.td-theme-wrap .tdi_101 .td-subcat-dropdown:hover .td-subcat-more i{color:#238fee}.td-theme-wrap .tdi_101 .td-subcat-dropdown ul:after{background-color:#238fee}.td-theme-wrap .tdi_101 .td_module_wrap:hover .entry-title a,.td-theme-wrap .tdi_101 .td_quote_on_blocks,.td-theme-wrap .tdi_101 .td-opacity-cat .td-post-category:hover,.td-theme-wrap .tdi_101 .td-opacity-read .td-read-more a:hover,.td-theme-wrap .tdi_101 .td-opacity-author .td-post-author-name a:hover,.td-theme-wrap .tdi_101 .td-instagram-user a{color:#238fee}.td-theme-wrap .tdi_101 .td-next-prev-wrap a:hover,.td-theme-wrap .tdi_101 .td-load-more-wrap a:hover{background-color:#238fee;border-color:#238fee}.td-theme-wrap .tdi_101 .td-read-more a,.td-theme-wrap .tdi_101 .td-weather-information:before,.td-theme-wrap .tdi_101 .td-weather-week:before,.td-theme-wrap .tdi_101 .td-exchange-header:before,.td-theme-wrap .td-footer-wrapper .tdi_101 .td-post-category,.td-theme-wrap .tdi_101 .td-post-category:hover{background-color:#238fee}.tdi_101{margin-bottom:-5px!important}@media (min-width:768px) and (max-width:1018px){.tdi_101{margin-bottom:-15px!important}}@media (max-width:767px){.tdi_101{display:inline-block!important}}</style> <style>body .tdi_101 .td-block-title a,body .tdi_101 .td-block-title span{font-family:brother-xl!important;font-size:24px!important;font-weight:700!important;letter-spacing:1px!important}@media (min-width:1019px) and (max-width:1140px){body .tdi_101 .td-block-title a,body .tdi_101 .td-block-title span{font-size:19px!important}}@media (min-width:768px) and (max-width:1018px){body .tdi_101 .td-block-title a,body .tdi_101 .td-block-title span{font-size:18px!important}}</style><div class="td-block-title-wrap"><h4 class="td-block-title"><span class="td-pulldown-size">Menu</span></h4></div></div><div class="td_block_wrap td_block_list_menu tdi_102 td-blm-display-vertical td-pb-border-top td_block_template_2 widget" data-td-block-uid="tdi_102" > <style>@media (max-width:767px){.tdi_102{justify-content:center!important;text-align:center!important}}</style> <style>.td_block_list_menu ul{flex-wrap:wrap;margin-left:12px}.td_block_list_menu ul li{margin-left:0}.td_block_list_menu ul li a{display:flex;margin-left:0}.td_block_list_menu .td-blm-menu-item-txt{display:flex;align-items:center;flex-grow:1}.td_block_list_menu .sub-menu{padding-left:22px}.td_block_list_menu .sub-menu li{font-size:13px}.td_block_list_menu li.current-menu-item>a,.td_block_list_menu li.current-menu-ancestor>a,.td_block_list_menu li.current-category-ancestor>a,.td_block_list_menu li.current-page-ancestor>a{color:var(--td_theme_color,#4db2ec)}.td_block_list_menu .td-blm-sub-icon{display:flex;align-items:center;justify-content:center;margin-left:.6em;padding:0 .6em;transition:transform .2s ease-in-out}.td_block_list_menu .td-blm-sub-icon svg{display:block;width:1em;height:auto}.td_block_list_menu .td-blm-sub-icon svg,.td_block_list_menu .td-blm-sub-icon svg *{fill:currentColor}.td_block_list_menu.td-blm-display-accordion .menu-item-has-children ul{display:none}.td_block_list_menu.td-blm-display-accordion .menu-item-has-children-open>a>.td-blm-sub-icon{transform:rotate(180deg)}.td_block_list_menu.td-blm-display-horizontal ul{display:flex}body .tdi_102 ul{text-align:left;justify-content:flex-start;margin:0px}body .tdi_102 ul li a{justify-content:flex-start}body .tdi_102 .td-blm-menu-item-txt{flex-grow:1}body .tdi_102 a,body .tdi_102 .td-blm-sub-icon{color:#ffffff}body .tdi_102 li.current-menu-item>a,body .tdi_102 li.current-menu-ancestor>a,body .tdi_102 li.current-category-ancestor>a,body .tdi_102 li.current-page-ancestor>a,body .tdi_102 a:hover,body .tdi_102 li.current-menu-item>a>.td-blm-sub-icon,body .tdi_102 li.current-menu-ancestor>a>.td-blm-sub-icon,body .tdi_102 li.current-category-ancestor>a>.td-blm-sub-icon,body .tdi_102 li.current-page-ancestor>a>.td-blm-sub-icon,body .tdi_102 a:hover>.td-blm-sub-icon{color:#238fee}body .tdi_102 .td-block-title a,body .tdi_102 .td-block-title span{font-family:brother-xl!important;font-size:14px!important;font-weight:500!important}body .tdi_102 li{font-family:brother-xl!important;font-size:14px!important;line-height:24px!important;font-weight:700!important;letter-spacing:1px!important}@media (min-width:768px) and (max-width:1018px){body .tdi_102 li{line-height:20px!important}}</style><div class="td-block-title-wrap"></div><div id=tdi_102 class="td_block_inner td-fix-index"><div class="menu-footer-menu-container"><ul id="menu-footer-menu-1" class="menu"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-107"><a href="https://www.codeguru.com/privacy-policy/"><span class="td-blm-menu-item-txt">Privacy Policy</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-108"><a href="https://technologyadvice.com/terms-conditions/"><span class="td-blm-menu-item-txt">Terms</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-109"><a href="https://technologyadvice.com/about-us/"><span class="td-blm-menu-item-txt">About</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-110"><a href="https://technologyadvice.com/contact-us/"><span class="td-blm-menu-item-txt">Contact</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-111"><a href="https://solutions.technologyadvice.com/advertise-on-codeguru/?utm_source=codeguru&#038;utm_medium=portfolio_footer&#038;utm_campaign=advertise_contact-us"><span class="td-blm-menu-item-txt">Advertise</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-112"><a href="https://technologyadvice.com/privacy-policy/ccpa-opt-out-form/"><span class="td-blm-menu-item-txt">California &#8211; Do Not Sell My Information</span></a></li> </ul></div></div></div></div></div></div></div></div></div></div></div><div id="tdi_103" class="tdc-row stretch_row_1400 td-stretch-content"><div class="vc_row tdi_104 wpb_row td-pb-row" > <style scoped>.tdi_104,.tdi_104 .tdc-columns{min-height:0}.tdi_104,.tdi_104 .tdc-columns{display:block}.tdi_104 .tdc-columns{width:100%}.tdi_104:before,.tdi_104:after{display:table}</style><div class="vc_column tdi_106 wpb_column vc_column_container tdc-column td-pb-span12"> <style scoped>.tdi_106{vertical-align:baseline}.tdi_106>.wpb_wrapper,.tdi_106>.wpb_wrapper>.tdc-elements{display:block}.tdi_106>.wpb_wrapper>.tdc-elements{width:100%}.tdi_106>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_106>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ><div class="wpb_wrapper td_block_separator td_block_wrap vc_separator tdi_108 td_separator_solid td_separator_center"><span style="border-color:#EBEBEB;border-width:1px;width:100%;"></span> <style scoped>.td_block_separator{width:100%;align-items:center;margin-bottom:38px;padding-bottom:10px}.td_block_separator span{position:relative;display:block;margin:0 auto;width:100%;height:1px;border-top:1px solid #EBEBEB}.td_separator_align_left span{margin-left:0}.td_separator_align_right span{margin-right:0}.td_separator_dashed span{border-top-style:dashed}.td_separator_dotted span{border-top-style:dotted}.td_separator_double span{height:3px;border-bottom:1px solid #EBEBEB}.td_separator_shadow>span{position:relative;height:20px;overflow:hidden;border:0;color:#EBEBEB}.td_separator_shadow>span>span{position:absolute;top:-30px;left:0;right:0;margin:0 auto;height:13px;width:98%;border-radius:100%}html :where([style*='border-width']){border-style:none}.tdi_108{margin-top:15px!important}@media (max-width:767px){.tdi_108{margin-top:50px!important}}</style></div><div class="tdm_block td_block_wrap tdm_block_column_title tdi_109 tdm-content-horiz-center td-pb-border-top td_block_template_2" data-td-block-uid="tdi_109" > <style>.tdm_block_column_title{margin-bottom:0;display:inline-block;width:100%}</style><div class="td-block-row"><div class="td-block-span12 tdm-col"> <style>body .tdi_110 .tdm-title{color:#ffffff}body .tdi_110:hover .tdm-title,body .tds_icon_box5_wrap:hover .tdi_110 .tdm-title{color:#ffffff;-webkit-text-fill-color:unset;background:transparent;transition:none}.tdi_110:hover .tdm-title{cursor:default}.tdi_110 .tdm-title{font-family:brother-xl!important;font-weight:700!important}</style><div class="tds-title tds-title1 td-fix-index tdi_110 "><h3 class="tdm-title tdm-title-md">Our Brands</h3></div></div></div></div></div></div></div></div><div id="tdi_111" class="tdc-row stretch_row_1400 td-stretch-content"><div class="vc_row tdi_112 wpb_row td-pb-row tdc-row-content-vert-center" > <style scoped>.tdi_112,.tdi_112 .tdc-columns{min-height:0}.tdi_112,.tdi_112 .tdc-columns{display:block}.tdi_112 .tdc-columns{width:100%}.tdi_112:before,.tdi_112:after{display:table}@media (min-width:768px){.tdi_112{margin-left:-2px;margin-right:-2px}.tdi_112 .tdc-row-video-background-error,.tdi_112>.vc_column,.tdi_112>.tdc-columns>.vc_column{padding-left:2px;padding-right:2px}}@media (min-width:767px){.tdi_112.tdc-row-content-vert-center,.tdi_112.tdc-row-content-vert-center .tdc-columns{display:flex;align-items:center;flex:1}.tdi_112.tdc-row-content-vert-bottom,.tdi_112.tdc-row-content-vert-bottom .tdc-columns{display:flex;align-items:flex-end;flex:1}.tdi_112.tdc-row-content-vert-center .td_block_wrap{vertical-align:middle}.tdi_112.tdc-row-content-vert-bottom .td_block_wrap{vertical-align:bottom}}</style><div class="vc_column tdi_114 wpb_column vc_column_container tdc-column td-pb-span3"> <style scoped>.tdi_114{vertical-align:baseline}.tdi_114>.wpb_wrapper,.tdi_114>.wpb_wrapper>.tdc-elements{display:block}.tdi_114>.wpb_wrapper>.tdc-elements{width:100%}.tdi_114>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_114>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ><div class="wpb_wrapper td_block_single_image td_block_wrap td_block_wrap vc_single_image tdi_115 td-single-image- td-pb-border-top td_block_template_2 " data-td-block-uid="tdi_115"><a data-bg="https://assets.codeguru.com/uploads/2021/01/TAwhitefooter.png" class="td_single_image_bg rocket-lazyload" style="" href="https://technologyadvice.com/" target="_blank" ></a> <style>@media (max-width:767px){.tdi_115{margin-right:auto!important;margin-left:auto!important}}</style> <style>.td_block_single_image.td-image-video-modal{cursor:pointer}.td_block_single_image.td-no-img-custom-url .td_single_image_bg{pointer-events:none;cursor:default}.vc_single_image a{position:relative}.td-single-image-style-rounded .td_single_image_bg,.td-single-image-style-rounded .td_single_image_bg:before,.td-single-image-style-rounded .td_single_image_bg:after{border-radius:4px}.td-single-image-style-border,.td-single-image-style-round-border,.td-single-image-style-circle-border,.td-single-image-style-outline,.td-single-image-style-bordered-shadow,.td-single-image-style-round-outline,.td-single-image-style-round-border-shadow,.td-single-image-style-circle-outline,.td-single-image-style-circle-border-shadow{margin-bottom:22px;background-color:#EBEBEB}.td-single-image-style-border,.td-single-image-style-round-border,.td-single-image-style-circle-border{padding:6px}.td-single-image-style-outline,.td-single-image-style-bordered-shadow,.td-single-image-style-round-outline,.td-single-image-style-round-border-shadow,.td-single-image-style-circle-outline,.td-single-image-style-circle-border-shadow{padding:1px}.td-single-image-style-outline .td_single_image_bg:before,.td-single-image-style-bordered-shadow .td_single_image_bg:before,.td-single-image-style-round-outline .td_single_image_bg:before,.td-single-image-style-round-border-shadow .td_single_image_bg:before,.td-single-image-style-circle-outline .td_single_image_bg:before,.td-single-image-style-circle-border-shadow .td_single_image_bg:before,.td-single-image-style-outline a:after,.td-single-image-style-bordered-shadow .td_single_image_bg:after,.td-single-image-style-round-outline .td_single_image_bg:after,.td-single-image-style-round-border-shadow .td_single_image_bg:after,.td-single-image-style-circle-outline .td_single_image_bg:after,.td-single-image-style-circle-border-shadow .td_single_image_bg:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%}.td-single-image-style-outline .td_single_image_bg:after,.td-single-image-style-bordered-shadow .td_single_image_bg:after,.td-single-image-style-round-outline .td_single_image_bg:after,.td-single-image-style-round-border-shadow .td_single_image_bg:after,.td-single-image-style-circle-outline .td_single_image_bg:after,.td-single-image-style-circle-border-shadow .td_single_image_bg:after{color:#fff;-webkit-box-shadow:inset 0px 0px 0px 6px;box-shadow:inset 0px 0px 0px 6px}.td-single-image-style-outline .td_single_image_bg:before,.td-single-image-style-bordered-shadow .td_single_image_bg:before,.td-single-image-style-round-outline .td_single_image_bg:before,.td-single-image-style-round-border-shadow .td_single_image_bg:before,.td-single-image-style-circle-outline .td_single_image_bg:before,.td-single-image-style-circle-border-shadow .td_single_image_bg:before{color:#EBEBEB;-webkit-box-shadow:inset 0px 0px 0px 7px;box-shadow:inset 0px 0px 0px 7px}.td-single-image-style-shadow .td_single_image_bg,.td-single-image-style-bordered-shadow .td_single_image_bg,.td-single-image-style-round-shadow .td_single_image_bg,.td-single-image-style-round-border-shadow .td_single_image_bg,.td-single-image-style-circle-shadow .td_single_image_bg,.td-single-image-style-circle-border-shadow .td_single_image_bg{-webkit-box-shadow:0 0 6px rgba(0,0,0,0.1);box-shadow:0 0 6px rgba(0,0,0,0.1)}.td-single-image-style-3d-shadow{position:relative}.td-single-image-style-3d-shadow:before,.td-single-image-style-3d-shadow:after{content:'';position:absolute;bottom:0;height:30%;-webkit-box-shadow:0 15px 10px rgba(0,0,0,0.6);box-shadow:0 15px 10px rgba(0,0,0,0.6);z-index:0}.td-single-image-style-3d-shadow:before{left:5px;right:50%;-webkit-transform:skewY(-6deg);transform:skewY(-6deg);-webkit-transform-origin:0 0;transform-origin:0 0}.td-single-image-style-3d-shadow:after{left:50%;right:5px;-webkit-transform:skewY(6deg);transform:skewY(6deg);-webkit-transform-origin:100% 0;transform-origin:100% 0}.td-single-image-style-3d-shadow .td_single_image_bg{z-index:1}.td-single-image-style-round,.td-single-image-style-round-border,.td-single-image-style-round-outline,.td-single-image-style-round-shadow,.td-single-image-style-round-border-shadow,.td-single-image-style-circle,.td-single-image-style-circle-border,.td-single-image-style-circle-outline,.td-single-image-style-circle-shadow,.td-single-image-style-circle-border-shadow{border-radius:50%}.td-single-image-style-round .td_single_image_bg,.td-single-image-style-round-border .td_single_image_bg,.td-single-image-style-round-outline .td_single_image_bg,.td-single-image-style-round-shadow .td_single_image_bg,.td-single-image-style-round-border-shadow .td_single_image_bg,.td-single-image-style-circle .td_single_image_bg,.td-single-image-style-circle-border .td_single_image_bg,.td-single-image-style-circle-outline .td_single_image_bg,.td-single-image-style-circle-shadow .td_single_image_bg,.td-single-image-style-circle-border-shadow .td_single_image_bg,.td-single-image-style-round .td_single_image_bg:before,.td-single-image-style-round-border .td_single_image_bg:before,.td-single-image-style-round-outline .td_single_image_bg:before,.td-single-image-style-round-shadow .td_single_image_bg:before,.td-single-image-style-round-border-shadow .td_single_image_bg:before,.td-single-image-style-circle .td_single_image_bg:before,.td-single-image-style-circle-border .td_single_image_bg:before,.td-single-image-style-circle-outline .td_single_image_bg:before,.td-single-image-style-circle-shadow .td_single_image_bg:before,.td-single-image-style-circle-border-shadow .td_single_image_bg:before,.td-single-image-style-round .td_single_image_bg:after,.td-single-image-style-round-border .td_single_image_bg:after,.td-single-image-style-round-outline .td_single_image_bg:after,.td-single-image-style-round-shadow .td_single_image_bg:after,.td-single-image-style-round-border-shadow .td_single_image_bg:after,.td-single-image-style-circle .td_single_image_bg:after,.td-single-image-style-circle-border .td_single_image_bg:after,.td-single-image-style-circle-outline .td_single_image_bg:after,.td-single-image-style-circle-shadow .td_single_image_bg:after,.td-single-image-style-circle-border-shadow .td_single_image_bg:after{border-radius:50%}.td-single-image-style-round-outline .td_single_image_bg:before,.td-single-image-style-round-border-shadow .td_single_image_bg:before,.td-single-image-style-circle-outline .td_single_image_bg:before,.td-single-image-style-circle-border-shadow .td_single_image_bg:before,.td-single-image-style-round-outline .td_single_image_bg:before:before,.td-single-image-style-round-border-shadow .td_single_image_bg:before:before,.td-single-image-style-circle-outline .td_single_image_bg:before:before,.td-single-image-style-circle-border-shadow .td_single_image_bg:before:before,.td-single-image-style-round-outline .td_single_image_bg:after:before,.td-single-image-style-round-border-shadow .td_single_image_bg:after:before,.td-single-image-style-circle-outline .td_single_image_bg:after:before,.td-single-image-style-circle-border-shadow .td_single_image_bg:after:before,.td-single-image-style-round-outline .td_single_image_bg:after,.td-single-image-style-round-border-shadow .td_single_image_bg:after,.td-single-image-style-circle-outline .td_single_image_bg:after,.td-single-image-style-circle-border-shadow .td_single_image_bg:after,.td-single-image-style-round-outline .td_single_image_bg:before:after,.td-single-image-style-round-border-shadow .td_single_image_bg:before:after,.td-single-image-style-circle-outline .td_single_image_bg:before:after,.td-single-image-style-circle-border-shadow .td_single_image_bg:before:after,.td-single-image-style-round-outline .td_single_image_bg:after:after,.td-single-image-style-round-border-shadow .td_single_image_bg:after:after,.td-single-image-style-circle-outline .td_single_image_bg:after:after,.td-single-image-style-circle-border-shadow .td_single_image_bg:after:after{border-radius:50%}.td-single-image-style-circle .td_single_image_bg,.td-single-image-style-circle-border .td_single_image_bg,.td-single-image-style-circle-outline .td_single_image_bg,.td-single-image-style-circle-shadow .td_single_image_bg,.td-single-image-style-circle-border-shadow .td_single_image_bg{height:0;padding-bottom:100%}.vc_single_image .td_single_image_bg{width:100%;display:block;background-size:cover}.tdi_115 .td_single_image_bg{height:40px;padding-bottom:0;background-repeat:no-repeat;background-position:center top}body .tdi_115{width:100%}body .tdi_115 .td_single_image_bg{background-size:contain}.tdi_115:hover .td_single_image_bg:before{opacity:0}@media (max-width:767px){.td-stretch-content .td_block_single_image{margin-right:-20px;margin-left:-20px}}@media (max-width:767px){.td-single-image-style-border,.td-single-image-style-round-border,.td-single-image-style-circle-border,.td-single-image-style-outline,.td-single-image-style-bordered-shadow,.td-single-image-style-round-outline,.td-single-image-style-round-border-shadow,.td-single-image-style-circle-outline,.td-single-image-style-circle-border-shadow{margin-bottom:32px}}</style></div><div class="wpb_wrapper td_block_single_image td_block_wrap td_block_wrap vc_single_image tdi_116 td-single-image- td-pb-border-top td_block_template_2 " data-td-block-uid="tdi_116"><a data-bg="https://assets.codeguru.com/uploads/2021/01/eweekfooter.png" class="td_single_image_bg rocket-lazyload" style="" href="https://www.eweek.com/" target="_blank" ></a> <style>@media (max-width:767px){.tdi_116{margin-right:auto!important;margin-left:auto!important}}</style> <style>.tdi_116 .td_single_image_bg{height:40px;padding-bottom:0;background-repeat:no-repeat;background-position:center top}body .tdi_116{width:100%}body .tdi_116 .td_single_image_bg{background-size:contain}.tdi_116:hover .td_single_image_bg:before{opacity:0}</style></div></div></div><div class="vc_column tdi_118 wpb_column vc_column_container tdc-column td-pb-span3"> <style scoped>.tdi_118{vertical-align:baseline}.tdi_118>.wpb_wrapper,.tdi_118>.wpb_wrapper>.tdc-elements{display:block}.tdi_118>.wpb_wrapper>.tdc-elements{width:100%}.tdi_118>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_118>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ><div class="wpb_wrapper td_block_single_image td_block_wrap td_block_wrap vc_single_image tdi_119 td-single-image- td-pb-border-top td_block_template_2 " data-td-block-uid="tdi_119"><a data-bg="https://assets.codeguru.com/uploads/2021/01/datamationwhitefooter.png" class="td_single_image_bg rocket-lazyload" style="" href="https://www.datamation.com/" target="_blank" ></a> <style>@media (max-width:767px){.tdi_119{margin-right:auto!important;margin-left:auto!important}}</style> <style>.tdi_119 .td_single_image_bg{height:40px;padding-bottom:0;background-repeat:no-repeat;background-position:center top}body .tdi_119{width:100%}body .tdi_119 .td_single_image_bg{background-size:contain}.tdi_119:hover .td_single_image_bg:before{opacity:0}</style></div><div class="wpb_wrapper td_block_single_image td_block_wrap td_block_wrap vc_single_image tdi_120 td-single-image- td-pb-border-top td_block_template_2 " data-td-block-uid="tdi_120"><a data-bg="https://assets.codeguru.com/uploads/2021/01/PMcomwhitefooter-09.png" class="td_single_image_bg rocket-lazyload" style="" href="https://project-management.com/" target="_blank" ></a> <style>@media (max-width:767px){.tdi_120{margin-right:auto!important;margin-left:auto!important}}</style> <style>.tdi_120 .td_single_image_bg{height:45px;padding-bottom:0;background-repeat:no-repeat;background-position:center top}body .tdi_120{width:100%}body .tdi_120 .td_single_image_bg{background-size:contain}.tdi_120:hover .td_single_image_bg:before{opacity:0}</style></div></div></div><div class="vc_column tdi_122 wpb_column vc_column_container tdc-column td-pb-span3"> <style scoped>.tdi_122{vertical-align:baseline}.tdi_122>.wpb_wrapper,.tdi_122>.wpb_wrapper>.tdc-elements{display:block}.tdi_122>.wpb_wrapper>.tdc-elements{width:100%}.tdi_122>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_122>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ><div class="wpb_wrapper td_block_single_image td_block_wrap td_block_wrap vc_single_image tdi_123 td-single-image- td-pb-border-top td_block_template_2 " data-td-block-uid="tdi_123"><a data-bg="https://assets.codeguru.com/uploads/2021/01/webowhitefooter.png" class="td_single_image_bg rocket-lazyload" style="" href="https://www.webopedia.com/" target="_blank" ></a> <style>@media (max-width:767px){.tdi_123{margin-right:auto!important;margin-left:auto!important}}</style> <style>.tdi_123 .td_single_image_bg{height:35px;padding-bottom:0;background-repeat:no-repeat;background-position:center top}body .tdi_123{width:100%}body .tdi_123 .td_single_image_bg{background-size:contain}.tdi_123:hover .td_single_image_bg:before{opacity:0}</style></div><div class="wpb_wrapper td_block_single_image td_block_wrap td_block_wrap vc_single_image tdi_124 td-single-image- td-pb-border-top td_block_template_2 " data-td-block-uid="tdi_124"><a data-bg="https://assets.codeguru.com/uploads/2021/01/esecuritywhitefooter.png" class="td_single_image_bg rocket-lazyload" style="" href="https://www.esecurityplanet.com/" target="_blank" ></a> <style>@media (max-width:767px){.tdi_124{margin-right:auto!important;margin-left:auto!important}}</style> <style>.tdi_124 .td_single_image_bg{height:45px;padding-bottom:0;background-repeat:no-repeat;background-position:center top}body .tdi_124{width:100%}body .tdi_124 .td_single_image_bg{background-size:contain}.tdi_124:hover .td_single_image_bg:before{opacity:0}</style></div></div></div><div class="vc_column tdi_126 wpb_column vc_column_container tdc-column td-pb-span3"> <style scoped>.tdi_126{vertical-align:baseline}.tdi_126>.wpb_wrapper,.tdi_126>.wpb_wrapper>.tdc-elements{display:block}.tdi_126>.wpb_wrapper>.tdc-elements{width:100%}.tdi_126>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_126>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ><div class="wpb_wrapper td_block_single_image td_block_wrap td_block_wrap vc_single_image tdi_127 td-single-image- td-pb-border-top td_block_template_2 " data-td-block-uid="tdi_127"><a data-bg="https://assets.codeguru.com/uploads/2021/01/serverwatchwhitefooter-10.png" class="td_single_image_bg rocket-lazyload" style="" href="https://www.serverwatch.com/" target="_blank" ></a> <style>@media (max-width:767px){.tdi_127{margin-right:auto!important;margin-left:auto!important}}</style> <style>.tdi_127 .td_single_image_bg{height:50px;padding-bottom:0;background-repeat:no-repeat;background-position:center top}body .tdi_127{width:100%}body .tdi_127 .td_single_image_bg{background-size:contain}.tdi_127:hover .td_single_image_bg:before{opacity:0}</style></div><div class="wpb_wrapper td_block_single_image td_block_wrap td_block_wrap vc_single_image tdi_128 td-single-image- td-pb-border-top td_block_template_2 " data-td-block-uid="tdi_128"><a data-bg="https://assets.codeguru.com/uploads/2021/01/ITBEwhitefooter-copy.png" class="td_single_image_bg rocket-lazyload" style="" href="https://www.itbusinessedge.com/" target="_blank" ></a> <style>@media (max-width:767px){.tdi_128{margin-right:auto!important;margin-left:auto!important}}</style> <style>.tdi_128 .td_single_image_bg{height:45px;padding-bottom:0;background-repeat:no-repeat;background-position:center top}body .tdi_128{width:100%}body .tdi_128 .td_single_image_bg{background-size:contain}.tdi_128:hover .td_single_image_bg:before{opacity:0}</style></div></div></div></div></div><div id="tdi_129" class="tdc-row stretch_row_1400 td-stretch-content"><div class="vc_row tdi_130 wpb_row td-pb-row" > <style scoped>.tdi_130,.tdi_130 .tdc-columns{min-height:0}.tdi_130,.tdi_130 .tdc-columns{display:block}.tdi_130 .tdc-columns{width:100%}.tdi_130:before,.tdi_130:after{display:table}</style><div class="vc_column tdi_132 wpb_column vc_column_container tdc-column td-pb-span12"> <style scoped>.tdi_132{vertical-align:baseline}.tdi_132>.wpb_wrapper,.tdi_132>.wpb_wrapper>.tdc-elements{display:block}.tdi_132>.wpb_wrapper>.tdc-elements{width:100%}.tdi_132>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_132>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ><div class="wpb_wrapper td_block_separator td_block_wrap vc_separator tdi_134 td_separator_solid td_separator_center"><span style="border-color:#EBEBEB;border-width:1px;width:100%;"></span> <style scoped>.tdi_134{margin-top:15px!important}</style></div><div class="vc_row_inner tdi_136 vc_row vc_inner wpb_row td-pb-row" > <style scoped>.tdi_136{position:relative!important;top:0;transform:none;-webkit-transform:none}.tdi_136,.tdi_136 .tdc-inner-columns{display:block}.tdi_136 .tdc-inner-columns{width:100%}</style><div class="vc_column_inner tdi_138 wpb_column vc_column_container tdc-inner-column td-pb-span12"> <style scoped>.tdi_138{vertical-align:baseline}.tdi_138 .vc_column-inner>.wpb_wrapper,.tdi_138 .vc_column-inner>.wpb_wrapper .tdc-elements{display:block}.tdi_138 .vc_column-inner>.wpb_wrapper .tdc-elements{width:100%}</style><div class="vc_column-inner"><div class="wpb_wrapper" ><div class="td_block_wrap tdb_header_menu tdi_139 tds_menu_active1 tds_menu_sub_active1 td-pb-border-top td_block_template_2 tdb-header-align" data-td-block-uid="tdi_139" style=" z-index: 999;"> <style>.tdi_139 .td_block_inner{text-align:center}.tdi_139 .tdb-menu>li .tdb-menu-sep,.tdi_139 .tdb-menu-items-dropdown .tdb-menu-sep{top:-1px}.tdi_139 .tdb-menu>li>a .tdb-sub-menu-icon,.tdi_139 .td-subcat-more .tdb-menu-more-subicon{top:-1px}.tdi_139 .td-subcat-more .tdb-menu-more-icon{top:0px}.tdi_139 .tdb-menu>li>a,.tdi_139 .td-subcat-more{color:#ffffff}.tdi_139 .tdb-menu>li>a .tdb-sub-menu-icon-svg svg,.tdi_139 .tdb-menu>li>a .tdb-sub-menu-icon-svg svg *,.tdi_139 .td-subcat-more .tdb-menu-more-subicon-svg svg,.tdi_139 .td-subcat-more .tdb-menu-more-subicon-svg svg *,.tdi_139 .td-subcat-more .tdb-menu-more-icon-svg,.tdi_139 .td-subcat-more .tdb-menu-more-icon-svg *{fill:#ffffff}.tdi_139 .tdb-menu>li>a,.tdi_139 .td-subcat-more,.tdi_139 .td-subcat-more>.tdb-menu-item-text{font-family:Montserrat!important;font-size:14px!important;font-weight:600!important}.tdi_139 .tdb-normal-menu ul .tdb-menu-item>a .tdb-sub-menu-icon,.tdi_139 .td-pulldown-filter-list .tdb-menu-item>a .tdb-sub-menu-icon{right:0;margin-top:1px}.tdi_139 .tdb-menu .tdb-normal-menu ul,.tdi_139 .td-pulldown-filter-list,.tdi_139 .td-pulldown-filter-list .sub-menu{box-shadow:1px 1px 4px 0px rgba(0,0,0,0.15)}.tdi_139 .tdb-menu .tdb-mega-menu .sub-menu>li{box-shadow:0px 2px 6px 0px rgba(0,0,0,0.1)}@media (max-width:767px){.tdi_139 .tdb-menu>li>a,.tdi_139 .td-subcat-more,.tdi_139 .td-subcat-more>.tdb-menu-item-text{font-size:10px!important}}</style> <style>.tdi_139 .tdb-menu>li>a:after,.tdi_139 .tdb-menu-items-dropdown .td-subcat-more:after{background-color:#238fee;bottom:0px}</style><div id=tdi_139 class="td_block_inner td-fix-index"><div class="tdb-main-sub-icon-fake"><i class="tdb-sub-menu-icon td-icon-down tdb-main-sub-menu-icon"></i></div><div class="tdb-sub-icon-fake"><i class="tdb-sub-menu-icon td-icon-right-arrow"></i></div><ul id="menu-footer-menu-2" class="tdb-block-menu tdb-menu tdb-menu-items-visible"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy tdb-cur-menu-item menu-item-first tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-107"><a href="https://www.codeguru.com/privacy-policy/"><div class="tdb-menu-item-text">Privacy Policy</div></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-108"><a href="https://technologyadvice.com/terms-conditions/"><div class="tdb-menu-item-text">Terms</div></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-109"><a href="https://technologyadvice.com/about-us/"><div class="tdb-menu-item-text">About</div></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-110"><a href="https://technologyadvice.com/contact-us/"><div class="tdb-menu-item-text">Contact</div></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-111"><a href="https://solutions.technologyadvice.com/advertise-on-codeguru/?utm_source=codeguru&#038;utm_medium=portfolio_footer&#038;utm_campaign=advertise_contact-us"><div class="tdb-menu-item-text">Advertise</div></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom tdb-menu-item-button tdb-menu-item tdb-normal-menu menu-item-112"><a href="https://technologyadvice.com/privacy-policy/ccpa-opt-out-form/"><div class="tdb-menu-item-text">California &#8211; Do Not Sell My Information</div></a></li> </ul></div></div></div></div></div></div><div class="tdm_block td_block_wrap tdm_block_column_content tdi_142 tdm-content-horiz-center td-pb-border-top td_block_template_2" data-td-block-uid="tdi_142" > <style>.tdi_142{margin-top:20px!important}</style> <style>.tdm_block_column_content .tdm-image-holder{position:relative;display:block;height:0;margin-bottom:24px;padding-bottom:70%}.tdm_block_column_content .tdm-image-holder:hover .tdm-hover-img{opacity:1}.tdm_block_column_content .tdm-image-holder>div{position:absolute;top:0;left:0;width:100%;height:100%;background-repeat:no-repeat;background-position:center center;background-size:cover}.tdm_block_column_content .tdm-hover-img{opacity:0;-webkit-transition:all 0.4s ease-in-out;transition:all 0.4s ease-in-out}.tdm_block_column_content:hover .tdm-col-content-title-url .tdm-title{color:var(--td_theme_color,#4db2ec)}.tdm_block_column_content .tdm-title-xxsm,.tdm_block_column_content .tdm-title-xsm{margin-bottom:20px}.tdm_block_column_content .tdm-title-md{margin-bottom:14px}.tdm_block_column_content .tdm-title-bg{margin-bottom:16px}.tdm_block_column_content .tdm-descr{margin-bottom:0}.tdm_block_column_content .tds-button{margin-top:25px}.tdi_142 .tdm-descr{color:#ffffff;font-size:11px!important;line-height:1.2!important}@media (max-width:767px){.tdm_block_column_content .tdm-image-holder{margin-bottom:14px}}</style><div class="tdm-col-content-info"><a href="#" target="_blank" class="tdm-col-content-title-url"></a><p class="tdm-descr td-fix-index">Property of TechnologyAdvice.<br> &copy; 2023 TechnologyAdvice. All Rights Reserved<br><br> Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.</p></div></div><div class="wpb_wrapper td_block_empty_space td_block_wrap vc_empty_space tdi_144 " style="height: 80px"></div><div class="wpb_wrapper td_block_wrap vc_raw_html tdi_146 choice-footer-msg"> <style scoped>.tdi_146{margin-top:0px!important;margin-bottom:10px!important;padding-top:0px!important;border-style:solid!important;border-color:#888888!important;border-width:0px 0px 0px 0px!important}</style><div class="td-fix-index"><div id="choice-footer-msg" style="color:#ffffff;"> </div></div></div></div></div></div></div><div id="tdi_147" class="tdc-row"><div class="vc_row tdi_148 wpb_row td-pb-row" > <style scoped>.tdi_148,.tdi_148 .tdc-columns{min-height:0}.tdi_148,.tdi_148 .tdc-columns{display:block}.tdi_148 .tdc-columns{width:100%}.tdi_148:before,.tdi_148:after{display:table}</style><div class="vc_column tdi_150 wpb_column vc_column_container tdc-column td-pb-span12"> <style scoped>.tdi_150{vertical-align:baseline}.tdi_150>.wpb_wrapper,.tdi_150>.wpb_wrapper>.tdc-elements{display:block}.tdi_150>.wpb_wrapper>.tdc-elements{width:100%}.tdi_150>.wpb_wrapper>.vc_row_inner{width:auto}.tdi_150>.wpb_wrapper{width:auto;height:auto}</style><div class="wpb_wrapper" ></div></div></div></div></div></div> </div> </div> </div><!--close td-outer-wrap--> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NR3XXWX8" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Start: GAM Ad Slot Render | CodeGuru Native Right Rail Ads --> <div id="native-rr-article" style="height: 0; width: 0;"> <script nowprocket> window.googletag = window.googletag || { cmd: [] }; window.googletag.cmd.push(function() { googletag.display("native-rr-article"); }); (function() { var rightRailReplacedPost = document.querySelector('.native-rr .td_block_inner .td_module_flex:nth-child(3) .td-module-container'); var rightRailContent = document.getElementById('native-rr-article'); rightRailReplacedPost.parentNode.replaceChild(rightRailContent, rightRailReplacedPost); rightRailContent.style.height = 'auto'; rightRailContent.style.width = '100%'; })(); </script> </div> <!-- End: GAM Ad Slot Render | CodeGuru Native Right Rail Ads --><!-- Start: GAM Ad Slot Render | CodeGuru Native BOAP Ads --> <div id="native-boap" style="width: 0; height: 0;"> <script nowprocket> window.googletag = window.googletag || { cmd: [] }; window.googletag.cmd.push(function() { googletag.display("native-boap"); }); (function() { var boapAfterContent = document.querySelector(".native-boap-before"); var boapContent = document.getElementById('native-boap'); boapAfterContent.appendChild(boapContent); boapContent.style.height = 'auto'; boapContent.style.width = '100%'; })(); </script> </div> <!-- End: GAM Ad Slot Render | CodeGuru Native BOAP Ads --> <!-- Theme: Newspaper by tagDiv.com 2024 Version: 12.6.8 (rara) Deploy mode: deploy uid: 674242aa7c102 --> <!-- Custom css from theme panel --> <style type="text/css" media="screen">.td-aj-search-results>.td_module_wrap>.td-module-container>.td-image-container{display:none!important}</style> <link rel='preload' as='style' onload="this.onload=null;this.rel='stylesheet'" id='ta-campaign-plugin' href='https://www.codeguru.com/wp-content/plugins/ta-campaign-plugin/assets/css/dist/styles.css?ver=2.1.14' type='text/css' media='all' /> <noscript><link rel='stylesheet' id='ta-campaign-plugin' href='https://www.codeguru.com/wp-content/plugins/ta-campaign-plugin/assets/css/dist/styles.css?ver=2.1.14' type='text/css' media='all'></noscript><script data-src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgaW50ZW50Y2xpY2tzX2FqYXggPSB7InVybCI6Imh0dHBzOlwvXC93d3cuY29kZWd1cnUuY29tXC93cFwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIn07Ci8qIF1dPiAqLwo=" data-type="lazy" type="text/javascript" id="icp_js-js-extra"></script> <script data-src="https://www.codeguru.com/wp-content/plugins/ta-intentclicks/includes/js/scripts.js?ver=1.20.2" data-type="lazy" type="text/javascript" id="icp_js-js"></script> <script type="text/javascript" src="https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tagdiv_theme.min.js?ver=12.6.8" id="td-site-min-js"></script> <script data-src="https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tdPostImages.js?ver=12.6.8" data-type="lazy" type="text/javascript" id="tdPostImages-js"></script> <script data-src="https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tdSocialSharing.js?ver=12.6.8" data-type="lazy" type="text/javascript" id="tdSocialSharing-js"></script> <script data-src="https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tdModalPostImages.js?ver=12.6.8" data-type="lazy" type="text/javascript" id="tdModalPostImages-js"></script> <script data-src="https://www.codeguru.com/wp/wp-includes/js/comment-reply.min.js?ver=6.6.2" data-type="lazy" type="text/javascript" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script data-src="https://www.codeguru.com/wp-content/plugins/td-cloud-library/assets/js/js_files_for_front.min.js?ver=b33652f2535d2f3812f59e306e26300d" data-type="lazy" type="text/javascript" id="tdb_js_files_for_front-js"></script> <script data-src="https://www.codeguru.com/wp-content/plugins/ta-campaign-plugin/assets/js/dist/ouibounce.js?ver=2.1.14" data-type="lazy" type="text/javascript" id="ta-campaign-ouibounce-js"></script> <script data-src="https://www.codeguru.com/wp-content/plugins/ta-campaign-plugin/assets/js/dist/ta-campaign-public.js?ver=2.1.14" data-type="lazy" type="text/javascript" id="ta-campaign-script-js"></script> <script type="text/javascript" id="ta-delay-scripts">(function(){try{window.setTimeout(function(){function t(){n||(n=!0,e(),o.forEach(function(e){window.removeEventListener(e,t,{once:!0,passive:!0})}))}function e(){document.querySelectorAll("script[data-type='lazy']").forEach(function(t){t.setAttribute("src",t.getAttribute("data-src"))})}var o=["mouseover","keydown","touchmove","touchstart","scroll"];o.forEach(function(e){window.addEventListener(e,t,{once:!0,passive:!0})});var n=!1},1e3)}catch(t){}})();</script> <div class="wp-ads-sticky-footer" id="wp-ads-12488845"><div id="bottom-footer-fixed-slot"> <script data-src="data:text/javascript;base64,DQogICAgZnVuY3Rpb24gY2xvc2VTdGlja3lGb290ZXIoKSB7DQogICAgICB2YXIgc3RpY2t5Qm90dG9tQ2xvc2UgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdld2Vlay1jbG9zZS1idXR0b24nKTsNCiAgICAgIHN0aWNreUJvdHRvbUNsb3NlWzBdLnBhcmVudE5vZGUucmVtb3ZlKCk7DQogICAgfQ0KICA=" data-type="lazy"></script> <span class="eweek-close-button" onclick="closeStickyFooter()" title="close" style="width: 15px; height: 15px; background: #fff; position: relative; line-height: 15px; text-align: center; cursor: pointer; z-index: 10000;right:-15px;float: right; margin-left: -15px;">脳</span> <!-- Start: GAM Ad Slot Render | Codeguru Sticky Bottom --> <div id="sticky-bottom" style="max-width: 1020px; min-width: 300px; width: auto; text-align:center; min-height: 50px; max-height: 90px; height: auto; background-color: #ffffff; border:1px solid #efefef;"> <script nowprocket> window.googletag = window.googletag || { cmd: [] }; window.googletag.cmd.push(function() { googletag.display("sticky-bottom"); }); </script> </div> <!-- End: GAM Ad Slot Render | Codeguru Sticky Bottom --> </div></div><script data-src="data:text/javascript;base64,d2luZG93LmFkdmFkc19hZG1pbl9iYXJfaXRlbXMgPSBbeyJ0aXRsZSI6IkRhdGFsYXllciAmYW1wOyBHQU0gQ29yZSIsInR5cGUiOiJhZCJ9LHsidGl0bGUiOiJCZWZvcmUgQ2xvc2luZyBIZWFkIFRhZyIsInR5cGUiOiJwbGFjZW1lbnQifSx7InRpdGxlIjoiQ29kZWd1cnUgfCBNdWx0aW1lZGlhIENhdGVnb3J5IFx1MjAxMyBBZCBTbG90IERlZmluaXRpb25zIiwidHlwZSI6ImFkIn0seyJ0aXRsZSI6Ik11bHRpbWVkaWEgQ2F0ZWdvcnkgfCBBZCBTbG90IERlZmluaXRpb25zIFBsYWNlbWVudCIsInR5cGUiOiJwbGFjZW1lbnQifSx7InRpdGxlIjoiQ29kZWd1cnUgfCBUZXN0IER5bmFtaWMgU2xvdCBcdTIwMTMgQWQgU2xvdCBEZWZpbml0aW9ucyIsInR5cGUiOiJhZCJ9LHsidGl0bGUiOiJDb2RlZ3VydSB8IElubGluZSBUb3AgUmVuZGVyIiwidHlwZSI6ImFkIn0seyJ0aXRsZSI6IklubGluZSBUb3AiLCJ0eXBlIjoicGxhY2VtZW50In0seyJ0aXRsZSI6IkNvZGVndXJ1IHwgU3RpY2t5IFJhaWwgUmVuZGVyIiwidHlwZSI6ImFkIn0seyJ0aXRsZSI6IlN0aWNreSBSYWlsIiwidHlwZSI6InBsYWNlbWVudCJ9LHsidGl0bGUiOiJDb2RlR3VydSB8IE5hdGl2ZSBSUiAtIFJlbmRlciIsInR5cGUiOiJhZCJ9LHsidGl0bGUiOiJDb2RlR3VydSB8IE5hdGl2ZSBCT0FQIC0gUmVuZGVyIiwidHlwZSI6ImFkIn0seyJ0aXRsZSI6IkNvZGVndXJ1IHwgU3RpY2t5IEJvdHRvbSBSZW5kZXIiLCJ0eXBlIjoiYWQifSx7InRpdGxlIjoiU3RpY2t5IEZvb3RlciIsInR5cGUiOiJwbGFjZW1lbnQifV07" data-type="lazy"></script><script data-src="data:text/javascript;base64,IWZ1bmN0aW9uKCl7d2luZG93LmFkdmFuY2VkX2Fkc19yZWFkeV9xdWV1ZT13aW5kb3cuYWR2YW5jZWRfYWRzX3JlYWR5X3F1ZXVlfHxbXSxhZHZhbmNlZF9hZHNfcmVhZHlfcXVldWUucHVzaD13aW5kb3cuYWR2YW5jZWRfYWRzX3JlYWR5O2Zvcih2YXIgZD0wLGE9YWR2YW5jZWRfYWRzX3JlYWR5X3F1ZXVlLmxlbmd0aDtkPGE7ZCsrKWFkdmFuY2VkX2Fkc19yZWFkeShhZHZhbmNlZF9hZHNfcmVhZHlfcXVldWVbZF0pfSgpOw==" data-type="lazy"></script><!-- typekit fonts --><link rel='preload' as='style' onload="this.onload=null;this.rel='stylesheet'" href="https://use.typekit.net/qur0lux.css"> <script data-src="https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tdToTop.js?ver=12.6.8" data-type="lazy" type="text/javascript" id="tdToTop-js"></script> <script type="text/javascript" src="https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tdAjaxSearch.js?ver=12.6.8" id="tdDatei18n-js"></script> <script type="text/javascript" src="https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tdStickyRow.js?ver=12.6.8" id="tdStickyRow-js"></script> <script type="text/javascript" src="https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tdSmartSidebar.js?ver=12.6.8" id="tdSmartSidebar-js"></script> <script type="text/javascript" src="https://www.codeguru.com/wp-content/plugins/td-cloud-library/assets/js/tdbMenu.js?ver=b33652f2535d2f3812f59e306e26300d" id="tdbMenu-js"></script> <script data-src="https://www.codeguru.com/wp-content/plugins/td-composer/legacy/Newspaper/js/tdLoadingBox.js?ver=12.6.8" data-type="lazy" type="text/javascript" id="tdLoadingBox-js"></script> <!-- JS generated by theme --> <script type="text/javascript" id="td-generated-footer-js"> /* global jQuery:{} */ jQuery().ready( function () { tdAjaxSearch._is_mob_live_search_active = false; }); /* global jQuery:{} */ jQuery(document).ready( function () { var tdbMenuItem = new tdbMenu.item(); tdbMenuItem.blockUid = 'tdi_21'; tdbMenuItem.jqueryObj = jQuery('.tdi_21'); tdbMenuItem.blockAtts = '{"main_sub_tdicon":"td-icon-down","sub_tdicon":"td-icon-right-arrow","mm_align_horiz":"content-horiz-center","modules_on_row_regular":"20%","modules_on_row_cats":"25%","image_size":"td_324x400","modules_category":"image","show_excerpt":"none","show_com":"none","show_date":"none","show_author":"none","mm_sub_align_horiz":"content-horiz-right","mm_elem_align_horiz":"content-horiz-right","inline":"yes","mm_align_screen":"yes","f_elem_font_size":"eyJwb3J0cmFpdCI6IjExIiwiYWxsIjoiMTMifQ==","elem_padd":"eyJwb3J0cmFpdCI6IjAgOXB4In0=","menu_id":"30626","text_color":"#ffffff","tds_menu_active":"tds_menu_active3","f_elem_font_line_height":"eyJwb3J0cmFpdCI6IjQ4cHgifQ==","sub_align_horiz":"content-horiz-left","tdc_css":"eyJhbGwiOnsiZGlzcGxheSI6IiJ9fQ==","align_horiz":"content-horiz-left","all_underline_color":"","float_right":"yes","tds_menu_active1-line_color":"eyJ0eXBlIjoiZ3JhZGllbnQiLCJjb2xvcjEiOiIjMjM4ZmVlIiwiY29sb3IyIjoiIzI2YmRlOSIsIm1peGVkQ29sb3JzIjpbXSwiZGVncmVlIjoiMTIwIiwiY3NzIjoiYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoMTIwZGVnLCMyNmJkZTksIzIzOGZlZSk7YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEyMGRlZywjMjZiZGU5LCMyMzhmZWUpOyIsImNzc1BhcmFtcyI6IjEyMGRlZywjMjZiZGU5LCMyMzhmZWUifQ==","f_elem_font_family":"tk_1","f_elem_font_transform":"capitalize","tds_menu_sub_active":"tds_menu_sub_active1","tds_menu_active3-bg_color":"#238fee","tds_menu_active3-text_color_h":"#ffffff","f_sub_elem_font_family":"tk_1","f_sub_elem_font_size":"15","f_sub_elem_font_transform":"capitalize","f_sub_elem_font_weight":"700","f_sub_elem_font_spacing":"0","tds_menu_sub_active1-sub_text_color_h":"#ffffff","sub_text_color":"#151948","tds_menu_sub_active1-sub_elem_bg_color_h":"#b361e0","sub_bg_color":"#ffffff","width":"100%","block_type":"tdb_header_menu","show_subcat":"","show_mega":"","show_mega_cats":"","mob_load":"","separator":"","more":"","elem_space":"","main_sub_icon_size":"","main_sub_icon_space":"","main_sub_icon_align":"-1","sep_tdicon":"","sep_icon_size":"","sep_icon_space":"","sep_icon_align":"-1","more_txt":"","more_tdicon":"","more_icon_size":"","more_icon_align":"0","sub_width":"","sub_first_left":"","sub_rest_top":"","sub_padd":"","sub_elem_inline":"","sub_elem_space":"","sub_elem_padd":"","sub_elem_radius":"0","sub_icon_size":"","sub_icon_space":"","sub_icon_pos":"","sub_icon_align":"1","mm_width":"","mm_content_width":"","mm_height":"","mm_padd":"","mm_radius":"","mm_offset":"","mm_posts_limit":"5","mm_subcats_posts_limit":"4","mm_child_cats":"","open_in_new_window":"","mm_ajax_preloading":"","mm_hide_all_item":"","mm_sub_width":"","mm_sub_padd":"","mm_sub_border":"","mm_sub_inline":"","mm_elem_order":"name","mm_elem_space":"","mm_elem_padd":"","mm_elem_border":"","mm_elem_border_a":"","mm_elem_border_rad":"","mc1_tl":"","mc1_title_tag":"","mc1_el":"","modules_gap":"","m_padding":"","all_modules_space":"36","modules_border_size":"","modules_border_style":"","modules_border_color":"#eaeaea","modules_divider":"","modules_divider_color":"#eaeaea","h_effect":"","image_alignment":"50","image_height":"","image_width":"","image_floated":"no_float","image_radius":"","hide_image":"","video_icon":"","show_vid_t":"block","vid_t_margin":"","vid_t_padding":"","vid_t_color":"","vid_t_bg_color":"","f_vid_time_font_header":"","f_vid_time_font_title":"Video duration text","f_vid_time_font_settings":"","f_vid_time_font_family":"","f_vid_time_font_size":"","f_vid_time_font_line_height":"","f_vid_time_font_style":"","f_vid_time_font_weight":"","f_vid_time_font_transform":"","f_vid_time_font_spacing":"","f_vid_time_":"","show_audio":"block","hide_audio":"","art_audio":"","art_audio_size":"1","meta_info_align":"","meta_info_horiz":"content-horiz-left","meta_width":"","meta_margin":"","meta_padding":"","art_title":"","meta_info_border_size":"","meta_info_border_style":"","meta_info_border_color":"#eaeaea","modules_category_margin":"","modules_category_padding":"","modules_cat_border":"","modules_category_radius":"0","show_cat":"inline-block","modules_extra_cat":"","author_photo":"","author_photo_size":"","author_photo_space":"","author_photo_radius":"","show_modified_date":"","time_ago":"","time_ago_add_txt":"ago","time_ago_txt_pos":"","art_excerpt":"","excerpt_col":"1","excerpt_gap":"","excerpt_middle":"","show_review":"inline-block","review_space":"","review_size":"2.5","review_distance":"","show_pagination":"","pag_space":"","pag_padding":"","pag_border_width":"","pag_border_radius":"","prev_tdicon":"","next_tdicon":"","pag_icons_size":"","main_sub_color":"","sep_color":"","more_icon_color":"","hover_opacity":"","f_elem_font_header":"","f_elem_font_title":"Elements text","f_elem_font_settings":"","f_elem_font_style":"","f_elem_font_weight":"","f_elem_font_spacing":"","f_elem_":"","sub_border_size":"","sub_border_color":"","sub_border_radius":"","sub_elem_bg_color":"","sub_color":"","sub_shadow_shadow_header":"","sub_shadow_shadow_title":"Shadow","sub_shadow_shadow_size":"","sub_shadow_shadow_offset_horizontal":"","sub_shadow_shadow_offset_vertical":"","sub_shadow_shadow_spread":"","sub_shadow_shadow_color":"","f_sub_elem_font_header":"","f_sub_elem_font_title":"Elements text","f_sub_elem_font_settings":"","f_sub_elem_font_line_height":"","f_sub_elem_font_style":"","f_sub_elem_":"","mm_bg":"","mm_content_bg":"","mm_border_size":"","mm_border_color":"","mm_shadow_shadow_header":"","mm_shadow_shadow_title":"Shadow","mm_shadow_shadow_size":"","mm_shadow_shadow_offset_horizontal":"","mm_shadow_shadow_offset_vertical":"","mm_shadow_shadow_spread":"","mm_shadow_shadow_color":"","mm_subcats_bg":"","mm_subcats_border_color":"","mm_elem_color":"","mm_elem_color_a":"","mm_elem_bg":"","mm_elem_bg_a":"","mm_elem_border_color":"","mm_elem_border_color_a":"","mm_elem_shadow_shadow_header":"","mm_elem_shadow_shadow_title":"Elements shadow","mm_elem_shadow_shadow_size":"","mm_elem_shadow_shadow_offset_horizontal":"","mm_elem_shadow_shadow_offset_vertical":"","mm_elem_shadow_shadow_spread":"","mm_elem_shadow_shadow_color":"","f_mm_sub_font_header":"","f_mm_sub_font_title":"Sub categories elements","f_mm_sub_font_settings":"","f_mm_sub_font_family":"","f_mm_sub_font_size":"","f_mm_sub_font_line_height":"","f_mm_sub_font_style":"","f_mm_sub_font_weight":"","f_mm_sub_font_transform":"","f_mm_sub_font_spacing":"","f_mm_sub_":"","m_bg":"","color_overlay":"","shadow_shadow_header":"","shadow_shadow_title":"Module Shadow","shadow_shadow_size":"","shadow_shadow_offset_horizontal":"","shadow_shadow_offset_vertical":"","shadow_shadow_spread":"","shadow_shadow_color":"","title_txt":"","title_txt_hover":"","all_underline_height":"","cat_bg":"","cat_bg_hover":"","cat_txt":"","cat_txt_hover":"","cat_border":"","cat_border_hover":"","meta_bg":"","author_txt":"","author_txt_hover":"","date_txt":"","ex_txt":"","com_bg":"","com_txt":"","rev_txt":"","shadow_m_shadow_header":"","shadow_m_shadow_title":"Meta info shadow","shadow_m_shadow_size":"","shadow_m_shadow_offset_horizontal":"","shadow_m_shadow_offset_vertical":"","shadow_m_shadow_spread":"","shadow_m_shadow_color":"","audio_btn_color":"","audio_time_color":"","audio_bar_color":"","audio_bar_curr_color":"","pag_text":"","pag_h_text":"","pag_bg":"","pag_h_bg":"","pag_border":"","pag_h_border":"","f_title_font_header":"","f_title_font_title":"Article title","f_title_font_settings":"","f_title_font_family":"","f_title_font_size":"","f_title_font_line_height":"","f_title_font_style":"","f_title_font_weight":"","f_title_font_transform":"","f_title_font_spacing":"","f_title_":"","f_cat_font_title":"Article category tag","f_cat_font_settings":"","f_cat_font_family":"","f_cat_font_size":"","f_cat_font_line_height":"","f_cat_font_style":"","f_cat_font_weight":"","f_cat_font_transform":"","f_cat_font_spacing":"","f_cat_":"","f_meta_font_title":"Article meta info","f_meta_font_settings":"","f_meta_font_family":"","f_meta_font_size":"","f_meta_font_line_height":"","f_meta_font_style":"","f_meta_font_weight":"","f_meta_font_transform":"","f_meta_font_spacing":"","f_meta_":"","f_ex_font_title":"Article excerpt","f_ex_font_settings":"","f_ex_font_family":"","f_ex_font_size":"","f_ex_font_line_height":"","f_ex_font_style":"","f_ex_font_weight":"","f_ex_font_transform":"","f_ex_font_spacing":"","f_ex_":"","mix_color":"","mix_type":"","fe_brightness":"1","fe_contrast":"1","fe_saturate":"1","mix_color_h":"","mix_type_h":"","fe_brightness_h":"1","fe_contrast_h":"1","fe_saturate_h":"1","el_class":"","block_template_id":"","td_column_number":3,"header_color":"","ajax_pagination_infinite_stop":"","offset":"","limit":"5","td_ajax_preloading":"","td_ajax_filter_type":"","td_filter_default_txt":"","td_ajax_filter_ids":"","color_preset":"","ajax_pagination":"","ajax_pagination_next_prev_swipe":"","border_top":"","css":"","class":"tdi_21","tdc_css_class":"tdi_21","tdc_css_class_style":"tdi_21_rand_style","context":""}'; tdbMenuItem.isMegaMenuFull = true; tdbMenuItem.megaMenuLoadType = ''; tdbMenu.addItem(tdbMenuItem); }); /* global jQuery:{} */ jQuery(document).ready( function () { var tdbMenuItem = new tdbMenu.item(); tdbMenuItem.blockUid = 'tdi_139'; tdbMenuItem.jqueryObj = jQuery('.tdi_139'); tdbMenuItem.blockAtts = '{"main_sub_tdicon":"td-icon-down","sub_tdicon":"td-icon-right-arrow","mm_align_horiz":"content-horiz-center","modules_on_row_regular":"20%","modules_on_row_cats":"25%","image_size":"td_324x400","modules_category":"image","show_excerpt":"none","show_com":"none","show_date":"none","show_author":"none","mm_sub_align_horiz":"content-horiz-right","mm_elem_align_horiz":"content-horiz-right","menu_id":"526","text_color":"#ffffff","align_horiz":"content-horiz-center","f_elem_font_size":"eyJwaG9uZSI6IjEwIiwiYWxsIjoiMTQifQ==","tds_menu_active1-line_color":"#238fee","f_elem_font_family":"394","all_underline_color":"#238fee","all_underline_height":"3","f_elem_font_weight":"600","block_type":"tdb_header_menu","show_subcat":"","show_mega":"","show_mega_cats":"","mob_load":"","separator":"","width":"","inline":"","more":"","float_right":"","elem_space":"","elem_padd":"","main_sub_icon_size":"","main_sub_icon_space":"","main_sub_icon_align":"-1","sep_tdicon":"","sep_icon_size":"","sep_icon_space":"","sep_icon_align":"-1","more_txt":"","more_tdicon":"","more_icon_size":"","more_icon_align":"0","sub_width":"","sub_first_left":"","sub_rest_top":"","sub_padd":"","sub_align_horiz":"content-horiz-left","sub_elem_inline":"","sub_elem_space":"","sub_elem_padd":"","sub_elem_radius":"0","sub_icon_size":"","sub_icon_space":"","sub_icon_pos":"","sub_icon_align":"1","mm_width":"","mm_content_width":"","mm_height":"","mm_padd":"","mm_radius":"","mm_offset":"","mm_align_screen":"","mm_posts_limit":"5","mm_subcats_posts_limit":"4","mm_child_cats":"","open_in_new_window":"","mm_ajax_preloading":"","mm_hide_all_item":"","mm_sub_width":"","mm_sub_padd":"","mm_sub_border":"","mm_sub_inline":"","mm_elem_order":"name","mm_elem_space":"","mm_elem_padd":"","mm_elem_border":"","mm_elem_border_a":"","mm_elem_border_rad":"","mc1_tl":"","mc1_title_tag":"","mc1_el":"","modules_gap":"","m_padding":"","all_modules_space":"36","modules_border_size":"","modules_border_style":"","modules_border_color":"#eaeaea","modules_divider":"","modules_divider_color":"#eaeaea","h_effect":"","image_alignment":"50","image_height":"","image_width":"","image_floated":"no_float","image_radius":"","hide_image":"","video_icon":"","show_vid_t":"block","vid_t_margin":"","vid_t_padding":"","vid_t_color":"","vid_t_bg_color":"","f_vid_time_font_header":"","f_vid_time_font_title":"Video duration text","f_vid_time_font_settings":"","f_vid_time_font_family":"","f_vid_time_font_size":"","f_vid_time_font_line_height":"","f_vid_time_font_style":"","f_vid_time_font_weight":"","f_vid_time_font_transform":"","f_vid_time_font_spacing":"","f_vid_time_":"","show_audio":"block","hide_audio":"","art_audio":"","art_audio_size":"1","meta_info_align":"","meta_info_horiz":"content-horiz-left","meta_width":"","meta_margin":"","meta_padding":"","art_title":"","meta_info_border_size":"","meta_info_border_style":"","meta_info_border_color":"#eaeaea","modules_category_margin":"","modules_category_padding":"","modules_cat_border":"","modules_category_radius":"0","show_cat":"inline-block","modules_extra_cat":"","author_photo":"","author_photo_size":"","author_photo_space":"","author_photo_radius":"","show_modified_date":"","time_ago":"","time_ago_add_txt":"ago","time_ago_txt_pos":"","art_excerpt":"","excerpt_col":"1","excerpt_gap":"","excerpt_middle":"","show_review":"inline-block","review_space":"","review_size":"2.5","review_distance":"","show_pagination":"","pag_space":"","pag_padding":"","pag_border_width":"","pag_border_radius":"","prev_tdicon":"","next_tdicon":"","pag_icons_size":"","main_sub_color":"","sep_color":"","more_icon_color":"","tds_menu_active":"tds_menu_active1","hover_opacity":"","f_elem_font_header":"","f_elem_font_title":"Elements text","f_elem_font_settings":"","f_elem_font_line_height":"","f_elem_font_style":"","f_elem_font_transform":"","f_elem_font_spacing":"","f_elem_":"","sub_bg_color":"","sub_border_size":"","sub_border_color":"","sub_border_radius":"","sub_text_color":"","sub_elem_bg_color":"","sub_color":"","sub_shadow_shadow_header":"","sub_shadow_shadow_title":"Shadow","sub_shadow_shadow_size":"","sub_shadow_shadow_offset_horizontal":"","sub_shadow_shadow_offset_vertical":"","sub_shadow_shadow_spread":"","sub_shadow_shadow_color":"","tds_menu_sub_active":"tds_menu_sub_active1","f_sub_elem_font_header":"","f_sub_elem_font_title":"Elements text","f_sub_elem_font_settings":"","f_sub_elem_font_family":"","f_sub_elem_font_size":"","f_sub_elem_font_line_height":"","f_sub_elem_font_style":"","f_sub_elem_font_weight":"","f_sub_elem_font_transform":"","f_sub_elem_font_spacing":"","f_sub_elem_":"","mm_bg":"","mm_content_bg":"","mm_border_size":"","mm_border_color":"","mm_shadow_shadow_header":"","mm_shadow_shadow_title":"Shadow","mm_shadow_shadow_size":"","mm_shadow_shadow_offset_horizontal":"","mm_shadow_shadow_offset_vertical":"","mm_shadow_shadow_spread":"","mm_shadow_shadow_color":"","mm_subcats_bg":"","mm_subcats_border_color":"","mm_elem_color":"","mm_elem_color_a":"","mm_elem_bg":"","mm_elem_bg_a":"","mm_elem_border_color":"","mm_elem_border_color_a":"","mm_elem_shadow_shadow_header":"","mm_elem_shadow_shadow_title":"Elements shadow","mm_elem_shadow_shadow_size":"","mm_elem_shadow_shadow_offset_horizontal":"","mm_elem_shadow_shadow_offset_vertical":"","mm_elem_shadow_shadow_spread":"","mm_elem_shadow_shadow_color":"","f_mm_sub_font_header":"","f_mm_sub_font_title":"Sub categories elements","f_mm_sub_font_settings":"","f_mm_sub_font_family":"","f_mm_sub_font_size":"","f_mm_sub_font_line_height":"","f_mm_sub_font_style":"","f_mm_sub_font_weight":"","f_mm_sub_font_transform":"","f_mm_sub_font_spacing":"","f_mm_sub_":"","m_bg":"","color_overlay":"","shadow_shadow_header":"","shadow_shadow_title":"Module Shadow","shadow_shadow_size":"","shadow_shadow_offset_horizontal":"","shadow_shadow_offset_vertical":"","shadow_shadow_spread":"","shadow_shadow_color":"","title_txt":"","title_txt_hover":"","cat_bg":"","cat_bg_hover":"","cat_txt":"","cat_txt_hover":"","cat_border":"","cat_border_hover":"","meta_bg":"","author_txt":"","author_txt_hover":"","date_txt":"","ex_txt":"","com_bg":"","com_txt":"","rev_txt":"","shadow_m_shadow_header":"","shadow_m_shadow_title":"Meta info shadow","shadow_m_shadow_size":"","shadow_m_shadow_offset_horizontal":"","shadow_m_shadow_offset_vertical":"","shadow_m_shadow_spread":"","shadow_m_shadow_color":"","audio_btn_color":"","audio_time_color":"","audio_bar_color":"","audio_bar_curr_color":"","pag_text":"","pag_h_text":"","pag_bg":"","pag_h_bg":"","pag_border":"","pag_h_border":"","f_title_font_header":"","f_title_font_title":"Article title","f_title_font_settings":"","f_title_font_family":"","f_title_font_size":"","f_title_font_line_height":"","f_title_font_style":"","f_title_font_weight":"","f_title_font_transform":"","f_title_font_spacing":"","f_title_":"","f_cat_font_title":"Article category tag","f_cat_font_settings":"","f_cat_font_family":"","f_cat_font_size":"","f_cat_font_line_height":"","f_cat_font_style":"","f_cat_font_weight":"","f_cat_font_transform":"","f_cat_font_spacing":"","f_cat_":"","f_meta_font_title":"Article meta info","f_meta_font_settings":"","f_meta_font_family":"","f_meta_font_size":"","f_meta_font_line_height":"","f_meta_font_style":"","f_meta_font_weight":"","f_meta_font_transform":"","f_meta_font_spacing":"","f_meta_":"","f_ex_font_title":"Article excerpt","f_ex_font_settings":"","f_ex_font_family":"","f_ex_font_size":"","f_ex_font_line_height":"","f_ex_font_style":"","f_ex_font_weight":"","f_ex_font_transform":"","f_ex_font_spacing":"","f_ex_":"","mix_color":"","mix_type":"","fe_brightness":"1","fe_contrast":"1","fe_saturate":"1","mix_color_h":"","mix_type_h":"","fe_brightness_h":"1","fe_contrast_h":"1","fe_saturate_h":"1","el_class":"","tdc_css":"","block_template_id":"","td_column_number":3,"header_color":"","ajax_pagination_infinite_stop":"","offset":"","limit":"5","td_ajax_preloading":"","td_ajax_filter_type":"","td_filter_default_txt":"","td_ajax_filter_ids":"","color_preset":"","ajax_pagination":"","ajax_pagination_next_prev_swipe":"","border_top":"","css":"","class":"tdi_139","tdc_css_class":"tdi_139","tdc_css_class_style":"tdi_139_rand_style","context":""}'; tdbMenuItem.isMegaMenuParentPos = true; tdbMenuItem.megaMenuLoadType = ''; tdbMenu.addItem(tdbMenuItem); }); </script> <script data-src="data:text/javascript;base64,dmFyIHRkX3Jlc19jb250ZXh0X3JlZ2lzdGVyZWRfYXR0cz1bInN0eWxlX2dlbmVyYWxfbW9iaWxlX21lbnUiLCJzdHlsZV9nZW5lcmFsX2hlYWRlcl9hbGlnbiIsInN0eWxlX2dlbmVyYWxfaGVhZGVyX2xvZ28iLCJzdHlsZV9nZW5lcmFsX21vYmlsZV9zZWFyY2giLCJzdHlsZV9nZW5lcmFsX2lzX3N0aWNreSIsInN0eWxlX2dlbmVyYWxfaGVhZGVyX21lbnUiLCJzdHlsZV9nZW5lcmFsX21lbnVfYWN0aXZlMyIsInN0eWxlX2dlbmVyYWxfc29jaWFscyIsInN0eWxlX2dlbmVyYWxfc29jaWFsMyIsInN0eWxlX2dlbmVyYWxfc2VhcmNoX2Zvcm0iLCJzdHlsZV9nZW5lcmFsX2JyZWFkY3J1bWJzIiwic3R5bGVfZ2VuZXJhbF9zaW5nbGVfdGl0bGUiLCJzdHlsZV9nZW5lcmFsX3RpdGxlX3NpbmdsZSIsInN0eWxlX2JnX3NwYWNlIiwic3R5bGVfZ2VuZXJhbF9wb3N0X21ldGEiLCJzdHlsZV9nZW5lcmFsX3NpbmdsZV9hdXRob3IiLCJzdHlsZV9nZW5lcmFsX3NpbmdsZV9kYXRlIiwic3R5bGVfZ2VuZXJhbF9zaW5nbGVfcG9zdF9zaGFyZSIsInN0eWxlX2dlbmVyYWxfc2luZ2xlX2NvbnRlbnQiLCJzdHlsZV9nZW5lcmFsX2F1dGhvcl9ib3giLCJzdHlsZV9nZW5lcmFsX3JlbGF0ZWRfcG9zdCIsInN0eWxlX2dlbmVyYWxfaW5saW5lX3RleHQiLCJzdHlsZV9nZW5lcmFsX2J1dHRvbiIsInN0eWxlX2dlbmVyYWxfbGlzdF9tZW51Iiwic3R5bGVfc3BlY2lmaWNfbGlzdF9tZW51X3ZlcnRpY2FsIiwic3R5bGVfc3BlY2lmaWNfbGlzdF9tZW51X2FjY29yZGlvbiIsInN0eWxlX3NwZWNpZmljX2xpc3RfbWVudV9ob3Jpem9udGFsIiwic3R5bGVfZ2VuZXJhbF9zZXBhcmF0b3IiLCJzdHlsZV9nZW5lcmFsX2NvbHVtbl90aXRsZSIsInN0eWxlX2dlbmVyYWxfc2luZ2xlX2ltYWdlIiwic3R5bGVfZ2VuZXJhbF9jb2x1bW5fY29udGVudCJdOw==" data-type="lazy"></script> <script>window.lazyLoadOptions = [{ elements_selector: "img[data-lazy-src],.rocket-lazyload", data_src: "lazy-src", data_srcset: "lazy-srcset", data_sizes: "lazy-sizes", class_loading: "lazyloading", class_loaded: "lazyloaded", threshold: 300, callback_loaded: function(element) { if ( element.tagName === "IFRAME" && element.dataset.rocketLazyload == "fitvidscompatible" ) { if (element.classList.contains("lazyloaded") ) { if (typeof window.jQuery != "undefined") { if (jQuery.fn.fitVids) { jQuery(element).parent().fitVids(); } } } } }},{ elements_selector: ".rocket-lazyload", data_src: "lazy-src", data_srcset: "lazy-srcset", data_sizes: "lazy-sizes", class_loading: "lazyloading", class_loaded: "lazyloaded", threshold: 300, }]; window.addEventListener('LazyLoad::Initialized', function (e) { var lazyLoadInstance = e.detail.instance; if (window.MutationObserver) { var observer = new MutationObserver(function(mutations) { var image_count = 0; var iframe_count = 0; var rocketlazy_count = 0; mutations.forEach(function(mutation) { for (var i = 0; i < mutation.addedNodes.length; i++) { if (typeof mutation.addedNodes[i].getElementsByTagName !== 'function') { continue; } if (typeof mutation.addedNodes[i].getElementsByClassName !== 'function') { continue; } images = mutation.addedNodes[i].getElementsByTagName('img'); is_image = mutation.addedNodes[i].tagName == "IMG"; iframes = mutation.addedNodes[i].getElementsByTagName('iframe'); is_iframe = mutation.addedNodes[i].tagName == "IFRAME"; rocket_lazy = mutation.addedNodes[i].getElementsByClassName('rocket-lazyload'); image_count += images.length; iframe_count += iframes.length; rocketlazy_count += rocket_lazy.length; if(is_image){ image_count += 1; } if(is_iframe){ iframe_count += 1; } } } ); if(image_count > 0 || iframe_count > 0 || rocketlazy_count > 0){ lazyLoadInstance.update(); } } ); var b = document.getElementsByTagName("body")[0]; var config = { childList: true, subtree: true }; observer.observe(b, config); } }, false);</script><script data-no-minify="1" async src="https://www.codeguru.com/wp-content/plugins/rocket-lazy-load/assets/js/16.1/lazyload.min.js"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10