CINXE.COM
<!doctype html> <html lang="en" ng-app="lu.store" ng-cloak> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge;chrome=1" > <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"/> <meta name="apple-mobile-web-app-status-bar-style" content="black"/> <title ng-non-bindable>Twilio Training | Twilio Flex | Twilio Developer | Twilio guide | Twilio skills | best practice</title> <link href="https://learnupon.s3.eu-west-1.amazonaws.com/portal_images/68234/store_logo_squared/icon/twilio-mark-white.ico" rel="shortcut icon"></link> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="CWPfv5saiW7-_z08EB_mW3ssvAY3qaz-Sgf73erJ5Wb9x1nqX26VtJuBCNi_talEegLsAgOkIKc1APcX7BMRYw" /> <script type="text/javascript"> var lup_cdn_host = "https://d33z9r12iu5vuo.cloudfront.net"; var init_object = {"twitter_enabled":false,"current_user":false,"show_email_sent":null,"user_email":null,"scroll_to_items":false}; var terms_available = false var regexString = /^(?:[a-zA-Z0-9&'_*+~-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z](?:[a-zA-Z-]*[a-zA-Z])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){1}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/; var MOMENT_DATE_FORMAT = "MM/DD/YYYY" var CONFIG = (function(){ 'use strict'; var cfg = { cdnPath: "https://d33z9r12iu5vuo.cloudfront.net/11.614.000/store/", cdnWL: "https://d33z9r12iu5vuo.cloudfront.net/**", ncMessage: "true", myRegex: regexString, terms_available: terms_available }; return cfg; })(); </script> <link href='https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,700,500italic,700italic,900,900italic' rel='stylesheet' type='text/css'> <link rel="stylesheet" href="https://d33z9r12iu5vuo.cloudfront.net/11.614.000/store/application.css" media="screen" /> <link href="/store/theme.css" rel="stylesheet"> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> <script src="https://d33z9r12iu5vuo.cloudfront.net/11.614.000/store/vendor.js"></script> <!--[if lte IE 9]> <script src="/javascripts/legacy/polyfiller.js"></script> <script> webshims.setOptions('forms-ext', {replaceUI: 'auto'}); webshims.polyfill('forms forms-ext'); </script> <![endif]--> <script src="https://d33z9r12iu5vuo.cloudfront.net/javascripts/i18n.js"></script> <script src="https://d33z9r12iu5vuo.cloudfront.net/11.614.000/languages/en.js"></script> <script type="text/javascript"> (function(){ I18n.defaultLocale = "en"; I18n.locale = "en"; I18n.fallbacks = true; })(jQuery); </script> <script src="https://d33z9r12iu5vuo.cloudfront.net/11.614.000/store/templates.js"></script> <script src="https://d33z9r12iu5vuo.cloudfront.net/javascripts/rails_new.js"></script> <meta name='description' content='On demand training courses for developers building on twilio' /> <meta name='keywords' content='Twilio Training, Twilio Flex, Twilio Developer, Twilio guide, Twilio skills, best practice' /> <script ng-cloak preload-flash="{}"></script> <script ng-cloak preload-resource="%7B%7D"></script> <script ng-cloak preload-settings="{"password_policy_config":{"is_enabled":false,"enable_password_expiration":true,"password_expiration_days":30,"regex_validator":[{"name":"minimum_numerical_characters","form_label":{"order":0,"translation_key":"lup.password_complexity.validation.minimum_numerical_characters_label","translation_options":{"num":1}},"error_msg":{"translation_key":"lup.password_complexity.validation.minimum_numerical_characters","translation_options":{"num":1}},"regex":"(?=(.*[0-9]){1})"},{"name":"minimum_special_characters","form_label":{"order":1,"translation_key":"lup.password_complexity.validation.minimum_special_characters_label","translation_options":{"num":1}},"error_msg":{"translation_key":"lup.password_complexity.validation.minimum_special_characters","translation_options":{"num":1}},"regex":"(?=(.*[^0-9a-zA-Z]){1})"},{"name":"minimum_uppercase_characters","form_label":{"order":2,"translation_key":"lup.password_complexity.validation.minimum_uppercase_characters_label","translation_options":{"num":1}},"error_msg":{"translation_key":"lup.password_complexity.validation.minimum_uppercase_characters","translation_options":{"num":1}},"regex":"(?=(.*[A-Z]){1})"},{"name":"minimum_lowercase_characters","form_label":{"order":3,"translation_key":"lup.password_complexity.validation.minimum_lowercase_characters_label","translation_options":{"num":1}},"error_msg":{"translation_key":"lup.password_complexity.validation.minimum_lowercase_characters","translation_options":{"num":1}},"regex":"(?=(.*[a-z]){1})"},{"name":"minimum_password_length","form_label":{"order":4,"translation_key":"lup.password_complexity.validation.minimum_password_length_label","translation_options":{"num":6}},"error_msg":{"translation_key":"lup.password_complexity.validation.minimum_password_length_form","translation_options":{"min":6,"max":100}},"regex":".{6,}"}],"portal_id":68234,"retention_config":{"is_enabled":true,"number_to_keep":10}}}"></script> </head> <body onload="Store.initMainPage()"> <div id="currency-symbol">$</div> <div id="animation-layer"></div> <div class="modal fade" id="impersonationResolutionMessageModal" tabindex="-1" role="dialog" aria-labelledby="impersonationResolutionMessageModal"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> <h4 class="modal-title">Record your actions</h4> </div> <div class="modal-body"> <label for="resolution-message">You can record any actions you took while logged in as a learner on this account in the box below.</label> <input class="form-control" id="resolution-message" maxlength="255" type="text"> <div id="characters-left" > <span aria-live="polite" aria-labelledby="Characters left:">Characters left: 255</span> </div> </div> <div class="modal-footer"> <button class="btn btn-default js-logout-no-msg" data-dismiss="modal">Skip</button> <button class="btn btn-primary js-logout-msg">Record</button> </div> </div> </div> </div> <div id="main-header" class="top-navigation-wrapper"> <div class="container-fluid top-navigation"> <nav class="navbar navbar-default lu-custom-navbar"> <div class="navbar-header"> <a href="/store" class="mainheader-brand"><span class="brand-logo"></span></a> </div> <div id="navbar" class="navbar-collapse collapse" style="height: 1px;"> <ul class="nav navbar-nav navbar-right navigation-buttons"> <li id="user-button" class="user-button"> <a href="/users/sign_in" class="sign-in secondary-color" data-toggle="dropdown"> <i class="fa fa-user"></i> <div class='btn-text hidden-sm hidden-xs'> Sign In </div> </a> <ul class="dropdown-menu" style="width: 300px; padding: 0;"> <li> <div class="row"> <div class="col-xs-12"> <div class="login-form box-single p-0 m-0"> <div class="header"> <h4>Login</h4> <div class="icon"> <i class="fa fa-user"></i> </div> </div> <div class="content"> <form autocomplete="off" action="/old/users/sign_in" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" autocomplete="off" /><input type="hidden" name="authenticity_token" value="f1UFNSBJaB0pXlqZu3r7myAVlFPA5jkPvIn44KOQ7AmL8YNg5D10x0wgb30U0LSEITvEV_TrtVbDjvQqpUoYDA" autocomplete="off" /> <input value="/store" id="navigation_next" class="user_next_hidden" autocomplete="off" type="hidden" name="user[next]" /> <div class="input-group"> <div class="input-group-addon"> <i class="fa fa-envelope"></i> </div> <input class="form-control" placeholder="Email" type="email" required="required" id="navigation_sign_in_email" name="user[login]" /> </div> <div class="input-group"> <div class="input-group-addon"> <i class="fa fa-lock"></i> </div> <input autocomplete="off" class="form-control" placeholder="Password" id="navigation_sign_in_password" type="password" name="user[password]" /> </div> <p class="text-left push-btn"> <a class="login-form-info-links" href='/users/password/new'>Forgot your password?</a> </p> <input type="submit" name="commit" value="Sign in" class="btn btn-success next-step" id="navigation_submit" data-disable-with="Sign in" /> <p class="text-left"> <a class="login-form-info-links" href='/users/sign_up'>Don't have an account?</a> </p> </form> </div> </div> </div> </div> </li> </ul> </li> <li> <a href="#" class="shopping-cart secondary-color" id="shopping-cart-button"> <i class="fa fa-shopping-cart"></i> <div class='btn-text hidden-sm hidden-xs'> Shopping Cart </div> </a> <div class="shopping-cart-counter hidden" id="shopping-cart-counter"> 0 </div> </li> </ul> </div> </nav> </div> </div> <div class="main-content" ng-cloak> <header class="main-header"> <div class="top-section-container "> <div class="top-section-overlay"> <div class="jumbotron header"> <div class="container"> <div class="row row-margin"> <div class="col-xs-12 col-sm-11 col-md-8 col-center text-center" ng-non-bindable> <h1 class="">Twilio Training</h1> <p>Twilio Build Partners: visit https://build.twilio.com/s/learning for Partner Learning Adventures </p> </div> </div> </div> </div> </div> </div> <div class="search-select-wrap"> <div class="container"> <div class="row"> <div class="col-sm-12 col-md-6"> <form class="search-wrap" action="/store" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" autocomplete="off" /> <div class="input-group" ng-non-bindable> <div class="input-group-addon"> <i class="fa fa-search"></i> </div> <input type="text" name="st" id="st" placeholder="Search by keyword" class="form-control" maxlength="64" /> <div class="input-group-btn"> <button type="submit" class="btn btn-primary btn-large" name="commit">Search</button> </div> </div> </form> </div> <!--<div class="col-sm-12 col-md-2 text-center or">or</div>--> <div class="col-sm-12 col-md-6"> <form class="category-wrap" data-or-text="or" action="/store" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" autocomplete="off" /> <input type="hidden" name="ss" id="ss" value="1" autocomplete="off" /> <div class="input-group" ng-non-bindable> <select name="ct" id="ct" class="all-categories form-control"><option value="0">All Categories</option> <option value="60496">1-Overview (6)</option> <option value="60497">2-Fundamentals (10)</option> <option value="60498">3-Advanced (5)</option> <option value="60499">4-Troubleshooting (1)</option></select> <div class="input-group-btn"><input type="submit" name="commit" value="Filter" class="btn btn-primary btn-large" data-disable-with="Filter" /></div> </div> </form> </div> </div> </div> </div> </header> <div class="content-container gray"> <div class="container boxes"> <div class="row" id="store_items_container"> <section class="type-two"><div class="card"> <section> <figure class="card__figure"> <img src="https://learnupon.s3.eu-west-1.amazonaws.com/courseimages/604389/large/cover_LMS_-_SMS_Compliance_Training.jpg" /> </figure> <div class="card__desc"> <div class="card__content"> <div class="card__content__title course-title" ng-non-bindable> <a href="/store/1169970-sms-compliance-training">SMS Compliance Training</a> </div> <p class="card__content__desc list-item-description" ng-non-bindable> This course will help you understand the basics of SMS compliance, including regulatory guidance and how to ensure your customers have a compliant usecase. <a href="/store/1169970-sms-compliance-training" class="readmore">Read more</a> </p> </div> <div class="card__footer media"> <div class="media-body"> <div class="row"> <div class="two-lines-info col-xs-6 col-sm-3 col-md-3 col-lg-3"> <p>Content</p> <div>1 module</div> </div> <div class="two-lines-info col-xs-6 col-sm-4 col-md-4 col-lg-4" ng-non-bindable> <p>Price</p> <div> <span class="couse-meta-value">Free </span> </div> </div> </div> </div> <div class="media-right"> <button handler="addToCart" class="btn btn-primary btn-block" data-type="course" data-id="1169970" style="" data-sessions_to_choose="0"> Add</button><button handler="removeFromCart" class="btn btn-danger pull-right box-button" data-type="course" data-id="1169970" style="display:none"> Remove</button> <div class="gif-spinner gif-spinner-1169970 center"> <img src="/images/1__loading.gif"> </div> </div> </div> </div> </section> </div> <div class="assoc-item-container col-xs-12" id="assoc-pricing-template" style="display: none;"> <div class="row"> <div class="col-xs-8"><div class="title"></div></div> <div class="col-xs-4"><div class="value"></div></div> </div> </div> <div class="card"> <section> <figure class="card__figure"> <img src="https://learnupon.s3.eu-west-1.amazonaws.com/courseimages/546858/large/FO-CoverLMSv1.png" /> </figure> <div class="card__desc"> <div class="card__content"> <div class="card__content__title course-title" ng-non-bindable> <a href="/store/1060930-flex-overview">Flex Overview</a> </div> <p class="card__content__desc list-item-description" ng-non-bindable> In this course we will discuss the core features of Twilio Flex and how you can utilize them to create a customized Contact Center experience. The areas that are covered are as follows: Introduction to Twilio Flex The building blocks of Flex Twilio Studio Flex user management Flex Insights <a href="/store/1060930-flex-overview" class="readmore">Read more</a> </p> </div> <div class="card__footer media"> <div class="media-body"> <div class="row"> <div class="two-lines-info col-xs-6 col-sm-3 col-md-3 col-lg-3"> <p>Rating</p> <div class="rating-wrapper" data-current="4.93" data-max="5"></div> </div> <div class="two-lines-info col-xs-6 col-sm-3 col-md-3 col-lg-3"> <p>Content</p> <div>1 module</div> </div> <div class="two-lines-info col-xs-6 col-sm-4 col-md-4 col-lg-4" ng-non-bindable> <p>Price</p> <div> <span class="couse-meta-value">Free </span> </div> </div> </div> </div> <div class="media-right"> <button handler="addToCart" class="btn btn-primary btn-block" data-type="course" data-id="1060930" style="" data-sessions_to_choose="0"> Add</button><button handler="removeFromCart" class="btn btn-danger pull-right box-button" data-type="course" data-id="1060930" style="display:none"> Remove</button> <div class="gif-spinner gif-spinner-1060930 center"> <img src="/images/1__loading.gif"> </div> </div> </div> </div> </section> </div> <div class="assoc-item-container col-xs-12" id="assoc-pricing-template" style="display: none;"> <div class="row"> <div class="col-xs-8"><div class="title"></div></div> <div class="col-xs-4"><div class="value"></div></div> </div> </div> <div class="card"> <section> <figure class="card__figure"> <img src="https://learnupon.s3.eu-west-1.amazonaws.com/courseimages/504953/large/cover_LMS_FX7.jpg" /> </figure> <div class="card__desc"> <div class="card__content"> <div class="card__content__title course-title" ng-non-bindable> <a href="/store/991543-flexercise-7-single-sign-on-user-management">Flexercise #7: Single Sign-on & User Management</a> </div> <p class="card__content__desc list-item-description" ng-non-bindable> In this course we'll see how to configure Single Sign-on (SSO) in Flex for user authentication and authorization.聽 We'll have a brief look at Security Markup Assertion Language (SAML) and how that is used in the interaction between Flex, Flex users and third party Identity Providers (IdP) .聽 After taking this course you will be able to configure Flex for SSO and understand the basics of how users of a Flex system should be managed. <a href="/store/991543-flexercise-7-single-sign-on-user-management" class="readmore">Read more</a> </p> </div> <div class="card__footer media"> <div class="media-body"> <div class="row"> <div class="two-lines-info col-xs-6 col-sm-3 col-md-3 col-lg-3"> <p>Content</p> <div>1 module</div> </div> <div class="two-lines-info col-xs-6 col-sm-4 col-md-4 col-lg-4" ng-non-bindable> <p>Price</p> <div> <span class="couse-meta-value">Free </span> </div> </div> </div> </div> <div class="media-right"> <button handler="addToCart" class="btn btn-primary btn-block" data-type="course" data-id="991543" style="" data-sessions_to_choose="0"> Add</button><button handler="removeFromCart" class="btn btn-danger pull-right box-button" data-type="course" data-id="991543" style="display:none"> Remove</button> <div class="gif-spinner gif-spinner-991543 center"> <img src="/images/1__loading.gif"> </div> </div> </div> </div> </section> </div> <div class="assoc-item-container col-xs-12" id="assoc-pricing-template" style="display: none;"> <div class="row"> <div class="col-xs-8"><div class="title"></div></div> <div class="col-xs-4"><div class="value"></div></div> </div> </div> <div class="card"> <section> <figure class="card__figure"> <img src="https://learnupon.s3.eu-west-1.amazonaws.com/courseimages/503287/large/fx6-lms-cover_NOPROCESS_.jpg" /> </figure> <div class="card__desc"> <div class="card__content"> <div class="card__content__title course-title" ng-non-bindable> <a href="/store/987479-flexercise-6-more-ui-customizations">Flexercise #6: More UI Customizations</a> </div> <p class="card__content__desc list-item-description" ng-non-bindable> This course picks up where Flexercise #2 left off, and digs into further UI customizations. You will create your own custom view, and add styling that takes advantage of any existing themes. You鈥檒l also work more with template strings and workarounds for custom channels. Finally, you鈥檒l utilize the Actions Framework to create an auto-accept plugin, and create alerts with the Notifications Framework. <a href="/store/987479-flexercise-6-more-ui-customizations" class="readmore">Read more</a> </p> </div> <div class="card__footer media"> <div class="media-body"> <div class="row"> <div class="two-lines-info col-xs-6 col-sm-3 col-md-3 col-lg-3"> <p>Content</p> <div>1 module</div> </div> <div class="two-lines-info col-xs-6 col-sm-4 col-md-4 col-lg-4" ng-non-bindable> <p>Price</p> <div> <span class="couse-meta-value">Free </span> </div> </div> </div> </div> <div class="media-right"> <button handler="addToCart" class="btn btn-primary btn-block" data-type="course" data-id="987479" style="" data-sessions_to_choose="0"> Add</button><button handler="removeFromCart" class="btn btn-danger pull-right box-button" data-type="course" data-id="987479" style="display:none"> Remove</button> <div class="gif-spinner gif-spinner-987479 center"> <img src="/images/1__loading.gif"> </div> </div> </div> </div> </section> </div> <div class="assoc-item-container col-xs-12" id="assoc-pricing-template" style="display: none;"> <div class="row"> <div class="col-xs-8"><div class="title"></div></div> <div class="col-xs-4"><div class="value"></div></div> </div> </div> <div class="card"> <section> <figure class="card__figure"> <img src="https://learnupon.s3.eu-west-1.amazonaws.com/courseimages/489720/large/cover_LMS_-_Flex_Insights_Advanced_Custom_Metrics.jpg" /> </figure> <div class="card__desc"> <div class="card__content"> <div class="card__content__title course-title" ng-non-bindable> <a href="/store/964117-flex-insights-advanced-custom-metrics">Flex Insights Advanced: Custom Metrics</a> </div> <p class="card__content__desc list-item-description" ng-non-bindable> Metrics are the building blocks of any report in Flex Insights. Flex Insights Historical Reporting provides built-in metrics that users can utilize to build their reports and dashboards.聽 Upon completion of this course, you will be able to: Identify how metrics can be used in custom reports and metrics聽 Create your own custom metrics using MAQL language聽 <a href="/store/964117-flex-insights-advanced-custom-metrics" class="readmore">Read more</a> </p> </div> <div class="card__footer media"> <div class="media-body"> <div class="row"> <div class="two-lines-info col-xs-6 col-sm-3 col-md-3 col-lg-3"> <p>Content</p> <div>1 module</div> </div> <div class="two-lines-info col-xs-6 col-sm-4 col-md-4 col-lg-4" ng-non-bindable> <p>Price</p> <div> <span class="couse-meta-value">Free </span> </div> </div> </div> </div> <div class="media-right"> <button handler="addToCart" class="btn btn-primary btn-block" data-type="course" data-id="964117" style="" data-sessions_to_choose="0"> Add</button><button handler="removeFromCart" class="btn btn-danger pull-right box-button" data-type="course" data-id="964117" style="display:none"> Remove</button> <div class="gif-spinner gif-spinner-964117 center"> <img src="/images/1__loading.gif"> </div> </div> </div> </div> </section> </div> <div class="assoc-item-container col-xs-12" id="assoc-pricing-template" style="display: none;"> <div class="row"> <div class="col-xs-8"><div class="title"></div></div> <div class="col-xs-4"><div class="value"></div></div> </div> </div> <div class="card"> <section> <figure class="card__figure"> <img src="https://learnupon.s3.eu-west-1.amazonaws.com/courseimages/489048/large/cover_LMS_-_3.png" /> </figure> <div class="card__desc"> <div class="card__content"> <div class="card__content__title course-title" ng-non-bindable> <a href="/store/963034-flexercise-5-crm-integration-security">Flexercise #5: CRM Integration & Security</a> </div> <p class="card__content__desc list-item-description" ng-non-bindable> In this third, and last, course of聽our three-part CRM series, we will integrate Flex with a more secure CRM. At the end of the course, you will be able to customise the Flex UI based on a user's roles, ensure that a Twilio Function can only be run on behalf of an authorized user, and use credentials securely from inside a Function, to access a CRM. 聽 <a href="/store/963034-flexercise-5-crm-integration-security" class="readmore">Read more</a> </p> </div> <div class="card__footer media"> <div class="media-body"> <div class="row"> <div class="two-lines-info col-xs-6 col-sm-3 col-md-3 col-lg-3"> <p>Content</p> <div>1 module</div> </div> <div class="two-lines-info col-xs-6 col-sm-4 col-md-4 col-lg-4" ng-non-bindable> <p>Price</p> <div> <span class="couse-meta-value">Free </span> </div> </div> </div> </div> <div class="media-right"> <button handler="addToCart" class="btn btn-primary btn-block" data-type="course" data-id="963034" style="" data-sessions_to_choose="0"> Add</button><button handler="removeFromCart" class="btn btn-danger pull-right box-button" data-type="course" data-id="963034" style="display:none"> Remove</button> <div class="gif-spinner gif-spinner-963034 center"> <img src="/images/1__loading.gif"> </div> </div> </div> </div> </section> </div> <div class="assoc-item-container col-xs-12" id="assoc-pricing-template" style="display: none;"> <div class="row"> <div class="col-xs-8"><div class="title"></div></div> <div class="col-xs-4"><div class="value"></div></div> </div> </div> </section> <div class="col-md-12 text-center" id="pagination"> <div role="navigation" aria-label="Pagination" class="pagination"><span class="previous_page disabled" aria-disabled="true"><i class="fa fa-caret-left"></i></span> <em class="current" aria-label="Page 1" aria-current="page">1</em> <a rel="next" aria-label="Page 2" href="/store?page=2">2</a> <a aria-label="Page 3" href="/store?page=3">3</a> <a aria-label="Page 4" href="/store?page=4">4</a> <a aria-label="Page 5" href="/store?page=5">5</a> <a class="next_page" rel="next" href="/store?page=2"><i class="fa fa-caret-right"></i></a></div> </div> </div> </div> </div> <!-- "Popup" Shopping Cart --> <div id="shopping-cart-element"> <div class="close-btn" id="shopping-cart-element-close-btn"> <i class="fa fa-times fa-2x"></i> </div> <div class="header"> <div class="row"> <div class="col-xs-1 text-left"><h4><i class="fa fa-shopping-cart"></i></h4></div> <div class="col-xs-11 text-left no-padding"><h4>Shopping Cart</h4></div> </div> </div> <div class="container-fluid"> <p class="notice"> Your cart is empty </p> </div> </div> <div class="modal fade ilt-sessions" id="chooseIltSessionModal" tabindex="-1" role="dialog" aria-labelledby="chooseIltSessionModal"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel">Choose a session to attend</h4> </div> <div class="modal-body"> <div class="row"> <div class="col-md-12" id="available-sessions"> </div> </div> </div> <div class="modal-footer"> <div class="row"> <form id="choose-ilt-session-form" onsubmit="Store.sessionAddedToCart(this)" action="/store/add_to_cart" accept-charset="UTF-8" data-remote="true" method="post"><input name="utf8" type="hidden" value="✓" autocomplete="off" /><input type="hidden" name="authenticity_token" value="dx0oF5B2452DKZB-GBW3kjF5VLYnX2sSM5CHm8kc3zuDua5CVAL_R-ZXpZq3v_iNMFcEshNS50tMl4tRz8YrPg" autocomplete="off" /> <input type="hidden" name="component_id" id="component_id" autocomplete="off" /> <input type="hidden" name="id" id="course_id" autocomplete="off" /> <div class="col-sm-3 col-xs-5"> <input type="submit" name="commit" value="Choose later" class="btn btn-default btn-block" onclick="$('#component_id').val('');$('#course_id').val($('#choose-ilt-session-form').attr('data-item-id'));" data-disable-with="Choose later" /> </div> <div class="col-sm-3 col-sm-offset-6 col-xs-5 col-xs-offset-2"> <input type="submit" name="commit" value="Choose" class="btn btn-primary btn-block" id="submit-choose-ilt-session" disabled="disabled" data-disable-with="Choose" /> </div> </form> </div> </div> </div> </div> </div> <div class="modal fade" id="unauthenticatedUserModal" tabindex="-1" role="dialog" aria-labelledby="unauthenticatedUserModal"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span></button> <h4 class="modal-title">translation missing: en.devise.failure.unauthenticated</h4> </div> <div class="modal-body"> <div class="" id="not-logged-in"> <div class="alert alert-gray"> <span class="existing-customer">If you don't have an account</span> <span class="new-customer" style="display: none;">If you have an account</span> <a href="#" onclick="Checkout.toggleUserForm()">click here</a> </div> <div class="row"> <div class="col-xs-12 col-md-offset-3 col-md-6 existing-customer"> <div class="login-form box-single p-0 m-0"> <div class="header"> <h4>Login</h4> <div class="icon"> <i class="fa fa-user"></i> </div> </div> <div class="content"> <form autocomplete="off" action="/old/users/sign_in" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" autocomplete="off" /><input type="hidden" name="authenticity_token" value="Ihux6FiBx2l9ORaaIGNWNeJsG4xr8k3Cwfy4kjopn33Wvze9nPXbsxhHI36PyRkq40JLiF__wZu--7RYPPNreA" autocomplete="off" /> <input value="/store" id="login_modal_next" class="user_next_hidden" autocomplete="off" type="hidden" name="user[next]" /> <div class="input-group"> <div class="input-group-addon"> <i class="fa fa-envelope"></i> </div> <input class="form-control" placeholder="Email" type="email" required="required" id="_sign_in_email" name="user[login]" /> </div> <div class="input-group"> <div class="input-group-addon"> <i class="fa fa-lock"></i> </div> <input autocomplete="off" class="form-control" placeholder="Password" id="_sign_in_password" type="password" name="user[password]" /> </div> <p class="text-left push-btn"> <a class="login-form-info-links" href='/users/password/new'>Forgot your password?</a> </p> <input type="submit" name="commit" value="Sign in" class="btn btn-success next-step" id="_submit" data-disable-with="Sign in" /> </form> </div> </div> </div> <div class="col-xs-12 col-md-offset-3 col-md-6 new-customer" style="display:none;"> <div class="login-form p-0 m-0"> <head> <script src="https://www.recaptcha.net/recaptcha/api.js?render=6LcdrK8UAAAAAHv92275vPwmIoxEHyP4Q-Q4pz1B"></script> <script type="text/javascript"> grecaptcha.ready(function() { grecaptcha.execute('6LcdrK8UAAAAAHv92275vPwmIoxEHyP4Q-Q4pz1B', {action: 'sign_up_store_68234'}).then(function(token) { document.getElementById('recaptcha').setAttribute("value", token); }); }); </script> </head> <div class="header"> <h4>Create an account</h4> <div class="icon"> <i class="fa fa-user-plus"></i> </div> </div> <div class="content" ng-controller="StoreSignUpFormController as vm" ng-init="vm.password_policy_config = null"> <form autocomplete="off" name="password_form" id="sign_up_form" action="/users/store-signup" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" autocomplete="off" /><input type="hidden" name="authenticity_token" value="-wwCywZWPLBHedYcvT3LNKt1GABc8zT9QVkUYKYRc00PqISewiIgaiIH4_gSl4QrqltIBGj-uKQ-XhiqoMuHSA" autocomplete="off" /> <div id="user_error_container" ng-show="!!vm.validationError" class="alert alert-danger">{{ vm.validationError }}</div> <input id="return_url_page" name="return_url_page" value="/store" autocomplete="off" type="hidden" /> <input id="from_store" name="from_store" value="1" autocomplete="off" type="hidden" /> <input type="hidden" name="terms_of_services_accepted" id="terms_of_services_accepted" ng-value="vm.terms_accepted"> <div class="input-group" ng-init="vm.setUpTerms('', '')"> <div class="input-group-addon"> <i class="fa fa-envelope"></i> </div> <input type="email" name="user[email]" required="required" size="30" placeholder="{{ vm.storeHelper.t('new_store.email_address') }}" id="user_email" class="form-control form-control--xl" ng-model="vm.user.email"> </div> <div class="input-group"> <div class="input-group-addon"> <i class="fa fa-lock"></i> </div> <input type="password" name="user[password]" required="required" size="30" placeholder="{{ vm.storeHelper.t('new_store.password') }}" id="user_password" class="form-control" ng-model="vm.user.password"> </div> <div ng-if="!!vm.password_policy_config"> <div password-validator ng-model="vm.user.password" config="vm.password_policy_config" form="password_form" name="user[password]"></div> </div> <div class="input-group"> <div class="input-group-addon"> <i class="fa fa-lock"></i> </div> <input type="password" name="user[password_confirmation]" required="required" size="30" placeholder="{{ vm.storeHelper.t('login.password_confirmation') }}" id="user_password_confirmation" class="form-control" ng-model="vm.user.password_confirmation"> </div> <input type="hidden" name="recaptcha" id="recaptcha" value=""> <input type="button" name="button" id="user_submit_sign_up" class="btn btn-success next-step" ng-click="vm.signUp('sign_up_form')" ng-disabled="password_form.$invalid" ng-value="vm.storeHelper.t('userz.sign_up')"> </form> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="modal fade" id="requiredCouponModal" tabindex="-1" role="dialog" aria-labelledby="requiredCouponModal"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel">Enter Coupon Code</h4> </div> <div class="modal-body"> <div class="row"> <div class="col-md-12"> <div id="coupon-message"></div> <div id="coupon-form"> <form class="form-inline async-wait-spinner" id="enroll_with_coupon_form" action="/store/enroll_with_coupon" accept-charset="UTF-8" data-remote="true" method="post"><input name="utf8" type="hidden" value="✓" autocomplete="off" /><input type="hidden" name="authenticity_token" value="amFAB8EJnW7Z1vO4knyaVcwp6JfVQY2HDMp3PaRfhnuexcZSBX2BtLyoxlw91tVKzQe4k-FMAd5zzXv3ooVyfg" autocomplete="off" /> <input type="hidden" name="enroll_item_id" id="enroll_item_id" autocomplete="off" /> <input type="hidden" name="enroll_item_type" id="enroll_item_type" autocomplete="off" /> <div class="form-group"> <input type="text" name="enroll_item_code" id="enroll_item_code" value="" class="form-control" placeholder="Enter Code" /> </div> <input type="submit" name="commit" value="Submit" disable_with="Checking..." class="btn btn-success" data-disable-with="Submit" /> <div class="gif-spinner center padding-md" style="padding: 18px;"> <img src="/images/1__loading.gif"> </div> </form> </div> </div> </div> </div> </div> </div> </div> <div class="hidden js-show-country-select" data-show-country-select="" data-current-user="false"></div> <div class="modal fade" id="chooseCountryModal" tabindex="-1" role="dialog" aria-labelledby="chooseCountryModal"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel">Please confirm your location</h4> </div> <div class="modal-body"> <div class="row top-margin-medium"> <div class="col-md-12"> <div class="form-group"> <div class="alert alert-danger hidden js-invalid-country"> <p>Please select a country from the list provided</p> </div> <div class="alert alert-danger hidden js-invalid-state"> <p>Please select a state from the list provided</p> </div> <div class="alert alert-danger hidden js-invalid-province"> <p>Please select a province from the list provided</p> </div> <label>Country</label> <select name="confirm_country" id="confirm_country" class="form-control"><option value="xx">Please choose</option> <option value="AF">Afghanistan</option> <option value="AL">Albania</option> <option value="DZ">Algeria</option> <option value="AD">Andorra</option> <option value="AO">Angola</option> <option value="AI">Anguilla</option> <option value="AQ">Antarctica</option> <option value="AG">Antigua and Barbuda</option> <option value="AR">Argentina</option> <option value="AM">Armenia</option> <option value="AW">Aruba</option> <option value="AU">Australia</option> <option value="AT">Austria</option> <option value="AZ">Azerbaijan</option> <option value="BS">Bahamas</option> <option value="BH">Bahrain</option> <option value="BD">Bangladesh</option> <option value="BB">Barbados</option> <option value="BY">Belarus</option> <option value="BE">Belgium</option> <option value="BZ">Belize</option> <option value="BJ">Benin</option> <option value="BM">Bermuda</option> <option value="BT">Bhutan</option> <option value="BO">Bolivia</option> <option value="BA">Bosnia and Herzegovina</option> <option value="BW">Botswana</option> <option value="BV">Bouvet Island</option> <option value="BR">Brazil</option> <option value="IO">British Indian Ocean Territory</option> <option value="BN">Brunei Darussalam</option> <option value="BG">Bulgaria</option> <option value="BF">Burkina Faso</option> <option value="BI">Burundi</option> <option value="KH">Cambodia</option> <option value="CM">Cameroon</option> <option value="CA">Canada</option> <option value="CV">Cape Verde</option> <option value="KY">Cayman Islands</option> <option value="CF">Central African Republic</option> <option value="TD">Chad</option> <option value="CL">Chile</option> <option value="CN">China</option> <option value="CX">Christmas Island</option> <option value="CO">Colombia</option> <option value="KM">Comoros</option> <option value="CG">Congo</option> <option value="CK">Cook Islands</option> <option value="CR">Costa Rica</option> <option value="CI">Cote D'Ivoire</option> <option value="HR">Croatia</option> <option value="CW">Curacao</option> <option value="CY">Cyprus</option> <option value="CZ">Czech Republic</option> <option value="DK">Denmark</option> <option value="DJ">Djibouti</option> <option value="DM">Dominica</option> <option value="DO">Dominican Republic</option> <option value="EC">Ecuador</option> <option value="EG">Egypt</option> <option value="SV">El Salvador</option> <option value="GQ">Equatorial Guinea</option> <option value="ER">Eritrea</option> <option value="EE">Estonia</option> <option value="ET">Ethiopia</option> <option value="FK">Falkland Islands (Malvinas)</option> <option value="FO">Faroe Islands</option> <option value="FJ">Fiji</option> <option value="FI">Finland</option> <option value="FR">France</option> <option value="GF">French Guiana</option> <option value="PF">French Polynesia</option> <option value="TF">French Southern Territories</option> <option value="GA">Gabon</option> <option value="GM">Gambia</option> <option value="GE">Georgia</option> <option value="DE">Germany</option> <option value="GH">Ghana</option> <option value="GI">Gibraltar</option> <option value="GR">Greece</option> <option value="GL">Greenland</option> <option value="GD">Grenada</option> <option value="GP">Guadeloupe</option> <option value="GU">Guam</option> <option value="GT">Guatemala</option> <option value="GG">Guernsey</option> <option value="GN">Guinea</option> <option value="GW">Guinea-Bissau</option> <option value="GY">Guyana</option> <option value="HT">Haiti</option> <option value="VA">Holy See (Vatican City State)</option> <option value="HN">Honduras</option> <option value="HK">Hong Kong</option> <option value="HU">Hungary</option> <option value="IS">Iceland</option> <option value="IN">India</option> <option value="ID">Indonesia</option> <option value="IQ">Iraq</option> <option value="IE">Ireland</option> <option value="IM">Isle of Man</option> <option value="IL">Israel</option> <option value="IT">Italy</option> <option value="JM">Jamaica</option> <option value="JP">Japan</option> <option value="JE">Jersey</option> <option value="JO">Jordan</option> <option value="KZ">Kazakhstan</option> <option value="KE">Kenya</option> <option value="KI">Kiribati</option> <option value="KR">Korea, Republic of</option> <option value="XK">Kosovo</option> <option value="KW">Kuwait</option> <option value="KG">Kyrgyzstan</option> <option value="LA">Lao People's Democratic Republic</option> <option value="LV">Latvia</option> <option value="LB">Lebanon</option> <option value="LS">Lesotho</option> <option value="LR">Liberia</option> <option value="LY">Libya</option> <option value="LI">Liechtenstein</option> <option value="LT">Lithuania</option> <option value="LU">Luxembourg</option> <option value="MO">Macao</option> <option value="MK">Macedonia</option> <option value="MG">Madagascar</option> <option value="MW">Malawi</option> <option value="MY">Malaysia</option> <option value="MV">Maldives</option> <option value="ML">Mali</option> <option value="MT">Malta</option> <option value="MH">Marshall Islands</option> <option value="MQ">Martinique</option> <option value="MR">Mauritania</option> <option value="MU">Mauritius</option> <option value="YT">Mayotte</option> <option value="MX">Mexico</option> <option value="MD">Moldova, Republic of</option> <option value="MC">Monaco</option> <option value="MN">Mongolia</option> <option value="ME">Montenegro</option> <option value="MS">Montserrat</option> <option value="MA">Morocco</option> <option value="MZ">Mozambique</option> <option value="MM">Myanmar</option> <option value="NA">Namibia</option> <option value="NR">Nauru</option> <option value="NP">Nepal</option> <option value="NL">Netherlands</option> <option value="AN">Netherlands Antilles</option> <option value="NC">New Caledonia</option> <option value="NZ">New Zealand</option> <option value="NI">Nicaragua</option> <option value="NE">Niger</option> <option value="NG">Nigeria</option> <option value="NU">Niue</option> <option value="NF">Norfolk Island</option> <option value="NOR">Norway</option> <option value="OM">Oman</option> <option value="PK">Pakistan</option> <option value="PW">Palau</option> <option value="PA">Panama</option> <option value="PG">Papua New Guinea</option> <option value="PY">Paraguay</option> <option value="PE">Peru</option> <option value="PH">Philippines</option> <option value="PN">Pitcairn</option> <option value="PL">Poland</option> <option value="PT">Portugal</option> <option value="PR">Puerto Rico</option> <option value="QA">Qatar</option> <option value="RE">Reunion</option> <option value="RO">Romania</option> <option value="RU">Russian Federation</option> <option value="RW">Rwanda</option> <option value="SH">Saint Helena</option> <option value="LC">Saint Lucia</option> <option value="PM">Saint Pierre and Miquelon</option> <option value="VC">Saint Vincent and the Grenadines</option> <option value="WS">Samoa</option> <option value="SM">San Marino</option> <option value="SA">Saudi Arabia</option> <option value="SN">Senegal</option> <option value="RS">Serbia</option> <option value="SC">Seychelles</option> <option value="SL">Sierra Leone</option> <option selected="selected" value="SG">Singapore</option> <option value="SK">Slovakia</option> <option value="SI">Slovenia</option> <option value="SB">Solomon Islands</option> <option value="SO">Somalia</option> <option value="ZA">South Africa</option> <option value="ES">Spain</option> <option value="LK">Sri Lanka</option> <option value="SD">Sudan</option> <option value="SR">Suriname</option> <option value="SZ">Swaziland</option> <option value="SE">Sweden</option> <option value="CH">Switzerland</option> <option value="TW">Taiwan, Province of China</option> <option value="TJ">Tajikistan</option> <option value="TZ">Tanzania, United Republic of</option> <option value="TH">Thailand</option> <option value="TL">Timor-Leste</option> <option value="TG">Togo</option> <option value="TK">Tokelau</option> <option value="TO">Tonga</option> <option value="TT">Trinidad and Tobago</option> <option value="TN">Tunisia</option> <option value="TR">Turkey</option> <option value="TM">Turkmenistan</option> <option value="TC">Turks and Caicos Islands</option> <option value="TV">Tuvalu</option> <option value="UG">Uganda</option> <option value="UA">Ukraine</option> <option value="AE">United Arab Emirates</option> <option value="GB">United Kingdom</option> <option value="US">United States</option> <option value="UM">United States Minor Outlying Islands</option> <option value="UY">Uruguay</option> <option value="UZ">Uzbekistan</option> <option value="VU">Vanuatu</option> <option value="VE">Venezuela</option> <option value="VN">Vietnam</option> <option value="VG">Virgin Islands, British</option> <option value="VI">Virgin Islands, U.s.</option> <option value="WF">Wallis and Futuna</option> <option value="EH">Western Sahara</option> <option value="YE">Yemen</option> <option value="ZM">Zambia</option> <option value="ZW">Zimbabwe</option></select> </div> </div> <div class="col-md-12"> <div id="stateselect" name="stateselect" style="display:none" class="form-group"> <label>State</label> <select name="confirm_state" id="confirm_state" disabled="disabled" class="location_select required form-control"><option value="xx">Please choose</option> <option value="AL">Alabama</option> <option value="AK">Alaska</option> <option value="AZ">Arizona</option> <option value="AR">Arkansas</option> <option value="CA">California</option> <option value="CO">Colorado</option> <option value="CT">Connecticut</option> <option value="DE">Delaware</option> <option value="DC">District of Columbia</option> <option value="FL">Florida</option> <option value="GA">Georgia</option> <option value="GU">Guam</option> <option value="HI">Hawaii</option> <option value="ID">Idaho</option> <option value="IL">Illinois</option> <option value="IN">Indiana</option> <option value="IA">Iowa</option> <option value="KS">Kansas</option> <option value="KY">Kentucky</option> <option value="LA">Louisiana</option> <option value="ME">Maine</option> <option value="MD">Maryland</option> <option value="MA">Massachusetts</option> <option value="MI">Michigan</option> <option value="MN">Minnesota</option> <option value="MS">Mississippi</option> <option value="MO">Missouri</option> <option value="MT">Montana</option> <option value="NE">Nebraska</option> <option value="NV">Nevada</option> <option value="NH">New Hampshire</option> <option value="NJ">New Jersey</option> <option value="NM">New Mexico</option> <option value="NY">New York</option> <option value="NC">North Carolina</option> <option value="ND">North Dakota</option> <option value="OH">Ohio</option> <option value="OK">Oklahoma</option> <option value="OR">Oregon</option> <option value="PA">Pennsylvania</option> <option value="PR">Puerto Rico</option> <option value="RI">Rhode Island</option> <option value="SC">South Carolina</option> <option value="SD">South Dakota</option> <option value="TN">Tennessee</option> <option value="TX">Texas</option> <option value="UT">Utah</option> <option value="VT">Vermont</option> <option value="VA">Virginia</option> <option value="WA">Washington</option> <option value="WV">West Virginia</option> <option value="WI">Wisconsin</option> <option value="WY">Wyoming</option></select> </div> <div id="provinceselect" name="provinceselect" style="display:none" class="form-group"> <label>Province</label> <select name="confirm_province" id="confirm_province" disabled="disabled" class="form-control"><option value="xx">Please choose</option> <option value="AB">Alberta</option> <option value="BC">British Columbia</option> <option value="MB">Manitoba</option> <option value="NB">New Brunswick</option> <option value="NL">Newfoundland and Labrador</option> <option value="NT">Northwest Territories</option> <option value="NS">Nova Scotia</option> <option value="NU">Nunavut</option> <option value="ON">Ontario</option> <option value="PE">Prince Edward Island</option> <option value="QC">Province de Quebec</option> <option value="SK">Saskatchewan</option> <option value="YT">Yukon Territory</option></select> </div> </div> </div> </div> <div class="modal-footer"> <div class="row"> <div class="col-sm-3 col-sm-offset-9 col-xs-12"> <button class="btn btn-primary btn-block js-select-country">Confirm</button> </div> </div> </div> </div> </div> </div> </div> <footer> <div class="footer"> <div class="container"> <div class="row"> <div class="col-xs-12 text-center"> <a href="/store" class="mainfooter-brand"><span class="footer-brand-logo"></span></a> </div> </div> <div class="row"> <div class="col-md-12"> <div id="footer_link" ng-non-bindable> <a id="footer_link_a" target="_new" title="Twilio Terms of Service" alt="Twilio Terms of Service" href="https://www.twilio.com/legal/tos">Twilio Terms of Service</a> </div> <div class="clear"></div> </div> </div> </div> </div> </footer> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-2900316-46', 'auto', {'name':'b'}); ga('send', 'pageview'); ga('b.send', 'pageview'); </script> <script src="https://d33z9r12iu5vuo.cloudfront.net/11.614.000/store/app.js"></script> </body> </html>