<!DOCTYPE html>
<html class="no-js">
<head>
	<!-- Basic Page Needs
        ================================================== -->
	<meta charset="utf-8">
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="icon" type="image/png" href="images/favicon.ico">
	<title>Capella Days Online 2020</title>
	<meta name="description"
		content="Capella webinars bring regular insights on Capella technology and its ecosystem.">
	<meta name="keywords" content="">
	<meta name="author" content="">
	<!-- Mobile Specific Metas
        ================================================== -->
	<meta name="format-detection" content="telephone=no">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<!-- Template CSS Files
        ================================================== -->
	<!-- Twitter Bootstrs CSS -->
	<link rel="stylesheet" href="css/bootstrap.min.css">
	<!-- animate css -->
	<link rel="stylesheet" href="css/animate.css">
	<link rel="stylesheet" href="css/jquery.fancybox.css">
	<!-- template main css file -->
	<link rel="stylesheet" href="css/main.css">
	<!-- responsive css -->
	<link rel="stylesheet" href="css/responsive.css">
	<link rel="stylesheet" href="css/latofonts.css">
	<script src="https://use.fontawesome.com/b51f77a16a.js"></script>
	<!-- Cookie content -->
	<link rel="stylesheet" type="text/css"
		href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" />
	<script
		src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
	<!-- Eclipse Foundation Google Tag Manager -->
	<script>
		(function (w, d, s, l, i) {
			w[l] = w[l] || [];
			w[l].push({
				'gtm.start': new Date().getTime(),
				event: 'gtm.js'
			});
			var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l='
				+ l
				: '';
			j.async = true;
			j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
			f.parentNode.insertBefore(j, f);
		})(window, document, 'script', 'dataLayer', 'GTM-5WLCZXC');
	</script>
	<!-- End Google Tag Manager -->
	<!-- Template Javascript Files
        ================================================== -->
	<!-- Angular -->
	<base href="/capella/">
	<script src="js/angular-1.7.8.min.js"></script>
	<script src="angular/capella.js"></script>
	<!-- modernizr js -->
	<script src="js/vendor/modernizr-2.6.2.min.js"></script>
	<!-- jquery -->
	<script src="js/jquery-3.4.1.min.js"></script>
	<!-- bootstrap js -->
	<script src="js/bootstrap.min.js"></script>
	<!-- wow js -->
	<script src="js/wow.min.js"></script>
	<script src="js/jquery.fancybox.js"></script>
	<!-- template main js -->
	<script src="js/main.js"></script>
</head>
<body ng-app="capella" data-deferred-cloak>
	<!--
        ==================================================
        Header Section
        ================================================== -->
	<ng-include src="'angular/blocks/header.html'"></ng-include>
	<!--
        ==================================================
        Intro Section
        ================================================== -->
	<section class="hero-area contact">
		<div class="container">
			<div class="row">
				<div class="col-md-12 text-center">
					<div class="block wow fadeInUp" data-wow-delay=".3s">
						<section class="cd-intro">
							<h1 class="wow fadeInUp animated" data-wow-delay=".4s">
								Capella Webinars<br>
							</h1>
						</section> <!-- cd-intro -->
						<h2 class="wow fadeInUp animated" data-wow-delay=".6s">
							Regular live insights about Capella technology and its ecosystem
						</h2>
						<p></p>
					</div>
				</div>
			</div>
		</div>
	</section>
	<!--/#intro_banner-->
	
<section class="text-center">
    <div class="container">
        <div class="section-heading">
            <h2 class="title wow fadeInDown" data-wow-delay=".3s">Access to previous webinars</h2>
        </div>
        <div class="row">
            <div class="col-sm-4 col-sm-offset-2 wow fadeInLeft" data-wow-duration="500ms" data-wow-delay="0ms">
                <p><img src="images/icons/icon_youtube.png" ></p>
                    <div>
                        <h4>Youtube playlist</h4>
                        <p>Watch all the Capella webinars</p>
                        <p><a href="https://www.youtube.com/watch?v=Aqz0vaOo_VM&list=PLfrEYVpSGVLxEFRODSWUTP8N5i3NTG4o-" target="_blank">Discover All <i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>
                    </div>
            </div>
            <div class="col-sm-4 col-xs-12 wow fadeInLeft" data-wow-duration="500ms" data-wow-delay="300ms">
               <p><img src="images/icons/icon_slideshare.png" alt="" ></p>
               <div>
                   <h4>Slideshare clipboard</h4>
                   <p>Check the Capella webinars' slides</p>
                   <p><a href="https://www.slideshare.net/Obeo_corp/clipboards/capella" target="_blank">Discover All <i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>
               </div>
            </div>
        </div>
    </div>
</section> <!-- #services -->



	<div id="back-to-top" data-spy="affix" data-offset-top="100" class="back-to-top hidden-xs hidden-sm affix-top">
		<button class="btn btn-default" title="Back to Top">
			<i class="fa fa-caret-up"></i>
		</button>
	</div>
	<script type="text/javascript">
		// Back to top
		jQuery('#back-to-top').on('click', function () {
			jQuery("html, body").animate({
				scrollTop: 0
			}, 500);
			return false;
		});
	</script>
	<!--
        ==================================================
        Call To Action Section Start
        ================================================== -->
	<ng-include src="'angular/blocks/call2action_webinars.html'"></ng-include>
	<!--
        ==================================================
        Footer Section
        ================================================== -->
	<ng-include src="'angular/blocks/footer.html'"></ng-include>
	<script async src="js/googleAnalytics.js"></script>
</body>
</html>