<!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 MBSE Tool - Services</title>
        <meta name="description" content="Capella ecosystem is at your service to secure your industrial deployment of Capella.">
        <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">
        <!-- 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>
        <!-- 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 services">
            <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 cd-headline" data-wow-delay=".4s" >
                                	Services
                                </h1>
                            </section> <!-- cd-intro -->
                            <h2 class="wow fadeInUp animated" data-wow-delay=".6s" >
                                Eclipse Capella&trade; ecosystem is at your service<br>to secure your industrial deployment of Capella
                            </h2>
                        </div>
                    </div>
                </div>
            </div>
        </section><!--/#intro_banner-->

        <!--
        ==================================================
        Secure your industrial Capella deployment
        ================================================== -->
        <section id="services" class="text-center">
            <div class="container">

                <div class="row">
                	<div class="col-sm-4 col-xs-12 wow fadeInLeft animated" data-wow-duration="500ms" data-wow-delay="0ms">
                        	 <p><img src="images/icons/icon_training.png" alt="" ></p>
                            <div>
                                <h4>Training & Coaching</h4>
                                <p>Develop your team’s skills on Capella: training, assistance for deployment, methodological coaching</p>
                                <p><a href="industry-consortium/thales.html">Thales Offer <i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>
                                <p><a href="http://capella.artal-group.com/">Artal Offer <i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>
                                <p><a href="http://www.prfc.fr/">PRFC Offer <i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>
                                <p><a href="https://www.samares-engineering.com/en/arcadia-capella-services-center/">Samares Engineering Offer <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 animated" data-wow-duration="500ms" data-wow-delay="100ms">
                            <p><img src="images/icons/icon_custom.png" alt="" ></p>
                           <div>
                                <h4>Integration & Customization</h4>
                                <p>Integrate Capella with other tools and extend the workbench for your particular engineering concerns</p>
                                <p><a href="https://www.obeosoft.com/en/capella-professional-offer#integration">Obeo Offer <i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>
								<p><a href="http://capella.artal-group.com/">Artal Offer <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 animated" data-wow-duration="500ms" data-wow-delay="200ms">
                            <p><img src="images/icons/icon_safeguard.png" alt="" ></p>
                            <div>
                                <h4>Support & Maintenance</h4>
                                <p>Get a commitment regarding response times: answers to technical queries, bug fixes, change requests</p>
                                <p><a href="industry-consortium/thales.html">Thales Offer <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.html'"></ng-include>

        <!--
        ==================================================
        Footer Section
        ================================================== -->
        <ng-include src="'angular/blocks/footer.html'"></ng-include>
        <script async src="js/googleAnalytics.js" ></script>

    </body>
</html>