CINXE.COM

TFX | ML Production Pipelines  |  TensorFlow

<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="157101835696-ooapojlodmuabs2do2vuhhnf90bccmoi.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="TensorFlow"> <meta property="og:type" content="website"><meta name="theme-color" content="#ff6f00"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/tensorflow/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/images/favicon.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/images/apple-touch-icon-180x180.png"><link rel="canonical" href="https://www.tensorflow.org/tfx"><link rel="search" type="application/opensearchdescription+xml" title="TensorFlow" href="https://www.tensorflow.org/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://www.tensorflow.org/tfx" /><link rel="alternate" hreflang="x-default" href="https://www.tensorflow.org/tfx" /><link rel="alternate" hreflang="ar" href="https://www.tensorflow.org/tfx?hl=ar" /><link rel="alternate" hreflang="bn" href="https://www.tensorflow.org/tfx?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://www.tensorflow.org/tfx?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://www.tensorflow.org/tfx?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://www.tensorflow.org/tfx?hl=fa" /><link rel="alternate" hreflang="fr" href="https://www.tensorflow.org/tfx?hl=fr" /><link rel="alternate" hreflang="he" href="https://www.tensorflow.org/tfx?hl=he" /><link rel="alternate" hreflang="hi" href="https://www.tensorflow.org/tfx?hl=hi" /><link rel="alternate" hreflang="id" href="https://www.tensorflow.org/tfx?hl=id" /><link rel="alternate" hreflang="it" href="https://www.tensorflow.org/tfx?hl=it" /><link rel="alternate" hreflang="ja" href="https://www.tensorflow.org/tfx?hl=ja" /><link rel="alternate" hreflang="ko" href="https://www.tensorflow.org/tfx?hl=ko" /><link rel="alternate" hreflang="pl" href="https://www.tensorflow.org/tfx?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://www.tensorflow.org/tfx?hl=pt-br" /><link rel="alternate" hreflang="pt" href="https://www.tensorflow.org/tfx?hl=pt" /><link rel="alternate" hreflang="ru" href="https://www.tensorflow.org/tfx?hl=ru" /><link rel="alternate" hreflang="es" href="https://www.tensorflow.org/tfx?hl=es" /><link rel="alternate" hreflang="es-419" href="https://www.tensorflow.org/tfx?hl=es-419" /><link rel="alternate" hreflang="th" href="https://www.tensorflow.org/tfx?hl=th" /><link rel="alternate" hreflang="tr" href="https://www.tensorflow.org/tfx?hl=tr" /><link rel="alternate" hreflang="vi" href="https://www.tensorflow.org/tfx?hl=vi" /><title>TFX | ML Production Pipelines &nbsp;|&nbsp; TensorFlow</title> <meta property="og:title" content="TFX | ML Production Pipelines &nbsp;|&nbsp; TensorFlow"><meta name="description" content="Build and manage end-to-end production ML pipelines. TFX components enable scalable, high-performance data processing, model training and deployment."> <meta property="og:description" content="Build and manage end-to-end production ML pipelines. TFX components enable scalable, high-performance data processing, model training and deployment."><meta property="og:url" content="https://www.tensorflow.org/tfx"><meta property="og:image" content="https://www.tensorflow.org/static/site-assets/images/project-logos/tensorflow-extended-tfx-logo-social.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "TFX | ML Production Pipelines" } </script> <link href="/static/en/site-assets/images/marketing/favicon.png" rel="shortcut icon"/> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, height=device-height" name="viewport"/> <link href="https://fonts.googleapis.com/css?family=Google+Sans:+400,500,700" rel="stylesheet" data-page-link> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="tensorflow-theme" type="article" layout="full" pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner"> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="tensorFlow" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/images/lockup.svg" class="devsite-site-logo" alt="TensorFlow"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab > <a href="https://www.tensorflow.org/install" track-metadata-eventdetail="https://www.tensorflow.org/install" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - install" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Install" track-name="install" > Install </a> </tab> <tab class="devsite-dropdown devsite-active "> <a href="https://www.tensorflow.org/learn" track-metadata-eventdetail="https://www.tensorflow.org/learn" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - learn" track-metadata-module="primary nav" aria-label="Learn, selected" data-category="Site-Wide Custom Events" data-label="Tab: Learn" track-name="learn" > Learn </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Learn" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/learn" track-metadata-position="nav - learn" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Learn" track-name="learn" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column tfo-menu-column-learn"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/learn" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/learn" track-metadata-position="nav - learn" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Introduction </div> <div class="devsite-nav-item-description"> New to TensorFlow? </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/tutorials" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/tutorials" track-metadata-position="nav - learn" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Tutorials </div> <div class="devsite-nav-item-description"> Learn how to use TensorFlow with end-to-end examples </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/guide" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/guide" track-metadata-position="nav - learn" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Guide </div> <div class="devsite-nav-item-description"> Learn framework concepts and components </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/resources/learn-ml" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/resources/learn-ml" track-metadata-position="nav - learn" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Learn ML </div> <div class="devsite-nav-item-description"> Educational resources to master your path with TensorFlow </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://www.tensorflow.org/api" track-metadata-eventdetail="https://www.tensorflow.org/api" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - api" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: API" track-name="api" > API </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for API" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/api" track-metadata-position="nav - api" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: API" track-name="api" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/api/stable" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/api/stable" track-metadata-position="nav - api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> TensorFlow (v2.16.1) </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/versions" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/versions" track-metadata-position="nav - api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Versions… </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://js.tensorflow.org/api/latest/" track-type="nav" track-metadata-eventdetail="https://js.tensorflow.org/api/latest/" track-metadata-position="nav - api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> TensorFlow.js </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/lite/api_docs" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/lite/api_docs" track-metadata-position="nav - api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> TensorFlow Lite </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/tfx/api_docs" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/tfx/api_docs" track-metadata-position="nav - api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> TFX </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://www.tensorflow.org/resources/models-datasets" track-metadata-eventdetail="https://www.tensorflow.org/resources/models-datasets" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - ecosystem" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Ecosystem" track-name="ecosystem" > Ecosystem </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Ecosystem" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/resources/models-datasets" track-metadata-position="nav - ecosystem" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Ecosystem" track-name="ecosystem" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>LIBRARIES</li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/js" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/js" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="libraries" tooltip > <div class="devsite-nav-item-title"> TensorFlow.js </div> <div class="devsite-nav-item-description"> Develop web ML applications in JavaScript </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/lite" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/lite" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="libraries" tooltip > <div class="devsite-nav-item-title"> TensorFlow Lite </div> <div class="devsite-nav-item-description"> Deploy ML on mobile, microcontrollers and other edge devices </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/tfx" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/tfx" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="libraries" tooltip > <div class="devsite-nav-item-title"> TFX </div> <div class="devsite-nav-item-description"> Build production ML pipelines </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/resources/libraries-extensions" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/resources/libraries-extensions" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="libraries" tooltip > <div class="devsite-nav-item-title"> All libraries </div> <div class="devsite-nav-item-description"> Create advanced models and extend TensorFlow </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>RESOURCES</li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/resources/models-datasets" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/resources/models-datasets" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="resources" tooltip > <div class="devsite-nav-item-title"> Models & datasets </div> <div class="devsite-nav-item-description"> Pre-trained models and datasets built by Google and the community </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/resources/tools" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/resources/tools" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="resources" tooltip > <div class="devsite-nav-item-title"> Tools </div> <div class="devsite-nav-item-description"> Tools to support and accelerate TensorFlow workflows </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/responsible_ai" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/responsible_ai" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="resources" tooltip > <div class="devsite-nav-item-title"> Responsible AI </div> <div class="devsite-nav-item-description"> Resources for every stage of the ML workflow </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/resources/recommendation-systems" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/resources/recommendation-systems" track-metadata-position="nav - ecosystem" track-metadata-module="tertiary nav" track-metadata-module_headline="resources" tooltip > <div class="devsite-nav-item-title"> Recommendation systems </div> <div class="devsite-nav-item-description"> Build recommendation systems with open source tools </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://www.tensorflow.org/community" track-metadata-eventdetail="https://www.tensorflow.org/community" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" > Community </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Community" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/community" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/community/groups" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/community/groups" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Groups </div> <div class="devsite-nav-item-description"> User groups, interest groups and mailing lists </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/community/contribute" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/community/contribute" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Contribute </div> <div class="devsite-nav-item-description"> Guide for contributing to code and documentation </div> </a> </li> <li class="devsite-nav-item"> <a href="https://blog.tensorflow.org/" track-type="nav" track-metadata-eventdetail="https://blog.tensorflow.org/" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Blog </div> <div class="devsite-nav-item-description"> Stay up to date with all things TensorFlow </div> </a> </li> <li class="devsite-nav-item"> <a href="https://discuss.tensorflow.org" track-type="nav" track-metadata-eventdetail="https://discuss.tensorflow.org" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Forum </div> <div class="devsite-nav-item-description"> Discussion platform for the TensorFlow community </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://www.tensorflow.org/about" track-metadata-eventdetail="https://www.tensorflow.org/about" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - why tensorflow" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Why TensorFlow" track-name="why tensorflow" > Why TensorFlow </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Why TensorFlow" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/about" track-metadata-position="nav - why tensorflow" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Why TensorFlow" track-name="why tensorflow" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/about" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/about" track-metadata-position="nav - why tensorflow" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> About </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.tensorflow.org/about/case-studies" track-type="nav" track-metadata-eventdetail="https://www.tensorflow.org/about/case-studies" track-metadata-position="nav - why tensorflow" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Case studies </div> </a> </li> </ul> </div> </div> </div> </tab> </nav> </devsite-tabs> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="TFX" tenant-name="TensorFlow" > <form class="devsite-search-form" action="https://www.tensorflow.org/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value="" > <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt" >Português</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <a class="devsite-header-link devsite-top-button button gc-analytics-event" href="//github.com/tensorflow" data-category="Site-Wide Custom Events" data-label="Site header link" > GitHub </a> <devsite-user enable-profiles id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section "> <div class="devsite-header-background"> <div class="devsite-product-id-row" > <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://www.tensorflow.org/tfx" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="TFX" > For Production </a> </li> </ul> </div> </div> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab class="devsite-active"> <a href="https://www.tensorflow.org/tfx" track-metadata-eventdetail="https://www.tensorflow.org/tfx" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - overview" track-metadata-module="primary nav" aria-label="Overview, selected" data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" > Overview </a> </tab> <tab > <a href="https://www.tensorflow.org/tfx/tutorials" track-metadata-eventdetail="https://www.tensorflow.org/tfx/tutorials" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - tutorials" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Tutorials" track-name="tutorials" > Tutorials </a> </tab> <tab > <a href="https://www.tensorflow.org/tfx/guide" track-metadata-eventdetail="https://www.tensorflow.org/tfx/guide" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - guide" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Guide" track-name="guide" > Guide </a> </tab> <tab > <a href="https://www.tensorflow.org/tfx/addons" track-metadata-eventdetail="https://www.tensorflow.org/tfx/addons" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - tfx-addons" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: TFX-Addons" track-name="tfx-addons" > TFX-Addons </a> </tab> <tab > <a href="https://www.tensorflow.org/tfx/api_overview" track-metadata-eventdetail="https://www.tensorflow.org/tfx/api_overview" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - api" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: API" track-name="api" > API </a> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars hidden> <div class="devsite-book-nav-filter" hidden> <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="tensorFlow" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/images/lockup.svg" class="devsite-site-logo" alt="TensorFlow"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/install" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Install" track-name="install" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Install" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Install </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/learn" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Learn" track-name="learn" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Learn" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Learn </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Learn" track-name="learn" > <span class="devsite-nav-text" tooltip menu="Learn"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Learn"> </span> </span> </li> </ul> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/tfx" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/tfx/tutorials" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Tutorials" track-name="tutorials" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Tutorials" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Tutorials </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/tfx/guide" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Guide" track-name="guide" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guide" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Guide </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/tfx/addons" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: TFX-Addons" track-name="tfx-addons" data-category="Site-Wide Custom Events" data-label="Responsive Tab: TFX-Addons" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TFX-Addons </span> </a> </li> <li class="devsite-nav-item"> <a href="/tfx/api_overview" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: API" track-name="api" data-category="Site-Wide Custom Events" data-label="Responsive Tab: API" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > API </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/api" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: API" track-name="api" data-category="Site-Wide Custom Events" data-label="Responsive Tab: API" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > API </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: API" track-name="api" > <span class="devsite-nav-text" tooltip menu="API"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="API"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/resources/models-datasets" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Ecosystem" track-name="ecosystem" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Ecosystem" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Ecosystem </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Ecosystem" track-name="ecosystem" > <span class="devsite-nav-text" tooltip menu="Ecosystem"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Ecosystem"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/community" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Community" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Community </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" > <span class="devsite-nav-text" tooltip menu="Community"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Community"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/about" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Why TensorFlow" track-name="why tensorflow" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Why TensorFlow" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Why TensorFlow </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Why TensorFlow" track-name="why tensorflow" > <span class="devsite-nav-text" tooltip menu="Why TensorFlow"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Why TensorFlow"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="//github.com/tensorflow" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: GitHub" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > GitHub </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="Learn" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/learn" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Introduction" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Introduction </span> </a> </li> <li class="devsite-nav-item"> <a href="/tutorials" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Tutorials" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Tutorials </span> </a> </li> <li class="devsite-nav-item"> <a href="/guide" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guide" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Guide </span> </a> </li> <li class="devsite-nav-item"> <a href="/resources/learn-ml" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Learn ML" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Learn ML </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="API" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/api/stable" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TensorFlow (v2.16.1)" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TensorFlow (v2.16.1) </span> </a> </li> <li class="devsite-nav-item"> <a href="/versions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Versions…" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Versions… </span> </a> </li> <li class="devsite-nav-item"> <a href="https://js.tensorflow.org/api/latest/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TensorFlow.js" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TensorFlow.js </span> </a> </li> <li class="devsite-nav-item"> <a href="/lite/api_docs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TensorFlow Lite" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TensorFlow Lite </span> </a> </li> <li class="devsite-nav-item"> <a href="/tfx/api_docs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TFX" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TFX </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Ecosystem" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > LIBRARIES </span> </span> </li> <li class="devsite-nav-item"> <a href="/js" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TensorFlow.js" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TensorFlow.js </span> </a> </li> <li class="devsite-nav-item"> <a href="/lite" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TensorFlow Lite" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TensorFlow Lite </span> </a> </li> <li class="devsite-nav-item"> <a href="/tfx" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TFX" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > TFX </span> </a> </li> <li class="devsite-nav-item"> <a href="/resources/libraries-extensions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: All libraries" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > All libraries </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > RESOURCES </span> </span> </li> <li class="devsite-nav-item"> <a href="/resources/models-datasets" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Models &amp; datasets" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Models &amp; datasets </span> </a> </li> <li class="devsite-nav-item"> <a href="/resources/tools" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Tools" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Tools </span> </a> </li> <li class="devsite-nav-item"> <a href="/responsible_ai" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Responsible AI" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Responsible AI </span> </a> </li> <li class="devsite-nav-item"> <a href="/resources/recommendation-systems" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Recommendation systems" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Recommendation systems </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Community" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/community/groups" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Groups" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Groups </span> </a> </li> <li class="devsite-nav-item"> <a href="/community/contribute" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Contribute" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Contribute </span> </a> </li> <li class="devsite-nav-item"> <a href="https://blog.tensorflow.org/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Blog" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Blog </span> </a> </li> <li class="devsite-nav-item"> <a href="https://discuss.tensorflow.org" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Forum" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Forum </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Why TensorFlow" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/about" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: About" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > About </span> </a> </li> <li class="devsite-nav-item"> <a href="/about/case-studies" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Case studies" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Case studies </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" > <div class="devsite-sidebar"> <div class="devsite-sidebar-content"> <devsite-toc class="devsite-nav" role="navigation" aria-label="On this page" depth="2" scrollbars disabled></devsite-toc> <devsite-recommendations-sidebar class="nocontent devsite-nav"> </devsite-recommendations-sidebar> </div> </div> <devsite-content> <article class="devsite-article"><style> /* Styles inlined from /site-assets/css/style.css */ /* override theme */ table img { max-width: 100%; } /* .devsite-terminal virtualenv prompt */ .tfo-terminal-venv::before { content: "(venv) $ " !important; } /* .devsite-terminal root prompt */ .tfo-terminal-root::before { content: "# " !important; } /* Used in links for type annotations in function/method signatures */ .tfo-signature-link a, .tfo-signature-link a:visited, .tfo-signature-link a:hover, .tfo-signature-link a:focus, .tfo-signature-link a:hover *, .tfo-signature-link a:focus * { text-decoration: none !important; } .tfo-signature-link a, .tfo-signature-link a:visited { border-bottom: 1px dotted #1a73e8; } .tfo-signature-link a:focus { border-bottom-style: solid; } /* .devsite-terminal Windows prompt */ .tfo-terminal-windows::before { content: "C:\\> " !important; } /* .devsite-terminal Windows prompt w/ virtualenv */ .tfo-terminal-windows-venv::before { content: "(venv) C:\\> " !important; } .tfo-diff-green-one-level + * { background: rgba(175, 245, 162, .6) !important; } .tfo-diff-green + * > * { background: rgba(175, 245, 162, .6) !important; } .tfo-diff-green-list + ul > li:first-of-type { background: rgba(175, 245, 162, .6) !important; } .tfo-diff-red-one-level + * { background: rgba(255, 230, 230, .6) !important; text-decoration: line-through !important; } .tfo-diff-red + * > * { background: rgba(255, 230, 230, .6) !important; text-decoration: line-through !important; } .tfo-diff-red-list + ul > li:first-of-type { background: rgba(255, 230, 230, .6) !important; text-decoration: line-through !important; } devsite-code .tfo-notebook-code-cell-output { max-height: 300px; overflow: auto; background: rgba(255, 247, 237, 1); /* orange bg to distinguish from input code cells */ } devsite-code .tfo-notebook-code-cell-output + .devsite-code-buttons-container button { background: rgba(255, 247, 237, .7); /* orange bg to distinguish from input code cells */ } devsite-code[dark-code] .tfo-notebook-code-cell-output { background: rgba(64, 78, 103, 1); /* medium slate */ } devsite-code[dark-code] .tfo-notebook-code-cell-output + .devsite-code-buttons-container button { background: rgba(64, 78, 103, .7); /* medium slate */ } /* override default table styles for notebook buttons */ .devsite-table-wrapper .tfo-notebook-buttons { display: inline-block; margin-left: 3px; width: auto; } .tfo-notebook-buttons td { padding-left: 0; padding-right: 20px; } .tfo-notebook-buttons a, .tfo-notebook-buttons :link, .tfo-notebook-buttons :visited { border-radius: 8px; box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15); color: #202124; padding: 12px 17px; transition: box-shadow 0.2s; } .tfo-notebook-buttons a:hover, .tfo-notebook-buttons a:focus { box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 2px 6px 2px rgba(60, 64, 67, .15); } .tfo-notebook-buttons tr { background: 0; border: 0; } /* on rendered notebook page, remove link to webpage since we're already here */ .tfo-notebook-buttons:not(.tfo-api) td:first-child { display: none; } .tfo-notebook-buttons td > a { -webkit-box-align: center; -ms-flex-align: center; align-items: center; display: -webkit-box; display: -ms-flexbox; display: flex; } .tfo-notebook-buttons td > a > img { margin-right: 8px; } /* landing pages */ .tfo-landing-row-item-inset-white { background-color: #fff; padding: 32px; } .tfo-landing-row-item-inset-white ol, .tfo-landing-row-item-inset-white ul { padding-left: 20px; } /* colab callout button */ .colab-callout-row devsite-code { border-radius: 8px 8px 0 0; box-shadow: none; } .colab-callout-footer { background: #e3e4e7; border-radius: 0 0 8px 8px; color: #37474f; padding: 20px; } .colab-callout-row devsite-code[dark-code] + .colab-callout-footer { background: #3f4f66; } .colab-callout-footer > .button { margin-top: 4px; color: #ff5c00; } .colab-callout-footer > a > span { vertical-align: middle; color: #37474f; padding-left: 10px; font-size: 14px; } .colab-callout-row devsite-code[dark-code] + .colab-callout-footer > a > span { color: #fff; } a.colab-button { background: rgba(255, 255, 255, .75); border: solid 1px rgba(0, 0, 0, .08); border-bottom-color: rgba(0, 0, 0, .15); border-radius: 4px; color: #aaa; display: inline-block; font-size: 11px !important; font-weight: 300; line-height: 16px; padding: 4px 8px; text-decoration: none; text-transform: uppercase; } a.colab-button:hover { background: white; border-color: rgba(0, 0, 0, .2); color: #666; } a.colab-button span { background: url(/images/colab_logo_button.svg) no-repeat 1px 1px / 20px; border-radius: 4px; display: inline-block; padding-left: 24px; text-decoration: none; } @media screen and (max-width: 600px) { .tfo-notebook-buttons td { display: block; } } /* guide and tutorials landing page cards and sections */ .tfo-landing-page-card { padding: 16px; box-shadow: 0 0 36px rgba(0,0,0,0.1); border-radius: 10px; } /* Page section headings */ .tfo-landing-page-heading h2, h2.tfo-landing-page-heading { font-family: "Google Sans", sans-serif; color: #425066; font-size: 30px; font-weight: 700; line-height: 40px; } /* Item title headings */ .tfo-landing-page-heading h3, h3.tfo-landing-page-heading, .tfo-landing-page-card h3, h3.tfo-landing-page-card { font-family: "Google Sans", sans-serif; color: #425066; font-size: 20px; font-weight: 500; line-height: 26px; } /* List of tutorials notebooks for subsites */ .tfo-landing-page-resources-ul { padding-left: 15px } .tfo-landing-page-resources-ul > li { margin: 6px 0; } /* Temporary fix to hide product description in header on landing pages */ devsite-header .devsite-product-description { display: none; } </style><style> /* Styles inlined from /site-assets/css/prod.min.css */ .tensorsite-icon--address::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='%23425066' fill-rule='nonzero' d='M11.6667 0L11.56.02 8 1.4 4 0 .24 1.2667c-.14.0466-.24.1666-.24.32v10.08C0 11.8533.1467 12 .3333 12l.1067-.02L4 10.6 8 12l3.76-1.2667c.14-.0466.24-.1666.24-.32V.3333A.3301.3301 0 0 0 11.6667 0zM8 10.6667L4 9.26V1.3333L8 2.74v7.9267z'/%3E%3Cpath d='M-2-2h16v16H-2z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--arrow-upward span::before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23ff6f00'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M13 19V7.83l4.88 4.88c.39.39 1.03.39 1.42 0 .39-.39.39-1.02 0-1.41l-6.59-6.59c-.39-.39-1.02-.39-1.41 0l-6.6 6.58c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L11 7.83V19c0 .55.45 1 1 1s1-.45 1-1z'/%3E%3C/svg%3E")}.tensorsite-icon--arrow-upward span::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23425066'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M13 19V7.83l4.88 4.88c.39.39 1.03.39 1.42 0 .39-.39.39-1.02 0-1.41l-6.59-6.59c-.39-.39-1.02-.39-1.41 0l-6.6 6.58c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L11 7.83V19c0 .55.45 1 1 1s1-.45 1-1z'/%3E%3C/svg%3E")}.tensorsite-icon--build span::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 12h12V0H0z'/%3E%3Cpath d='M1 11h1v-1H1v1zm1-2H1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm7-6h1V2H9v1zm1-2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM9 7h1V6H9v1zm1-2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1zM5 7h1V6H5v1zm1-2H5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1zm3 6h1v-1H9v1zm1-2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm-5 2h1v-1H5v1zm1-2H5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1z' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--build span::after{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 12h12V0H0z'/%3E%3Cpath d='M1 11h1v-1H1v1zm1-2H1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm7-6h1V2H9v1zm1-2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM9 7h1V6H9v1zm1-2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1zM5 7h1V6H5v1zm1-2H5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1zm3 6h1v-1H9v1zm1-2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm-5 2h1v-1H5v1zm1-2H5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1z' fill='%23ffffff%0A'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--certificate span::after{background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 0h24v24H0z'/%3E%3Cg fill='%23425066'%3E%3Cpath d='M12 9.6l-3.84 2.88a2.3984 2.3984 0 0 0-.96 1.92v8.6378c0 .792.9024 1.2433 1.536.768L12 21.966l3.264 1.8399c.6336.4752 1.536.024 1.536-.768V14.4c0-.756-.3552-1.4664-.96-1.92L12 9.6z'/%3E%3Cpath d='M6 6c0 3.3144 2.6856 6 6 6s6-2.6856 6-6-2.6856-6-6-6-6 2.6856-6 6'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--chat span::after{background-image:url("data:image/svg+xml,%3C?xml version='1.0' encoding='utf-8'?%3E %3C!-- Generator: Adobe Illustrator 25.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E %3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 600 600' style='enable-background:new 0 0 600 600;' xml:space='preserve'%3E %3Cstyle type='text/css'%3E .st0%7Bfill:%23435066;%7D %3C/style%3E %3Cpath class='st0' d='M471,181v20.4h29.8v268.4l-62.6-62.5l-222.4,0.1v-29.2h-20.4v49.6l234.4-0.1l91.4,91.4V181H471z M459,110.9 H79.7v338.2l84.4-82.9h295V110.9z M303.8,305H132v-23.9h171.8V305z M405.6,246.1H132v-24h273.7V246.1z M405.6,187.1H132v-24h273.7 V187.1z'/%3E %3C/svg%3E")}.tensorsite-icon--check::before{background-image:url("data:image/svg+xml,%3Csvg width='21' height='20' viewBox='0 0 21 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform='translate(1 1)' fill='none' fill-rule='evenodd'%3E%3Ccircle stroke='%23FF6F00' cx='9' cy='9' r='9'/%3E%3Cpath stroke='%23425066' stroke-width='3' d='M4 9l3.729 3.729L18.064 2.393'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--code span::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 12h12V0H0z'/%3E%3Cpath d='M4.832 1.126a.5.5 0 0 0-.706.042l-4 4.5a.5.5 0 0 0 0 .664l4 4.5a.5.5 0 1 0 .748-.664L1.169 6l3.705-4.168a.5.5 0 0 0-.042-.706m7.042 5.206l-4 4.5a.5.5 0 1 1-.748-.664L10.831 6 7.126 1.832a.5.5 0 1 1 .748-.664l4 4.5a.5.5 0 0 1 0 .664' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--code span::after{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 12h12V0H0z'/%3E%3Cpath d='M4.832 1.126a.5.5 0 0 0-.706.042l-4 4.5a.5.5 0 0 0 0 .664l4 4.5a.5.5 0 1 0 .748-.664L1.169 6l3.705-4.168a.5.5 0 0 0-.042-.706m7.042 5.206l-4 4.5a.5.5 0 1 1-.748-.664L10.831 6 7.126 1.832a.5.5 0 1 1 .748-.664l4 4.5a.5.5 0 0 1 0 .664' fill='%23ffffff%0A'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--devlibrary span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1378.16 666.81'%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cpath d='M592.21,55.08A110.11,110.11,0,0,0,441.79,14.77L55.08,238h0a110.09,110.09,0,0,0,0,190.72L441.79,652A110.12,110.12,0,0,0,551.91,461.31L330.37,333.41,551.91,205.5A110.12,110.12,0,0,0,592.21,55.08Z' style='fill:%23425066'/%3E%3Cpath d='M1323.08,238,936.38,14.77A110.12,110.12,0,1,0,826.26,205.5l221.53,127.91L826.26,461.31A110.12,110.12,0,1,0,936.38,652l385.56-222.61.93-.53.21-.13h0a110.11,110.11,0,0,0,0-190.73Z' style='fill:%23425066'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--download span::before{background-image:url("data:image/svg+xml,<svg width='16' height='16' xmlns='http://www.w3.org/2000/svg'><g fill='none' fill-rule='evenodd'><path d='M0 16h16V0H0z'/><g fill='%23ff6f00'><path d='M13.2207 6h-2.721V1.5c0-.276-.223-.5-.5-.5h-4c-.276 0-.5.224-.5.5V6h-2.721c-.455 0-.673.559-.339.867l5.221 4.82c.192.176.487.176.679 0l5.221-4.82c.334-.308.116-.867-.34-.867M2 13.5v1c0 .276.224.5.5.5h11c.276 0 .5-.224.5-.5v-1c0-.276-.224-.5-.5-.5h-11c-.276 0-.5.224-.5.5'/></g></g></svg>")}.tensorsite-icon--download span::after{background-image:url("data:image/svg+xml,<svg width='16' height='16' xmlns='http://www.w3.org/2000/svg'><g fill='none' fill-rule='evenodd'><path d='M0 16h16V0H0z'/><g fill='%23425066'><path d='M13.2207 6h-2.721V1.5c0-.276-.223-.5-.5-.5h-4c-.276 0-.5.224-.5.5V6h-2.721c-.455 0-.673.559-.339.867l5.221 4.82c.192.176.487.176.679 0l5.221-4.82c.334-.308.116-.867-.34-.867M2 13.5v1c0 .276.224.5.5.5h11c.276 0 .5-.224.5-.5v-1c0-.276-.224-.5-.5-.5h-11c-.276 0-.5.224-.5.5'/></g></g></svg>")}.tensorsite-icon--email::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='12'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M-1-2h16v16H-1z'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' d='M12.3333.6667H1.6667C.9333.6667.34 1.2667.34 2l-.0067 8c0 .7333.6 1.3333 1.3334 1.3333h10.6666c.7334 0 1.3334-.6 1.3334-1.3333V2c0-.7333-.6-1.3333-1.3334-1.3333zm0 9.3333H1.6667V3.3333L7 6.6667l5.3333-3.3334V10zM7 5.3333L1.6667 2h10.6666L7 5.3333z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--external span::before,.tensorsite-icon--newsletter span::before{background-image:url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M10 1H2c-.6 0-1 .4-1 1s.4 1 1 1h5.6L1.3 9.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0L9 4.4V10c0 .6.4 1 1 1s1-.4 1-1V2c0-.6-.4-1-1-1z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(2 2)'%3E%3Cmask id='b' fill='%23ff6f00'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ff6f00' xlink:href='%23a'/%3E%3Cpath fill='%23ff6f00' fill-rule='nonzero' mask='url(%23b)' d='M0 0h12v12H0z'/%3E%3C/g%3E%3Cpath fill='none' d='M2 2h12v12H2z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--external span::after,.tensorsite-icon--newsletter span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M10 1H2c-.6 0-1 .4-1 1s.4 1 1 1h5.6L1.3 9.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0L9 4.4V10c0 .6.4 1 1 1s1-.4 1-1V2c0-.6-.4-1-1-1z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(2 2)'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h12v12H0z'/%3E%3C/g%3E%3Cpath fill='none' d='M2 2h12v12H2z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--github span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='32' height='32' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M12 1C5.924 1 1 5.925 1 12c0 4.86 3.151 8.982 7.523 10.438.55.1.751-.24.751-.531 0-.26-.01-.953-.015-1.87-3.06.664-3.705-1.475-3.705-1.475-.5-1.271-1.222-1.609-1.222-1.609-.998-.683.076-.67.076-.67 1.104.08 1.685 1.135 1.685 1.135.981 1.68 2.574 1.195 3.201.914.1-.711.384-1.196.698-1.47-2.442-.278-5.01-1.222-5.01-5.437 0-1.2.429-2.183 1.132-2.952-.113-.278-.49-1.396.108-2.91 0 0 .924-.297 3.025 1.127a10.536 10.536 0 0 1 2.754-.371c.934.005 1.875.126 2.753.37 2.1-1.423 3.022-1.127 3.022-1.127.6 1.515.223 2.633.11 2.911.705.77 1.13 1.751 1.13 2.952 0 4.225-2.571 5.155-5.022 5.427.395.34.747 1.011.747 2.038 0 1.47-.014 2.656-.014 3.017 0 .294.198.637.757.53C19.85 20.977 23 16.858 23 12 23 5.925 18.075 1 12 1' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-1 -1)'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3Cpath d='M-1-1h24v24H-1z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--codepen span::after{background-image:url("data:image/svg+xml,%3Csvg enable-background='new 0 0 500 500' height='500' viewBox='0 0 500 500' width='500' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m250.001 0c-138.074 0-250.001 111.927-250.001 250.001 0 138.076 111.927 249.999 250.001 249.999 138.072 0 249.999-111.923 249.999-249.999 0-138.074-111.927-250.001-249.999-250.001zm0 458.943c-115.212 0-208.941-93.733-208.941-208.942 0-115.208 93.729-208.941 208.941-208.941 115.208 0 208.938 93.733 208.938 208.941 0 115.209-93.729 208.942-208.938 208.942z'/%3E%3Cpath d='m404.462 201.172c-.028-.195-.076-.382-.109-.577-.065-.374-.135-.748-.232-1.114-.057-.22-.138-.431-.206-.642-.106-.326-.212-.651-.342-.968-.091-.22-.196-.439-.297-.651-.14-.3-.285-.593-.452-.877-.122-.212-.251-.416-.377-.618-.18-.277-.362-.546-.562-.806-.146-.194-.3-.39-.454-.577-.212-.243-.432-.487-.664-.716-.174-.178-.346-.357-.528-.521-.244-.219-.496-.431-.752-.633-.198-.155-.395-.31-.602-.456-.078-.049-.146-.114-.22-.163l-141.296-94.197c-4.464-2.976-10.274-2.976-14.738 0l-141.295 94.196c-.073.049-.142.114-.219.163-.208.146-.403.301-.598.456-.26.203-.512.415-.752.633-.187.164-.357.342-.533.521-.231.229-.451.473-.658.716-.159.188-.313.383-.459.577-.195.26-.383.529-.557.806-.134.203-.26.406-.382.618-.163.284-.309.577-.451.877-.102.211-.208.431-.297.651-.13.317-.236.642-.341.968-.07.211-.146.422-.208.642-.097.366-.162.74-.231 1.114-.032.195-.081.382-.106.577-.077.569-.122 1.146-.122 1.732v94.197c0 .585.044 1.162.122 1.74.025.188.074.382.106.568.069.374.134.748.231 1.114.062.22.138.432.208.643.105.324.211.65.341.975.089.222.195.433.297.645.143.3.289.592.451.885.122.204.248.406.382.61.174.276.362.545.557.806.146.203.301.391.459.577.208.243.427.488.658.716.175.178.346.357.533.52.24.221.492.432.752.635.195.155.391.31.598.454.077.05.146.115.219.163l141.295 94.197c2.231 1.487 4.802 2.236 7.371 2.236 2.566 0 5.135-.749 7.368-2.236l141.295-94.197c.074-.048.142-.113.22-.163.207-.145.403-.299.602-.454.256-.203.508-.414.752-.635.183-.162.354-.342.528-.52.232-.228.452-.473.664-.716.154-.187.308-.374.454-.577.2-.261.383-.529.562-.806.126-.204.255-.406.377-.61.167-.293.312-.585.452-.885.101-.212.206-.423.297-.645.13-.324.235-.65.342-.975.068-.211.149-.423.206-.643.098-.366.167-.74.232-1.114.033-.187.081-.381.109-.568.073-.578.119-1.155.119-1.74v-94.197c0-.585-.046-1.162-.119-1.731zm-141.176-67.639 104.088 69.387-46.493 31.103-57.595-38.527zm-26.571 0v61.963l-57.592 38.527-46.497-31.103zm-114.725 94.238 33.238 22.231-33.238 22.233zm114.725 138.7-104.088-69.388 46.497-31.094 57.592 38.52v61.962zm13.286-85.04-46.988-31.429 46.988-31.428 46.985 31.428zm13.285 85.04v-61.962l57.595-38.52 46.493 31.094zm114.724-94.237-33.233-22.233 33.233-22.231z'/%3E%3C/svg%3E")}.tensorsite-icon--glitch span::after{background-image:url("data:image/svg+xml,%3Csvg width='310' height='310' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M80.2 153.3c-10.37 1.94-16.1 1.71-24.3 1.71-8.56 0-42.4-13.03-53.32-27 0 0 16.94-4.18 16.94-7.73 0-3.54-19.35-10.09-19.35-10.09s-2.93-16.34 17.8-32.66c20.74-16.31 36.26-24.06 53.7-24.97 17.43-.9 23.28-.9 23.28-.9s15.18-20.77 23.15-20.77c3.99 0 62.4 12.58 67.45 20.77 5.06 8.19 7.52 7.6 10.1 9.56 2.6 1.96.96.39 12.68 3.04 29.3 6.64 25.3 9.24 47.08 13.27 8.81 1.64 49.2-18.48 53-16.53 1.78.91 3.17 18.21-3.76 29.56-6.93 11.34 5.56 20.71-.05 34.92-5.61 14.2 6.43 24.72 3.82 29.53-2.62 4.81-45.5-15.74-53-14.25-7.52 1.49-30.47 12.67-77 19.73-16.74 2.54-33.85 2.16-48.94.68 3.96 7.66 3.1 15.34 3.1 15.34s-9.63 2.94-27.02-.8c-16.5-3.55-24.58-20.67-25.36-22.4z' fill='%23000'/%3E%3Cpath d='M80.62 75.1a43.7 43.7 0 011.4 1.85 53.93 53.93 0 013.2 5.08c2.41 4.36 4 8.68 4.39 12.62.21 2.16.06 4.78-.42 7.75a71.28 71.28 0 01-2.38 9.75 97.99 97.99 0 01-2.94 8.08c-.8 1.86-.14 4.1 1.5 5.03 1.64.91 3.62.15 4.43-1.71a106.06 106.06 0 003.24-8.88 79.35 79.35 0 002.66-10.9c.59-3.65.78-6.98.48-9.96-.52-5.24-2.47-10.55-5.36-15.77a61.43 61.43 0 00-5.38-8.09 3.04 3.04 0 00-4.67-.16 4.12 4.12 0 00-.15 5.3zM111.24 74.44a3697.76 3697.76 0 0120.5 1.13c4.46.26 8.21.5 11.09.7 10.83.76 27.52 3.3 40.27 5.88 19.54 3.95 35.49 9.8 60.82 21.18l8.72 3.94c1.7.76 3.62-.18 4.3-2.1.67-1.93-.16-4.11-1.86-4.88l-8.73-3.94c-25.7-11.54-42.02-17.53-62.1-21.59-12.97-2.62-29.9-5.2-41.01-5.99a999.18 999.18 0 00-16.13-.99 3703.41 3703.41 0 00-22.13-1.17l-.5-.03c-2.55-.13-4.26 2.92-3.08 5.48l.27.62c.23.54.5 1.15.77 1.84.81 1.98 1.62 4.13 2.37 6.4a75.27 75.27 0 012.7 10.27c.23 1.2.4 2.36.5 3.46.32 3.2-.4 8.7-1.94 15.67-.54 2.46-1.18 5.05-1.89 7.72a266.87 266.87 0 01-3.97 13.48c-.64 1.94.22 4.1 1.93 4.84 1.71.73 3.62-.25 4.26-2.2a70 70 0 00.36-1.1c.28-.89.6-1.89.93-2.99.96-3.14 1.93-6.47 2.82-9.86.74-2.78 1.4-5.48 1.98-8.06 1.72-7.8 2.52-14 2.1-18.34-.14-1.33-.34-2.7-.6-4.13-.65-3.65-1.69-7.5-3-11.42-.44-1.34-.9-2.65-1.38-3.9l1.63.08z' fill='%23FFF' fill-rule='nonzero'/%3E%3Cg transform='matrix(-1 0 0 1 58.34 81.29)'%3E%3Cellipse fill='%23000' cx='14.48' cy='16.43' rx='14.48' ry='16.43'/%3E%3Cpath d='M28.96 16.62v-.19C28.96 7.36 22.48 0 14.48 0S0 7.36 0 16.43c0 9.08 6.48 16.44 14.48 16.44 7.17 0 13.12-5.9 14.28-13.66-1 5.83-5.53 10.24-10.96 10.24-6.16 0-11.16-5.68-11.16-12.67 0-7 5-12.67 11.16-12.67 6.12 0 11.09 5.58 11.16 12.5z' fill='%23FFF'/%3E%3Cellipse fill='%23FFF' cx='21.12' cy='20.54' rx='3.02' ry='3.42'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M80.2 254.62c-10.37 1.94-16.1 1.71-24.3 1.71-8.56 0-42.4-13.03-53.32-27 0 0 16.94-4.19 16.94-7.73S.17 211.51.17 211.51s-2.93-16.34 17.8-32.66c20.74-16.32 36.26-24.06 53.7-24.97 17.43-.9 23.28-.9 23.28-.9s15.18-20.78 23.15-20.78c3.99 0 62.4 12.59 67.45 20.78 5.06 8.19 7.52 7.59 10.1 9.55 2.6 1.97.96.4 12.68 3.05 29.3 6.64 25.3 9.24 47.08 13.27 8.81 1.63 49.2-18.48 53-16.53 1.78.91 3.17 18.21-3.76 29.56-6.93 11.34 5.56 20.7-.05 34.91-5.61 14.2 6.43 24.73 3.82 29.54-2.62 4.8-45.5-15.74-53-14.25-7.52 1.48-30.47 12.67-77 19.73-16.74 2.54-33.85 2.16-48.94.68 3.96 7.66 3.1 15.34 3.1 15.34s-9.63 2.93-27.02-.8c-16.5-3.55-24.58-20.68-25.36-22.41z' fill='%23000'/%3E%3Cpath d='M80.62 176.4c.05.07.18.22.35.46a53.93 53.93 0 014.25 6.5c2.41 4.34 4 8.67 4.39 12.61.21 2.16.06 4.78-.42 7.75a71.28 71.28 0 01-2.38 9.75 97.99 97.99 0 01-2.94 8.08c-.8 1.86-.14 4.1 1.5 5.02 1.64.92 3.62.15 4.43-1.7a106.06 106.06 0 003.24-8.88 79.35 79.35 0 002.66-10.91c.59-3.64.78-6.98.48-9.95-.52-5.24-2.47-10.55-5.36-15.77a61.43 61.43 0 00-5.38-8.1 3.04 3.04 0 00-4.67-.16 4.12 4.12 0 00-.15 5.3zM111.24 175.76a3697.76 3697.76 0 0120.5 1.12c4.46.27 8.21.5 11.09.7 10.83.77 27.52 3.3 40.27 5.89 19.54 3.95 35.49 9.8 60.82 21.18l8.72 3.93c1.7.77 3.62-.17 4.3-2.1.67-1.92-.16-4.1-1.86-4.87l-8.73-3.94c-25.7-11.55-42.02-17.53-62.1-21.6-12.97-2.62-29.9-5.2-41.01-5.98a999.18 999.18 0 00-16.13-.99 3703.41 3703.41 0 00-22.13-1.18l-.5-.02c-2.55-.13-4.26 2.92-3.08 5.48l.27.62c.23.53.5 1.15.77 1.84.81 1.98 1.62 4.13 2.37 6.39a75.27 75.27 0 012.7 10.28c.23 1.2.4 2.36.5 3.46.32 3.2-.4 8.7-1.94 15.66-.54 2.46-1.18 5.06-1.89 7.73a266.87 266.87 0 01-3.97 13.48c-.64 1.94.22 4.1 1.93 4.84 1.71.73 3.62-.26 4.26-2.2a70 70 0 00.36-1.1c.28-.89.6-1.89.93-2.99.96-3.14 1.93-6.48 2.82-9.86.74-2.79 1.4-5.49 1.98-8.07 1.72-7.79 2.52-13.99 2.1-18.33-.14-1.33-.34-2.71-.6-4.13-.65-3.65-1.69-7.5-3-11.43-.44-1.33-.9-2.64-1.38-3.9l1.63.09z' fill='%23FFF' fill-rule='nonzero'/%3E%3Cg transform='matrix(-1 0 0 1 58.34 182.6)'%3E%3Cellipse fill='%23000' cx='14.48' cy='16.43' rx='14.48' ry='16.43'/%3E%3Cpath d='M28.96 16.62v-.19C28.96 7.36 22.48 0 14.48 0S0 7.36 0 16.43c0 9.08 6.48 16.44 14.48 16.44 7.17 0 13.12-5.9 14.28-13.66-1 5.83-5.53 10.24-10.96 10.24-6.16 0-11.16-5.68-11.16-12.67 0-7 5-12.67 11.16-12.67 6.12 0 11.09 5.58 11.16 12.5z' fill='%23FFF'/%3E%3Cellipse fill='%23FFF' cx='21.12' cy='20.54' rx='3.02' ry='3.42'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--github--orange span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='32' height='32' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M12 1C5.924 1 1 5.925 1 12c0 4.86 3.151 8.982 7.523 10.438.55.1.751-.24.751-.531 0-.26-.01-.953-.015-1.87-3.06.664-3.705-1.475-3.705-1.475-.5-1.271-1.222-1.609-1.222-1.609-.998-.683.076-.67.076-.67 1.104.08 1.685 1.135 1.685 1.135.981 1.68 2.574 1.195 3.201.914.1-.711.384-1.196.698-1.47-2.442-.278-5.01-1.222-5.01-5.437 0-1.2.429-2.183 1.132-2.952-.113-.278-.49-1.396.108-2.91 0 0 .924-.297 3.025 1.127a10.536 10.536 0 0 1 2.754-.371c.934.005 1.875.126 2.753.37 2.1-1.423 3.022-1.127 3.022-1.127.6 1.515.223 2.633.11 2.911.705.77 1.13 1.751 1.13 2.952 0 4.225-2.571 5.155-5.022 5.427.395.34.747 1.011.747 2.038 0 1.47-.014 2.656-.014 3.017 0 .294.198.637.757.53C19.85 20.977 23 16.858 23 12 23 5.925 18.075 1 12 1' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-1 -1)'%3E%3Cmask id='b' fill='%23ff6f00'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ff6f00' xlink:href='%23a'/%3E%3Cpath fill='%23ff6f00' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3Cpath d='M-1-1h24v24H-1z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--github--slate span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='32' height='32' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M12 1C5.924 1 1 5.925 1 12c0 4.86 3.151 8.982 7.523 10.438.55.1.751-.24.751-.531 0-.26-.01-.953-.015-1.87-3.06.664-3.705-1.475-3.705-1.475-.5-1.271-1.222-1.609-1.222-1.609-.998-.683.076-.67.076-.67 1.104.08 1.685 1.135 1.685 1.135.981 1.68 2.574 1.195 3.201.914.1-.711.384-1.196.698-1.47-2.442-.278-5.01-1.222-5.01-5.437 0-1.2.429-2.183 1.132-2.952-.113-.278-.49-1.396.108-2.91 0 0 .924-.297 3.025 1.127a10.536 10.536 0 0 1 2.754-.371c.934.005 1.875.126 2.753.37 2.1-1.423 3.022-1.127 3.022-1.127.6 1.515.223 2.633.11 2.911.705.77 1.13 1.751 1.13 2.952 0 4.225-2.571 5.155-5.022 5.427.395.34.747 1.011.747 2.038 0 1.47-.014 2.656-.014 3.017 0 .294.198.637.757.53C19.85 20.977 23 16.858 23 12 23 5.925 18.075 1 12 1' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-1 -1)'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3Cpath d='M-1-1h24v24H-1z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--github--white span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='32' height='32' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M12 1C5.924 1 1 5.925 1 12c0 4.86 3.151 8.982 7.523 10.438.55.1.751-.24.751-.531 0-.26-.01-.953-.015-1.87-3.06.664-3.705-1.475-3.705-1.475-.5-1.271-1.222-1.609-1.222-1.609-.998-.683.076-.67.076-.67 1.104.08 1.685 1.135 1.685 1.135.981 1.68 2.574 1.195 3.201.914.1-.711.384-1.196.698-1.47-2.442-.278-5.01-1.222-5.01-5.437 0-1.2.429-2.183 1.132-2.952-.113-.278-.49-1.396.108-2.91 0 0 .924-.297 3.025 1.127a10.536 10.536 0 0 1 2.754-.371c.934.005 1.875.126 2.753.37 2.1-1.423 3.022-1.127 3.022-1.127.6 1.515.223 2.633.11 2.911.705.77 1.13 1.751 1.13 2.952 0 4.225-2.571 5.155-5.022 5.427.395.34.747 1.011.747 2.038 0 1.47-.014 2.656-.014 3.017 0 .294.198.637.757.53C19.85 20.977 23 16.858 23 12 23 5.925 18.075 1 12 1' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-1 -1)'%3E%3Cmask id='b' fill='%23ffffff%0A'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ffffff%0A' xlink:href='%23a'/%3E%3Cpath fill='%23ffffff%0A' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3Cpath d='M-1-1h24v24H-1z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--google-ai span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='24' height='22' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M3.036 6.413c-.574 0-1.024.424-1.035.98-.013.564.465 1.035 1.042 1.027a1.015 1.015 0 0 0 1.012-1.014c.002-.554-.448-.993-1.019-.993m-.028 10.15c-.55.012-1.02.493-1.007 1.029a1.044 1.044 0 0 0 1.03 1.007 1.033 1.033 0 0 0 1.024-1.05 1.038 1.038 0 0 0-1.047-.987m.01-3.056a1.015 1.015 0 0 0 1.037-.99c.016-.559-.467-1.046-1.035-1.041A1.042 1.042 0 0 0 2 12.493a1.021 1.021 0 0 0 1.017 1.013m4.42 5.38c-.698-.007-1.22.498-1.226 1.184a1.19 1.19 0 0 0 1.196 1.223c.68.008 1.22-.517 1.227-1.193.007-.689-.505-1.21-1.197-1.215m-.04-12.769a1.192 1.192 0 0 0 1.237-1.184 1.174 1.174 0 0 0-1.186-1.227c-.702-.008-1.226.49-1.237 1.175a1.192 1.192 0 0 0 1.186 1.236m.049 7.723a1.206 1.206 0 0 0-1.235 1.223 1.214 1.214 0 0 0 1.208 1.217 1.214 1.214 0 0 0 1.216-1.21 1.205 1.205 0 0 0-1.189-1.23M7.422 8.72a1.186 1.186 0 0 0-1.21 1.209c0 .692.515 1.202 1.21 1.202.697 0 1.215-.514 1.213-1.203A1.187 1.187 0 0 0 7.422 8.72m4.41.123c.782-.005 1.43-.654 1.412-1.414a1.43 1.43 0 0 0-1.447-1.391 1.418 1.418 0 0 0-1.404 1.427c.012.79.63 1.383 1.44 1.378m1.41 8.698c.007-.769-.64-1.407-1.426-1.408-.785-.001-1.427.632-1.424 1.405a1.414 1.414 0 0 0 1.42 1.409 1.424 1.424 0 0 0 1.43-1.406M11.8 11.089a1.414 1.414 0 0 0-1.406 1.423 1.419 1.419 0 0 0 1.438 1.393 1.425 1.425 0 0 0 1.413-1.423c-.007-.77-.66-1.399-1.445-1.393m.033 10.08a1.436 1.436 0 0 0-1.439 1.402c-.012.77.627 1.42 1.405 1.429.777.009 1.43-.62 1.446-1.396.015-.752-.645-1.422-1.412-1.436M11.81 1c-.787 0-1.42.63-1.418 1.408A1.41 1.41 0 0 0 11.82 3.81c.793-.004 1.43-.635 1.425-1.412A1.416 1.416 0 0 0 11.811 1m4.349 17.487a1.624 1.624 0 0 0-1.658 1.62c-.008.957.692 1.673 1.637 1.676a1.648 1.648 0 0 0 1.675-1.656 1.651 1.651 0 0 0-1.654-1.64m.013-15.26c-.94-.008-1.655.679-1.671 1.602-.016.956.683 1.681 1.625 1.687.945.006 1.686-.715 1.687-1.642a1.64 1.64 0 0 0-1.641-1.647m-.013 10.2c-.94-.001-1.66.72-1.658 1.666.003.93.704 1.628 1.638 1.631.943.003 1.678-.723 1.674-1.654a1.663 1.663 0 0 0-1.654-1.642m1.654-3.486a1.673 1.673 0 0 0-1.669-1.675 1.635 1.635 0 0 0-1.643 1.644c-.005.945.718 1.679 1.652 1.673a1.667 1.667 0 0 0 1.66-1.642m2.666-.624c1.082.001 1.9-.805 1.901-1.875a1.88 1.88 0 0 0-1.897-1.895 1.873 1.873 0 0 0-1.899 1.89c-.006 1.069.81 1.878 1.895 1.88m.023 6.389c-1.088-.007-1.907.787-1.918 1.86a1.867 1.867 0 0 0 1.878 1.909c1.073.004 1.91-.81 1.918-1.868.01-1.069-.806-1.895-1.878-1.901m-1.918-3.19c-.003-1.068.818-1.886 1.894-1.887 1.075 0 1.902.817 1.902 1.882.001 1.066-.819 1.88-1.896 1.882-1.08.001-1.896-.806-1.9-1.877' id='a'/%3E%3C/defs%3E%3Cg transform='translate(0 -.5)' fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 .5h24v24H0z'/%3E%3Cmask id='b' fill='%23C6CAD1'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23C6CAD1' xlink:href='%23a'/%3E%3Cpath fill='%23C6CAD1' fill-rule='nonzero' mask='url(%23b)' d='M0 .5h24v24H0z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--google-ai.tensorsite-content__subtitle-icon span::after{top:-3px}.tensorsite-icon--group span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='22' height='14' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V18c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-1.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05.02.01.03.03.04.04 1.14.83 1.93 1.94 1.93 3.41V18c0 .35-.07.69-.18 1H22c.55 0 1-.45 1-1v-1.5c0-2.33-4.67-3.5-7-3.5z' id='a'/%3E%3C/defs%3E%3Cg stroke-width='0' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-1 -5)'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3Cpath d='M-1-5h24v24H-1z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--internal span::before{background-image:url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M11.7 5.3l-5-5c-.4-.4-1-.4-1.4 0-.4.4-.4 1 0 1.4L8.6 5H1c-.6 0-1 .4-1 1s.4 1 1 1h7.6l-3.3 3.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0l5-5c.4-.4.4-1 0-1.4z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(2 2)'%3E%3Cmask id='b' fill='%23ff6f00'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ff6f00' xlink:href='%23a'/%3E%3Cpath fill='%23ff6f00' fill-rule='nonzero' mask='url(%23b)' d='M0 0h12v12H0z'/%3E%3C/g%3E%3Cpath fill='none' d='M2 2h12v12H2z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--internal span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M11.7 5.3l-5-5c-.4-.4-1-.4-1.4 0-.4.4-.4 1 0 1.4L8.6 5H1c-.6 0-1 .4-1 1s.4 1 1 1h7.6l-3.3 3.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0l5-5c.4-.4.4-1 0-1.4z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(2 2)'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h12v12H0z'/%3E%3C/g%3E%3Cpath fill='none' d='M2 2h12v12H2z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--mailbox span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='20' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M18 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zm-.4 4.25l-6.54 4.09c-.65.41-1.47.41-2.12 0L2.4 4.25a.85.85 0 1 1 .9-1.44L10 7l6.7-4.19a.85.85 0 1 1 .9 1.44z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M-2-4h24v24H-2z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--math span::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.75 7.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0m.75 2.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m2-1.5h-4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1M4.444 7.556a.499.499 0 0 0-.707 0L2.5 8.793 1.263 7.556a.499.499 0 0 0-.707 0 .499.499 0 0 0 0 .707L1.793 9.5.556 10.737a.499.499 0 0 0 0 .707.499.499 0 0 0 .707 0L2.5 10.207l1.237 1.237a.499.499 0 0 0 .707 0 .499.499 0 0 0 0-.707L3.207 9.5l1.237-1.237a.499.499 0 0 0 0-.707M7.5 3h4a.5.5 0 0 0 0-1h-4a.5.5 0 0 0 0 1M5 2.5a.5.5 0 0 1-.5.5H3v1.5a.5.5 0 0 1-1 0V3H.5a.5.5 0 0 1 0-1H2V.5a.5.5 0 0 1 1 0V2h1.5a.5.5 0 0 1 .5.5' fill='%23425066' fill-rule='evenodd'/%3E%3C/svg%3E")}.tensorsite-icon--math span::after{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.75 7.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0m.75 2.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m2-1.5h-4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1M4.444 7.556a.499.499 0 0 0-.707 0L2.5 8.793 1.263 7.556a.499.499 0 0 0-.707 0 .499.499 0 0 0 0 .707L1.793 9.5.556 10.737a.499.499 0 0 0 0 .707.499.499 0 0 0 .707 0L2.5 10.207l1.237 1.237a.499.499 0 0 0 .707 0 .499.499 0 0 0 0-.707L3.207 9.5l1.237-1.237a.499.499 0 0 0 0-.707M7.5 3h4a.5.5 0 0 0 0-1h-4a.5.5 0 0 0 0 1M5 2.5a.5.5 0 0 1-.5.5H3v1.5a.5.5 0 0 1-1 0V3H.5a.5.5 0 0 1 0-1H2V.5a.5.5 0 0 1 1 0V2h1.5a.5.5 0 0 1 .5.5' fill='%23ffffff%0A' fill-rule='evenodd'/%3E%3C/svg%3E")}.tensorsite-icon--blog span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon points='0 0 24 0 24 24 0 24'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' d='M21,11.01 L3,11 L3,13 L21,13 L21,11.01 Z M3,16 L15,16 L15,18 L3,18 L3,16 Z M21,6 L3,6 L3,8.01 L21,8 L21,6 Z'/%3E%3C/g%3E%3C/svg%3E%0A")}.tensorsite-icon--next span::before{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.418 7.01h11.17l-4.88-4.88c-.39-.39-.39-1.03 0-1.42a.996.996 0 0 1 1.41 0l6.59 6.59c.39.39.39 1.02 0 1.41l-6.59 6.59a.996.996 0 1 1-1.41-1.41l4.88-4.88H1.417c-.55 0-1-.45-1-1s.45-1 1-1z' fill='%23ff6f00' fill-rule='nonzero'/%3E%3C/svg%3E")}.tensorsite-icon--next span::after{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.418 7.01h11.17l-4.88-4.88c-.39-.39-.39-1.03 0-1.42a.996.996 0 0 1 1.41 0l6.59 6.59c.39.39.39 1.02 0 1.41l-6.59 6.59a.996.996 0 1 1-1.41-1.41l4.88-4.88H1.417c-.55 0-1-.45-1-1s.45-1 1-1z' fill='%23425066' fill-rule='nonzero'/%3E%3C/svg%3E")}.tensorsite-icon--newsletter::before{background:center/contain no-repeat url("data:image/svg+xml;utf8,%3Csvg width='20' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M18 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zm-.4 4.25l-6.54 4.09c-.65.41-1.47.41-2.12 0L2.4 4.25a.85.85 0 1 1 .9-1.44L10 7l6.7-4.19a.85.85 0 1 1 .9 1.44z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23ff6f00'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ff6f00' fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23ff6f00' fill-rule='nonzero' mask='url(%23b)' d='M-2-4h24v24H-2z'/%3E%3C/g%3E%3C/svg%3E");content:'\00a0';display:inline-block;height:20px;margin-right:7px;width:20px}.tensorsite-icon--previous span::before{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M15 7H3.83l4.88-4.88c.39-.39.39-1.03 0-1.42A.996.996 0 0 0 7.3.7L.71 7.29a.996.996 0 0 0 0 1.41l6.59 6.59a.996.996 0 1 0 1.41-1.41L3.83 9H15c.55 0 1-.45 1-1s-.45-1-1-1z' id='a'/%3E%3C/defs%3E%3Cuse fill='%23ff6f00' transform='matrix(1 0 0 -1 -.417 15.99)' xlink:href='%23a' fill-rule='evenodd'/%3E%3C/svg%3E")}.tensorsite-icon--previous span::after{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M15 7H3.83l4.88-4.88c.39-.39.39-1.03 0-1.42A.996.996 0 0 0 7.3.7L.71 7.29a.996.996 0 0 0 0 1.41l6.59 6.59a.996.996 0 1 0 1.41-1.41L3.83 9H15c.55 0 1-.45 1-1s-.45-1-1-1z' id='a'/%3E%3C/defs%3E%3Cuse fill='%23425066' transform='matrix(1 0 0 -1 -.417 15.99)' xlink:href='%23a' fill-rule='evenodd'/%3E%3C/svg%3E")}.tensorsite-icon--product-hub span::after{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 385.34 385.34' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3ClinearGradient id='a' gradientTransform='matrix(1 0 0 -1 -107.33 494.67)' gradientUnits='userSpaceOnUse' x1='144.09' x2='431.73' y1='302' y2='302'%3E%3Cstop offset='0' stop-color='%23425066'/%3E%3Cstop offset='1' stop-color='%23425066'/%3E%3C/linearGradient%3E%3Ccircle cx='192.67' cy='192.67' fill='url(%23a)' r='192.67'/%3E%3Cg fill='%23fff'%3E%3Cpath d='m285.6 234.34-40.94-23.64-10.09 17.48 41.2 23.78v19.6l27.33 15.78 27.32-15.78v-31.55l-27.32-15.78z'/%3E%3Cpath d='m203.39 247.18h-20.18v46.51l-17.24 9.95v31.55l27.33 15.78 27.33-15.78v-31.55l-17.24-9.95z'/%3E%3Cpath d='m101.53 233.96-17.65-10.19-27.33 15.78v31.55l27.33 15.77 27.33-15.77v-19.42l40.74-23.53-10.09-17.47z'/%3E%3Cpath d='m220.61 51.01v31.56l-17.2 9.99v40.74l-10.13-5.85-10.07 5.78v-40.67l-17.2-9.99v-31.56l27.27-15.77z'/%3E%3Cpath d='m149.48 165.6-5.85 10.06-16.32-9.45-25.7-14.83-17.14 9.93-27.33-15.77v-31.56l27.33-15.77 27.34 15.77v20l23.6 13.6 11.42 6.66-8.5 4.9z'/%3E%3Cpath d='m330.44 114.12v31.55l-27.34 15.78-17.82-10.27-26.11 15.1h-.07l-16.18 9.38-5.85-10.06-.14-.28 11.02-6.32-8.3-4.76 11.43-6.66 24.68-14.22v-19.24l27.34-15.78z'/%3E%3Cpath d='m358.41 254.91-47.67-27.48-10.2-5.91-10 5.78-47.81 27.61-8.09 4.69v76.09l12.11 7 43.79 25.31 10 5.78 10.2-5.91 43.65-25.16 12.11-7v-76.11zm-14.15 17.75-43.72 25.22v.28l-43.73-25.23-11.15-6.46 8.5-4.9 36.38-21 10.07-5.78 10.13 5.85 36.26 20.93 8.3 4.76z' transform='translate(-107.33 -107.33)'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--phone::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M-2-2h16v16H-2z'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' d='M2.4133 5.1933C3.3733 7.08 4.92 8.62 6.8067 9.5867L8.2733 8.12c.18-.18.4467-.24.68-.16.7467.2467 1.5534.38 2.38.38.3667 0 .6667.3.6667.6667v2.3266c0 .3667-.3.6667-.6667.6667C5.0733 12 0 6.9267 0 .6667 0 .3.3 0 .6667 0H3c.3667 0 .6667.3.6667.6667 0 .8333.1333 1.6333.38 2.38.0733.2333.02.4933-.1667.68L2.4133 5.1933z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--puzzle-build::before{background-image:url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 36h36V0H0z'/%3E%3Cpath d='M34.935 18.52a1.98 1.98 0 0 1-1.337 1.39 1.979 1.979 0 0 1-1.796-.32.5.5 0 0 0-.802.398V30.5a.5.5 0 0 1-.5.5h-20A5.506 5.506 0 0 1 5 25.5v-20c0-.276.224-.5.5-.5h9.677a3.021 3.021 0 0 0-.046 1.883 2.999 2.999 0 0 0 2.108 2.023 3.026 3.026 0 0 0 2.607-.542A2.982 2.982 0 0 0 20.826 5H30.5a.5.5 0 0 1 .5.5v10.513c0 .19.108.363.277.447.17.085.373.067.524-.049.866-.656 2.128-.469 2.776.358.382.49.513 1.128.358 1.752zm.43-2.366c-.785-1.005-2.181-1.406-3.366-.98V5.5c0-.826-.671-1.5-1.5-1.5H19.99a.503.503 0 0 0-.45.278.504.504 0 0 0 .05.524c.27.356.41.77.41 1.199 0 .62-.28 1.194-.768 1.577a2.02 2.02 0 0 1-1.75.359 1.978 1.978 0 0 1-1.392-1.338 1.976 1.976 0 0 1 .322-1.796.497.497 0 0 0 .047-.524.499.499 0 0 0-.446-.278H5.5C4.673 4 4 4.672 4 5.5v20c0 3.584 2.915 6.5 6.5 6.5h20a1.5 1.5 0 0 0 1.5-1.5v-9.677a3.028 3.028 0 0 0 1.883.046 2.997 2.997 0 0 0 2.023-2.108 3.022 3.022 0 0 0-.541-2.607zM16.998 18h1v-1h-1v1zm1-2h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm3-2h1v-1h-1v1zm1-2h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm-1 6h1v-1h-1v1zm1-2h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm-1 6h1v-1h-1v1zm1-2h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm-9 2h1v-1h-1v1zm1-2h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zm3 2h1v-1h-1v1zm1-2h-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1z' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--puzzle-code::before{background-image:url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 36h36V0H0z'/%3E%3Cpath d='M27.094 17.24a2.996 2.996 0 0 1 2.022-2.109 2.983 2.983 0 0 1 1.884.043V5.5a.5.5 0 0 0-.5-.5h-20A5.506 5.506 0 0 0 5 10.5v20a.5.5 0 0 0 .5.5h10.511a.5.5 0 0 1 .4.802 1.97 1.97 0 0 0-.32 1.796 1.973 1.973 0 0 0 1.39 1.337 2.026 2.026 0 0 0 1.75-.359c.488-.382.77-.957.77-1.576 0-.429-.143-.844-.41-1.198a.5.5 0 0 1 .398-.802H30.5a.5.5 0 0 0 .5-.5v-9.675c-1.18.427-2.579.026-3.364-.979a3.02 3.02 0 0 1-.542-2.607zm.971.24a2.028 2.028 0 0 0 .358 1.75c.647.83 1.91 1.016 2.775.36a.5.5 0 0 1 .802.398V30.5c0 .827-.673 1.5-1.5 1.5h-9.676a2.987 2.987 0 0 1-.977 3.364 2.993 2.993 0 0 1-1.85.635c-.252 0-.506-.03-.758-.093A2.992 2.992 0 0 1 15.177 32H5.5c-.827 0-1.5-.673-1.5-1.5v-20C4 6.916 6.916 4 10.5 4h20c.827 0 1.5.673 1.5 1.5v10.511a.5.5 0 0 1-.802.4 1.979 1.979 0 0 0-1.797-.32 1.974 1.974 0 0 0-1.336 1.388zm-8.19-4.312a.5.5 0 0 0-.749.664L22.831 18l-3.705 4.168a.5.5 0 1 0 .748.664l4-4.5a.5.5 0 0 0 0-.664l-4-4.5zm-3 .664L13.168 18l3.705 4.168a.501.501 0 0 1-.748.664l-4-4.5a.5.5 0 0 1 0-.664l4-4.5a.5.5 0 1 1 .748.664z' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--puzzle-math::before{background-image:url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 36h36V0H0z'/%3E%3Cpath d='M31 10.5C31 7.468 28.532 5 25.5 5h-20c-.275 0-.5.225-.5.5v10.512a.499.499 0 0 1-.802.398 1.982 1.982 0 0 0-1.797-.32 1.979 1.979 0 0 0-1.337 1.389 2.031 2.031 0 0 0 .36 1.752c.646.829 1.909 1.014 2.774.359a.5.5 0 0 1 .802.398V30.5c0 .275.225.5.5.5h9.675a2.983 2.983 0 0 1 .978-3.364 3.02 3.02 0 0 1 2.608-.542 3 3 0 0 1 2.108 2.022A3.014 3.014 0 0 1 20.823 31H30.5c.275 0 .5-.225.5-.5v-20zm1 0v20c0 .827-.673 1.5-1.5 1.5H19.988a.499.499 0 0 1-.398-.802c.395-.522.51-1.161.32-1.797a1.978 1.978 0 0 0-1.39-1.337 2.025 2.025 0 0 0-1.75.36c-.49.382-.77.957-.77 1.576 0 .43.142.844.41 1.198a.501.501 0 0 1-.398.802H5.5c-.827 0-1.5-.673-1.5-1.5v-9.675c-1.184.427-2.58.027-3.364-.978a3.021 3.021 0 0 1-.542-2.608 2.996 2.996 0 0 1 2.022-2.108A3.021 3.021 0 0 1 4 15.177V5.5C4 4.673 4.673 4 5.5 4h20c3.584 0 6.5 2.916 6.5 6.5zm-9.75 9.25a.75.75 0 1 0-1.501 0 .75.75 0 0 0 1.5 0zM23.5 21h-4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1zm0-7h-4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1zm-7.056 5.556a.499.499 0 0 0-.707 0L14.5 20.793l-1.237-1.237a.499.499 0 0 0-.707 0 .499.499 0 0 0 0 .707l1.237 1.237-1.237 1.237a.499.499 0 0 0 0 .707.499.499 0 0 0 .707 0l1.237-1.237 1.237 1.237a.499.499 0 0 0 .707 0 .499.499 0 0 0 0-.707L15.207 21.5l1.237-1.237a.499.499 0 0 0 0-.707zM21.5 22.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5zm-4.5-8a.5.5 0 0 1-.5.5H15v1.5a.5.5 0 0 1-1 0V15h-1.5a.5.5 0 0 1 0-1H14v-1.5a.5.5 0 0 1 1 0V14h1.5a.5.5 0 0 1 .5.5z' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--puzzle-theory::before{background-image:url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 36h36V0H0z'/%3E%3Cpath d='M31 5.5c0-.275-.225-.5-.5-.5H19.988a.499.499 0 0 1-.398-.802c.395-.522.51-1.161.32-1.797a1.979 1.979 0 0 0-1.389-1.337 2.023 2.023 0 0 0-1.752.36A1.988 1.988 0 0 0 16 3c0 .43.142.844.41 1.198a.501.501 0 0 1-.398.802H5.5c-.275 0-.5.225-.5.5v9.675c1.183-.427 2.579-.027 3.364.978.574.734.772 1.684.542 2.608a3 3 0 0 1-2.022 2.108A3.02 3.02 0 0 1 5 20.823V30.5c0 .275.225.5.5.5h20c3.032 0 5.5-2.468 5.5-5.5v-20zm1 0v20c0 3.584-2.916 6.5-6.5 6.5h-20c-.827 0-1.5-.673-1.5-1.5V19.988a.499.499 0 0 1 .802-.398 1.978 1.978 0 0 0 1.797.32 1.978 1.978 0 0 0 1.337-1.39 2.028 2.028 0 0 0-.36-1.75c-.646-.83-1.909-1.016-2.774-.36A.501.501 0 0 1 4 16.012V5.5C4 4.673 4.673 4 5.5 4h9.675a2.981 2.981 0 0 1 .978-3.364 3.025 3.025 0 0 1 2.608-.542 2.996 2.996 0 0 1 2.108 2.022A3.014 3.014 0 0 1 20.823 4H30.5c.827 0 1.5.673 1.5 1.5zM23.5 13h-11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1zm0 6h-11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1zm-6 3h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1zm6.5-5.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1 0-1h11a.5.5 0 0 1 .5.5z' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--wechat span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0' y='0' viewBox='0 0 24 24' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cg%3E%3Cpath fill='%23425066' d='M9.09 3.02c.01 0 .03.01.04.01.21.01.41.02.62.04.25.03.5.07.75.11.32.05.63.13.93.22.36.11.71.23 1.05.38.13.06.26.11.38.18.49.24.95.53 1.37.86.16.13.32.26.48.4.13.11.25.23.37.36.22.23.42.47.6.73.12.18.24.35.34.54.17.29.31.6.42.92.08.23.15.46.2.7v.03c-.06-.01-.12-.01-.18-.02-.29-.03-.58-.04-.87-.02-.49.02-.97.09-1.45.21-.4.1-.78.23-1.15.4-.51.23-.98.52-1.41.86-.25.2-.48.41-.69.65-.3.32-.56.67-.78 1.04-.2.33-.36.68-.49 1.05-.12.34-.21.69-.26 1.05-.03.2-.06.39-.06.58 0 .19-.02.38-.01.56.01.24.03.48.08.71.04.2.09.41.14.61 0 .02.01.03.01.05v.02c-.04 0-.07.01-.11.01-.07 0-.15.01-.22.01-.15 0-.3.01-.45.01-.22 0-.44-.01-.66-.04-.2-.02-.4-.05-.6-.08-.25-.04-.5-.09-.75-.14l-.6-.12c-.03-.01-.06 0-.09.01l-1.62.81c-.22.11-.45.22-.67.34-.11.06-.23.12-.34.17-.01.01-.02.01-.03.02h-.01v-.01-.02c.25-.77.51-1.53.76-2.3v-.01c-.08-.06-.16-.11-.23-.17-.17-.14-.34-.27-.51-.41-.25-.2-.48-.43-.71-.67-.27-.28-.51-.59-.72-.92-.1-.15-.19-.31-.28-.47-.16-.28-.28-.58-.38-.89-.09-.28-.16-.57-.2-.86-.02-.14-.03-.28-.05-.42-.01-.05-.01-.11-.02-.16 0-.01-.01-.02-.01-.03C1 9.74 1 9.57 1 9.4c.01 0 .02-.01.02-.02 0-.06.01-.12.01-.18.01-.12.02-.23.04-.35.04-.34.12-.68.23-1.01.13-.4.31-.79.52-1.15.28-.48.62-.92 1.01-1.31.14-.14.3-.28.45-.41.17-.14.34-.27.51-.4.29-.22.6-.41.92-.57.38-.2.76-.36 1.16-.5.36-.12.73-.22 1.1-.3.29-.06.59-.1.88-.13.2-.02.41-.03.62-.04.02 0 .03-.01.04-.01h.58zm2.57 3.32c-.3.01-.63.12-.88.4-.19.2-.26.44-.21.71.04.24.18.43.37.58.27.2.58.28.92.24.39-.05.66-.25.78-.63.07-.22.07-.45 0-.67-.07-.22-.2-.39-.4-.5-.16-.09-.34-.13-.58-.13zm-5.43 0c-.05.01-.14.01-.22.03-.29.06-.54.19-.72.42-.17.21-.23.46-.16.72.06.26.22.44.44.58.26.15.53.22.83.18.34-.03.6-.2.75-.51.13-.29.13-.58.01-.88-.05-.12-.12-.22-.22-.3-.19-.17-.42-.23-.71-.24z'/%3E%3Cpath fill='%23425066' d='M20.86 20.98c-.04-.03-.08-.05-.12-.08-.25-.14-.51-.28-.76-.42-.24-.13-.48-.26-.73-.4-.16-.09-.31-.17-.47-.26-.04-.02-.07-.02-.11-.01-.28.07-.55.14-.83.2-.28.06-.56.11-.84.14-.2.02-.4.03-.6.03-.21-.01-.43 0-.64-.02-.39-.03-.77-.08-1.14-.18-.22-.05-.43-.11-.65-.18-.23-.08-.46-.17-.68-.26-.26-.11-.5-.24-.74-.39-.26-.16-.51-.33-.75-.53-.22-.18-.43-.38-.62-.59-.3-.32-.56-.68-.78-1.07-.2-.37-.36-.76-.47-1.17-.06-.24-.11-.51-.14-.79-.02-.22-.03-.44-.02-.66.02-.35.06-.7.15-1.04.08-.3.18-.58.3-.86.19-.41.43-.79.71-1.14.1-.12.2-.24.31-.35.13-.13.25-.26.39-.38.22-.2.45-.37.7-.53.26-.18.54-.33.82-.47.36-.17.74-.31 1.12-.42.36-.1.72-.17 1.08-.22.14-.02.28-.03.42-.04.13-.01.25-.01.38-.02.09 0 .18-.01.27-.01l.54.03c.32.02.63.07.93.13.28.06.56.13.83.23.27.09.54.2.8.33.45.21.87.47 1.26.77.16.12.3.25.45.38.08.07.15.14.22.21.19.19.36.4.52.61.17.23.33.48.46.74.19.37.34.75.43 1.15.05.22.1.44.11.67 0 .01.01.02.01.03v.77c0 .01-.01.02-.01.03-.01.25-.07.49-.13.73-.1.37-.25.71-.44 1.04-.16.28-.34.55-.54.81-.16.2-.32.39-.5.57-.14.14-.28.27-.42.4l-.39.33c-.09.07-.18.14-.27.22.01.03.01.05.02.08.03.11.07.22.1.33l.24.81c.07.24.15.49.22.73.01-.01 0-.01 0-.01zM14.29 12c-.11 0-.2.02-.28.05-.17.07-.3.18-.4.33-.11.17-.16.35-.11.54.08.28.26.47.53.58.12.05.24.05.36.03.29-.04.53-.15.7-.39.13-.18.16-.39.08-.6-.06-.14-.15-.26-.27-.35-.18-.13-.4-.18-.61-.19zm4.31 1.55c.05-.01.15-.02.25-.05.23-.06.42-.19.55-.4.08-.13.11-.27.09-.42-.04-.25-.2-.42-.41-.55-.14-.08-.3-.12-.46-.14-.13-.01-.25.01-.37.07-.18.09-.31.22-.4.38-.09.15-.11.32-.06.49.05.18.15.31.29.43.13.12.29.19.52.19z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--share span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h5c.55 0 1-.45 1-1s-.45-1-1-1H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-6c0-.55-.45-1-1-1s-1 .45-1 1v5c0 .55-.45 1-1 1zM14 4c0 .55.45 1 1 1h2.59l-9.13 9.13a.996.996 0 1 0 1.41 1.41L19 6.41V9c0 .55.45 1 1 1s1-.45 1-1V4c0-.55-.45-1-1-1h-5c-.55 0-1 .45-1 1z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3Cpath d='M0 0h24v24H0z'/%3E%3C/g%3E%3C/svg%3E%0A")}.tensorsite-icon--stackoverflow span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M6.715 14.673l10.154 2.167.43-2.085L7.145 12.59l-.43 2.084zm1.343-4.937l9.402 4.47.86-1.92L8.918 7.79l-.86 1.947zm2.606-4.717l7.978 6.774 1.316-1.618-7.978-6.774-1.316 1.618zM15.82 0l-1.665 1.262 6.178 8.502L22 8.502 15.821 0zM6.5 19.5v-2.112h10.37V19.5H6.5zm12.395 2.382V15.5H21V24H2v-8.5h2.105v6.382h14.79z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-2)'%3E%3Cmask id='b' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3Cpath d='M-2 0h24v24H-2z'/%3E%3C/g%3E%3C/svg%3E%0A")}.tensorsite-icon--theory span::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 12h12V0H0z'/%3E%3Cpath d='M.5 11h5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0 0 1m0-3h11a.5.5 0 0 0 0-1H.5a.5.5 0 0 0 0 1m0-3h11a.5.5 0 0 0 0-1H.5a.5.5 0 0 0 0 1M0 1.5A.5.5 0 0 1 .5 1h11a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5' fill='%23425066'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--theory span::after{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 12h12V0H0z'/%3E%3Cpath d='M.5 11h5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0 0 1m0-3h11a.5.5 0 0 0 0-1H.5a.5.5 0 0 0 0 1m0-3h11a.5.5 0 0 0 0-1H.5a.5.5 0 0 0 0 1M0 1.5A.5.5 0 0 1 .5 1h11a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5' fill='%23ffffff%0A'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--twitter span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='22' height='18' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M22.208 3.333a8.848 8.848 0 0 1-2.843 1.1A4.433 4.433 0 0 0 16.099 3c-2.47 0-4.473 2.035-4.473 4.544 0 .356.039.702.115 1.035-3.718-.19-7.015-1.997-9.223-4.75a4.592 4.592 0 0 0-.606 2.288 4.56 4.56 0 0 0 1.991 3.781 4.425 4.425 0 0 1-2.028-.566v.055c0 2.203 1.543 4.04 3.591 4.456a4.401 4.401 0 0 1-2.021.08c.57 1.804 2.221 3.118 4.18 3.154a8.89 8.89 0 0 1-5.558 1.945c-.36 0-.718-.02-1.067-.062A12.542 12.542 0 0 0 7.86 21c8.23 0 12.73-6.923 12.73-12.928 0-.198-.004-.395-.011-.59a9.127 9.127 0 0 0 2.23-2.351 8.83 8.83 0 0 1-2.569.715 4.542 4.542 0 0 0 1.968-2.513' id='a'/%3E%3C/defs%3E%3Cg transform='translate(-1 -3)' fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h24v24H0z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--website::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M-1-1h16v16H-1z'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' d='M6.9933.3333C3.3133.3333.3333 3.32.3333 7c0 3.68 2.98 6.6667 6.66 6.6667 3.6867 0 6.6734-2.9867 6.6734-6.6667 0-3.68-2.9867-6.6667-6.6734-6.6667zm4.62 4H9.6467C9.4333 3.5 9.1267 2.7 8.7267 1.96c1.2266.42 2.2466 1.2733 2.8866 2.3733zM7 1.6933c.5533.8.9867 1.6867 1.2733 2.64H5.7267c.2866-.9533.72-1.84 1.2733-2.64zm-5.16 6.64C1.7333 7.9067 1.6667 7.46 1.6667 7c0-.46.0666-.9067.1733-1.3333h2.2533C4.04 6.1067 4 6.5467 4 7c0 .4533.04.8933.0933 1.3333H1.84zm.5467 1.3334h1.9666c.2134.8333.52 1.6333.92 2.3733a5.3245 5.3245 0 0 1-2.8866-2.3733zm1.9666-5.3334H2.3867A5.3245 5.3245 0 0 1 5.2733 1.96c-.4.74-.7066 1.54-.92 2.3733zM7 12.3067c-.5533-.8-.9867-1.6867-1.2733-2.64h2.5466c-.2866.9533-.72 1.84-1.2733 2.64zm1.56-3.9734H5.44c-.06-.44-.1067-.88-.1067-1.3333 0-.4533.0467-.9.1067-1.3333h3.12c.06.4333.1067.88.1067 1.3333 0 .4533-.0467.8933-.1067 1.3333zm.1667 3.7067c.4-.74.7066-1.54.92-2.3733h1.9666c-.64 1.1-1.66 1.9533-2.8866 2.3733zm1.18-3.7067C9.96 7.8933 10 7.4533 10 7c0-.4533-.04-.8933-.0933-1.3333H12.16c.1067.4266.1733.8733.1733 1.3333 0 .46-.0666.9067-.1733 1.3333H9.9067z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--video span::before{background-image:url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M6.8 4.1l4.7 3.5c.3.2.3.6 0 .8l-4.7 3.5c-.3.3-.8 0-.8-.4v-7c0-.4.5-.7.8-.4zM8 0c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm0 14c3.3 0 6-2.7 6-6s-2.7-6-6-6-6 2.7-6 6 2.7 6 6 6z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23ff6f00'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ff6f00' xlink:href='%23a'/%3E%3Cpath fill='%23ff6f00' fill-rule='nonzero' mask='url(%23b)' d='M0 0h16v16H0z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--video span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M6.8 4.1l4.7 3.5c.3.2.3.6 0 .8l-4.7 3.5c-.3.3-.8 0-.8-.4v-7c0-.4.5-.7.8-.4zM8 0c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm0 14c3.3 0 6-2.7 6-6s-2.7-6-6-6-6 2.7-6 6 2.7 6 6 6z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h16v16H0z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--youku span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='%23425066' fill-rule='evenodd'%3E%3Cpath d='M12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 Z M12,20.25 C16.5563492,20.25 20.25,16.5563492 20.25,12 C20.25,7.44365081 16.5563492,3.75 12,3.75 C7.44365081,3.75 3.75,7.44365081 3.75,12 C3.75,16.5563492 7.44365081,20.25 12,20.25 Z'/%3E%3Cpath d='M16.6557974,13.689665 L10.8450403,17.6090702 C9.98654383,18.1881334 8.82117141,17.9616079 8.2421082,17.1031114 C7.66304499,16.2446149 7.88957044,15.0792425 8.74806695,14.5001793 L12.3626201,12.0621324 L8.76409468,9.6348964 C7.90559817,9.05583318 7.67907272,7.89046077 8.25813593,7.03196425 C8.83719914,6.17346774 10.0025716,5.94694229 10.8610681,6.5260055 L16.7679608,10.5102549 C17.6264573,11.0893181 17.8529827,12.2546906 17.2739195,13.1131871 C17.1086958,13.3581413 16.8957391,13.551645 16.6557974,13.689665 Z'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-icon--youtube span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='24' height='18' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M23.5 3.14A3 3 0 0 0 21.38 1C19.51.5 12 .5 12 .5S4.49.5 2.62 1A3 3 0 0 0 .5 3.14 31.668 31.668 0 0 0 0 8.95c-.011 1.95.156 3.899.5 5.82a3 3 0 0 0 2.12 2.13c1.87.51 9.38.51 9.38.51s7.51 0 9.38-.51a3 3 0 0 0 2.12-2.13c.344-1.921.511-3.87.5-5.82a31.668 31.668 0 0 0-.5-5.81zM9.55 12.5V5.39l6.27 3.56-6.27 3.55z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0-3h24v24H0z'/%3E%3C/g%3E%3Cpath d='M0-3h24v24H0z'/%3E%3C/g%3E%3C/svg%3E");position:relative;top:3px}.tensorsite-icon--youtube--white span::after{background-image:url("data:image/svg+xml;utf8,%3Csvg width='24' height='18' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M23.5 3.14A3 3 0 0 0 21.38 1C19.51.5 12 .5 12 .5S4.49.5 2.62 1A3 3 0 0 0 .5 3.14 31.668 31.668 0 0 0 0 8.95c-.011 1.95.156 3.899.5 5.82a3 3 0 0 0 2.12 2.13c1.87.51 9.38.51 9.38.51s7.51 0 9.38-.51a3 3 0 0 0 2.12-2.13c.344-1.921.511-3.87.5-5.82a31.668 31.668 0 0 0-.5-5.81zM9.55 12.5V5.39l6.27 3.56-6.27 3.55z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg%3E%3Cmask id='b' fill='%23ffffff%0A'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ffffff%0A' fill-rule='nonzero' xlink:href='%23a'/%3E%3Cpath fill='%23ffffff%0A' fill-rule='nonzero' mask='url(%23b)' d='M0-3h24v24H0z'/%3E%3C/g%3E%3Cpath d='M0-3h24v24H0z'/%3E%3C/g%3E%3C/svg%3E");position:relative;top:3px}.tensorsite-icon--redesign-arrow span::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='24' viewBox='0 0 12 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 12L2.09852 24L-1.11005e-07 21.4605L7.83251 12L-9.38069e-07 2.53949L2.09852 -9.17293e-08L12 12Z' fill='%23FFFFFF'/%3E%3C/svg%3E%0A");position:relative}.tensorsite-icon--redesign-arrow span::after{background-image:url("data:image/svg+xml,%3Csvg width='12' height='24' viewBox='0 0 12 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 12L2.09852 24L-1.11005e-07 21.4605L7.83251 12L-9.38069e-07 2.53949L2.09852 -9.17293e-08L12 12Z' fill='%23FF6F00'/%3E%3C/svg%3E%0A");position:relative}.tensorsite-icon--redesign-arrow--small span::before{background-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5 4.5L6.4425 5.5575L9.8775 9L6.4425 12.4425L7.5 13.5L12 9L7.5 4.5Z' fill='%23FFFFFF'/%3E%3C/svg%3E%0A");position:relative;left:5px}.tensorsite-icon--redesign-arrow--small span::after{background-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5 4.5L6.4425 5.5575L9.8775 9L6.4425 12.4425L7.5 13.5L12 9L7.5 4.5Z' fill='%23FF6F00'/%3E%3C/svg%3E%0A");position:relative;left:5px}.tensorsite-icon--colab span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' viewBox='0 0 600 600'%3E%3Cpath d='M112.83,236.3,53.89,177.11a173.82,173.82,0,0,0,0,245.56l59.19-59.19A90.06,90.06,0,0,1,112.83,236.3Z' style='fill:%23e8710a'/%3E%3Cpath d='M53.89,177.11l58.94,59.19a90.05,90.05,0,0,1,127.35-.07l.08.07,42.89-73.49h0l-2.51-2h0A173.83,173.83,0,0,0,53.89,177.11Z' style='fill:%23f9ab00'/%3E%3Cpath d='M283.4,437h0l-43.14-73.24a90,90,0,0,1-127.35.07l-.08-.07L53.89,422.92a173.82,173.82,0,0,0,225.75,16.31L282.4,437' style='fill:%23f9ab00'/%3E%3Cpath d='M300,177.11a173.84,173.84,0,0,0,0,245.56l59.2-59.19A90.1,90.1,0,0,1,486.57,236.05L546,177.11a173.83,173.83,0,0,0-245.83-.24Z' style='fill:%23f9ab00'/%3E%3Cpath d='M546,177.11,487.08,236.3A90.11,90.11,0,0,1,359.65,363.73h0L300,422.92A173.91,173.91,0,1,0,546,177.11Z' style='fill:%23e8710a'/%3E%3C/svg%3E");position:relative}.tensorsite-icon--colab:hover span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='Layer_1' x='0px' y='0px' viewBox='0 0 600 600' style='enable-background:new 0 0 600 600;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M113.1,363.5c-35.1-35.1-35.2-92-0.2-127.2c35.1-35.2,92.2-35.2,127.3-0.1l0,0l0.1,0.1l42.9-73.5l-2.5-2 c-69.2-51.6-165.7-44.7-226.8,16.3c-67.7,67.9-67.7,177.7,0,245.6L113.1,363.5z'/%3E%3Cpath class='st0' d='M240.3,363.8c-35.1,35.2-92.1,35.2-127.3,0.1c0,0,0,0-0.1-0.1l-0.1-0.1l-58.9,59.2 c60.9,60.4,156.8,67.3,225.8,16.3l2.8-2.2h1L240.3,363.8z'/%3E%3C/g%3E%3Cg%3E%3Cpath class='st0' d='M300.2,176.9l-0.2,0.2c-67.7,67.9-67.7,177.7,0,245.6l59.2-59.2c-34.6-35.8-33.5-92.8,2.3-127.4 c34.9-33.7,90.2-33.7,125.1,0l59.4-58.9C478.2,109.2,368.1,109.1,300.2,176.9z'/%3E%3Cpath class='st0' d='M550.5,181.6c-1.5-1.5-3-3-4.5-4.5l-58.9,59.2c34.9,35.5,34.4,92.5-1.1,127.4c-35.1,34.5-91.3,34.5-126.3,0 L300,422.9c66.6,69.2,176.7,71.2,245.9,4.6S617.1,250.8,550.5,181.6z'/%3E%3C/g%3E%3C/svg%3E");position:relative}.tensorsite-icon--course span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48'%3E%3Cpath d='m23.95 42-14.5-7.95v-12L2 18 23.95 6 46 18v15.85h-3v-14.1l-4.55 2.3v12Zm0-15.4L39.7 18 23.95 9.55 8.3 18Zm0 12 11.5-6.35v-8.4L23.95 30l-11.5-6.25v8.5Zm.05-12Zm-.05 3.7Zm0 0Z'/%3E%3C/svg%3E");position:relative}.tensorsite-icon--video-series span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48'%3E%3Cpath d='M5 31.5v-3h15.3v3Zm0-8.25v-3h23.65v3ZM5 15v-3h23.65v3Zm27.1 27V25.9L43 33.95Z'/%3E%3C/svg%3E");position:relative}.tensorsite-icon--codelab span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48'%3E%3Cpath d='m18.95 30.85 2.2-2.2L16.5 24l4.6-4.6-2.2-2.2-6.8 6.8Zm10.1 0L35.9 24l-6.85-6.85-2.2 2.2L31.5 24l-4.65 4.65ZM9 42q-1.2 0-2.1-.9Q6 40.2 6 39V9q0-1.2.9-2.1Q7.8 6 9 6h30q1.2 0 2.1.9.9.9.9 2.1v30q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h30V9H9v30ZM9 9v30V9Z'/%3E%3C/svg%3E");position:relative}.tensorsite-icon--codelab--white span::after{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24" style="&%2310;"><path d="m384-336 56-57-87-87 87-87-56-57-144 144 144 144Zm192 0 144-144-144-144-56 57 87 87-87 87 56 57ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z" style="&%2310; fill: %23fff;&%2310;"/></svg>');position:relative}.tensorsite-icon--group span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48'%3E%3Cpath d='M1.9 40v-4.7q0-1.75.9-3.175Q3.7 30.7 5.3 30q3.65-1.6 6.575-2.3Q14.8 27 17.9 27q3.1 0 6 .7t6.55 2.3q1.6.7 2.525 2.125.925 1.425.925 3.175V40Zm35 0v-4.7q0-3.15-1.6-5.175t-4.2-3.275q3.45.4 6.5 1.175t4.95 1.775q1.65.95 2.6 2.35.95 1.4.95 3.15V40Zm-19-16.05q-3.3 0-5.4-2.1-2.1-2.1-2.1-5.4 0-3.3 2.1-5.4 2.1-2.1 5.4-2.1 3.3 0 5.4 2.1 2.1 2.1 2.1 5.4 0 3.3-2.1 5.4-2.1 2.1-5.4 2.1Zm18-7.5q0 3.3-2.1 5.4-2.1 2.1-5.4 2.1-.55 0-1.225-.075T25.95 23.6q1.2-1.25 1.825-3.075.625-1.825.625-4.075t-.625-3.975Q27.15 10.75 25.95 9.3q.55-.15 1.225-.25t1.225-.1q3.3 0 5.4 2.1 2.1 2.1 2.1 5.4ZM4.9 37h26v-1.7q0-.8-.475-1.55T29.25 32.7q-3.6-1.6-6.05-2.15-2.45-.55-5.3-.55-2.85 0-5.325.55T6.5 32.7q-.7.3-1.15 1.05-.45.75-.45 1.55Zm13-16.05q1.95 0 3.225-1.275Q22.4 18.4 22.4 16.45q0-1.95-1.275-3.225Q19.85 11.95 17.9 11.95q-1.95 0-3.225 1.275Q13.4 14.5 13.4 16.45q0 1.95 1.275 3.225Q15.95 20.95 17.9 20.95Zm0 16.05Zm0-20.55Z'/%3E%3C/svg%3E");position:relative}.tensorsite-icon--community span::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36' fill='none'%3E%3Cg clip-path='url(%23clip0_163_1111)'%3E%3Ccircle cx='18' cy='18' r='17.5' stroke='%23425066'/%3E%3Ccircle cx='18.0543' cy='11.0837' r='3.58371' fill='%23425066'/%3E%3Ccircle cx='25.4118' cy='12.9027' r='2.47059' fill='%23425066'/%3E%3Ccircle cx='11.2941' cy='12.9027' r='2.47059' fill='%23425066'/%3E%3Cpath d='M11.6471 18.0792C11.6471 16.9746 12.5425 16.0792 13.6471 16.0792H22.3529C23.4575 16.0792 24.3529 16.9746 24.3529 18.0792V25.4615C24.3529 25.7377 24.1291 25.9615 23.8529 25.9615H12.1471C11.8709 25.9615 11.6471 25.7377 11.6471 25.4615V18.0792Z' fill='%23425066'/%3E%3Cpath d='M6 18.0792C6 16.9746 6.89543 16.0792 8 16.0792H13.0588L12.3917 16.2698C11.5331 16.5151 10.9412 17.2998 10.9412 18.1928V18.4993V24.0498C10.9412 24.3259 10.7173 24.5498 10.4412 24.5498H6.5C6.22386 24.5498 6 24.3259 6 24.0498V18.0792Z' fill='%23425066'/%3E%3Cpath d='M30 18.0792C30 16.9746 29.1046 16.0792 28 16.0792H22.9412L23.6083 16.2698C24.4669 16.5151 25.0588 17.2998 25.0588 18.1928V18.4993V24.0498C25.0588 24.3259 25.2827 24.5498 25.5588 24.5498H29.5C29.7761 24.5498 30 24.3259 30 24.0498V18.0792Z' fill='%23425066'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_163_1111'%3E%3Crect width='36' height='36' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");position:relative}[template=page] .devsite-article-body{margin-top:0px}.wrapper{overflow:clip}body{background:transparent;font-family:"Roboto",sans-serif;font-size:16px;line-height:28px;color:#616161;-webkit-font-smoothing:antialiased;margin:0}h1{font-family:"Google Sans",sans-serif;font-size:34px;font-weight:500;line-height:44px;margin:0}h2{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:700;line-height:48px;margin:0}@media only screen and (max-width: 767px){h2{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){h2{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}h3{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px;margin:0}h4{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px;margin:0}h5{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px;margin:0}h6{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:22px;margin:0}.hidden-text{height:1px;overflow:hidden;pointer-events:none;position:absolute;top:-10px;width:1px}img,video{border:0;height:auto;max-width:100%}.desktop-only{display:block}@media only screen and (max-width: 1279px){.desktop-only{display:none}}.tablet-only{display:none}@media only screen and (max-width: 1279px){.tablet-only{display:block}}.tensorsite-container{margin:80px auto;max-width:1420px;padding:0 40px;width:100%}@media only screen and (max-width: 767px){.tensorsite-container{margin:50px auto;padding:0 20px}}.tensorsite-container--no-margin-top{margin-top:0}.tensorsite-container--narrow{max-width:1160px}.tensorsite-container--narrower{max-width:860px}.tensorsite-container--half-margin{margin:40px auto}.tensorsite-container--redesign-margin{margin:120px auto}@media only screen and (max-width: 767px){.tensorsite-container--redesign-margin{margin:48px auto}}body[theme="tensorflow-theme"][layout="full"] .devsite-main-content{max-width:none;padding:0}body[theme="tensorflow-theme"][layout="full"] .devsite-banner{margin:0}body[devsite-framebox]{margin:0;overflow:hidden}body[devsite-framebox] .tensorsite-container{margin:0 auto}body[ready] .devsite-wrapper{overflow:clip !important}.tensorsite-block{display:flex;flex-basis:calc(100% / 3 - 30px);flex-direction:column;flex-grow:0;flex-shrink:1;margin:15px}.tensorsite-block:not(.tensorsite-block--code-block) .tensorsite-content{padding-bottom:0}.tensorsite-block .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px}.tensorsite-block .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:16px;line-height:28px}.tensorsite-block .tensorsite-content__description p:last-of-type{margin-bottom:0}.tensorsite-block__image-wrapper{margin:auto;position:relative;width:30%}.tensorsite-block__image{height:auto;max-width:100%;width:auto}@media only screen and (min-width: 768px){.tensorsite-block__image:focus{outline:2px solid #425066;outline-offset:2px}}.tensorsite-block--action .tensorsite-content__subtitle{padding:0}.tensorsite-block--plain,.tensorsite-block--plain-links{margin:15px;text-align:center}@media only screen and (max-width: 1000px){.tensorsite-block--plain,.tensorsite-block--plain-links{margin-bottom:20px;margin-top:20px}}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-block--plain,.tensorsite-block--plain-links{display:block}}.tensorsite-block--plain .tensorsite-content__cta,.tensorsite-block--plain-links .tensorsite-content__cta{align-self:center}.tensorsite-block--plain .tensorsite-content__cta-wrapper a,.tensorsite-block--plain-links .tensorsite-content__cta-wrapper a{align-self:center}.tensorsite-block--plain-links .tensorsite-content{padding-top:0}.tensorsite-block--code-block{overflow:hidden}.tensorsite-block--code-block .tensorsite-content{text-align:center}.tensorsite-block--code-block .tensorsite-content__description{flex-grow:0}.tensorsite-block--code-block .devsite-landing-row-item-code{flex-grow:1}.tensorsite-block--code-block .devsite-landing-row-item-code devsite-code,.tensorsite-block--code-block .devsite-landing-row-item-code devsite-code>pre{border-radius:8px 8px 0 0;box-shadow:none}.tensorsite-block--code-block .colab-callout-footer{background:#e3e4e7;border-radius:0 0 8px 8px;color:#37474f;padding:20px}.tensorsite-block--code-block .colab-callout-row devsite-code[dark-code]+.colab-callout-footer{background:#3f4f66}.tensorsite-block--code-block .colab-callout-footer>a>span{vertical-align:middle;color:#37474f;font-size:14px}.tensorsite-block--code-block .colab-callout-row devsite-code[dark-code]+.colab-callout-footer>a>span{color:#fff}.tensorsite-block--code-block .colab-callout-footer>a:focus{box-shadow:0 0 0 2px #fff}.tensorsite-block--code-block .colab-callout-footer>a>span{font-size:12px}.tensorsite-block--code-block .colab-callout-footer .button{background:linear-gradient(to top right, #ff6f00, #FFA800);border:0;color:#fff;position:relative;z-index:1}.tensorsite-block--code-block .colab-callout-footer .button::before{background:#ff6f00;bottom:0;content:'';left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s;z-index:-1}.tensorsite-block--code-block .colab-callout-footer .button:focus{outline:1px dotted #fff;outline:5px auto #fff}.tensorsite-block--code-block .colab-callout-footer .button:hover::before{opacity:1}.tensorsite-block--code-block devsite-code,.tensorsite-block--code-block devsite-code pre{height:100%}@media only screen and (max-width: 767px){.tensorsite-block--code-block devsite-code,.tensorsite-block--code-block devsite-code pre{height:auto}}.tensorsite-breadcrumb-link{color:#616161;font-size:12px;padding:10px 6px;transition:color .2s linear}.tensorsite-breadcrumb-link:hover{color:#ff6f00}.tensorsite-breadcrumb-link:first-of-type{padding-left:0}.tensorsite-breadcrumb-arrow:last-of-type{display:none}.tensorsite-button-tab{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);margin:auto;overflow:hidden;z-index:1}@media only screen and (max-width: 767px){.tensorsite-button-tab{border-radius:0}}.tensorsite-button-tab ::-webkit-scrollbar{background:transparent;display:none}.tensorsite-button-tab input[name='tabs']{left:-10000px;opacity:0;position:absolute}.tensorsite-button-tab input[name='tabs']#tab-1:checked ~ .tensorsite-button-tab__image-wrapper:nth-of-type(1){display:flex}.tensorsite-button-tab input[name='tabs']#tab-1:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__tabs label:nth-of-type(1){color:#fff}.tensorsite-button-tab input[name='tabs']#tab-1:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__tabs label:nth-of-type(1)::after{background:#425066}.tensorsite-button-tab input[name='tabs']#tab-1:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__content__text:nth-of-type(2){display:flex}.tensorsite-button-tab input[name='tabs']#tab-2:checked ~ .tensorsite-button-tab__image-wrapper:nth-of-type(2){display:flex}.tensorsite-button-tab input[name='tabs']#tab-2:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__tabs label:nth-of-type(2){color:#fff}.tensorsite-button-tab input[name='tabs']#tab-2:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__tabs label:nth-of-type(2)::after{background:#425066}.tensorsite-button-tab input[name='tabs']#tab-2:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__content__text:nth-of-type(3){display:flex}.tensorsite-button-tab input[name='tabs']#tab-3:checked ~ .tensorsite-button-tab__image-wrapper:nth-of-type(3){display:flex}.tensorsite-button-tab input[name='tabs']#tab-3:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__tabs label:nth-of-type(3){color:#fff}.tensorsite-button-tab input[name='tabs']#tab-3:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__tabs label:nth-of-type(3)::after{background:#425066}.tensorsite-button-tab input[name='tabs']#tab-3:checked ~ .tensorsite-button-tab__content--info .tensorsite-button-tab__content__text:nth-of-type(4){display:flex}.tensorsite-button-tab .tensorsite-button-tab__content{display:flex;padding:40px}@media only screen and (max-width: 1279px){.tensorsite-button-tab .tensorsite-button-tab__content{flex-direction:column}}@media only screen and (max-width: 767px){.tensorsite-button-tab .tensorsite-button-tab__content{padding:20px}}.tensorsite-button-tab__image-wrapper{display:none;flex:1;justify-content:center}@media only screen and (max-width: 1279px){.tensorsite-button-tab__image-wrapper{margin-right:0}}.tensorsite-button-tab__content--info{display:flex;flex:2;flex-direction:column;margin-top:40px;padding-left:60px;position:relative}@media only screen and (max-width: 1279px){.tensorsite-button-tab__content--info{align-items:center;padding-left:0}.tensorsite-button-tab__content--info::after{z-index:-1}}.tensorsite-button-tab__content--info::after{border-left:1px solid #e3e5e8;bottom:0;content:'';height:115%;left:0;position:absolute;top:0;-webkit-transform:translateY(-12%);transform:translateY(-12%)}.tensorsite-button-tab__content__text{-webkit-animation-duration:0.5s;animation-duration:0.5s;-webkit-animation-name:tensorsite-button-tab__content-fade;animation-name:tensorsite-button-tab__content-fade;display:none}label.tensorsite-button-tab__button:focus-within::after{opacity:.3}.tensorsite-button-tab__tabs{margin-bottom:32px}@media only screen and (max-width: 767px){.tensorsite-button-tab__tabs{align-items:center;display:flex;flex-direction:column}}.tensorsite-button-tab__tabs label{margin:6px 14px 6px 0}@-webkit-keyframes tensorsite-button-tab__content-fade{from{opacity:0}to{opacity:1}}@keyframes tensorsite-button-tab__content-fade{from{opacity:0}to{opacity:1}}.tensorsite-button{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:20px;background:none;border:none;border-radius:8px;box-shadow:0 0 20px rgba(0,0,0,0);color:#425066;display:inline-block;height:auto;outline:none;padding:13px 18px;position:relative;text-transform:none;transition:box-shadow .2s linear,background .2s linear,color .2s linear;z-index:1}.tensorsite-button:active{box-shadow:none}.tensorsite-button:hover,.tensorsite-button:focus,.tensorsite-button.tensorsite-content__cta:hover,.tensorsite-button.tensorsite-content__cta:focus{color:#fff;outline:none}.tensorsite-button:hover::after,.tensorsite-button:focus::after,.tensorsite-button.tensorsite-content__cta:hover::after,.tensorsite-button.tensorsite-content__cta:focus::after{opacity:0}.tensorsite-button::before{background:linear-gradient(to top right, #ff6f00, #FFA800);border-radius:8px;content:'';height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.tensorsite-button::after{background:#fff;border-radius:7px;content:'';height:calc(100% - 4px);left:2px;opacity:1;position:absolute;top:2px;transition:.3s opacity linear;width:calc(100% - 4px);z-index:-1}.tensorsite-button--white-text{color:#fff}.tensorsite-button--white{color:#425066;padding:13px 22px}.tensorsite-button--white::before{background:#425066}.tensorsite-button--white::after{height:100%;left:0;top:0;width:100%}.tensorsite-button--gray::after{background:#f5f6f7}.tensorsite-button--dark-gray{color:#425066}.tensorsite-button--dark-gray:hover{color:#fff}.tensorsite-button--dark-gray::before{background:#425066}.tensorsite-button--dark-gray::after{background:#e3e5e8;height:100%;left:0;top:0;width:100%}.tensorsite-arrow-button{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066;background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:8px 16px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:100%;transition:box-shadow .2s linear,background .2s linear,color .2s linear;font-weight:500 !important}.tensorsite-arrow-button:hover,.tensorsite-arrow-button:focus{color:#f5f5f5}.tensorsite-arrow-button:hover,.tensorsite-arrow-button:focus{background:linear-gradient(to top right, #ff6f00, #FFA800);border:1px solid #ff6f00;color:#fff}.tensorsite-arrow-button:hover ::before,.tensorsite-arrow-button:focus ::before{opacity:1}.tensorsite-arrow-button:hover ::after,.tensorsite-arrow-button:focus ::after{opacity:0}.tensorsite-arrow-button:hover span::after,.tensorsite-arrow-button:hover span::before,.tensorsite-arrow-button:focus span::after,.tensorsite-arrow-button:focus span::before{-webkit-transform:translateX(4px);transform:translateX(4px)}button.tensorsite-play-button,a.tensorsite-play-button{background:#fff center/contain no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 96'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='-427.9393' y1='229.2344' x2='-428.1819' y2='228.8326' gradientTransform='matrix(20 0 0 -30 8610 6917)'%3E%3Cstop offset='0' stop-color='%23ff9100'/%3E%3Cstop offset='1' stop-color='%23ff6f00'/%3E%3C/linearGradient%3E%3Cpath d='M41 63V33l20 15-20 15z' fill='url(%23a)'/%3E%3C/svg%3E");border:0;border-radius:50%;bottom:0;box-shadow:0 0 20px rgba(0,0,0,0.08);height:96px;margin:auto;padding:0;top:0;transition:-webkit-transform .3s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform .3s cubic-bezier(0.4, 0, 0.2, 1);width:96px}button.tensorsite-play-button:focus,button.tensorsite-play-button:hover,a.tensorsite-play-button:focus,a.tensorsite-play-button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.tensorsite-version-button.button-row{flex-direction:row;justify-content:start;margin:auto;position:relative;text-align:center}.tensorsite-version-button.button-row .stars-number{color:#fff;background-color:#ff6f00;padding:4px 20px 4px 15px;border-radius:5px;margin-right:10px}.tensorsite-version-button.button-row .stars-number::before{content:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEuNzAyNDEgNi4zNTcxNEg2Ljg5NTMzQzcuMTI0NzYgNi4zNTcxNCA3LjMyNDc1IDYuMjAwOTkgNy4zODA0IDUuOTc4NDFMOC41MTQ5MyAxLjQ0MDI5QzguNjQxMTcgMC45MzUzMDkgOS4zNTg4MyAwLjkzNTMxIDkuNDg1MDcgMS40NDAyOUwxMC42MTk2IDUuOTc4NDFDMTAuNjc1MiA2LjIwMDk5IDEwLjg3NTIgNi4zNTcxNCAxMS4xMDQ3IDYuMzU3MTRIMTYuMjk3NkMxNi43OTY2IDYuMzU3MTQgMTYuOTg3NyA3LjAwNzg4IDE2LjU2OCA3LjI3NzczTDEyLjM1MDcgOS45ODg4NEMxMi4xNDc2IDEwLjExOTQgMTIuMDY2OCAxMC4zNzY1IDEyLjE1ODcgMTAuNTk5OEwxNC4yMDc2IDE1LjU3NTZDMTQuNDA3NyAxNi4wNjE1IDEzLjgxODggMTYuNDg3NiAxMy40MTk5IDE2LjE0NTZMOS4zMjU0IDEyLjYzNjFDOS4xMzgxNSAxMi40NzU2IDguODYxODUgMTIuNDc1NiA4LjY3NDYgMTIuNjM2MUw0LjU4MDE0IDE2LjE0NTZDNC4xODExNyAxNi40ODc2IDMuNTkyMzMgMTYuMDYxNSAzLjc5MjQgMTUuNTc1Nkw1Ljg0MTI2IDEwLjU5OThDNS45MzMyIDEwLjM3NjUgNS44NTI0MiAxMC4xMTk0IDUuNjQ5MyA5Ljk4ODg0TDEuNDMyMDMgNy4yNzc3M0MxLjAxMjI2IDcuMDA3ODggMS4yMDMzOCA2LjM1NzE0IDEuNzAyNDEgNi4zNTcxNFoiIGZpbGw9IndoaXRlIiBzdHJva2U9IndoaXRlIi8+Cjwvc3ZnPg==");position:relative;top:2px;margin-right:5px}.tensorsite-version-button.button-row .tensorsite-content{padding:0}.tensorsite-version-button.button-row .tensorsite-content__cta-wrapper{flex-direction:row;align-self:center;align-self:flex-start}@media only screen and (max-width: 385px){.tensorsite-version-button.button-row .tensorsite-content__cta-wrapper{justify-content:center}}.tensorsite-version-button.button-row .tensorsite-content__cta{align-self:center;border:none;outline:none;width:unset}.tensorsite-version-button.button-row .tensorsite-content__cta:hover,.tensorsite-version-button.button-row .tensorsite-content__cta:focus{color:#ff6f00}.tensorsite-card{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(to top right, #ff6f00, #FFA800);border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);display:flex;flex-basis:calc(100% / 3 - 30px);flex-direction:column;flex-grow:0;flex-shrink:1;margin:15px;position:relative;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);transition:box-shadow .2s linear,opacity .2s linear}.tensorsite-card::before{background:#fff;border-radius:10px;content:'';height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:opacity .2s linear;width:100%}.tensorsite-card .tensorsite-content{border-radius:0 0 10px 10px;position:static}@media only screen and (max-width: 767px){.tensorsite-card .tensorsite-content{padding-left:30px;padding-right:30px}}.tensorsite-card .tensorsite-content--under-image::before{top:-1px}.tensorsite-card .tensorsite-content .tensorsite-content__subtitle,.tensorsite-card .tensorsite-content .tensorsite-content__description,.tensorsite-card .tensorsite-content .tensorsite-content__cta-wrapper,.tensorsite-card .tensorsite-content ul{position:relative}.tensorsite-card .tensorsite-content .tensorsite-content__cta-wrapper--shorter{padding-right:70px}.tensorsite-card .tensorsite-content__image-wrapper{border-bottom:solid 1px #dadada;border-radius:10px 10px 0 0;overflow:hidden;position:relative;transition:border-color .2s linear;z-index:1}.tensorsite-card .tensorsite-content__image-wrapper img{background-color:#fbfcfc;-webkit-transform:scale(1.01);transform:scale(1.01);transition:-webkit-transform .5s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform .5s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform .5s cubic-bezier(0.25, 0.1, 0.25, 1), -webkit-transform .5s cubic-bezier(0.25, 0.1, 0.25, 1);will-change:transform}.tensorsite-card .tensorsite-content__image-wrapper .tensorsite-content__image__play-button{bottom:0;left:0;margin:auto;overflow:visible;position:absolute;right:0;top:0}.tensorsite-card .tensorsite-price-tag__inner{transition:background-color .2s linear,color .2s linear}.tensorsite-card .tensorsite-content__categories{display:flex;flex-wrap:wrap;margin-bottom:-8px;margin-top:30px;padding-top:18px;position:relative;z-index:1}.tensorsite-card .tensorsite-content__categories::before{border-top:1px solid #dadada;content:'';left:-30px;position:absolute;top:0;width:calc(100% + 60px)}.tensorsite-card .tensorsite-content__categories .tensorsite-content__category{padding-right:18px}.tensorsite-card .tensorsite-content__categories .tensorsite-content__category:last-child{padding-right:0}.tensorsite-card .tensorsite-content__categories .tensorsite-content__category-text{font-size:12px;line-height:18px;color:#425066;padding-left:16px;position:relative;text-transform:capitalize;transition:color .2s linear}.tensorsite-card .tensorsite-content__categories .tensorsite-content__category-text::before,.tensorsite-card .tensorsite-content__categories .tensorsite-content__category-text::after{background-position:center center;background-repeat:no-repeat;bottom:0;content:'';height:12px;left:0;margin:auto;position:absolute;top:0;width:12px}.tensorsite-card .tensorsite-content__categories .tensorsite-content__category-text::before{transition:opacity .2s linear;z-index:1}.tensorsite-card .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px;align-items:center;display:flex;justify-content:space-between;z-index:1}.tensorsite-card .tensorsite-content__title:before{bottom:0;content:'';left:0;position:absolute;right:0;top:0}.tensorsite-card .tensorsite-content__subtitle{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:18px}.tensorsite-card .tensorsite-content__subtitle--thin{font-family:"Roboto",sans-serif;font-weight:400}.tensorsite-card .tensorsite-content__subtitle--thin.tensorsite-content__subtitle--under-title{margin-bottom:18px;margin-top:0px}.tensorsite-card .tensorsite-content__description{font-size:14px;line-height:22px}.tensorsite-card .tensorsite-content__description strong:first-child:last-child{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px;color:#425066;display:inline-block;margin-top:8px;transition:color .2s linear}.tensorsite-card .tensorsite-content__cta{color:#425066;z-index:3}.tensorsite-card:hover:not(.no-link){box-shadow:0 0 64px rgba(0,0,0,0.22);cursor:pointer}.tensorsite-card.no-link .tensorsite-content__title::before{content:none}.tensorsite-card.font-size-body .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:16px;line-height:28px}.tensorsite-card--double{flex-grow:0;flex-shrink:1}.tensorsite-card__href{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:2}.tensorsite-card--hero .tensorsite-content__cta:hover{color:#425066}.tensorsite-card--hero-whitecta .tensorsite-content__cta{color:#fff}.tensorsite-card--hero-whitecta a span::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card--hero-whitecta .tensorsite-content__cta:hover{color:#fff}.tensorsite-card--hero-whitetext .tensorsite-content__title{color:#fff}.tensorsite-card--hero-bluegradient .tensorsite-content--under-image{background-image:linear-gradient(0deg, rgba(32,18,20,0) 0%, rgba(32,18,20,0) 45%, #5464b5 100%)}.tensorsite-card--hero-h3title .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}.tensorsite-card--hero .tensorsite-content__title{flex-grow:1}.tensorsite-card--hero .tensorsite-content__title::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card--hero .tensorsite-content__image-wrapper{border-bottom:none;border-radius:10px;height:100%;position:absolute;width:100%}.tensorsite-card--hero .tensorsite-content__image{height:100%;-o-object-fit:cover;object-fit:cover}.tensorsite-card--hero .tensorsite-content__image,.tensorsite-card--hero .tensorsite-content--under-image{border-radius:10px}.tensorsite-card--clip .tensorsite-content{background:transparent;margin-top:40%;padding-top:17%;position:static;z-index:1}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-card--clip .tensorsite-content{background-color:#fff;padding-top:20px}}.tensorsite-card--clip .tensorsite-content__clip-bg{padding-top:40%}.tensorsite-card--clip .tensorsite-content__clip-bg+.tensorsite-content__title{padding-top:7%}.tensorsite-card--clip .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px;max-width:81%}@media only screen and (max-width: 1000px){.tensorsite-card--clip .tensorsite-content__title{max-width:none}}@media only screen and (max-width: 850px){.tensorsite-card--clip .tensorsite-content__title{max-width:80%}}@media only screen and (max-width: 767px){.tensorsite-card--clip .tensorsite-content__title{max-width:60%}}@media only screen and (max-width: 480px){.tensorsite-card--clip .tensorsite-content__title{max-width:80%}}.tensorsite-card--clip .tensorsite-content__subtitle{color:#425066;font-weight:700;max-width:42%}.tensorsite-card--clip .tensorsite-content__image-wrapper{border-bottom:0;border-radius:10px;height:100%;position:absolute;width:100%}.tensorsite-card--horizontal{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}.tensorsite-card--horizontal .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}@media only screen and (min-width: 851px){.tensorsite-card--horizontal{flex-direction:row}.tensorsite-card--horizontal .tensorsite-content__image-wrapper,.tensorsite-card--horizontal .tensorsite-content--under-image{flex:1 0 50%;max-width:50%}.tensorsite-card--horizontal .tensorsite-content__image-wrapper{border-bottom:0;border-radius:10px 0 0 10px;border-right:1px solid #dadada}.tensorsite-card--horizontal .tensorsite-content__image{border-radius:10px 0 0 10px;height:100%;-o-object-fit:cover;object-fit:cover}}@media only screen and (min-width: 851px) and (-ms-high-contrast: none), only screen and (min-width: 851px) and (-ms-high-contrast: active){.tensorsite-card--horizontal .tensorsite-content__image-wrapper{display:flex;flex-direction:column;justify-content:center}.tensorsite-card--horizontal .tensorsite-content__image{height:auto;-o-object-fit:unset;object-fit:unset}}.tensorsite-card .tensorsite-content__cta-wrapper .tensorsite-content__cta-icon:hover span::before{opacity:0}.tensorsite-card .tensorsite-content__cta-wrapper .tensorsite-content__cta-icon:hover span::after{opacity:1}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover::before{opacity:0}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content a,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content div,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content strong{color:#fff}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content::before{opacity:1;transition:opacity .2s linear}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content ul a span::after,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__cta-wrapper .tensorsite-content__cta-icon span::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__title span::after,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__subtitle span::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__tag{color:#fff}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__cta-wrapper .tensorsite-price-tag__inner{background-color:#fff;color:#ff6f00}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__cta-wrapper .tensorsite-price-tag__inner::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='24' viewBox='0 0 12 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M9.474 0H56a2 2 0 0 1 2 2v20a2 2 0 0 1-2 2H9.474a2 2 0 0 1-1.636-.85l-7.03-10a2 2 0 0 1 0-2.3l7.03-10A2 2 0 0 1 9.474 0z' fill='%23FFF'/%3E%3Ccircle fill='%23FF6F00' cx='10' cy='12' r='2'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__categories .tensorsite-content__category-text{color:#fff}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__clip-bg::before{background:#ff6f00}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__clip-shape path{fill:#ff6f00}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__category-text::before{opacity:0}html[dir='rtl'] .tensorsite-content__clip-shape{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.tensorsite-card:hover .tensorsite-content__image-wrapper{border-color:transparent}.tensorsite-card:hover .tensorsite-content__image-wrapper img{-webkit-transform:scale(1.03);transform:scale(1.03);transition:-webkit-transform 1s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform 1s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform 1s cubic-bezier(0.25, 0.1, 0.25, 1), -webkit-transform 1s cubic-bezier(0.25, 0.1, 0.25, 1)}.tensorsite-card--bnw img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.tensorsite-card--bnw:hover img{-webkit-filter:grayscale(0%);filter:grayscale(0%)}.tensorsite-card .tensorsite-content__title:hover ~ div.tensorsite-content__cta-wrapper .tensorsite-content__cta:first-child span::after,.tensorsite-card .tensorsite-card__href:hover ~ .tensorsite-content div.tensorsite-content__cta-wrapper .tensorsite-content__cta:first-child span::after{-webkit-transform:translateX(4px);transform:translateX(4px)}.tensorsite-card .tensorsite-content__title:hover ~ ul.tensorsite-content__cta-wrapper li:first-child .tensorsite-content__cta span::after{-webkit-transform:translateX(4px);transform:translateX(4px)}.tensorsite-card .tensorsite-content__title:focus::before{border-radius:10px;box-shadow:0 0 0 2px #425066}.tensorsite-card .tensorsite-card__href:focus ~ .tensorsite-content .tensorsite-content__title::before{border-radius:10px;box-shadow:0 0 0 2px #425066}.tensorsite-content{border-radius:10px;display:flex;flex-basis:auto;flex-direction:column;flex-grow:1;flex-shrink:1;overflow-wrap:break-word;padding:26px 30px;position:relative;word-wrap:break-word}@media only screen and (max-width: 767px){.tensorsite-content{padding-left:15px;padding-right:15px}}.tensorsite-content a:not(.tensorsite-content__button),.tensorsite-content div{transition:color .2s linear}.tensorsite-content ol,.tensorsite-content ul{padding-left:18px}.tensorsite-content ol li,.tensorsite-content ul li{margin:8px 0}.tensorsite-content ol li:last-of-type,.tensorsite-content ul li:last-of-type{margin-bottom:0}.tensorsite-content p a,.tensorsite-content-underline{line-height:normal;display:inline-block;border-bottom:1px solid #ff6f00;color:#616161;transition:color .2s linear}.tensorsite-content p a:focus,.tensorsite-content-underline:focus{outline:2px solid #425066;outline-offset:2px}.tensorsite-content p a:hover,.tensorsite-content-underline:hover{color:#ff6f00}.tensorsite-content p{margin:10px 0}.tensorsite-content p:first-child{margin-top:0}.tensorsite-content p:last-child{margin-bottom:0}.tensorsite-content ol+p,.tensorsite-content ul+p{margin-top:calc(1em + 10px)}.tensorsite-content__clip-bg{display:flex;flex-direction:column;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-content__clip-bg{display:none}}.tensorsite-content__clip-bg::after{background:#fff;border-radius:0 0 10px 10px;content:'';display:block;flex:1 0 auto;margin-top:-2px;transition:background .2s linear;width:100%}.tensorsite-content__clip-shape{margin-left:-1px;width:102%}.tensorsite-content__clip-shape path{transition:fill .2s linear}.tensorsite-content__cta-wrapper{display:flex;flex-direction:column;line-height:1;margin-top:-4px}@media only screen and (max-width: 767px){.tensorsite-content__cta-wrapper{width:100%}}.tensorsite-content__cta-wrapper--abreast{display:block}.tensorsite-content__cta-wrapper--abreast .tensorsite-content__cta{margin-right:21px}@media only screen and (min-width: 768px){.tensorsite-content__cta-wrapper--row{flex-direction:row;justify-content:center;width:100%}.tensorsite-content__cta-wrapper--row a:not(:last-child){margin-right:20px}}.tensorsite-content__cta-wrapper--row .tensorsite-content__button{text-align:center;width:100%}.tensorsite-content__cta-wrapper .tensorsite-content__button{margin-top:8px}.tensorsite-content__cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:20px;align-self:flex-start;color:#425066;display:inline-block;margin-top:8px;position:relative}.tensorsite-content__cta:focus{outline:2px solid #425066;outline-offset:2px}.tensorsite-content__cta:last-child{margin-right:0}.tensorsite-content__cta--disabled,.tensorsite-content__cta--disabled:hover{color:#818181}.tensorsite-content__cta-image:focus,.tensorsite-content__cta-image:hover{outline:none;color:#ff6f00}.tensorsite-content__cta-image:focus span::after,.tensorsite-content__cta-image:focus span::before,.tensorsite-content__cta-image:hover span::after,.tensorsite-content__cta-image:hover span::before{-webkit-transform:translateX(4px);transform:translateX(4px)}.tensorsite-content__cta-image:focus span::after,.tensorsite-content__cta-image:hover span::after{opacity:0}.tensorsite-content__cta-image:focus span::before,.tensorsite-content__cta-image:hover span::before{opacity:1}.tensorsite-content__cta-image:focus:focus .cta-image,.tensorsite-content__cta-image:hover:focus .cta-image{box-shadow:0px 2px 12px rgba(66,80,102,0.24)}.tensorsite-content__cta-image:focus img,.tensorsite-content__cta-image:hover img{-webkit-filter:none;filter:none}.tensorsite-content__cta-icon span{margin-left:-3px;position:relative;white-space:nowrap}.tensorsite-content__cta-icon span::after,.tensorsite-content__cta-icon span::before{background-repeat:no-repeat;background-size:contain;content:'\00a0';display:inline-block;height:20px;margin-left:4px;transition:opacity .2s linear,-webkit-filter .2s linear,-webkit-transform .5s;transition:filter .2s linear,transform .5s,opacity .2s linear;transition:filter .2s linear,transform .5s,opacity .2s linear,-webkit-filter .2s linear,-webkit-transform .5s;vertical-align:text-bottom;width:20px}.tensorsite-content__cta-icon span::before{bottom:0;margin-left:7px;opacity:0;position:absolute;right:0}.tensorsite-content__cta-icon.tensorsite-icon--internal span::after,.tensorsite-content__cta-icon.tensorsite-icon--internal span::before,.tensorsite-content__cta-icon.tensorsite-icon--external span::after,.tensorsite-content__cta-icon.tensorsite-icon--external span::before,.tensorsite-content__cta-icon.tensorsite-icon--newsletter span::after,.tensorsite-content__cta-icon.tensorsite-icon--newsletter span::before,.tensorsite-content__cta-icon.tensorsite-icon--video span::after,.tensorsite-content__cta-icon.tensorsite-icon--video span::before{background-position:center;background-size:80%;margin-left:0}.tensorsite-content__cta.devsite-dialog-button:hover{cursor:pointer}.tensorsite-content__cta.tensorsite-content__button ~ *:not(.tensorsite-content__button){line-height:46px}.tensorsite-content__image-wrapper{position:relative}.tensorsite-content__image-wrapper .tensorsite-content__image__play-button{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;-webkit-transform:scale(0.8);transform:scale(0.8);transition:-webkit-transform .3s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform .3s cubic-bezier(0.4, 0, 0.2, 1)}.tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:16px;line-height:28px;flex-basis:auto;flex-grow:1;flex-shrink:1;margin-bottom:48px}@media only screen and (min-width: 1280px){.tensorsite-content__description{font-size:18px}}.tensorsite-content__description p a{font-weight:500}.tensorsite-content__description:last-child{margin-bottom:0}.tensorsite-content__image{border-radius:10px 10px 0 0;display:block;height:auto;width:100%}.tensorsite-content__subtitle{font-size:14px;line-height:22px;align-items:center;color:#425066;display:flex;margin-bottom:8px;position:relative}.tensorsite-content__subtitle-icon{margin-left:40px}.tensorsite-content__subtitle-icon span::after{background-repeat:no-repeat;background-size:contain;content:'';height:20px;left:-40px;position:absolute;top:0;transition:-webkit-filter .2s linear;transition:filter .2s linear;transition:filter .2s linear, -webkit-filter .2s linear;width:24px}.tensorsite-content__subtitle--under-title{margin-top:10px}.tensorsite-content__subtitle--bold{font-weight:700}.tensorsite-content__subtitle--gray{color:#818181;font-family:"Google Sans",sans-serif}.tensorsite-content__small-title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px;margin-bottom:12px}.tensorsite-content__small-title a:focus{outline:2px solid #425066;outline-offset:2px}.tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:700;line-height:48px;color:#425066;margin-bottom:12px;width:100%;position:relative}@media only screen and (max-width: 767px){.tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}.tensorsite-content__title span::after{background-repeat:no-repeat;background-size:contain;content:'';height:24px;position:absolute;right:0;top:0;transition:-webkit-filter .2s linear;transition:filter .2s linear;transition:filter .2s linear, -webkit-filter .2s linear;width:24px}.tensorsite-content>.tensorsite-content__title:last-child{margin-bottom:0}.tensorsite-content__title.tensorsite-icon{padding-right:26px}.tensorsite-content__title--clip{-webkit-transform:translateY(-35px);transform:translateY(-35px)}.tensorsite-content__title--grow{flex-grow:1}.tensorsite-content__title--grow span{top:auto}.tensorsite-content__title--orange{color:#ff6f00}.tensorsite-content__title--sideheading{font-family:"Google Sans",sans-serif;font-size:28px;font-weight:700;line-height:32px}.tensorsite-content__title--sidesubheading{font-family:"Google Sans",sans-serif;font-size:22px;font-weight:700;line-height:32px}.tensorsite-content__title i{font-size:32px;margin-right:-6px}.tensorsite-content--under-image{border-radius:0 0 10px 10px}.tensorsite-content__title+.tensorsite-content__cta{margin-top:16px}.tensorsite-content__description--align-left{text-align:left}.tensorsite-content__tag{color:#818181}.tensorsite-content__toc{margin-top:20px}.tensorsite-content__toc a:hover{color:#ff6f00}.tensorsite-content__toc a:hover span::after,.tensorsite-content__toc a:hover span::before{-webkit-transform:translateX(4px);transform:translateX(4px)}.tensorsite-content__toc a:hover span::after{opacity:0}.tensorsite-content__toc a:hover span::before{opacity:1}.tensorsite-content__toc a:hover span::after,.tensorsite-content__toc a:hover span::before{-webkit-transform:translateX(0px) translateY(-4px);transform:translateX(0px) translateY(-4px)}.tensorsite-content__toc .tensorsite-content__cta-image:focus .cta-image{box-shadow:none}.tensorsite-content__toc--main{display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;width:100%;max-width:1000px;margin:10px auto}.tensorsite-content__toc--main a{display:flex;flex-direction:column;align-items:center}@media only screen and (max-width: 850px){.tensorsite-content__toc{display:flex;flex-direction:column;align-items:center}}.tensorsite-content__toc img{max-width:100px}@media only screen and (max-width: 767px){.tensorsite-content--center-on-mobile{text-align:center;align-items:center;padding:26px 0}.tensorsite-content--center-on-mobile a{align-self:center}}.tensorsite-content--align-center{text-align:center;align-items:center}.tensorsite-content--align-center a{align-self:center}.tensorsite-expandable__section{margin-bottom:16px}.tensorsite-expandable__section:last-child{margin-bottom:0}.tensorsite-expandable__section input{display:none}.tensorsite-expandable__section input:checked ~ .tensorsite-expandable__content{max-height:1000px}.tensorsite-expandable__section input:checked ~ label::after{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.tensorsite-expandable__section label{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px;background:#fff;border:1px #ccc solid;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);color:#425066;display:block;padding:20px 40px 18px 25px;position:relative}.tensorsite-expandable__section label::before,.tensorsite-expandable__section label::after{background:#425066;content:'';height:2px;position:absolute;right:25px;top:50%;transition:-webkit-transform .2s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .2s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform .2s cubic-bezier(0.4, 0, 0.2, 1);width:11px}.tensorsite-expandable__section label::after{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.tensorsite-expandable__section .tensorsite-expandable__content{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(0.4, 0, 0.2, 1)}.tensorsite-expandable__section .tensorsite-expandable__content .tensorsite-content{padding:16px 25px}.tensorsite-expandable__section .tensorsite-expandable__content .tensorsite-content__description{font-size:14px;line-height:22px}a{color:#ff6f00;text-decoration:none}a:active,a:focus{text-decoration:none}.firesite-cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:20px}.tensorsite-video-modal{width:720px}@media only screen and (min-width: 1280px){.tensorsite-video-modal{width:1124px}}.tensorsite-video-modal .devsite-dialog-buttons{display:none}.tensorsite-video-modal__buttons{padding:8px 16px 0;text-align:right}.tensorsite-video-modal__buttons .material-icons{cursor:pointer;font-size:20px;pointer-events:none}.tensorsite-video-modal__buttons .devsite-dialog-buttons{padding:8px 16px 0}.tensorsite-video-modal__buttons .video-wrapper-full-width{float:none;margin:0;width:100%}.tensorsite-video-modal__buttons .devsite-dialog-close{color:#425066;border:none;box-shadow:none;justify-content:center;margin:0;padding:0}.tensorsite-price-tag{position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tensorsite-price-tag__inner{background-color:#425066;border-radius:0 4px 4px 0;color:#fff;font-weight:bold;margin-left:12px;padding:4px 10px;position:relative;transition:background-color .2s linear,color .2s linear}.tensorsite-price-tag__inner::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='24' viewBox='0 0 12 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M9.474 0H56a2 2 0 0 1 2 2v20a2 2 0 0 1-2 2H9.474a2 2 0 0 1-1.636-.85l-7.03-10a2 2 0 0 1 0-2.3l7.03-10A2 2 0 0 1 9.474 0z' fill='%23425066'/%3E%3Ccircle fill='%23FFF' cx='10' cy='12' r='2'/%3E%3C/g%3E%3C/svg%3E");content:"";height:100%;position:absolute;right:100%;top:0;transition:background-image .2s linear;width:12px}.tensorsite-profile-wrapper:not(:first-of-type){margin-top:30px}@media only screen and (min-width: 768px){.tensorsite-profile__info{align-items:center;display:flex}}.tensorsite-profile__image{border-radius:50%;max-width:110px;min-width:55px;width:20%}@media only screen and (min-width: 768px){.tensorsite-profile__image{padding-right:20px}}.tensorsite-profile__name{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px;color:#425066}.tensorsite-profile__name p{margin:0}.tensorsite-sidenote{background-color:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);padding:26px 35px}@media only screen and (max-width: 767px){.tensorsite-sidenote{padding:30px 30px}}.tensorsite-sidenote__header-content .tensorsite-content{padding:26px 15px}.tensorsite-sidenote__header-content .tensorsite-content .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:first-child .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:first-child .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:first-child .tensorsite-content{padding-top:26px}@media only screen and (max-width: 767px){.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:first-child .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:first-child .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:first-child .tensorsite-content{padding-top:0}}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:last-child .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:last-child .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:last-child .tensorsite-content{border-bottom:none;padding-bottom:26px}@media only screen and (max-width: 767px){.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:last-child .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:last-child .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child:last-child .tensorsite-content{padding-bottom:0}}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child.tensorsite-sidenote__large-title .tensorsite-content__title,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child.tensorsite-sidenote__large-title .tensorsite-list__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child.tensorsite-sidenote__large-title .tensorsite-list__title{margin-bottom:16px}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child.tensorsite-sidenote__no-border .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child.tensorsite-sidenote__no-border .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child.tensorsite-sidenote__no-border .tensorsite-content{border-bottom:none}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content{border-bottom:1px solid #dadada;padding:39px 15px}@media only screen and (max-width: 767px){.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-list,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-profile,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content{padding:26px 0}}.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px}@media only screen and (max-width: 767px){.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content__cta-wrapper li,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content__cta-wrapper.tensorsite-content__cta-wrapper--abreast li{text-align:center}}@media only screen and (max-width: 767px){.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content__cta-wrapper li:last-child,.tensorsite-sidenote__sub-wrapper .tensorsite-sidenote__child .tensorsite-content__cta-wrapper.tensorsite-content__cta-wrapper--abreast li:last-child{margin-bottom:0}}.tensorsite-top-tab{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);margin:auto;overflow:hidden;z-index:1}@media only screen and (max-width: 767px){.tensorsite-top-tab{border-radius:0}}.tensorsite-top-tab ::-webkit-scrollbar{background:transparent;display:none}.tensorsite-top-tab input[name='tabs']{left:-10000px;opacity:0;position:absolute}.tensorsite-top-tab input[name='tabs']#tab-1:checked ~ .tensorsite-top-tab__contents .tensorsite-top-tab__content:nth-of-type(1){display:block}.tensorsite-top-tab input[name='tabs']#tab-1:checked ~ .tensorsite-top-tab__tabs label:nth-child(1){color:#293241}.tensorsite-top-tab input[name='tabs']#tab-1:checked ~ .tensorsite-top-tab__tabs label:nth-child(1)::after{width:calc(100% - 30px)}.tensorsite-top-tab input[name='tabs'].key-down-focus#tab-1:checked ~ .tensorsite-top-tab__tabs label:nth-child(1){outline:2px solid #425066;outline-offset:2px;outline-offset:-5px}.tensorsite-top-tab input[name='tabs']#tab-2:checked ~ .tensorsite-top-tab__contents .tensorsite-top-tab__content:nth-of-type(2){display:block}.tensorsite-top-tab input[name='tabs']#tab-2:checked ~ .tensorsite-top-tab__tabs label:nth-child(2){color:#293241}.tensorsite-top-tab input[name='tabs']#tab-2:checked ~ .tensorsite-top-tab__tabs label:nth-child(2)::after{width:calc(100% - 30px)}.tensorsite-top-tab input[name='tabs'].key-down-focus#tab-2:checked ~ .tensorsite-top-tab__tabs label:nth-child(2){outline:2px solid #425066;outline-offset:2px;outline-offset:-5px}.tensorsite-top-tab input[name='tabs']#tab-3:checked ~ .tensorsite-top-tab__contents .tensorsite-top-tab__content:nth-of-type(3){display:block}.tensorsite-top-tab input[name='tabs']#tab-3:checked ~ .tensorsite-top-tab__tabs label:nth-child(3){color:#293241}.tensorsite-top-tab input[name='tabs']#tab-3:checked ~ .tensorsite-top-tab__tabs label:nth-child(3)::after{width:calc(100% - 30px)}.tensorsite-top-tab input[name='tabs'].key-down-focus#tab-3:checked ~ .tensorsite-top-tab__tabs label:nth-child(3){outline:2px solid #425066;outline-offset:2px;outline-offset:-5px}.tensorsite-top-tab input[name='tabs']#tab-4:checked ~ .tensorsite-top-tab__contents .tensorsite-top-tab__content:nth-of-type(4){display:block}.tensorsite-top-tab input[name='tabs']#tab-4:checked ~ .tensorsite-top-tab__tabs label:nth-child(4){color:#293241}.tensorsite-top-tab input[name='tabs']#tab-4:checked ~ .tensorsite-top-tab__tabs label:nth-child(4)::after{width:calc(100% - 30px)}.tensorsite-top-tab input[name='tabs'].key-down-focus#tab-4:checked ~ .tensorsite-top-tab__tabs label:nth-child(4){outline:2px solid #425066;outline-offset:2px;outline-offset:-5px}.tensorsite-top-tab input[name='tabs']#tab-5:checked ~ .tensorsite-top-tab__contents .tensorsite-top-tab__content:nth-of-type(5){display:block}.tensorsite-top-tab input[name='tabs']#tab-5:checked ~ .tensorsite-top-tab__tabs label:nth-child(5){color:#293241}.tensorsite-top-tab input[name='tabs']#tab-5:checked ~ .tensorsite-top-tab__tabs label:nth-child(5)::after{width:calc(100% - 30px)}.tensorsite-top-tab input[name='tabs'].key-down-focus#tab-5:checked ~ .tensorsite-top-tab__tabs label:nth-child(5){outline:2px solid #425066;outline-offset:2px;outline-offset:-5px}.tensorsite-top-tab input[name='tabs']#tab-6:checked ~ .tensorsite-top-tab__contents .tensorsite-top-tab__content:nth-of-type(6){display:block}.tensorsite-top-tab input[name='tabs']#tab-6:checked ~ .tensorsite-top-tab__tabs label:nth-child(6){color:#293241}.tensorsite-top-tab input[name='tabs']#tab-6:checked ~ .tensorsite-top-tab__tabs label:nth-child(6)::after{width:calc(100% - 30px)}.tensorsite-top-tab input[name='tabs'].key-down-focus#tab-6:checked ~ .tensorsite-top-tab__tabs label:nth-child(6){outline:2px solid #425066;outline-offset:2px;outline-offset:-5px}.tensorsite-top-tab .tensorsite-top-tab__tabs label::after{transition:width .3s ease}.tensorsite-top-tab .tensorsite-top-tab__content{-webkit-animation-duration:0.5s;animation-duration:0.5s;-webkit-animation-name:tensorsite-top-tab__content-fade;animation-name:tensorsite-top-tab__content-fade;display:none;padding:0 40px 40px 40px}.tensorsite-top-tab .tensorsite-top-tab__content a{display:inline-block;line-height:normal;border-bottom:1px solid #ff6f00;color:#616161;font-weight:500;transition:color .2s linear}.tensorsite-top-tab .tensorsite-top-tab__content a:hover{color:#ff6f00}@media only screen and (max-width: 767px){.tensorsite-top-tab .tensorsite-top-tab__content{padding:20px 0}}.tensorsite-top-tab__content--inner{align-items:center;display:flex;flex-wrap:wrap}.tensorsite-top-tab__content--inner .tensorsite-top-tab__content__text{flex-basis:calc(40% - 30px)}.tensorsite-top-tab__content--inner .tensorsite-top-tab__image{background-position:center;background-repeat:no-repeat;background-size:contain;flex-basis:calc(60% - 30px);height:100%;margin-top:39px;min-height:400px}.tensorsite-top-tab__content--inner .tensorsite-top-tab__content__text,.tensorsite-top-tab__content--inner .tensorsite-top-tab__image{margin:15px}@media only screen and (max-width: 1000px){.tensorsite-top-tab__content--inner .tensorsite-top-tab__content__text,.tensorsite-top-tab__content--inner .tensorsite-top-tab__image{flex-basis:calc(100% - 30px);margin:0 auto}}.tensorsite-top-tab__tabs{display:flex;margin:auto;-ms-overflow-style:none;overflow-x:auto;position:relative;scrollbar-width:none;white-space:nowrap;width:84%}@media only screen and (max-width: 1000px){.tensorsite-top-tab__tabs{width:100%}}.tensorsite-top-tab__tabs label{font-size:14px;line-height:22px;color:#425066;cursor:pointer;flex:1 1 auto;font-weight:500;padding:45px 18px 18px 18px;position:relative;text-align:center;transition:color .2s linear;-webkit-user-select:none;-ms-user-select:none;user-select:none}.tensorsite-top-tab__tabs label:focus::after,.tensorsite-top-tab__tabs label:hover::after{width:calc(100% - 30px)}.tensorsite-top-tab__tabs label::after{background:#293241;border-radius:5px 5px 0 0;bottom:0;content:'';height:3px;left:15px;position:absolute;width:0;z-index:1}@media only screen and (max-width: 767px){.tensorsite-top-tab__tabs label:last-child{border-bottom:1px solid #dadada}}.tensorsite-top-tab__tabs::after{background:#dadada;bottom:0;content:'';height:1px;left:18px;position:absolute;width:calc(100% - 36px)}@media only screen and (max-width: 1000px){.tensorsite-top-tab__tabs::after{width:calc(180% - 36px)}}@media only screen and (min-width: 768px){.tensorsite-top-tab__tabs::after{width:calc(100% - 36px)}}@-webkit-keyframes tensorsite-top-tab__content-fade{from{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes tensorsite-top-tab__content-fade{from{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.tensorsite-sub-step__header-content .tensorsite-content{padding-left:0}@media only screen and (max-width: 767px){.tensorsite-sub-step__header-content .tensorsite-content{padding-right:0}}.tensorsite-sub-step__header-content .tensorsite-content__title{font-size:22px}.tensorsite-sub-step__title{color:#425066;font-size:22px;font-weight:500;margin-bottom:12px;margin-top:38px}@media only screen and (min-width: 768px){.tensorsite-sub-step__cards{display:flex;flex-wrap:wrap;justify-content:space-between}}.tensorsite-sub-step__cards .tensorsite-card{flex-shrink:0;margin-left:0;margin-right:0}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-sub-step__cards .tensorsite-card{flex-basis:calc(50% / 3 - 30px - 1px)}}@supports (-ms-ime-align: auto){.tensorsite-sub-step__cards .tensorsite-card{flex-basis:calc(50% / 3 - 30px - 1px)}}@media only screen and (max-width: 850px){.tensorsite-sub-step__cards .tensorsite-card{flex-basis:100%;max-width:100%}}@media only screen and (max-width: 767px){.tensorsite-sub-step__cards .tensorsite-card{display:inline-block}}.tensorsite-list{padding:26px 0}@media only screen and (max-width: 767px){.tensorsite-list{padding:26px 0}}.tensorsite-list h5{overflow:visible}.tensorsite-list__title{color:#425066}.tensorsite-list__description a,.tensorsite-list__secondary-description a{display:inline-block;line-height:normal;border-bottom:1px solid #ff6f00;color:#616161;font-weight:500;transition:color .2s linear}.tensorsite-list__description a:hover,.tensorsite-list__secondary-description a:hover{color:#ff6f00}.tensorsite-list__items{padding-left:30px}.tensorsite-list__items--check{padding-left:40px}.tensorsite-list__items--custom-large{padding-left:56px}.tensorsite-list__item--check,.tensorsite-list__item--custom,.tensorsite-list__item--custom-large{list-style:none;position:relative}.tensorsite-list__item--check::before,.tensorsite-list__item--custom::before,.tensorsite-list__item--custom-large::before{content:'';position:absolute;top:3px}.tensorsite-list__item--check-large::before,.tensorsite-list__item--custom-large::before,.tensorsite-list__item--custom-large-large::before{height:36px;right:calc(100% + 20px);width:36px}.tensorsite-list__item--check::before{height:20px;left:-40px;width:20px}.tensorsite-list__item--custom::before{background-position:center;background-repeat:no-repeat;height:16px;left:-30px;width:16px}.tensorsite-list__item--email a{word-break:break-word}.tensorsite-list__item a{display:inline-block;line-height:normal;border-bottom:1px solid #ff6f00;color:#616161;font-weight:500;transition:color .2s linear}.tensorsite-list__item a:hover{color:#ff6f00}.tensorsite-list__item a p{display:inline}.tensorsite-list--box{border:1px #dadada solid;border-radius:10px;padding:26px}.tensorsite-list--white-bg{background-color:#fff}.tensorsite-list--large-title .tensorsite-list__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}.tensorsite-list--no-padding-bottom{padding-bottom:0 !important}.tensorsite-list--no-padding-top{padding-top:0 !important}.tensorsite-inline-video{margin:auto;width:100%}@media only screen and (max-width: 1279px){.tensorsite-inline-video{width:720px}}@media only screen and (min-width: 1280px){.tensorsite-inline-video{width:1124px}}.tensorsite-tooltip__container{display:inline-block;vertical-align:middle}.tensorsite-tooltip__container:hover{cursor:help}.tensorsite-tooltip__container:hover .tensorsite-tooltip__content-wrapper,.tensorsite-tooltip__container:hover .tensorsite-tooltip__content{display:block}.tensorsite-tooltip{background:none;border:none;box-shadow:none;display:inline-block;height:auto;margin:0;overflow:unset;padding:0;pointer-events:auto;position:relative;text-transform:unset;white-space:initial;width:auto;z-index:2}.tensorsite-tooltip a:hover{cursor:pointer}.tensorsite-tooltip .tensorsite-tooltip__content-wrapper{display:none;height:auto;left:-53px;padding:20px 0 0 0;position:absolute;width:auto}.tensorsite-tooltip .tensorsite-tooltip__content:before{border:none;border-bottom:10px solid #323232;border-left:10px solid transparent;border-right:10px solid transparent;content:'';height:10px;left:27px;position:absolute;top:11px;width:10px}.tensorsite-tooltip .tensorsite-tooltip__content{background-color:#323232;box-sizing:border-box;color:rgba(255,255,255,0.8);display:none;padding:15px;text-align:left;width:200px;border-radius:10px}.tensorsite-article-hero{margin:0 auto;max-width:1140px;position:relative}@media only screen and (min-width: 768px){.tensorsite-article-hero{padding:100px 180px 0}}@media only screen and (max-width: 1279px){.tensorsite-article-hero{flex-direction:column;padding:100px 100px 0}}@media only screen and (max-width: 1279px) and (-ms-high-contrast: none), only screen and (max-width: 1279px) and (-ms-high-contrast: active){.tensorsite-article-hero{display:block}}@media only screen and (max-width: 767px){.tensorsite-article-hero{padding:50px 35px 0}}.tensorsite-article-hero__inner{margin-bottom:80px}.tensorsite-article-hero .tensorsite-group__divider{margin:0 auto;width:100%}.tensorsite-article-hero__content .tensorsite-content{padding-left:0;padding-right:0}.tensorsite-article-hero__content:last-of-type .tensorsite-content{padding-bottom:0}.tensorsite-article-hero__content--white-bg{border:1px #ccc solid;border-radius:10px;padding:26px}.tensorsite-article-hero__content--white-bg .tensorsite-content{padding:0}.tensorsite-casestudy{background-color:#f5f6f7;margin:auto;min-height:1200px;padding:10px 40px;position:relative;display:flex;flex-direction:column;align-items:center}@media only screen and (max-width: 767px){.tensorsite-casestudy{padding:10px 20px}}.tensorsite-casestudy .tensorsite-card{background-color:#fff;max-width:none;z-index:1}@media only screen and (max-width: 1000px){.tensorsite-casestudy .tensorsite-card{flex-basis:calc(100% / 2 - 30px)}}@media only screen and (max-width: 767px){.tensorsite-casestudy .tensorsite-card{flex-basis:calc(100% - 30px)}}.tensorsite-casestudy .tensorsite-group__header{padding:0 40px;max-width:1380px}.tensorsite-casestudy .tensorsite-group__header .tensorsite-content{padding:0}@media only screen and (max-width: 767px){.tensorsite-casestudy .tensorsite-group__header{padding:0 12px}}.tensorsite-casestudy .tensorsite-container{padding:0}.tensorsite-casestudy__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px;color:#425066;margin:15px 15px 60px 15px}.tensorsite-casestudy__content{align-items:center;display:flex;flex-direction:column}@media only screen and (max-width: 767px){.tensorsite-casestudy__content{display:block}}.tensorsite-casestudy__content--centered{display:block}.tensorsite-casestudy__cards{flex-basis:calc(3 * 100% / 4 - 30px);flex-grow:0;flex-shrink:1;width:100%}.tensorsite-casestudy__cards .tensorsite-group__inner{border-bottom:none}.tensorsite-casestudy__cards .tensorsite-container{padding:0px}.tensorsite-casestudy__filters{margin-top:24px}.tensorsite-casestudy__filters button{font-size:14px;line-height:22px;background-color:transparent;color:#425066;font-weight:500;transition:color .2s linear;padding:0 16px 0 2px;margin:0 20px 12px 0;border:1px solid #ff6f00;border-radius:20px;height:auto}@media only screen and (max-width: 480px){.tensorsite-casestudy__filters button{margin:8px 0}}.tensorsite-casestudy__filters button:focus:not([selected]),.tensorsite-casestudy__filters button:hover:not([selected]){color:#ff6f00;border:1px solid #ff6f00;background-color:transparent}.tensorsite-casestudy__filters button[selected]{background-color:#ff6f00}.tensorsite-casestudy__filters button[selected]::before{content:none}.tensorsite-casestudy__filters button[selected] .icon{display:none}.tensorsite-casestudy__filters button[selected] .icon--checked{display:block}.tensorsite-casestudy__filters button span{display:none;visibility:collapse}.tensorsite-casestudy__filters button img{max-width:40px}.tensorsite-casestudy__filters button .icon{display:block}.tensorsite-casestudy__filters button .icon--checked{display:none}#filter-checkboxes-match-all{display:flex;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;padding:12px 40px 0;max-width:1380px;margin:0 auto}#filter-checkboxes-match-all label{font-size:14px;line-height:22px;color:#425066;font-weight:500;transition:color .2s linear;padding:0 16px 0 2px;margin:0 20px 12px 0;border:1px solid #ff6f00;border-radius:20px;display:flex;align-items:center}#filter-checkboxes-match-all label:focus,#filter-checkboxes-match-all label:hover{color:#ff6f00}#filter-checkboxes-match-all label::before{content:none}#filter-checkboxes-match-all label span{display:none;visibility:collapse}#filter-checkboxes-match-all label img{max-width:40px}#filter-checkboxes-match-all label .icon{display:block}#filter-checkboxes-match-all label .icon--checked{display:none}#filter-checkboxes-match-all input[type='checkbox']{position:absolute;visibility:hidden}#filter-checkboxes-match-all input[type='checkbox']:checked+label{background-color:#ff6f00;color:white}#filter-checkboxes-match-all input[type='checkbox']:checked+label .icon{display:none}#filter-checkboxes-match-all input[type='checkbox']:checked+label .icon--checked{display:block}#filter-checkboxes-match-all input[type='checkbox']::after{content:none}.tensorsite-column-list{margin:0 auto 52px;max-width:1440px;padding:0 30px}.tensorsite-column-list__intro{margin:0 auto;max-width:642px}.tensorsite-column-list__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px;color:#425066;text-align:center}.tensorsite-column-list__description{color:#616161;text-align:center}.tensorsite-column-list__description a{display:inline-block;line-height:normal;border-bottom:1px solid #ff6f00;color:#616161;font-weight:500;transition:color .2s linear}.tensorsite-column-list__description a:hover{color:#ff6f00}.tensorsite-column-list__description a:focus{outline:2px solid #425066;outline-offset:2px;text-decoration:none}.tensorsite-column-list__item{border-top:1px solid #dadada;display:flex;padding:50px 100px 30px}.tensorsite-column-list__item:last-child{border-bottom:1px solid #dadada}@media only screen and (max-width: 767px){.tensorsite-column-list__item{border-top:0;flex-direction:column;margin:20px 0;padding:20px;text-align:center}}@media only screen and (min-width: 768px){.tensorsite-column-list__item-image{flex:0 0 8%;margin-right:30px}}@media only screen and (max-width: 767px){.tensorsite-column-list__item-image{margin:15px 0}}.tensorsite-column-list__item-image img{max-height:96px;max-width:96px;width:100%}@media only screen and (min-width: 768px){.tensorsite-column-list__item-heading{flex:0 0 30%;margin-right:20px}}@media only screen and (max-width: 767px){.tensorsite-column-list__item-heading{margin:0}.tensorsite-column-list__item-heading .tensorsite-column-list__item-cta{display:none}}.tensorsite-column-list__item-title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px;color:#425066;margin-bottom:20px}.tensorsite-column-list__item-cta{transition:color .2s linear}@media only screen and (max-width: 767px){.tensorsite-column-list__item-cta{align-self:center}}@media only screen and (min-width: 768px){.tensorsite-column-list__item-cta--mobile{display:none}}.tensorsite-column-list__item-description{color:#616161}.tensorsite-column-list__item-description p:first-child{margin-top:0}.tensorsite-dynamic-blog-section .devsite-card-wrapper{flex-basis:auto;max-width:none;padding:0}.tensorsite-dynamic-blog-section .devsite-card-group{grid-template-columns:repeat(4, 1fr);margin:0 15px}@media only screen and (max-width: 1000px){.tensorsite-dynamic-blog-section .devsite-card-group{grid-template-columns:repeat(2, 1fr)}}@media only screen and (max-width: 1000px){.tensorsite-ecosystem .tensorsite-container{padding:0}}.tensorsite-ecosystem .ecosystem{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);padding:60px}@media only screen and (max-width: 1000px){.tensorsite-ecosystem .ecosystem{overflow:scroll;padding:50px 20px}}.tensorsite-ecosystem .ecosystem__row{border-bottom:1px solid #dadada;display:flex}@media only screen and (max-width: 1000px){.tensorsite-ecosystem .ecosystem__row{width:970px}.tensorsite-ecosystem .ecosystem__row::after{content:'';display:block;flex:0 0 20px;height:1px}}.tensorsite-ecosystem .ecosystem__row--header{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px;border:none;color:#425066;text-align:center}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col{padding-top:30px;position:relative}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col::before{font-size:18px;line-height:30px;background:#fff;border-radius:50%;box-shadow:0 0 36px rgba(0,0,0,0.1);color:#ff6f00;display:block;height:32px;left:50%;position:absolute;top:0;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:32px}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col:nth-child(0)::before{content:"-1"}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col:nth-child(1)::before{content:"0"}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col:nth-child(2)::before{content:"1"}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col:nth-child(3)::before{content:"2"}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__col:nth-child(4)::before{content:"3"}.tensorsite-ecosystem .ecosystem__row--header .ecosystem__row-body__bg::before,.tensorsite-ecosystem .ecosystem__row--header .ecosystem__row-body__bg::after,.tensorsite-ecosystem .ecosystem__row--header .ecosystem__row-body__bg .ecosystem__row-body__bg-col{border-top-left-radius:10px;border-top-right-radius:10px}.tensorsite-ecosystem .ecosystem__row-header{align-items:center;display:flex;flex:0 0 11%;flex-direction:column;justify-content:center;max-width:11%;padding:20px;text-align:center}.tensorsite-ecosystem .ecosystem__row-header__image{background-position:center;background-repeat:no-repeat;background-size:contain;height:40px;margin-bottom:10px;width:100%}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem__row-header__image{height:32px}}.tensorsite-ecosystem .ecosystem__row-header__title{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:18px;align-items:center;color:#425066;font-weight:500}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem__row-header__title{font-size:11px;line-height:14px}}.tensorsite-ecosystem .ecosystem__row-header__labels{font-family:"Google Sans",sans-serif;font-size:12px;font-weight:700;line-height:18px;color:#616161;margin-top:15px}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem__row-header__labels{font-size:10px;line-height:14px;margin-top:10px}}.tensorsite-ecosystem .ecosystem__row-body{display:flex;flex:0 0 89%;justify-content:space-between;max-width:89%;position:relative}.tensorsite-ecosystem .ecosystem__row-body__bg{bottom:0;display:flex;justify-content:space-between;left:0;position:absolute;right:0;top:0}.tensorsite-ecosystem .ecosystem__row-body__bg::before,.tensorsite-ecosystem .ecosystem__row-body__bg::after,.tensorsite-ecosystem .ecosystem__row-body__bg .ecosystem__row-body__bg-col{background:#f5f6f7;content:'';display:block;flex:0 0 calc(33.33% - 5px);max-width:calc(33.33% - 5px)}.tensorsite-ecosystem .ecosystem__col{display:flex;flex:0 0 calc(100%/3 - 5px);flex-direction:column;max-width:calc(100%/3 - 5px);padding:20px 20px 0;position:relative}.tensorsite-ecosystem .ecosystem__col--full{flex:0 0 100%;max-width:100%}.tensorsite-ecosystem .ecosystem__col--full .ecosystem-card__main-content,.tensorsite-ecosystem .ecosystem__col--full .ecosystem-card__expanding-content{margin:0 auto;max-width:450px;width:60%}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem__col{padding:15px 15px 0}}.tensorsite-ecosystem .ecosystem__next{background-image:url(/site-assets/images/marketing/icon/icon_ecosystem_next.svg);background-position:center;background-repeat:no-repeat;background-size:80%;display:inline-block;height:20px;margin:-15px auto 5px;text-align:center;width:20px}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem__next{margin-top:-10px}}.tensorsite-ecosystem .ecosystem-input{left:-10000px;opacity:0;position:fixed}.tensorsite-ecosystem .ecosystem-input:checked+.ecosystem-card{z-index:10}.tensorsite-ecosystem .ecosystem-input:checked+.ecosystem-card .ecosystem-card__expanding-content{margin-bottom:20px;max-height:200px;opacity:1}.tensorsite-ecosystem .ecosystem-input:checked+.ecosystem-card .ecosystem-card__lower-content{box-shadow:0 0 64px rgba(0,0,0,0.22)}.tensorsite-ecosystem .ecosystem-input:checked+.ecosystem-card .ecosystem-card__toggle{background-image:url(/site-assets/images/marketing/icon/icon_ecosystem_close.svg)}.tensorsite-ecosystem .ecosystem-card{border-radius:10px;font-weight:500;margin-bottom:20px;position:relative;font-family:"Google Sans",sans-serif;font-size:12px;line-height:16px}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem-card{font-size:10px;line-height:14px;margin-bottom:15px}}.tensorsite-ecosystem .ecosystem-card--no-cta .ecosystem-card__lower-content{padding-bottom:32px}.tensorsite-ecosystem .ecosystem-card__label{font-family:"Google Sans",sans-serif;font-size:12px;font-weight:700;line-height:18px;border-bottom:1px solid rgba(66,80,102,0.08);color:#425066;font-size:9px;position:relative;text-align:center;text-transform:uppercase;z-index:2}.tensorsite-ecosystem .ecosystem-card__content-wrapper{padding-bottom:31px}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem-card__content-wrapper{padding-bottom:29px}}.tensorsite-ecosystem .ecosystem-card__main-content{align-items:center;display:flex;height:80px;justify-content:center;margin:0 30px;overflow:hidden;position:relative;text-align:center;z-index:2}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem-card__main-content{height:60px;margin:0 15px}}.tensorsite-ecosystem .ecosystem-card__lower-content{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);height:auto;left:0;padding:100px 30px 15px;position:absolute;right:0;text-align:center;top:0;transition:box-shadow .3s ease;z-index:1}@media only screen and (max-width: 1279px){.tensorsite-ecosystem .ecosystem-card__lower-content{padding:80px 15px 15px}}.tensorsite-ecosystem .ecosystem-card__expanding-content{max-height:0px;opacity:0;overflow:hidden;text-align:center;transition:all .3s ease}.tensorsite-ecosystem .ecosystem-card__cta{display:inline-block;line-height:normal;border-bottom:1px solid #ff6f00;color:#616161;font-weight:500;transition:color .2s linear;color:#616161;font-weight:700}.tensorsite-ecosystem .ecosystem-card__cta:hover{color:#ff6f00}.tensorsite-ecosystem .ecosystem-card__cta:focus{outline:2px solid #425066;outline-offset:2px}.tensorsite-ecosystem .ecosystem-card__toggle{background-image:url(/site-assets/images/marketing/icon/icon_ecosystem_info.svg);background-position:center;background-repeat:no-repeat;background-size:auto;border-radius:50%;bottom:12px;cursor:pointer;height:24px;position:absolute;right:12px;width:24px}@media only screen and (max-width: 1000px){.tensorsite-ecosystem .ecosystem-card__toggle{bottom:0;height:48px;right:0;width:48px}}.tensorsite-examples-table{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);padding:40px}.tensorsite-examples-table input.tensorsite-examples-table__search{background:#f1f3f4;border:0;border-bottom:2px solid transparent;border-radius:2px;margin:12px 0;max-width:426px;padding:8px}.tensorsite-examples-table input.tensorsite-examples-table__search:focus{border-bottom:2px solid #1a73e8}.tensorsite-examples-table .devsite-select--multiple{margin:0 16px 8px 0}.tensorsite-examples-table .devsite-select .devsite-icon-arrow-drop-down{right:0}.tensorsite-examples-table .checkbox-demo{margin:8px 0}.tensorsite-examples-table table{border-radius:10px;margin-top:24px;overflow:hidden}.tensorsite-examples-table thead{background:#425066;color:#fff}.tensorsite-examples-table thead th{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:22px;background:none;color:#fff;padding:14px 24px}.tensorsite-examples-table thead th.widest-column{min-width:210px}.tensorsite-examples-table thead th.medium-column{min-width:150px}.tensorsite-examples-table tr{border:0}.tensorsite-examples-table tr td{min-width:130px;padding:12px 24px;vertical-align:middle;width:140px}.tensorsite-examples-table tr td>a{font-family:"Google Sans",sans-serif;font-weight:700;font-size:14px;line-height:22px}.tensorsite-examples-table tr td span:before,.tensorsite-examples-table tr td span:after{width:16px}.tensorsite-examples-table tr:nth-child(even){background-color:#425066}.tensorsite-examples-table .tensorsite-content__cta-wrapper a{align-self:center}.tensorsite-fancy-hero-wrapper{background-color:transparent;margin:0 auto;overflow:hidden;position:relative;width:100%}.tensorsite-fancy-hero-wrapper iframe.framebox{opacity:0}@media only screen and (min-width: 768px){.tensorsite-fancy-hero-wrapper iframe{min-height:550px}}.tensorsite-fancy-hero-wrapper devsite-framebox iframe{opacity:1}@media only screen and (min-width: 768px){.tensorsite-fancy-hero-wrapper+.tensorsite-casestudy{margin-top:-90px}}.tensorsite-fancy-hero-wrapper--short{min-height:0}.tensorsite-fancy-hero{background-color:transparent;margin:0 auto;max-width:1420px;padding:0 40px;position:relative}@media only screen and (min-width: 768px){.tensorsite-fancy-hero{min-height:440px}}@media only screen and (max-width: 767px){.tensorsite-fancy-hero{padding:0 20px}}.tensorsite-fancy-hero .tensorsite-content__subtitle{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:22px;font-weight:600}.tensorsite-fancy-hero .tensorsite-content__description{font-size:18px;line-height:30px;color:#425066}.tensorsite-fancy-hero .tensorsite-content__cta-wrapper{margin-top:8px}.tensorsite-fancy-hero__brand-image{background-repeat:no-repeat;background-size:contain;height:40px;margin:0 15px;width:calc(16.66667% - $margin-gutter)}.tensorsite-fancy-hero__image{position:absolute;right:-22%;top:0;width:70%}.tensorsite-fancy-hero__image img{max-height:430px}@media only screen and (max-width: 767px){.tensorsite-fancy-hero__image{width:110%}}.tensorsite-fancy-hero__content{margin:0 15px;padding:0;text-align:left;width:calc(41.66667% - 30px)}@media only screen and (max-width: 1000px){.tensorsite-fancy-hero__content{width:calc(50% - 30px)}}@media only screen and (max-width: 767px){.tensorsite-fancy-hero__content{margin:40% 0 0;width:100%}}@media only screen and (max-width: 767px){.tensorsite-fancy-hero__content .tensorsite-content{padding:26px 15px}}.tensorsite-fancy-hero__slides-wrapper{position:relative}.tensorsite-fancy-hero__slide{left:0;opacity:1;top:0;transition:.3s opacity linear;width:100%}@media only screen and (min-width: 768px){.tensorsite-fancy-hero__slide{padding:40px 8.33333%}}@media only screen and (max-width: 1279px){.tensorsite-fancy-hero__slide{flex-direction:column;padding:40px 0}}@media only screen and (max-width: 767px){.tensorsite-fancy-hero__slide{box-sizing:border-box;overflow:hidden;padding:50px 15px 20px}}.tensorsite-fancy-hero__slide--fade{-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-name:tensorsite-fancy-hero__slide-fade;animation-name:tensorsite-fancy-hero__slide-fade}.tensorsite-fancy-hero__slide.is-carousel{position:absolute}.tensorsite-fancy-hero__slide.is-invisible{opacity:0;pointer-events:none}.tensorsite-fancy-hero__slide .tensorsite-content{padding-left:0;padding-right:0}.tensorsite-fancy-hero__dots{bottom:140px;position:absolute}@media only screen and (min-width: 1280px){.tensorsite-fancy-hero__dots{margin:30px 0 30px calc(8.33333% + (30px / 2 - 7px))}}@media only screen and (max-width: 1279px){.tensorsite-fancy-hero__dots{margin:30px 0 30px 10px}}@media only screen and (max-width: 767px){.tensorsite-fancy-hero__dots{bottom:20px;margin:0 0 30px 15px}}.tensorsite-fancy-hero__dot{background:none;border:2px #ccc solid;border-radius:50%;cursor:pointer;display:inline-block;height:14px;margin:0 2px;min-width:0;padding:0;transition:background-color .3s linear;width:14px}.tensorsite-fancy-hero__dot:focus{outline:2px solid #425066;outline-offset:2px}.tensorsite-fancy-hero__dot.is-active{background-color:#ccc}.tensorsite-footer{margin-top:-92px;overflow:hidden;padding-top:92px;pointer-events:none;position:relative}.tensorsite-footer::before,.tensorsite-footer::after{bottom:0;content:'';display:block;position:absolute}.tensorsite-footer::before{background:#ff6f00;left:0;right:calc(1440px + ((100% - 1440px) / 2) + (192px / 2));top:184px}.tensorsite-footer::after{background:#FFA800;left:calc(1440px + ((100% - 1440px) / 2) + (192px / 2));right:0;top:0}.tensorsite-footer--gray{margin-top:0px;background-color:#f5f6f7}.tensorsite-footer__container{background-image:linear-gradient(-90deg, #FFA800 18%, #ff6f00 86%);margin:0 auto;max-width:calc(100% - 192px);min-height:350px;padding:70px 0;position:relative}@media screen and (min-width: 1440px){.tensorsite-footer__container{max-width:1248px}}@media only screen and (max-width: 767px){.tensorsite-footer__container{background-image:linear-gradient(-90deg, #FFA800, #ff6f00);padding-bottom:100px}}.tensorsite-footer__side{bottom:0;position:absolute;width:192px}.tensorsite-footer__side::before{content:'';display:block;height:92px;margin-top:-92px;width:100%}.tensorsite-footer__side--left{background:#ff6f00;left:-192px;top:92px}.tensorsite-footer__side--left::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 92'%3E%3Cpath d='M162 8L96 46 30 84a60.7 60.7 0 0 1-30 8h192V0a60.7 60.7 0 0 0-30 8z' fill='%23FF6F00'/%3E%3C/svg%3E")}.tensorsite-footer__side--right{background:#FFA800;right:-192px;top:0}.tensorsite-footer__side--right::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 92'%3E%3Cpath d='M162 8L96 46 30 84a60.7 60.7 0 0 1-30 8h192V0a60.7 60.7 0 0 0-30 8z' fill='%23ffa800'/%3E%3C/svg%3E")}.tensorsite-footer__content{pointer-events:auto;position:relative;z-index:3}.tensorsite-footer__content .tensorsite-content{margin:0 auto;max-width:650px;padding:0}.tensorsite-footer__content .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:700;line-height:48px;color:#fff;padding:0;text-align:center;width:auto}@media only screen and (max-width: 767px){.tensorsite-footer__content .tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-footer__content .tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}.tensorsite-footer__content .tensorsite-content__description{font-size:18px;line-height:30px;color:#fff;text-align:center}.tensorsite-footer__content .tensorsite-content__cta-wrapper{margin-top:10px;text-align:center}.tensorsite-footer__content .tensorsite-content__cta-wrapper a{align-self:center}.tensorsite-footer__content .tensorsite-content .tensorsite-content__title+.tensorsite-content__cta-wrapper{margin-top:40px}@media only screen and (max-width: 767px){.tensorsite-footer__content{margin:36px -76px}}.tensorsite-footer__lines{background:url(/site-assets/images/marketing/footer-lines.svg) center bottom/100% auto no-repeat;bottom:0;left:50%;max-width:1720px;min-width:1320px;pointer-events:none;position:absolute;top:0;-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0);width:90vw;z-index:2}@media only screen and (max-width: 767px){.tensorsite-footer__lines{-webkit-transform:translate(-30%, 0);transform:translate(-30%, 0)}}@media only screen and (max-width: 480px){.tensorsite-footer__lines{-webkit-transform:translate(-20%, 0);transform:translate(-20%, 0)}}.tensorsite-footer--redesign .tensorsite-content{max-width:unset}.tensorsite-footer--redesign .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:700;line-height:72px;letter-spacing:-0.5px;color:#fff;color:#fff;text-align:center}@media only screen and (max-width: 1279px){.tensorsite-footer--redesign .tensorsite-content__title{line-height:58px}}@media only screen and (max-width: 767px){.tensorsite-footer--redesign .tensorsite-content__title{font-size:36px;line-height:44px;letter-spacing:-0.25px}}.tensorsite-footer--redesign .tensorsite-content__cta-wrapper{flex-direction:row;text-align:center;align-self:center;gap:34px}@media only screen and (max-width: 767px){.tensorsite-footer--redesign .tensorsite-content__cta-wrapper{flex-direction:column;gap:16px}}.tensorsite-footer--redesign .tensorsite-content .tensorsite-button{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#616161;text-decoration:underline;text-underline-offset:4px;text-decoration:none;align-self:center}.tensorsite-footer--redesign .tensorsite-content .tensorsite-button:hover,.tensorsite-footer--redesign .tensorsite-content .tensorsite-button:focus{color:#ff6f00}.tensorsite-footer--redesign .tensorsite-content .tensorsite-button:hover{color:#fff}.tensorsite-footerlink{color:#425066;margin:0 auto 80px;max-width:1140px}@media only screen and (min-width: 768px){.tensorsite-footerlink{padding:0 180px}}@media only screen and (max-width: 1279px){.tensorsite-footerlink{flex-direction:column;margin-bottom:50px;padding:0 100px}}@media only screen and (max-width: 1279px) and (-ms-high-contrast: none), only screen and (max-width: 1279px) and (-ms-high-contrast: active){.tensorsite-footerlink{display:block}}@media only screen and (max-width: 767px){.tensorsite-footerlink{padding:35px 35px 0}}.tensorsite-footerlink__inner{display:flex}.tensorsite-footerlink__wrapper{color:#425066;cursor:pointer;margin-bottom:auto;transition:.2s color linear;width:46%}.tensorsite-footerlink__wrapper:focus{outline:2px solid #425066;outline-offset:2px}.tensorsite-footerlink__wrapper-left{margin-right:auto;text-align:left}.tensorsite-footerlink__wrapper-left .tensorsite-footerlink__label{padding-left:35px}.tensorsite-footerlink__wrapper-left .tensorsite-footerlink__label::before,.tensorsite-footerlink__wrapper-left .tensorsite-footerlink__label::after{left:0}.tensorsite-footerlink__wrapper-right{margin-left:auto;text-align:right}.tensorsite-footerlink__wrapper-right .tensorsite-footerlink__label{padding-right:35px}.tensorsite-footerlink__wrapper-right .tensorsite-footerlink__label::before,.tensorsite-footerlink__wrapper-right .tensorsite-footerlink__label::after{right:0}.tensorsite-footerlink__wrapper:hover,.tensorsite-footerlink__wrapper:focus{color:#ff6f00}.tensorsite-footerlink__wrapper:hover .tensorsite-footerlink__label::before,.tensorsite-footerlink__wrapper:focus .tensorsite-footerlink__label::before{opacity:1}.tensorsite-footerlink__wrapper:hover .tensorsite-footerlink__label::after,.tensorsite-footerlink__wrapper:focus .tensorsite-footerlink__label::after{opacity:0}.tensorsite-footerlink__label{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px;position:relative}.tensorsite-footerlink__label::before,.tensorsite-footerlink__label::after{background-repeat:no-repeat;background-size:contain;bottom:0;content:'';height:18px;margin:auto 0;position:absolute;right:0px;top:0;transition:.2s opacity linear;width:18px}.tensorsite-footerlink__label::before{opacity:0}.tensorsite-footerlink__body{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:26px}.tensorsite-hero+.tensorsite-group:not(.tensorsite-group--has-top-divider) .tensorsite-container:first-child{margin-top:0}@media only screen and (max-width: 767px){.tensorsite-group .tensorsite-block .tensorsite-card{flex-basis:calc(100% - 30px);flex-shrink:0}}@media only screen and (max-width: 767px){.tensorsite-group .tensorsite-expandable{padding:0 15px}}.tensorsite-group__divider{border-top:1px solid #dadada;margin:auto 80px;max-width:1420px}@media only screen and (min-width: 1430px){.tensorsite-group__divider{margin:auto;width:90%}}.tensorsite-group__divider--footerlink{border-color:#425066;margin:0 auto 22px;width:100%}.tensorsite-group__header .tensorsite-content{padding-bottom:50px;padding-top:0}@media only screen and (max-width: 767px){.tensorsite-group__header .tensorsite-content{padding-left:15px;padding-right:15px}}.tensorsite-group__header:last-child .tensorsite-content{padding-bottom:0}.tensorsite-group__header,.tensorsite-group__footer{margin:0 auto;text-align:center}.tensorsite-group__header .tensorsite-content__title,.tensorsite-group__footer .tensorsite-content__title{align-self:flex-start;margin:auto;max-width:540px}.tensorsite-group__header .tensorsite-content__small-title,.tensorsite-group__footer .tensorsite-content__small-title{align-self:flex-start;margin:auto;max-width:860px}.tensorsite-group__header .tensorsite-content__description,.tensorsite-group__footer .tensorsite-content__description{margin:10px auto;width:55%}@media only screen and (max-width: 1279px){.tensorsite-group__header .tensorsite-content__description,.tensorsite-group__footer .tensorsite-content__description{width:70%}}@media only screen and (max-width: 767px){.tensorsite-group__header .tensorsite-content__description,.tensorsite-group__footer .tensorsite-content__description{width:100%}}.tensorsite-group__header .tensorsite-content__description:last-child,.tensorsite-group__footer .tensorsite-content__description:last-child{margin-bottom:0}.tensorsite-group__header .tensorsite-content__cta-wrapper,.tensorsite-group__footer .tensorsite-content__cta-wrapper{margin-top:16px}.tensorsite-group__header ul.tensorsite-content__cta-wrapper,.tensorsite-group__footer ul.tensorsite-content__cta-wrapper{justify-content:center}.tensorsite-group__header .tensorsite-content__cta,.tensorsite-group__header .tensorsite-content__button,.tensorsite-group__footer .tensorsite-content__cta,.tensorsite-group__footer .tensorsite-content__button{align-self:center}.tensorsite-group__header--align-left,.tensorsite-group__footer--align-left{text-align:left}@media only screen and (max-width: 850px){.tensorsite-group__header--align-left,.tensorsite-group__footer--align-left{max-width:600px}}.tensorsite-group__header--align-left .tensorsite-content__description,.tensorsite-group__header--align-left .tensorsite-content__title,.tensorsite-group__footer--align-left .tensorsite-content__description,.tensorsite-group__footer--align-left .tensorsite-content__title{align-self:flex-start;margin-left:0;margin-right:0}.tensorsite-group__header--align-left .tensorsite-content__cta,.tensorsite-group__footer--align-left .tensorsite-content__cta{align-self:flex-start}.tensorsite-group__footer .tensorsite-content{padding-bottom:0;padding-top:50px}.tensorsite-group__footer .tensorsite-content .tensorsite-content__cta-wrapper a{align-self:center}.tensorsite-group__footer .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}.tensorsite-group__inner{display:flex;flex-wrap:wrap;list-style:none;margin:-15px auto}.tensorsite-group__inner[data-carousel-container]{flex-wrap:nowrap;transition:-webkit-transform .5s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .5s cubic-bezier(0.4, 0, 0.2, 1);transition:transform .5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform .5s cubic-bezier(0.4, 0, 0.2, 1);will-change:transform}.tensorsite-group [data-carousel-wrapper]{position:relative}.tensorsite-group__button-previous,.tensorsite-group__button-next{background:#fff;border-radius:50%;box-shadow:0 0 36px rgba(0,0,0,0.1);height:46px;opacity:0;pointer-events:none;position:absolute;top:50%;-webkit-transform:translateY(-50%) translateY(20px);transform:translateY(-50%) translateY(20px);transition:box-shadow .3s cubic-bezier(0.4, 0, 0.2, 1),opacity .2s linear,-webkit-transform .2s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow .3s cubic-bezier(0.4, 0, 0.2, 1),opacity .2s linear,transform .2s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow .3s cubic-bezier(0.4, 0, 0.2, 1),opacity .2s linear,transform .2s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .2s cubic-bezier(0.4, 0, 0.2, 1);width:46px;z-index:10}@media only screen and (max-width: 1279px){.tensorsite-group__button-previous.is-visible,.tensorsite-group__button-next.is-visible{opacity:1;pointer-events:auto;-webkit-transform:translateY(-50%);transform:translateY(-50%)}}.tensorsite-group__button-previous:focus,.tensorsite-group__button-previous:hover,.tensorsite-group__button-next:focus,.tensorsite-group__button-next:hover{box-shadow:0 0 64px rgba(0,0,0,0.22)}.tensorsite-group__button-previous .material-icons,.tensorsite-group__button-next .material-icons{color:#ff6f00;font-size:36px;left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.tensorsite-group:focus__button-previous.is-visible,.tensorsite-group:focus__button-next.is-visible,.tensorsite-group:hover__button-previous.is-visible,.tensorsite-group:hover__button-next.is-visible{opacity:1;pointer-events:auto;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tensorsite-group__button-previous{left:40px}@media only screen and (min-width: 1280px){.tensorsite-group__button-previous{left:calc((100vw - 1420px) / -2 + 40px)}}@media only screen and (max-width: 1279px){.tensorsite-group__button-previous{left:0}}.tensorsite-group__button-next{right:40px}@media only screen and (min-width: 1280px){.tensorsite-group__button-next{right:calc((100vw - 1420px) / -2 + 40px)}}@media only screen and (max-width: 1279px){.tensorsite-group__button-next{right:0}}.tensorsite-group--gray{background-color:#f5f6f7}.tensorsite-group--gray:not(.tensorsite-group--redesign){margin-bottom:-120px;padding-bottom:120px;padding-top:80px}.tensorsite-group--gray .tensorsite-container{margin-top:0}.tensorsite-group--gray+.tensorsite-footer{margin-top:-180px}.tensorsite-group--gray.padding-100{padding:100px 0}.tensorsite-group--condensed-top{padding-top:60px}.tensorsite-group--show-all .tensorsite-container{padding-bottom:86px;position:relative}.tensorsite-group--show-all .tensorsite-group__show-all-toggle{bottom:0;left:50%;opacity:0;position:absolute;-webkit-transform:translate(-50%, -5px);transform:translate(-50%, -5px)}.tensorsite-group--show-all .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner{margin-bottom:0;max-height:500px;overflow:hidden;transition:.3s max-height cubic-bezier(0.4, 0, 0.2, 1),.3s margin-bottom cubic-bezier(0.4, 0, 0.2, 1)}.tensorsite-group--show-all .tensorsite-group__show-all-toggle+label{bottom:0;left:50%;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tensorsite-group--show-all .tensorsite-group__show-all-toggle+label span::before{content:attr(data-show-all-default);display:inline-block}.tensorsite-group--show-all .tensorsite-group__show-all-toggle:checked{pointer-events:none}.tensorsite-group--show-all .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner{max-height:500px}.tensorsite-group--show-all .tensorsite-group__show-all-toggle:checked+label span::before{content:attr(data-show-all-collapse)}@media only screen and (max-width: 850px){.tensorsite-group--2up .tensorsite-group__inner,.tensorsite-group--row .tensorsite-group__inner{max-width:600px}}.tensorsite-group--2up .tensorsite-block,.tensorsite-group--2up .tensorsite-card:not(.tensorsite-card--horizontal),.tensorsite-group--row .tensorsite-block,.tensorsite-group--row .tensorsite-card:not(.tensorsite-card--horizontal){flex-shrink:0}.tensorsite-group--2up .devsite-landing-row-item-code,.tensorsite-group--row .devsite-landing-row-item-code{display:flex;flex-direction:column}@media only screen and (max-width: 850px){.tensorsite-group--2up .tensorsite-block,.tensorsite-group--2up .tensorsite-card:not(.tensorsite-card--horizontal),.tensorsite-group--row .tensorsite-block,.tensorsite-group--row .tensorsite-card:not(.tensorsite-card--horizontal){flex-basis:calc(100% - 30px);max-width:calc(100% - 30px);order:0 !important}}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-group--2up .tensorsite-content,.tensorsite-group--row .tensorsite-content{display:block}}@media only screen and (max-width: 850px){.tensorsite-group--3up .tensorsite-group__inner,.tensorsite-group--3up-small .tensorsite-group__inner,.tensorsite-group--3up-short .tensorsite-group__inner{max-width:600px}}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-group--3up .tensorsite-block,.tensorsite-group--3up .tensorsite-card,.tensorsite-group--3up-small .tensorsite-block,.tensorsite-group--3up-small .tensorsite-card,.tensorsite-group--3up-short .tensorsite-block,.tensorsite-group--3up-short .tensorsite-card{flex-basis:calc(100% / 3 - 30px - 1px)}}@supports (-ms-ime-align: auto){.tensorsite-group--3up .tensorsite-block,.tensorsite-group--3up .tensorsite-card,.tensorsite-group--3up-small .tensorsite-block,.tensorsite-group--3up-small .tensorsite-card,.tensorsite-group--3up-short .tensorsite-block,.tensorsite-group--3up-short .tensorsite-card{flex-basis:calc(100% / 3 - 30px - 1px)}}@media only screen and (max-width: 850px){.tensorsite-group--3up .tensorsite-block,.tensorsite-group--3up .tensorsite-card,.tensorsite-group--3up-small .tensorsite-block,.tensorsite-group--3up-small .tensorsite-card,.tensorsite-group--3up-short .tensorsite-block,.tensorsite-group--3up-short .tensorsite-card{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px);order:0 !important}}@media only screen and (max-width: 1000px){.tensorsite-group--3up .tensorsite-block .tensorsite-content,.tensorsite-group--3up-small .tensorsite-block .tensorsite-content,.tensorsite-group--3up-short .tensorsite-block .tensorsite-content{padding-left:0;padding-right:0}}@media only screen and (max-width: 767px){.tensorsite-group--3up .tensorsite-block .tensorsite-content,.tensorsite-group--3up-small .tensorsite-block .tensorsite-content,.tensorsite-group--3up-short .tensorsite-block .tensorsite-content{padding:0 30px}}.tensorsite-group--3up .tensorsite-block .devsite-landing-row-item-code,.tensorsite-group--3up .tensorsite-card:not(.tensorsite-card--horizontal) .devsite-landing-row-item-code,.tensorsite-group--3up-small .tensorsite-block .devsite-landing-row-item-code,.tensorsite-group--3up-small .tensorsite-card:not(.tensorsite-card--horizontal) .devsite-landing-row-item-code,.tensorsite-group--3up-short .tensorsite-block .devsite-landing-row-item-code,.tensorsite-group--3up-short .tensorsite-card:not(.tensorsite-card--horizontal) .devsite-landing-row-item-code,.tensorsite-group--row .tensorsite-block .devsite-landing-row-item-code,.tensorsite-group--row .tensorsite-card:not(.tensorsite-card--horizontal) .devsite-landing-row-item-code{display:flex;flex-direction:column}.tensorsite-group--3up-small .tensorsite-group__inner{justify-content:center;width:75%}@media only screen and (max-width: 1000px){.tensorsite-group--3up-small .tensorsite-group__inner{width:auto}}.tensorsite-group--3up-short .tensorsite-content__image-wrapper{align-items:center;display:flex;justify-content:center;max-height:150px;overflow:hidden}.tensorsite-group--4up .tensorsite-group__inner,.tensorsite-group--5up .tensorsite-group__inner{justify-content:center}@media only screen and (max-width: 767px){.tensorsite-group--4up .tensorsite-group__inner,.tensorsite-group--5up .tensorsite-group__inner{max-width:600px}}@media only screen and (max-width: 767px){.tensorsite-group--4up .tensorsite-block,.tensorsite-group--5up .tensorsite-block{margin:40px 0}}@media only screen and (max-width: 767px){.tensorsite-group--4up .tensorsite-card--hero,.tensorsite-group--5up .tensorsite-card--hero{min-height:400px}}.tensorsite-group--4up .tensorsite-content__title,.tensorsite-group--5up .tensorsite-content__title{max-width:none}.tensorsite-group--4up .tensorsite-block--plain .tensorsite-content,.tensorsite-group--5up .tensorsite-block--plain .tensorsite-content{padding-left:0;padding-right:0}.tensorsite-group--4up .tensorsite-block,.tensorsite-group--4up .tensorsite-card{flex-basis:calc(50% - 30px);max-width:calc(50% - 30px)}@media only screen and (max-width: 767px){.tensorsite-group--4up .tensorsite-block,.tensorsite-group--4up .tensorsite-card{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}}.tensorsite-group--5up .tensorsite-block,.tensorsite-group--5up .tensorsite-card{flex-basis:calc(20% - 30px);flex-shrink:0;max-width:calc(20% - 30px)}@media only screen and (max-width: 1279px){.tensorsite-group--5up .tensorsite-block,.tensorsite-group--5up .tensorsite-card{flex-basis:calc(50% - 30px);max-width:calc(50% - 30px)}}@media only screen and (max-width: 767px){.tensorsite-group--5up .tensorsite-block,.tensorsite-group--5up .tensorsite-card{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}}.tensorsite-group--logos .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__inner{justify-content:center;margin-top:-20px}.tensorsite-group--logos .tensorsite-block,.tensorsite-group--logos .tensorsite-card,.tensorsite-group--logos-small .tensorsite-block,.tensorsite-group--logos-small .tensorsite-card{flex-basis:calc(12.5% - 30px);flex-grow:0;flex-shrink:0}@media only screen and (max-width: 1279px){.tensorsite-group--logos .tensorsite-block,.tensorsite-group--logos .tensorsite-card,.tensorsite-group--logos-small .tensorsite-block,.tensorsite-group--logos-small .tensorsite-card{flex-basis:calc(25% - 30px)}}@media only screen and (max-width: 767px){.tensorsite-group--logos .tensorsite-block,.tensorsite-group--logos .tensorsite-card,.tensorsite-group--logos-small .tensorsite-block,.tensorsite-group--logos-small .tensorsite-card{flex-basis:calc(50% - 30px)}}.tensorsite-group--logos .tensorsite-block,.tensorsite-group--logos-small .tensorsite-block{margin-bottom:0;margin-top:20px}.tensorsite-group--logos .tensorsite-block:nth-child(n+9),.tensorsite-group--logos-small .tensorsite-block:nth-child(n+9){visibility:hidden}.tensorsite-group--logos .tensorsite-block:last-of-type,.tensorsite-group--logos-small .tensorsite-block:last-of-type{margin-bottom:4px}.tensorsite-group--logos .tensorsite-block__image,.tensorsite-group--logos-small .tensorsite-block__image{background-position:center center;background-repeat:no-repeat;background-size:contain;height:65px;outline-offset:-4px}.tensorsite-group--logos .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner{max-height:90px}@media only screen and (max-width: 1279px){.tensorsite-group--logos .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner{max-height:calc(86px * 2)}}@media only screen and (max-width: 767px){.tensorsite-group--logos .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__show-all-toggle ~ .tensorsite-group__inner{max-height:calc(86px * 4)}}.tensorsite-group--logos .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner{--number-of-rows: 6;max-height:510px;max-height:calc(86px * var(--number-of-rows))}@media only screen and (max-width: 1279px){.tensorsite-group--logos .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner{max-height:1020px;max-height:calc(86px * var(--number-of-rows) * 2)}}@media only screen and (max-width: 767px){.tensorsite-group--logos .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner,.tensorsite-group--logos-small .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner{max-height:1020px;max-height:calc(86px * var(--number-of-rows) * 4)}}.tensorsite-group--logos .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner .tensorsite-block:nth-child(n+9),.tensorsite-group--logos-small .tensorsite-group__show-all-toggle:checked ~ .tensorsite-group__inner .tensorsite-block:nth-child(n+9){visibility:visible}.tensorsite-group--logos-wide .tensorsite-block{margin-left:30px;margin-right:30px}.tensorsite-group--row .tensorsite-group__header,.tensorsite-group--row-3up .tensorsite-group__header{display:flex;flex-basis:calc(100% / 3);flex-direction:column;flex-grow:0;flex-shrink:0;margin:15px 0;max-width:calc(100% / 3);text-align:left}@media only screen and (max-width: 850px){.tensorsite-group--row .tensorsite-group__header,.tensorsite-group--row-3up .tensorsite-group__header{flex-basis:100%;max-width:none}}@media only screen and (max-width: 767px){.tensorsite-group--row .tensorsite-group__header,.tensorsite-group--row-3up .tensorsite-group__header{flex-basis:100%;max-width:100%}}.tensorsite-group--row .tensorsite-group__header .tensorsite-content,.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content{padding-bottom:0;padding-top:0;flex-grow:0;flex-shrink:0;position:sticky;top:120px}.tensorsite-group--row .tensorsite-group__header .tensorsite-content__title,.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content__title{align-self:flex-start;margin:0;max-width:none}.tensorsite-group--row .tensorsite-group__header .tensorsite-content__description,.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content__description{margin:0;flex-grow:0;flex-shrink:0;width:auto}.tensorsite-group--row .tensorsite-group__inner-wrapper,.tensorsite-group--row-3up .tensorsite-group__inner-wrapper{display:flex;flex-basis:calc(100% / 3 * 2);flex-wrap:wrap;max-width:calc(100% / 3 * 2)}@media only screen and (max-width: 850px){.tensorsite-group--row .tensorsite-group__inner-wrapper,.tensorsite-group--row-3up .tensorsite-group__inner-wrapper{flex-basis:100%;max-width:none}}@media only screen and (max-width: 767px){.tensorsite-group--row .tensorsite-group__inner-wrapper,.tensorsite-group--row-3up .tensorsite-group__inner-wrapper{flex-basis:100%;max-width:100%}}@media only screen and (min-width: 851px){.tensorsite-group--row-3up .tensorsite-container{display:flex}}@media only screen and (max-width: 850px){.tensorsite-group--row-3up .tensorsite-container .tensorsite-group__inner{max-width:600px}}@media only screen and (min-width: 851px){.tensorsite-group--row-3up .tensorsite-group__header{max-width:calc(100% / 4)}}.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content{padding:0 15px 50px}@media only screen and (max-width: 850px){.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content{text-align:center}}.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}@media only screen and (max-width: 850px){.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content__title{align-self:center}}@media only screen and (max-width: 850px){.tensorsite-group--row-3up .tensorsite-group__header .tensorsite-content__subtitle{margin:0 auto 8px}}.tensorsite-group--row-3up .tensorsite-group__inner{width:100%}.tensorsite-group--row-3up .tensorsite-group__inner .tensorsite-card{max-width:calc(100% / 3 - 30px)}@media only screen and (max-width: 1279px){.tensorsite-group--row-3up .tensorsite-group__inner .tensorsite-card{flex-basis:calc(100% / 2 - 30px);max-width:calc(100% / 2 - 30px)}}@media only screen and (max-width: 850px){.tensorsite-group--row-3up .tensorsite-group__inner .tensorsite-card{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}}.tensorsite-group--why-learn{position:relative;z-index:1}@media only screen and (max-width: 850px){.tensorsite-group--single-card .tensorsite-group__inner{max-width:600px}}.tensorsite-group--single-card .tensorsite-card{margin:15px auto;max-width:calc(66.66667% - 30px)}@media only screen and (max-width: 1279px){.tensorsite-group--single-card .tensorsite-card{max-width:calc(83.33333% - 30px)}}@media only screen and (max-width: 850px){.tensorsite-group--single-card .tensorsite-card{max-width:100%}}.tensorsite-group--full-width .tensorsite-content__title{max-width:100%}.tensorsite-group--full-width .tensorsite-content__description{width:auto}.tensorsite-group--standalone .tensorsite-container{margin-bottom:0}.tensorsite-group--community-day .tensorsite-content__small-title,.tensorsite-group--community-day .tensorsite-content__title{font-size:24px}.tensorsite-group--community-day .tensorsite-content__description p{font-family:"Google Sans",sans-serif;font-size:20px}.tensorsite-group--community-day-program .tensorsite-card--horizontal{flex-direction:column}.tensorsite-group--community-day-program .tensorsite-content:not(:last-child){padding-bottom:0}.tensorsite-hero{display:flex;margin:0 auto;max-width:1420px;padding:0 40px;position:relative;overflow-clip-margin:calc(50vw - 710px)}@media only screen and (min-width: 768px){.tensorsite-hero{padding:100px 40px 50px}}@media only screen and (max-width: 1279px){.tensorsite-hero{flex-direction:column;padding:100px 100px 50px}}@media only screen and (max-width: 1279px) and (-ms-high-contrast: none), only screen and (max-width: 1279px) and (-ms-high-contrast: active){.tensorsite-hero{display:block}}@media only screen and (max-width: 767px){.tensorsite-hero{padding:50px 20px 0}}@media only screen and (min-width: 1280px){.tensorsite-hero--river,.tensorsite-hero--river-large{align-items:center;justify-content:space-between}}.tensorsite-hero--river::before,.tensorsite-hero--river-large::before{background:url(/site-assets/images/marketing/hero-river-bg-left.svg) center/cover no-repeat;content:'';height:304px;left:-250px;position:absolute;top:0;width:443px}@media only screen and (min-width: 768px){.tensorsite-hero--river::after,.tensorsite-hero--river-large::after{background:url(/site-assets/images/marketing/hero-river-bg-right.svg) center/cover no-repeat;content:'';height:904px;position:absolute;right:-350px;top:0;width:1440px;z-index:-1}}.tensorsite-hero--river .tensorsite-hero__side--left,.tensorsite-hero--river-large .tensorsite-hero__side--left{background-color:#ff6f00;height:304px;right:calc(100% + 250px);top:0}.tensorsite-hero--river .tensorsite-hero__side--right,.tensorsite-hero--river-large .tensorsite-hero__side--right{background:linear-gradient(to bottom, #f5f6f7, rgba(255,255,255,0));height:904px;left:calc(100% + 350px);top:0}.tensorsite-hero--center .tensorsite-hero__content{flex-basis:100% !important;margin-left:0;max-width:none !important}.tensorsite-hero--center .tensorsite-hero__content .tensorsite-content{margin:0 auto;text-align:center;width:50%}@media only screen and (max-width: 767px){.tensorsite-hero--center .tensorsite-hero__content .tensorsite-content{width:auto}}.tensorsite-hero--river .tensorsite-hero__content{flex:0 0 calc(41.66667% - 30px);max-width:calc(41.66667% - 30px)}@media only screen and (max-width: 1279px){.tensorsite-hero--river .tensorsite-hero__content{flex-basis:83.33333%;margin:0 auto;max-width:83.33333%}}@media only screen and (max-width: 767px){.tensorsite-hero--river .tensorsite-hero__content{flex-basis:100%;max-width:100%}}.tensorsite-hero--river.tensorsite-hero--wider .tensorsite-hero__content{flex:auto;max-width:inherit}@media only screen and (min-width: 768px){.tensorsite-hero--river.tensorsite-hero--wider .tensorsite-hero__image{flex:0 0 35%}}@media only screen and (min-width: 768px){.tensorsite-hero--river.tensorsite-hero--wider .tensorsite-content{max-width:580px}}.tensorsite-hero--river-large{padding-left:180px;padding-right:180px}@media only screen and (max-width: 767px){.tensorsite-hero--river-large{padding:80px 20px 40px}}.tensorsite-hero--river-large::before{background:url(/site-assets/images/marketing/hero-river-bg-left-large.svg) center/cover no-repeat;height:546px;left:-450px;width:774px}.tensorsite-hero--river-large .tensorsite-hero__side--left{height:546px;right:calc(100% + 449px)}.tensorsite-hero--river-large .tensorsite-hero__image{display:none}.tensorsite-hero--image{display:block}@media only screen and (min-width: 768px){.tensorsite-hero--image{min-height:550px}}@media only screen and (max-width: 1279px){.tensorsite-hero--image{padding-left:70px;padding-right:70px}}@media only screen and (max-width: 767px){.tensorsite-hero--image{padding:50px 20px}}@media only screen and (min-width: 768px){.tensorsite-hero--image+.tensorsite-casestudy{margin-top:-90px}}.tensorsite-hero--image .tensorsite-hero__image{margin:0 auto;padding:0;position:absolute;right:-18%;top:0;width:68%}@media only screen and (max-width: 767px){.tensorsite-hero--image .tensorsite-hero__image{width:122%}.tensorsite-hero--image .tensorsite-hero__image img{max-width:100%}}@media only screen and (min-width: 768px){.tensorsite-hero--image .tensorsite-hero__content{width:33.33333%}}@media only screen and (max-width: 1279px){.tensorsite-hero--image .tensorsite-hero__content{text-align:left;width:41.66667%}}@media only screen and (max-width: 767px){.tensorsite-hero--image .tensorsite-hero__content{margin:60% 0 0;padding-top:26px;width:100%}}.tensorsite-hero--image .tensorsite-hero__content .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:16px;line-height:28px}@media only screen and (min-width: 768px){.tensorsite-hero--image .tensorsite-hero__content .tensorsite-content__description{padding-bottom:100px}}@media only screen and (min-width: 1280px){.tensorsite-hero--shape{align-items:center;justify-content:space-between;padding-bottom:0;padding-top:20px}}.tensorsite-hero--shape::before{background:url(/site-assets/images/marketing/hero-shape-bg.svg) center/cover no-repeat;content:'';height:402.25179px;position:absolute;right:-32%;top:0;width:1500px;z-index:-1}@media only screen and (max-width: 767px){.tensorsite-hero--shape::before{left:50%;right:auto;top:0;-webkit-transform:translateX(-50%);transform:translateX(-50%)}}@media only screen and (max-width: 1279px){.tensorsite-hero--shape .tensorsite-hero__content{flex-basis:66.66667%;margin:0 auto;max-width:66.66667%}}@media only screen and (max-width: 767px){.tensorsite-hero--shape .tensorsite-hero__content{flex-basis:100%;max-width:100%}}.tensorsite-hero--video{height:600px;margin-bottom:50px}@media only screen and (min-width: 1280px){.tensorsite-hero--video{padding-top:120px}}@media only screen and (max-width: 1279px){.tensorsite-hero--video{flex-direction:row}}@media only screen and (max-width: 1000px){.tensorsite-hero--video{flex-direction:column;height:auto}}@media only screen and (max-width: 767px){.tensorsite-hero--video{margin-bottom:0}}.tensorsite-hero--video::after{background:#dadada;bottom:0;content:'';height:1px;left:50%;position:absolute;-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0);width:100vw;z-index:1}.tensorsite-hero--video::before{background:url(/site-assets/images/marketing/hero-video-bg.svg) top right/cover no-repeat;bottom:0;content:'';left:0;position:absolute;top:0;width:75%;z-index:1}@media only screen and (max-width: 1000px){.tensorsite-hero--video::before{display:none}}.tensorsite-hero--video .tensorsite-hero__content{position:relative;z-index:1}@media only screen and (max-width: 1279px){.tensorsite-hero--video .tensorsite-hero__content{text-align:left}}@media only screen and (min-width: 1280px){.tensorsite-hero--video .tensorsite-hero__content{max-width:calc(33.33333% - 30px)}}@media only screen and (max-width: 1000px){.tensorsite-hero--video .tensorsite-hero__content{padding-bottom:50px;text-align:center}}@media only screen and (min-width: 768px){.tensorsite-hero--video .tensorsite-hero__content .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:46px;font-weight:700;line-height:56px}}@media only screen and (max-width: 1000px){.tensorsite-hero--video .tensorsite-content__cta-wrapper{justify-content:center}}.tensorsite-hero--video .tensorsite-hero__image{bottom:0;left:0;margin-bottom:0;margin-top:0;padding:0;position:absolute;right:0;top:0}@media only screen and (min-width: 1441px){.tensorsite-hero--video .tensorsite-hero__image{margin-left:2px;margin-right:calc((100vw - 1420px) / -2)}}@media only screen and (max-width: 1000px){.tensorsite-hero--video .tensorsite-hero__image{height:45vw;margin-left:-100px;margin-right:-100px;min-height:350px;position:relative}.tensorsite-hero--video .tensorsite-hero__image.tensorsite-hero__image--has-mobile .tensorsite-hero__image--desktop{display:none}}.tensorsite-hero--video .tensorsite-hero__image--desktop,.tensorsite-hero--video .tensorsite-hero__image--mobile{background:center right 45% / cover no-repeat;bottom:0;left:0;position:absolute;right:0;top:0}.tensorsite-hero--video .tensorsite-hero__image--mobile{display:none}@media only screen and (max-width: 1000px){.tensorsite-hero--video .tensorsite-hero__image--mobile{display:block}}.tensorsite-hero--video .tensorsite-hero__side--left{background-color:#fff;height:100%;right:100%;top:0;z-index:1}.tensorsite-hero--video .tensorsite-hero__play-button{bottom:0;position:absolute;right:20%;top:0;z-index:2}@media only screen and (max-width: 1000px){.tensorsite-hero--video .tensorsite-hero__play-button{left:0;right:0}}@media only screen and (min-width: 1280px){.tensorsite-hero--community{padding-bottom:20px;padding-right:60px;padding-top:20px}.tensorsite-hero--community .tensorsite-hero__content{max-width:400px}}.tensorsite-hero--narrow{min-height:440px}.tensorsite-hero--narrow .tensorsite-hero__content .tensorsite-content{width:500px}@media only screen and (max-width: 1279px){.tensorsite-hero--narrow .tensorsite-hero__content .tensorsite-content{width:auto}}@media only screen and (max-width: 767px){.tensorsite-hero--narrow .tensorsite-hero__content .tensorsite-content{padding:0 15px;width:auto}}@media only screen and (max-width: 767px){.tensorsite-hero--narrow .tensorsite-hero__content .tensorsite-hero__buttons{padding:0 15px}}@media only screen and (min-width: 1280px){.tensorsite-hero--community-day{padding:0px}.tensorsite-hero--community-day .tensorsite-hero__content{flex:0 0 50%;max-width:50%}.tensorsite-hero--community-day .tensorsite-hero__content .tensorsite-content__title{font-size:40px;line-height:52px}}.tensorsite-hero.hero-library-extensions::before{top:-25px}.tensorsite-hero__side{position:absolute;width:calc((100vw - 1440px) / 2)}@media only screen and (min-width: 1280px){.tensorsite-hero__content{margin-left:calc(8.33333% + (30px / 2))}.tensorsite-hero--shape .tensorsite-hero__content{max-width:400px}}@media only screen and (max-width: 1279px){.tensorsite-hero__content{text-align:center}}@media only screen and (min-width: 768px){.tensorsite-hero__content{flex:0 0 50%}}.tensorsite-hero__content .tensorsite-content{padding:0}@media only screen and (max-width: 767px){.tensorsite-hero__content .tensorsite-content{padding:0 15px}}.tensorsite-hero__content .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:700;line-height:48px}@media only screen and (max-width: 767px){.tensorsite-hero__content .tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-hero__content .tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}.tensorsite-hero__content .tensorsite-content__description{font-size:18px;line-height:30px;color:#425066}.tensorsite-hero__content .tensorsite-content__description a{color:#425066}.tensorsite-hero__content .tensorsite-content__cta-wrapper{margin-top:8px}@media only screen and (max-width: 1279px){.tensorsite-hero__content .tensorsite-content__cta-wrapper .tensorsite-content__cta{align-self:center}}.tensorsite-hero__buttons{-webkit-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:grid;grid-template-rows:-webkit-max-content -webkit-max-content;grid-template-rows:max-content max-content;margin:24px auto 20px;max-width:300px}@media only screen and (min-width: 768px){.tensorsite-hero__buttons{grid-auto-flow:column;grid-template-columns:1fr 1fr 1fr;max-width:none}}@media only screen and (max-width: 1279px){.tensorsite-hero__buttons{justify-content:center}}.tensorsite-hero__buttons--fixed-width{grid-template-columns:auto}.tensorsite-hero__buttons--fixed-width .tensorsite-hero__button-column{width:160px}.tensorsite-hero__buttons--fixed-width .tensorsite-hero__button{width:100%}.tensorsite-hero__button{align-items:center;display:flex;justify-content:center;text-align:center}.tensorsite-hero__button-subtitle{font-size:12px;line-height:18px;color:#616161}@media only screen and (max-width: 767px){.tensorsite-hero__image{margin:20px -8%}}@media only screen and (min-width: 768px){.tensorsite-hero__image{flex:0 0 50%}}@media only screen and (max-width: 1279px){.tensorsite-hero__image{margin:20px auto;text-align:center}}@media only screen and (min-width: 1280px){.tensorsite-hero__image{padding-left:25px}.tensorsite-hero__image.video-wrapper{padding-right:10%}}@media only screen and (max-width: 767px){.tensorsite-hero__image img{max-width:500px;width:100%}}@media only screen and (min-width: 768px){.tensorsite-hero__image img{min-width:480px}}.tensorsite-hero--redesign .tensorsite-hero__content .tensorsite-content{width:80%}@media only screen and (max-width: 767px){.tensorsite-hero--redesign .tensorsite-hero__content .tensorsite-content{width:auto}}.tensorsite-hero--redesign .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:52px;font-weight:500;line-height:62px;letter-spacing:-0.5px;color:#425066}@media only screen and (max-width: 1279px){.tensorsite-hero--redesign .tensorsite-content__title{font-size:40px;line-height:48px}}@media only screen and (max-width: 767px){.tensorsite-hero--redesign .tensorsite-content__title{font-size:30px;line-height:36px;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-hero--redesign .tensorsite-content__title{text-align:left}}.tensorsite-hero--redesign .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#616161}@media only screen and (max-width: 767px){.tensorsite-hero--redesign .tensorsite-content__description{text-align:left}}.tensorsite-partner-detail{background:#f5f6f7}.tensorsite-partner-detail .tensorsite-container{margin:0 auto;max-width:1420px;padding:0 40px}@media only screen and (max-width: 767px){.tensorsite-partner-detail .tensorsite-container{padding:0 20px}}.tensorsite-partner-detail .tensorsite-container::after{clear:both;content:'';display:table}.tensorsite-partner-detail+.tensorsite-footer{margin-top:0}.tensorsite-partner-detail__section{float:left;margin-left:calc(8.33333% + (30px / 2));margin-right:15px;padding:50px 0;position:relative;width:calc(58.33333% - 30px)}@media only screen and (max-width: 1279px){.tensorsite-partner-detail__section{margin-left:15px;padding:30px 0}}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section{margin-left:0;margin-right:0;width:100%}.tensorsite-partner-detail__section:first-child::after{content:none}}.tensorsite-partner-detail__section::after{border-bottom:1px solid #dadada;bottom:0;content:'';height:1px;left:0;position:absolute;right:0}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section::after{left:15px;right:15px}}.tensorsite-partner-detail__section:last-child{padding-bottom:0}.tensorsite-partner-detail__section:last-child::after,.tensorsite-partner-detail__section--secondary::after{content:none}.tensorsite-partner-detail__section--secondary{float:right;margin:0 15px;padding-top:120px;width:calc(25% - (30px))}@media only screen and (max-width: 1279px){.tensorsite-partner-detail__section--secondary{padding-top:100px;width:calc(33.33333% - 30px)}}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section--secondary{float:left;margin:0;padding:0 15px 60px;width:100%}.tensorsite-partner-detail__section--secondary::after{content:''}}@media only screen and (max-width: 767px){.tensorsite-partner-detail__section--secondary{padding:0 15px 60px}}.tensorsite-partner-detail__section--secondary .tensorsite-list+.tensorsite-list{margin-top:30px}.tensorsite-partner-detail__section--links .tensorsite-partner-detail__section-inner .tensorsite-content:first-child,.tensorsite-partner-detail__section--links .tensorsite-partner-detail__section-inner .tensorsite-content+.tensorsite-content{padding-top:0}.tensorsite-partner-detail__section--lists .tensorsite-partner-detail__section-inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:0}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section--lists .tensorsite-partner-detail__section-inner{padding:0 15px}}.tensorsite-partner-detail__section--lists .tensorsite-partner-detail__section-inner .tensorsite-list{flex:0 0 calc(50% - (30px / 2));margin-bottom:30px}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section--lists .tensorsite-partner-detail__section-inner .tensorsite-list{flex:0 0 100%}}.tensorsite-partner-detail__section--text .tensorsite-content__image-wrapper{background-position:center;background-size:cover;margin:0 auto 30px;padding-top:56.75%;width:100%}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section--text .tensorsite-content__image-wrapper{width:calc(100% - 30px)}}.tensorsite-partner-detail__section .tensorsite-content{padding-left:0;padding-right:0}@media only screen and (max-width: 1000px){.tensorsite-partner-detail__section .tensorsite-content{padding-left:15px;padding-right:15px}}.tensorsite-partner-detail .tensorsite-list{font-size:14px;line-height:22px}.tensorsite-partner-detail .tensorsite-list__description p:last-child,.tensorsite-partner-detail .tensorsite-list__item:last-child{margin-bottom:0}.tensorsite-partner-detail-hero{padding:70px 0}.tensorsite-partner-detail-hero .tensorsite-container{display:flex;justify-content:space-between;margin:0 auto;max-width:1420px;padding:0 40px}@media only screen and (max-width: 1000px){.tensorsite-partner-detail-hero .tensorsite-container{flex-wrap:wrap}}@media only screen and (max-width: 767px){.tensorsite-partner-detail-hero .tensorsite-container{padding:0 20px}}.tensorsite-partner-detail-hero__main{display:flex;margin-left:calc(8.33333% + (30px / 2));margin-right:15px;width:calc(58.33333% - 30px)}@media only screen and (max-width: 1279px){.tensorsite-partner-detail-hero__main{margin-left:15px;width:calc(66.66667% + 30px)}}@media only screen and (max-width: 1000px){.tensorsite-partner-detail-hero__main{flex-wrap:wrap;margin-left:0;margin-right:0;width:100%}}@media only screen and (max-width: 767px){.tensorsite-partner-detail-hero__main{padding:0 15px}}.tensorsite-partner-detail-hero__image{display:flex;flex:0 0 50%;flex-direction:column;justify-content:center;padding-right:50px}.tensorsite-partner-detail-hero__image-wrapper{display:flex;flex-direction:column;height:155px;justify-content:center}.tensorsite-partner-detail-hero__image img{display:block;margin-right:auto;max-height:100%;max-width:252px}@media only screen and (max-width: 1000px){.tensorsite-partner-detail-hero__image{flex:0 0 100%;flex-direction:row;margin-bottom:26px;padding-right:0}.tensorsite-partner-detail-hero__image-wrapper{height:auto;margin:0 auto;max-height:100px;max-width:300px}.tensorsite-partner-detail-hero__image img{margin:0 auto}}.tensorsite-partner-detail-hero__content{padding:30px 0 30px 50px;position:relative}.tensorsite-partner-detail-hero__content::before{background:#dadada;content:'';height:100%;left:0;position:absolute;top:0;width:1px}@media only screen and (min-width: 768px){.tensorsite-partner-detail-hero__content .tensorsite-content{padding-left:0;padding-right:0}}.tensorsite-partner-detail-hero__content .tensorsite-content__subtitle{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px}@media only screen and (max-width: 1279px){.tensorsite-partner-detail-hero__content{padding-left:30px;padding-right:30px}}@media only screen and (max-width: 1000px){.tensorsite-partner-detail-hero__content{flex:0 0 100%;padding:0;text-align:center}.tensorsite-partner-detail-hero__content::before{display:block;height:1px;margin:0 auto;position:relative;width:30%}.tensorsite-partner-detail-hero__content .tensorsite-content__subtitle{align-self:center}}.tensorsite-partner-detail-hero__secondary{flex:0 0 auto;margin:0 15px;padding:30px 0;width:calc(25% - (30px))}@media only screen and (max-width: 1279px){.tensorsite-partner-detail-hero__secondary{width:calc(33.33333% - 30px)}}@media only screen and (max-width: 1000px){.tensorsite-partner-detail-hero__secondary{margin:0 auto;max-width:100%;padding:0 15px;width:auto}}@media only screen and (max-width: 767px){.tensorsite-partner-detail-hero__secondary{padding:30px 15px 0}}.tensorsite-partner-detail-hero__secondary .tensorsite-list{font-size:14px;line-height:22px;background:#f5f6f7}.tensorsite-partner-detail-hero__secondary .tensorsite-list__description p:last-child,.tensorsite-partner-detail-hero__secondary .tensorsite-list__item:last-child{margin-bottom:0}.tensorsite-side-side .tensorsite-container{margin:0 auto;max-width:1420px;padding:80px 40px}@media only screen and (max-width: 767px){.tensorsite-side-side .tensorsite-container{padding:80px 20px}}.tensorsite-side-side .tensorsite-container--no-padding{padding-top:0;padding-bottom:0}.tensorsite-side-side--condensed-bottom .tensorsite-container{padding-bottom:60px}.tensorsite-side-side--no-bottom .tensorsite-container{padding-bottom:0}.tensorsite-side-side .tensorsite-content{padding-left:0;padding-right:0}@media only screen and (max-width: 767px){.tensorsite-side-side .tensorsite-content{padding:26px 0}}.tensorsite-side-side .tensorsite-content p{margin:10px 0}.tensorsite-side-side .tensorsite-content__title{margin-bottom:24px}.tensorsite-side-side .tensorsite-content__image-wrapper{background-position:center;background-size:cover;border-radius:10px;height:100%}@media only screen and (max-width: 1000px){.tensorsite-side-side .tensorsite-content__image-wrapper{height:300px;margin:0}}.tensorsite-side-side .tensorsite-content__image-wrapper.contain-image{background-size:contain;width:100%;background-position:center;background-repeat:no-repeat}.tensorsite-side-side--gray{background-color:#f5f6f7}.tensorsite-side-side--multi-partial .tensorsite-side-side-wrapper{justify-content:space-between}@media only screen and (max-width: 767px){.tensorsite-side-side--multi-partial .tensorsite-side-side-wrapper{display:block}}@media only screen and (min-width: 768px){.tensorsite-side-side--multi-partial .tensorsite-side-side-wrapper .tensorsite-side-side__secondary-section{margin-top:15px}}@media only screen and (max-width: 767px){.tensorsite-side-side--multi-partial .tensorsite-side-side-wrapper .tensorsite-side-side__secondary-section{border-top:1px solid #dadada;margin-top:50px;padding-top:50px}}.tensorsite-side-side--multi-partial .tensorsite-content{height:auto;padding-left:0;padding-right:0}.tensorsite-side-side--multi-partial .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px;margin-bottom:0}.tensorsite-side-side--multi-partial .tensorsite-card{flex-basis:100%;margin-left:0;margin-right:0}@media only screen and (min-width: 768px){.tensorsite-side-side--multi-partial .tensorsite-card{max-width:100%}}@media only screen and (max-width: 767px){.tensorsite-side-side--multi-partial .tensorsite-card{max-width:100%}}.tensorsite-side-side--multi-partial .tensorsite-card .tensorsite-content{padding:26px 30px}.tensorsite-side-side--multi-partial .tensorsite-card .tensorsite-content__image-wrapper{border-radius:10px 10px 0 0;height:auto}.tensorsite-side-side--multi-partial .tensorsite-list--no-background .tensorsite-list__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}@media only screen and (max-width: 1279px){.tensorsite-side-side--centered .tensorsite-side-side__main-section,.tensorsite-side-side--centered .tensorsite-side-side__secondary-section{flex-basis:calc(41.66667% - 30px);max-width:calc(41.66667% - 30px)}}@media only screen and (max-width: 1000px){.tensorsite-side-side--centered .tensorsite-side-side__main-section,.tensorsite-side-side--centered .tensorsite-side-side__secondary-section{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}}.tensorsite-side-side--centered .tensorsite-side-side__main-section{margin-left:calc(4.16667% + (30px / 2))}@media only screen and (max-width: 1000px){.tensorsite-side-side--centered .tensorsite-side-side__main-section{margin-left:15px}}.tensorsite-side-side--centered .tensorsite-side-side__secondary-section{margin-right:calc(4.16667% + (30px / 2))}@media only screen and (max-width: 1000px){.tensorsite-side-side--centered .tensorsite-side-side__secondary-section{margin-right:15px}}.tensorsite-side-side--centered .tensorsite-side-side-wrapper--reverse .tensorsite-side-side__main-section{margin-right:calc(4.16667% + (30px / 2))}@media only screen and (max-width: 1000px){.tensorsite-side-side--centered .tensorsite-side-side-wrapper--reverse .tensorsite-side-side__main-section{margin-right:15px}}.tensorsite-side-side--centered .tensorsite-side-side-wrapper--reverse .tensorsite-side-side__secondary-section{margin-left:calc(4.16667% + (30px / 2))}@media only screen and (max-width: 1000px){.tensorsite-side-side--centered .tensorsite-side-side-wrapper--reverse .tensorsite-side-side__secondary-section{margin-left:15px}}.tensorsite-side-side-wrapper{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:space-between}.tensorsite-side-side-wrapper--reverse{flex-direction:row-reverse}.tensorsite-side-side-wrapper .tensorsite-side-side__secondary-section{margin-left:calc(8.33333% + (30px / 2))}@media only screen and (max-width: 1000px){.tensorsite-side-side-wrapper .tensorsite-side-side__secondary-section{margin-left:15px}}.tensorsite-side-side__main-section,.tensorsite-side-side__secondary-section{flex-basis:calc(41.66667% - 30px);margin:15px;max-width:calc(41.66667% - 30px);z-index:1}@media only screen and (max-width: 1000px){.tensorsite-side-side__main-section,.tensorsite-side-side__secondary-section{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}}.tensorsite-side-side__main-section{margin-left:calc(8.33333% + (30px / 2));margin-right:15px}@media only screen and (max-width: 1279px){.tensorsite-side-side__main-section{flex-basis:calc(50% - 30px);margin-left:15px;max-width:calc(50% - 30px)}}@media only screen and (max-width: 1000px){.tensorsite-side-side__main-section{flex-basis:calc(100% - 30px);margin-left:15px;max-width:calc(100% - 30px)}}.tensorsite-side-side__main-section .tensorsite-content .tensorsite-content__description{margin-bottom:24px}.tensorsite-side-side__main-section .tensorsite-content .tensorsite-content__description:last-child{margin-bottom:0}.tensorsite-side-side__text-wrapper--white-bg{background-color:#fff;border:1px #ccc solid;border-radius:10px;flex-basis:calc(40% - 30px);margin-bottom:26px;padding:0}@media only screen and (max-width: 1000px){.tensorsite-side-side__text-wrapper--white-bg{flex-basis:calc(100% - 30px)}}.tensorsite-side-side__text-wrapper--white-bg .tensorsite-content{padding:40px}.tensorsite-side-side__text-wrapper--white-bg .tensorsite-content__description{margin-bottom:24px}.tensorsite-side-side__text-wrapper--white-bg .tensorsite-content__description strong{color:#425066}@media only screen and (min-width: 1001px){.tensorsite-side-side__text-wrapper--short{margin-top:140px}}.tensorsite-side-side--why-bg,.tensorsite-side-side--learn-bg,.tensorsite-side-side--home-bg{position:relative}.tensorsite-side-side--why-bg::before,.tensorsite-side-side--why-bg::after,.tensorsite-side-side--learn-bg::before,.tensorsite-side-side--learn-bg::after,.tensorsite-side-side--home-bg::before,.tensorsite-side-side--home-bg::after{background:#f5f6f7;content:'';position:absolute;width:calc((100vw - 1794px) / 2)}.tensorsite-side-side--why-bg .tensorsite-side-side__background,.tensorsite-side-side--learn-bg .tensorsite-side-side__background,.tensorsite-side-side--home-bg .tensorsite-side-side__background{background:url(/site-assets/images/marketing/why/whytf-bg.svg) center/contain no-repeat;content:'';height:1932px;left:50%;position:absolute;top:60%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:1794px;z-index:-1}.tensorsite-side-side--why-bg::before{bottom:-411px;left:50%;top:-643px;-webkit-transform:translateX(-100%) translateX(-897px);transform:translateX(-100%) translateX(-897px)}.tensorsite-side-side--why-bg::after{bottom:-751px;left:50%;top:284px;-webkit-transform:translateX(896px);transform:translateX(896px)}.tensorsite-side-side--learn-bg::before{bottom:-324px;left:50%;top:-513px;-webkit-transform:translateX(-100%) translateX(-897px);transform:translateX(-100%) translateX(-897px)}.tensorsite-side-side--learn-bg::after{bottom:-664px;left:50%;top:415px;-webkit-transform:translateX(896px);transform:translateX(896px)}.tensorsite-side-side--home-bg::before{bottom:-329px;left:50%;top:-521px;-webkit-transform:translateX(-100%) translateX(-895px);transform:translateX(-100%) translateX(-895px);z-index:-1}.tensorsite-side-side--home-bg::after{bottom:-670px;left:50%;top:406px;-webkit-transform:translateX(895px);transform:translateX(895px);z-index:-1}.tensorsite-step{margin:0 auto;max-width:1140px}@media only screen and (min-width: 768px){.tensorsite-step{padding:0 180px}}@media only screen and (max-width: 1279px){.tensorsite-step{flex-direction:column;padding:0 100px}}@media only screen and (max-width: 1279px) and (-ms-high-contrast: none), only screen and (max-width: 1279px) and (-ms-high-contrast: active){.tensorsite-step{display:block}}@media only screen and (max-width: 767px){.tensorsite-step{padding:35px 35px 0}}.tensorsite-step__title{color:#425066}.tensorsite-step .tensorsite-container{padding:0}.tensorsite-step .tensorsite-group__divider{margin:0 auto;width:100%}@media only screen and (max-width: 1000px){.tensorsite-tab-group .tensorsite-container{padding:0;width:100%}}.tensorsite-tab-group .tensorsite-button-tab{max-width:1090px}.tensorsite-tab-group .tensorsite-top-tab{max-width:1200px;min-height:580px}@media only screen and (max-width: 1000px){.tensorsite-tab-group .tensorsite-top-tab__tabs::after{left:85px}}@media only screen and (max-width: 767px){.tensorsite-tab-group .tensorsite-top-tab__tabs::after{left:45px}}@media only screen and (max-width: 1000px){.tensorsite-tab-group .tensorsite-top-tab__tabs{padding:0 67px}}@media only screen and (max-width: 767px){.tensorsite-tab-group .tensorsite-top-tab__tabs{padding:0 27px}}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-tab-group .tensorsite-top-tab__content--inner{display:block;padding:0 30px;width:30%}}.tensorsite-tab-group--text-heavy .tensorsite-top-tab__content--inner .tensorsite-top-tab__content__text{flex-basis:calc(60% - 30px)}@media only screen and (max-width: 1000px){.tensorsite-tab-group--text-heavy .tensorsite-top-tab__content--inner .tensorsite-top-tab__content__text{order:2}}.tensorsite-tab-group--text-heavy .tensorsite-top-tab__content--inner .tensorsite-top-tab__image{flex-basis:calc(40% - 30px)}@media only screen and (max-width: 1000px){.tensorsite-tab-group--text-heavy .tensorsite-top-tab__content--inner .tensorsite-top-tab__content__text,.tensorsite-tab-group--text-heavy .tensorsite-top-tab__content--inner .tensorsite-top-tab__image{flex-basis:calc(100% - 30px)}}.tensorsite-tab-group--equal-tab-width .tensorsite-top-tab__tabs label{flex-basis:100%}.tensorsite-tab-group--extra-margin-bottom{margin-bottom:160px}@media only screen and (max-width: 1279px){.tensorsite-tab-group--extra-margin-bottom{margin-bottom:80px}}.tensorsite-diagram{opacity:0;position:relative}.tensorsite-diagram--loaded{opacity:1}.tensorsite-diagram .tensorsite-content__cta{margin-top:16px;font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:19.6px}.tensorsite-diagram .tensorsite-content__cta-icon span:before,.tensorsite-diagram .tensorsite-content__cta-icon span:after{height:14px;width:14px}.tensorsite-diagram__dimmer{background-color:rgba(255,255,255,0.5);height:100%;position:absolute;width:100%;z-index:-1}.tensorsite-diagram__dimmer.active{z-index:2}.tensorsite-diagram__dimmer.scroll-active{cursor:ew-resize}.tensorsite-diagram__scrollbox{box-sizing:content-box;overflow-x:auto}.tensorsite-diagram__scrollbox.grabbing *{cursor:grabbing;cursor:-webkit-grabbing}.tensorsite-diagram__overlay{background:linear-gradient(90deg, rgba(255,255,255,0), #fff);height:calc(100% - 15px);opacity:0;pointer-events:none;position:absolute;right:0;transition:opacity 500ms;width:20vw;z-index:4}.tensorsite-diagram__overlay.active{opacity:1}.tensorsite-diagram .tensorsite-container{display:flex;position:relative}.tensorsite-diagram .tensorsite-container.scroll-active{cursor:ew-resize}.tensorsite-diagram .tensorsite-container.scroll-active .last-section{padding-right:50px}.tensorsite-diagram p{margin:0}.tensorsite-diagram__section{box-sizing:border-box;display:inline-block}.tensorsite-diagram__section hr{background:#dadce0;border:0;height:1px;margin:16px auto;width:calc(100% - (16px * 2))}.tensorsite-diagram__section.first-section hr,.tensorsite-diagram__section.last-section hr{width:calc(100% - (16px))}.tensorsite-diagram__section.first-section hr{margin-left:0}.tensorsite-diagram__section.last-section hr{margin-right:0}.tensorsite-diagram__title{position:relative;text-align:center;font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:18px}.tensorsite-diagram__title.active{z-index:3}.tensorsite-diagram__cols{display:flex}.tensorsite-diagram__col{align-items:center;display:flex;flex-direction:column;padding:0 16px}.tensorsite-diagram__col.first-col{padding-left:0}.tensorsite-diagram__col.last-col{padding-right:0}.tensorsite-diagram__nodes{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-bottom:40px;min-height:252px}.tensorsite-diagram__product.active{z-index:3}.tensorsite-diagram__product .tensorsite-content__cta{align-self:center;margin-top:0;max-width:160px;min-height:154px;text-align:center}.tensorsite-diagram__product .cta-image{align-items:center;border:1px solid #e3e5e8;border-radius:50%;display:flex;height:100px;justify-content:center;margin:0 auto;margin-bottom:16px;width:100px}.tensorsite-diagram__product .cta-image img{max-height:64px;max-width:64px}.tensorsite-diagram .box{background:#fff;border:1px solid transparent;border-radius:6px;box-shadow:0px 2px 8px rgba(66,80,102,0.16);box-sizing:border-box;cursor:pointer;height:52px;margin:16px 0;min-width:196px;outline:none;overflow:hidden;position:relative;text-align:center;transition:all ease-in-out 0.2s;width:100%;z-index:1}.tensorsite-diagram .box .position{transition:all ease-in-out 0.2s}.tensorsite-diagram .box:hover,.tensorsite-diagram .box:focus,.tensorsite-diagram .box.enlarged{box-shadow:0px 2px 12px rgba(66,80,102,0.24)}.tensorsite-diagram .box:hover .position,.tensorsite-diagram .box:focus .position,.tensorsite-diagram .box.enlarged .position{color:#ff6f00}.tensorsite-diagram .box.enlarged,.tensorsite-diagram .box:focus{border:1px solid #ff6f00}.tensorsite-diagram .position{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:18px;margin-bottom:16px}.tensorsite-diagram .additionalInfo{font-size:14px;line-height:22px}.tensorsite-diagram .information{padding:16px}.tfx-diagram-arrow{display:none}.tfx-arrow--up{-webkit-transform:translateY(50%) translateX(-3%);transform:translateY(50%) translateX(-3%)}.tfx-arrow--right{-webkit-transform:translateX(-64%) translateY(2%);transform:translateX(-64%) translateY(2%)}.tfx-arrow--down{-webkit-transform:translateY(-50%) translateX(3%);transform:translateY(-50%) translateX(3%)}.jsplumb-draggable{pointer-events:none}.tensorsite-adjacent-partials-wrapper{display:flex}@media only screen and (max-width: 767px){.tensorsite-adjacent-partials-wrapper{flex-direction:column}}@media only screen and (max-width: 767px){.tensorsite-adjacent-partials-wrapper--mobile-reverse{flex-direction:column-reverse}}.tensorsite-adjacent-partials__main-section,.tensorsite-adjacent-partials__secondary-section{width:100%}@media only screen and (max-width: 767px){.tensorsite-adjacent-partials__main-section .tensorsite-content__cta-wrapper,.tensorsite-adjacent-partials__main-section .tensorsite-content__button,.tensorsite-adjacent-partials__secondary-section .tensorsite-content__cta-wrapper,.tensorsite-adjacent-partials__secondary-section .tensorsite-content__button{align-self:center}}@media only screen and (min-width: 1280px){.tensorsite-adjacent-partials .tensorsite-container--redesign-margin{padding:0 132px}}.tensorsite-blog-carousel--gray{background-color:#f5f6f7;padding-bottom:20px;padding-top:20px}@media only screen and (max-width: 767px){.tensorsite-blog-carousel{margin:0;padding:0}}.tensorsite-blog-carousel .tensorsite-content{align-items:center}.tensorsite-blog-carousel__card{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);margin:auto;overflow:hidden;padding:50px 20px;text-align:center}@media only screen and (max-width: 767px){.tensorsite-blog-carousel__card{background:none;border-radius:0px;box-shadow:none;padding:0px}}.tensorsite-blog-carousel__card .tensorsite-content__description{max-width:600px}.tensorsite-blog-carousel__section{padding:30px 20px;position:relative}.tensorsite-blog-carousel__section::after{content:"";position:absolute;bottom:0;right:20px;pointer-events:none;background-image:linear-gradient(to right, rgba(255,255,255,0), #fff 100%);width:2em;height:100%}@media only screen and (max-width: 767px){.tensorsite-blog-carousel__section{padding:0 20px}.tensorsite-blog-carousel__section::before,.tensorsite-blog-carousel__section::after{content:none}}.tensorsite-blog-carousel__section ul{align-items:stretch;padding:20px;gap:16px}.tensorsite-blog-carousel__section li{background:#fff;width:25%;width:calc(25% - 10px)}@media only screen and (max-width: 1279px){.tensorsite-blog-carousel__section li{width:calc(50% - 10px)}}@media only screen and (max-width: 767px){.tensorsite-blog-carousel__section li{width:100%}}.tensorsite-blog-carousel__section li:first-child{padding-left:20px}.tensorsite-blog-carousel__section li:nth-last-child(2){padding-right:20px}.tensorsite-blog-carousel__section li:first-child,.tensorsite-blog-carousel__section li:nth-last-child(2){width:calc(25% + 10px)}@media only screen and (max-width: 1279px){.tensorsite-blog-carousel__section li:first-child,.tensorsite-blog-carousel__section li:nth-last-child(2){width:calc(50% + 10px)}}@media only screen and (max-width: 767px){.tensorsite-blog-carousel__section li:first-child,.tensorsite-blog-carousel__section li:nth-last-child(2){width:100%}}@media only screen and (max-width: 767px){.tensorsite-blog-carousel__section li{padding:0}.tensorsite-blog-carousel__section li:first-child{padding-left:0}.tensorsite-blog-carousel__section li:nth-last-child(2){padding-right:0}}.tensorsite-blog-carousel__wrapper{display:flex;flex-direction:column;gap:12px;padding:30px;text-align:left;border-radius:10px;border:none;border:1px solid #DADCE0;height:100%}.tensorsite-blog-carousel__wrapper:hover,.tensorsite-blog-carousel__wrapper:focus{box-shadow:0px 4px 14px rgba(0,0,0,0.25)}.tensorsite-blog-carousel__wrapper .tensorsite-blog-carousel__eyebrow{font-family:"Roboto",sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#818181;letter-spacing:0.5px;text-transform:uppercase;margin:0}.tensorsite-blog-carousel__wrapper .tensorsite-blog-carousel__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:28px;color:#425066;transition:color .2s linear}.tensorsite-blog-carousel__wrapper .tensorsite-blog-carousel__title:hover,.tensorsite-blog-carousel__wrapper .tensorsite-blog-carousel__title:focus{color:#ff6f00}.tensorsite-blog-carousel__wrapper .tensorsite-blog-carousel__title::after{content:'';display:block;border-bottom:1px solid #ff6f00}.tensorsite-blog-carousel__wrapper .tensorsite-blog-carousel__description{font-size:16px;font-weight:400;line-height:24px;color:#616161;margin-top:0px;max-height:100px}.tensorsite-blog-carousel__ctas{display:flex;justify-content:space-evenly;padding:0 10%}@media only screen and (max-width: 767px){.tensorsite-blog-carousel__ctas{flex-direction:column;padding:0}}.tensorsite-blog-carousel__ctas>a{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:28px;color:#425066;transition:color .2s linear;text-align:center;width:100%}.tensorsite-blog-carousel__ctas>a:hover,.tensorsite-blog-carousel__ctas>a:focus{color:#ff6f00}.tensorsite-blog-carousel__footer .tensorsite-container{margin:26px 0}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-container{padding:24px 20px}}.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066;max-width:900px}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066;text-align:left;padding-bottom:0}}@media only screen and (max-width: 767px) and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px) and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:400;line-height:44px;letter-spacing:-0.25px;color:#425066;max-width:-webkit-max-content;max-width:max-content}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{font-size:20px;line-height:28px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{font-size:24px;line-height:36px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066}}@media only screen and (max-width: 1279px) and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px) and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content__small-title{text-align:left}}.tensorsite-side-side--redesign .tensorsite-side-side__secondary-section{margin-top:0px;margin-bottom:0px;width:600px;margin:0px !important;flex-basis:50%}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__secondary-section{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px);margin-right:0px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__secondary-section{flex-basis:calc(100%);max-width:calc(100%);margin-right:0px}}.tensorsite-side-side--redesign .tensorsite-side-side__secondary-section .tensorsite-content__image-wrapper{padding-top:48.5% !important;background-repeat:no-repeat;border-radius:0}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__secondary-section .tensorsite-content__image-wrapper{height:200px}}.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content{padding-bottom:80px}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-group__header .tensorsite-content{padding-bottom:24px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign.home-join-tf .tensorsite-group__header .tensorsite-content{padding-bottom:12px}}.tensorsite-side-side--redesign .tensorsite-side-side-wrapper{justify-content:space-around}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side-wrapper{flex-wrap:nowrap}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side-wrapper{flex-wrap:wrap-reverse;flex-direction:row;justify-content:center}}.tensorsite-side-side--redesign .tensorsite-side-side-wrapper.tensorsite-side-side-wrapper--one-way{justify-content:space-between}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side-wrapper.tensorsite-side-side-wrapper--one-way .tensorsite-side-side__secondary-section{max-width:50%}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side-wrapper.tensorsite-side-side-wrapper--one-way .tensorsite-side-side__secondary-section{max-width:100%}}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side-wrapper.tensorsite-side-side-wrapper--one-way{flex-wrap:nowrap;gap:20px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side-wrapper.tensorsite-side-side-wrapper--one-way{flex-wrap:wrap}}.tensorsite-side-side--redesign.card .tensorsite-side-side-wrapper{background:#fff;padding:80px;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1)}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign.card .tensorsite-side-side-wrapper{padding:20px 20px 20px 0px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign.card .tensorsite-side-side-wrapper{padding:20px 0px 20px 20px}.tensorsite-side-side--redesign.card .tensorsite-side-side-wrapper .tensorsite-side-side__main-section{flex-basis:100%}}.tensorsite-side-side--redesign .tensorsite-side-side__main-section{display:flex;align-items:center;width:600px;margin:0 0 0 0 !important;flex-basis:50%}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section{margin:0 0 0 5% !important;flex-basis:calc(100% - 75px)}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section{margin:0 auto 0 0 !important;flex-basis:calc(100%);max-width:calc(100%)}}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content{padding:0}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:400;line-height:44px;letter-spacing:-0.25px;color:#425066;font-weight:400;padding-top:20px;padding-bottom:14px;margin-bottom:0}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-size:20px;line-height:28px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-size:24px;line-height:36px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066;font-weight:400}}@media only screen and (max-width: 1279px) and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px) and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:40px;font-weight:400;line-height:48px;letter-spacing:-0.5px;color:#425066;font-weight:400}}@media only screen and (max-width: 767px) and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-size:24px;line-height:36px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px) and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__title{font-weight:400;line-height:30px}}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-family:"Roboto",sans-serif;font-size:28px;font-weight:400;line-height:36px;color:#616161}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-size:18px;line-height:28px;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-weight:400}}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-family:"Google Sans",sans-serif;font-size:18px;font-weight:500;line-height:28px;color:#616161}}@media only screen and (max-width: 1279px) and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-weight:400}}@media only screen and (max-width: 1279px) and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-size:16px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-family:"Roboto",sans-serif;font-size:24px;font-weight:400;line-height:28px;color:#616161;margin-top:24px}}@media only screen and (max-width: 767px) and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-size:18px;line-height:28px;font-weight:500}}@media only screen and (max-width: 767px) and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__subtitle{font-size:18px;font-weight:400;line-height:28px}}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#616161;font-family:"Roboto",sans-serif;margin-bottom:25px}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__cta-wrapper{gap:25px}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__cta:not(.tensorsite-content__button){font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:20px;color:#425066;letter-spacing:0.5px;text-decoration:underline;-webkit-text-decoration-color:#ff6f00;text-decoration-color:#ff6f00;text-transform:uppercase;text-underline-offset:4px}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__cta:not(.tensorsite-content__button):hover,.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__cta:not(.tensorsite-content__button):focus{color:#ff6f00}@media only screen and (max-width: 1279px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__cta:not(.tensorsite-content__button){line-height:21px}}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-content__cta:not(.tensorsite-content__button){letter-spacing:0;line-height:24px}}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066;border:1px solid #818181;margin-top:40px;border-radius:4px}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button:hover,.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button:focus{color:#f5f5f5}@media only screen and (max-width: 767px){.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button{margin-top:24px}}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button::before{border-radius:3px}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button::after{border-radius:4px;width:100%;height:100%;top:0px;left:0px}.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button:hover,.tensorsite-side-side--redesign .tensorsite-side-side__main-section .tensorsite-button:focus{border:1px solid #E6E6E6}.scrollfit.tensorsite-side-side__code-block devsite-code{height:360px;overflow-x:hidden;overflow-y:auto;border-radius:8px}.tensorsite-home-footer{background-image:linear-gradient(to top right, #ff6f00, #FFA800)}.tensorsite-home-footer__container{margin:0 auto;position:relative;height:625px}@media only screen and (max-width: 767px){.tensorsite-home-footer__container{height:500px}}.tensorsite-home-footer__content{position:relative;padding-top:10%}.tensorsite-home-footer__content .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:700;line-height:72px;letter-spacing:-0.5px;color:#fff;color:#fff;text-align:center;margin-bottom:80px}@media only screen and (max-width: 1279px){.tensorsite-home-footer__content .tensorsite-content__title{line-height:58px}}@media only screen and (max-width: 767px){.tensorsite-home-footer__content .tensorsite-content__title{font-size:36px;line-height:44px;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-home-footer__content .tensorsite-content__title{margin-bottom:60px;margin-inline:auto;max-width:500px}}@media only screen and (max-width: 767px){.tensorsite-home-footer__content .tensorsite-content__title{margin-bottom:48px;max-width:300px}}.tensorsite-home-footer__content .tensorsite-content__cta-wrapper{flex-direction:row;text-align:center;align-self:center;gap:34px}@media only screen and (max-width: 767px){.tensorsite-home-footer__content .tensorsite-content__cta-wrapper{flex-direction:column;gap:16px}}.tensorsite-home-footer__content .tensorsite-content .tensorsite-button{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#616161;text-decoration:underline;text-underline-offset:4px;text-decoration:none;align-self:center}.tensorsite-home-footer__content .tensorsite-content .tensorsite-button:hover,.tensorsite-home-footer__content .tensorsite-content .tensorsite-button:focus{color:#ff6f00}.tensorsite-home-footer__content .tensorsite-content .tensorsite-button:hover{color:#fff}.tensorsite-home-footer__lines{background-image:url(/site-assets/images/marketing/home-footer-lines.png);background-size:100%;background-repeat:no-repeat;background-position:top;position:relative;bottom:0;left:50%;width:1444px;position:absolute;top:0;-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0)}@media only screen and (max-width: 1279px){.tensorsite-home-footer__lines{width:100%;background-position:bottom}}@media only screen and (max-width: 767px){.tensorsite-home-footer__lines{-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0);width:600px}}@media only screen and (max-width: 480px){.tensorsite-home-footer__lines{-webkit-transform:translate(-35%, 0);transform:translate(-35%, 0)}}.tensorsite-card--redesign{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);display:flex;flex-direction:column;flex-grow:0;flex-shrink:1;position:relative;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);transition:box-shadow .2s linear,opacity .2s linear}@media only screen and (max-width: 767px){.tensorsite-card--redesign{flex-basis:auto;max-width:100%}}.tensorsite-card--redesign::before{background:#fff;border-radius:10px;content:'';height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:opacity .2s linear;width:100%}.tensorsite-card--redesign .tensorsite-content{border-radius:0 0 10px 10px;position:static;padding:20px}.tensorsite-card--redesign .tensorsite-content__image{-webkit-transform:scale(0.9);transform:scale(0.9)}.tensorsite-card--redesign .tensorsite-content__hover-image,.tensorsite-card--redesign .tensorsite-content__hover-video{display:none}@media only screen and (max-width: 767px){.tensorsite-card--redesign .tensorsite-content{padding:24px}}.tensorsite-card--redesign .tensorsite-content--under-image::before{top:-1px}.tensorsite-card--redesign .tensorsite-content .tensorsite-content__subtitle,.tensorsite-card--redesign .tensorsite-content .tensorsite-content__description,.tensorsite-card--redesign .tensorsite-content .tensorsite-content__cta-wrapper,.tensorsite-card--redesign .tensorsite-content ul{position:relative}.tensorsite-card--redesign .tensorsite-content .tensorsite-content__cta-wrapper--shorter{padding-right:70px}.tensorsite-card--redesign .tensorsite-content__image-wrapper{margin:20px 20px 1px 20px;border:1px solid #E6E6E6;border-radius:10px !important;overflow:hidden;position:relative;transition:border-color .2s linear;z-index:1}.tensorsite-card--redesign .tensorsite-content__image-wrapper img{background-color:#fbfcfc;transition:-webkit-transform .5s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform .5s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform .5s cubic-bezier(0.25, 0.1, 0.25, 1), -webkit-transform .5s cubic-bezier(0.25, 0.1, 0.25, 1);will-change:transform}.tensorsite-card--redesign .tensorsite-content__image-wrapper .tensorsite-content__image__play-button{bottom:0;left:0;margin:auto;overflow:visible;position:absolute;right:0;top:0}.tensorsite-card--redesign .tensorsite-price-tag__inner{transition:background-color .2s linear,color .2s linear}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories{display:flex;flex-wrap:wrap;position:relative;z-index:1;margin-top:0px;margin-bottom:12px}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories::before{content:''}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories .tensorsite-content__category{padding-right:8px;padding-top:0px}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories .tensorsite-content__category:last-child{padding-right:0}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories .tensorsite-content__category-text{font-family:"Roboto",sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#818181;letter-spacing:0.5px;text-transform:uppercase;position:relative;transition:color .2s linear;padding:4px 6px 3px 6px;border-radius:5px;background-color:#E6E6E6}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories .tensorsite-content__category-text::before,.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories .tensorsite-content__category-text::after{background-position:center center;background-repeat:no-repeat;bottom:0;content:'';height:12px;left:0;margin:auto;position:absolute;top:0;width:12px}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__categories .tensorsite-content__category-text::before{transition:opacity .2s linear;z-index:1}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__title{font-size:24px;font-weight:500;line-height:30px;letter-spacing:0px;margin-bottom:16px;align-items:center;display:flex;justify-content:space-between;z-index:1}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__title:before{bottom:0;content:'';left:0;position:absolute;right:0;top:0}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__subtitle{font-family:"Google Sans",sans-serif;font-size:14px;font-weight:700;line-height:18px}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__subtitle--thin{font-size:16px;font-family:"Roboto",sans-serif;font-weight:400;color:#818181}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__subtitle--thin.tensorsite-content__subtitle--under-title{margin-bottom:18px;margin-top:0px}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__description{margin-bottom:24px}.tensorsite-card--redesign .tensorsite-content--under-image .tensorsite-content__description strong:first-child:last-child{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:700;line-height:26px;color:#425066;display:inline-block;margin-top:8px;transition:color .2s linear}.tensorsite-card--redesign .tensorsite-content__cta{z-index:3;font-weight:500}.tensorsite-card--redesign .tensorsite-content__cta:hover:not(.no-link){color:#fff}.tensorsite-card--redesign:hover:not(.no-link){box-shadow:0 0 64px rgba(0,0,0,0.22);cursor:pointer}.tensorsite-card--redesign:hover:not(.no-link) .tensorsite-content__main-image{display:none}.tensorsite-card--redesign:hover:not(.no-link) .tensorsite-content__hover-image,.tensorsite-card--redesign:hover:not(.no-link) .tensorsite-content__hover-video{display:flex}.tensorsite-card--redesign:hover:not(.no-link) .tensorsite-content__image__play-button{-webkit-transform:scale(1.2);transform:scale(1.2)}.tensorsite-card--redesign.no-link .tensorsite-content__title::before{content:none}.tensorsite-card--redesign.font-size-body .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:16px;line-height:28px}.tensorsite-card--redesign--double{flex-grow:0;flex-shrink:1}.tensorsite-card--redesign__href{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:2}.tensorsite-card--redesign--hero .tensorsite-content__cta:hover{color:#425066}.tensorsite-card--redesign--hero-whitecta .tensorsite-content__cta{color:#fff}.tensorsite-card--redesign--hero-whitecta a span::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card--redesign--hero-whitecta .tensorsite-content__cta:hover{color:#fff}.tensorsite-card--redesign--hero-whitetext .tensorsite-content__title{color:#fff}.tensorsite-card--redesign--hero-bluegradient .tensorsite-content--under-image{background-image:linear-gradient(0deg, rgba(32,18,20,0) 0%, rgba(32,18,20,0) 45%, #5464b5 100%)}.tensorsite-card--redesign--hero-h3title .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}.tensorsite-card--redesign--hero .tensorsite-content__title{flex-grow:1}.tensorsite-card--redesign--hero .tensorsite-content__title::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card--redesign--hero .tensorsite-content__image-wrapper{border-bottom:none;border-radius:10px;height:100%;position:absolute;width:100%}.tensorsite-card--redesign--hero .tensorsite-content__image{height:100%;-o-object-fit:cover;object-fit:cover}.tensorsite-card--redesign--hero .tensorsite-content__image,.tensorsite-card--redesign--hero .tensorsite-content--under-image{border-radius:10px}.tensorsite-card--redesign--clip .tensorsite-content{background:transparent;margin-top:40%;padding-top:17%;position:static;z-index:1}@media only screen and (-ms-high-contrast: none), (-ms-high-contrast: active){.tensorsite-card--redesign--clip .tensorsite-content{background-color:#fff;padding-top:20px}}.tensorsite-card--redesign--clip .tensorsite-content__clip-bg{padding-top:40%}.tensorsite-card--redesign--clip .tensorsite-content__clip-bg+.tensorsite-content__title{padding-top:7%}.tensorsite-card--redesign--clip .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px;max-width:81%}@media only screen and (max-width: 1000px){.tensorsite-card--redesign--clip .tensorsite-content__title{max-width:none}}@media only screen and (max-width: 850px){.tensorsite-card--redesign--clip .tensorsite-content__title{max-width:80%}}@media only screen and (max-width: 767px){.tensorsite-card--redesign--clip .tensorsite-content__title{max-width:60%}}@media only screen and (max-width: 480px){.tensorsite-card--redesign--clip .tensorsite-content__title{max-width:80%}}.tensorsite-card--redesign--clip .tensorsite-content__subtitle{color:#425066;font-weight:700;max-width:42%}.tensorsite-card--redesign--clip .tensorsite-content__image-wrapper{border-bottom:0;border-radius:10px;height:100%;position:absolute;width:100%}.tensorsite-card--redesign--horizontal{flex-basis:calc(100% - 30px);max-width:calc(100% - 30px)}.tensorsite-card--redesign--horizontal .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:24px;font-weight:700;line-height:32px}@media only screen and (min-width: 851px){.tensorsite-card--redesign--horizontal{flex-direction:row}.tensorsite-card--redesign--horizontal .tensorsite-content__image-wrapper,.tensorsite-card--redesign--horizontal .tensorsite-content--under-image{flex:1 0 50%;max-width:50%}.tensorsite-card--redesign--horizontal .tensorsite-content__image-wrapper{border-bottom:0;border-radius:10px 0 0 10px;border-right:1px solid #dadada}.tensorsite-card--redesign--horizontal .tensorsite-content__image{border-radius:10px 0 0 10px;height:100%;-o-object-fit:cover;object-fit:cover}}@media only screen and (min-width: 851px) and (-ms-high-contrast: none), only screen and (min-width: 851px) and (-ms-high-contrast: active){.tensorsite-card--redesign--horizontal .tensorsite-content__image-wrapper{display:flex;flex-direction:column;justify-content:center}.tensorsite-card--redesign--horizontal .tensorsite-content__image{height:auto;-o-object-fit:unset;object-fit:unset}}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover::before{opacity:0}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content a,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content div,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content strong{color:#fff}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content::before{opacity:1;transition:opacity .2s linear}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content ul a span::after,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__cta-wrapper .tensorsite-content__cta-icon span::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__title span::after,.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__subtitle span::after{-webkit-filter:grayscale(100%) invert(1) brightness(2);filter:grayscale(100%) invert(1) brightness(2)}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__tag{color:#fff}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__cta-wrapper .tensorsite-price-tag__inner{background-color:#fff;color:#ff6f00}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__cta-wrapper .tensorsite-price-tag__inner::before{background-image:url("data:image/svg+xml,%3Csvg width='12' height='24' viewBox='0 0 12 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M9.474 0H56a2 2 0 0 1 2 2v20a2 2 0 0 1-2 2H9.474a2 2 0 0 1-1.636-.85l-7.03-10a2 2 0 0 1 0-2.3l7.03-10A2 2 0 0 1 9.474 0z' fill='%23FFF'/%3E%3Ccircle fill='%23FF6F00' cx='10' cy='12' r='2'/%3E%3C/g%3E%3C/svg%3E")}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__categories .tensorsite-content__category-text{color:#fff}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__clip-bg::before{background:#ff6f00}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__clip-shape path{fill:#ff6f00}.tensorsite-card:not(.tensorsite-card--clip):not(.tensorsite-card--hero):not(.no-link):hover .tensorsite-content .tensorsite-content__category-text::before{opacity:0}html[dir='rtl'] .tensorsite-content__clip-shape{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.tensorsite-card:hover .tensorsite-content__image-wrapper{border-color:transparent}.tensorsite-card:hover .tensorsite-content__image-wrapper img{-webkit-transform:scale(1.03);transform:scale(1.03);transition:-webkit-transform 1s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform 1s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform 1s cubic-bezier(0.25, 0.1, 0.25, 1), -webkit-transform 1s cubic-bezier(0.25, 0.1, 0.25, 1)}.tensorsite-card--bnw img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.tensorsite-card--bnw:hover img{-webkit-filter:grayscale(0%);filter:grayscale(0%)}.tensorsite-card .tensorsite-content__title:hover ~ div.tensorsite-content__cta-wrapper .tensorsite-content__cta:first-child span::after,.tensorsite-card .tensorsite-card__href:hover ~ .tensorsite-content div.tensorsite-content__cta-wrapper .tensorsite-content__cta:first-child span::after{-webkit-transform:translateX(4px);transform:translateX(4px)}.tensorsite-card .tensorsite-content__title:hover ~ ul.tensorsite-content__cta-wrapper li:first-child .tensorsite-content__cta span::after{-webkit-transform:translateX(4px);transform:translateX(4px)}.tensorsite-card .tensorsite-content__title:focus::before{border-radius:10px;box-shadow:0 0 0 2px #425066}.tensorsite-card .tensorsite-card__href:focus ~ .tensorsite-content .tensorsite-content__title::before{border-radius:10px;box-shadow:0 0 0 2px #425066}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-container{margin:24px auto;padding:0 20px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-container .tensorsite-group__header .tensorsite-content .tensorsite-content__description{text-align:center}}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-container .tensorsite-group__header .tensorsite-content{padding-left:0px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-container .tensorsite-group__header .tensorsite-content .tensorsite-content__description{text-align:center}}.tensorsite-group--redesign .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:700;line-height:48px;margin-bottom:12px;max-width:900px}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-content__title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-content__title:last-child{margin-bottom:24px}}.tensorsite-group--redesign h1.tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:52px;font-weight:500;line-height:62px;letter-spacing:-0.5px;color:#425066;margin-bottom:30px;max-width:680px}@media only screen and (max-width: 1279px){.tensorsite-group--redesign h1.tensorsite-content__title{font-size:40px;line-height:48px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign h1.tensorsite-content__title{font-size:30px;line-height:36px;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign h1.tensorsite-content__title{margin:unset}}.tensorsite-group--redesign h3.tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:400;line-height:44px;letter-spacing:-0.25px;color:#425066;margin-bottom:0px;max-width:680px}@media only screen and (max-width: 1279px){.tensorsite-group--redesign h3.tensorsite-content__title{font-size:20px;line-height:28px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign h3.tensorsite-content__title{font-size:24px;line-height:36px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign h3.tensorsite-content__title{margin:unset}}.tensorsite-group--redesign .tensorsite-content__small-title{font-family:"Roboto",sans-serif;font-size:24px;font-weight:400;line-height:28px;color:#616161;margin-bottom:48px;max-width:905px}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-content__small-title{font-size:18px;line-height:28px;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-content__small-title{font-size:18px;font-weight:400;line-height:28px}}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-content__small-title{max-width:440px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-content__small-title{text-align:left;max-width:100%}}.tensorsite-group--redesign .tensorsite-content__button{align-self:flex-start}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-content__button{align-self:center}}.tensorsite-group--redesign .tensorsite-group__inner{margin:0;display:grid;gap:24px;grid-template-columns:repeat(2, 1fr)}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-group__inner{grid-template-columns:repeat(1, 1fr);justify-content:center;max-width:100%}}.tensorsite-group--redesign .tensorsite-content__image-wrapper{border-radius:2px 2px 0 0}.tensorsite-group--redesign .tensorsite-content__image-wrapper::after{content:none}.tensorsite-group--redesign .tensorsite-content__image-wrapper .tensorsite-content__image{border-radius:0px;scale:1.11}.tensorsite-group--redesign .tensorsite-card{margin:0;border-radius:4px;border:1px solid #DADCE0;box-shadow:0px 4px 14px rgba(0,0,0,0.25)}.tensorsite-group--redesign .tensorsite-card::before{border-radius:2px}.tensorsite-group--redesign .tensorsite-card .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:28px;font-weight:400;line-height:36px;letter-spacing:-0.25px;color:#425066;flex-basis:86px;align-items:flex-start;margin-bottom:0}.tensorsite-group--redesign .tensorsite-card .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#616161;margin-bottom:48px}.tensorsite-group--redesign .tensorsite-card .tensorsite-content__cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:20px;color:#425066;letter-spacing:0.5px;text-decoration:underline;-webkit-text-decoration-color:#ff6f00;text-decoration-color:#ff6f00;text-transform:uppercase;text-underline-offset:4px}.tensorsite-group--redesign .tensorsite-card .tensorsite-content__cta:hover,.tensorsite-group--redesign .tensorsite-card .tensorsite-content__cta:focus{color:#ff6f00}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-card .tensorsite-content__cta{line-height:21px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-card .tensorsite-content__cta{letter-spacing:0;line-height:24px}}.tensorsite-group--redesign .tensorsite-card:hover .tensorsite-content__cta{-webkit-text-decoration-color:#fff;text-decoration-color:#fff}.tensorsite-group--redesign .tensorsite-card:hover .tensorsite-content__image-wrapper::after{content:none}.tensorsite-group--redesign .tensorsite-block{margin:0;gap:48px}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-block{gap:20px}}.tensorsite-group--redesign .tensorsite-block--sideside{display:flex;flex-direction:row}.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content{padding-top:0;padding-bottom:48px;width:100%}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content{padding-bottom:12px}}.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:400;line-height:44px;letter-spacing:-0.25px;color:#425066;color:#425066;margin-bottom:24px}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__title{font-size:20px;line-height:28px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__title{font-size:24px;line-height:36px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__title{margin-bottom:12px}}.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__description{font-family:"Roboto",sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#616161;margin-bottom:24px}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__description{margin-bottom:12px}}.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:20px;color:#425066;letter-spacing:0.5px;text-decoration:underline;-webkit-text-decoration-color:#ff6f00;text-decoration-color:#ff6f00;text-transform:uppercase;text-underline-offset:4px}.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__cta:hover,.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__cta:focus{color:#ff6f00}@media only screen and (max-width: 1279px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__cta{line-height:21px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-content__cta{letter-spacing:0;line-height:24px}}.tensorsite-group--redesign .tensorsite-block--sideside .tensorsite-block__image-wrapper{margin:0}.tensorsite-group--redesign.tensorsite-group--3up.home-module3-browsetf .tensorsite-container{padding:0 40px}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.home-module3-browsetf .tensorsite-container{padding:20px;margin:0px}}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-group__divider{border-top:1px solid #ff6f00;max-width:1340px;width:100%}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-group__divider{border-top:1px solid transparent}}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-group__inner{display:grid;gap:24px;padding:0 30px;grid-template-columns:repeat(3, 1fr)}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-group__inner{padding-left:0px;padding-right:0px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-group__inner{grid-template-columns:repeat(1, 1fr);padding-left:0px;padding-right:0px;gap:48px}}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block{flex-basis:calc(100% / 3 - 30px)}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block{flex-basis:calc(100%)}}.tensorsite-group--redesign.tensorsite-group--3up.home-module3-browsetf .tensorsite-block--plain .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:28px;font-weight:500;line-height:36px;letter-spacing:-0.25px;color:#425066}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.home-module3-browsetf .tensorsite-block--plain .tensorsite-content__title{font-size:24px;line-height:30px}}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content{align-items:flex-start;padding:0}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:28px;font-weight:500;line-height:36px;letter-spacing:-0.25px;color:#425066;margin-bottom:48px;text-align:left}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__title{font-size:24px;line-height:30px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__title{margin-bottom:24px}}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:20px;color:#425066;letter-spacing:0.5px;text-decoration:underline;-webkit-text-decoration-color:#ff6f00;text-decoration-color:#ff6f00;text-transform:uppercase;text-underline-offset:4px}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__cta:hover,.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__cta:focus{color:#ff6f00}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__cta{line-height:21px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__cta{letter-spacing:0;line-height:24px}}.tensorsite-group--redesign.tensorsite-group--3up .tensorsite-block--plain .tensorsite-content__cta-wrapper{text-align:left}.tensorsite-group--redesign.tensorsite-group--3up.small{padding-bottom:68px}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-container{margin-bottom:0}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-container{margin:0px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content{padding-bottom:24px;padding-top:0px}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{padding-top:68px;padding-bottom:18px;font-family:"Google Sans",sans-serif;font-size:36px;font-weight:400;line-height:44px;letter-spacing:-0.25px;color:#425066}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{font-size:20px;line-height:28px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{font-size:24px;line-height:36px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066;padding-bottom:0px}}@media only screen and (max-width: 1279px) and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px) and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__header .tensorsite-content__title{text-align:left;margin:0;padding-top:24px}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner{max-width:85%;margin:auto}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner{max-width:100%;font-family:"Google Sans",sans-serif;font-size:20px;font-weight:400;line-height:28px;color:#425066;margin:0;gap:24px}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card{flex-direction:row;border:1px solid #ccc;border-radius:8px;background-color:#fff;gap:0px;flex-basis:calc(100% / 3 - 57px);max-width:100%}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card{flex-direction:column;align-items:center;padding-right:0px;flex-basis:calc(100% / 3 - 30px)}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card{flex-direction:row;flex-basis:100%;padding-right:0px}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-block__image-wrapper{display:flex;width:100%;max-width:77px;margin:12px 20px}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-block__image-wrapper{margin-right:15px}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content{display:flex;justify-content:space-between;height:100%;padding:24px 0 16px 0;align-self:center}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content{align-items:center}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content{align-items:flex-start}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:400;line-height:28px;color:#425066;font-weight:500;color:#616161;margin-bottom:0px;flex-grow:0}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__title{text-align:center}}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:20px;color:#425066;letter-spacing:0.5px;text-decoration:underline;-webkit-text-decoration-color:#ff6f00;text-decoration-color:#ff6f00;text-transform:uppercase;text-underline-offset:4px}.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__cta:hover,.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__cta:focus{color:#ff6f00}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__cta{line-height:21px}}@media only screen and (max-width: 767px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__cta{letter-spacing:0;line-height:24px}}@media only screen and (max-width: 1279px){.tensorsite-group--redesign.tensorsite-group--3up.small .tensorsite-group__inner .tensorsite-block--horizontal-card .tensorsite-content__cta{padding-bottom:12px}}.hide-cards-on-mobile .tensorsite-card{display:flex}@media only screen and (max-width: 1279px){.hide-cards-on-mobile .tensorsite-card{display:none}}.hide-cards-on-mobile .tensorsite-block{display:none}@media only screen and (max-width: 1279px){.hide-cards-on-mobile .tensorsite-block{display:flex}}.tensorsite-group--accordion .tensorsite-container{padding-top:80px;padding-bottom:68px;margin:0 auto}@media only screen and (max-width: 1279px){.tensorsite-group--accordion .tensorsite-container{padding-top:60px;padding-bottom:60px;margin:0 auto}}@media only screen and (max-width: 767px){.tensorsite-group--accordion .tensorsite-container{padding-top:12px;padding-bottom:12px;margin:0 auto}}.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content{padding:0}.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066;max-width:900px}@media only screen and (max-width: 1279px){.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 1279px){.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:52px;font-weight:500;line-height:62px;letter-spacing:-0.5px;color:#425066;font-weight:500}}@media only screen and (max-width: 1279px) and (max-width: 1279px){.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{font-size:40px;line-height:48px}}@media only screen and (max-width: 1279px) and (max-width: 767px){.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{font-size:30px;line-height:36px;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-group--accordion .tensorsite-group__header .tensorsite-content__title{text-align:left;max-width:350px;flex-direction:row;align-items:flex-start;margin:0}}@media only screen and (max-width: 767px){.tensorsite-group--accordion .tensorsite-accordion .expanded-container__section{max-width:100%;padding-bottom:24px}}@media only screen and (max-width: 767px){.tensorsite-group--accordion .tensorsite-accordion .expanded-container__section .tensorsite-button{margin-top:0px}}.tensorsite-group.tensorsite-group--redesign .recsys{position:relative;z-index:-1;margin:0 auto;max-width:1420px;width:100%;top:-200px;left:150px;-webkit-transform:scale(1.2);transform:scale(1.2);max-height:280px}@media only screen and (max-width: 1279px){.tensorsite-group.tensorsite-group--redesign .recsys{top:-150px;left:100px;-webkit-transform:scale(1.2);transform:scale(1.2)}}@media only screen and (max-width: 767px){.tensorsite-group.tensorsite-group--redesign .recsys{top:-50px;-webkit-transform:scale(2);transform:scale(2)}}.tensorsite-jumbotron{margin:0 auto;max-width:1420px;width:100%}@media only screen and (max-width: 767px){.tensorsite-jumbotron{-webkit-transform:scale(2) translateX(-25%);transform:scale(2) translateX(-25%);margin:50px auto}}.tensorsite-jumbotron--grey-gradient::before{content:' ';background-image:linear-gradient(180deg, #E6E9EA, transparent, transparent, transparent);width:200%;display:block;height:350px;position:absolute;z-index:-1;-webkit-transform:translateX(-25%);transform:translateX(-25%)}.tensorsite-jumbotron--grey-gradient{position:relative;z-index:-1}.tensorsite-stay-connected__container{margin:0 auto;display:flex;flex-direction:row}@media only screen and (max-width: 767px){.tensorsite-stay-connected__container{flex-direction:column}}.tensorsite-stay-connected__text-container{padding-left:0px}@media only screen and (max-width: 767px){.tensorsite-stay-connected__text-container{margin-top:24px;padding-bottom:0px}}.tensorsite-stay-connected__text-container .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066}@media only screen and (max-width: 1279px){.tensorsite-stay-connected__text-container .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-stay-connected__text-container .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-stay-connected__text-container .tensorsite-content__title{font-family:"Google Sans",sans-serif;font-size:52px;font-weight:500;line-height:62px;letter-spacing:-0.5px;color:#425066;font-weight:400;text-align:center}}@media only screen and (max-width: 767px) and (max-width: 1279px){.tensorsite-stay-connected__text-container .tensorsite-content__title{font-size:40px;line-height:48px}}@media only screen and (max-width: 767px) and (max-width: 767px){.tensorsite-stay-connected__text-container .tensorsite-content__title{font-size:30px;line-height:36px;letter-spacing:-0.25px}}.tensorsite-stay-connected__text-container .tensorsite-content__description{margin-bottom:48px;font-family:"Roboto",sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#616161;flex-grow:unset}@media only screen and (max-width: 767px){.tensorsite-stay-connected__text-container .tensorsite-content__description{text-align:center;margin-bottom:0px;font-size:16px;line-height:26px}}.tensorsite-stay-connected .tensorsite-content__cta-wrapper{gap:12px}.tensorsite-stay-connected__steps-container{width:100%}.tensorsite-logo-ctas-container{display:flex;gap:40px;text-align:center}.tensorsite-logo-ctas-container>a{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066}.tensorsite-logo-ctas-container.show-on-mobile{display:none}.tensorsite-logo-ctas-container.show-on-desktop{display:flex}@media only screen and (max-width: 767px){.tensorsite-logo-ctas-container{gap:20px;flex-wrap:wrap;justify-content:center;align-self:center}.tensorsite-logo-ctas-container>a{flex-basis:calc(50% - 64px)}.tensorsite-logo-ctas-container.show-on-mobile{display:flex}.tensorsite-logo-ctas-container.show-on-desktop{display:none}}.tensorsite-stay-connected{position:relative;padding:30px 0;background-color:#f5f6f7}.tensorsite-stay-connected .tensorsite-stay-connected__background{background:url(/site-assets/images/marketing/home-bg-stay-connected.svg) center/cover no-repeat;content:'';height:100%;position:absolute;top:-125%;width:100vw;-webkit-transform:scale(1.5);transform:scale(1.5);z-index:-1}.tensorsite-home-hero-wrapper{background:url(/site-assets/images/marketing/home/hero/tf-hero-desktop.svg) no-repeat center top/cover;-webkit-transform:translate(0, 70%);transform:translate(0, 70%);background-size:contain;height:1000px;overflow:hidden;position:absolute;width:100%}@media only screen and (max-width: 1279px){.tensorsite-home-hero-wrapper{background:none}}@media only screen and (min-width: 768px){.tensorsite-home-background::after{background:url(/site-assets/images/marketing/hero-river-bg-right.svg) center/cover no-repeat;content:'';height:904px;position:absolute;right:0;top:0;width:1440px;z-index:-1}}@media only screen and (max-width: 1279px){.tensorsite-container{padding:16px}}@media only screen and (max-width: 767px){.tensorsite-container{padding:16px}}@media only screen and (min-width: 768px){.tensorsite-home-background::after{background:url(/site-assets/images/marketing/hero-river-bg-right.svg) center/cover no-repeat;content:'';height:904px;position:absolute;right:0;top:0;width:1440px;z-index:-1}}.tensorsite-home-hero{max-height:750px;position:relative;display:flex}@media only screen and (max-width: 767px){.tensorsite-home-hero{flex-direction:column;align-items:flex-start;max-width:350px;max-height:680px;margin:auto;padding:0px}}.tensorsite-home-hero__main-section{width:70%}@media only screen and (max-width: 767px){.tensorsite-home-hero__main-section{margin-top:48px;width:100%}}.tensorsite-home-hero__main-section .tensorsite-content__title{max-width:650px;font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066;font-weight:700;margin-bottom:36px}@media only screen and (max-width: 1279px){.tensorsite-home-hero__main-section .tensorsite-content__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 767px){.tensorsite-home-hero__main-section .tensorsite-content__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 1279px){.tensorsite-home-hero__main-section .tensorsite-content__title{font-weight:700}}.tensorsite-home-hero__header{padding:0 30px;width:100%}@media only screen and (max-width: 767px){.tensorsite-home-hero__header{padding:0px}}.tensorsite-accordion{width:100%;padding-top:48px}.tensorsite-accordion .main-container{border-top:1px solid #ff6f00;margin-bottom:0;padding:48px 0}@media only screen and (max-width: 767px){.tensorsite-accordion .main-container{border-top:2px solid #ff6f00}}.tensorsite-accordion .main-container:last-child{border-top:1px solid #ff6f00;border-bottom:1px solid #ff6f00}@media only screen and (max-width: 767px){.tensorsite-accordion .main-container:last-child{border-top:2px solid #ff6f00;border-bottom:2px solid #ff6f00}}.tensorsite-accordion .main-container button{background:none;border:none;box-shadow:none;padding:0;text-align:left;white-space:unset;overflow:unset}.tensorsite-accordion .main-container button .material-icons{font-size:50px;height:50px;width:50px;top:0px}.tensorsite-accordion .main-container button:focus{border:2px solid #425066}.tensorsite-accordion .main-container button:focus:not(:focus-visible){border:none}.tensorsite-accordion .expand-control{display:flex;width:100%;color:#ff6f00;flex-direction:row;justify-content:space-between;align-items:center}.tensorsite-accordion .expand-control__title{font-family:"Google Sans",sans-serif;font-size:36px;font-weight:400;line-height:44px;letter-spacing:-0.25px;color:#425066}@media only screen and (max-width: 1279px){.tensorsite-accordion .expand-control__title{font-size:20px;line-height:28px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px){.tensorsite-accordion .expand-control__title{font-size:24px;line-height:36px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px){.tensorsite-accordion .expand-control__title{font-family:"Google Sans",sans-serif;font-size:48px;font-weight:500;line-height:56px;letter-spacing:-0.5px;color:#425066}}@media only screen and (max-width: 1279px) and (max-width: 1279px){.tensorsite-accordion .expand-control__title{font-size:32px;line-height:38px;font-weight:400;letter-spacing:-0.25px}}@media only screen and (max-width: 1279px) and (max-width: 767px){.tensorsite-accordion .expand-control__title{font-size:28px;line-height:36px;letter-spacing:-0.25;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-accordion .expand-control__title{font-family:"Google Sans",sans-serif;font-size:40px;font-weight:400;line-height:48px;letter-spacing:-0.5px;color:#425066}}@media only screen and (max-width: 767px) and (max-width: 1279px){.tensorsite-accordion .expand-control__title{font-size:24px;line-height:36px;font-weight:500;letter-spacing:0px}}@media only screen and (max-width: 767px) and (max-width: 767px){.tensorsite-accordion .expand-control__title{font-weight:400;line-height:30px}}.tensorsite-accordion .expand-control .collapser{-webkit-transform:rotate(180deg);transform:rotate(180deg);transition:all .15s ease-in-out}.tensorsite-accordion .expand-control .close-collapser{-webkit-transform:rotate(0);transform:rotate(0);transition:all .15s ease-in-out}.tensorsite-accordion .close-container{display:none}.tensorsite-accordion .expanded-container{display:flex;width:100%;max-height:1000px;flex-direction:row;align-items:flex-start;padding-top:68px}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container{align-items:center;flex-direction:column;padding-top:48px}}@media only screen and (max-width: 767px){.tensorsite-accordion .expanded-container{flex-direction:column;padding-top:48px}}.tensorsite-accordion .expanded-container__section{max-width:50%}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container__section{max-width:100%}}@media only screen and (max-width: 767px){.tensorsite-accordion .expanded-container__section{max-width:100%;padding-bottom:48px}}.tensorsite-accordion .expanded-container__section .tensorsite-button{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066;border:1px solid #818181;margin-top:40px;border-radius:4px}.tensorsite-accordion .expanded-container__section .tensorsite-button:hover,.tensorsite-accordion .expanded-container__section .tensorsite-button:focus{color:#f5f5f5}.tensorsite-accordion .expanded-container__section .tensorsite-button::before{border-radius:4px}.tensorsite-accordion .expanded-container__section .tensorsite-button::after{border-radius:3px;width:100%;height:100%;top:0px;left:0px}.tensorsite-accordion .expanded-container__section .tensorsite-button:hover,.tensorsite-accordion .expanded-container__section .tensorsite-button:focus{border:1px solid #E6E6E6}.tensorsite-accordion .expanded-container__image{width:613px;height:411px;border-radius:14px;-o-object-fit:cover;object-fit:cover}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container__image{width:1200px}}@media only screen and (max-width: 767px){.tensorsite-accordion .expanded-container__image{height:220px}}.tensorsite-accordion .expanded-container p{margin:0px;font-family:"Roboto",sans-serif;font-size:28px;font-weight:400;line-height:36px;color:#616161;padding-left:94px}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container p{font-size:18px;line-height:28px;font-weight:500}}@media only screen and (max-width: 767px){.tensorsite-accordion .expanded-container p{font-weight:400}}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container p{padding-left:0}}.tensorsite-accordion .expanded-container p a{display:inline;margin:0px;font-family:"Roboto",sans-serif;font-size:28px;font-weight:500;line-height:36px;color:#616161;text-decoration:underline;text-underline-offset:4px}.tensorsite-accordion .expanded-container p a:hover,.tensorsite-accordion .expanded-container p a:focus{color:#ff6f00}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container p a{font-size:18px;line-height:28px}}.tensorsite-accordion .expanded-container p a:focus{color:#ff6f00}.tensorsite-accordion .expanded-container .tensorsite-content{padding-top:48px;padding-left:94px}@media only screen and (max-width: 1279px){.tensorsite-accordion .expanded-container .tensorsite-content{padding-left:0;padding-bottom:0}}@media only screen and (max-width: 767px){.tensorsite-accordion .expanded-container .tensorsite-content{padding-left:0}}.tensorsite-single-cta{margin-top:0px;max-width:780px;text-align:center}.tensorsite-single-cta .tensorsite-content__cta{font-family:"Google Sans",sans-serif;font-size:28px;font-weight:500;line-height:36px;letter-spacing:-0.25px;color:#425066;display:inline-block;line-height:normal;border-bottom:1px solid #ff6f00;color:#616161;font-weight:500;transition:color .2s linear;text-decoration:underline;border-bottom:none}@media only screen and (max-width: 767px){.tensorsite-single-cta .tensorsite-content__cta{font-size:24px;line-height:30px}}.tensorsite-single-cta .tensorsite-content__cta:hover{color:#ff6f00}.dac-form-after-submit{display:none}.dac-form-error{display:none}.dac-form-failed .dac-form-error{display:inline-block;margin:0 .5em}.dac-form-submitted .dac-form-after-submit{display:block}.dac-form-submitted .dac-subscribe-hero:not(:has(.tensorsite-newsletter-container--simplified)){display:none}.dac-recaptcha-invalid{display:none}.dac-form-recaptcha-invalid .dac-recaptcha-invalid{display:inline}.tensorflow-select{background-color:#fff;width:100%;max-width:100%;color:#616161;padding:10px;width:100%;font-family:"Roboto Mono",monospace;font-size:17px;height:auto;font-weight:normal;border:1px solid #425066;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='12' viewBox='0 0 19 12' fill='none'%3E%3Cpath d='M19 2.2834L16.7675 -9.75857e-08L9.5 7.417L2.2325 -7.32931e-07L-9.98106e-08 2.2834L9.5 12L19 2.2834Z' fill='%23FF6F00'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - 12px) center}.tensorflow-select:hover,.tensorflow-select:focus{background-color:#fff;border:1px solid #425066}.dac-form label{margin-bottom:16px;color:#303E4E;font:17px "Roboto",sans-serif;font-weight:500}.dac-field-group{margin:0;color:#425066;width:100%;font:17px "Roboto",sans-serif;text-align:left}.dac-field-group .dac-legend,.dac-field-group .dac-checkbox label{color:#303E4E;font:17px "Roboto",sans-serif;font-weight:500;margin-bottom:24px}.dac-field-group .dac-label-description{display:block;margin:16px 0 24px 30px;color:#616161;font:17px "Roboto",sans-serif;line-height:25px}@media only screen and (max-width: 767px){.dac-field-group .dac-label-description{font-size:14px}}.dac-form-container{max-width:700px;margin:auto}.dac-names-field{display:flex;gap:50px}@media only screen and (max-width: 1279px){.dac-names-field{gap:20px}}.dac-field{margin:0 0 24px;width:100%}@media only screen and (max-width: 1279px){.dac-field{margin:0 0 12px}}.dac-field input{color:#616161;padding:15px 10px;width:100%;font-family:"Roboto Mono",monospace;font-size:17px;border:1px solid #425066;border-radius:4px}.dac-field input::-webkit-input-placeholder{color:#616161}.dac-field input:-ms-input-placeholder{color:#616161}.dac-field input::-ms-input-placeholder{color:#616161}.dac-field input::placeholder{color:#616161}.dac-field input:focus{padding-bottom:15px;border-bottom:1px solid #425066}.dac-checkbox{margin-left:10px}.dac-checkbox--consent{margin-top:32px;display:flex}.dac-checkbox--consent .dac-form-checkbox{margin-top:2px}.dac-checkbox--consent .dac-label-description{margin:0px 0 24px 0px}.dac-checkbox--consent .dac-label-description a{color:#616161;display:inline-block;text-decoration:underline;text-underline-offset:4px;font-weight:500}.subscribe-button{border:1px solid #E6E6E6;display:flex;font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066}.subscribe-button:hover,.subscribe-button:focus{color:#f5f5f5}.devsite-select-list{width:100%}.tensorsite-content.tensorsite-content--newsletter{padding-bottom:0px}.tensorsite-content.tensorsite-content--newsletter .tensorsite-content__title{margin-inline:auto;text-align:center}.tensorsite-group.newsletter .tensorsite-group__inner{justify-content:center}.tensorsite-group.newsletter .tensorsite-content__image-wrapper .tensorsite-content__image{-o-object-fit:cover;object-fit:cover;height:150px}.tensorsite-group.newsletter input[type=text]:focus,.tensorsite-group.newsletter input[type=email]:focus{padding-bottom:15px;border-bottom:1px solid #425066}.tensorflow-custom-select{position:relative}.tensorflow-custom-selecttext{width:100%;max-width:100%;color:#616161;padding:15px 10px;width:100%;font-family:"Roboto Mono",monospace;font-size:17px;height:auto;font-weight:normal;border:1px solid #425066;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='12' viewBox='0 0 19 12' fill='none'%3E%3Cpath d='M19 2.2834L16.7675 -9.75857e-08L9.5 7.417L2.2325 -7.32931e-07L-9.98106e-08 2.2834L9.5 12L19 2.2834Z' fill='%23FF6F00'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - 12px) center;border-radius:4px}.tensorflow-custom-selecttext::-ms-expand{display:none}.tensorflow-custom-selecttext:hover,.tensorflow-custom-selecttext:focus{background-color:var(--devsite-select-background-color-hover, var(--devsite-background-3));border:var(--devsite-select-border-hover, var(--devsite-select-border, var(--devsite-secondary-border)));color:var(--devsite-select-color-hover)}.tensorflow-custom-select-options{border:1px solid #E6E6E6;border-radius:0 0 0.25em 0.25em;line-height:1.5;margin:0;margin-top:-0.5em;padding:0;list-style-type:none;font-weight:normal;cursor:pointer;z-index:2;position:absolute;width:calc(100% - 1px);background-color:#fff}.tensorflow-custom-select-options li{padding:1em}.tensorflow-select option{background-color:#fff}.tensorflow-custom-select-options li:hover,.tensorflow-custom-select-options li:focus,.tensorflow-select option:focus,.tensorflow-select option:hover{background-color:var(--devsite-select-background-color-hover, var(--devsite-background-3))}#tensorflow-custom-select-input{opacity:0;float:left;position:absolute;top:0;text-align:center}.hidden-all{display:none}.hidden-visually{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);border:0}.tensorsite-newsletter-container--simplified .tensorsite-newsletter-communication{display:flex}@media only screen and (max-width: 1279px){.tensorsite-newsletter-container--simplified .tensorsite-newsletter-communication{flex-direction:column}}.tensorsite-newsletter-container--simplified .tensorsite-newsletter-communication .communication-checkboxes{width:100%}.tensorsite-newsletter-container--simplified .tensorsite-newsletter-communication .communication-checkboxes .dac-checkbox:not(:last-child){margin-bottom:16px}.tensorsite-newsletter-container--simplified .dac-checkbox--consent{margin-top:0px}.tensorsite-newsletter-container--simplified .dac-checkbox--consent .dac-label-description{margin-bottom:0px}.tensorsite-newsletter-container--simplified .newsletter-submission{display:flex}@media only screen and (max-width: 1279px){.tensorsite-newsletter-container--simplified .newsletter-submission{flex-direction:column}}@media only screen and (min-width: 1280px){.tensorsite-newsletter-container--simplified .subscribe-button{width:100%;align-items:center;height:70px;align-self:center;justify-content:center;margin-bottom:24px}}.tensorsite-library-divider{border-left:1px solid #DADCE0;height:100%}@media only screen and (max-width: 1279px){.tensorsite-library-divider{border-left:none;border-top:1px solid #DADCE0;width:100%}}.tensorsite-library__filters{display:flex;margin-bottom:20px;flex-direction:row;position:sticky;top:48px;background-color:#fff;padding:8px 10px;border-radius:0 0 10px 10px;z-index:1}@media only screen and (max-width: 1279px){.tensorsite-library__filters{flex-direction:column;margin-bottom:0}}.tensorsite-library__filters-container{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tensorsite-library__filters-checkboxes{display:flex;align-items:center;flex-direction:row;gap:10px}@media only screen and (max-width: 1279px){.tensorsite-library__filters-checkboxes{align-items:start;margin-top:20px;flex-direction:column}}.tensorsite-library__filters-checkboxes input[type=checkbox]{margin-top:2px}.tensorsite-library__filters-checkboxes span{margin-left:20px}@media only screen and (max-width: 1279px){.tensorsite-library__filters-checkboxes span{margin-left:0px}}.tensorsite-library__filters-checkboxes label,.tensorsite-library__filters-checkboxes span{font-family:"Roboto",sans-serif;font-size:13px;font-weight:500;line-height:28px;color:#616161;letter-spacing:1.5px;text-transform:uppercase}.tensorsite-library__clear{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066}.tensorsite-library__clear:hover,.tensorsite-library__clear:focus{color:#f5f5f5}.tensorsite-library__clear:hover,.tensorsite-library__clear:focus{background:linear-gradient(to top right, #ff6f00, #FFA800);border:1px solid #ff6f00}.tensorsite-library-3up{display:grid;grid-template-columns:repeat(3, 1fr);padding:0px;gap:18px}@media only screen and (max-width: 1000px){.tensorsite-library-3up{grid-template-columns:repeat(2, 1fr)}}@media only screen and (max-width: 767px){.tensorsite-library-3up{grid-template-columns:repeat(1, 1fr)}}.tensorsite-library-3up li{margin:0}.tensorsite-library-3up li[no-matches]{display:block;font-family:"Google Sans",sans-serif;font-size:20px;font-weight:400;line-height:28px;color:#425066;font-weight:500}.tensorsite-library-card{background:#fff;border-radius:10px;box-shadow:0 0 36px rgba(0,0,0,0.1);list-style-type:none;display:flex;flex-direction:column;justify-content:space-between}.tensorsite-library-card__body{padding:20px;display:flex;flex-direction:column;justify-content:space-between}.tensorsite-library-card__body-container{min-height:144px}@media only screen and (max-width: 767px){.tensorsite-library-card__body-container{min-height:auto;margin-bottom:20px}}.tensorsite-library-card__title-container{display:flex;justify-content:space-between;margin-bottom:16px}.tensorsite-library-card__title{font-size:24px;font-weight:500;line-height:30px;letter-spacing:0px}.tensorsite-library-card__icon span::after{display:block;content:'';width:30px;height:30px;background-size:30px}.tensorsite-library__github{padding:14px 20px;justify-content:space-between;display:flex;gap:2px;background:#ebebeb;border-radius:0 0 10px 10px;align-items:center}.tensorsite-library__github-cta{font-family:"Google Sans",sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#425066}.tensorsite-library__github-cta:hover,.tensorsite-library__github-cta:focus{color:#f5f5f5}.tensorsite-library__github-cta:hover,.tensorsite-library__github-cta:focus{color:#425066;text-decoration:underline}.tensorsite-library__github-data{display:flex;gap:5px}.tensorsite-library__github-data-group{display:flex;fill:#425066;transition:color,fill .2s linear}.tensorsite-library__github-data-group:hover,.tensorsite-library__github-data-group:focus{fill:#ff6f00}.tensorsite-library__github-data-group:hover .tensorsite-library__github-data-text,.tensorsite-library__github-data-group:focus .tensorsite-library__github-data-text{color:#ff6f00}.tensorsite-library__github-icon{width:20px;height:20px;padding:2px}.tensorsite-library__github-data-text{font-family:"Google Sans",sans-serif;font-size:18px;font-weight:500;line-height:28px;color:#616161;color:#425066;margin:0}@media only screen and (max-width: 1279px){.tensorsite-library__github-data-text{font-weight:400}}@media only screen and (max-width: 767px){.tensorsite-library__github-data-text{font-size:16px}}.tensorsite-content__code-block .colab-callout-footer{background:#e3e4e7;border-radius:0 0 8px 8px;color:#37474f;padding:20px}.tensorsite-content__code-block .colab-callout-row devsite-code[dark-code]+.colab-callout-footer{background:#3f4f66}.tensorsite-content__code-block .colab-callout-row devsite-code[dark-code]+.colab-callout-footer>a>span{color:#fff}.tensorsite-content__code-block .colab-callout-footer>a:focus{box-shadow:0 0 0 2px #fff}.tensorsite-content__code-block .colab-callout-footer .button{background:#425066;border:0;color:#fff;position:relative;z-index:1}.tensorsite-content__code-block .colab-callout-footer .button span{vertical-align:middle}.tensorsite-content__code-block .colab-callout-footer .button::before{background:#ff6f00;bottom:0;content:'';left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s;z-index:-1}.tensorsite-content__code-block .colab-callout-footer .button:focus{outline:1px dotted #fff;outline:5px auto #fff}.tensorsite-content__code-block .colab-callout-footer .button:hover::before{opacity:1}.tensorsite-content__code-block devsite-code,.tensorsite-content__code-block devsite-code pre{margin:0;height:100%;border-radius:8px 8px 0 0;box-shadow:none}@media only screen and (max-width: 767px){.tensorsite-content__code-block devsite-code,.tensorsite-content__code-block devsite-code pre{height:auto}}body[layout=full] devsite-code{overflow:hidden}.tensorsite-tile{background:#fff;border-radius:10px;border:1px solid #DADCE0;padding:30px;height:100%}.tensorsite-tile:hover,.tensorsite-tile:focus{box-shadow:0px 4px 14px rgba(0,0,0,0.25)}.tensorsite-tile__wrapper{display:flex;flex-direction:row-reverse;text-align:left;gap:10px}@media only screen and (max-width: 1279px){.tensorsite-tile__wrapper{flex-direction:column}}@media only screen and (max-width: 767px){.tensorsite-tile__wrapper{flex-direction:column}}.tensorsite-tile__wrapper .tensorsite-tile__image-wrapper{min-width:20%;text-align:center}.tensorsite-tile__wrapper .tensorsite-tile__title{font-family:"Google Sans",sans-serif;font-size:20px;font-weight:500;line-height:28px;color:#425066;transition:color .2s linear;margin-bottom:12px}.tensorsite-tile__wrapper .tensorsite-tile__title:hover,.tensorsite-tile__wrapper .tensorsite-tile__title:focus{color:#ff6f00}.tensorsite-tile__wrapper .tensorsite-tile__description{font-size:16px;font-weight:400;line-height:24px;color:#616161;margin-top:0px;max-height:100px}.tensorsite-grid-group__wrapper{display:grid}.tensorsite-grid-group__wrapper--2up{grid-template-columns:repeat(2, 1fr);gap:16px}.tensorsite-grid-group__wrapper--3up{grid-template-columns:repeat(3, 1fr);gap:16px}@media only screen and (max-width: 767px){.tensorsite-grid-group__wrapper--3up{grid-template-columns:repeat(1, 1fr)}}.tensorsite-home-dynamic-blog .devsite-card-group{display:grid;grid-template-columns:repeat(2, 1fr);margin:0 15px 40px 15px}@media only screen and (max-width: 767px){.tensorsite-home-dynamic-blog .devsite-card-group{grid-template-columns:repeat(1, 1fr)}}.tensorsite-home-dynamic-blog .devsite-card{border:none;box-shadow:0 0 36px rgba(0,0,0,0.1);transition:box-shadow .2s linear,opacity .2s linear}.tensorsite-home-dynamic-blog .devsite-card:hover{box-shadow:0 0 64px rgba(0,0,0,0.22)}.tensorsite-home-dynamic-blog .devsite-card-image-container{padding:0 0 240px}.tensorsite-home-dynamic-blog .devsite-card-image{margin:20px;width:calc(100% - 40px);height:calc(100% - 40px);max-height:200px;border-radius:8px;border:1px solid #E6E6E6}.tensorsite-home-dynamic-blog .devsite-card-content{display:flex;flex-direction:column;margin:0 20px 20px 20px;padding:0}.tensorsite-home-dynamic-blog .devsite-card-content>a{order:1}.tensorsite-home-dynamic-blog .devsite-card-buttons{display:none}.tensorsite-home-dynamic-blog .devsite-pagination-less-button,.tensorsite-home-dynamic-blog .devsite-pagination-more-button{background-color:#fff;color:#425066;transition:box-shadow .2s linear,background .2s linear,color .2s linear}.tensorsite-home-dynamic-blog .devsite-pagination-less-button .material-icons,.tensorsite-home-dynamic-blog .devsite-pagination-more-button .material-icons{color:#ff6f00}.tensorsite-home-dynamic-blog .devsite-pagination-less-button:hover,.tensorsite-home-dynamic-blog .devsite-pagination-less-button:focus,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:hover,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:focus{background:linear-gradient(to top right, #ff6f00, #FFA800);border:1px solid #ff6f00;color:#fff}.tensorsite-home-dynamic-blog .devsite-pagination-less-button:hover .material-icons,.tensorsite-home-dynamic-blog .devsite-pagination-less-button:focus .material-icons,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:hover .material-icons,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:focus .material-icons{color:#fff}.tensorsite-home-dynamic-blog .devsite-pagination-less-button:hover ::before,.tensorsite-home-dynamic-blog .devsite-pagination-less-button:focus ::before,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:hover ::before,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:focus ::before{opacity:1}.tensorsite-home-dynamic-blog .devsite-pagination-less-button:hover ::after,.tensorsite-home-dynamic-blog .devsite-pagination-less-button:focus ::after,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:hover ::after,.tensorsite-home-dynamic-blog .devsite-pagination-more-button:focus ::after{opacity:0}.tensorsite-home-dynamic-blog .devsite-card-date{font-size:16px;font-family:"Roboto",sans-serif;font-weight:400;color:#818181;margin-bottom:12px}.tensorsite-home-dynamic-blog .devsite-card h3{font-size:24px;font-weight:500;line-height:30px;letter-spacing:0px;margin:0;color:#425066;transition:color .2s linear}.tensorsite-home-dynamic-blog .devsite-card h3:hover{color:#ff6f00} </style><style> /* Styles inlined from /site-assets/css/blog-cards.css */ /** * Devsite Blogger Cards - Dynamic Content Widget **/ .devsite-card-group { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } .devsite-card { -webkit-backface-visibility: hidden; backface-visibility: hidden; background: -webkit-gradient(linear, left top, right top, from(#ff6f00), to(#ff9100)); background: -o-linear-gradient(left, #ff6f00, #ff9100); background: linear-gradient(to right, #ff6f00, #ff9100); -webkit-box-shadow: 0 0 36px rgba(0,0,0,0.1); box-shadow: 0 0 36px rgba(0,0,0,0.1); border: 0; cursor: pointer; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); -webkit-transition: opacity .2s linear,-webkit-box-shadow .2s linear; transition: opacity .2s linear,-webkit-box-shadow .2s linear; -o-transition: box-shadow .2s linear,opacity .2s linear; transition: box-shadow .2s linear,opacity .2s linear; transition: box-shadow .2s linear,opacity .2s linear,-webkit-box-shadow .2s linear; } .devsite-card:hover { -webkit-box-shadow: 0 0 64px rgba(0,0,0,0.22); box-shadow: 0 0 64px rgba(0,0,0,0.22); } .devsite-card .no-link { -webkit-transition: color 0.15s linear; -o-transition: color 0.15s linear; transition: color 0.15s linear; } .devsite-card .button { -webkit-transition: color 0.15s linear; -o-transition: color 0.15s linear; transition: color 0.15s linear; } .devsite-card .devsite-card-content-wrapper { -webkit-transition: color 0.15s linear; -o-transition: color 0.15s linear; transition: color 0.15s linear; z-index: 2; } .devsite-card:hover .devsite-card-content-wrapper { color: #fff; } .devsite-card:hover .no-link { color: #fff; } .devsite-card:hover .button { color: #fff; position: relative; } .devsite-card::before { background: #fff; content: ''; height: 100%; left: 0; position: absolute; top: 0; -webkit-transition: opacity .2s linear; -o-transition: opacity .2s linear; transition: opacity .2s linear; width: 100%; } .devsite-card .devsite-card-content a::before { bottom: 3px; content: ''; left: 3px; position: absolute; right: 3px; top: 3px; } /* Fix */ .devsite-card .devsite-card-content a:focus::before, .devsite-card .devsite-card-content a:active::before { outline: 5px auto #425066; } .devsite-card:hover::before { opacity: 0; } .devsite-card .devsite-card-content a:focus, .devsite-card .devsite-card-content a:active { text-decoration: none; } .devsite-card .button::after { background-position: center; background-size: 80%; background-repeat: no-repeat; background-image: url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M11.7 5.3l-5-5c-.4-.4-1-.4-1.4 0-.4.4-.4 1 0 1.4L8.6 5H1c-.6 0-1 .4-1 1s.4 1 1 1h7.6l-3.3 3.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0l5-5c.4-.4.4-1 0-1.4z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(2 2)'%3E%3Cmask id='b' fill='%23425066'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23425066' xlink:href='%23a'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' mask='url(%23b)' d='M0 0h12v12H0z'/%3E%3C/g%3E%3Cpath fill='none' d='M2 2h12v12H2z'/%3E%3C/g%3E%3C/svg%3E"); content: '\00a0'; display: inline-block; height: 20px; margin-left: 4px; transition: filter .2s linear,transform .5s,opacity .2s linear,-webkit-filter .2s linear,-webkit-transform .5s; vertical-align: text-bottom; width: 20px; } .devsite-card:hover .button::after { -webkit-filter: grayscale(100%) invert(1) brightness(2); filter: grayscale(100%) invert(1) brightness(2); } .devsite-card:hover .button::after, .devsite-card .button:focus::after { -webkit-transform: translateX(4px); -ms-transform: translateX(4px); transform: translateX(4px); } .devsite-card .button::before { background-position: center; background-repeat: no-repeat; background-size: 80%; bottom: 0; margin-left: 0; opacity: 0; position: absolute; right: 0; transition: filter .2s linear,transform .5s,opacity .2s linear,-webkit-filter .2s linear,-webkit-transform .5s; vertical-align: text-bottom; width: 20px; } .devsite-card-buttons .button { -ms-flex-item-align: start; align-self: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 0; font-family: "Google Sans",sans-serif; font-size: 16px; font-weight: 700; height: auto; line-height: 20px; background-color: transparent; color: #425066; display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 8px; padding: 0; position: relative; } .devsite-card-buttons .button:hover { background-color: transparent; } .devsite-card-buttons .button::before { background-image: url("data:image/svg+xml;utf8,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M11.7 5.3l-5-5c-.4-.4-1-.4-1.4 0-.4.4-.4 1 0 1.4L8.6 5H1c-.6 0-1 .4-1 1s.4 1 1 1h7.6l-3.3 3.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0l5-5c.4-.4.4-1 0-1.4z' id='a'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(2 2)'%3E%3Cmask id='b' fill='%23ff6f00'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cuse fill='%23ff6f00' xlink:href='%23a'/%3E%3Cpath fill='%23ff6f00' fill-rule='nonzero' mask='url(%23b)' d='M0 0h12v12H0z'/%3E%3C/g%3E%3Cpath fill='none' d='M2 2h12v12H2z'/%3E%3C/g%3E%3C/svg%3E"); background-position: center; background-size: 80%; bottom: 0; margin-left: 0; opacity: 0; position: absolute; right: 0; } .devsite-card-content { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; margin-bottom: 8px; order: 2; padding: 0 30px; } .devsite-card-category { display: none; } .devsite-card-attribution { border: 0; margin-bottom: 8px; min-height: 0; -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; padding: 26px 30px 0; z-index: 2; } .devsite-card-attribution-name, .devsite-card-attribution-author { display: none; } .devsite-card-attribution-date { font-size: 14px; line-height: 18px; margin-left: 40px; margin-top: 0; position: relative; text-align: left; } .devsite-card-attribution-date::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon points='0 0 24 0 24 24 0 24'/%3E%3Cpath fill='%23425066' fill-rule='nonzero' d='M21,11.01 L3,11 L3,13 L21,13 L21,11.01 Z M3,16 L15,16 L15,18 L3,18 L3,16 Z M21,6 L3,6 L3,8.01 L21,8 L21,6 Z'/%3E%3C/g%3E%3C/svg%3E%0A"); background-repeat: no-repeat; background-size: contain; content: ''; height: 20px; left: -40px; position: absolute; top: -2px; transition: -webkit-filter .2s linear; -webkit-transition: -webkit-filter .2s linear; -o-transition: filter .2s linear; transition: filter .2s linear; transition: filter .2s linear, -webkit-filter .2s linear; width: 24px; } .devsite-card:hover .devsite-card-attribution-date::before { -webkit-filter: grayscale(100%) invert(1) brightness(2); filter: grayscale(100%) invert(1) brightness(2); } .devsite-card-image-bg { background-color: #fff; border-bottom: 1px solid #dadada; left: 0; position: absolute; right: 0; top: 0; transition: transform .5s cubic-bezier(0.25, 0.1, 0.25, 1), -webkit-transform .5s cubic-bezier(0.25, 0.1, 0.25, 1); will-change: transform; z-index: 2; } .devsite-card:hover .devsite-card-image-bg { border-bottom: none; -webkit-transform: scale(1.03); -ms-transform: scale(1.03); transform: scale(1.03); } .devsite-card-section { -ms-flex-order: 3; order: 3; } .devsite-card-buttons { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; -webkit-box-ordinal-group: 4; padding: 0 30px 26px 30px; } .devsite-card-wrapper .no-link { color: #425066; font-family: "Google Sans",sans-serif; font-size: 20px; font-weight: 500; line-height: 26px; margin-bottom: 12px; } .devsite-card-wrapper { -ms-flex-preferred-size: 25%; flex-basis: 25%; padding: 30px 0 0 30px; } @media (max-width: 1279px) { .devsite-card-wrapper { -ms-flex-preferred-size: 50%; flex-basis: 50%; } } @media (max-width: 767px) { .devsite-card { margin: 0 auto; max-width: calc(600px - 30px); /* Makes up for mobile container padding */ } .devsite-card-wrapper { -ms-flex-preferred-size: calc(100% - 30px); flex-basis: calc(100% - 30px); max-width: calc(100% - 30px); padding-left: 15px; padding-right: 15px; } .devsite-card-group { margin: 0 -15px; } } </style> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://www.tensorflow.org/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="TensorFlow" > TensorFlow </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://www.tensorflow.org/learn" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="" > Learn </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://www.tensorflow.org/tfx" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="TFX" > For Production </a> </li> </ul> </div> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded disabled> </devsite-toc> <div class="devsite-article-body clearfix devsite-no-page-title"> <div class="wrapper"> <section class="tensorsite-hero tensorsite-hero--river tensorsite-hero--wider" data-section-id="hero"> <div class="tensorsite-hero__side tensorsite-hero__side--left"> </div> <div class="tensorsite-hero__side tensorsite-hero__side--right"> </div> <div class="tensorsite-hero__side tensorsite-hero__side--left-lower"> </div> <div class="tensorsite-hero__content"> <div class="tensorsite-content"> <h1 class="tensorsite-content__title" id="tfx-is-an-end-to-end-platform-for-deploying-production-ml-pipelines" data-text=" TFX is an end-to-end platform for deploying production ML pipelines " tabindex="-1"> TFX is an end-to-end platform for deploying production ML pipelines </h1> <div class="tensorsite-content__description"> <inline-html> <p>When you're ready to move your models from research to production, use TFX to create and manage a production pipeline.</p> </inline-html> </div> </div> <div class="tensorsite-hero__buttons tensorsite-hero__buttons--fixed-width"> <a class="tensorsite-hero__button tensorsite-button" content-type="colab" href="https://colab.sandbox.google.com/github/tensorflow/tfx/blob/master/docs/tutorials/tfx/penguin_simple.ipynb" item-id="Run Colab" rel="noopener noreferrer" target="_blank"> Run Colab </a> <p class="tensorsite-hero__button-subtitle"> Get started by exploring each built-in component of TFX. </p> <a class="tensorsite-hero__button tensorsite-button" devsite="true" href="/tfx/tutorials" item-id="View tutorials"> View tutorials </a> <p class="tensorsite-hero__button-subtitle"> Learn how to use TFX with end-to-end examples. </p> <a class="tensorsite-hero__button tensorsite-button" devsite="true" href="/tfx/guide" item-id="View the guide"> View the guide </a> <p class="tensorsite-hero__button-subtitle"> Guides explain the concepts and components of TFX. </p> <a class="tensorsite-hero__button tensorsite-button" devsite="true" href="/tfx/addons" item-id="Explore addons"> Explore addons </a> <p class="tensorsite-hero__button-subtitle"> Additional TFX components contributed by the community. </p> </div> </div> <div class="tensorsite-hero__image"> <img alt src="/static/site-assets/images/marketing/learn/tfx-hero.svg"> </div> </section> <section class="tensorsite-column-list" data-section-id="how it works"> <div class="tensorsite-column-list__intro"> <h3 class="tensorsite-column-list__title" id="how-it-works" data-text=" How it works " tabindex="-1"> How it works </h3> <div class="tensorsite-column-list__description"> <inline-html> <p>A TFX pipeline is a sequence of components that implement an ML pipeline which is specifically designed for scalable, high-performance machine learning tasks. Components are built using TFX libraries which can also be used individually.</p> </inline-html> </div> </div> </section> <devsite-iframe><iframe src="https://www.tensorflow.org/frame/tfx/index_df6c6507f49db51a478457e88717bb007e97da3ecbe2f27e0eebc614d4aca76b.frame" class="framebox inherit-locale " allow="clipboard-write https://tensorflow-dot-devsite-v2-prod-3p.appspot.com" allowfullscreen is-upgraded></iframe></devsite-iframe> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--logos tensorsite-group--logos-wide" data-carousel-movement="1,1,1" data-carousel-moving="8,4,2" data-section-id="case study" for=""> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title tensorsite-content__title--grow" id="how-companies-are-using-tfx" data-text=" How companies are using TFX " tabindex="-1"> How companies are using TFX </h2> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--internal" content-type="cta" devsite="true" href="/about/case-studies?filter=TFX" item-id="See case studies"> See case studies <span> </span> </a> </div> </div> </div> <div class="tensorsite-group__inner"> <div class="tensorsite-block"> <a class="tensorsite-block__image" href="https://labs.spotify.com/2020/01/16/for-your-ears-only-personalizing-spotify-home-with-machine-learning/" item-id="Spotify" style="background-image: url('/site-assets/images/marketing/home/logos/logo_train_64px_spotify.png')"> <span class="hidden-text"> Spotify </span> </a> </div> <div class="tensorsite-block"> <a class="tensorsite-block__image" href="https://blog.tensorflow.org/2020/04/how-airbus-detects-anomalies-iss-telemetry-data-tfx.html" item-id="Airbus" style="background-image: url('/site-assets/images/marketing/home/logos/logo_train_64px_airbus.png')"> <span class="hidden-text"> Airbus </span> </a> </div> <div class="tensorsite-block"> <a class="tensorsite-block__image" href="https://security.googleblog.com/2020/02/improving-malicious-document-detection.html" item-id="Gmail" style="background-image: url('/site-assets/images/marketing/home/logos/logo_train_64px_gmail.png')"> <span class="hidden-text"> Gmail </span> </a> </div> <div class="tensorsite-block"> <a class="tensorsite-block__image" href="https://blog.tensorflow.org/2021/02/how-openx-trains-and-serves-for-million-queries-per-second.html" item-id="OpenX" style="background-image: url('/site-assets/images/marketing/home/logos/logo_openx.png')"> <span class="hidden-text"> OpenX </span> </a> </div> </div> </div> <div class="tensorsite-group__divider"> </div> </section> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--3up" data-section-id="solutions" for=""> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title" id="solutions-to-common-problems" data-text=" Solutions to common problems " tabindex="-1"> Solutions to common problems </h2> <div class="tensorsite-content__description"> <inline-html> <p>Explore step-by-step tutorials to help you with your projects.</p> </inline-html> </div> </div> </div> <div class="tensorsite-group__inner"> <div class="tensorsite-card tensorsite-card--clip"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/cards/tile_tensorflow_serving.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <div class="tensorsite-content__clip-bg"> <svg class="tensorsite-content__clip-shape" viewbox="0 0 409 132" xmlns="http://www.w3.org/2000/svg"> <path d="M71.2,3.2,0,44v88H409L92.3,1.8A24.1,24.1,0,0,0,71.2,3.2Z" fill="#fff"> </path> </svg> </div> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin"> Intermediate </div> <a class="tensorsite-content__title" devsite="true" href="/tfx/tutorials/serving/rest_simple" item-id="Train and serve a TensorFlow model with TensorFlow Serving"> Train and serve a TensorFlow model with TensorFlow Serving </a> <div class="tensorsite-content__description"> <inline-html> <p>This guide trains a neural network model to classify images of clothing, like sneakers and shirts, saves the trained model, and then serves it with TensorFlow Serving. The focus is on TensorFlow Serving, rather than the modeling and training in TensorFlow.</p> </inline-html> </div> </div> </div> <div class="tensorsite-card tensorsite-card--clip"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/cards/tfx_platform_pipelines.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <div class="tensorsite-content__clip-bg"> <svg class="tensorsite-content__clip-shape" viewbox="0 0 409 132" xmlns="http://www.w3.org/2000/svg"> <path d="M71.2,3.2,0,44v88H409L92.3,1.8A24.1,24.1,0,0,0,71.2,3.2Z" fill="#fff"> </path> </svg> </div> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin"> Intermediate </div> <a class="tensorsite-content__title" devsite="true" href="/tfx/tutorials/tfx/cloud-ai-platform-pipelines" item-id="Create TFX pipelines hosted on Google Cloud"> Create TFX pipelines hosted on Google Cloud </a> <div class="tensorsite-content__description"> <inline-html> <p>An introduction to TFX and Cloud AI Platform Pipelines to create your own machine learning pipelines on Google Cloud. Follow a typical ML development process, starting by examining the dataset, and ending up with a complete working pipeline.</p> </inline-html> </div> </div> </div> <div class="tensorsite-card tensorsite-card--clip"> <div class="tensorsite-content__image-wrapper"> <img alt class="tensorsite-content__image" src="/static/site-assets/images/marketing/cards/tfx_for_mobile.jpg"> </div> <div class="tensorsite-content tensorsite-content--under-image"> <div class="tensorsite-content__clip-bg"> <svg class="tensorsite-content__clip-shape" viewbox="0 0 409 132" xmlns="http://www.w3.org/2000/svg"> <path d="M71.2,3.2,0,44v88H409L92.3,1.8A24.1,24.1,0,0,0,71.2,3.2Z" fill="#fff"> </path> </svg> </div> <div class="tensorsite-content__subtitle tensorsite-content__subtitle--thin"> Intermediate </div> <a class="tensorsite-content__title" devsite="true" href="/tfx/tutorials/tfx/tfx_for_mobile" item-id="Use TFX with TensorFlow Lite for on-device inference"> Use TFX with TensorFlow Lite for on-device inference </a> <div class="tensorsite-content__description"> <inline-html> <p>Learn how TFX can create and evaluate machine learning models that will be deployed on-device. TFX now provides native support for TFLite, which makes it possible to perform highly efficient inference on mobile devices.</p> </inline-html> </div> </div> </div> </div> </div> <div class="tensorsite-group__divider"> </div> </section> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--4up" data-section-id="news" for=""> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title" id="news-announcements" data-text=" News &amp; announcements " tabindex="-1"> News &amp; announcements </h2> <div class="tensorsite-content__description"> <inline-html> <p>Check out our <a content-type="cta" href="https://blog.tensorflow.org/search?label=TFX&amp;max-results=20" item-id="Blog">blog</a> and <a content-type="cta" href="https://goo.gle/tfx-youtube" item-id="YouTube playlist" rel="noopener" target="_blank">YouTube playlist</a> for additional TFX content, <br/> and subscribe to our TensorFlow newsletter to get the <br/> latest announcements sent directly to your inbox.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" content-type="cta" href="/subscribe" item-id="Newsletter" rel="noopener noreferrer" target="_blank"> Sign up <span> </span> </a> </div> </div> </div> <div class="tensorsite-dynamic-blog-section"> <devsite-dynamic-content button-label="Read the blog" dynamic-card-type="card" fields="title image summary origin attribution date" initial-results="4" items-per-page="6" link-type="both" maxresults="4" query="tenant:tensorflow+type:blog+keyword:tfx"> </devsite-dynamic-content> </div> </div> <div class="tensorsite-group__divider"> </div> </section> <section #="" analytics="" anchors="" class="tensorsite-group tensorsite-group--3up-small" data-section-id="community" for=""> <div class="tensorsite-side-side__background"> </div> <div class="tensorsite-container"> <div class="tensorsite-group__header"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title" id="community-participation" data-text=" Community participation " tabindex="-1"> Community participation </h2> <div class="tensorsite-content__description"> <inline-html> <p>See more ways to participate in the TensorFlow community.</p> </inline-html> </div> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--internal" content-type="cta" href="/community" item-id="Community"> Community <span> </span> </a> </div> </div> </div> <div class="tensorsite-group__inner"> <div class="tensorsite-card"> <div class="tensorsite-content"> <a class="tensorsite-content__title tensorsite-icon tensorsite-icon--github tensorsite-content__title--grow" href="https://github.com/tensorflow/tfx" item-id="GitHub"> TFX on GitHub <span> </span> </a> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://github.com/google/ml-metadata" item-id="GitHub" rel="noopener noreferrer" target="_blank"> ML Metadata <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://github.com/tensorflow/data-validation" item-id="GitHub" rel="noopener noreferrer" target="_blank"> TensorFlow Data Validation <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://github.com/tensorflow/transform" item-id="GitHub" rel="noopener noreferrer" target="_blank"> TensorFlow Transform <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://github.com/tensorflow/model-analysis" item-id="GitHub" rel="noopener noreferrer" target="_blank"> TensorFlow Model Analysis <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://github.com/tensorflow/serving" item-id="GitHub" rel="noopener noreferrer" target="_blank"> TensorFlow Serving <span> </span> </a> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content"> <a class="tensorsite-content__title tensorsite-icon tensorsite-icon--stackoverflow tensorsite-content__title--grow" href="https://stackoverflow.com/questions/tagged/tfx" item-id="Stack Overflow"> Stack Overflow <span> </span> </a> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://stackoverflow.com/questions/tagged/mlmd" item-id="Stack Overflow" rel="noopener noreferrer" target="_blank"> ML Metadata <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://stackoverflow.com/questions/tagged/tensorflow-data-validation" item-id="Stack Overflow" rel="noopener noreferrer" target="_blank"> TensorFlow Data Validation <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://stackoverflow.com/questions/tagged/tensorflow-transform" item-id="Stack Overflow" rel="noopener noreferrer" target="_blank"> TensorFlow Transform <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://stackoverflow.com/questions/tagged/tensorflow-model-analysis" item-id="Stack Overflow" rel="noopener noreferrer" target="_blank"> TensorFlow Model Analysis <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://stackoverflow.com/questions/tagged/tensorflow-serving" item-id="Stack Overflow" rel="noopener noreferrer" target="_blank"> TensorFlow Serving <span> </span> </a> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content"> <a class="tensorsite-content__title tensorsite-icon tensorsite-icon--github tensorsite-content__title--grow" href="https://github.com/tensorflow/tfx/issues" item-id="GitHub - issues"> Issues, bug reports, and feature requests <span> </span> </a> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://github.com/google/ml-metadata/issues" item-id="GitHub - issues" rel="noopener noreferrer" target="_blank"> ML Metadata <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://github.com/tensorflow/data-validation/issues" item-id="GitHub - issues" rel="noopener noreferrer" target="_blank"> TensorFlow Data Validation <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://github.com/tensorflow/transform/issues" item-id="GitHub - issues" rel="noopener noreferrer" target="_blank"> TensorFlow Transform <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://github.com/tensorflow/model-analysis/issues" item-id="GitHub - issues" rel="noopener noreferrer" target="_blank"> TensorFlow Model Analysis <span> </span> </a> <a class="tensorsite-content__cta tensorsite-content__cta-icon tensorsite-icon--external" href="https://github.com/tensorflow/serving/issues" item-id="GitHub - issues" rel="noopener noreferrer" target="_blank"> TensorFlow Serving <span> </span> </a> </div> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content"> <a class="tensorsite-content__title tensorsite-icon tensorsite-icon--chat tensorsite-content__title--grow" href="https://discuss.tensorflow.org/tag/tfx" item-id="TensorFlow Forum"> Ask a question on TensorFlow Forum <span> </span> </a> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content"> <a class="tensorsite-content__title tensorsite-icon tensorsite-icon--github tensorsite-content__title--grow" href="https://github.com/tensorflow/tfx-addons" item-id="Special Interest Group"> Join the TFX-Addons Special Interest Group <span> </span> </a> </div> </div> <div class="tensorsite-card"> <div class="tensorsite-content"> <a class="tensorsite-content__title tensorsite-icon tensorsite-icon--devlibrary tensorsite-content__title--grow" href="https://devlibrary.withgoogle.com/products/ml" item-id="Dev Library"> Explore Dev Library community projects <span> </span> </a> </div> </div> </div> </div> </section> <section class="tensorsite-footer" data-section-id="footer"> <div class="tensorsite-container tensorsite-footer__container"> <div class="tensorsite-footer__side tensorsite-footer__side--left"> </div> <div class="tensorsite-footer__side tensorsite-footer__side--right"> </div> <div class="tensorsite-footer__content"> <div class="tensorsite-content"> <h2 class="tensorsite-content__title tensorsite-content__title--grow" id="get-started-with-tfx" data-text=" Get started with TFX " tabindex="-1"> Get started with TFX </h2> <div class="tensorsite-content__cta-wrapper"> <a class="tensorsite-content__button tensorsite-button tensorsite-button--white" devsite="true" href="/tfx/tutorials" item-id="Explore tutorials"> Explore tutorials </a> </div> </div> </div> </div> <div class="tensorsite-footer__lines"> </div> </section> <footer> </footer> </div> </div> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],[],[],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Stay connected</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//blog.tensorflow.org" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Blog </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//discuss.tensorflow.org" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Forum </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//github.com/tensorflow/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > GitHub </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//twitter.com/tensorflow" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Twitter </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//youtube.com/tensorflow" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > YouTube </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Support</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//github.com/tensorflow/tensorflow/issues" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Issue tracker </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//github.com/tensorflow/tensorflow/blob/master/RELEASE.md" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Release notes </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//stackoverflow.com/questions/tagged/tensorflow" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Stack Overflow </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/extras/tensorflow_brand_guidelines.pdf" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Brand guidelines </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/about/bib" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Cite TensorFlow </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/terms" data-category="Site-Wide Custom Events" data-label="Footer Terms link" > Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" > Privacy </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true" > Manage cookies </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the TensorFlow newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="//www.tensorflow.org/subscribe" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" > Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt" >Português</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[{&#34;dimensions&#34;: {&#34;dimension1&#34;: &#34;Signed out&#34;, &#34;dimension4&#34;: &#34;TFX&#34;, &#34;dimension3&#34;: false, &#34;dimension6&#34;: &#34;en&#34;, &#34;dimension12&#34;: false, &#34;dimension5&#34;: &#34;en&#34;}, &#34;gaid&#34;: &#34;UA-69864048-1&#34;, &#34;metrics&#34;: {&#34;ratings_count&#34;: &#34;metric2&#34;, &#34;ratings_value&#34;: &#34;metric1&#34;}, &#34;purpose&#34;: 0}]</script> <script type="application/json" tag-management>{&#34;at&#34;: &#34;True&#34;, &#34;ga4&#34;: [], &#34;ga4p&#34;: [], &#34;gtm&#34;: [{&#34;id&#34;: &#34;GTM-MXSL34P&#34;, &#34;purpose&#34;: 0}], &#34;parameters&#34;: {&#34;internalUser&#34;: &#34;False&#34;, &#34;language&#34;: {&#34;machineTranslated&#34;: &#34;False&#34;, &#34;requested&#34;: &#34;en&#34;, &#34;served&#34;: &#34;en&#34;}, &#34;pageType&#34;: &#34;article&#34;, &#34;projectName&#34;: &#34;TFX&#34;, &#34;signedIn&#34;: &#34;False&#34;, &#34;tenant&#34;: &#34;tensorflow&#34;, &#34;recommendations&#34;: {&#34;sourcePage&#34;: &#34;&#34;, &#34;sourceType&#34;: 0, &#34;sourceRank&#34;: 0, &#34;sourceIdenticalDescriptions&#34;: 0, &#34;sourceTitleWords&#34;: 0, &#34;sourceDescriptionWords&#34;: 0, &#34;experiment&#34;: &#34;&#34;}, &#34;experiment&#34;: {&#34;ids&#34;: &#34;&#34;}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="EDQtHFqJzDudTOWxvnz7CloVgt8DeD"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/js/app_loader.js', '[15,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow","https://tensorflow-dot-devsite-v2-prod-3p.appspot.com",1,null,["/_pwa/tensorflow/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/images/favicon.png","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/tensorflow/images/lockup.svg","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,116,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyCNm9YxQumEXwGJgTDjxoxXK6m1F-9720Q","AIzaSyCc76DZePGtoyUjqKrLdsMGk_ry7sljLbY","www.tensorflow.org","AIzaSyB9bqgQ2t11WJsOX8qNsCQ6U-w91mmqF-I","AIzaSyAdYnStPdzjcJJtQ0mvIaeaMKj7_t6J_Fg",null,null,null,["Search__enable_page_map","MiscFeatureFlags__developers_footer_dark_image","Profiles__enable_public_developer_profiles","Analytics__enable_clearcut_logging","Concierge__enable_pushui","Cloud__enable_llm_concierge_chat","Search__enable_suggestions_from_borg","Cloud__enable_cloudx_experiment_ids","TpcFeatures__enable_required_headers","DevPro__enable_developer_subscriptions","Profiles__enable_recognition_badges","TpcFeatures__enable_mirror_tenant_redirects","CloudShell__cloud_shell_button","Profiles__enable_dashboard_curated_recommendations","Profiles__enable_completecodelab_endpoint","Profiles__enable_profile_collections","MiscFeatureFlags__developers_footer_image","Profiles__enable_release_notes_notifications","MiscFeatureFlags__enable_firebase_utm","Cloud__enable_free_trial_server_call","Cloud__enable_cloud_shell","MiscFeatureFlags__emergency_css","Cloud__enable_cloud_dlp_service","Cloud__enable_cloudx_ping","Profiles__enable_page_saving","Profiles__enable_developer_profiles_callout","Cloud__enable_cloud_shell_fte_user_flow","BookNav__enable_tenant_cache_key","MiscFeatureFlags__enable_project_variables","MiscFeatureFlags__enable_view_transitions","Cloud__enable_cloud_facet_chat","Profiles__require_profile_eligibility_for_signin","SignIn__enable_refresh_access_tokens","Cloud__enable_legacy_calculator_redirect","MiscFeatureFlags__enable_explain_this_code","MiscFeatureFlags__enable_variable_operator","Search__enable_dynamic_content_confidential_banner","Search__enable_ai_eligibility_checks","CloudShell__cloud_code_overflow_menu","DevPro__enable_cloud_innovators_plus","EngEduTelemetry__enable_engedu_telemetry","Profiles__enable_complete_playlist_endpoint","Experiments__reqs_query_experiments","Profiles__enable_awarding_url"],null,null,"AIzaSyA58TaKli1DculwmAmbpzLVGuWc8eCQgQc","https://developerscontentserving-pa.googleapis.com","AIzaSyDWBU60w0P9hEkr29kkksYs8Z7gvZ8u_wc","https://developerscontentsearch-pa.googleapis.com",2,4,null,"https://developerprofiles-pa.googleapis.com",[15,"tensorflow","TensorFlow","www.tensorflow.org",null,"tensorflow-dot-devsite-v2-prod-3p.appspot.com",null,null,[null,1,null,null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1]],null,null,null,[1,null,1],[1,1,null,1,1]],null,[25,null,null,null,null,null,"/images/lockup.svg","/images/logo.png",null,null,null,1,1,null,null,null,null,null,null,null,null,1,null,null,null,null,[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1],null,[[],[1,1]],[[["UA-69864048-1"],["UA-69864048-4"],null,null,["UA-69864048-5"],["GTM-MXSL34P"],null,null,[["UA-69864048-1",1]],null,[["UA-69864048-5",1]],[["GTM-MXSL34P",1]],1],[[4,3],[3,2],[6,5],[12,8],[1,1],[5,4]],[[1,1],[2,2]]],null,4]]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>

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