diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 0000000..1f98498 --- /dev/null +++ b/.bowerrc @@ -0,0 +1,5 @@ +{ + "directory": "vendor", + "json": "bower.json" +} + diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..b9ceecd --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/website.iml b/.idea/website.iml new file mode 100644 index 0000000..24643cc --- /dev/null +++ b/.idea/website.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..b8dcdfe --- /dev/null +++ b/.travis.yml @@ -0,0 +1,33 @@ +--- +sudo: required +language: generic +dist: trusty + +before_install: + - sudo apt-get -qq update + - sudo apt-get install -y npm + - sudo npm -g install grunt-cli karma bower + +install: + - npm install + - bower install + - grunt + +before_deploy: + - echo "deb http://packages.cloud.google.com/apt cloud-sdk-jessie main" | sudo tee /etc/apt/sources.list.d/google-cloud-sdk.list + - curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - + - sudo apt-get -qq update + - sudo apt-get install -y google-cloud-sdk + - echo $DEPLOY_KEY_FILE_PRODUCTION > /tmp/gcloud.json + - gcloud auth activate-service-account --key-file /tmp/gcloud.json + - gsutil defacl ch -u AllUsers:R gs://$GCS_BUCKET + +deploy: + skip_cleanup: true + provider: script + script: gsutil -m rsync -d -r build/ gs://$GCS_BUCKET + on: + branch: master + +after_deploy: + - rm /tmp/gcloud.json diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100755 index 0000000..a6d8cc7 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,759 @@ +module.exports = function ( grunt ) { + + + // grunt.initConfig({ + // pkg: grunt.file.readJSON("package.json"), + // + // compress: { + // options: { + // mode: 'gzip' + // }, + // css: { + // files: [ + // { + // expand: true, + // cwd: "./src/less/", + // src: ["**/*.css"], + // dest: "./src/less_comprimido/" + // } + // ] + // }, + // html: { + // files: [ + // { + // expand: true, + // cwd: "./src/app/home/", + // src: ["**/*.html"], + // dest: "./src/app/home_comprimido/" + // } + // ] + // }, + // js: { + // files: [ + // { + // expand: true, + // cwd: "./src/js/", + // src: ["**/*.js"], + // dest: "./src/js_comprimido/" + // } + // ] + // } + // } + // }); + grunt.loadNpmTasks("grunt-contrib-compress"); + grunt.registerTask("default", ["compress"]); + + /** + * Load required Grunt tasks. These are installed based on the versions listed + * in `package.json` when you do `npm install` in this directory. + */ + grunt.loadNpmTasks('grunt-contrib-clean'); + grunt.loadNpmTasks('grunt-contrib-copy'); + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-coffee'); + grunt.loadNpmTasks('grunt-contrib-less'); + grunt.loadNpmTasks('grunt-bump'); + grunt.loadNpmTasks('grunt-html2js'); + grunt.loadNpmTasks('grunt-coffeelint'); + grunt.loadNpmTasks('grunt-contrib-connect'); + grunt.loadNpmTasks('grunt-ng-annotate'); + grunt.loadNpmTasks('grunt-release-it'); + grunt.loadNpmTasks('grunt-robots-txt'); + + /** + * Load in our build configuration file. + */ + var userConfig = require( './build.config.js' ); + + /** + * This is the configuration object Grunt uses to give each plugin its + * instructions. + */ + var taskConfig = { + /** + * We read in our `package.json` file so we can access the package name and + * version. It's already there, so we don't repeat ourselves here. + */ + pkg: grunt.file.readJSON("package.json"), + + /** + * The banner is the comment that is placed at the top of our compiled + * source files. It is first processed as a Grunt template, where the `<%=` + * pairs are evaluated based on this very configuration object. + */ + meta: { + banner: + '/**\n' + + ' * <%= pkg.name %> - v<%= pkg.version %> - <%= grunt.template.today("yyyy-mm-dd") %>\n' + + ' *\n' + + ' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' + + ' */\n' + }, + /** + * Creates a server. + */ + connect: { + server: { + options: { + livereload: false, + hostname: 'localhost', + base: '<%= build_dir %>', + port: 9000, + open: true + } + }, + server2: { + options: { + livereload: false, + hostname: 'localhost', + base: '<%= compile_dir %>', + port: 8081, + open: true, + keepalive:true + } + } + }, + 'release-it': { + options: { + pkgFiles: ['package.json'], + commitMessage: 'Release %s', + tagName: 'latest', + tagAnnotation: 'Release %s', + distFiles: ['bin/**/*'], + distBase: 'bin', + "non-interactive": true + } + }, + + robotstxt: { + dist: { + dest: 'bin/', + policy: [ + { + ua: '*', + allow: '/' + }]}}, + /** + * Increments the version number, etc. + */ + bump: { + options: { + files: [ + "package.json", + "bower.json" + ], + commit: false, + commitMessage: 'chore(release): v%VERSION%', + commitFiles: [ + "package.json", + "client/bower.json" + ], + createTag: false, + tagName: 'v%VERSION%', + tagMessage: 'Version %VERSION%', + push: false, + pushTo: 'origin' + } + }, + + /** + * The directories to delete when `grunt clean` is executed. + */ + clean: [ + '<%= build_dir %>', + '<%= compile_dir %>' + ], + + /** + * The `copy` task just copies files from A to B. We use it here to copy + * our project assets (images, fonts, etc.) and javascripts into + * `build_dir`, and then to copy the assets to `compile_dir`. + */ + copy: {info: { + files: [{ + src: 'src/app/info/*', + dest: 'build/info/', + cwd: '.', + expand: true, + flatten: true + }] + },services: { + files: [{ + src: 'src/app/services/*', + dest: 'build/services/', + cwd: '.', + expand: true, + flatten: true + }] + },iplusd: { + files: [{ + src: 'src/app/iplusd/*', + dest: 'build/iplusd/', + cwd: '.', + expand: true, + flatten: true + }] + },about: { + files: [{ + src: 'src/app/about/*', + dest: 'build/about/', + cwd: '.', + expand: true, + flatten: true + }] + },home: { + files: [{ + src: 'src/app/home/*', + dest: 'build/home/', + cwd: '.', + expand: true, + flatten: true + }] + }, + team: { + files: [{ + src: 'src/app/team/*', + dest: 'build/team/', + cwd: '.', + expand: true, + flatten: true + }] + }, + contact: { + files: [{ + src: 'src/app/contact/*', + dest: 'build/contact/', + cwd: '.', + expand: true, + flatten: true + }] + }, + build_app_assets: { + files: [ + { + src: [ '**' ], + dest: '<%= build_dir %>/assets/', + cwd: 'src/assets', + expand: true + } + ] + }, + build_vendor_assets: { + files: [ + { + src: [ '<%= vendor_files.assets %>' ], + dest: '<%= build_dir %>/assets/', + cwd: '.', + expand: true, + flatten: true + } + ] + }, + build_vendor_fonts: { + files: [ + { + src: [ '<%= vendor_files.fonts %>' ], + dest: '<%= build_dir %>/', + cwd: '.', + expand: true + } + ] + }, + build_appjs: { + files: [ + { + src: [ '<%= app_files.js %>' ], + dest: '<%= build_dir %>/', + cwd: '.', + expand: true + } + ] + }, + build_vendorjs: { + files: [ + { + src: [ '<%= vendor_files.js %>' ], + dest: '<%= build_dir %>/', + cwd: '.', + expand: true + } + ] + }, + build_vendorcss: { + files: [ + { + src: [ '<%= vendor_files.css %>' ], + dest: '<%= build_dir %>/', + cwd: '.', + expand: true + } + ] + }, + compile_assets: { + files: [ + { + src: [ '**' ], + dest: '<%= compile_dir %>/assets', + cwd: '<%= build_dir %>/assets', + expand: true + }, + { + src: [ '<%= vendor_files.css %>' ], + dest: '<%= compile_dir %>/', + cwd: '.', + expand: true + }, + { + src: [ '<%= vendor_files.fonts %>' ], + dest: '<%= compile_dir %>', + cwd: '.', + expand: true + } + + ] + } + }, + + /** + * `grunt concat` concatenates multiple source files into a single file. + */ + concat: { + /** + * The `build_css` target concatenates compiled CSS and vendor CSS + * together. + */ + build_css: { + src: [ + '<%= vendor_files.css %>', + '<%= build_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.css' + ], + dest: '<%= build_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.css' + }, + /** + * The `compile_js` target is the concatenation of our application source + * code and all specified vendor source code into a single file. + */ + compile_js: { + options: { + banner: '<%= meta.banner %>' + }, + src: [ + '<%= vendor_files.js %>', + 'module.prefix', + '<%= build_dir %>/src/**/*.js', + '<%= html2js.app.dest %>', + '<%= html2js.common.dest %>', + 'module.suffix' + ], + dest: '<%= compile_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.js' + } + }, + + /** + * `grunt coffee` compiles the CoffeeScript sources. To work well with the + * rest of the build, we have a separate compilation task for sources and + * specs so they can go to different places. For example, we need the + * sources to live with the rest of the copied JavaScript so we can include + * it in the final build, but we don't want to include our specs there. + */ + coffee: { + source: { + options: { + bare: true + }, + expand: true, + cwd: '.', + src: [ '<%= app_files.coffee %>' ], + dest: '<%= build_dir %>', + ext: '.js' + } + }, + + /** + * `ngAnnotate` annotates the sources before minifying. That is, it allows us + * to code without the array syntax. + */ + ngAnnotate: { + compile: { + files: [ + { + src: [ '<%= app_files.js %>' ], + cwd: '<%= build_dir %>', + dest: '<%= build_dir %>', + expand: true + } + ] + } + }, + + /** + * Minify the sources! + */ + uglify: { + compile: { + options: { + banner: '<%= meta.banner %>' + }, + files: { + '<%= concat.compile_js.dest %>': '<%= concat.compile_js.dest %>' + } + } + }, + + /** + * `grunt-contrib-less` handles our LESS compilation and uglification automatically. + * Only our `main.less` file is included in compilation; all other files + * must be imported from this file. + */ + less: { + build: { + files: { + '<%= build_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.css': '<%= app_files.less %>' + } + }, + compile: { + files: { + '<%= build_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.css': '<%= app_files.less %>' + }, + options: { + cleancss: true, + compress: true + } + } + }, + + /** + * `jshint` defines the rules of our linter as well as which files we + * should check. This file, all javascript sources, and all our unit tests + * are linted based on the policies listed in `options`. But we can also + * specify exclusionary patterns by prefixing them with an exclamation + * point (!); this is useful when code comes from a third party but is + * nonetheless inside `src/`. + */ + jshint: { + src: [ + '<%= app_files.js %>' + ], + test: [ + '<%= app_files.jsunit %>' + ], + gruntfile: [ + 'Gruntfile.js' + ], + options: { + curly: true, + immed: true, + newcap: true, + noarg: true, + sub: true, + boss: true, + eqnull: true + }, + globals: {} + }, + + /** + * `coffeelint` does the same as `jshint`, but for CoffeeScript. + * CoffeeScript is not the default in ngBoilerplate, so we're just using + * the defaults here. + */ + coffeelint: { + src: { + files: { + src: [ '<%= app_files.coffee %>' ] + } + }, + test: { + files: { + src: [ '<%= app_files.coffeeunit %>' ] + } + } + }, + + /** + * HTML2JS is a Grunt plugin that takes all of your template files and + * places them into JavaScript files as strings that are added to + * AngularJS's template cache. This means that the templates too become + * part of the initial payload as one JavaScript file. Neat! + */ + html2js: { + /** + * These are the templates from `src/app`. + */ + app: { + options: { + base: 'src/app' + }, + src: [ '<%= app_files.atpl %>' ], + dest: '<%= build_dir %>/templates-app.js' + }, + + /** + * These are the templates from `src/common`. + */ + common: { + options: { + base: 'src/common' + }, + src: [ '<%= app_files.ctpl %>' ], + dest: '<%= build_dir %>/templates-common.js' + } + }, + + + /** + * The `index` task compiles the `index.html` file as a Grunt template. CSS + * and JS files co-exist here but they get split apart later. + */ + index: { + + /** + * During development, we don't want to have wait for compilation, + * concatenation, minification, etc. So to avoid these steps, we simply + * add all script files directly to the `` of `index.html`. The + * `src` property contains the list of included files. + */ + build: { + dir: '<%= build_dir %>', + src: [ + '<%= vendor_files.js %>', + '<%= build_dir %>/src/**/*.js', + '<%= html2js.common.dest %>', + '<%= html2js.app.dest %>', + '<%= vendor_files.css %>', + '<%= build_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.css' + ] + }, + + /** + * When it is time to have a completely compiled application, we can + * alter the above to include only a single JavaScript and a single CSS + * file. Now we're back! + */ + compile: { + dir: '<%= compile_dir %>', + src: [ + '<%= concat.compile_js.dest %>', + '<%= vendor_files.css %>', + '<%= build_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.css' + ] + } + }, + + + /** + * And for rapid development, we have a watch set up that checks to see if + * any of the files listed below change, and then to execute the listed + * tasks when they do. This just saves us from having to type "grunt" into + * the command-line every time we want to see what we're working on; we can + * instead just leave "grunt watch" running in a background terminal. Set it + * and forget it, as Ron Popeil used to tell us. + * + * But we don't need the same thing to happen for all the files. + */ + delta: { + /** + * By default, we want the Live Reload to work for all tasks; this is + * overridden in some tasks (like this file) where browser resources are + * unaffected. It runs by default on port 35729, which your browser + * plugin should auto-detect. + */ + options: { + livereload: true + }, + + /** + * When the Gruntfile changes, we just want to lint it. In fact, when + * your Gruntfile changes, it will automatically be reloaded! + */ + gruntfile: { + files: 'Gruntfile.js', + tasks: [ 'jshint:gruntfile' ], + options: { + livereload: false + } + }, + + /** + * When our JavaScript source files change, we want to run lint them and + * run our unit tests. + */ + jssrc: { + files: [ + '<%= app_files.js %>' + ], + tasks: [ 'jshint:src', 'copy:build_appjs' ] + }, + + /** + * When our CoffeeScript source files change, we want to run lint them and + * run our unit tests. + */ + coffeesrc: { + files: [ + '<%= app_files.coffee %>' + ], + tasks: [ 'coffeelint:src', 'coffee:source', 'copy:build_appjs' ] + }, + + /** + * When assets are changed, copy them. Note that this will *not* copy new + * files, so this is probably not very useful. + */ + assets: { + files: [ + 'src/assets/**/*' + ], + tasks: [ 'copy:build_app_assets', 'copy:build_vendor_assets','copy:build_vendor_fonts' ] + }, + + /** + * When index.html changes, we need to compile it. + */ + html: { + files: [ '<%= app_files.html %>' ], + tasks: [ 'index:build' ] + }, + + /** + * When our templates change, we only rewrite the template cache. + */ + tpls: { + files: [ + '<%= app_files.atpl %>', + '<%= app_files.ctpl %>' + ], + tasks: [ 'html2js' ] + }, + + /** + * When the CSS files change, we need to compile and minify them. + */ + less: { + files: [ 'src/**/*.less' ], + tasks: [ 'less:build' ] + }, + + /** + * When a JavaScript unit test file changes, we only want to lint it and + * run the unit tests. We don't want to do any live reloading. + */ + jsunit: { + files: [ + '<%= app_files.jsunit %>' + ], + tasks: [ 'jshint:test' ], + options: { + livereload: false + } + }, + + /** + * When a CoffeeScript unit test file changes, we only want to lint it and + * run the unit tests. We don't want to do any live reloading. + */ + coffeeunit: { + files: [ + '<%= app_files.coffeeunit %>' + ], + tasks: [ 'coffeelint:test'], + options: { + livereload: false + } + } + } + }; + + grunt.initConfig( grunt.util._.extend( taskConfig, userConfig ) ); + + /** + * In order to make it safe to just compile or copy *only* what was changed, + * we need to ensure we are starting from a clean, fresh build. So we rename + * the `watch` task to `delta` (that's why the configuration var above is + * `delta`) and then add a new task called `watch` that does a clean build + * before watching for changes. + */ + grunt.renameTask( 'watch', 'delta' ); + grunt.registerTask( 'watch', [ 'build','server', 'delta' ] ); + + /** + * The default task is to build and compile. + */ + grunt.registerTask( 'default', [ 'build', 'compile' ] ); + + /** + * The `build` task gets your app ready to run for development and testing. + */ + grunt.registerTask( 'build', [ + 'clean','html2js', 'jshint', 'coffeelint', 'coffee', 'less:build', + 'concat:build_css', 'copy:build_app_assets', 'copy:build_vendor_assets','copy:build_vendor_fonts', + 'copy:build_appjs', 'copy:build_vendorjs', 'copy:build_vendorcss', 'copy:about','copy:about', 'copy:services', 'copy:iplusd','copy:team', 'copy:contact','copy:info','copy:home', 'index:build' + ]); + + /** + * The `compile` task gets your app ready for deployment by concatenating and + * minifying your code. + */ + grunt.registerTask( 'compile', [ + 'less:compile', 'copy:compile_assets', 'concat:compile_js', 'index:compile', 'uglify:compile', 'robotstxt:dist' + ]); + + /** + * The server task is to start and connect to a server. + */ + grunt.registerTask( 'server', [ + 'connect:server' + ]); + + /** + * A utility function to get all app JavaScript sources. + */ + function filterForJS ( files ) { + return files.filter( function ( file ) { + return file.match( /\.js$/ ); + }); + } + + /** + * A utility function to get all app CSS sources. + */ + function filterForCSS ( files ) { + return files.filter( function ( file ) { + return file.match( /\.css$/ ); + }); + } + + /** + * The index.html template includes the stylesheet and javascript sources + * based on dynamic names calculated in this Gruntfile. This task assembles + * the list into variables for the template to use and then runs the + * compilation. + */ + grunt.registerMultiTask( 'index', 'Process index.html template', function () { + var dirRE = new RegExp( '^('+grunt.config('build_dir')+'|'+grunt.config('compile_dir')+')\/', 'g' ); + var jsFiles = filterForJS( this.filesSrc ).map( function ( file ) { + return file.replace( dirRE, '' ); + }); + var cssFiles = filterForCSS( this.filesSrc ).map( function ( file ) { + return file.replace( dirRE, '' ); + }); + + grunt.file.copy('src/index.html', this.data.dir + '/index.html', { + process: function ( contents, path ) { + return grunt.template.process( contents, { + data: { + scripts: jsFiles, + styles: cssFiles, + version: grunt.config( 'pkg.version' ) + } + }); + } + }); + }); + + + +}; diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 1fd62cb..d2a0e99 --- a/README.md +++ b/README.md @@ -1 +1,44 @@ -# website +# Edosoft Factory corporative website + +Corporative website for Edosoft Factory. + +## Project structure + + . + ├── build # Compiled website + ├── node_modules # Folder with the downloaded Node.js modules + ├── src # Source files for the website + │ ├── app # HTML templates and Angular related code + │ ├── assets # Media files used in the webpage + │ ├── js # Javascript code for the app + │ ├── less # LESS/CSS files with the webpages' style + │ └── index.html # of the generated HTML code + ├── vendor # Folder with the downloaded Bower modules + ├── bower.json # File with Bower packages + ├── Gruntfile.js # File with Grunt tasks and plugins + ├── package.json # File with Node.js packages + └── s3_website.yml # AWS S3 configuration file (used by Jenkins) + +## Quick Start +This website has been built using Node.js, Bower and Grunt. + +First, a Node.js installation is required. It can be installed following the instructions [here](https://nodejs.org/en/download/package-manager/). +After Node.js is installed, Grunt, Karma and Bower are also required. They can be installed globally with the following command: + +```sh +$ sudo npm -g install grunt-cli karma bower +``` + +Afterwards, use the following commands on a directory of your choice to set up the development environment: + +```sh +$ git clone https://github.com/edosoft/web-sites.git +$ cd web-sites/edosoft +$ npm install +$ bower install +$ grunt watch +``` + +Finally, open `website/build/index.html` in your browser. Alternatively, the `grunt watch` command should open a new tab on your browser with the compiled page. + +Happy hacking! \ No newline at end of file diff --git a/bower.json b/bower.json new file mode 100755 index 0000000..af509dc --- /dev/null +++ b/bower.json @@ -0,0 +1,27 @@ +{ + "name": "ng-boilerplate", + "version": "0.3.2", + "devDependencies": { + "animate.css": "3.2.6", + "waypoints": "~3.1.1", + "wow": "~1.1.2", + "jquery": "~1.10.0", + "bootstrap": "~3.3.2", + "components-font-awesome": "~4.3.0", + "jquery.sticky": "~1.0.0", + "jquery.stellar": "~0.6.2", + "angular": "~1.3.15", + "angular-ui-router": "0.2.11" + }, + "dependencies": { + "angular-dynamic-locale": "0.1.21", + "angulartics": "~0.19.0", + "angular-feeds": "*", + "angular-touch": "*", + "angular-carousel": "*" + }, + "resolutions": { + "angular": "~1.3.15", + "bootstrap": ">= 3.0.0" + } +} diff --git a/build.config.js b/build.config.js new file mode 100755 index 0000000..c1600f6 --- /dev/null +++ b/build.config.js @@ -0,0 +1,101 @@ +/** + * This file/module contains all configuration for the build process. + */ +module.exports = { + /** + * The `build_dir` folder is where our projects are compiled during + * development and the `compile_dir` folder is where our app resides once it's + * completely built. + */ + build_dir: 'build', + compile_dir: 'bin', + + /** + * This is a collection of file patterns that refer to our app code (the + * stuff in `src/`). These file paths are used in the configuration of + * build tasks. `js` is all project javascript, less tests. `ctpl` contains + * our reusable components' (`src/common`) template HTML files, while + * `atpl` contains the same, but for our app's code. `html` is just our + * main HTML file, `less` is our main stylesheet, and `unit` contains our + * app's unit tests. + */ + app_files: { + js: [ 'src/**/*.js', '!src/**/*.spec.js', '!src/assets/**/*.js' ], + jsunit: [ 'src/**/*.spec.js' ], + + coffee: [ 'src/**/*.coffee', '!src/**/*.spec.coffee' ], + coffeeunit: [ 'src/**/*.spec.coffee' ], + + atpl: [ 'src/**/*tpl*.html' ], + ctpl: [ 'src/common/**/*tpl*.html' ], + + html: [ 'src/index.html' ], + less: 'src/less/main.less', + info: 'src/**/info/*.html' + }, + + /** + * This is a collection of files used during testing only. + */ + test_files: { + js: [ + 'vendor/angular-mocks/angular-mocks.js' + ] + }, + + /** + * This is the same as `app_files`, except it contains patterns that + * reference vendor code (`vendor/`) that we need to place into the build + * process somewhere. While the `app_files` property ensures all + * standardized files are collected for compilation, it is the user's job + * to ensure non-standardized (i.e. vendor-related) files are handled + * appropriately in `vendor_files.js`. + * + * The `vendor_files.js` property holds files to be automatically + * concatenated and minified with our project source files. + * + * The `vendor_files.css` property holds any CSS files to be automatically + * included in our app. + * + * The `vendor_files.assets` property holds any assets to be copied along + * with our app's assets. This structure is flattened, so it is not + * recommended that you use wildcards. + */ + vendor_files: { + js: [ + + 'vendor/angular/angular.js', + 'vendor/jquery/jquery.js', + 'vendor/angular-ui-router/release/angular-ui-router.js', + 'vendor/angular-cookies/angular-cookies.js', + 'vendor/angular-translate/angular-translate.min.js', + 'vendor/angular-translate-loader-partial/angular-translate-loader-partial.min.js', + 'vendor/angular-translate-storage-cookie/angular-translate-storage-cookie.min.js', + 'vendor/bootstrap/dist/js/bootstrap.min.js', + 'vendor/wow/dist/wow.min.js', + 'vendor/waypoints/lib/noframework.waypoints.js', + 'vendor/angulartics/dist/angulartics.min.js', + 'vendor/angulartics/dist/angulartics-ga.min.js', + 'vendor/angulartics/dist/angulartics-scroll.min.js', + 'vendor/angular-feeds/app/angular-feeds/angular-feeds.js' + + + ], + css: [ + 'vendor/animate.css/animate.css', + 'vendor/components-font-awesome/css/font-awesome.css', + 'vendor/angular-feeds/app/angular-feeds/angular-feeds.css', + 'vendor/angular-carousel/dist/angular-carousel.min.css' + ], + assets: [ + + ], + fonts: + ['vendor/components-font-awesome/fonts/FontAwesome.otf', + 'vendor/components-font-awesome/fonts/fontawesome-webfont.eot', + 'vendor/components-font-awesome/fonts/fontawesome-webfont.svg', + 'vendor/components-font-awesome/fonts/fontawesome-webfont.ttf', + 'vendor/components-font-awesome/fonts/fontawesome-webfont.woff', + 'vendor/components-font-awesome/fonts/fontawesome-webfont.woff2'] + } +}; diff --git a/module.prefix b/module.prefix new file mode 100755 index 0000000..c52d9b7 --- /dev/null +++ b/module.prefix @@ -0,0 +1 @@ +(function ( window, angular, undefined ) { diff --git a/module.suffix b/module.suffix new file mode 100755 index 0000000..f6354ba --- /dev/null +++ b/module.suffix @@ -0,0 +1 @@ +})( window, window.angular ); diff --git a/package.json b/package.json new file mode 100755 index 0000000..57cef1e --- /dev/null +++ b/package.json @@ -0,0 +1,36 @@ +{ + "author": "Edosoft Factory", + "name": "CorporativeWebsite", + "version": "2.0.0", + "homepage": "http://edosoft.es", + "repository": { + "type": "git", + "url": "git@github.com:edosoft/web-sites.git" + }, + "license": "private", + "private": true, + "dependencies": { + "grunt-robots-txt": "^0.3.0", + "@uirouter/angularjs": "^1.0.14" + }, + "devDependencies": { + "angular": "^1.3.15", + "grunt": "~0.4.1", + "grunt-bump": "0.0.6", + "grunt-coffeelint": "~0.0.10", + "grunt-contrib-clean": "^0.4.1", + "grunt-contrib-coffee": "^0.7.0", + "grunt-contrib-compress": "^1.4.3", + "grunt-contrib-concat": "^0.3.0", + "grunt-contrib-connect": "^0.9.0", + "grunt-contrib-copy": "^0.8.0", + "grunt-contrib-jshint": "^0.4.3", + "grunt-contrib-less": "~0.11.0", + "grunt-contrib-uglify": "^0.2.7", + "grunt-contrib-watch": "^0.4.4", + "grunt-html2js": "^0.1.9", + "grunt-ng-annotate": "^0.8.0", + "grunt-release-it": "^0.2.1", + "grunt-robots-txt": "^0.3.0" + } +} diff --git a/src/BingSiteAuth.xml b/src/BingSiteAuth.xml new file mode 100755 index 0000000..b24d79f --- /dev/null +++ b/src/BingSiteAuth.xml @@ -0,0 +1,4 @@ + + + 6503817F71AF63CD52F95DE5631FD62C + \ No newline at end of file diff --git a/src/README.md b/src/README.md new file mode 100755 index 0000000..7396e70 --- /dev/null +++ b/src/README.md @@ -0,0 +1,2 @@ +# The `src` Directory + diff --git a/src/app/angular-feed.js b/src/app/angular-feed.js new file mode 100755 index 0000000..ed19b57 --- /dev/null +++ b/src/app/angular-feed.js @@ -0,0 +1,329 @@ +/** + * angular-feeds - v0.0.4 - 2015-04-07 6:38 PM + * https://github.com/siddii/angular-feeds + * + * Copyright (c) 2015 + * Licensed MIT + */ + +angular.module('feeds-directives', []).directive('feed', ['feedService', '$compile', '$templateCache', '$http', function (feedService, $compile, $templateCache, $http) { + + 'use strict'; + return { + restrict: 'E', + scope: { + summary: '=summary' + }, + controller: ['$scope', '$element', '$attrs', '$timeout', function ($scope, $element, $attrs, $timeout) { + + $scope.angknewsCarouselPostRender=function(){ + $('.carousel .item').each(function(){ + var next = $(this).next(); + if (!next.length) { + next = $(this).siblings(':first'); + } + next.children(':first-child').clone().appendTo($(this)); + + for (var i=0;i<1;i++) { + next=next.next(); + if (!next.length) { + next = $(this).siblings(':first'); + } + + next.children(':first-child').clone().appendTo($(this)); + } + }); + $('.carousel').carousel({ + interval: 5000 + }); + $('#news-feed').find('a').each(function (idx, anchor) { + anchor.target = '_new'; + anchor.href = anchor.href.replace(window.location.origin, 'http://breakingnews.edolab.com'); + }); + }; + + $scope.$watch('finishedLoading', function (value) { + if ($attrs.postRender && value) { + $timeout(function () { + $scope.newsCarouselPostRender(); + }, 1000); + } + }); + + $scope.feeds = []; + + var spinner = $templateCache.get('feed-spinner.html'); + $element.append($compile(spinner)($scope)); + + function renderTemplate(templateHTML, feedsObj) { + $element.append($compile(templateHTML)($scope)); + if (feedsObj) { + for (var i = 0; i < feedsObj.length; i++) { + $scope.feeds.push(feedsObj[i]); + } + } + } + + feedService.getFeeds($attrs.url, $attrs.count).then(function (feedsObj) { + console.log(feedsObj); + if ($attrs.templateUrl) { + $http.get($attrs.templateUrl, {cache: $templateCache}).success(function (templateHtml) { + renderTemplate(templateHtml, feedsObj); + }); + } + else { + renderTemplate($templateCache.get('feed-list.html'), feedsObj); + } + $timeout(function(){ + $(".spinner").addClass("spinner-hide"); + $scope.$evalAsync('finishedLoading = true'); + },0); + },function (error) { + console.error('Error loading feed ', error); + $scope.error = error; + renderTemplate($templateCache.get('feed-list.html')); + }); + }] + }; +}]); + + +angular.module('feeds', ['feeds-services', 'feeds-directives']); + +angular.module('feeds-services', []); + +angular + .module('feeds-services') + .factory('feedService', ['$q', '$sce', 'feedCache', 'yui', feedService]); +angular + .module('feeds-services') + .factory('feedCache', feedCache); + +function feedService ($q, $sce, feedCache, yui) { + var YQLUrl = 'http://query.yahooapis.com/v1/public/yql?q=', query = 'select * from rss where url='; + return { + getFeeds: getFeeds + }; + + function sanitizeFeedEntry (feedEntry) { + var normalizedFeedEntry = {}; + + + var properties = [ + {indexName: 'content', possibleIndexNames: ['content', 'description', 'summary']}, + {indexName: 'title', possibleIndexNames: ['title']}, + {indexName: 'link', possibleIndexNames: ['link']}, + {indexName: 'date', possibleIndexNames: ['date', 'pubDate', 'lastBuildDate']}, + {indexName: 'creator', possibleIndexNames: ['creator', 'dc:creator', 'dc']} + ]; + + properties.forEach(function(property) { + property.possibleIndexNames.forEach(function(contentIndex) { + if(feedEntry[contentIndex]) { + var content = typeof feedEntry[contentIndex] === 'string' ? feedEntry[contentIndex] : feedEntry[contentIndex].content; + if(!content) { + content = feedEntry[contentIndex].href; + } + if (property.indexName == 'content') { + // Ellipsis at the end of the summary + if (content) { + normalizedFeedEntry[property.indexName] = $sce.trustAsHtml(content.slice(0, content.length - 4) + '...' + content.slice(content.length - 4, content.length)); + } + else { + normalizedFeedEntry[property.indexName] = $sce.trustAsHtml(content); + } + + } + else { + if (property.indexName == 'date') { + // Delete time information from date + normalizedFeedEntry[property.indexName] = $sce.trustAsHtml(content.slice(0, 16)); + } + else { + normalizedFeedEntry[property.indexName] = $sce.trustAsHtml(content); + } + } + } + }); + }); + return normalizedFeedEntry; + } + + function sanitizeEntries (entries) { + var sanitezedEntries = []; + for (var i = 0; i < entries.length; i++) { + sanitezedEntries.push(sanitizeFeedEntry(entries[i])); + } + + return sanitezedEntries; + } + + function getFeeds (feedURL, count) { + var deferred = $q.defer(); + + var fullUrlFeed = encodeURI(YQLUrl) + encodeURIComponent(query + feedURL); + + if (feedCache.hasCache(fullUrlFeed)) { + var entries = feedCache.get(fullUrlFeed); + deferred.resolve(sanitizeEntries(entries)); + } else if (count) { + yui + .load() + .then(fetchFeed); + } else { + console.warn('called getFeeds with count ' + count); + } + + function fetchFeed () { + try { + YUI().use('yql', function (Y) { + var query = 'select * from feed(0,' + count + ') where url = "' + feedURL + '"'; + var q = Y.YQL(query, function (response) { + //r now contains the result of the YQL Query as a JSON + console.log(response, feedURL); + if (response.query.count) { + var itemsIndex = typeof response.query.results.item === 'undefined' ? 'entry' : 'item'; + var entries = response.query.results[itemsIndex]; + feedCache.set(feedURL, entries); + deferred.resolve(sanitizeEntries(entries)); + } else { + deferred.resolve([]); + } + }); + }); + } catch(ex) { + deferred.reject(ex); + } + + } + +// google.load('feeds', '1'); +// var feed = new google.feeds.Feed(feedURL); +// if (count) { +// feed.includeHistoricalEntries(); +// feed.setNumEntries(count); +// } +// +// feed.load(function (response) { +// if (response.error) { +// deferred.reject(response.error); +// } +// else { +// feedCache.set(feedURL, response.feed.entries); +// sanitizeEntries(response.feed.entries); +// deferred.resolve(response.feed.entries); +// } +// }); + + return deferred.promise; + } +} + +function feedCache () { + var CACHE_INTERVAL = 1000 * 60 * 5; //5 minutes + + function cacheTimes () { + if ('CACHE_TIMES' in localStorage) { + return angular.fromJson(localStorage.getItem('CACHE_TIMES')); + } + return {}; + } + + function hasCache (name) { + var CACHE_TIMES = cacheTimes(); + return name in CACHE_TIMES && name in localStorage && new Date().getTime() - CACHE_TIMES[name] < CACHE_INTERVAL; + } + + return { + set : function (name, obj) { + localStorage.setItem(name, angular.toJson(obj)); + var CACHE_TIMES = cacheTimes(); + CACHE_TIMES[name] = new Date().getTime(); + localStorage.setItem('CACHE_TIMES', angular.toJson(CACHE_TIMES)); + }, + get : function (name) { + if (hasCache(name)) { + return angular.fromJson(localStorage.getItem(name)); + } + return null; + }, + hasCache: hasCache + }; +} + +angular.module('feeds-services') + .provider('yui', [yui]) + .run(['yui', function (yuiLoader) { + }]); + +function yui () { + this.$get = ['$q', loadYuiScript]; + + function loadYuiScript ($q) { + var isNotLoadingScript = true, requests = []; + fetchScript(); + + return { + load: fetchScript + }; + + function fetchScript () { + var deferred = $q.defer(); + requests.push(deferred); + + if (!document.querySelector('[src*="http://yui.yahooapis.com/3.18.1/build/yui/yui-min.js"]') && isNotLoadingScript) { + isNotLoadingScript = false; + var script = document.createElement('script'); + script.onload = function () { + isNotLoadingScript = true; + requests.forEach(function (request) { + request.resolve(); + }); + }; + script.src = "http://yui.yahooapis.com/3.18.1/build/yui/yui-min.js"; + document.getElementsByTagName('head')[0].appendChild(script); + } else if (isNotLoadingScript) { + deferred.resolve(); + } + + return deferred.promise; + } + } +} + +angular.module('feeds').run(['$templateCache', function($templateCache) { + 'use strict'; + + $templateCache.put('feed-list.html', + "
\n" + + "
\n" + + "
Oops... Something bad happened, please try later :(
\n" + + "
\n" + + "\n" + + " \n" + + "
" + ); + + + $templateCache.put('feed-spinner.html', + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + ); + +}]); diff --git a/src/app/app.js b/src/app/app.js new file mode 100755 index 0000000..adab4fd --- /dev/null +++ b/src/app/app.js @@ -0,0 +1,363 @@ +angular.module( 'edosoft', [ + 'ui.router', + 'templates-app', + 'templates-common' + +]) + + .config( function myAppConfig ( $stateProvider, $urlRouterProvider, $locationProvider) { + + $urlRouterProvider.otherwise( '/home' ); + + /*$locationProvider.html5Mode({ + enabled: true, + requireBase: true + });*/ + + $stateProvider + .state('home',{ + url:'/home', + views: { + "main": { + controller: 'HomeCtrl', + templateUrl: 'home/home_es.tpl.html' + } + } + }) + .state('home_en', { + url: '/home/en', + views: { + "main": { + controller:'HomeCtrl', + templateUrl: 'home/home_en.tpl.html' + } + } + }) + .state('info', { + url: '/info', + views: { + "main": { + controller: 'InfoCtrl', + templateUrl: 'info/info_es.tpl.html' + } + } + }) + .state('info_en', { + url: '/info/en', + views: { + "main": { + controller: 'InfoCtrl', + templateUrl: 'info/info_en.tpl.html' + } + } + }) + .state('team', { + url: '/team', + views: { + "main": { + controller: 'TeamCtrl', + templateUrl: 'team/team_es.tpl.html' + } + } + }) + .state('team_en', { + url: '/team/en', + views: { + "main": { + controller: 'TeamCtrl', + templateUrl: 'team/team_en.tpl.html' + } + } + }) + .state('services', { + url: '/services', + views: { + "main": { + controller: 'ServicesCtrl', + templateUrl: 'services/services_es.tpl.html' + } + } + }) + .state('services_en', { + url: '/services/en', + views: { + "main": { + controller: 'ServicesCtrl', + templateUrl: 'services/services_en.tpl.html' + } + } + }) + .state('iplusd', { + url: '/iplusd', + views: { + "main": { + controller: 'IplusdCtrl', + templateUrl: 'iplusd/iplusd_es.tpl.html' + } + } + }) + .state('iplusd_en', { + url: '/iplusd/en', + views: { + "main": { + controller: 'IplusdCtrl', + templateUrl: 'iplusd/iplusd_en.tpl.html' + } + } + }) + .state('cif', { + url: '/consultora-factora/', + views: { + "main": { + controller: 'CifCtrl', + templateUrl: 'cif/cif_es.tpl.html' + } + } + }) + .state('cif_en', { + url: '/consultora-factora/en', + views: { + "main": { + controller: 'CifCtrl', + templateUrl: 'cif/cif_en.tpl.html' + } + } + }) + .state('contact', { + url: '/contact', + views: { + "main": { + controller: 'ContactCtrl', + templateUrl: 'contact/contact_es.tpl.html' + } + } + }) + .state('contact_en', { + url: '/contact/en', + views: { + "main": { + controller: 'ContactCtrl', + templateUrl: 'contact/contact_en.tpl.html' + } + } + }) + .state('about', { + url: '/about', + views: { + "main": { + controller: 'AboutCtrl', + templateUrl: 'about/about_es.tpl.html' + } + } + }) + .state('about_en', { + url: '/about/en', + views: { + "main": { + controller: 'AboutCtrl', + templateUrl: 'about/about_en.tpl.html' + } + } + }); + }) + + .controller( 'AppCtrl', function AppCtrl ( $scope, $location, $window,$state) { + console.log('AppCtrl',$state.current,$scope.pageTitle); + }) + + .controller('HomeCtrl', function HomeCtrl($state,$scope,$window) { + $window.scrollTo(0, 0); + console.log($state.current); + + }) + + .controller( 'InfoCtrl', function InfoCtrl ($state,$scope,$window) { + $window.scrollTo(0, 0); + + }) + .controller( 'ContactCtrl', function ContactCtrl ($state, $scope, $window) { + $window.scrollTo(0, 0); + + }) + .controller( 'TeamCtrl', function TeamCtrl ($state, $scope, $window ) { + $window.scrollTo(0, 0); + }) + .controller( 'CifCtrl', function CifCtrl ($state, $scope, $window ) { + $window.scrollTo(0, 0); + + }) + .controller( 'ServicesCtrl', function ServicesCtrl ($state, $scope, $window) { + console.log($state.current); + $window.scrollTo(0, 0); + $scope.showgmail = true; + $scope.showcalendar = false; + $scope.showhangouts = false; + $scope.showgplus = false; + $scope.showdocs = false; + $scope.showspreasdsheets = false; + $scope.showforms = false; + $scope.showslides = false; + $scope.showsites = false; + $scope.showdrives = false; + $scope.showadmin = false; + $scope.showkeeps = false; + + // Image click behaviour + $scope.openInNewWindow = function(id){ + + switch(id) { + case 'show-calendar': + $scope.showhangouts = false; + $scope.showgplus = false; + $scope.showdocs = false; + $scope.showspreadsheets = false; + $scope.showforms = false; + $scope.showgmail = false; + $scope.showcalendar = true; + break; + case 'show-hangouts': + $scope.showgmail = false; + $scope.showcalendar = false; + $scope.showhangouts = false; + $scope.showgplus = false; + $scope.showdocs = false; + $scope.showspreadsheets = false; + $scope.showforms = false; + $scope.showhangouts = true; + break; + case 'show-gplus': + $scope.showgmail = false; + $scope.showcalendar = false; + $scope.showhangouts = false; + $scope.showdocs = false; + $scope.showspreadsheets = false; + $scope.showforms = false; + $scope.showgplus = true; + break; + case 'show-docs': + $scope.showgmail = false; + $scope.showcalendar = false; + $scope.showhangouts = false; + $scope.showdocs = true; + $scope.showspreadsheets = false; + $scope.showforms = false; + $scope.showgplus = false; + break; + case 'show-spreadsheets': + $scope.showgmail = false; + $scope.showcalendar = false; + $scope.showhangouts = false; + $scope.showgplus = false; + $scope.showdocs = false; + $scope.showforms = false; + $scope.showspreadsheets = true; + break; + case 'show-forms': + $scope.showhangouts = false; + $scope.showgplus = false; + $scope.showdocs = false; + $scope.showspreadsheets = false; + $scope.showgmail = false; + $scope.showcalendar = false; + $scope.showforms = true; + break; + case 'show-slides': + $scope.showslides = true; + $scope.showgmail = false; + $scope.showcalendar = false; + $scope.showhangouts = false; + $scope.showgplus = false; + $scope.showdocs = false; + $scope.showspreasdsheets = false; + $scope.showforms = false; + $scope.showsites = false; + $scope.showdrives = false; + $scope.showadmin = false; + $scope.showkeeps = false; + break; + case 'show-sites': + $scope.showsites = true; + $scope.showgmail = false; + $scope.showcalendar = false; + $scope.showhangouts = false; + $scope.showgplus = false; + $scope.showdocs = false; + $scope.showspreasdsheets = false; + $scope.showforms = false; + $scope.showslides = false; + $scope.showdrives = false; + $scope.showadmin = false; + $scope.showkeeps = false; + break; + case 'show-drives': + $scope.showdrives = true; + $scope.showgmail = false; + $scope.showcalendar = false; + $scope.showhangouts = false; + $scope.showgplus = false; + $scope.showdocs = false; + $scope.showspreasdsheets = false; + $scope.showforms = false; + $scope.showslides = false; + $scope.showsites = false; + $scope.showadmin = false; + $scope.showkeeps = false; + break; + case 'show-admin': + $scope.showadmin = true; + $scope.showgmail = false; + $scope.showcalendar = false; + $scope.showhangouts = false; + $scope.showgplus = false; + $scope.showdocs = false; + $scope.showspreasdsheets = false; + $scope.showforms = false; + $scope.showslides = false; + $scope.showsites = false; + $scope.showdrives = false; + $scope.showkeeps = false; + break; + case 'show-keeps': + $scope.showkeeps = true; + $scope.showgmail = false; + $scope.showcalendar = false; + $scope.showhangouts = false; + $scope.showgplus = false; + $scope.showdocs = false; + $scope.showspreasdsheets = false; + $scope.showforms = false; + $scope.showslides = false; + $scope.showsites = false; + $scope.showdrives = false; + $scope.showadmin = false; + break; + default: + $scope.showgmail = true; + $scope.showcalendar = false; + $scope.showhangouts = false; + $scope.showgplus = false; + $scope.showdocs = false; + $scope.showspreasdsheets = false; + $scope.showforms = false; + $scope.showslides = false; + $scope.showsites = false; + $scope.showdrives = false; + $scope.showadmin = false; + $scope.showkeeps = false; + } + + }; + + + }) + .controller( 'AboutCtrl', function AboutCtrl ($state,$scope,$window) { + $window.scrollTo(0, 0); + + }) + .controller( 'IplusdCtrl', function IplusdCtrl ($state, $scope, $window) { + $window.scrollTo(0, 0); + }) + +; + + diff --git a/src/app/cif/cif_en.tpl.html b/src/app/cif/cif_en.tpl.html new file mode 100755 index 0000000..090d345 --- /dev/null +++ b/src/app/cif/cif_en.tpl.html @@ -0,0 +1,263 @@ + + + + +
+
+
+

I + D

+
+
+
+ + +
+
+

+
+ Consultoría de Software +

+
+
+
+
+ Web Consulting +
+
+
Asesoramiento Web Especializado
+

Edosoft Factory asesora a sus clientes en todo el ciclo de vida de sus proyectos o servicios hasta su despliegue:

+
    +
  • Estudio de la viabilidad
  • +
  • Gestión del proyecto de desarrollo
  • +
  • Optimización en Motores de Búsqueda (SEO)
  • +
  • Despliegues en La Nube (Cloud Computing)
  • +
+
+
+ E-commerce consulting +
+
+
Asesoramiento en Comercio Electrónico
+

Los servicios e-commerce cobran cada vez mayor importancia en todo tipo de empresas, por lo que es importante implementar correctamente los cambios en todas las fases del proyecto. Edosoft Factory le asesora en los siguientes aspectos:

+
    +
  • Análisis de viabilidad de la idea
  • +
  • -Gestión del desarrollo
  • +
  • Creación y seguimiento de campañas publicitarias
  • +
  • Establecimiento y seguimiento de métricas de éxito
  • +
  • Soporte, calidad y seguridad, legislación y reglamentos
  • +
  • Interconexión de sistemas
  • +
  • Posicionamiento SEO y SEM
  • + +
+
+
+ +
+
+
Seguridad y calidad de software
+

Edosoft Factory ofrece sus más de 10 años de experiencia en Aseguramiento de la calidad, (QA en sus siglas en inglés) para garantizar la calidad del software del cliente:

+
    +
  • Procesos de automatización de pruebas
  • +
  • Auditorías de seguridad de aplicación realizadas por expertos y basadas en el estándar de facto OWASP
  • +
+
+
+
+
+
+
+
+
+
+
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+
+
+
+
+
+
+
+
+
+
+

+
+ Factoría de Software +

+

Servicios de factoría software OnSite/Nearshore. Edosoft Factory adapta los equipos de trabajo al horario, entornos y procedimientos de trabajo del cliente, limitando el riesgo en la delegación de tareas por parte del cliente:

+ +
+
+
+
+
+ Contratos Adaptados +
+

Contratos adaptados a las necesidades del cliente: Fixed Price, Time and Materials, Cost Plus Fixed Fee, Cost Plus Percentage of cost, Cost Plus Incentive Fee, Fixed price Incentive Fee.

+
+
+
+
+
+ +
+

Estrictas políticas de seguridad y privacidad.

+
+
+
+
+
+ +
+

Metodología Ágil escalada a nivel de empresa para garantizar el valor a nuestros clientes.

+
+
+
+
+
+
+
+ +
+
+
+
+

Edodev usa tecnologías open source de última generación, siempre reputadas y con soporte garantizado. De esta forma no imputa costes extra a sus clientes, manteniendo los estándares de la calidad más exigentes.

+
+
+
+
+
+ +
+
+
+
+ \ No newline at end of file diff --git a/src/app/cif/cif_es.tpl.html b/src/app/cif/cif_es.tpl.html new file mode 100755 index 0000000..2362ad7 --- /dev/null +++ b/src/app/cif/cif_es.tpl.html @@ -0,0 +1,255 @@ + + + + +
+
+
+

I + D

+
+
+
+ + +
+
+

+
+ Consultoría de Software +

+
+
+
+
+ Web Consulting +
+
+
Asesoramiento Web Especializado
+

Edosoft Factory asesora a sus clientes en todo el ciclo de vida de sus proyectos o servicios hasta su despliegue:

+
    +
  • Estudio de la viabilidad
  • +
  • Gestión del proyecto de desarrollo
  • +
  • Optimización en Motores de Búsqueda (SEO)
  • +
  • Despliegues en La Nube (Cloud Computing)
  • +
+
+
+ E-commerce consulting +
+
+
Asesoramiento en Comercio Electrónico
+

Los servicios e-commerce cobran cada vez mayor importancia en todo tipo de empresas, por lo que es importante implementar correctamente los cambios en todas las fases del proyecto. Edosoft Factory le asesora en los siguientes aspectos:

+
    +
  • Análisis de viabilidad de la idea
  • +
  • -Gestión del desarrollo
  • +
  • Creación y seguimiento de campañas publicitarias
  • +
  • Establecimiento y seguimiento de métricas de éxito
  • +
  • Soporte, calidad y seguridad, legislación y reglamentos
  • +
  • Interconexión de sistemas
  • +
  • Posicionamiento SEO y SEM
  • + +
+
+
+ +
+
+
Seguridad y calidad de software
+

Edosoft Factory ofrece sus más de 10 años de experiencia en Aseguramiento de la calidad, (QA en sus siglas en inglés) para garantizar la calidad del software del cliente:

+
    +
  • Procesos de automatización de pruebas
  • +
  • Auditorías de seguridad de aplicación realizadas por expertos y basadas en el estándar de facto OWASP
  • +
+
+
+
+
+
+
+
+
+
+
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+
+
+
+
+
+
+
+
+
+
+

+
+ Factoría de Software +

+

Servicios de factoría software OnSite/Nearshore. Edosoft Factory adapta los equipos de trabajo al horario, entornos y procedimientos de trabajo del cliente, limitando el riesgo en la delegación de tareas por parte del cliente:

+ +
+
+
+
+
+ Contratos Adaptados +
+

Contratos adaptados a las necesidades del cliente: Fixed Price, Time and Materials, Cost Plus Fixed Fee, Cost Plus Percentage of cost, Cost Plus Incentive Fee, Fixed price Incentive Fee.

+
+
+
+
+
+ +
+

Estrictas políticas de seguridad y privacidad.

+
+
+
+
+
+ +
+

Metodología Ágil escalada a nivel de empresa para garantizar el valor a nuestros clientes.

+
+
+
+
+
+
+
+ +
+
+
+
+

Edodev usa tecnologías open source de última generación, siempre reputadas y con soporte garantizado. De esta forma no imputa costes extra a sus clientes, manteniendo los estándares de la calidad más exigentes.

+
+
+
+
+
+ +
+
+
+
+ \ No newline at end of file diff --git a/src/app/contact/contact_en.tpl.html b/src/app/contact/contact_en.tpl.html new file mode 100755 index 0000000..056e05f --- /dev/null +++ b/src/app/contact/contact_en.tpl.html @@ -0,0 +1,149 @@ + + +
+
+
+
+
+ +
+
+
+

Contact

+ +
+
+
+ + \ No newline at end of file diff --git a/src/app/contact/contact_es.tpl.html b/src/app/contact/contact_es.tpl.html new file mode 100755 index 0000000..6cb2bab --- /dev/null +++ b/src/app/contact/contact_es.tpl.html @@ -0,0 +1,137 @@ + + +
+
+
+
+
+ +
+
+
+

Contacto

+ +
+
+
+ + + + + + diff --git a/src/app/home/equipo.html b/src/app/home/equipo.html new file mode 100755 index 0000000..8371c68 --- /dev/null +++ b/src/app/home/equipo.html @@ -0,0 +1,333 @@ + +
+
+
+ +

+ +
+ +
+ +
+ +
+
+
+
+ +

+
+
+
+ +
+
+ +

Juan Vera

+

Executive Manager

+
+ +
+
+
+ Aitor Carrera +

Aitor Carrera

+

CTO

+
+ + +
+ +
+
+ Isabel Caballero +

Isabel Caballero

+

R&D Manager

+
+ +
+ +
+
+ Efrén Pérez +

Efrén Pérez

+

DevOps

+
+
+
+
+ +

Beatriz Delgado

+

Head of Department

+
+ +
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+
+
+ +

Roberto González

+

Full Stack Developer

+
+ +
+
+
+ Laura Ojeda +

Laura Ojeda

+

Marketing & Social Media

+
+ + +
+ +
+
+ Natanael Armas +

Natanael Armas

+

Senior System Tester

+
+ +
+ +
+
+ Raúl Vega +

Raúl Vega

+

Senior System Tester

+
+ +
+
+
+ Eva Cardenas +

Eva Cardenes

+

Marketing & Social Media

+
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +

Swan Rodríguez

+

Full Stack Developer

+
+ +
+
+
+ Pooja Gangwani +

Pooja Gangwani

+

Key Account Manager

+
+ + +
+ +
+
+ Christopher Pérez +

Christopher Pérez

+

DevOps

+
+ +
+ +
+
+ Cristinaz Millares +

Cristina Millares

+

Graphic Designer

+
+ +
+
+
+ Raúl Almeida +

Raúl Almeida

+

DevOps

+
+ +
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +

David Verdú

+

Full Stack Developer

+
+ +
+
+
+ Adrián Villares +

Adrián Martínez

+

Full Stack Developer

+
+ + +
+ +
+
+ Carlos David +

Carlos David

+

Intern

+
+ +
+ +
+
+ Deriman Franco +

Deriman Franco

+

R&D Developer

+
+ +
+
+
+ Eduardo Quesada +

Eduardo Quesada

+

Full Stack Developer

+
+ +
+ +
+ +
+
+
+
diff --git a/src/app/home/google-partner.html b/src/app/home/google-partner.html new file mode 100755 index 0000000..e69de29 diff --git a/src/app/home/home_en.tpl.html b/src/app/home/home_en.tpl.html new file mode 100755 index 0000000..866c98e --- /dev/null +++ b/src/app/home/home_en.tpl.html @@ -0,0 +1,263 @@ + + + + +
+
+
+
+ +
+
+
+
+
+ + + +
+
+
+
+
+
+ Google Cloud Partner +
+
+
+
+ + +
+
+

+
+ Desde consultoría tecnológica hasta formación especializada (need traslate) +

+
+
+

Con más de 12 años de experiencia en asesoría tecnológica y manteniéndose en continua expansión, Edosoft Factory es integrante del Clúster Canarias de Excelencia tecnológica y cuenta con un equipo multidisciplinar de más de 35 ingenieros titulados en su plantilla, con una capacidad de desarrollo y consultoría de más de 63.000 horas anuales.

+

Edosoft presta tanto servicios de Consultoría Tecnológica y Formación especializada en tecnologías de Virtualización, Contenerización, Cloud Híbrida y On-Premise asi como actividades relacionadas con la Seguridad y la Calidad del Software en Internet, Sistemas con Requisitos de Altas Prestaciones, Arquitecturas Complejas y Sistemas con Recursos Compartidos

+
+
+
+
+
+
+
+
+
+
Poniendo el conocimiento y experiencia de nuestro equipo al servicio del cliente, aseguramos el mantenimiento del máximo nivel tecnológico de la empresa, impulsándola a alcanzar sus resultados en menos tiempo y aportando valor a través de procesos de Transformación Digital.
+
+
+
+
+
+
+
+
+
+
+ Desarrollo Movil +
+

+ Valores +

+

Especialización
Innovación
Valor añadido
Equipo

+
+
+
+
+
+ +
+

+ Metodología +

+

Metodología Ágil
+ Integración Continua
+ Cadencia-Demanda
+ Transparencia
+ Propiedad Compartida

+
+
+
+
+
+ +
+

+ Servicios +

+

Google Cloud Partner
+ Consultoría/Factoría de Software
+ Formación especializada
+ Investigación y Desarrollo

+
+
+
+
+
+
+
+
+
+

Aportamos valor con cada proyecto

+

Con una cultura empresarial centralizada en la excelencia tecnológica, Edosoft Factory entiende los éxitos del cliente como propios y aporta valor a sus proyectos mediante el trabajo continuado, la colaboración y el uso de herramientas de Google para la empresa como G Suite y Google Cloud Platform.

+

Así el equipo y la especialización de sus diferentes componentes impulsan la innovación, la optimización y la rentabilidad tanto en empresas públicas como en privadas, implantando el uso de la Metodología Ágil a todos los niveles.

+
+
+ + +
+
+
+
+
+
+ +
+
+
+

¿Qué es Metodología Ágil?

+

Se trata de un conjunto de actividades diseñadas para dar soporte tanto a la evolución activa del diseño y arquitectura de un sistema software como a la mejora de los procesos de la empresa. Orienta a nuestra organización hacia el cliente en todos y cada uno de sus departamentos y aumenta nuestro ratio de eficiencia, por lo que los costes finales para el propio cliente disminuyen. +

+
+
+
+
+
+
+
+
+
Utilizamos la Metodología Ágil para incrementar la calidad de los procesos mediante integración, automatización y actualización constante de datos, desarrollo en cadencia, entrega a demanda y transparencia.
+
+
+
+
+
+
+
+
+ + + diff --git a/src/app/home/home_es.tpl.html b/src/app/home/home_es.tpl.html new file mode 100755 index 0000000..c106abf --- /dev/null +++ b/src/app/home/home_es.tpl.html @@ -0,0 +1,282 @@ + + + + +
+
+
+
+ +
+
+
+
+
+ + + +
+
+
+
+
+
+ Google Cloud Partner +
+
+
+
+ + +
+
+

+
+ Desde consultoría tecnológica hasta formación especializada +

+
+
+

Con más de 12 años de experiencia en asesoría tecnológica y manteniéndose en continua expansión, Edosoft Factory es integrante del Clúster Canarias de Excelencia tecnológica y cuenta con un equipo multidisciplinar de más de 35 ingenieros titulados en su plantilla, con una capacidad de desarrollo y consultoría de más de 63.000 horas anuales.

+

Edosoft presta tanto servicios de Consultoría Tecnológica y Formación especializada en tecnologías de Virtualización, Contenerización, Cloud Híbrida y On-Premise asi como actividades relacionadas con la Seguridad y la Calidad del Software en Internet, Sistemas con Requisitos de Altas Prestaciones, Arquitecturas Complejas y Sistemas con Recursos Compartidos

+
+
+
+
+
+
+
+
+
+
+
Poniendo el conocimiento y experiencia de nuestro equipo al servicio del cliente, aseguramos el mantenimiento del máximo nivel tecnológico de la empresa, impulsándola a alcanzar sus resultados en menos tiempo y aportando valor a través de procesos de Transformación Digital.
+
+
+
+
+
+
+
+
+
+
+
+
+ Desarrollo Movil +
+

+ Valores +

+

Especialización
Innovación
Valor añadido
Equipo

+
+
+
+
+
+ +
+

+ Metodología +

+

Metodología Ágil
+ Integración Continua
+ Cadencia-Demanda
+ Transparencia
+ Propiedad Compartida

+
+
+
+
+
+ +
+

+ Servicios +

+

Google Cloud Partner
+ Consultoría/Factoría de Software
+ Formación especializada
+ Investigación y Desarrollo

+
+
+
+
+
+
+
+

Aportamos valor con cada proyecto

+

Con una cultura empresarial centralizada en la excelencia tecnológica, Edosoft Factory entiende los éxitos del cliente como propios y aporta valor a sus proyectos mediante el trabajo continuado, la colaboración y el uso de herramientas de Google para la empresa como G Suite y Google Cloud Platform.

+

Así el equipo y la especialización de sus diferentes componentes impulsan la innovación, la optimización y la rentabilidad tanto en empresas públicas como en privadas, implantando el uso de la Metodología Ágil a todos los niveles.

+
+
+ +
+
+
+
+ +
+
+
+

¿Qué es Metodología Ágil?

+

Se trata de un conjunto de actividades diseñadas para dar soporte tanto a la evolución activa del diseño y arquitectura de un sistema software como a la mejora de los procesos de la empresa. Orienta a nuestra organización hacia el cliente en todos y cada uno de sus departamentos y aumenta nuestro ratio de eficiencia, por lo que los costes finales para el propio cliente disminuyen. +

+
+
+
+
+
+
+
Utilizamos la Metodología Ágil para incrementar la calidad de los procesos mediante integración, automatización y actualización constante de datos, desarrollo en cadencia, entrega a demanda y transparencia.
+
+
+
+
+
+
+
+
+

+
+ Blog +

+
+
+
+

+
+
+ +
+
+
+
+
+ + + + diff --git a/src/app/home/info_en.tpl.html b/src/app/home/info_en.tpl.html new file mode 100755 index 0000000..55f3453 --- /dev/null +++ b/src/app/home/info_en.tpl.html @@ -0,0 +1,120 @@ + + +

+ LEGAL TEXT +

+ +

+ 1. Company details +

+ +

+ In compliance with article 10 of Law 34/2002, of July 11, Services Information Society and Electronic Commerce, below the identifying data of the company are exposed. +

+ +

+ Name: Edosoft Factory +

+ +

+ Company Name: Edosoft Factory S.L. +

+ +

+ Cif: B-35867472, en el registro mercantil de Las Palmas in Tomo 1768, Libro 0, Folio 88, Hoja GC-35320, Incrip.:1. +

+ +

+ Address: Las Palmas de G.C. ; Calle Antonio María Manrique, 3, Piso 2, Oficina 4 y 6. C.P.:(35011). España +

+ +

+ Phone: +34 828 021 575 +

+ +

+ Email address: info@edosoft.es +

+ +

+ Name of the web or domain hosting it: "www.edosoft.es", hereinafter “the web”. +

+ +

+ 2. Intellectual Property +

+ +

+ The source, graphics, images, photographs, sounds, animations, software, texts, as well as the information and contents included in the web code are protected by Spanish legislation on property rights intellectual in favor of corporate name of the company and the reproduction and / or publication of all or part of the website or its processing, distribution, dissemination, modification, transformation or decompilation is not allowed, or legally recognized rights of the owner, without the prior written consent of the same. +

+ +

+ The user only and exclusively use the material on this website for your personal and private use, being prohibited its use for commercial purposes or in illegal activities. All rights derived from intellectual property are expressly reserved for the web. +

+ +

+ The website will ensure compliance with the above conditions and the correct use of the contents presented in its website, exercising all civil and criminal actions that correspond in case of infringement or violation of these rights by the user. +

+ +

+ 3. Protection of personal data +

+ +

+ As part of compliance with current legislation included in Organic Law 15/1999, of December 13, Protection of Personal Data (Act), which aims to guarantee and protect, regarding the treatment of personal data, freedoms and fundamental rights of individuals, and especially their honor and personal privacy, the site informs users that: the web has taken technical and organizational measures as provided in current regulations. +

+ +

+ The Personal Data which includes the web are automatically processed and are not incorporated into any file, and its only use the order by the customer in the case of contact form or request information. +

+

+ 4. Miscellaneous +

+ +

+ A. The site uses cookies that are stored on your computer. Cookies are small files that our computer sends to yours, but do not give us any information regarding their name or any other personal data. The cookies we use can not read data off your computer or read existing cookies on your computer. +

+ +

+ When the user surfs the web pages of the server where it is hosted automatically recognizes the IP address of your computer, the date and time at which the visit, which leaves the visit, as well as information begins the different sections. It is necessary that the server knows this information to communicate and send the request and that through the browser can be viewed on the screen. +

+ +

+ If you wish, you can set your browser to notify you on screen if you receive a cookie. The user can configure your computer not to receive these cookies, this does not prevent you from accessing the information on the website of the company. +

+ +

+ B. The web may change without prior notice, the information contained in its website, as well as its settings and presentation. +

+ +

+ C. The web is committed through this means not to make misleading. To this end, therefore, they will not be considered false advertising formal or numeric errors which may be found throughout the content of the various sections of the website, produced as a result of maintenance and / or incomplete or faulty update information contained in these sections. the web, as a result of the provisions of this paragraph, undertakes to correct as soon as it becomes aware of such errors. +

+ +

+ D. The web is committed NOT TO SEND COMMERCIAL COMMUNICATIONS WITHOUT IDENTIFYING THEM AS SUCH, as provided in Law 34/2002 on Information Society and Electronic Commerce. For this purpose it will be considered as advertising information sent TO THE CLIENTS of the web that correspondence, provided its object is to maintain the existing contractual relationship between client and company name as well as carrying out the tasks of information , training and other activities of the service that the customer has contracted with the company. +

+ +

+ E. The site is not responsible for the breach of any applicable rule that may be incurred by user while accessing the website of the company and / or use of the information contained therein. +

+ +

+ F. The web is not liable for damages caused or likely to occur, whatever their nature, derived from the use of information, the matters contained in this web site and the programs included. The links (links) and hypertext, which, through the company website, allow the user to access features and services offered by third parties not owned or controlled by company name; the company is not responsible or the information contained therein or any effects that might result from such information. +

+ +

+ G. The web is not responsible for the illegitimate use that third parties may make of the brand names, product names, trademarks, not owned by that entity, appearing on the website of the company. It is not responsible for the integrity, veracity and legality of the contents of the web links which can be accessed from the company website. +

+ +

+ H. The web is not responsible for the viruses that originate in a data transmission by third parties (eg, macros in word processors, Java applets and Active X programs), created with the aim of causing damage to a computer system. +

+ +

+ I. Users are solely responsible for the use they make of the services, contents, links (links) and hypertext included in the website. +

+ + + + diff --git a/src/app/home/info_es.tpl.html b/src/app/home/info_es.tpl.html new file mode 100755 index 0000000..3eee260 --- /dev/null +++ b/src/app/home/info_es.tpl.html @@ -0,0 +1,121 @@ + + +
+ +

+ TEXTO LEGAL +

+ +

+ 1. Datos de la empresa +

+ +

+ En cumplimiento del artículo 10 de la Ley 34/2002, de 11 de julio, de Servicios de la Sociedad de la Información y Comercio Electrónico, a continuación se exponen los datos identificativos de la empresa. +

+ +

+ Nombre: Edosoft Factory +

+ +

+ Denominación Social: Edosoft Factory S.L. +

+ +

+ Cif: B-35867472, en el registro mercantil de Las Palmas in Tomo 1768, Libro 0, Folio 88, Hoja GC-35320, Incrip.:1. +

+ +

+ Domicilio Social: Las Palmas de G.C. ; Calle Antonio María Manrique, 3, Piso 2, Oficina 4 y 6. C.P.:(35011). España +

+ +

+ Teléfono: +34 828 021 575 +

+ +

+ Dirección de correo electrónico: info@edosoft.es +

+ +

+ Nombre de la web o dominio que la aloja: "www.edosoft.es", en adelante “la web”. +

+ +

+ 2. Propiedad Intelectual +

+ +

+ El código fuente, los diseños gráficos, las imágenes, las fotografías, los sonidos, las animaciones, el software, los textos, así como la información y los contenidos que se recogen en la web están protegidos por la legislación española sobre los derechos de propiedad intelectual e industrial a favor de denominación social de la empresa y no se permite la reproducción y/o publicación, total o parcial, del sitio web, ni su tratamiento informático, su distribución, su difusión, ni su modificación, transformación o descompilación, ni demás derechos reconocidos legalmente a su titular, sin el permiso previo y por escrito del mismo. +

+ +

+ El usuario, única y exclusivamente, puede utilizar el material que aparezca en este sitio web para su uso personal y privado, quedando prohibido su uso con fines comerciales o para incurrir en actividades ilícitas. Todos los derechos derivados de la propiedad intelectual están expresamente reservados por la web. +

+ +

+ La web velará por el cumplimiento de las anteriores condiciones como por la debida utilización de los contenidos presentados en sus páginas web, ejercitando todas las acciones civiles y penales que le correspondan en el caso de infracción o incumplimiento de estos derechos por parte del usuario. +

+ +

+ 3. Protección de datos de carácter personal +

+ +

+ En el marco del cumplimiento de la legislación vigente, recogida en la Ley Orgánica 15/1999, de 13 de diciembre, sobre protección de Datos de Carácter Personal (LOPD), cuyo objeto es garantizar y proteger, en lo que concierne al tratamiento de los datos personales, las libertades y derechos fundamentales de las personas físicas, y especialmente de su honor e intimidad personal, la web informa a los usuarios de que: la web ha adoptado las medidas técnicas y organizativas conforme a lo dispuesto en la normativa vigente. +

+ +

+ Los Datos de Carácter Personal que recoge la web son objeto de tratamiento automatizado y no se incorporan a fichero alguno, siendo su único uso el pedido por el cliente en el caso de formulario de contacto o petición de información. +

+

+ 4. Varios +

+ +

+ A. La web utiliza cookies que se quedarán almacenadas en el ordenador. Las cookies son pequeños archivos que nuestro ordenador envía al suyo, pero que no nos proporcionan información ni sobre su nombre, ni sobre cualquier dato de carácter personal suyo. Las cookies que utilizamos no pueden leer datos de su ordenador ni leer las cookies que existan en su ordenador. +

+ +

+ Cuando el usuario se encuentre navegando por las páginas de la web el servidor donde se encuentra alojada reconoce automáticamente la dirección IP de su ordenador, el día y la hora en la que comienza la visita, en la que abandona la visita, así como información sobre las distintas secciones consultadas. Es necesario que el servidor conozca estos datos para poder comunicarse y enviarle la petición realizada y que a través del navegador se pueda ver en la pantalla. +

+ +

+ Si usted lo desea puede configurar su navegador de manera que le avise en la pantalla si va a recibir una cookie. El usuario puede configurar su ordenador de manera que no reciba estas cookies, este hecho no impedirá que se pueda acceder a la información del sitio web de la empresa. +

+ +

+ B. La web podrá modificar, sin previo aviso, la información contenida en su sitio web, así como su configuración y presentación. +

+ +

+ C. La web se compromete a través de este medio a NO REALIZAR PUBLICIDAD ENGAÑOSA. A estos efectos, por lo tanto, no serán considerados como publicidad engañosa los errores formales o numéricos que puedan encontrarse a lo largo del contenido de las distintas secciones de la web, producidos como consecuencia de un mantenimiento y/o actualización incompleta o defectuosa de la información contenida es estas secciones. la web, como consecuencia de lo dispuesto en este apartado, se compromete a corregirlo tan pronto como tenga conocimiento de dichos errores. +

+ +

+ D. La web se compromete a NO REMITIR COMUNICACIONES COMERCIALES SIN IDENTIFICARLAS COMO TALES, conforme a lo dispuesto en la Ley 34/2002 de Servicios de la Sociedad de la Información y de comercio electrónico. A estos efectos no será considerado como comunicación comercial toda la información que se envíe A LOS CLIENTES de la web siempre que tenga por finalidad el mantenimiento de la relación contractual existente entre cliente y nombre de la empresa, así como el desempeño de las tareas de información, formación y otras actividades propias del servicio que el cliente tiene contratado con la empresa. +

+ +

+ E. La web no se hace responsable del incumplimiento de cualquier norma aplicable en que pueda incurrir el usuario en su acceso al sitio web de la empresa y/o en el uso de las informaciones contenidas en el mismo. +

+ +

+ F. La web no será responsable de los daños y perjuicios producidos o que puedan producirse, cualquiera que sea su naturaleza, que se deriven del uso de la información, de las materias contenidas en este web site y de los programas que incorpora. Los enlaces (Links) e hipertexto que posibiliten, a través del sitio web de la empresa, acceder al usuario a prestaciones y servicios ofrecidos por terceros, no pertenecen ni se encuentran bajo el control de nombre de la empresa; dicha entidad no se hace responsable ni de la información contenida en los mismos ni de cualesquiera efectos que pudieran derivarse de dicha información. +

+ +

+ G. La web no se hace responsable del uso ilegítimo que terceras personas puedan hacer de los nombres de marca, nombres de producto, marcas comerciales que, no siendo propiedad de dicha entidad, aparezcan en el la web de la empresa. Tampoco se responsabiliza de la integridad, veracidad y licitud del contenido de los enlaces a las webs a las que pueda accederse desde web de la empresa. +

+ +

+ H. La web no se responsabiliza de los virus que tengan su origen en una transmisión telemática infiltrados por terceras partes (por ejemplo, los macros de procesadores de texto, los applets de Java y los programas Active X), generados con la finalidad de obtener resultados negativos para un sistema informático. +

+ +

+ I. En definitiva, el Usuario es el único responsable del uso que realice de los servicios, contenidos, enlaces (links) e hipertexto incluidos en el sitio web. +

+ + + diff --git a/src/app/home/iplusd_en.tpl.html b/src/app/home/iplusd_en.tpl.html new file mode 100755 index 0000000..2cb707c --- /dev/null +++ b/src/app/home/iplusd_en.tpl.html @@ -0,0 +1,231 @@ + + + + +
+
+
+
+ +
+
+
+
+
+ + + +
+
+
+
+ Google Cloud Partner +
+
+
+
+ + +
+
+
+
+
+
+ Software Consulting +
+
+
+

With more than 12 years of experience in technology consultancy and keeping in continuous expansion, Edosoft Factory is a member of the Canarias Cluster of Technology Excellence, Software Consulting and Google Cloud Partner in the Canary Islands. +

Our company provides, on the one hand, Consulting Services and Specialized Google training, and on the other hand, Outsourcing activities on both Onsite and Outsourcing models, thanks to the efficiency achieved with proximity to customers and schedules synchronization. +

+
+
+
+
+ +
+
+
+
+
+
+
Google Cloud Partner in the Canary Islands
+
+ Google Cloud Partner +
+
+

As Google Cloud Partner in the Canary Islands, Edosoft Factory is the best travel companion to take your customers to the next level through Digital Transformation processes, planned through advisory and assistance services tailored to each project. Edosoft Factory is oriented to the improvement of company processes, adding value and reducing costs. +
+
+

+
+
+
+
+
+
+
+
+
We bring value to each project
+
+ +

Specialization, innovation and teamwork act as the basis of our corporate culture focused on technological excellence, which understands the success of the client as its own and brings value to its projects. Continued work, collaboration and Google’s tools for the company, such as G Suite and Google Cloud Platform, will lead our clients to success.

+ +

For Edosoft Factory the most important element is the customer, so one of our highlighted objectives is to humanize the technology to bring it closer to its users through specialized Google training and continued support guided by Google certified technicians. +

+

+ The entire company is focused on providing value to the customer through Agile Methodology scaled at all levels to improve the company's processes. +

+
+
+ + +
+
+
+ +
+
+
+
+ +
+
+
+
Know our methodology
+
+

Agile Methodology is based on a set of activities designed to support both the active evolution of design and architecture of a software system and the improvement of the company's processes. It guides our organization towards the client in each and every one of its departments and increases our efficiency ratio, thus reducing our customers’ costs.

+ +

The rest of the pillars are complemented by the Agile Methodology to increase the quality of processes on our organization through integration, automation and constant updating of data, development in cadence, delivery on demand and transparency. Thus, Edosoft Factory can focus on its customers and provide them with a clear vision of the whole process, from the definition of requirements to the marketing stage. +

+ +
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+ + + diff --git a/src/app/home/news.tpl.html b/src/app/home/news.tpl.html new file mode 100755 index 0000000..df25472 --- /dev/null +++ b/src/app/home/news.tpl.html @@ -0,0 +1,15 @@ + diff --git a/src/app/home/saco_en.tpl.html b/src/app/home/saco_en.tpl.html new file mode 100644 index 0000000..438e6c3 --- /dev/null +++ b/src/app/home/saco_en.tpl.html @@ -0,0 +1,953 @@ + + + + +
+
+
+
+
+ +
+
+
+
+ +
+ + + +
+
+
+

Edosoft Factory

+
+
+
+ + +
+
+
+
+
Software Consulting
+
+
+

With more than 12 years of experience in technology consultancy and keeping in continuous expansion, Edosoft Factory is a member of the Canarias Cluster of Technology Excellence, Software Consulting and Google Cloud Partner in the Canary Islands. + +

Our company provides, on the one hand, Consulting Services and Specialized Google training, and on the other hand, Outsourcing activities on both Onsite and Outsourcing models, thanks to the efficiency achieved with proximity to customers and schedules synchronization. +

+
+
+ +
+
+
+
+
+
+
Google Cloud Partner in the Canary Islands
+
+ Google Cloud Partner +
+
+

As Google Cloud Partner in the Canary Islands, Edosoft Factory is the best travel companion to take your customers to the next level through Digital Transformation processes, planned through advisory and assistance services tailored to each project. Edosoft Factory is oriented to the improvement of company processes, adding value and reducing costs. +
+
+

+
+
+
+
+
We bring value to each project
+ +

Specialization, innovation and teamwork act as the basis of our corporate culture focused on technological excellence, which understands the success of the client as its own and brings value to its projects. Continued work, collaboration and Google’s tools for the company, such as G Suite and Google Cloud Platform, will lead our clients to success.

+ +

For Edosoft Factory the most important element is the customer, so one of our highlighted objectives is to humanize the technology to bring it closer to its users through specialized Google training and continued support guided by Google certified technicians. +

+

+ The entire company is focused on providing value to the customer through Agile Methodology scaled at all levels to improve the company's processes. +

+
+
+
+
+
+
+
+
+
Know our methodology
+

Agile Methodology is based on a set of activities designed to support both the active evolution of design and architecture of a software system and the improvement of the company's processes. It guides our organization towards the client in each and every one of its departments and increases our efficiency ratio, thus reducing our customers’ costs.

+ +

The rest of the pillars are complemented by the Agile Methodology to increase the quality of processes on our organization through integration, automation and constant updating of data, development in cadence, delivery on demand and transparency. Thus, Edosoft Factory can focus on its customers and provide them with a clear vision of the whole process, from the definition of requirements to the marketing stage. + +

+ +
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+

Services

+ +
+
+
+ + + +
+
+
+
+ G Suite +
+
+
+
+

Migrating to G Suite already implies an increase in the productivity of the company, but with the continuous advice of Edosoft Factory, your company will be able to achieve technological excellence at a greater speed. Edosoft Factory takes care of the entire process with its clients, working from implementation to data migration and support; all of this using Google technology in innovative ways to bring value to their customers. +

+
    +
  • Planning and Accompaniment in the Management of Change.
  • +
  • Complete configuration of the solution, including integration with existing systems.
  • +
+
+
+
+
    +
  • Specific plans for friction points reduction with third party systems.
  • +
  • Specific Google training according to the needs of the client.
  • +
  • KPI generation and continuous monitoring to provide proactive advice..
  • +
  • Experts in compliance with regulations (ENS, ENI, LOPD).
  • +
  • Advice on digital transformation both in terms of people and tools.
  • +
+
+
+ + +
+ +
+
+
+
Connect
+ G Suite icons + +
+

+ From a single interface you will have communication by mail, text chats, voice calls or video calls in HD. Share the screen and manage the resources of your company. +

+
+ +
+ +
+
+ +
+
Collaborate
+ G Suite icons + +
+

Create and edit text documents from any device with built-in version control. Compatible with most extended formats. +
+

+
+ +
+ +
+
+ + +
Access
+ G Suite icons + +
+

+ Unlimited space with G Suite Business without maintenance of hardware. More than 500 of the best security experts working for your company. +

+
+ +
+ +
+
+
Manage
+ G Suite icons + +
+

+ With G Suite Business you will have over 200 security and configuration policies to eliminate Work to your IT department. Retention and archive up to 100 years with Google Vault. +

+
+ +
+ +
+ +
+ +
+
+ G Mail icon +
+
+
+
+ Hangout icon +
+
+
+
+ Calendar icon +
+
+
+
+ Google+ icon +
+
+
+
+ Doc icon +
+
+
+
+ Spread Sheet icon +
+
+
+
+ Form icon +
+
+
+
+ Slide icon +
+
+
+
+ Site icon +
+
+
+
+ Drive icon +
+
+
+
+ Admin icon +
+
+
+
+ Keep icon +
+
+
+
+
+
Gmail
+

Communication is not just in the mail: the chat and the video have arrived at the company. Business email for your domain, with all the features centralized in your inbox. You can work wherever you want, with the device you prefer and without losing effectiveness. 99.9% guaranteed uptime and 0% planned downtime.

+
+
+ G Mail G Suite +
+
+
+
Hangouts
+

High definition videoconferencing with all your equipment, with integrated screen sharing, anywhere, and very simple to use. Communicate by video in the same way as in person: the screen automatically shows the person speaking at all times and the sound is silently muted to avoid noise. No matter where your client is, you will feel that you have it in front of you.

+
+
+ Hangout G Suite +
+
+
+
Calendar
+

Intelligent scheduling of meetings and management of multiple calendars under a single view for more effective work. Calendar is responsible for "finding a niche" for you so you do not have to consult multiple calendars independently. Share your calendars so people see the full details of an event or just let them know if it's available.

+
+
+ Calendar G Suite +
+
+
+
Google +
+

Capture the interest of your entire team by sharing experiences to break down barriers and generate new ideas from anywhere. Regardless of your team, levels or locations, your business ideas will be part of a united community through posts and comments on Google+. The same goals and illusions shared by an entire team paddling in the same direction, even if they are in opposite directions.

+
+
+ Google+ G Suite +
+
+
+
Docs
+

With your own colleague or outsiders, instantly visualize changes introduced by others or access unlimited review history. Earlier versions are saved indefinitely and do not consume storage space. You can also import your documents to edit them instantly and export your work to the format you need, without additional software installations.

+
+
+ Doc G Suite +
+
+
+
Sheets
+

From the simplest formulas to powerful functions and complex graphics that will allow you to generate reports of dynamic tables and add filters, among other operations. Professional work of any spreadsheet accessible both from your computer in the office and from your mobile and even offline.

+
+
+ Sheet G Suite +
+
+
+
Forms
+

The whole life cycle of your research summarized in a single application and without any additional charge. Creating a form is as easy and fast as working on a document and will allow you to create professional-level surveys. Drag and drop only to organize questions, with access to all answers and analysis of results in spreadsheets and in real time

+
+
+ Form G Suite +
+
+
+
Slides
+

The presentations in the safest format, without unforeseen changes and with online and offline access. The slides are easy to create either from a template or by customizing the design from scratch. Secure the visual communication of your company in a few steps, at a professional level.

+
+
+ Slide G Suite +
+
+
+
Sites
+

All your team can access the web of your own department or project, and it will be a professional website. It is the easiest way to create a site, with direct access to all its contents in drive, documents or even the calendar. Take advantage of specially created themes so that your content stands out with an optimized appearance automatically on all devices.

+
+
+ Sites G Suite +
+
+
+
Drive
+

All the storage you need, with your files synchronized automatically and without additional software. All your work will be in a safe place by storing files online to access it when you need it and from where you need it. 30Gb, 1Tb or unlimited storage and synchronized with the linked folder on your computer, any local changes will be synchronized in Drive automatically and vice versa.

+
+
+ Drive G Suite +
+
+
+
Admin
+

Attendance and reliability every day for 24 hours, with the highest security and control applied to mobile devices as well. Centralized management allows quick and easy configuration and management, with the ability to add and remove users, configure groups and add various security options. And with the management of mobile devices you can distribute applications, manage security settings or even delete devices remotely.

+
+
+ Admin G Suite +
+
+
+
Vault
+

File both email and chat and searches with Google technology to find content quickly. You decide how long email messages and registered chats will be kept, specifying policies tailored to your needs. You will never lose valuable information again, you can recover it even from closed accounts to avoid data loss due to staff turnover.

+
+
+ Vault G Suite +
+
+
+ + + +
+ +
+
+ Chrome +
+
+
+
+

The Chrome family of products is defined by its speed, security and reliability, but Edosoft Factory goes a step further to adapt these products to the needs of each company and raise their productivity to 100% through the complete management of Digital Channels:

+
    +
  • Generation, planning, design and start-up of contents with displays for all formats and dimensions.
  • +
  • Commercial exploitation of the channel, KPI definition and monitoring through reporting.
  • +
  • Service points such as connected unassisted POSs or information points such as Wayfinder.
  • +
  • Complete virtualization of the job post.
  • +
  • Development of custom software on Chrome OS infrastructure.
  • +
+
+
+
+
+
+
+
+
+ Google Cloud Platform +
+
+
+
+


Everything you need to create and scale applications with the help of Edosoft Factory. With innovation as our philosophy, the changes are noticeable from the outset, both in price and usability: +

+
    +
  • Proactive consulting for model optimization and specific consulting to optimize systems demanding in processing (rendering, calculation ...) +
  • +
  • Migration Plan development to public, multi-cloud and hybrid models. +
  • +
  • Definition of security, performance and cost-based strategies. +
  • +
  • Integration on work teams through our own development teams. +
  • +
  • System Audits for Total Cost of Ownership calculation.
  • +
+
+
+
+
+ Google Cloud Platform +
+
+
+
+
+
+

Edolab

+
+
+
+ Edolab +
+
+

Edosoft Factory has Research and Development as a basic pillar, keeping the knowledge of the company always updated through different procedures: +

+
    +
  • High Performance Requirement Systems and Complex Architectures, Critical Systems with high transaction rates on Real Time and where a great variety of components from different manufacturers are integrated.
  • +
    +
  • Restrictred Resources Systems, Embedded Systems with limited memory and processing resources where energy consumption must be reduced.
  • +
    +
  • Internet of Things (IoT). In recent years, Edosoft Factory has specialized in the interconnection of domestic systems and network interoperability between different products.
  • +
+
+
+
+
+
+ + Sello Pyme Innovadora 2018 + +
+ +
+
+
+
+
+

Edoconsulting

+
+
+ Edoconsulting +
    +
  • Expert Web Consulting covering all project/service life cycle until its deployment and promoting actions.
  • +
  • Advice in Electronic Commerce. E-commerce services are becoming increasingly important in all types of companies, so it is important to properly implement the required changes in all phases of the project. +
  • +
  • Safety and Quality software. Edosoft Factory offers more than 10 years of experience in Quality Assurance (QA) to ensure quality in the client’s software.
  • +
+
+
+
+
+

Edodev

+
+
+ Edodev +

OnSite/Nearshore software factory services. Edosoft Factory adapts workstations to schedule, environment and client work procedures, reducing risks in task delegation by customers: +

+
    +
  • We work with the contract conditions that best meet the requirement our clients need: Fixed Price, Time and Materials, Cost Plus Fixed Fee, Cost Plus Percentage of cost, Cost Plus Incentive Fee, Fixed price Incentive Fee.
  • +
  • Strict security and privacy policies.
  • +
  • Agile Methodology scaled to the whole company to ensure the value our customers obtain in every development hour.
  • +
+
+
+
+
+
+ + +
+ s +
+
+
+ +
+
+
+

Blog

+ +
+
+
+
+
+
+
+
+

+ +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+

Who we are

+ +
+
+
+ + +
+
+
+
+

We work in continuous collaboration to grow as professionals and to bring value to our clients through our acquired experience. Because it is never a bad time to learn and we are always willing to ask and answer.

+
+
+
It does not matter which department you belong to, but the team you build. +
+
+
+
+
+
+ Juan Vera +
Juan Vera
+

Executive Manager

+
+
+
+
+ Aitor Carrera +
Aitor Carrera
+

CTO

+
+
+
+
+ Isabel Caballero +
Isabel Caballero
+

R&D Manager

+
+
+
+
+ Equipo Efrén Pérez +
Efrén Pérez
+

DevOps

+
+
+
+
+
+
+ Laura Ojeda +
Laura Ojeda
+

Marketing & Social Media

+
+
+
+
+ Roberto González +
Roberto González
+

Full Stack Developer

+
+
+
+
+ Cristinaz Millares +
Cristina Millares
+

Graphic Designer

+
+
+ +
+
+ Natanael Armas +
Natanael Armas
+

Senior System Tester

+
+
+
+
+
+
+ David Verdú +
David Verdú
+

Full Stack Developer

+
+
+
+
+ Eva Cárdenes +
Eva Cárdenes
+

Marketing & Social Media

+
+
+
+
+ Swan Rodríguez +
Swan Rodríguez
+

Full Stack Developer

+
+
+
+
+ Pooja Gangwani +
Pooja Gangwani
+

Key Account Manager

+
+
+
+
+
+
+ Christopher Pérez +
Christopher Pérez
+

DevOps

+
+
+
+
+ Raúl Vega +
Raúl Vega
+

Senior System Tester

+
+
+ +
+
+ Raúl Almeida +
Raul Almeida
+

DevOps

+
+
+
+
+ Eduardo Quesada +
Eduardo Quesada
+

Full Stack Developer

+
+
+
+
+
+
+ Adrián Villares +
Adrián Martínez
+

Full Stack Developer

+
+
+
+
+ Carlos David +
Carlos David
+

Full Stack Developer

+
+
+ +
+
+ Deriman Franco +
Deriman Franco
+

R&D Developer

+
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+

Contact

+ +
+
+
+ + + diff --git a/src/app/home/saco_es.tpl.html b/src/app/home/saco_es.tpl.html new file mode 100644 index 0000000..b44abd8 --- /dev/null +++ b/src/app/home/saco_es.tpl.html @@ -0,0 +1,1019 @@ + + + + +
+
+
+
+
+ +
+
+
+
+
+
+ + +
+
+
+
+
+ Google Cloud Partner +
+
+
+
+ + +
+
+
+
+
+
+
+ Consultoría de Software +
+
+
+

Con más de 12 años de experiencia en asesoría tecnológica y manteniéndose en continua expansión, Edosoft Factory es integrante del Clúster Canarias de Excelencia tecnológica, Consultoría de Software y Google Cloud Partner en las Islas Canarias.

+

Así, presta tanto servicios de Consultoría Tecnológica y Formación especializada de Google como actividades de Outsourcing en modelos Onsite y Nearshore gracias a la eficiencia que se logra con la proximidad a los clientes y la adaptación a los horarios de los mismos. +

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Google Cloud Partner en Canarias
+
+ Google Cloud Partner +
+

Como Google Cloud Partner en Canarias, Edosoft Factory es el compañero de viaje ideal para llevar a sus clientes al siguiente nivel mediante procesos de Transformación Digital, planificada a través de servicios de asesoramiento y asistencia adaptados a cada proyecto. Edosoft Factory está orientada a la mejora de los procesos de la empresa, aportando valor y reduciendo costes. +
+
+

+
+
+ +
+
+
+ +
+
+ +
+
+
Aportamos valor con cada proyecto
+
+

La especialización, la innovación y el trabajo en equipo actúan como base de una cultura empresarial centralizada en la excelencia tecnológica, que entiende los éxitos del cliente como propios y aporta valor a sus proyectos, mediante el trabajo continuado, la colaboración y herramientas de Google para la empresa como G Suite y Google Cloud Platform.

+ +

Para Edosoft Factory lo más importante es el cliente, por lo que entre sus objetivos destaca humanizar la tecnología para acercarla a sus usuarios mediante formación especializada de Google y soporte continuado de la mano de técnicos certificados por Google, entre otros. +

+

+ Toda la empresa está enfocada a proporcionar valor al cliente a través de la Metodología Ágil escalada en todos los niveles para mejorar los procesos de la empresa. +

+
+
+ + +
+
+
+
+
+
+
+
+ +
+
+
+
+
Conoce nuestra metodología
+
+

La Metodología Ágil es un conjunto de actividades diseñadas para dar soporte tanto a la evolución activa del diseño y arquitectura de un sistema software como a la mejora de los procesos de la empresa. Orienta a nuestra organización hacia el cliente en todos y cada uno de sus departamentos y aumenta nuestro ratio de eficiencia, por lo que reduce los costes de nuestros clientes.

+ +

El resto de pilares se complementan con la Metodología Ágil para incrementar la calidad de los procesos mediante integración, automatización y actualización constante de datos, desarrollo en cadencia, entrega a demanda y transparencia. Así, Edosoft Factory puede centrarse en sus clientes y proporcionarles una visión clara de todo el proceso, desde la definición de requisitos hasta la comercialización. +

+ +
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+
+

Qué hacemos

+ +
+
+
+ + + +
+
+
+ G Suite +
+
+ +
+
+
+
+
+
+
+
+
+

Migrar a G Suite ya supone un incremento de la productividad de la empresa, pero con el asesoramiento continuo de Edosoft Factory, compañías como la suya podrán alcanzar la excelencia tecnológica a mayor velocidad. Edosoft Factory se encarga de todo el proceso junto a sus clientes, trabajando desde la implantación a la migración de datos y el soporte y utilizando la tecnología de Google de formas innovadoras para aportar valor a sus clientes.

+
+
+
+
+
+
+
+
+
+ + +
+ +
+
+
+
Comunica
+ G Suite icons + +
+

+ Desde una sola interfaz tendrá comunicación por correo, chats de texto, llamadas de voz o videollamadas en HD. Comparta la pantalla y gestione los recursos de su empresa. +

+
+ +
+ +
+
+
+
Colabora
+ G Suite icons + +
+

+ Cree y edite documentos de texto desde cualquier dispositivo con control de versiones integrado. Compatible con los formatos más extendidos.
+

+
+ +
+ +
+
+
Almacena
+ G Suite icons + +
+

+ Espacio ilimitado con G Suite Business sin mantenimiento de hardware. Más de 500 de los mejores expertos de seguridad trabajando para su empresa. +
+

+
+ +
+ +
+
+
Gestiona
+ G Suite icons + +
+

+ Con G Suite Business tendrá más de 200 políticas de seguridad y configuración para eliminar carga de trabajo a su departamento de IT. Retención y archivo hasta 100 años con Google Vault. +

+
+ +
+ +
+
+
+
+ G Mail icon +
+
+
+
+ Hangout icon +
+
+
+
+ Calendar icon +
+
+
+
+ Google+ icon +
+
+
+
+ Doc icon +
+
+
+
+ Spread Sheet icon +
+
+
+
+ Form icon +
+
+
+
+ Slide icon +
+
+
+
+ Site icon +
+
+
+
+ Drive icon +
+
+
+
+ Admin icon +
+
+
+
+ Keep icon +
+
+
+
+
+
+
Gmail
+

La comunicación no es solo por correo: el chat y el vídeo han llegado a la empresa. Correo electrónico empresarial para su dominio, con todas las funciones centralizadas en su bandeja de entrada. Puede trabajar donde quiera, con el dispositivo que prefiera y sin perder efectividad. 99.9% de tiempo de actividad garantizado y 0% de tiempo de inactividad planificado.

+
+
+ G Mail G Suite +
+
+
+
+
Hangouts
+

Videoconferencias en alta definición con todo su equipo, con función integrada de pantalla compartida, en cualquier lugar y de uso muy sencillo. Comuníquese por vídeo de la misma forma que en persona: la pantalla muestra automáticamente a la persona que esté hablando en cada momento y el sonido se silencia de forma inteligente para evitar ruidos. Da igual dónde esté su cliente, sentirá que lo tiene delante.

+
+
+ Hangout G Suite +
+
+
+
+
Calendar
+

Programación inteligente de reuniones y administración de varios calendarios bajo una única vista para un trabajo más eficaz. Calendar se encarga de “encontrar un hueco” por usted para que no tenga que consultar varios calendarios de forma independiente. Comparta sus calendarios para que las personas vean los detalles completos de un evento o simplemente para que sepan si está disponible.

+
+
+ Calendar G Suite +
+
+
+
+
Google +
+

Captación del interés de todo su equipo de trabajo compartiendo experiencias para derribar barreras y generar ideas nuevas desde cualquier lugar. Independientemente de sus equipos, niveles o ubicaciones, las ideas de su empresa formarán parte de una comunidad unida a través de publicaciones y comentarios en Google+. Las mismas metas e ilusiones compartidas por todo un equipo remando en la misma dirección, aunque se encuentren en direcciones opuestas.

+
+
+ Google+ G Suite +
+
+
+
+
Docs
+

Con sus propios compañeros o con personas ajenas a su empresa, visualice instantáneamente los cambios que introducen los demás o acceda al historial de revisión ilimitado. Las versiones anteriores se guardan indefinidamente y no consumen espacio de almacenamiento. Además puede importar sus documentos para editarlos al instante y exportar su trabajo al formato que necesite, sin instalaciones de software adicional.

+
+
+ Doc G Suite +
+
+
+
+
Sheets
+

Desde las más sencillas fórmulas hasta potentes funciones y gráficos complejos que le permitirán generar informes de tablas dinámicas y agregar filtros, entre otras operaciones. Trabajo profesional propio de cualquier hoja de cálculo accesible tanto desde su ordenador en la oficina como desde su móvil e incluso sin conexión.

+
+
+ Sheet G Suite +
+
+
+
+
Forms
+

Todo el ciclo de vida de su investigación resumido en una sola aplicación y sin ningún cargo adicional. Crear un formulario es tan fácil y rápido como trabajar sobre un documento y le permitirá crear encuestas a nivel profesional. Solo arrastrar y soltar para organizar las preguntas, con acceso a todas las respuestas y los análisis de resultados en spreadsheets y en tiempo real.

+
+
+ Form G Suite +
+
+
+
+
Slides
+

Las presentaciones en el formato más seguro, sin cambios imprevistos y con acceso online y offline. Las diapositivas son fáciles de crear bien a partir de una plantilla o bien personalizando el diseño desde cero. Afiance la comunicación visual de su empresa en unos pocos pasos, a nivel profesional. +

+
+
+ Slide G Suite +
+
+
+
+
Sites
+

Todo su equipo puede tener acceso a la web de su propio departamento o proyecto, y será una web profesional. Es la forma más sencilla de crear un sitio, con acceso directo a todo su contenido en drive, documentos o incluso el calendario. Aproveche los temas creados especialmente para que su contenido destaque con un aspecto optimizado automáticamente en todos los dispositivos.

+
+
+ Sites G Suite +
+
+
+
+
Drive
+

Todo el almacenamiento que necesite, con sus archivos sincronizados automáticamente y sin software adicional. Todo su trabajo estará en un lugar seguro mediante el almacenamiento de archivos en línea para que acceda a él cuando lo necesite y desde dónde lo necesite. 30Gb, 1Tb o almacenamiento ilimitado y sincronizado con la carpeta enlazada en su ordenador, cualquier cambio local se sincronizará en Drive automáticamente y viceversa.

+
+
+ Drive G Suite +
+
+
+
+
Admin
+

Asistencia y confiabilidad todos los días durante las 24 horas, con la mayor seguridad y control aplicada también a dispositivos móviles. La administración centralizada le permite una configuración y una gestión rápidas y fáciles, con la posibilidad de agregar y quitar usuarios, configurar grupos y agregar diversas opciones de seguridad. Y con la administración de dispositivos móviles puede distribuir aplicaciones, administrar la configuración de seguridad o incluso borrar los dispositivos de forma remota.

+
+
+ Admin G Suite +
+
+
+
+
Vault
+

Archivo tanto de correo electrónico como de chat y búsquedas con la tecnología de Google para encontrar contenido rápidamente. Usted decide durante cuánto tiempo se conservarán los mensajes de correo electrónico y los chats registrados, especificando políticas adaptadas a sus necesidades. Nunca volverá a perder información valiosa, puede recuperarla incluso de cuentas cerradas para evitar la pérdida de datos debido a la rotación de personal.

+
+
+ Vault G Suite +
+
+
+ +
+ +
+
+ + +
+
+
+ Chrome +
+
+
+
+
+
+
+
+
+
+

La familia de productos Chrome se caracteriza por la velocidad, la seguridad y la fiabilidad; pero Edosoft Factory da un paso más allá para adaptar estos productos a las necesidades de cada empresa y hacerlos 100% productivos mediante la gestión completa de Canales Digitales:

+
    +
  • Generación, planificación, diseño y puesta en marcha de contenidos con displays de todos los formatos y dimensiones.
  • +
  • Explotación comercial del canal, definición de KPIs y seguimiento a través de reporting.
  • +
  • Puntos de Servicio tales como TPV conectados para puntos de venta desasistidos o puntos de información tales como Wayfinder.
  • +
  • Virtualización completa del puesto de trabajo.
  • +
  • Desarrollo de software a medida sobre infraestructura ChromeOS.
  • + +
+
+
+
+
+
+
+
+
+
+
+
+ Chromebook +
Chromebook
+

El ordenador que necesitas para trabajar en la nube: Chromebook Ordenadores de uso sencillo, de funcionamiento más rápido a la larga y construidos para ser seguros.

+
+
+ Chromebit +
Chromebit
+

Se trata de un pequeño dispositivo portable que te permite usar Chrome OS en cualquier pantalla o dispositivo de cartelería digital con puerto usb.

+
+
+ Chromebox +
Chromebox
+

Adáptate a diferentes tareas con la misma herramienta: Chromebox Todas las ventajas de Chrome OS en un dispositivo compacto y fácil de adaptar a diferentes ámbitos.

+
+
+ Chromebase +
Chromebase
+

Trabaja sin periféricos y adáptate a cualquier situación: Chromebase Todos los componentes de un sistema completo concentrados en un único dispositivo con pantalla táctil para darte el all-in- one definitivo.

+
+
+
+ +
+
+ +
+
Crea una sala de reuniones a tu medida: Hardware kit para Hangouts Meet
+

Usa los dispositivos de Chrome para reuniones y crea tu sala de reuniones en cualquier habitación. Tendrás videoconferencia de alta definición disponible tanto para espacios personales como para salas de conferencia de hasta 20 personas.

+
+
+ Kit Meetings +
+
+
+ + +
+
+
+ Google Cloud Platform +
+
+
+
+
+
+
+
+
+
+


Todo lo que necesitas para crear y escalar aplicaciones de la mano de Edosoft Factory. Con la innovación como filosofía base, los cambios se notan desde el primer momento, tanto en precio como en usabilidad: +

+
    +
  • Consultoría pro-activa para la optimización de modelos y específica para optimizar sistemas exigentes en procesado (rendering, cálculo…) +
  • +
  • Desarrollo de Planes de Migración a nubes públicas, multi-cloud y modelos híbridos. +
  • +
  • Definición de estrategias basadas en seguridad, rendimiento y optimización de costes. +
  • +
  • Integración en los equipos de trabajo a través de nuestros equipos de desarrollo. +
  • +
  • Auditorías de Sistemas para el cálculo del Total Cost of Ownership.
  • +
+
+
+
+
+
+
+
+
+
+
+
+ Machine Learning +
Machine Learning
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+
+
+ Big Data +
Big Data
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+
+
+
+
+
+
+ Arquitectura Escalable +
Arquitectura escalable
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+
+
+ Serverless NoOps +
Arquitectura serverless NoOps
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+
+
+
+ + + + + +
+
+
+

Edolab

+
+
+
+

Edosoft Factory tiene como pilar básico la Investigación y Desarrollo, manteniendo el conocimiento de la empresa siempre actualizado a través de diferentes procedimientos: +

+
    +
  • Sistemas con Requisitos de Altas Prestaciones y Arquitecturas Complejas. Sistemas críticos con elevadas tasas de transacciones en Tiempo Real y donde suelen intervenir gran cantidad de componentes de distintos fabricantes.
  • +
    +
  • Sistemas con Recursos Restringidos. Sistemas Embebidos con grandes limitaciones de memoria y recursos de procesamiento, donde los consumos energéticos han de ser limitados.
  • +
    +
  • Internet de las Cosas (IoT En sus siglas en inglés). En los últimos años Edosoft Factory se ha especializado en la interconexión de los sistemas domésticos y la interoperabilidad entre diferentes productos a través de las redes de la información.
  • +
+
+
+
+
+
+ + Sello Pyme Innovadora 2018 + +
+ +
+
+
+
+
+

Edoconsulting

+
+
+
    +
  • Asesoramiento Web Especializado. Edosoft Factory asesora a sus clientes en todo el ciclo de vida de sus proyectos o servicios hasta su despliegue.
  • +
  • Asesoría en Comercio Electrónico. Los servicios e-commerce cobran cada vez mayor importancia en todo tipo de empresas, por lo que es importante implementar correctamente los cambios en todas las fases del proyecto. +
  • +
  • Seguridad y calidad de software. Edosoft Factory ofrece sus más de 10 años de experiencia en Aseguramiento de la calidad, (QA en sus siglas en inglés) para garantizar la calidad del software del cliente.
  • +
+
+
+
+
+

Edodev

+
+
+

Servicios de factoría software OnSite/Nearshore. Edosoft Factory adapta los equipos de trabajo al horario, entornos y procedimientos de trabajo del cliente, limitando el riesgo en la delegación de tareas por parte del cliente: +

+
    +
  • Contratos adaptados a las necesidades del cliente: Fixed Price, Time and Materials, Cost Plus Fixed Fee, Cost Plus Percentage of cost, Cost Plus Incentive Fee, Fixed price Incentive Fee.
  • +
  • Estrictas políticas de seguridad y privacidad.
  • +
  • Metodología Ágil escalada a nivel de empresa para garantizar el valor a nuestros clientes.
  • +
+
+
+
+
+
+ + + + +
+
+
+ +
+
+
+

Blog

+ +
+
+
+
+
+
+
+
+

+ +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+

Quiénes somos

+ +
+
+
+ + +
+
+
+
+
+

En Edosoft Factory trabajamos en continua colaboración para crecer como profesionales y aportar valor a nuestros clientes a través de la experiencia adquirida. Porque nunca es mal momento para aprender y siempre estamos dispuestos a preguntar y a responder.

+
+
+
+
+
+
+
No importa el departamento al que pertenezcas, sino el equipo que construyes +
+ +
+
+
+
+ + +
+ +
+
+
+ Juan Vera +
+
Juan Vera
+
+

Executive Manager

+
+
+
+
+
+ Aitor Carrera +
Aitor Carrera
+

CTO

+
+
+
+
+ Isabel Caballero +
Isabel Caballero
+

R&D Manager

+
+
+
+
+ Equipo Efrén Pérez +
Efrén Pérez
+

DevOps

+
+
+
+
+
+
+ Laura Ojeda +
Laura Ojeda
+

Marketing & Social Media

+
+
+ +
+
+ Roberto González +
Roberto González
+

Full Stack Developer

+
+
+
+
+ Cristinaz Millares +
Cristina Millares
+

Graphic Designer

+
+
+ +
+
+ Natanael Armas +
Natanael Armas
+

Senior System Tester

+
+
+
+
+
+
+ David Verdú +
David Verdú
+

Full Stack Developer

+
+
+
+
+ Eva Cárdenes +
Eva Cárdenes
+

Marketing & Social Media

+
+
+
+
+ Swan Rodríguez +
Swan Rodríguez
+

Full Stack Developer

+
+
+
+
+ Pooja Gangwani +
Pooja Gangwani
+

Key Account Manager

+
+
+
+
+
+
+ Christopher Pérez +
Christopher Pérez
+

DevOps

+
+
+
+
+ Raúl Vega +
Raúl Vega
+

Senior System Tester

+
+
+ +
+
+ Raúl Almeida +
Raul Almeida
+

DevOps

+
+
+
+
+ Eduardo Quesada +
Eduardo Quesada
+

Full Stack Developer

+
+
+
+
+
+
+ Adrián Villares +
Adrián Martínez
+

Full Stack Developer

+
+
+
+
+ Carlos David +
Carlos David
+

Full Stack Developer

+
+
+ +
+
+ Deriman Franco +
Deriman Franco
+

R&D Developer

+
+
+ +
+
+ + +
+
+
+
+
+ +
+
+
+

Contacto

+ +
+
+
+ +
+ diff --git a/src/app/info/info_en.tpl.html b/src/app/info/info_en.tpl.html new file mode 100755 index 0000000..75dfd2b --- /dev/null +++ b/src/app/info/info_en.tpl.html @@ -0,0 +1,120 @@ + + +

+ LEGAL TEXT +

+ +

+ 1. Company details +

+ +

+ In compliance with article 10 of Law 34/2002, of July 11, Services Information Society and Electronic Commerce, below the identifying data of the company are exposed. +

+ +

+ Name: Edosoft Factory +

+ +

+ Company Name: Edosoft Factory S.L. +

+ +

+ Cif: B-35867472, en el registro mercantil de Las Palmas in Tomo 1768, Libro 0, Folio 88, Hoja GC-35320, Incrip.:1. +

+ +

+ Address: Las Palmas de G.C. ; Calle Antonio María Manrique, 3, Piso 2, Oficina 4 y 6. C.P.:(35011). España +

+ +

+ Phone: +34 828 021 575 +

+ +

+ Email address: info@edosoft.es +

+ +

+ Name of the web or domain hosting it: "www.edosoft.es", hereinafter “the web”. +

+ +

+ 2. Intellectual Property +

+ +

+ The source, graphics, images, photographs, sounds, animations, software, texts, as well as the information and contents included in the web code are protected by Spanish legislation on property rights intellectual in favor of corporate name of the company and the reproduction and / or publication of all or part of the website or its processing, distribution, dissemination, modification, transformation or decompilation is not allowed, or legally recognized rights of the owner, without the prior written consent of the same. +

+ +

+ The user only and exclusively use the material on this website for your personal and private use, being prohibited its use for commercial purposes or in illegal activities. All rights derived from intellectual property are expressly reserved for the web. +

+ +

+ The website will ensure compliance with the above conditions and the correct use of the contents presented in its website, exercising all civil and criminal actions that correspond in case of infringement or violation of these rights by the user. +

+ +

+ 3. Protection of personal data +

+ +

+ As part of compliance with current legislation included in Organic Law 15/1999, of December 13, Protection of Personal Data (Act), which aims to guarantee and protect, regarding the treatment of personal data, freedoms and fundamental rights of individuals, and especially their honor and personal privacy, the site informs users that: the web has taken technical and organizational measures as provided in current regulations. +

+ +

+ The Personal Data which includes the web are automatically processed and are not incorporated into any file, and its only use the order by the customer in the case of contact form or request information. +

+

+ 4. Miscellaneous +

+ +

+ A. The site uses cookies that are stored on your computer. Cookies are small files that our computer sends to yours, but do not give us any information regarding their name or any other personal data. The cookies we use can not read data off your computer or read existing cookies on your computer. +

+ +

+ When the user surfs the web pages of the server where it is hosted automatically recognizes the IP address of your computer, the date and time at which the visit, which leaves the visit, as well as information begins the different sections. It is necessary that the server knows this information to communicate and send the request and that through the browser can be viewed on the screen. +

+ +

+ If you wish, you can set your browser to notify you on screen if you receive a cookie. The user can configure your computer not to receive these cookies, this does not prevent you from accessing the information on the website of the company. +

+ +

+ B. The web may change without prior notice, the information contained in its website, as well as its settings and presentation. +

+ +

+ C. The web is committed through this means not to make misleading. To this end, therefore, they will not be considered false advertising formal or numeric errors which may be found throughout the content of the various sections of the website, produced as a result of maintenance and / or incomplete or faulty update information contained in these sections. the web, as a result of the provisions of this paragraph, undertakes to correct as soon as it becomes aware of such errors. +

+ +

+ D. The web is committed NOT TO SEND COMMERCIAL COMMUNICATIONS WITHOUT IDENTIFYING THEM AS SUCH, as provided in Law 34/2002 on Information Society and Electronic Commerce. For this purpose it will be considered as advertising information sent TO THE CLIENTS of the web that correspondence, provided its object is to maintain the existing contractual relationship between client and company name as well as carrying out the tasks of information , training and other activities of the service that the customer has contracted with the company. +

+ +

+ E. The site is not responsible for the breach of any applicable rule that may be incurred by user while accessing the website of the company and / or use of the information contained therein. +

+ +

+ F. The web is not liable for damages caused or likely to occur, whatever their nature, derived from the use of information, the matters contained in this web site and the programs included. The links (links) and hypertext, which, through the company website, allow the user to access features and services offered by third parties not owned or controlled by company name; the company is not responsible or the information contained therein or any effects that might result from such information. +

+ +

+ G. The web is not responsible for the illegitimate use that third parties may make of the brand names, product names, trademarks, not owned by that entity, appearing on the website of the company. It is not responsible for the integrity, veracity and legality of the contents of the web links which can be accessed from the company website. +

+ +

+ H. The web is not responsible for the viruses that originate in a data transmission by third parties (eg, macros in word processors, Java applets and Active X programs), created with the aim of causing damage to a computer system. +

+ +

+ I. Users are solely responsible for the use they make of the services, contents, links (links) and hypertext included in the website. +

+ + + + \ No newline at end of file diff --git a/src/app/info/info_es.tpl.html b/src/app/info/info_es.tpl.html new file mode 100755 index 0000000..8b97011 --- /dev/null +++ b/src/app/info/info_es.tpl.html @@ -0,0 +1,119 @@ + + +

+ TEXTO LEGAL +

+ +

+ 1. Datos de la empresa +

+ +

+ En cumplimiento del artículo 10 de la Ley 34/2002, de 11 de julio, de Servicios de la Sociedad de la Información y Comercio Electrónico, a continuación se exponen los datos identificativos de la empresa. +

+ +

+ Nombre: Edosoft Factory +

+ +

+ Denominación Social: Edosoft Factory S.L. +

+ +

+ Cif: B-35867472, en el registro mercantil de Las Palmas in Tomo 1768, Libro 0, Folio 88, Hoja GC-35320, Incrip.:1. +

+ +

+ Domicilio Social: Las Palmas de G.C. ; Calle Antonio María Manrique, 3, Piso 2, Oficina 4 y 6. C.P.:(35011). España +

+ +

+ Teléfono: +34 828 021 575 +

+ +

+ Dirección de correo electrónico: info@edosoft.es +

+ +

+ Nombre de la web o dominio que la aloja: "www.edosoft.es", en adelante “la web”. +

+ +

+ 2. Propiedad Intelectual +

+ +

+ El código fuente, los diseños gráficos, las imágenes, las fotografías, los sonidos, las animaciones, el software, los textos, así como la información y los contenidos que se recogen en la web están protegidos por la legislación española sobre los derechos de propiedad intelectual e industrial a favor de denominación social de la empresa y no se permite la reproducción y/o publicación, total o parcial, del sitio web, ni su tratamiento informático, su distribución, su difusión, ni su modificación, transformación o descompilación, ni demás derechos reconocidos legalmente a su titular, sin el permiso previo y por escrito del mismo. +

+ +

+ El usuario, única y exclusivamente, puede utilizar el material que aparezca en este sitio web para su uso personal y privado, quedando prohibido su uso con fines comerciales o para incurrir en actividades ilícitas. Todos los derechos derivados de la propiedad intelectual están expresamente reservados por la web. +

+ +

+ La web velará por el cumplimiento de las anteriores condiciones como por la debida utilización de los contenidos presentados en sus páginas web, ejercitando todas las acciones civiles y penales que le correspondan en el caso de infracción o incumplimiento de estos derechos por parte del usuario. +

+ +

+ 3. Protección de datos de carácter personal +

+ +

+ En el marco del cumplimiento de la legislación vigente, recogida en la Ley Orgánica 15/1999, de 13 de diciembre, sobre protección de Datos de Carácter Personal (LOPD), cuyo objeto es garantizar y proteger, en lo que concierne al tratamiento de los datos personales, las libertades y derechos fundamentales de las personas físicas, y especialmente de su honor e intimidad personal, la web informa a los usuarios de que: la web ha adoptado las medidas técnicas y organizativas conforme a lo dispuesto en la normativa vigente. +

+ +

+ Los Datos de Carácter Personal que recoge la web son objeto de tratamiento automatizado y no se incorporan a fichero alguno, siendo su único uso el pedido por el cliente en el caso de formulario de contacto o petición de información. +

+

+ 4. Varios +

+ +

+ A. La web utiliza cookies que se quedarán almacenadas en el ordenador. Las cookies son pequeños archivos que nuestro ordenador envía al suyo, pero que no nos proporcionan información ni sobre su nombre, ni sobre cualquier dato de carácter personal suyo. Las cookies que utilizamos no pueden leer datos de su ordenador ni leer las cookies que existan en su ordenador. +

+ +

+ Cuando el usuario se encuentre navegando por las páginas de la web el servidor donde se encuentra alojada reconoce automáticamente la dirección IP de su ordenador, el día y la hora en la que comienza la visita, en la que abandona la visita, así como información sobre las distintas secciones consultadas. Es necesario que el servidor conozca estos datos para poder comunicarse y enviarle la petición realizada y que a través del navegador se pueda ver en la pantalla. +

+ +

+ Si usted lo desea puede configurar su navegador de manera que le avise en la pantalla si va a recibir una cookie. El usuario puede configurar su ordenador de manera que no reciba estas cookies, este hecho no impedirá que se pueda acceder a la información del sitio web de la empresa. +

+ +

+ B. La web podrá modificar, sin previo aviso, la información contenida en su sitio web, así como su configuración y presentación. +

+ +

+ C. La web se compromete a través de este medio a NO REALIZAR PUBLICIDAD ENGAÑOSA. A estos efectos, por lo tanto, no serán considerados como publicidad engañosa los errores formales o numéricos que puedan encontrarse a lo largo del contenido de las distintas secciones de la web, producidos como consecuencia de un mantenimiento y/o actualización incompleta o defectuosa de la información contenida es estas secciones. la web, como consecuencia de lo dispuesto en este apartado, se compromete a corregirlo tan pronto como tenga conocimiento de dichos errores. +

+ +

+ D. La web se compromete a NO REMITIR COMUNICACIONES COMERCIALES SIN IDENTIFICARLAS COMO TALES, conforme a lo dispuesto en la Ley 34/2002 de Servicios de la Sociedad de la Información y de comercio electrónico. A estos efectos no será considerado como comunicación comercial toda la información que se envíe A LOS CLIENTES de la web siempre que tenga por finalidad el mantenimiento de la relación contractual existente entre cliente y nombre de la empresa, así como el desempeño de las tareas de información, formación y otras actividades propias del servicio que el cliente tiene contratado con la empresa. +

+ +

+ E. La web no se hace responsable del incumplimiento de cualquier norma aplicable en que pueda incurrir el usuario en su acceso al sitio web de la empresa y/o en el uso de las informaciones contenidas en el mismo. +

+ +

+ F. La web no será responsable de los daños y perjuicios producidos o que puedan producirse, cualquiera que sea su naturaleza, que se deriven del uso de la información, de las materias contenidas en este web site y de los programas que incorpora. Los enlaces (Links) e hipertexto que posibiliten, a través del sitio web de la empresa, acceder al usuario a prestaciones y servicios ofrecidos por terceros, no pertenecen ni se encuentran bajo el control de nombre de la empresa; dicha entidad no se hace responsable ni de la información contenida en los mismos ni de cualesquiera efectos que pudieran derivarse de dicha información. +

+ +

+ G. La web no se hace responsable del uso ilegítimo que terceras personas puedan hacer de los nombres de marca, nombres de producto, marcas comerciales que, no siendo propiedad de dicha entidad, aparezcan en el la web de la empresa. Tampoco se responsabiliza de la integridad, veracidad y licitud del contenido de los enlaces a las webs a las que pueda accederse desde web de la empresa. +

+ +

+ H. La web no se responsabiliza de los virus que tengan su origen en una transmisión telemática infiltrados por terceras partes (por ejemplo, los macros de procesadores de texto, los applets de Java y los programas Active X), generados con la finalidad de obtener resultados negativos para un sistema informático. +

+ +

+ I. En definitiva, el Usuario es el único responsable del uso que realice de los servicios, contenidos, enlaces (links) e hipertexto incluidos en el sitio web. +

+ + + diff --git a/src/app/iplusd/iplusd_es.tpl.html b/src/app/iplusd/iplusd_es.tpl.html new file mode 100755 index 0000000..bb53d26 --- /dev/null +++ b/src/app/iplusd/iplusd_es.tpl.html @@ -0,0 +1,201 @@ + + + + +
+
+
+

I + D

+
+
+
+ + +
+
+

+
+ Investigación y Desarrollo +

+
+
+
+
+

Edosoft Factory tiene como pilar básico la Investigación y Desarrollo, manteniendo el conocimiento de la empresa siempre actualizado a través de diferentes procedimientos:

+
+
+
+
+ + + Sello Pyme Innovadora 2018 + +
+
+
+
+
+
+
+
+ Chromebook +
+
+
Sistemas con Requisitos de Altas Prestaciones y Arquitecturas Complejas
+

Sistemas críticos con elevadas tasas de transacciones en Tiempo Real y donde suelen intervenir gran cantidad de componentes de distintos fabricantes.

+
+
+ Chromebit +
+
+
Sistemas con Recursos Restringidos
+

Sistemas Embebidos con grandes limitaciones de memoria y recursos de procesamiento, donde los consumos energéticos han de ser limitados.

+
+
+ Chromebox +
+
+
Internet de las Cosas (IoT En sus siglas en inglés)
+

En los últimos años Edosoft Factory se ha especializado en la interconexión de los sistemas domésticos y la interoperabilidad entre diferentes productos a través de las redes de la información.

+ +
+
+
+
+
+
+
+
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/src/app/services/services_en.tpl.html b/src/app/services/services_en.tpl.html new file mode 100755 index 0000000..2cd5221 --- /dev/null +++ b/src/app/services/services_en.tpl.html @@ -0,0 +1,551 @@ + + +
+
+
+
+
+ +
+
+
+

Services

+
+
+
+ + + +
+
+
+ G Suite +
+
+ +
+
+
+ +
+
+
+
+
+

Migrating to G Suite already implies an increase in the productivity of the company, but with the continuous advice of Edosoft Factory, your company will be able to achieve technological excellence at a greater speed. Edosoft Factory takes care of the entire process with its clients, working from implementation to data migration and support; all of this using Google technology in innovative ways to bring value to their customers. +

+
+
+
+
+
+
+ +
+
+ + +
+ +
+
+
+
Connect
+ G Suite icons + +
+

+ From a single interface you will have communication by mail, text chats, voice calls or video calls in HD. Share the screen and manage the resources of your company. +

+
+ +
+ +
+
+ +
+
Collaborate
+ G Suite icons + +
+

Create and edit text documents from any device with built-in version control. Compatible with most extended formats.
+

+
+ +
+ +
+
+ +
Access
+ G Suite icons + +
+

+ Unlimited space with G Suite Business without maintenance of hardware. More than 500 of the best security experts working for your company. +

+
+ +
+ +
+
+
Manage
+ G Suite icons + +
+

+ With G Suite Business you will have over 200 security and configuration policies to eliminate Work to your IT department. Retention and archive up to 100 years with Google Vault. +

+
+ +
+ +
+
+
+
+ G Mail icon +
+
+
+
+ Hangout icon +
+
+
+
+ Calendar icon +
+
+
+
+ Google+ icon +
+
+
+
+ Doc icon +
+
+
+
+ Spread Sheet icon +
+
+
+
+ Form icon +
+
+
+
+ Slide icon +
+
+
+
+ Site icon +
+
+
+
+ Drive icon +
+
+
+
+ Admin icon +
+
+
+
+ Keep icon +
+
+
+
+
+
+
Gmail
+

Communication is not just in the mail: the chat and the video have arrived at the company. Business email for your domain, with all the features centralized in your inbox. You can work wherever you want, with the device you prefer and without losing effectiveness. 99.9% guaranteed uptime and 0% planned downtime.

+
+
+ G Mail G Suite +
+
+
+
+
Hangouts
+

High definition videoconferencing with all your equipment, with integrated screen sharing, anywhere, and very simple to use. Communicate by video in the same way as in person: the screen automatically shows the person speaking at all times and the sound is silently muted to avoid noise. No matter where your client is, you will feel that you have it in front of you.

+
+
+ Hangout G Suite +
+
+
+
+
Calendar
+

Intelligent scheduling of meetings and management of multiple calendars under a single view for more effective work. Calendar is responsible for "finding a niche" for you so you do not have to consult multiple calendars independently. Share your calendars so people see the full details of an event or just let them know if it's available.

+
+
+ Calendar G Suite +
+
+
+
+
Google +
+

Capture the interest of your entire team by sharing experiences to break down barriers and generate new ideas from anywhere. Regardless of your team, levels or locations, your business ideas will be part of a united community through posts and comments on Google+. The same goals and illusions shared by an entire team paddling in the same direction, even if they are in opposite directions.

+
+
+ Google+ G Suite +
+
+
+
+
Docs
+

With your own colleague or outsiders, instantly visualize changes introduced by others or access unlimited review history. Earlier versions are saved indefinitely and do not consume storage space. You can also import your documents to edit them instantly and export your work to the format you need, without additional software installations.

+
+
+ Doc G Suite +
+
+
+
+
Sheets
+

From the simplest formulas to powerful functions and complex graphics that will allow you to generate reports of dynamic tables and add filters, among other operations. Professional work of any spreadsheet accessible both from your computer in the office and from your mobile and even offline.

+
+
+ Sheet G Suite +
+
+
+
+
Forms
+

The whole life cycle of your research summarized in a single application and without any additional charge. Creating a form is as easy and fast as working on a document and will allow you to create professional-level surveys. Drag and drop only to organize questions, with access to all answers and analysis of results in spreadsheets and in real time

+
+
+ Form G Suite +
+
+
+
+
Slides
+

The presentations in the safest format, without unforeseen changes and with online and offline access. The slides are easy to create either from a template or by customizing the design from scratch. Secure the visual communication of your company in a few steps, at a professional level.

+
+
+ Slide G Suite +
+
+
+
+
Sites
+

All your team can access the web of your own department or project, and it will be a professional website. It is the easiest way to create a site, with direct access to all its contents in drive, documents or even the calendar. Take advantage of specially created themes so that your content stands out with an optimized appearance automatically on all devices.

+
+
+ Sites G Suite +
+
+
+
+
Drive
+

All the storage you need, with your files synchronized automatically and without additional software. All your work will be in a safe place by storing files online to access it when you need it and from where you need it. 30Gb, 1Tb or unlimited storage and synchronized with the linked folder on your computer, any local changes will be synchronized in Drive automatically and vice versa.

+
+
+ Drive G Suite +
+
+
+
+
Admin
+

Attendance and reliability every day for 24 hours, with the highest security and control applied to mobile devices as well. Centralized management allows quick and easy configuration and management, with the ability to add and remove users, configure groups and add various security options. And with the management of mobile devices you can distribute applications, manage security settings or even delete devices remotely.

+
+
+ Admin G Suite +
+
+
+
+
Vault
+

File both email and chat and searches with Google technology to find content quickly. You decide how long email messages and registered chats will be kept, specifying policies tailored to your needs. You will never lose valuable information again, you can recover it even from closed accounts to avoid data loss due to staff turnover.

+
+
+ Vault G Suite +
+
+
+ +
+ +
+
+ +
+
+
+ Chrome +
+
+
+
+ +
+
+
+
+
+

The Chrome family of products is defined by its speed, security and reliability, but Edosoft Factory goes a step further to adapt these products to the needs of each company and raise their productivity to 100% through the complete management of Digital Channels:

+
    +
  • Generation, planning, design and start-up of contents with displays for all formats and dimensions.
  • +
  • Commercial exploitation of the channel, KPI definition and monitoring through reporting.
  • +
  • Service points such as connected unassisted POSs or information points such as Wayfinder.
  • +
  • Complete virtualization of the job post.
  • +
  • Development of custom software on Chrome OS infrastructure.
  • +
+
+
+
+
+
+
+
+ +
+
+
+ Chromebook +
Chromebook
+

El ordenador que necesitas para trabajar en la nube: Chromebook Ordenadores de uso sencillo, de funcionamiento más rápido a la larga y construidos para ser seguros.

+
+
+ Chromebit +
Chromebit
+

Se trata de un pequeño dispositivo portable que te permite usar Chrome OS en cualquier pantalla o dispositivo de cartelería digital con puerto usb.

+
+
+ Chromebox +
Chromebox
+

Adáptate a diferentes tareas con la misma herramienta: Chromebox Todas las ventajas de Chrome OS en un dispositivo compacto y fácil de adaptar a diferentes ámbitos.

+
+
+ Chromebase +
Chromebase
+

Trabaja sin periféricos y adáptate a cualquier situación: Chromebase Todos los componentes de un sistema completo concentrados en un único dispositivo con pantalla táctil para darte el all-in- one definitivo.

+
+
+
+ +
+
+
+
Crea una sala de reuniones a tu medida: Hardware kit para Hangouts Meet
+

Usa los dispositivos de Chrome para reuniones y crea tu sala de reuniones en cualquier habitación. Tendrás videoconferencia de alta definición disponible tanto para espacios personales como para salas de conferencia de hasta 20 personas.

+
+
+ Kit Meetings +
+
+
+ + +
+
+
+ Google Cloud Platform +
+
+
+
+ +
+
+
+
+
+


Everything you need to create and scale applications with the help of Edosoft Factory. With innovation as our philosophy, the changes are noticeable from the outset, both in price and usability: +

+
    +
  • Proactive consulting for model optimization and specific consulting to optimize systems demanding in processing (rendering, calculation ...) +
  • +
  • Migration Plan development to public, multi-cloud and hybrid models. +
  • +
  • Definition of security, performance and cost-based strategies. +
  • +
  • Integration on work teams through our own development teams. +
  • +
  • System Audits for Total Cost of Ownership calculation.
  • +
+
+
+
+
+
+
+
+ +
+
+
+ Machine Learning +
Machine Learning
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+
+
+ Big Data +
Big Data
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+
+
+
+
+
+
+ Arquitectura Escalable +
Arquitectura escalable
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+
+
+ Serverless NoOps +
Arquitectura serverless NoOps
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+
+
+
+ + + + + +
+
+
+

Edolab

+
+
+
+

Edosoft Factory has Research and Development as a basic pillar, keeping the knowledge of the company always updated through different procedures: +

+
    +
  • High Performance Requirement Systems and Complex Architectures, Critical Systems with high transaction rates on Real Time and where a great variety of components from different manufacturers are integrated.
  • +
    +
  • Restrictred Resources Systems, Embedded Systems with limited memory and processing resources where energy consumption must be reduced.
  • +
    +
  • Internet of Things (IoT). In recent years, Edosoft Factory has specialized in the interconnection of domestic systems and network interoperability between different products.
  • +
+
+
+
+
+
+ + Sello Pyme Innovadora 2018 + +
+ +
+
+
+
+
+

Edoconsulting

+
+
+
    +
  • Expert Web Consulting covering all project/service life cycle until its deployment and promoting actions.
  • +
  • Advice in Electronic Commerce. E-commerce services are becoming increasingly important in all types of companies, so it is important to properly implement the required changes in all phases of the project. +
  • +
  • Safety and Quality software. Edosoft Factory offers more than 10 years of experience in Quality Assurance (QA) to ensure quality in the client’s software.
  • +
+
+
+
+
+

Edodev

+
+
+

OnSite/Nearshore software factory services. Edosoft Factory adapts workstations to schedule, environment and client work procedures, reducing risks in task delegation by customers: +

+
    +
  • We work with the contract conditions that best meet the requirement our clients need: Fixed Price, Time and Materials, Cost Plus Fixed Fee, Cost Plus Percentage of cost, Cost Plus Incentive Fee, Fixed price Incentive Fee.
  • +
  • Strict security and privacy policies.
  • +
  • Agile Methodology scaled to the whole company to ensure the value our customers obtain in every development hour.
  • +
+
+
+
+
+
+ + + + +
+
+
+ +
+
+
+

Blog

+ +
+
+
+
+
+
+
+
+

+ +
+
+ +
+
+
+
+
+ diff --git a/src/app/services/services_es.tpl.html b/src/app/services/services_es.tpl.html new file mode 100755 index 0000000..b86d482 --- /dev/null +++ b/src/app/services/services_es.tpl.html @@ -0,0 +1,565 @@ + + + +
+
+
+
+
+ +
+
+
+

Qué hacemos

+
+
+
+ + + +
+
+
+

+
+ Inspírate con nuestro asesoramiento técnico y comienza a innovar con G Suite +

+ G Suite +
+
+
+
+
+
+
+
+
+
+
Migrar a G Suite ya supone un incremento de la productividad de la empresa, pero con el asesoramiento continuo de Edosoft Factory, compañías como la suya podrán alcanzar la excelencia tecnológica a mayor velocidad. Edosoft Factory se encarga de todo el proceso junto a sus clientes, trabajando desde la implantación a la migración de datos y el soporte y utilizando la tecnología de Google de formas innovadoras para aportar valor a sus clientes.
+
+
+
+
+
+
+
+
+
+ + +
+
+
+ G Mail icon +
+
+
+ Hangout icon +
+
+
+ Calendar icon +
+
+
+ Google+ icon +
+
+
+ Doc icon +
+
+
+ Spread Sheet icon +
+
+
+ Form icon +
+
+
+ Slide icon +
+
+
+ Site icon +
+
+
+ Drive icon +
+
+
+ Admin icon +
+
+
+ Keep icon +
+
+
+
+
+
+
Gmail
+

La comunicación no es solo por correo: el chat y el vídeo han llegado a la empresa. Correo electrónico empresarial para su dominio, con todas las funciones centralizadas en su bandeja de entrada. Puede trabajar donde quiera, con el dispositivo que prefiera y sin perder efectividad. 99.9% de tiempo de actividad garantizado y 0% de tiempo de inactividad planificado.

+
+
+ G Mail G Suite +
+
+
+
+
Hangouts
+

Videoconferencias en alta definición con todo su equipo, con función integrada de pantalla compartida, en cualquier lugar y de uso muy sencillo. Comuníquese por vídeo de la misma forma que en persona: la pantalla muestra automáticamente a la persona que esté hablando en cada momento y el sonido se silencia de forma inteligente para evitar ruidos. Da igual dónde esté su cliente, sentirá que lo tiene delante.

+
+
+ + Hangout G Suite +
+
+
+
+
Calendar
+

Programación inteligente de reuniones y administración de varios calendarios bajo una única vista para un trabajo más eficaz. Calendar se encarga de “encontrar un hueco” por usted para que no tenga que consultar varios calendarios de forma independiente. Comparta sus calendarios para que las personas vean los detalles completos de un evento o simplemente para que sepan si está disponible.

+
+
+ Calendar G Suite +
+
+
+
+
Google +
+

Captación del interés de todo su equipo de trabajo compartiendo experiencias para derribar barreras y generar ideas nuevas desde cualquier lugar. Independientemente de sus equipos, niveles o ubicaciones, las ideas de su empresa formarán parte de una comunidad unida a través de publicaciones y comentarios en Google+. Las mismas metas e ilusiones compartidas por todo un equipo remando en la misma dirección, aunque se encuentren en direcciones opuestas.

+
+
+ Google+ G Suite +
+
+
+
+
Docs
+

Con sus propios compañeros o con personas ajenas a su empresa, visualice instantáneamente los cambios que introducen los demás o acceda al historial de revisión ilimitado. Las versiones anteriores se guardan indefinidamente y no consumen espacio de almacenamiento. Además puede importar sus documentos para editarlos al instante y exportar su trabajo al formato que necesite, sin instalaciones de software adicional.

+
+
+ Doc G Suite +
+
+
+
+
Sheets
+

Desde las más sencillas fórmulas hasta potentes funciones y gráficos complejos que le permitirán generar informes de tablas dinámicas y agregar filtros, entre otras operaciones. Trabajo profesional propio de cualquier hoja de cálculo accesible tanto desde su ordenador en la oficina como desde su móvil e incluso sin conexión.

+
+
+ Sheet G Suite +
+
+
+
+
Forms
+

Todo el ciclo de vida de su investigación resumido en una sola aplicación y sin ningún cargo adicional. Crear un formulario es tan fácil y rápido como trabajar sobre un documento y le permitirá crear encuestas a nivel profesional. Solo arrastrar y soltar para organizar las preguntas, con acceso a todas las respuestas y los análisis de resultados en spreadsheets y en tiempo real.

+
+ Form G Suite +
+
+
+
+
Slides
+

Las presentaciones en el formato más seguro, sin cambios imprevistos y con acceso online y offline. Las diapositivas son fáciles de crear bien a partir de una plantilla o bien personalizando el diseño desde cero. Afiance la comunicación visual de su empresa en unos pocos pasos, a nivel profesional.<>/p> +

+
+ Slide G Suite +
+
+
+
+
Sites
+

Todo su equipo puede tener acceso a la web de su propio departamento o proyecto, y será una web profesional. Es la forma más sencilla de crear un sitio, con acceso directo a todo su contenido en drive, documentos o incluso el calendario. Aproveche los temas creados especialmente para que su contenido destaque con un aspecto optimizado automáticamente en todos los dispositivos.

+
+
+ Sites G Suite +
+
+
+
+
Drive
+

Todo el almacenamiento que necesite, con sus archivos sincronizados automáticamente y sin software adicional. Todo su trabajo estará en un lugar seguro mediante el almacenamiento de archivos en línea para que acceda a él cuando lo necesite y desde dónde lo necesite. 30Gb, 1Tb o almacenamiento ilimitado y sincronizado con la carpeta enlazada en su ordenador, cualquier cambio local se sincronizará en Drive automáticamente y viceversa.

+
+
+ Drive G Suite +
+
+
+
+
Admin
+

Asistencia y confiabilidad todos los días durante las 24 horas, con la mayor seguridad y control aplicada también a dispositivos móviles. La administración centralizada le permite una configuración y una gestión rápidas y fáciles, con la posibilidad de agregar y quitar usuarios, configurar grupos y agregar diversas opciones de seguridad. Y con la administración de dispositivos móviles puede distribuir aplicaciones, administrar la configuración de seguridad o incluso borrar los dispositivos de forma remota.

+
+
+ Admin G Suite +
+
+
+
+
Vault
+

Archivo tanto de correo electrónico como de chat y búsquedas con la tecnología de Google para encontrar contenido rápidamente. Usted decide durante cuánto tiempo se conservarán los mensajes de correo electrónico y los chats registrados, especificando políticas adaptadas a sus necesidades. Nunca volverá a perder información valiosa, puede recuperarla incluso de cuentas cerradas para evitar la pérdida de datos debido a la rotación de personal.

+
+
+ Vault G Suite +
+
+
+ +
+ +
+
+ +
+
+
+

+
+ Simplifica tu gestión y agiliza tus resultados en Chrome. +

+ Chrome +
+
+
+
+
+
+
+
+
+
+
+
La familia de productos Chrome se caracteriza por la velocidad, la seguridad y la fiabilidad; pero Edosoft Factory da un paso más allá para adaptar estos productos a las necesidades de cada empresa y hacerlos 100% productivos mediante la gestión completa de Canales Digitales
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Chromebook +
Chromebook
+

Chromebook. Ordenadores de uso sencillo, más rápidos y seguros.

+
+
+ Chromebit +
Chromebit
+

Chromebit. La llave para transformar cualquier pantalla en un ordenador.

+
+
+ Chromebox +
Chromebox
+

Chromebox. El dispositivo informático más compacto: tanto para el trabajo diario como para cartelería y kioscos.

+
+
+ Chromebase +
Chromebase
+

Chromebase. El all-in-one definitivo tanto en sobremesa como en quiosco.

+
+
+
+
+
+
+

Chrome for Work

+
+
+

Dispositivos certificados por Google y desarrollados por fabricantes de primer nivel.

+
+
+
+
+
+ +
+
+
+
+ +
+
+

Chrome for Meeetings

+
+
+

Despliegue una sala de videoconferencias en minutos, podrá contactar con cualquiera, en cualquier dispositivo, para reuniones colaborativas más productivas. Con versiones de 10 y 25 asientos.

+
+
+
+
+
+
+
+

Chrome for Signage

+

Cartelería digital con herramientas de gestión basadas en la nube. Potentes y asequibles players para cartelería digital, que utilizan procesadores de confianza de Intel y el sistema operativo de Google Chrome OS para ofrecer al usuario velocidad, sencillez, y posibilidad de adaptarlo a su propio proyecto.

+
+
+ +
+
+
+
+ +
+
+

Chrome for Kiosk

+
+
+

Dispositivos tanto para sus empleados como para sus clientes. Útil para tareas como TPV, Operaciones de Recursos Humanos o Check-In en eventos y Hoteles, entre otras.

+
+
+
+
+
+
+
+

Gestor de Eventos y Actividades con Chrome.

+

La app de Edosoft Factory pensada para reducir los costes en la organización de diferentes eventos o actividades mediante el uso de la última tecnología de Google: checkinapp.edosoft.es

+
+
+ +
+
+
+
+ +
+
+

Sasuke

+
+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+
+
+
+
+
+
+
+ + +
+
+
+

+
+ Toda la innovación de Google a disposición de los desarrollos de tu empresa +

+ Google Cloud Platform +
+
+
+
+
+
+
+
+
+
+
+
Todo lo que necesitas para crear y escalar aplicaciones de la mano de Edosoft Factory. Con la innovación como filosofía base, los cambios se notan desde el primer momento, tanto en costes como en usabilidad
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Resourses +
Recursos Informáticos
+

Desde máquinas virtuales con una relación precio/rendimiento que ofrece ventajas probadas hasta una plataforma de desarrollo de aplicaciones totalmente administrada.

+
+
+ Storage +
Almacenamiento y bases de datos
+

Almacenamiento de objetos y bases de datos escalables, resistentes y de alto rendimiento para tus aplicaciones.

+
+
+ Networking +
Redes
+

Productos de red definidos mediante software de última generación en la red de fibra privada de Google.

+
+
+ Big Data +
Big Data
+

Almacenamiento de datos totalmente administrado, procesamiento por lotes y de transmisiones, exploración de datos, Hadoop/Spark y mensajería fiable.

+
+
+
+
+
+
+ Machine Learning +
Aprendizaje automático
+

Servicios de Machine Learning rápidos, escalables y fáciles de usar. Utiliza nuestros modelos ya preparados o prepáralos tú mismo a partir de tus datos.

+
+
+ System Admin +
Herramientas de administración
+

Supervisión, registro, diagnóstico y mucho más. Todo en una consola de administración web o una aplicación móvil muy fáciles de usar.

+
+
+ Development Tools +
Herramientas para desarrolladores
+

Desarrolla e implementa tus aplicaciones con nuestra interfaz de línea de comandos y otras herramientas para desarrolladores.

+
+
+ Security +
Identidad y seguridad.
+

Controla el acceso y la visibilidad de los recursos en una plataforma protegida por el modelo de seguridad de Google.

+
+
+
+
+ + + \ No newline at end of file diff --git a/src/app/team/team_en.tpl.html b/src/app/team/team_en.tpl.html new file mode 100755 index 0000000..e187c66 --- /dev/null +++ b/src/app/team/team_en.tpl.html @@ -0,0 +1,245 @@ + + +
+
+
+

Quiénes somos

+ +
+
+
+ + +
+
+
+
+

We work in continuous collaboration to grow as professionals and to bring value to our clients through our acquired experience. Because it is never a bad time to learn and we are always willing to ask and answer.

+
+
+
It does not matter which department you belong to, but the team you build. +
+
+
+
+
+
+ Juan Vera +
Juan Vera
+

Executive Manager

+
+
+
+
+ Aitor Carrera +
Aitor Carrera
+

CTO

+
+
+
+
+ Isabel Caballero +
Isabel Caballero
+

R&D Manager

+
+
+
+
+ Equipo Efrén Pérez +
Efrén Pérez
+

DevOps

+
+
+
+
+
+
+ Laura Ojeda +
Laura Ojeda
+

Marketing & Social Media

+
+
+
+
+ Roberto González +
Roberto González
+

Full Stack Developer

+
+
+
+
+ Cristinaz Millares +
Cristina Millares
+

Graphic Designer

+
+
+ +
+
+ Natanael Armas +
Natanael Armas
+

Senior System Tester

+
+
+
+
+
+
+ David Verdú +
David Verdú
+

Full Stack Developer

+
+
+
+
+ Eva Cárdenes +
Eva Cárdenes
+

Marketing & Social Media

+
+
+
+
+ Swan Rodríguez +
Swan Rodríguez
+

Full Stack Developer

+
+
+
+
+ Pooja Gangwani +
Pooja Gangwani
+

Key Account Manager

+
+
+
+
+
+
+ Christopher Pérez +
Christopher Pérez
+

DevOps

+
+
+
+
+ Raúl Vega +
Raúl Vega
+

Senior System Tester

+
+
+ +
+
+ Raúl Almeida +
Raul Almeida
+

DevOps

+
+
+
+
+ Eduardo Quesada +
Eduardo Quesada
+

Full Stack Developer

+
+
+
+
+
+
+ Adrián Villares +
Adrián Martínez
+

Full Stack Developer

+
+
+
+
+ Carlos David +
Carlos David
+

Full Stack Developer

+
+
+ +
+
+ Deriman Franco +
Deriman Franco
+

R&D Developer

+
+
+ +
+
+
+ \ No newline at end of file diff --git a/src/app/team/team_es.tpl.html b/src/app/team/team_es.tpl.html new file mode 100755 index 0000000..cc4dc0d --- /dev/null +++ b/src/app/team/team_es.tpl.html @@ -0,0 +1,224 @@ + + + + +
+
+
+

Quiénes somos

+
+
+
+ + +
+
+
+
+
+

En Edosoft Factory trabajamos en continua colaboración para crecer como profesionales y aportar valor a nuestros clientes a través de la experiencia adquirida. Porque nunca es mal momento para aprender y siempre estamos dispuestos a preguntar y a responder.

+
+
+
+
+
+
+
No importa el departamento al que pertenezcas, sino el equipo que construyes +
+ +
+
+
+
+ + +
+ +
+
+
+ Juan Vera +
+
Juan Vera
+
+

Executive Manager

+
+
+
+
+
+ Aitor Carrera +
Aitor Carrera
+

CTO

+
+
+
+
+ Isabel Caballero +
Isabel Caballero
+

R&D Manager

+
+
+
+
+ Equipo Efrén Pérez +
Efrén Pérez
+

DevOps

+
+
+
+
+
+
+ Laura Ojeda +
Laura Ojeda
+

Marketing & Social Media

+
+
+ +
+
+ Roberto González +
Roberto González
+

Full Stack Developer

+
+
+
+
+ Cristinaz Millares +
Cristina Millares
+

Graphic Designer

+
+
+ +
+
+ Natanael Armas +
Natanael Armas
+

Senior System Tester

+
+
+
+
+
+
+ David Verdú +
David Verdú
+

Full Stack Developer

+
+
+
+
+ Eva Cárdenes +
Eva Cárdenes
+

Marketing & Social Media

+
+
+
+
+ Swan Rodríguez +
Swan Rodríguez
+

Full Stack Developer

+
+
+
+
+ Pooja Gangwani +
Pooja Gangwani
+

Key Account Manager

+
+
+
+
+
+
+ Christopher Pérez +
Christopher Pérez
+

DevOps

+
+
+
+
+ Raúl Vega +
Raúl Vega
+

Senior System Tester

+
+
+ +
+
+ Raúl Almeida +
Raul Almeida
+

DevOps

+
+
+
+
+ Eduardo Quesada +
Eduardo Quesada
+

Full Stack Developer

+
+
+
+
+
+
+ Adrián Villares +
Adrián Martínez
+

Full Stack Developer

+
+
+
+
+ Carlos David +
Carlos David
+

Full Stack Developer

+
+
+ +
+
+ Deriman Franco +
Deriman Franco
+

R&D Developer

+
+
+ +
+
+ + + + diff --git a/src/assets/img/1recursos-informaticos.png b/src/assets/img/1recursos-informaticos.png new file mode 100644 index 0000000..18a6ca6 Binary files /dev/null and b/src/assets/img/1recursos-informaticos.png differ diff --git a/src/assets/img/2almacenamiento-basededatos.png b/src/assets/img/2almacenamiento-basededatos.png new file mode 100644 index 0000000..04ea027 Binary files /dev/null and b/src/assets/img/2almacenamiento-basededatos.png differ diff --git a/src/assets/img/3redes.png b/src/assets/img/3redes.png new file mode 100644 index 0000000..f99e73f Binary files /dev/null and b/src/assets/img/3redes.png differ diff --git a/src/assets/img/4big-data.png b/src/assets/img/4big-data.png new file mode 100644 index 0000000..ba363cf Binary files /dev/null and b/src/assets/img/4big-data.png differ diff --git a/src/assets/img/5prendizaje-automatico.png b/src/assets/img/5prendizaje-automatico.png new file mode 100644 index 0000000..8d4bc7d Binary files /dev/null and b/src/assets/img/5prendizaje-automatico.png differ diff --git a/src/assets/img/6herramientas-admin.png b/src/assets/img/6herramientas-admin.png new file mode 100644 index 0000000..20f0636 Binary files /dev/null and b/src/assets/img/6herramientas-admin.png differ diff --git a/src/assets/img/7herramientas- desarrolladores.png b/src/assets/img/7herramientas- desarrolladores.png new file mode 100644 index 0000000..d464339 Binary files /dev/null and b/src/assets/img/7herramientas- desarrolladores.png differ diff --git a/src/assets/img/8identidad y seguridad.png b/src/assets/img/8identidad y seguridad.png new file mode 100644 index 0000000..2c7c62c Binary files /dev/null and b/src/assets/img/8identidad y seguridad.png differ diff --git a/src/assets/img/Iot-1.jpeg b/src/assets/img/Iot-1.jpeg new file mode 100644 index 0000000..d94112a Binary files /dev/null and b/src/assets/img/Iot-1.jpeg differ diff --git a/src/assets/img/Iot-2.jpeg b/src/assets/img/Iot-2.jpeg new file mode 100644 index 0000000..3244a07 Binary files /dev/null and b/src/assets/img/Iot-2.jpeg differ diff --git a/src/assets/img/Iot-2.jpg b/src/assets/img/Iot-2.jpg new file mode 100644 index 0000000..8634e27 Binary files /dev/null and b/src/assets/img/Iot-2.jpg differ diff --git a/src/assets/img/Iot-3.png b/src/assets/img/Iot-3.png new file mode 100644 index 0000000..0d58d6f Binary files /dev/null and b/src/assets/img/Iot-3.png differ diff --git a/src/assets/img/Metodologia.png b/src/assets/img/Metodologia.png new file mode 100644 index 0000000..0cdb816 Binary files /dev/null and b/src/assets/img/Metodologia.png differ diff --git a/src/assets/img/Servicios.png b/src/assets/img/Servicios.png new file mode 100755 index 0000000..b5ce3cd Binary files /dev/null and b/src/assets/img/Servicios.png differ diff --git a/src/assets/img/Tuerca.gif b/src/assets/img/Tuerca.gif new file mode 100644 index 0000000..bdf7f4f Binary files /dev/null and b/src/assets/img/Tuerca.gif differ diff --git a/src/assets/img/Valores.png b/src/assets/img/Valores.png new file mode 100755 index 0000000..5c92fc5 Binary files /dev/null and b/src/assets/img/Valores.png differ diff --git a/src/assets/img/adminicon.png b/src/assets/img/adminicon.png new file mode 100755 index 0000000..1f72671 Binary files /dev/null and b/src/assets/img/adminicon.png differ diff --git a/src/assets/img/adminmock.png b/src/assets/img/adminmock.png new file mode 100755 index 0000000..c46c630 Binary files /dev/null and b/src/assets/img/adminmock.png differ diff --git a/src/assets/img/calendaricon.png b/src/assets/img/calendaricon.png new file mode 100755 index 0000000..61c162e Binary files /dev/null and b/src/assets/img/calendaricon.png differ diff --git a/src/assets/img/calendarmock.png b/src/assets/img/calendarmock.png new file mode 100755 index 0000000..8935405 Binary files /dev/null and b/src/assets/img/calendarmock.png differ diff --git a/src/assets/img/chrome-1.png b/src/assets/img/chrome-1.png new file mode 100644 index 0000000..5f96444 Binary files /dev/null and b/src/assets/img/chrome-1.png differ diff --git a/src/assets/img/chrome-2.jpg b/src/assets/img/chrome-2.jpg new file mode 100644 index 0000000..8c9bf15 Binary files /dev/null and b/src/assets/img/chrome-2.jpg differ diff --git a/src/assets/img/chrome-3.jpg b/src/assets/img/chrome-3.jpg new file mode 100644 index 0000000..5b97c5f Binary files /dev/null and b/src/assets/img/chrome-3.jpg differ diff --git a/src/assets/img/chrome-4.png b/src/assets/img/chrome-4.png new file mode 100644 index 0000000..5eda520 Binary files /dev/null and b/src/assets/img/chrome-4.png differ diff --git a/src/assets/img/chrome-5.jpg b/src/assets/img/chrome-5.jpg new file mode 100644 index 0000000..d97529d Binary files /dev/null and b/src/assets/img/chrome-5.jpg differ diff --git a/src/assets/img/chrome-photo.png b/src/assets/img/chrome-photo.png new file mode 100755 index 0000000..2835796 Binary files /dev/null and b/src/assets/img/chrome-photo.png differ diff --git a/src/assets/img/chrome.png b/src/assets/img/chrome.png new file mode 100755 index 0000000..93ddeae Binary files /dev/null and b/src/assets/img/chrome.png differ diff --git a/src/assets/img/chromebase.png b/src/assets/img/chromebase.png new file mode 100644 index 0000000..0fb9abd Binary files /dev/null and b/src/assets/img/chromebase.png differ diff --git a/src/assets/img/chromebit.png b/src/assets/img/chromebit.png new file mode 100644 index 0000000..1658ddb Binary files /dev/null and b/src/assets/img/chromebit.png differ diff --git a/src/assets/img/chromebook.png b/src/assets/img/chromebook.png new file mode 100644 index 0000000..47ed6b1 Binary files /dev/null and b/src/assets/img/chromebook.png differ diff --git a/src/assets/img/chromebox.png b/src/assets/img/chromebox.png new file mode 100644 index 0000000..a3187ff Binary files /dev/null and b/src/assets/img/chromebox.png differ diff --git a/src/assets/img/contratos.png b/src/assets/img/contratos.png new file mode 100644 index 0000000..d2789be Binary files /dev/null and b/src/assets/img/contratos.png differ diff --git a/src/assets/img/desarrollo-movil.png b/src/assets/img/desarrollo-movil.png new file mode 100755 index 0000000..5fe8f48 Binary files /dev/null and b/src/assets/img/desarrollo-movil.png differ diff --git a/src/assets/img/docsicon.png b/src/assets/img/docsicon.png new file mode 100755 index 0000000..10d3c24 Binary files /dev/null and b/src/assets/img/docsicon.png differ diff --git a/src/assets/img/docsmock.jpg b/src/assets/img/docsmock.jpg new file mode 100755 index 0000000..5cf51e5 Binary files /dev/null and b/src/assets/img/docsmock.jpg differ diff --git a/src/assets/img/docsmock.png b/src/assets/img/docsmock.png new file mode 100644 index 0000000..750421a Binary files /dev/null and b/src/assets/img/docsmock.png differ diff --git a/src/assets/img/driveicon.png b/src/assets/img/driveicon.png new file mode 100755 index 0000000..a049481 Binary files /dev/null and b/src/assets/img/driveicon.png differ diff --git a/src/assets/img/drivemock.png b/src/assets/img/drivemock.png new file mode 100644 index 0000000..b227b14 Binary files /dev/null and b/src/assets/img/drivemock.png differ diff --git a/src/assets/img/edoconsulting.png b/src/assets/img/edoconsulting.png new file mode 100755 index 0000000..b13ee96 Binary files /dev/null and b/src/assets/img/edoconsulting.png differ diff --git a/src/assets/img/edodev.png b/src/assets/img/edodev.png new file mode 100755 index 0000000..ebd4478 Binary files /dev/null and b/src/assets/img/edodev.png differ diff --git a/src/assets/img/edolab.png b/src/assets/img/edolab.png new file mode 100755 index 0000000..0f6cd89 Binary files /dev/null and b/src/assets/img/edolab.png differ diff --git a/src/assets/img/edosoft-1.jpg b/src/assets/img/edosoft-1.jpg new file mode 100644 index 0000000..568a6a9 Binary files /dev/null and b/src/assets/img/edosoft-1.jpg differ diff --git a/src/assets/img/edosoft-2.jpg b/src/assets/img/edosoft-2.jpg new file mode 100644 index 0000000..35684f1 Binary files /dev/null and b/src/assets/img/edosoft-2.jpg differ diff --git a/src/assets/img/edosoft-cabecera.jpeg b/src/assets/img/edosoft-cabecera.jpeg new file mode 100644 index 0000000..71e267f Binary files /dev/null and b/src/assets/img/edosoft-cabecera.jpeg differ diff --git a/src/assets/img/edosoft-circles.png b/src/assets/img/edosoft-circles.png new file mode 100755 index 0000000..26b3bb3 Binary files /dev/null and b/src/assets/img/edosoft-circles.png differ diff --git a/src/assets/img/edosoft-contacto.png b/src/assets/img/edosoft-contacto.png new file mode 100755 index 0000000..35f4b06 Binary files /dev/null and b/src/assets/img/edosoft-contacto.png differ diff --git a/src/assets/img/edosoft-equipo.png b/src/assets/img/edosoft-equipo.png new file mode 100755 index 0000000..449afc1 Binary files /dev/null and b/src/assets/img/edosoft-equipo.png differ diff --git a/src/assets/img/edosoft-factory-banner.png b/src/assets/img/edosoft-factory-banner.png new file mode 100755 index 0000000..07d3c2d Binary files /dev/null and b/src/assets/img/edosoft-factory-banner.png differ diff --git a/src/assets/img/edosoft-factory-equipo.png b/src/assets/img/edosoft-factory-equipo.png new file mode 100755 index 0000000..ed66756 Binary files /dev/null and b/src/assets/img/edosoft-factory-equipo.png differ diff --git a/src/assets/img/edosoft-factory-estandar.png b/src/assets/img/edosoft-factory-estandar.png new file mode 100755 index 0000000..4b44377 Binary files /dev/null and b/src/assets/img/edosoft-factory-estandar.png differ diff --git a/src/assets/img/edosoft-metodologia.png b/src/assets/img/edosoft-metodologia.png new file mode 100755 index 0000000..585b38e Binary files /dev/null and b/src/assets/img/edosoft-metodologia.png differ diff --git a/src/assets/img/edosoft-partner.png b/src/assets/img/edosoft-partner.png new file mode 100755 index 0000000..a583fb8 Binary files /dev/null and b/src/assets/img/edosoft-partner.png differ diff --git a/src/assets/img/equipo/Adrian-Villares.jpg b/src/assets/img/equipo/Adrian-Villares.jpg new file mode 100755 index 0000000..b2e73e7 Binary files /dev/null and b/src/assets/img/equipo/Adrian-Villares.jpg differ diff --git a/src/assets/img/equipo/Aitor-Carrera.jpg b/src/assets/img/equipo/Aitor-Carrera.jpg new file mode 100755 index 0000000..1780d3c Binary files /dev/null and b/src/assets/img/equipo/Aitor-Carrera.jpg differ diff --git a/src/assets/img/equipo/Beatriz-Delgado.jpg b/src/assets/img/equipo/Beatriz-Delgado.jpg new file mode 100755 index 0000000..fac19d8 Binary files /dev/null and b/src/assets/img/equipo/Beatriz-Delgado.jpg differ diff --git a/src/assets/img/equipo/Carlos-David.jpg b/src/assets/img/equipo/Carlos-David.jpg new file mode 100755 index 0000000..06563a0 Binary files /dev/null and b/src/assets/img/equipo/Carlos-David.jpg differ diff --git a/src/assets/img/equipo/Christopher-Perez.jpg b/src/assets/img/equipo/Christopher-Perez.jpg new file mode 100755 index 0000000..0976e16 Binary files /dev/null and b/src/assets/img/equipo/Christopher-Perez.jpg differ diff --git a/src/assets/img/equipo/Cristina-Millares.jpg b/src/assets/img/equipo/Cristina-Millares.jpg new file mode 100755 index 0000000..59ff80a Binary files /dev/null and b/src/assets/img/equipo/Cristina-Millares.jpg differ diff --git a/src/assets/img/equipo/David-Verdu.jpg b/src/assets/img/equipo/David-Verdu.jpg new file mode 100755 index 0000000..77ff452 Binary files /dev/null and b/src/assets/img/equipo/David-Verdu.jpg differ diff --git a/src/assets/img/equipo/Deriman-Franco.jpg b/src/assets/img/equipo/Deriman-Franco.jpg new file mode 100755 index 0000000..20145f9 Binary files /dev/null and b/src/assets/img/equipo/Deriman-Franco.jpg differ diff --git a/src/assets/img/equipo/Eduardo-Quesada.jpg b/src/assets/img/equipo/Eduardo-Quesada.jpg new file mode 100755 index 0000000..f7c6e39 Binary files /dev/null and b/src/assets/img/equipo/Eduardo-Quesada.jpg differ diff --git a/src/assets/img/equipo/Efren-Perez.jpg b/src/assets/img/equipo/Efren-Perez.jpg new file mode 100755 index 0000000..9742e43 Binary files /dev/null and b/src/assets/img/equipo/Efren-Perez.jpg differ diff --git a/src/assets/img/equipo/Eva-Cardenes.jpg b/src/assets/img/equipo/Eva-Cardenes.jpg new file mode 100755 index 0000000..7a0d797 Binary files /dev/null and b/src/assets/img/equipo/Eva-Cardenes.jpg differ diff --git a/src/assets/img/equipo/Isabel-Caballero.jpg b/src/assets/img/equipo/Isabel-Caballero.jpg new file mode 100755 index 0000000..34125f6 Binary files /dev/null and b/src/assets/img/equipo/Isabel-Caballero.jpg differ diff --git a/src/assets/img/equipo/Juan-Vera.jpg b/src/assets/img/equipo/Juan-Vera.jpg new file mode 100755 index 0000000..0c45c68 Binary files /dev/null and b/src/assets/img/equipo/Juan-Vera.jpg differ diff --git a/src/assets/img/equipo/Laura-Ojeda.jpg b/src/assets/img/equipo/Laura-Ojeda.jpg new file mode 100755 index 0000000..eb8e2db Binary files /dev/null and b/src/assets/img/equipo/Laura-Ojeda.jpg differ diff --git a/src/assets/img/equipo/Natanael-Armas.jpg b/src/assets/img/equipo/Natanael-Armas.jpg new file mode 100755 index 0000000..4b5cd77 Binary files /dev/null and b/src/assets/img/equipo/Natanael-Armas.jpg differ diff --git a/src/assets/img/equipo/Pooja-Gangwani.jpg b/src/assets/img/equipo/Pooja-Gangwani.jpg new file mode 100755 index 0000000..6dbbf26 Binary files /dev/null and b/src/assets/img/equipo/Pooja-Gangwani.jpg differ diff --git a/src/assets/img/equipo/Raul-Almeida.jpg b/src/assets/img/equipo/Raul-Almeida.jpg new file mode 100755 index 0000000..6a6ec63 Binary files /dev/null and b/src/assets/img/equipo/Raul-Almeida.jpg differ diff --git a/src/assets/img/equipo/Raul-Vega.jpg b/src/assets/img/equipo/Raul-Vega.jpg new file mode 100755 index 0000000..f189683 Binary files /dev/null and b/src/assets/img/equipo/Raul-Vega.jpg differ diff --git a/src/assets/img/equipo/Roberto-Gonzalez.jpg b/src/assets/img/equipo/Roberto-Gonzalez.jpg new file mode 100755 index 0000000..76c8adf Binary files /dev/null and b/src/assets/img/equipo/Roberto-Gonzalez.jpg differ diff --git a/src/assets/img/equipo/Swan-Rodriguez.jpg b/src/assets/img/equipo/Swan-Rodriguez.jpg new file mode 100755 index 0000000..982ba78 Binary files /dev/null and b/src/assets/img/equipo/Swan-Rodriguez.jpg differ diff --git a/src/assets/img/favicon.png b/src/assets/img/favicon.png new file mode 100755 index 0000000..0428ad0 Binary files /dev/null and b/src/assets/img/favicon.png differ diff --git a/src/assets/img/formicon.png b/src/assets/img/formicon.png new file mode 100755 index 0000000..4422224 Binary files /dev/null and b/src/assets/img/formicon.png differ diff --git a/src/assets/img/formmock.png b/src/assets/img/formmock.png new file mode 100644 index 0000000..a841893 Binary files /dev/null and b/src/assets/img/formmock.png differ diff --git a/src/assets/img/g+icon.png b/src/assets/img/g+icon.png new file mode 100755 index 0000000..8e8a3a7 Binary files /dev/null and b/src/assets/img/g+icon.png differ diff --git a/src/assets/img/gcplatform.jpg b/src/assets/img/gcplatform.jpg new file mode 100644 index 0000000..2464e92 Binary files /dev/null and b/src/assets/img/gcplatform.jpg differ diff --git a/src/assets/img/globo.gif b/src/assets/img/globo.gif new file mode 100755 index 0000000..215968b Binary files /dev/null and b/src/assets/img/globo.gif differ diff --git a/src/assets/img/gmail-app.png b/src/assets/img/gmail-app.png new file mode 100755 index 0000000..a35a97e Binary files /dev/null and b/src/assets/img/gmail-app.png differ diff --git a/src/assets/img/gmailicon.png b/src/assets/img/gmailicon.png new file mode 100755 index 0000000..71365a1 Binary files /dev/null and b/src/assets/img/gmailicon.png differ diff --git a/src/assets/img/google-cloud-partner.png b/src/assets/img/google-cloud-partner.png new file mode 100755 index 0000000..fcf729c Binary files /dev/null and b/src/assets/img/google-cloud-partner.png differ diff --git a/src/assets/img/google-cloud-platform-photo.png b/src/assets/img/google-cloud-platform-photo.png new file mode 100755 index 0000000..b090fc2 Binary files /dev/null and b/src/assets/img/google-cloud-platform-photo.png differ diff --git a/src/assets/img/google-cloud-platform-service.png b/src/assets/img/google-cloud-platform-service.png new file mode 100755 index 0000000..a986155 Binary files /dev/null and b/src/assets/img/google-cloud-platform-service.png differ diff --git a/src/assets/img/google-cloud-platform.png b/src/assets/img/google-cloud-platform.png new file mode 100755 index 0000000..c78fefa Binary files /dev/null and b/src/assets/img/google-cloud-platform.png differ diff --git a/src/assets/img/google-cloud.png b/src/assets/img/google-cloud.png new file mode 100755 index 0000000..5eaecdb Binary files /dev/null and b/src/assets/img/google-cloud.png differ diff --git a/src/assets/img/googlemock.jpg b/src/assets/img/googlemock.jpg new file mode 100755 index 0000000..d78280e Binary files /dev/null and b/src/assets/img/googlemock.jpg differ diff --git a/src/assets/img/gsuite-1.jpg b/src/assets/img/gsuite-1.jpg new file mode 100644 index 0000000..d55826b Binary files /dev/null and b/src/assets/img/gsuite-1.jpg differ diff --git a/src/assets/img/gsuite-1.png b/src/assets/img/gsuite-1.png new file mode 100755 index 0000000..47f2952 Binary files /dev/null and b/src/assets/img/gsuite-1.png differ diff --git a/src/assets/img/gsuite-2.png b/src/assets/img/gsuite-2.png new file mode 100755 index 0000000..d8711f4 Binary files /dev/null and b/src/assets/img/gsuite-2.png differ diff --git a/src/assets/img/gsuite-3.png b/src/assets/img/gsuite-3.png new file mode 100755 index 0000000..13d85a3 Binary files /dev/null and b/src/assets/img/gsuite-3.png differ diff --git a/src/assets/img/gsuite-4.png b/src/assets/img/gsuite-4.png new file mode 100755 index 0000000..b2ffbc4 Binary files /dev/null and b/src/assets/img/gsuite-4.png differ diff --git a/src/assets/img/gsuite-herramientas.png b/src/assets/img/gsuite-herramientas.png new file mode 100755 index 0000000..749b611 Binary files /dev/null and b/src/assets/img/gsuite-herramientas.png differ diff --git a/src/assets/img/gsuite.png b/src/assets/img/gsuite.png new file mode 100755 index 0000000..f795128 Binary files /dev/null and b/src/assets/img/gsuite.png differ diff --git a/src/assets/img/hangoutsicon.png b/src/assets/img/hangoutsicon.png new file mode 100755 index 0000000..f4f34fd Binary files /dev/null and b/src/assets/img/hangoutsicon.png differ diff --git a/src/assets/img/hangoutsmock.png b/src/assets/img/hangoutsmock.png new file mode 100755 index 0000000..416fb6d Binary files /dev/null and b/src/assets/img/hangoutsmock.png differ diff --git a/src/assets/img/icon-creative.png b/src/assets/img/icon-creative.png new file mode 100755 index 0000000..1e6c1e8 Binary files /dev/null and b/src/assets/img/icon-creative.png differ diff --git a/src/assets/img/inicio.jpeg b/src/assets/img/inicio.jpeg new file mode 100644 index 0000000..2a37cb0 Binary files /dev/null and b/src/assets/img/inicio.jpeg differ diff --git a/src/assets/img/iso1-14001.png b/src/assets/img/iso1-14001.png new file mode 100644 index 0000000..d1d3558 Binary files /dev/null and b/src/assets/img/iso1-14001.png differ diff --git a/src/assets/img/iso1-27001.png b/src/assets/img/iso1-27001.png new file mode 100644 index 0000000..c3ddbc9 Binary files /dev/null and b/src/assets/img/iso1-27001.png differ diff --git a/src/assets/img/iso1-9001.png b/src/assets/img/iso1-9001.png new file mode 100644 index 0000000..feef60a Binary files /dev/null and b/src/assets/img/iso1-9001.png differ diff --git a/src/assets/img/keepicon.png b/src/assets/img/keepicon.png new file mode 100755 index 0000000..a05941a Binary files /dev/null and b/src/assets/img/keepicon.png differ diff --git a/src/assets/img/kit-meet.png b/src/assets/img/kit-meet.png new file mode 100644 index 0000000..7e81f6e Binary files /dev/null and b/src/assets/img/kit-meet.png differ diff --git a/src/assets/img/logo-blue.png b/src/assets/img/logo-blue.png new file mode 100755 index 0000000..20e9416 Binary files /dev/null and b/src/assets/img/logo-blue.png differ diff --git a/src/assets/img/logo1.png b/src/assets/img/logo1.png new file mode 100755 index 0000000..196f527 Binary files /dev/null and b/src/assets/img/logo1.png differ diff --git a/src/assets/img/logogoogle.png b/src/assets/img/logogoogle.png new file mode 100755 index 0000000..44fda95 Binary files /dev/null and b/src/assets/img/logogoogle.png differ diff --git a/src/assets/img/maleta.gif b/src/assets/img/maleta.gif new file mode 100755 index 0000000..3aa4ea4 Binary files /dev/null and b/src/assets/img/maleta.gif differ diff --git a/src/assets/img/metodologia1.png b/src/assets/img/metodologia1.png new file mode 100644 index 0000000..366ea92 Binary files /dev/null and b/src/assets/img/metodologia1.png differ diff --git a/src/assets/img/not-found.png b/src/assets/img/not-found.png new file mode 100644 index 0000000..00d875d Binary files /dev/null and b/src/assets/img/not-found.png differ diff --git a/src/assets/img/oficina.jpeg b/src/assets/img/oficina.jpeg new file mode 100755 index 0000000..abdc016 Binary files /dev/null and b/src/assets/img/oficina.jpeg differ diff --git a/src/assets/img/pagoda-white.png b/src/assets/img/pagoda-white.png new file mode 100755 index 0000000..c2e5ffc Binary files /dev/null and b/src/assets/img/pagoda-white.png differ diff --git a/src/assets/img/politicas.png b/src/assets/img/politicas.png new file mode 100644 index 0000000..8e1c8a1 Binary files /dev/null and b/src/assets/img/politicas.png differ diff --git a/src/assets/img/pyme_2018.jpg b/src/assets/img/pyme_2018.jpg new file mode 100755 index 0000000..94b6c67 Binary files /dev/null and b/src/assets/img/pyme_2018.jpg differ diff --git a/src/assets/img/servicios.png b/src/assets/img/servicios.png new file mode 100644 index 0000000..d875c9e Binary files /dev/null and b/src/assets/img/servicios.png differ diff --git a/src/assets/img/sheetsmock.png b/src/assets/img/sheetsmock.png new file mode 100755 index 0000000..7c35cb4 Binary files /dev/null and b/src/assets/img/sheetsmock.png differ diff --git a/src/assets/img/sitesicon.png b/src/assets/img/sitesicon.png new file mode 100755 index 0000000..3d5366e Binary files /dev/null and b/src/assets/img/sitesicon.png differ diff --git a/src/assets/img/sitesmock.png b/src/assets/img/sitesmock.png new file mode 100755 index 0000000..2af6755 Binary files /dev/null and b/src/assets/img/sitesmock.png differ diff --git a/src/assets/img/slideicon.png b/src/assets/img/slideicon.png new file mode 100755 index 0000000..12b573f Binary files /dev/null and b/src/assets/img/slideicon.png differ diff --git a/src/assets/img/slidesmock.png b/src/assets/img/slidesmock.png new file mode 100644 index 0000000..52fd882 Binary files /dev/null and b/src/assets/img/slidesmock.png differ diff --git a/src/assets/img/soft-1.jpeg b/src/assets/img/soft-1.jpeg new file mode 100644 index 0000000..4482854 Binary files /dev/null and b/src/assets/img/soft-1.jpeg differ diff --git a/src/assets/img/soft-1.jpg b/src/assets/img/soft-1.jpg new file mode 100644 index 0000000..8f6f8f8 Binary files /dev/null and b/src/assets/img/soft-1.jpg differ diff --git a/src/assets/img/soft-2.jpeg b/src/assets/img/soft-2.jpeg new file mode 100644 index 0000000..2eb6e85 Binary files /dev/null and b/src/assets/img/soft-2.jpeg differ diff --git a/src/assets/img/soft-3.jpeg b/src/assets/img/soft-3.jpeg new file mode 100644 index 0000000..a1cc524 Binary files /dev/null and b/src/assets/img/soft-3.jpeg differ diff --git a/src/assets/img/spreadsheeticon.png b/src/assets/img/spreadsheeticon.png new file mode 100755 index 0000000..5ffcbfb Binary files /dev/null and b/src/assets/img/spreadsheeticon.png differ diff --git a/src/assets/img/thegmailapp.png b/src/assets/img/thegmailapp.png new file mode 100644 index 0000000..8b56481 Binary files /dev/null and b/src/assets/img/thegmailapp.png differ diff --git a/src/assets/img/tmu.gif b/src/assets/img/tmu.gif new file mode 100755 index 0000000..b91b29e Binary files /dev/null and b/src/assets/img/tmu.gif differ diff --git a/src/assets/img/tuerca_def.gif b/src/assets/img/tuerca_def.gif new file mode 100644 index 0000000..bdf7f4f Binary files /dev/null and b/src/assets/img/tuerca_def.gif differ diff --git a/src/assets/img/valores.png b/src/assets/img/valores.png new file mode 100644 index 0000000..d158341 Binary files /dev/null and b/src/assets/img/valores.png differ diff --git a/src/assets/img/vaultmock.png b/src/assets/img/vaultmock.png new file mode 100755 index 0000000..700a474 Binary files /dev/null and b/src/assets/img/vaultmock.png differ diff --git a/src/assets/templates/news.tpl.html b/src/assets/templates/news.tpl.html new file mode 100755 index 0000000..04ddf1b --- /dev/null +++ b/src/assets/templates/news.tpl.html @@ -0,0 +1,47 @@ + + diff --git a/src/assets/video/atwork.mp4 b/src/assets/video/atwork.mp4 new file mode 100755 index 0000000..0af397c Binary files /dev/null and b/src/assets/video/atwork.mp4 differ diff --git a/src/assets/video/atwork.ogv b/src/assets/video/atwork.ogv new file mode 100755 index 0000000..837a39a Binary files /dev/null and b/src/assets/video/atwork.ogv differ diff --git a/src/assets/video/atwork2.mp4 b/src/assets/video/atwork2.mp4 new file mode 100755 index 0000000..f23ae02 Binary files /dev/null and b/src/assets/video/atwork2.mp4 differ diff --git a/src/favicon.ico b/src/favicon.ico new file mode 100755 index 0000000..8a076fb Binary files /dev/null and b/src/favicon.ico differ diff --git a/src/index.html b/src/index.html new file mode 100755 index 0000000..39965e8 --- /dev/null +++ b/src/index.html @@ -0,0 +1,79 @@ + + + + Edosoft Factory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% styles.forEach( function ( file ) { %> + + <% }); %> + + + + + + + + + + + + +<% scripts.forEach( function ( file ) { %> + +<% }); %> + + + + + diff --git a/src/js/main.js b/src/js/main.js new file mode 100755 index 0000000..b6de85e --- /dev/null +++ b/src/js/main.js @@ -0,0 +1,134 @@ +/* +$(document).ready(function() { + //variable for the 'stroke-dashoffset' unit + var $dashOffset = $(".path").css("stroke-dashoffset"); + //on a scroll event - execute function + $(window).scroll(function() { + //calculate how far down the page the user is + var $percentageComplete = (($(window).scrollTop() / ($("html").height() - $(window).height())) * 100); + //convert dashoffset pixel value to interger + var $newUnit = parseInt($dashOffset, 10); + //get the value to be subtracted from the 'stroke-dashoffset' + var $offsetUnit = $percentageComplete * ($newUnit / 100); + //set the new value of the dashoffset to create the drawing effect + $(".path").css("stroke-dashoffset", $newUnit - $offsetUnit); + console.log("tamaño -> ", $newUnit - $offsetUnit); + }); +}); +//BORRAR DE AQUI PARA ARRIBA*/ + + +//smooth scroll +$(function() { + $('.scroll-to a[href*=#]:not([href=#])').click(function() { + if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { + + var target = $(this.hash); + target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); + if (target.length) { + $('html,body').animate({ + scrollTop: target.offset().top + }, 1000); + return false; + } + } + }); +}); + +/* ============================================== + Auto Close Responsive Navbar on Click + =============================================== */ + +function close_toggle() { + if ($(window).width() <= 768) { + $('.navbar-collapse a').on('click', function(){ + $('.navbar-collapse').collapse('hide'); + }); + } + else { + $('.navbar .navbar-default a').off('click'); + } +} +close_toggle(); + +$(window).resize(close_toggle); + + +/* ============================================== + WOW plugin triggers animate.css on scroll + =============================================== */ + +var wow = new WOW( + { + boxClass: 'wow', // animated element css class (default is wow) + animateClass: 'animated', // animation css class (default is animated) + offset: 100, // distance to the element when triggering the animation (default is 0) + mobile: false // trigger animations on mobile devices (true is default) + } +); +wow.init(); + + + $(window).scroll(function () { + if ($(this).scrollTop() > 100) { + $('#').removeClass('cabecera-hidden'); + } + else { + $('#').addClass('cabecera-hidden'); + } + }); +/******************************* G SUITE NUEVO *************************/ + + +//smooth scroll +$(function() { + $('.scroll-to a[href*=#]:not([href=#])').click(function() { + if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { + + var target = $(this.hash); + target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); + if (target.length) { + $('html,body').animate({ + scrollTop: target.offset().top + }, 1000); + return false; + } + } + }); +}); + +/* ============================================== + Auto Close Responsive Navbar on Click + =============================================== */ + +function close_toggle() { + if ($(window).width() <= 768) { + $('.navbar-collapse a').on('click', function(){ + $('.navbar-collapse').collapse('hide'); + }); + } + else { + $('.navbar .navbar-default a').off('click'); + } +} +close_toggle(); + +$(window).resize(close_toggle); + +/* ============================================== + WOW plugin triggers animate.css on scroll + =============================================== */ + +var wow = new WOW( + { + boxClass: 'wow', // animated element css class (default is wow) + animateClass: 'animated', // animation css class (default is animated) + offset: 100, // distance to the element when triggering the animation (default is 0) + mobile: false // trigger animations on mobile devices (true is default) + } +); +wow.init(); + + + + diff --git a/src/less/README.md b/src/less/README.md new file mode 100755 index 0000000..a767315 --- /dev/null +++ b/src/less/README.md @@ -0,0 +1,28 @@ +# The `src/less` Directory + +This folder is actually fairly self-explanatory: it contains your LESS/CSS files to be compiled during the build. +The only important thing to note is that *only* `main.less` will be processed during the build, meaning that all +other stylesheets must be *imported* into that one. + +This should operate somewhat like the routing; the `main.less` file contains all of the site-wide styles, while +any styles that are route-specific should be imported into here from LESS files kept alongside the JavaScript +and HTML sources of that component. For example, the `home` section of the site has some custom styles, which +are imported like so: + +```css +@import '../app/home/home.less'; +``` + +The same principal, though not demonstrated in the code, would also apply to reusable components. CSS or LESS +files from external components would also be imported. If, for example, we had a Twitter feed directive with +an accompanying template and style, we would similarly import it: + +```css +@import '../common/twitterFeed/twitterFeedDirective.less'; +``` + +Using this decentralized approach for all our code (JavaScript, HTML, and CSS) creates a framework where a +component's directory can be dragged and dropped into *any other project* and it will "just work". + +I would like to eventually automate the importing during the build so that manually importing it here would no +longer be required, but more thought must be put in to whether this is the best approach. diff --git a/src/less/main.less b/src/less/main.less new file mode 100755 index 0000000..e3a6a2b --- /dev/null +++ b/src/less/main.less @@ -0,0 +1,5297 @@ +/** +* This is the main application stylesheet. It should include or import all +* stylesheets used throughout the application as this is the only stylesheet in +* the Grunt configuration that is automatically processed. +*/ + + +/** +* First, we include the Twitter Bootstrap LESS files. Only the ones used in the +* project should be imported as the rest are just wasting space. +*/ + +@import '../../vendor/bootstrap/less/bootstrap.less'; + + +/** +* This is our main variables file. We must include it last so we can overwrite any variable +* definitions in our imported stylesheets. +*/ + +@import 'variables.less'; + + +/** +* Typography + +*/ + +@media screen and (min-width: 800px) { + nav.cabecera-hidden { + opacity: 0; + transition: all 0.4s ease-out; + } +} + +@media screen and (max-width: 993px){ + .imglogo{ + width: 260px !important; + } +} + + + +body { + -webkit-font-smoothing:antialiased; + -webkit-text-size-adjust:100%; + -ms-text-size-adjust:100%; + font-family:'Open Sans', sans-serif !important; + color: #595B5B; + font-size:14px; + line-height:24px; + background-color:#ffffff; +} +*, *:before, *:after { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; +} +:focus { + outline:0 !important; +} +iframe { + border:none; + width:100%; +} +::selection { + background:#fefac7; + color:#555555; +} +::-moz-selection { + background:#fefac7; + color:#555555; +} +strong, b { + font-weight:700 !important; + margin-left: 10px; + margin-right: 10px; + font-family:'Ubuntu Mono', monospace; + line-height:normal; + margin:0 0 20px; + text-align: left; + color: #595B5B; + font-weight: normal; + font-size: 14px; + line-height: 1.7; + text-align : left; +} +span{ + font-weight:700 !important; + margin-left: 10px; + margin-right: 10px; + font-family:'Ubuntu Mono', monospace; + line-height:normal; + margin:0 0 20px; + text-align: left; + color: white; + font-weight: normal; + font-size: 14px; + line-height: 1.7; + text-align : left; +} +.span-copy{ + font-weight:700 !important; + margin-left: 10px; + font-family:'Ubuntu Mono', monospace; + line-height:normal; + text-align: left; + color: white; + font-weight: normal; + font-size: 16px; + line-height: 1.7; + padding-left: 20px; +} + +u { + font-family:'Ubuntu Mono', monospace; + line-height:normal; + margin:0 0 20px; + text-align: left; + color: #595B5B; + font-weight: normal; + font-size: 14px; + +} +.white-strong{ + color: #ffffff; +} +input, button { + font-family:'Open Sans', sans-serif; + font-size:14px; + font-weight:400; +} +select, textarea { + font-family:'Open Sans', sans-serif; + font-size:14px; + font-size:12px; + font-weight:400; + border:1px solid #dddddd; + -webkit-border-radius:0; + -moz-border-radius:0; + border-radius:0; + color:#7a7a7a; + -webkit-box-shadow:none; + -moz-box-shadow:none; + box-shadow:none; + background:#ffffff; + -webkit-transition:all 200ms ease-in; + -o-transition:all 200ms ease-in; + -moz-transition:all 200ms ease-in; + transition:all 200ms ease-in; +} +hr { + background-color: #162f50; + border:0; + height:1px; + margin:22px 0 22px 0; +} +a { + color: #595B5B; + -webkit-transition:all 200ms ease-in; + -o-transition:all 200ms ease-in; + -moz-transition:all 200ms ease-in; +} +a:hover, a:focus { + color: #5071ae; + text-decoration:none; +} +.colored-text { + color: #5071ae; +} +.white-text { + color: white; + text-align: center; +} +.padded-section { + margin-left: 180px; + margin-right: 180px; +} +p { + font-weight:500 !important; + margin-left: 10px; + margin-right: 10px; + font-family:'Ubuntu Mono', monospace; + line-height: normal; + margin:0 0 20px; + color: #595B5B; + font-weight: normal; + font-size: 16px; + line-height: 1.7; + text-align : left; + margin-top: 10px; +} + +.formunuevo { + *::-webkit-input-placeholder { + /* Google Chrome y Safari */ + font-family:'Ubuntu Mono', monospace; + } + *:-moz-placeholder { + /* Firefox anterior a 19 */ + font-family:'Ubuntu Mono', monospace; + } + *::-moz-placeholder { + /* Firefox 19 y superior */ + font-family:'Ubuntu Mono', monospace; + } + *:-ms-input-placeholder { + /* Internet Explorer 10 y superior */ + font-family:'Ubuntu Mono', monospace; + } +} + +@keyframes circle { + from{ + transform: rotate(0); + } + to{ + transform: rotate(360deg); + } + +} +.circle { + animation: circle 9s infinite; +} + +ul { + li, li a { + font-family:'Ubuntu Mono', monospace; + } +} + +.slogan{ + color: white; + text-align: center; + vertical-align: middle; + font-size: 35px; + margin-top: 350px; + line-height: 1.3; + +} +h1 { + font-weight:700; + margin:0; + margin:0 0 44px 0; + font-family:'Open Sans', sans-serif !important; + font-size:3.2em; +} +h2 { + text-align: center; + font-weight:200; + font-weight:300; + margin:0; + margin:0 0 32px 0; + font-family:'Open Sans', sans-serif !important; + font-size:2.6em; +} +h3 { + text-align: center; + color: #5071ae; + font-weight:400; + margin:0; + font-family:'Ubuntu Mono', monospace !important; + font-size:2.3em; + letter-spacing:3px; + line-height:24px; + margin-bottom:33px; + margin-top: 33px; + line-height: 1.6; +} +h4 { + color: #5071ae; + font-weight:400; + margin:0; + margin:5px 0px 14px 14px; + font-family:'Ubuntu Mono', monospace; + font-size:2.5em; + letter-spacing:normal; + line-height:45px; + text-align: left; + margin-bottom: 35px; + margin-top: 35px; +} +.tittle-blog{ + font-size:16px; + line-height: 0px; + +} +h5 { + color: #5071ae; + /* + color: #5b7999;*/ + font-weight:700; + margin:0; + margin:0 0 0px 0; + font-family:'Ubuntu', monospace !important; + font-size:1.5em; + letter-spacing:normal; + line-height:27px; + text-align: left; + margin-bottom: 10px; +} +h6 { + color: darkslategrey; + font-weight:700; + margin:0; + font-family:'Ubuntu', monospace !important; + font-size:1em; + letter-spacing:normal; + line-height:18px; +} +h3.heading { + border-bottom:1px solid #e5e5e5; + color: #595B5B; + font-size:18px; + font-weight:700; + vertical-align:middle; + text-align:center; + font-style:normal; + margin:0 0 25px; + padding-bottom:10px; + position:relative; + text-transform:uppercase; +} +h3.heading:before { + position:absolute; + content:""; + height:1px; + background: #5071ae; + width:90px; + bottom:-1px; + left:0px; +} +.center-heading { + text-align:center; + vertical-align:middle; + margin-bottom:40px; + h2 { + text-align: center; + font-weight:200; + text-transform:uppercase; + margin-bottom:5px; + font-size:26px; + letter-spacing:0.1em; + } + p { + margin-top:10px; + } +} +.center-line { + display:inline-block; + width:70px; + height:6px; + border-top:1px solid #5071ae; + border-bottom:1px solid #5071ae; + margin:auto; +} +.divide0 { + width:100%; + height:0px; +} +.divide2 { + width:100%; + height:2px; +} +.divide3 { + width:100%; + height:3px; +} +.divide5 { + width:100%; + height:5px; +} +.divide10 { + width:100%; + height:10px; +} +.divide15 { + width:100%; + height:15px; +} +.divide20 { + width:100%; + height:20px; +} +.divide25 { + width:100%; + height:25px; +} +.divide30 { + width:100%; + height:30px; +} +.divide35 { + width:100%; + height:35px; +} +.divide40 { + width:100%; + height:40px; +} +.divide45 { + width:100%; + height:40px; +} +.divide50 { + width:100%; + height:50px; +} +.divide55 { + width:100%; + height:55px; +} +.divide60 { + width:100%; + height:60px; +} +.divide65 { + width:100%; + height:65px; +} +.divide70 { + width:100%; + height:70px; +} +.divide75 { + width:100%; + height:75px; +} +.divide80 { + width:100%; + height:80px; +} +.divide85 { + width:100%; + height:85px; +} +.margin10 { + margin-bottom:10px; +} +/*.margin20 { +margin-bottom:20px; +}*/ +.margin30 { + margin-bottom:30px; +} +.margin40 { + margin-bottom:40px; +} +.navbar-default { + font-family:'Ubuntu', monospace; + border:none; + border-radius:0; + margin-bottom:0; + width:100%; + min-height:80px; + padding:5px 0; + box-shadow:-1px 1px 1px rgba(0,0,0,0.1); + background-color:rgba(255,255,255,0.8); + transition:all 0.4s ease-in-out; + -webkit-transition:all 0.4s ease-in-out; + -moz-transition:all 0.4s ease-in-out; + -o-transition:all 0.4s ease-in-out; + -ms-transition:all 0.4s ease-in-out; + .navbar-nav > .active { + > a, > a:hover, > a:focus { + color:#162f50; + background-color:rgba(255,255,255,0.66); + border-radius: 2px; + + } + } + .navbar-nav > .open { + > a, > a:hover, > a:focus { + color:#162f50; + background-color:transparent; + } + } + .navbar-nav > li > a { + color: #5071ae; + font-weight:600; + font-size:16px; + font-family:'Ubuntu', monospace; + margin-top: 20px; + vertical-align: middle; + } + .navbar-nav > li > a:hover { + color:#162f50; + } +} +.navbar-brand { + img { + max-height: 80px; + } + text-align: center; + vertical-align: middle; + font-weight:700; + color:#777777; + background-color:transparent; + font-size:30px; + line-height:20px; + font-style:normal; + text-transform:uppercase; +} +.navbar .dropdown-menu { + padding:5px; + margin:0; + text-align: center; + min-width:190px; + background-color: #cfcfcf; + border:none; + -webkit-border-radius:0; + -moz-border-radius:0; + border-radius:0; + li a { + font-weight:300; + text-transform:uppercase; + text-align: left + padding:9px 20px; + font-size:12px; + -webkit-transition:all 200ms ease-in; + -o-transition:all 200ms ease-in; + -moz-transition:all 200ms ease-in; + transition:all 200ms ease-in; + color:#999999; + } + li a:hover { + background-color:#1e347b ; + color:#ffffff; + } + li:last-child a { + border-bottom:0 !important; + } +} + +.dropdown-item { + padding:5px; + margin:0; + text-align: center; + min-width:190px; + color: #2b81af; + border: none; + -webkit-border-radius:0; + -moz-border-radius:0; + border-radius:0; + li a { + font-weight:100; + text-transform:uppercase; + text-align: left; + padding:9px 20px; + font-size:12px; + -webkit-transition:all 200ms ease-in; + -o-transition:all 200ms ease-in; + -moz-transition:all 200ms ease-in; + transition:all 200ms ease-in; + color:#1e347b; + } + li a:hover a:focus { + background-color:#1e347b ; + color:#ffffff; + } + li:last-child a { + border-bottom:0 !important; + } +} +.search-dropdown { + min-width:244px !important; +} +.dropdown-menu .label { + margin-top:6px; +} +.dropdown-menu .divider { + background-color:#cfcfcf; +} +#header-top { + background-color:#ffffff; +} +.top-bar { + min-height:60px; + line-height:60px; + a { + margin-right:30px; + font-size:13px; + color:#cfcfcf; + i { + margin-right:10px; + color:#000000; + } + } +} +.top-social { + margin:0; + padding:0; + li a { + font-size:14px; + color:#888888; + margin:0px; + display:block; + i { + width:26px; + height:26px; + line-height:26px; + text-align:center; + margin:0px; + background-color:transparent; + color:#222222; + border:1px solid #252525; + border-radius:2px; + -webkit-border-radius:2px; + } + i:hover { + color:#ffffff; + background-color:#252525; + } + } +} +.yamm-content { + padding:25px; + box-sizing:border-box; + background-color:rgba(30,30,30,0.97); + h3.heading { + border-bottom:none; + margin:0 0 5px; + color:#b0b0b0; + font-size:14px; + } + h3:before { + content:""; + display:none; + } + .mega-vertical-nav { + margin-bottom:30px; + li { + border-bottom:1px solid rgba(255,255,255,0.03); + a { + padding:6px 0px; + transition:all 0.3s ease-in; + color:#777777; + font-size:12px; + font-weight:300; + text-transform:uppercase; + } + } + } +} +.nav.mega-vertical-nav li a:hover { + background-color:#222222; + color:#ffffff; + padding:6px 10px; +} +.mega-contact p { + margin:0; +} +.mega-contact i { + color:#5071ae; + margin-right:10px; +} +.dropdown-form { + padding:10px 15px; + min-width:213px; + .form-control { + height:31px; + } +} +.btn { + font-weight:400; + letter-spacing:2px; + font-family:'Open Sans', sans-serif; + font-size:12px; + text-transform:uppercase; + border-radius:2px; + -webkit-border-radius:2px; + i { + margin-right:10px; + } +} +.btn-lg { + padding:14px 28px 13px 28px; + font-size:12px; + font-weight:500; + text-transform:uppercase; +} +.btn:focus, .btn:hover { + outline:0; + color:#ffffff; +} +.btn-xs { + font-size:12px; +} +.btn-theme-bg { + border-color:#5071ae !important; + color:#ffffff; + background-color:#5071ae !important; +} +.btn-theme-bg:hover { + background-color:#333333 !important; + border-color:#333333 !important; +} +.btn-theme-dark { + background-color:#333333; + color:#ffffff; +} +.btn-theme-dark:hover { + color:#ffffff; + background-color:#5071ae; +} +.border-black { + border:1px solid #000000; + color:#000000; + background-color:transparent; +} +.border-black:hover { + background-color:#000000; + border-color:#000000; + color:#ffffff; +} +.border-white { + border:1px solid #ffffff; + color:#ffffff; +} +.border-white:hover { + background-color:#ffffff; + border-color:#ffffff; + color:#000000; +} +.border-theme { + border:1px solid #5071ae; + color:#5071ae; +} +.border-theme:hover { + background-color:#5071ae; + border-color:#5071ae; + color:#ffffff; +} +.item-img-wrap { + position:relative; + text-align:center; + overflow:hidden; + img { + -webkit-transition:all 200ms linear; + -moz-transition:all 200ms linear; + -o-transition:all 200ms linear; + -ms-transition:all 200ms linear; + transition:all 200ms linear; + } +} +.item-img-overlay { + position:absolute; + width:100%; + height:100%; + left:0; + top:0; + span { + width:100%; + height:100%; + position:absolute; + top:0; + left:0; + background:url(../img/plus.png) no-repeat center center rgba(108,168,255,0.7); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter:alpha(opacity=0); + opacity:0; + -webkit-transition:opacity 250ms linear; + transition:opacity 250ms linear; + } +} +.item-img-wrap:hover .item-img-overlay span { + opacity:1; +} +.item-img-wrap:hover img { + -moz-transform:scale(1.1); + -webkit-transform:scale(1.1); + -o-transform:scale(1.1); + transform:scale(1.1); +} +input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], .form-control { + border:1px solid #dddddd; + -webkit-border-radius:0; + -moz-border-radius:0; + border-radius:0; + font-size:12px; + color:#7a7a7a; + -webkit-box-shadow:none; + -moz-box-shadow:none; + box-shadow:none; + background:#ffffff; + -webkit-transition:all 200ms ease-in; + -o-transition:all 200ms ease-in; + -moz-transition:all 200ms ease-in; + transition:all 200ms ease-in; +} +textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus, .form-control:focus { + border-color:#bbbbbb; + background:#ffffff; + -webkit-box-shadow:none; + -moz-box-shadow:none; + box-shadow:none; +} +.parallax { + background-position:0 0; + background-repeat:no-repeat; + background-size:100% auto; + background-size:cover; + width:100%; + background-attachment:fixed; +} +/*carousel*/ +#myCarousel { + background:url(../img/showcase-5.jpg) no-repeat; +} +.item-c-slide { + height:480px; +} +.slide-text { + margin-top:120px; + h1 { + color:#ffffff; + font-weight:700; + font-size:75px; + letter-spacing:0.10em; + line-height:80px; + margin-bottom:0px; + text-transform:uppercase; + text-shadow:0 1px 2px rgba(0,0,0,0.25); + b { + color:#5071ae !important; + color:#ffffff; + font-weight:700; + } + } + p { + color:#ffffff; + font-weight:bold; + font-size:18px; + font-family:'Open Sans', sans-serif; + line-height:30px; + } +} +.slide-img img { + margin-top:40px; +} +.slider-reg { + width:100%; +} +.main-flex-slider { + position:relative; + .flex-control-nav { + bottom:10px; + margin:0; + height:14px; + z-index:10; + } + .flex-control-paging li a { + background-color:rgba(255,255,255,0.7) !important; + width:36px; + height:2px; + display:block; + background:rgba(255,255,255,0.1); + cursor:pointer; + text-indent:-9999px; + -webkit-border-radius:0; + -moz-border-radius:0; + -o-border-radius:0; + border-radius:0; + box-shadow:none; + } + .flex-control-paging li a.flex-active { + background-color:#5071ae !important; + } +} +.slider-overlay { + background:rgba(0,0,0,0.4); + background-image:url('../img/pattern.png'); + background-repeat:repeat; + position:absolute; + top:0; + left:0; + bottom:0; + right:0; +} +.slider-text { + text-align:center; + margin-top:30px; + h1 { + font-size:3.75em; + color:#ffffff; + padding:5px 10px 0px; + line-height:1.4; + font-weight:700; + margin-bottom:10px; + text-transform:uppercase; + text-align:center; + } + p { + color:#ffffff; + font-size:20px; + margin-bottom:25px; + a { + font-style:normal; + } + } +} +.delay-1 { + -webkit-animation-delay:300ms; + -moz-animation-delay:300ms; + animation-delay:300ms; +} +.delay-2 { + -webkit-animation-delay:600ms; + -moz-animation-delay:600ms; + animation-delay:600ms; +} +.delay-3 { + -webkit-animation-delay:1200ms; + -moz-animation-delay:1200ms; + animation-delay:1200ms; +} +.delay-4 { + -webkit-animation-delay:1500ms; + -moz-animation-delay:1500ms; + animation-delay:1500ms; +} +.intro-text { + /* margin-top: 100px;*/ + height: 100%x; + background-color: #5071ae; + + h2 { + color: #595B5B; + font-weight:200; + margin-bottom:55px; + margin-top: 100px; + font-family:'Open Sans', sans-serif; + } + a { + margin:7px; + } +} +#home-parallax { + background:url('../img/showcase-5.jpg') no-repeat; + padding:190px 0; + p { + color:#ffffff; + } +} +.typed-cursor { + opacity:1; + -webkit-animation:blink 0.7s infinite; + -moz-animation:blink 0.7s infinite; + animation:blink 0.7s infinite; + color:#5071ae; +} +.parallax-buttons { + display:block; + text-align:center; + margin-top: 20px; + a { + display:inline-block; + margin:5px; + } +} +h1.typed-text { + color:#ffffff; + text-transform:uppercase; + margin-bottom:20px; + font-weight:300; +} +.typed-text .element { + color:#5071ae; +} +.services-wrap { + padding-top:60px; + padding-bottom:40px; + background-color:#ffffff; +} +.services-box { + clear:both; +} +.services-box-icon { + background:transparent; + width:50px; + height:50px; + height:35px; + display:inline-block; + float:left; + line-height:35px; + margin-right:10px; + position:relative; + text-align:center; + top:5px; + i { + color:#5071ae; + font-size:30px; + } +} +.services-box-info { + //padding-left:60px; + vertical-align:middle; + h4 { + font-weight:700; + font-size:18px; + vertical-align:middle; + } +} +.service-box i { + width:85px; + height:190px; + line-height:85px; + text-align:center; + color:#5071ae; + font-size:30px; + background-color:#f7f9fa; + border-radius:50%; + -webkit-border-radius:50%; + margin-bottom:25px; + -webkit-transition:0.7s ease-in-out; + -moz-transition:0.7s ease-in-out; + -ms-transition:0.7s ease-in-out; + -o-transition:0.7s ease-in-out; + transition:0.7s ease-in-out; +} +.service-box h3 { + font-size:20px; + text-transform:uppercase; + margin-bottom:15px; + font-weight:500; +} +.service-box:hover i { + -webkit-transform:rotateY(360deg); + -moz-transform:rotateY(360deg); + -ms-transform:rotateY(360deg); + -o-transform:rotateY(360deg); + color:#ffffff; + background-color:#5071ae; +} +.service-box2 i { + width:85px; + height:85px; + line-height:85px; + text-align:center; + color:#dd5a5f; + font-size:30px; + background-color:#f7f9fa; + border-radius:50%; + -webkit-border-radius:50%; + margin-bottom:25px; + -webkit-transition:0.7s ease-in-out; + -moz-transition:0.7s ease-in-out; + -ms-transition:0.7s ease-in-out; + -o-transition:0.7s ease-in-out; + transition:0.7s ease-in-out; +} +.service-box2 h3 { + font-size:20px; + text-transform:uppercase; + margin-bottom:15px; + font-weight:500; +} +.service-box2:hover i { + -webkit-transform:rotateY(360deg); + -moz-transform:rotateY(360deg); + -ms-transform:rotateY(360deg); + -o-transform:rotateY(360deg); + color:#ffffff; + background-color:#dd5a5f; +} +.service-box3 i { + width:85px; + height:85px; + line-height:85px; + text-align:center; + color:#6bab78; + font-size:30px; + background-color:#f7f9fa; + border-radius:50%; + -webkit-border-radius:50%; + margin-bottom:25px; + -webkit-transition:0.7s ease-in-out; + -moz-transition:0.7s ease-in-out; + -ms-transition:0.7s ease-in-out; + -o-transition:0.7s ease-in-out; + transition:0.7s ease-in-out; +} +.service-box3 h3 { + font-size:20px; + text-transform:uppercase; + margin-bottom:15px; + font-weight:500; +} +.service-box3:hover i { + -webkit-transform:rotateY(360deg); + -moz-transform:rotateY(360deg); + -ms-transform:rotateY(360deg); + -o-transform:rotateY(360deg); + color:#ffffff; + background-color:#6bab78; +} + +.service-box4 i { + width:85px; + height:85px; + line-height:85px; + text-align:center; + color:#f7ad5c; + font-size:30px; + background-color:#f7f9fa; + border-radius:50%; + -webkit-border-radius:50%; + margin-bottom:25px; + -webkit-transition:0.7s ease-in-out; + -moz-transition:0.7s ease-in-out; + -ms-transition:0.7s ease-in-out; + -o-transition:0.7s ease-in-out; + transition:0.7s ease-in-out; +} +.service-box4 h3 { + font-size:20px; + text-transform:uppercase; + margin-bottom:15px; + font-weight:500; +} +.service-box4:hover i { + -webkit-transform:rotateY(360deg); + -moz-transform:rotateY(360deg); + -ms-transform:rotateY(360deg); + -o-transform:rotateY(360deg); + color:#ffffff; + background-color:#f7ad5c; +} + + +#services-bg-wrap { + padding:90px 0; + background-color:#f7f9fa; +} +.service-3-meta h1 { + font-weight:700; + text-transform:uppercase; + font-size:25px; +} +.special-feature .section-title hr { + border-color:#151515; +} +.special-feature i { + font-size:65px; + line-height:75px; + color:#5071ae; +} +.special-feature h4 { + font-size:16px; + margin-top:25px; + position:relative; + text-transform:uppercase; + font-weight:700; + color:#777777; +} +.special-feature .mask-top { + width:100%; + background-color:#ffffff; + padding:55px 0; + position:absolute; + top:0px; + -webkit-transition:all 0.3s ease-out 0s; + -moz-transition:all 0.3s ease-out 0s; + -o-transition:all 0.3s ease-out 0s; + -ms-transition:all 0.3s ease-out 0s; + transition:all 0.3s ease-out 0s; + h4:before { + top:-18px; + content:""; + display:block; + height:2px; + left:0; + right:0; + margin:-2px auto; + position:absolute; + width:40px; + } +} +.special-feature .s-feature-box:hover .mask-top { + top:-200px; + -webkit-transition:all 0.3s ease-out 0s; + -moz-transition:all 0.3s ease-out 0s; + -o-transition:all 0.3s ease-out 0s; + -ms-transition:all 0.3s ease-out 0s; + transition:all 0.3s ease-out 0s; +} +.special-feature .s-feature-box:hover .mask-bottom { + bottom:0; + -webkit-transition:all 0.3s ease-out 0s; + -moz-transition:all 0.3s ease-out 0s; + -o-transition:all 0.3s ease-out 0s; + -ms-transition:all 0.3s ease-out 0s; + transition:all 0.3s ease-out 0s; +} +.special-feature .s-feature-box { + overflow:hidden; + position:relative; + height:280px; + border:1px solid #f2f2f2; + margin-bottom:20px; + cursor:pointer; +} +.special-feature .mask-bottom { + color:#5071ae; + padding:20px 15px 20px 15px; + width:100%; + position:absolute; + bottom:-300px; + height:100%; + -webkit-transition:all 0.3s ease-out 0s; + -moz-transition:all 0.3s ease-out 0s; + -o-transition:all 0.3s ease-out 0s; + -ms-transition:all 0.3s ease-out 0s; + transition:all 0.3s ease-out 0s; + p { + padding:0px 5px; + font-size:13px; + } + h4 { + margin:15px 0px 17px; + } + i { + font-size:38px; + line-height:50px; + } +} +.grabbing { + cursor:url(../img/grabbing.png) 8 8, move !important; +} +.portfolio { + padding:60px 0; + background-color:#f5f5f5; +} +.work-desc { + width:100%; + padding:10px 20px; + background:#ffffff; + border-top:none; + position:relative; + h3 { + margin:0; + padding:0; + font-size:16px; + font-weight:400; + text-transform:capitalize; + } + span { + font-weight:400; + font-style:normal; + } +} +.work-desc:before { + content:""; + display:block; + position:absolute; + top:-8px; + margin-left:20px; + width:8px; + height:8px; + border-left:8px solid transparent; + border-right:8px solid transparent; + border-bottom:8px solid #ffffff; + z-index:100; +} +.owl-spaced .owl-item > div { + margin:5px; +} +#grid .mix { + display:none; + opacity:0; +} +.portfolio-filters { + margin-bottom:30px; + list-style-type:none; + margin-left:0px; + width:100%; + padding-left:0px; + li { + font-size:11px; + letter-spacing:0.5px; + background:transparent; + padding:4px 12px; + margin-bottom:5px; + color:#888888; + cursor:pointer; + display:inline-block; + border:1px solid #888888; + -webkit-transition:0.2s all linear; + -webkit-transition:all 0.3s ease-out; + -moz-transition:0.2s all linear; + -moz-transition:all 0.3s ease-out; + transition:0.2s all linear; + transition:all 0.3s ease-out; + text-transform:uppercase; + -o-transition:all 0.3s ease-out; + } + li:hover { + background-color:#5071ae; + color:#ffffff; + border-color:#5071ae; + } + li.active { + color:#ffffff; + background-color:#5071ae; + border-color:#5071ae; + } +} +.project-detail h3 { + margin-bottom:10px; +} +h3.heading-progress { + font-size:14px; + font-weight:400; + margin-bottom:6px; + margin-top:0px; +} +.progress { + height:15px; + line-height:10px; + box-shadow:none; + -webkit-box-shadow:none; + background:#e9e9e9; + border-radius:0; +} +.progress-bar { + line-height:10px; + background:#5071ae; + box-shadow:none; + -webkit-box-shadow:none; +} +.news-desc { + padding:15px 0; + h4 { + margin:0px; + font-weight:400; + } + span { + font-size:12px; + font-weight:400; + font-style:normal; + + span { + padding-left:30px; + } + } +} +.latest-new { + border:1px solid #dddddd; +} +.blog-date { + width:60px; + height:60px; + padding:6px 5px; + margin:-40px auto 10px auto; + line-height:1; + font-weight:300; + color:#000000; + border-radius:5px; + font-size:36px; + text-align:center; + position:relative; + overflow:hidden; + background-color:#ffffff; + span { + font-weight:400; + font-size:15px; + display:block; + } +} +.l-news-desc { + padding:10px 20px; + h3 { + margin-bottom:15px; + } +} +ul.post-desc { + padding:0; + li { + font-size:11px; + font-weight:400; + text-transform:uppercase; + color:#777777; + + li { + padding-left:15px; + } + } +} +.blog-post { + border-bottom:1px dashed #e5e5e5; + padding-bottom:30px; + margin-bottom:60px; + h2 { + font-size:25px; + margin-bottom:15px; + margin-top:15px; + font-weight:400; + } +} +.post-detail { + margin-top:25px; + margin-bottom:0px; + li { + font-size:12px; + color:#777777; + font-weight:500; + vertical-align:middle; + text-transform:uppercase; + img { + width:26px; + height:26px; + border-radius:13px; + -webkit-border-radius:13px; + float:left; + margin-right:10px; + } + + li { + padding-left:15px; + } + i { + margin-right:5px; + } + } +} +.blog-left-img .post-detail { + margin-top:0px; +} +.about-author { + background-color:#f5f5f5; + padding:30px; + margin-bottom:50px; + img { + width:120px; + height:120px; + float:left; + margin-right:10px; + -webkit-border-radius:3px; + border-radius:3px; + } + p { + overflow:hidden; + } +} +.comment-list { + padding-bottom:5px; + margin-bottom:30px; +} +.comment-post h4 img { + width:60px; + height:60px; + margin-right:20px; + float:left; +} +.comment-post p { + overflow:hidden; +} +.comment-form .form-contact .form-control { + background-color:#f5f5f5; +} +.testimonials { + background:#333333; + padding:80px 0; + .center-heading h2 { + color:#ffffff; + } + h4 { + color:#ffffff; + font-weight:700; + font-size:20px; + line-height:36px; + font-style:italic; + i { + color:#5071ae; + margin-right:5px; + } + } + p { + color:#5071ae; + font-size:25px; + font-weight:400; + font-style:normal; + } +} +.customer-img { + max-width:92px; + margin:auto; + margin-bottom:25px; + border-radius:50%; + -webkit-border-radius:50%; +} +.owl-theme .owl-controls .owl-page span { + display:block; + display:block; + width:25px !important; + width:12px; + height:5px !important; + height:12px; + margin:5px 7px; + margin:5px 7px; + filter:Alpha(Opacity=50); + filter:Alpha(Opacity=50); + opacity:0.5; + opacity:0.5; + -webkit-border-radius:0px !important; + -webkit-border-radius:20px; + -moz-border-radius:0px !important; + -moz-border-radius:20px; + border-radius:0px !important; + background:#444444 !important; + background:#5071ae !important; +} +.panel-group { + -webkit-box-shadow:0 0 1px rgba(0,0,0,0.05); + box-shadow:0 0 1px rgba(0,0,0,0.05); + .panel { + margin-bottom:0; + border-radius:0px; + -webkit-box-shadow:none; + -moz-box-shadow:none; + box-shadow:none; + + .panel { + margin-top:-2px; + } + } + .panel-heading { + padding:0; + background:white; + -webkit-box-shadow:none; + -moz-box-shadow:none; + box-shadow:none; + a { + position:relative; + display:block; + padding:12px 40px 12px 10px; + font-size:20px; + color:#505050; + line-height:1.5; + text-transform:none; + text-decoration:none; + } + } + .panel-body { + font-size:13px; + background:#f9f9f9; + -webkit-box-shadow:inset 0 0 3px 1px rgba(0,0,0,0.03); + box-shadow:inset 0 0 3px 1px rgba(0,0,0,0.03); + } +} +.panel-default > .panel-heading { + color:#000000; + background-color:#ffffff; + border-color:#5071ae !important; + padding:7px 12px; +} +.panel-title i { + margin-right:10px; + color:#5071ae; +} +#footer { + /*background:white; + border-top:4px solid #e1e1e1;*/ + font-size:0.9em; + padding:80px 0 0; + position:relative; + clear:both; +} +.footer-col h3 { + margin-top:50px; + font-size:18px; + font-weight:400; + font-style:normal; +} +.footer-col a { +} +.footer-col a:visited { + color:#ffffff; +} +.footer-col p { +} +.contact p { + margin-bottom:10px; +} +.contact strong { + margin-right:10px; + font-weight:bold; + i { + margin-right:5px; + } +} +.contact a { +} +.contact a:hover { + color:#5071ae; +} +.f2-work li { + margin:2px; + a img { + width:70px; + height:50px; + border:2px solid transparent; + -webkit-transition:0.7s ease-in-out; + -moz-transition:0.7s ease-in-out; + -ms-transition:0.7s ease-in-out; + -o-transition:0.7s ease-in-out; + transition:0.7s ease-in-out; + } + a:hover img { + border-color:#5071ae; + } +} +.footer-btm { + border-top-left-radius:6px; + border-top-right-radius:6px; + margin-bottom: 30px; +} +.news-form .form-control { + border-radius:3px; + -webkit-border-radius:3px; + height:30px; +} +#footer-option { + background:#121214; + border-top:4px solid #e1e1e1; + font-size:0.9em; + padding:80px 0 0; + position:relative; + clear:both; + .footer-col h3 { + font-size:17px; + font-weight:500; + text-transform:uppercase; + color:#ffffff; + } + .footer-btm { + background-color:#0c0c0c; + } + .contact a { + color:#777777; + } + .contact a:hover { + color:#5071ae; + } +} +.tweet ul { + list-style:none; + margin:0px; + padding:0px; + li { + color:#777777; + font-weight:500; + padding:8px 0; + font-size:15px; + .date { + padding:3px 0; + font-size:12px; + font-weight:400; + text-transform:uppercase; + } + img { + border-radius:50%; + -webkit-border-radius:50%; + margin-right:10px; + } + } + li:before { + content:"\f099"; + // font-family:'FontAwesome'; + margin-right:15px; + font-size:16px; + color:#5071ae; + } +} +.tweet li a { + color:#ffffff; + font-size:13px; +} +.tweet li a:hover { + color:#5071ae; +} +.latest-f-news li a { + display:block; + padding:4px 0; + color:#777777; + i { + -webkit-transition:0.4s ease-in-out; + -moz-transition:0.4s ease-in-out; + -ms-transition:0.4s ease-in-out; + -o-transition:0.4s ease-in-out; + transition:0.4s ease-in-out; + } +} +.latest-f-news li a:hover { + color:#ffffff; + i { + margin-left:5px; + } +} +.social-1 { + margin:0; + padding:0; + text-align: center; + li a i { + border-radius: 50px; + width:42px; + height:42px; + line-height:32px; + text-align:center; + vertical-align: middle; + color:#5071ae; + padding-top: 5px; + font-size:21px; + -webkit-transition:all 200ms ease-in; + -o-transition:all 200ms ease-in; + -moz-transition:all 200ms ease-in; + transition:all 200ms ease-in; + margin-top: 10px; + } + li a i:hover { + color: #ffffff; + } + li a i.fa-facebook { + background-color: #ffffff; + } + + li a i.fa-twitter { + background-color: #ffffff; + } + li a i.fa-google-plus { + background-color: #ffffff; + } + li a i.fa-pinterest { + background-color: #ffffff; + } + li a i.fa-dribbble { + background-color: #ffffff; + } + li a i.fa-linkedin { + background-color: #ffffff; + } + li a i.fa-youtube-play { + background-color: #ffffff; + } + li a i.fa-vimeo-square { + background-color: #ffffff; + } + + li a i.fa-google-plus:hover { + background-color: #dd5a5f; + } + li a i.fa-facebook:hover { + background-color: #6bab78; + } + li a i.fa-twitter:hover { + background-color: #f7ad5c; + } + li a i.fa-linkedin:hover { + background-color: #dd5a5f; + } + li a i.fa-youtube-play:hover { + background-color: #f7ad5c; + } + li a i.fa-vimeo-square:hover { + background-color: #6bab78; + } +} +.soon-bg { + background:url(../img/pattern.jpg); + padding:100px 0; + h2 { + color:#ffffff; + } +} +.countdown_amount { + display:block; + font-size:44px; + padding-top:25px; + line-height:20px; + font-weight:400; + color:#ffffff; +} +.countdown_section { + display:inline-block; + width:120px; + height:120px; + padding-top:13px; + margin:10px; + color:#ffffff; + border-radius:50%; + background-color:rgba(255,255,255,0.1); + box-shadow:0px 0px 3px rgba(0,0,0,0.3); + text-align:center; +} +.subscribe-form .form-control { + height:44px; + border-top-left-radius:3px; + border-bottom-left-radius:3px; +} +.purchase-sec { + padding:30px 0; + background:#5071ae; + span { + line-height:40px; + color:#ffffff; + font-size:25px; + font-weight:300; + } +} +.methodology { + background-color: #ffffff; + color:#595B5B; + margin-right:0px; +} +.services { + background:url(img/ef_wood.jpg) center; + color:#ffffff; + margin-right:0px; +} +.img-circle i { + width:85px; + height:85px; + line-height:85px; + text-align:center; + font-size:30px; + background-color:#ffffff; + border-radius:50%; + -webkit-border-radius:50%; + margin-bottom:25px; +} +.fun-fact-wrap { + background:#ffffff; + padding-top:100px; + padding-bottom:70px; +} +.facts-in { + text-align:center; + h3 { + margin-bottom:25px; + font-size:50px; + font-weight:700; + color:#595B5B; + i { + font-size:40px; + margin-right:20px; + color:#5071ae; + } + } + h4 { + margin-bottom:0px; + color:#595B5B; + } +} +.static-bg { + background:url(../img/showcase-3.jpg); + padding-top:230px; + padding-bottom:200px; + h3:before { + content:""; + height:3px; + background:#ffffff; + background:-moz-linear-gradient(45deg,#009ada 0%,#04bfbf 100%); + background:-webkit-gradient(linear,left bottom,right top,color-stop(0%,#009ada),color-stop(100%,#04bfbf)); + background:-webkit-linear-gradient(45deg,#009ada 0%,#04bfbf 100%); + background:-o-linear-gradient(45deg,#009ada 0%,#04bfbf 100%); + background:-ms-linear-gradient(45deg,#009ada 0%,#04bfbf 100%); + background:linear-gradient(45deg,#009ada 0%,#04bfbf 100%); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#009ada',endColorstr='#04bfbf',GradientType=1); + width:60%; + max-width:100%; + display:block; + left:0%; + left:20%; + bottom:-2px; + position:absolute; + } +} +.static-wrap { + text-align:center; + h3 { + text-transform:uppercase; + letter-spacing:0px; + padding:0 0 16px 0; + margin:0 0 35px 0; + font-weight:400; + font-size:44px; + border-bottom:solid 1px #cccccc; + position:relative; + color:#ffffff; + line-height:44px; + } +} +.slider-flex h1 { + color:#ffffff; + font-weight:700; + text-transform:uppercase; +} +.breadcrumb-wrap { + padding:25px 0; + background:#252525; + h4 { + margin:0px; + color:#ffffff; + font-weight:300; + text-transform:uppercase; + letter-spacing:2px; + } +} +ol.breadcrumb { + margin:0; + padding:0; + background-color:transparent; + color:#ffffff; + li { + font-weight:300; + font-size:12px; + text-transform:lowercase; + letter-spacing:1px; + a { + color:#ffffff; + } + } +} +.highlight-list li i { + color:#5071ae; + margin-right:10px; +} +.team-wrap { + padding:3px 3px 20px; + border:1px solid #eeeeee; + text-align:center; + h4 { + margin-bottom:3px; + margin-top:10px; + } + span { + font-size:12px; + text-transform:uppercase; + color:#777777; + display:block; + margin-bottom:10px; + font-weight:400; + } +} +.price-wrap { + border:1px solid #e5e5e5; +} +.price-title { + padding:10px 0; + text-align:center; + h4 { + margin:0px; + } +} +.price-price { + padding:15px 0; + font-size:36px; + line-height:40px; + background-color:#444444; + margin:0 -1px; + color:#ffffff; + text-shadow:1px 1px 1px rgba(0,0,0,0.3); + text-align:center; + span { + display:block; + font-size:13px; + line-height:20px; + color:#aaaaaa; + } +} +.price-features { + padding:10px 15px; + border-bottom:1px solid #e5e5e5; + text-shadow:1px 1px 1px #ffffff; + text-align:center; + ul li { + padding:5px 0; + border-top:1px solid #e5e5e5; + } + ul li:first-child { + border-top:0; + } +} +.price-action { + background-color:#e5e5e5; + padding:15px 0; + text-align:center; +} +.price-price.popular { + background:#5071ae; + color:#ffffff; + span { + color:#ffffff; + } +} +.me-intro { + background:url(../img/showcase-6.jpg); + padding:160px 0; + h2 { + color:#000000; + font-weight:700; + margin-bottom:15px; + text-transform:uppercase; + } +} +.me-hobbies h4 i { + margin-right:10px; + color:#5071ae; +} +.services-me li { + padding:10px 0; + font-size:20px; + i { + margin-right:10px; + width:50px; + height:50px; + line-height:50px; + text-align:center; + border-top-left-radius:3px; + border-bottom-left-radius:3px; + border-bottom-right-radius:3px; + font-size:18px; + background-color:#e5e5e5; + color:#5071ae; + } +} +.contact-me { + background-color:#eeeeee; + padding:40px 0; +} +p.dropcap:first-letter { + display:block; + float:left; + font-size:50px; + line-height:51px; + margin:-1px 8px -2px 0; + color:#5071ae; +} +#map-canvas { + width:100%; + height:300px; +} +#contactForm .form-control { + min-height:45px; + background-color:#ffffff; +} +.form-contact form label { + font-size:15px; + font-weight:400; + color:#777777; +} +.form-contact .btn { + display:block; + width:100%; +} +.contact-info li a { + color:#777777; +} +.help-block ul { + list-style:none; + padding:0; + margin:0; + li { + color:red; + } +} +label span { + color:red; + margin-left:5px; +} +.required span { + color:red; +} +.error-digit { + font-size:150px; + text-align:center; + line-height:150px; + color:#5071ae; +} +.error-text h2 { + font-weight:300; +} +.sidebar-box h4 { + font-size:14px; + font-weight:500; + color:#666666; + text-transform:uppercase; +} +.search-widget { + position:relative; + i { + position:absolute; + top:10px; + right:10px; + color:#777777; + } +} +.cat-list li { + padding:5px 0; + border-bottom:1px solid #e5e5e5; + a { + color:#888888; + margin-right:10px; + } + i { + color:#888888; + margin-right:10px; + transition:all 0.3s ease-in-out; + -webkit-transition:all 0.3s ease-in-out; + -moz-transition:all 0.3s ease-in-out; + -o-transition:all 0.3s ease-in-out; + } + a:hover { + color:#5071ae; + } +} +.cat-list li:hover i { + margin-left:5px; +} +.popular-post li { + padding-bottom:20px; +} +.popular-img { + float:left; + margin-right:10px; + a img { + width:60px; + height:60px; + } +} +.popular-desc { + display:table; + h5 { + font-size:17px; + a { + color:#666666; + } + a:hover { + color:#5071ae; + } + } + h6 { + color:#777777; + font-style:normal; + } +} +.tag-list a { + display:inline-block; + margin-right:0px; + margin-bottom:3px; + padding:3px 6px; + color:#777777; + font-size:12px !important; + background-color:#e5e5e5; +} +.tag-list a:hover { + background-color:#666666; + color:#ffffff; +} +.quote-text { + background-color:#f6f6f6; + border-left:none; + color:rgba(85,94,106,0.8); + font-size:13px; + line-height:1.6; + margin-top:30px; + padding:26px; + position:relative; + -webkit-border-radius:5px; + -moz-border-radius:5px; + -ms-border-radius:5px; + -o-border-radius:5px; + border-radius:5px; + -webkit-box-shadow:0 3px 0 #35bdf6; + -moz-box-shadow:0 3px 0 #35bdf6; + box-shadow:0 3px 0 #35bdf6; +} +.quote-text:before { + border:solid 14px transparent; + z-index:3; + border-top-color:#f6f6f6; + top:auto; + right:auto; + bottom:-28px; + left:30px; + content:""; + display:block; + height:0; + width:0; + position:absolute; +} +.quote-text:after { + border:solid 14px transparent; + z-index:2; + border-width:18px; + border-top-color:#35bdf6; + top:auto; + right:auto; + bottom:-36px; + left:26px; + content:""; + display:block; + height:0; + width:0; + position:absolute; +} +.quote-pic { + float:left; + margin-right:12px; + margin-left:28px; + width:32px; + height:32px; + -webkit-border-radius:16px; + border-radius:16px; +} +.quote-author { + display:inline-block; + font-size:13px !important; + line-height:1.3 !important; + strong { + font-size:14px; + font-weight:700; + display:block; + } +} +.login-form { + padding:20px; + background-color:#f5f5f8; + h3 span { + color:#777777; + font-size:15px; + } + form a { + display:inline-block; + margin-left:5px; + } +} +.btn-fb-login { + background-color:#3b5998; + color:#ffffff; + border-radius:3px; + -webkit-border-radius:3px; +} +#clients-carousel { + background-color:#424242; + padding:90px 0; + .center-heading h2 { + color:#ffffff; + } + .item { + text-align:center; + } +} +#cta-1 { + padding:30px 0; + background-color:#5071ae; + text-align:center; + h1 { + color:#ffffff; + } +} +#cta-2 { + padding:30px 0; + background-color:#f2f2f2; + text-align:center; + h1 { + color:#333333; + margin-bottom:15px; + } +} +.grid-wrap h4 { + display:block; + line-height:35px; + text-align:center; + background-color:#f9f9fa; + border:1px solid #dddddd; +} +.element-buttons a { + margin-bottom:10px; + margin-right:5px; +} + +.tabs .nav-tabs { + border-bottom:none; + li { + margin-bottom:0; + a { + background:#5071ae; + margin-right:2px; + border-left:1px solid #f7f7f7; + border-right:1px solid #f7f7f7; + border-bottom:none !important; + border-radius:0; + padding:12px 20px; + color:#6d6d6d; + position:relative; + } + a:after { + content:""; + display:block; + position:absolute; + top:-1px; + left:-1px; + right:-1px; + height:3px; + } + a:before { + content:""; + display:block; + position:absolute; + bottom:-1px; + left:0; + right:0; + height:1px; + } + a:hover { + border-color:#f7f7f7; + } + } + > li > a .fa { + margin-right:4px; + } + li.active a { + color:#7ba7db; + border-left-color:#eeeeee; + border-right-color:#eeeeee; + background:#ffffff; + } + li.active a:after { + background:#5071ae; + } + li.active a:before { + background:#ffffff; + } + li.active a:hover { + border-bottom-color:#ffffff; + } +} +.tabs .tab-content { + padding:15px 8px; + border:1px solid #eeeeee; + background:#ffffff; + p:last-child { + margin-bottom:0; + } +} +.tabs .tab-content:before { + content:" "; + display:table; +} +.tabs .tab-content:after { + content:" "; + display:table; + clear:both; +} +.tab-content { + margin-top:40px; + padding:20px; + p { + overflow:hidden; + a { + text-transform:uppercase; + font-size:10px; + text-decoration:underline; + } + } +} +.form-element .form-control { + height:31px; +} +#video-wrap { + background-color:#444444; + display:table; + width:100%; + height:580px; + overflow-x:hidden; + overflow-y:hidden; + vertical-align:middle; + z-index:1; +} +.video-wrap-content { + position:relative; + display:table-cell; + vertical-align:middle; + z-index:3; + h1 { + color:#ffffff; + text-transform:uppercase; + font-weight:200; + margin-bottom:20px; + font-size:50px; + } + p { + font-size:20px; + color:#ffffff; + font-weight:200; + line-height:30px; + margin-bottom:30px; + margin-top:25px; + } +} +.popover-test button { + margin:5px; +} +.latest-tweets .tweet li { + font-weight:300; + a { + color:#5071ae; + } +} +.side-nav li { + border-bottom:1px solid #e9e9e9; + a { + padding:10px 15px; + display:inline-block; + width:100%; + position:relative; + i { + margin-right:10px; + } + } + a.active { + color:#5071ae; + } +} +.gallery-bottom .pagination { + margin-top:0px; +} +.pagination > li > a { + background-color:#cccccc; + padding:3px 9px; + color:#ffffff; + border:0px; + margin-right:5px; +} +.pagination > li > span { + background-color:#cccccc; + padding:3px 9px; + color:#ffffff; + border:0px; +} +.pagination > .active { + > a, > span, > a:hover, > span:hover, > a:focus, > span:focus { + background-color:#5071ae; + } +} +.jobs-row h4.panel-title { + font-weight:700; + text-align:left; + a { + font-size:14px; + } + em { + font-weight:300; + font-size:12px; + color:#999999; + display:block; + margin-top:-3px; + } +} +.navbar-inverse { + font-family:'Open Sans', sans-serif; + border:none; + border-radius:0; + margin-bottom:0; + width:100%; + min-height:60px; + padding:5px 0; + box-shadow:-1px 1px 1px rgba(0,0,0,0.1); + background-color:#252525; + transition:all 0.4s ease-in-out; + -webkit-transition:all 0.4s ease-in-out; + -moz-transition:all 0.4s ease-in-out; + -o-transition:all 0.4s ease-in-out; + -ms-transition:all 0.4s ease-in-out; + .navbar-nav > .active { + > a, > a:hover, > a:focus { + color:#5071ae; + background-color:transparent; + } + } + .navbar-nav > .open { + > a, > a:hover, > a:focus { + color:#5071ae; + background-color:transparent; + } + } + .navbar-nav > li > a { + color:#ffffff; + font-weight:400; + font-size:13px; + text-transform:uppercase; + } + .navbar-nav > li > a:hover { + color:#5071ae; + } + .navbar-brand { + font-weight:700; + color:#ffffff !important; + font-size:30px; + line-height:20px; + font-style:normal; + text-transform:uppercase; + } +} +#header-top.dark-header-top { + background-color:#252525; + .top-bar a i { + color:#ffffff; + } +} +.navbar-inverse.transparent-header { + background-color:transparent; + box-shadow:none; + -webkit-box-shadow:none; + padding:0px; + min-height:50px; +} +.header-center { + border-top:1px solid #dddddd; + border-bottom:1px solid #dddddd; + background-color:#f5f5f5; + padding:25px 0; + a { + font-size:30px; + text-transform:uppercase; + color:#000000; + font-weight:700; + } + span { + display:block; + } +} +.navbar-default.menu-header-center { + padding:0px; + min-height:50px; + .navbar-nav > li { + /* border-left:1px solid #dddddd;*/ + } +} +.search-area { + padding:20px 0; + background-color:#f5f5f5; + .form-control { + height:37px; + } + .btn-lg { + padding:10px 17px 10px 25px; + font-size:12px; + font-weight:500; + text-transform:uppercase; + text-align:center; + } +} +span.results-number { + display:block; + color:#999999; + margin-bottom:10px; +} +.results-box { + .btn:hover, .btn:focus { + background:none; + box-shadow:none; + -webkit-box-shadow:none; + } + h3 { + font-size:18px; + font-weight:500; + margin-bottom:0px; + a { + color:#5071ae; + } + a:hover { + text-decoration:underline; + } + } + .btn { + top:-1px; + padding:0; + position:relative; + color:#999999; + border:none; + font-size:13px; + } + p { + margin:10px 0; + color:#666666; + font-weight:300; + } +} +.link-ul { + padding:0; + li { + font-size:12px; + a { + color:#999999; + font-size:12px; + } + a:hover { + color:#5071ae; + text-decoration:underline; + } + } +} +.results-sidebar-box ul li a { + color:#999999; +} +.results-sidebar-box ul li a:hover { + text-decoration:underline; + color:#5071ae; +} +.results-sidebar-box h4 { + font-size:14px; + color:#5071ae; + font-weight:700; + text-transform:uppercase; + margin-bottom:5px; +} +.view-all { + color:#999999; + font-size:12px; + display:block; +} +.process h2 { + text-transform:uppercase; + font-weight:200; + margin-bottom:10px; + font-size:22px; +} +.process-step { + margin:0 auto; + width:700px; + overflow:hidden; + list-style:none; + padding:0; + position:relative; +} +.process-border { + position:absolute; + top:0; + left:50%; + border-left:1px solid #dadada; + height:100%; +} +.step { + width:700px; + float:right; + text-align:left; + margin:0 0 10px; + padding:10px 0 0 405px; + position:relative; + h5 { + color:#3f8dbf; + color:#000000; + font-weight:700; + text-transform:uppercase; + } + .icon-square { + position:relative; + margin-left:10px; + } + .icon-square:before { + content:""; + display:block; + width:65px; + border-bottom:1px solid #dadada; + position:absolute; + top:35px; + left:-65px; + } +} +.step.even { + float:left; + text-align:right; + padding:10px 405px 0 0; + .icon-square { + margin-right:10px; + } + .icon-square:before { + left:auto; + right:-65px; + } +} +.icon-square { + display:inline-block; + i { + // font-family:"FontAwesome"; + font-weight:normal; + font-style:normal; + line-height:1; + text-align:center; + color:#dddddd; + font-size:40px; + padding:0; + margin:0 0 10px 0; + display:table; + width:70px; + height:70px; + border:2px solid #dddddd; + -webkit-transition:all 200ms ease-in; + -o-transition:all 200ms ease-in; + -moz-transition:all 200ms ease-in; + } + i:before { + display:table-cell; + vertical-align:middle; + text-align:center; + } +} +.step:hover .icon-square i { + background-color:#5071ae; + color:#ffffff; +} +body.invoice { + background-color:#eceef4; + border-radius:5px; + -webkit-border-radius:5px; +} +.invoice-outer { + background-color:#ffffff; + min-height:400px; + padding:15px; + line-height:22px; + border:1px solid #dddddd; +} +.invoice-header h2 { + margin-bottom:10px; + font-weight:700; + font-size:26px; +} +.invoice-header-right h5 { + font-size:17px; +} +.about-client ul strong { + font-weight:700; + margin-right:5px; +} +.invoice .panel-default > .panel-heading { + border-color:#dddddd !important; +} +.copyright-info { + text-align:center; + display:block; + color:#999999; + font-size:12px; +} +.footer-col.footer-3 h3 { + text-transform:uppercase; + font-size:35px; +} +.nav-tabs { + border:0px; + > li.active { + > a, > a:hover, > a:focus { + color:#111111; + cursor:default; + background-color:#ffffff; + border-bottom-color:#111111; + border-color:#111111; + } + } + > li > a { + margin-right:2px; + margin-right:20px; + line-height:1.42857143; + border:1px solid transparent; + /*border:1px solid #dddddd;*/ + border-radius:4px 4px 0 0; + border-radius:30px; + /*text-transform:uppercase;*/ + padding:6px 45px; + -webkit-border-radius:30px; + } + > li > a:hover { + border-color:#5071ae; + background-color:transparent; + } +} +.fullwidth .project-post { + width:25%; +} +.filter { + text-align:center; + margin-bottom:30px; + li { + padding:4px 10px; + a { + color:#999999; + text-transform:uppercase; + font-size:12px; + font-weight:700; + } + a.active { + color:#5071ae; + } + } +} +.person { + margin-bottom:30px; + text-align:center; + img { + display:block; + margin-left:auto; + margin-right:auto; + margin-bottom:20px; + } +} +.person-desc h4 { + margin:8px 0; + font-weight:700; + font-size:22px; + line-height:22px; + text-transform:capitalize; +} + +.quote-green { + background: #6bab78; + position: relative; + z-index: 1; + + &:before, + &:after { + background: inherit; + content: ''; + display: block; + height: 50%; + left: 0; + position: absolute; + right: 0; + z-index: -1; + -webkit-backface-visibility: hidden; // for Chrome Windows + } + + &:before { + top: 0; + transform: skewY(-3deg); + transform-origin: 0 100%; + } + + &:after { + bottom: 0; + transform: skewY(-3deg); + transform-origin: 100% 0; + } +} +.quote-red { + background: #dd5a5f; + position: relative; + z-index: 1; + + &:before, + &:after { + background: inherit; + content: ''; + display: block; + height: 50%; + left: 0; + position: absolute; + right: 0; + z-index: -1; + -webkit-backface-visibility: hidden; // for Chrome Windows + } + + &:before { + top: 0; + transform: skewY(-3deg); + transform-origin: 0 100%; + } + + &:after { + bottom: 0; + transform: skewY(-3deg); + transform-origin: 100% 0; + } +} +.background-green{ + background-color: #6bab78; + /* -webkit-filter: opacity(90%); + filter: opacity(90%); + /*border-top: 1px solid #ddd;*/ + text-align: center; + overflow: hidden; + margin: 0 0 0px; + padding: 0; + position: relative; + /*white-space: nowrap;*/ + width: 100%; + min-height: 200px; + z-index: 3; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + +} + +.quote-yellow { + background: #f7ad5c; + position: relative; + z-index: 1; + + &:before, + &:after { + background: inherit; + content: ''; + display: block; + height: 50%; + left: 0; + position: absolute; + right: 0; + z-index: -1; + -webkit-backface-visibility: hidden; // for Chrome Windows + } + + &:before { + top: 0; + transform: skewY(-3deg); + transform-origin: 0 100%; + } + + &:after { + bottom: 0; + transform: skewY(-3deg); + transform-origin: 100% 0; + } +} +.background-red{ + background-color: #dd5a5f; + /* -webkit-filter: opacity(90%); + filter: opacity(90%); + /*border-top: 1px solid #ddd;*/ + text-align: center; + overflow: hidden; + margin: 0 0 0px; + padding: 0; + position: relative; + /*white-space: nowrap;*/ + width: 100%; + min-height: 200px; + z-index: 3; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + +} +.background-yellow{ + background-color: #f7ad5c; + /* -webkit-filter: opacity(90%); + filter: opacity(90%); + /*border-top: 1px solid #ddd;*/ + text-align: center; + overflow: hidden; + margin: 0 0 0px; + padding: 0; + position: relative; + /*white-space: nowrap;*/ + width: 100%; + min-height: 200px; + z-index: 3; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + +} +.resize_fit_center { + max-width:100%; + max-height:100%; + vertical-align: middle; +} + +.shaped{ + + shape-outside: polygon(0 0, 100% 0, 100% 100%, 30% 100%); + shape-margin: 20px; +} + + +// slanted edges here +.quote0 { + background: #5071ae; + position: relative; + z-index: 1; + + &:before, + &:after { + background: inherit; + content: ''; + display: block; + height: 50%; + left: 0; + position: absolute; + right: 0; + z-index: -1; + -webkit-backface-visibility: hidden; // for Chrome Windows + } + + &:before { + top: 0; + transform: skewY(0deg); + transform-origin: 0 100%; + } + + &:after { + bottom: 0; + transform: skewY(-3deg); + transform-origin: 100% 0; + } +} + +.quote-blue { + background: #5071ae; + position: relative; + z-index: 1; + + &:before, + &:after { + background: inherit; + content: ''; + display: block; + height: 50%; + left: 0; + position: absolute; + right: 0; + z-index: -1; + -webkit-backface-visibility: hidden; // for Chrome Windows + } + + &:before { + top: 0; + transform: skewY(-3deg); + transform-origin: 0 100%; + } + + &:after { + bottom: 0; + transform: skewY(-3deg); + transform-origin: 100% 0; + } +} + +.background-blue{ + background-image: url(img/edosoft-cabecera.jpeg); + text-align: center; + position: relative; + background-position: center; + background-size: 100% 100%; + min-height: 200px; + + > h1{ + display: table-cell; + color: #fff; + margin: auto 0; + position: relative; + text-align: center; + text-transform: uppercase; + vertical-align: middle; + width: 100%; + z-index: 5; + } + > video{ + display: block; + left: 0; + position: absolute; + top: 0; + z-index: 1; + } + > img{ + display: block; + width: 100%; + } +} + + +.rectangle-rotate1{ + background-color: #5071ae; + /* -webkit-filter: opacity(90%); */ + filter: opacity(90%); + /*border-top: 1px solid #ddd; */ + text-align: center; + overflow: hidden; + margin: 0 0 0px; + padding: 0; + position: relative; + /*white-space: nowrap;*/ + width: 100%; + min-height: 200px; + z-index: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + transform: rotate(-5deg); + top: 6em; + left: 0; +} +.rectangle-rotate2{ + background-color: #5071ae; + /* -webkit-filter: opacity(90%); + filter: opacity(90%); + /*border-top: 1px solid #ddd;*/ + text-align: center; + overflow: hidden; + margin: 0 0 0px; + padding: 0; + position: relative; + /*white-space: nowrap;*/ + width: 100%; + min-height: 200px; + z-index: 2; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + transform: rotate(-5deg); + top: -6em; + left: 0; +} +.rectangle-rotate1-green{ + background-color: #6bab78; + /* -webkit-filter: opacity(90%); + filter: opacity(90%); + /*border-top: 1px solid #ddd;*/ + text-align: center; + overflow: hidden; + margin: 0 0 0px; + padding: 0; + position: relative; + /*white-space: nowrap;*/ + width: 100%; + min-height: 200px; + z-index: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + transform: rotate(-5deg); + top: 6em; + left: 0; +} +.rectangle-rotate2-green{ + background-color: #6bab78; + /* -webkit-filter: opacity(90%); + filter: opacity(90%); + /*border-top: 1px solid #ddd;*/ + text-align: center; + overflow: hidden; + margin: 0 0 0px; + padding: 0; + position: relative; + /*white-space: nowrap;*/ + width: 100%; + min-height: 200px; + z-index: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + transform: rotate(-5deg); + top: -6em; + left: 0; +} +.rectangle-rotate1-red{ + background-color: #dd5a5f; + /* -webkit-filter: opacity(90%); + filter: opacity(90%); + /*border-top: 1px solid #ddd;*/ + text-align: center; + overflow: hidden; + margin: 0 0 0px; + padding: 0; + position: relative; + /*white-space: nowrap;*/ + width: 100%; + min-height: 200px; + z-index: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + transform: rotate(-5deg); + top: 6em; + left: 0; +} +.rectangle-rotate2-red{ + background-color: #dd5a5f; + /* -webkit-filter: opacity(90%); + filter: opacity(90%); + /*border-top: 1px solid #ddd;*/ + text-align: center; + overflow: hidden; + margin: 0 0 0px; + padding: 0; + position: relative; + /*white-space: nowrap;*/ + width: 100%; + min-height: 200px; + z-index: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + transform: rotate(-5deg); + top: -6em; + left: 0; +} +.rectangle-rotate1-yellow{ + background-color: #f7ad5c; + /* -webkit-filter: opacity(90%); + filter: opacity(90%); + /*border-top: 1px solid #ddd;*/ + text-align: center; + overflow: hidden; + margin: 0 0 0px; + padding: 0; + position: relative; + /*white-space: nowrap;*/ + width: 100%; + min-height: 200px; + z-index: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + transform: rotate(-5deg); + top: 6em; + left: 0; +} +.rectangle-rotate2-yellow{ + background-color: #f7ad5c; + /* -webkit-filter: opacity(90%); + filter: opacity(90%); + /*border-top: 1px solid #ddd;*/ + text-align: center; + overflow: hidden; + margin: 0 0 0px; + padding: 0; + position: relative; + /*white-space: nowrap;*/ + width: 100%; + min-height: 200px; + z-index: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + transform: rotate(-5deg); + top: -6em; + left: 0; +} +.conjunto-logo{ + margin-top: 70px; + z-index: 99; + /* background-color: rgba(255, 255, 255, 0.80);*/ + width: 500px; + border-radius: 1%; + width: 100%; +} +.blueopacity{ + z-index: 1; + width: 100%; + min-height: 400px; + background-color: #5071ae; +} + +.static-menu { + position:fixed; + top:0px; +} + +.row-logos { + display: block; + text-align: center; + margin-left: auto; + margin-right: auto; +} + +.logo { + max-height: 80px; + height: 100%; + max-width: 80px; + width: 100%; + margin-right: 10px; + display: inline-block; +} + +.logo-pyme { + max-width: 140px; + width: 100%; + margin-right: 10px; + display: inline-block; +} + +.carousel-control { + width:50px; + height:100%; + padding-top:30px; + line-height:50px; + text-align:center; + vertical-align: middle; + color:white; + i { + font-size:25px; + } +} +@media (max-width: 767px) { + .carousel-inner .active.left { left: -100%; } + .carousel-inner .next { left: 100%; } + .carousel-inner .prev { left: -100%; } + .active > div { display:none; } + .active > div:first-child { display:block; } + + +} +@media (min-width: 767px) and (max-width: 992px ) { + .carousel-inner .active.left { left: -50%; } + .carousel-inner .next { left: 50%; } + .carousel-inner .prev { left: -50%; } + .active > div { display:none; } + .active > div:first-child { display:block; } + .active > div:first-child + div { display:block; } +} +@media (min-width: 400px) { + .carousel-inner .active.left { left: -33.33%; } + .carousel-inner .next { left: 33.33%; } + .carousel-inner .prev { left: -33.33%; } + .outer-menu{ + position: fixed; + top: 15px; + right: 90px; + } +} + + +.spinner-hide { + display: none; +} + +.eslogan { + font-size: 23px; + text-align: center; + color: #5071ae; +} + +.metodologia { + color: #595B5B; + font-size: 23px; + text-align: center; + font-weight:200; +} + +.responsive-vid { + position: absolute; + min-width: 100%; + min-height: 100%; + width: auto; + height: auto; + z-index: -1000; + overflow: hidden; +} + +.fa-icons { + color: #595B5B !important; +} + +@media screen and (min-width: 0px) and (max-width: 800px) { + + #video-header { + display: none; + } + .video-header { + display: none; + } + + /* hide it on small screens */ + .circle { + width: 150px; + } + .weblaptop { + width: 150px; + } + .metodologia { + text-align: left; + font-size: 20px; + } + + h3{ + font-size: 2.0em; + } + h4{ + font-size: 2.5em; + } + h5{ + font-size: 20px; + } + h6{ + font-size: 1.2em; + } + p, + li, + ul, + strong, + b, + span, + u { + font-size: 15px; + text-align: justify; + } + .rectangle-1, + .rectangle-8, + .rectangle-10, + .rectangle-12, + .rectangle-13{ + padding-right: 20px !important; + padding-left: 20px !important; + } + .background-photo1, + .background-photo2, + .background-photo3, + .background-photo4, + .background-photo5, + .background-photo6, + .background-photo7, + .background-photo8, + .background-photo9, + .background-photo10, + .background-photo11, + .background-photo12 + { + display: none; + } + .edosoft-title{ + display: none; + } + .titulos-fondo{ + display: none; + } + .logo-partner{ + margin-top: 100px; + } + .BigTitle{ + font-size: 4em !important; + } + .logo-pyme { + max-width: 90px; + } + .logo { + max-height: 70px; + max-width: 70px; + } + .img-gsuite{ + max-width: 200px !important; + } + .img-chrome{ + max-width: 300px !important; + } + .img-gcp{ + max-width: 400px !important; + } + .rectangle-12 { + margin-top: 90px; + } + .img{ + margin-bottom: 25px; + margin-top: 25px; + } + +} +@media screen and (min-width: 0px) and (max-width: 991px) { + .background-photo1, + .background-photo4, + .background-photo5, + .background-photo6 + { + display: none; + } +} + +@media screen and (min-width: 600px) and (max-width: 1024px) { + #video-header { display: block; } /* show it elsewhere */ + + .titulo-alternativo{ + display: none; + } + + .title-alternative{ + display: none; + + } + +} + +.titulo-alternativo{ + font-size: 100px; + font-weight: 700; + color: #f3f7fc; +} + +.carousel-tittle { + font-weight: bold; +} + + +.introparagraph { + font-size: 18px; +} + +.feed-body { + font-size: 14px; +} + +.introedo { + margin-bottom: 150px; +} +/** +* Now that all app-wide styles have been applied, we can load the styles for +* all the submodules and components we are using. +* +* TODO: In a later version of this boilerplate, I'd like to automate this. +*/ +/*sección equipo*/ +body{ + background-color: white; +} + +h2{ + margin-bottom: 100px; +} +.employee { + padding-top: 15px; + padding-left: 15PX; + padding-right: 15px; + width: 190px; + border-radius: 0px; + left: 0; + text-align: center; + transition: opacity 1s ease-in-out; + -webkit-filter: grayscale(100%); + -webkit-transition: .5s ease-in-out; + -moz-filter: grayscale(100%); + -moz-transition: .5s ease-in-out; + -o-filter: grayscale(100%); + -o-transition: .5s ease-in-out; +} + +.employee:hover { + /* border: 1px solid #162f50;*/ + -webkit-filter: grayscale(0%); + -webkit-transition: .5s ease-in-out; + -moz-filter: grayscale(0%); + -moz-transition: .5s ease-in-out; + -o-filter: grayscale(0%); + -o-transition: .5s ease-in-out; +} + +.employee_mobile { + -webkit-filter: grayscale(0%); + -webkit-transition: .5s ease-in-out; + -moz-filter: grayscale(0%); + -moz-transition: .5s ease-in-out; + -o-filter: grayscale(0%); + -o-transition: .5s ease-in-out; +} + +.employee2 { + width: 100%; + height: 100%; + vertical-align: center; + background-color: #5071ae; + width: 180px; + left: 0; + transition: opacity 1s ease-in-out; + -webkit-filter: grayscale(100%); + -webkit-transition: .5s ease-in-out; + -moz-filter: grayscale(100%); + -moz-transition: .5s ease-in-out; + -o-filter: grayscale(100%); + -o-transition: .5s ease-in-out; +} +.bluebox{ + width: 80px; + height: 80px; + -moz-border-radius: 70%; + -webkit-border-radius: 70%; + border-radius: 70%; + text-align: center; + vertical-align: middle; + margin-top: 10px; + background-color: #f3f7fc; +} +.redbox{ + margin-top: 10px; + background-color: #dd5a5f; + width: 179px; +} +.greenbox{ + margin-top: 10px; + background-color: #6bab78; + width: 179px; +} +.yellowbox{ + margin-top: 10px; + background-color: #f7ad5c; + width: 179px; +} + +.employee2:hover { + + -webkit-filter: opacity(25%); + -webkit-transition: .5s ease-in-out; + -moz-filter: opacity(250%); + -moz-transition: .5s ease-in-out; + -o-filter: opacity(25%); + -o-transition: .5s ease-in-out; + +} + +.navegacion-color{ + background-color: #5071ae; + border:none; +} + +.sumome-share-client-wrapper { + display: none; +} +/*carousel*/ +header.carousel { + height: 500px; +} + +header.carousel .item, +header.carousel .item.active, +header.carousel .carousel-inner { + height: 100%; +} + +header.carousel .fill { + width: 100%; + height: 100%; + background-attachment: fixed; + background-position: center; + background-size: cover; +} +.carousel-caption { + text-shadow: none; + margin-bottom: 50px; + z-index: initial; +} +.footerblue{ + width: 100%; + height: 2000px; + background-color: aqua; + margin: none; +} +ul li{ + list-style-type: circle; + text-align:left; + margin-bottom: 10px; +} +.listadecoracion { + list-style-type: circle; +} + + +/*navegación nuevo diseño*/ +@import url('http://fonts.googleapis.com/css?family=Pacifico|Open+Sans:300'); +.flex-center { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} +* { + box-sizing: border-box; + font-family: 'Open Sans', sans-serif; + font-weight: 300; +} +a, +a:visited, +a:hover, +a:active { + color: inherit; + text-decoration: none; +} +.outer-menu { + position: fixed; + top: 15px; + right: 380px; + z-index: 1; +} +@media screen and (max-width: 500px){ + .outer-menu{ + position: absolute; + top: 15px; + right: 90px; + } +} +.outer-menu .checkbox-toggle { + position: absolute; + top: 0; + left: 0; + z-index: 2; + cursor: pointer; + width: 80px; + height: 80px; + opacity: 0; +} +.outer-menu .checkbox-toggle:checked + .hamburger > div { + -webkit-transform: rotate(135deg); + transform: rotate(135deg); +} +.outer-menu .checkbox-toggle:checked + .hamburger > div:before, +.outer-menu .checkbox-toggle:checked + .hamburger > div:after { + top: 0; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} +.outer-menu .checkbox-toggle:checked + .hamburger > div:after { + opacity: 0; +} +.outer-menu .checkbox-toggle:checked ~ .menu { + pointer-events: auto; + visibility: visible; +} +.outer-menu .checkbox-toggle:checked ~ .menu > div { + -webkit-transform: scale(1); + transform: scale(1); + -webkit-transition-duration: .75s; + transition-duration: .75s; +} +.outer-menu .checkbox-toggle:checked ~ .menu > div > div { + opacity: 1; + -webkit-transition: opacity 0.4s ease 0.4s; + transition: opacity 0.4s ease 0.4s; +} +.outer-menu .checkbox-toggle:hover + .hamburger { + box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1); +} +.outer-menu .checkbox-toggle:checked:hover + .hamburger > div { + -webkit-transform: rotate(225deg); + transform: rotate(225deg); +} +.outer-menu .hamburger { + position: absolute; + top: 0; + left: 0; + z-index: 1; + width: 60px; + height: 60px; + padding: .5em 1em; + background: white; + border-radius: 0 0.12em 0.12em 0; + cursor: pointer; + -webkit-transition: box-shadow 0.4s ease; + transition: box-shadow 0.4s ease; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} +.outer-menu .hamburger > div { + position: relative; + -webkit-box-flex: 0; + -ms-flex: none; + flex: none; + width: 100%; + height: 2px; + background: #5071ae; + -webkit-transition: all 0.4s ease; + transition: all 0.4s ease; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} +.outer-menu .hamburger > div:before, +.outer-menu .hamburger > div:after { + content: ''; + position: absolute; + z-index: 1; + top: -10px; + left: 0; + width: 100%; + height: 2px; + background: inherit; + -webkit-transition: all 0.4s ease; + transition: all 0.4s ease; +} +.outer-menu .hamburger > div:after { + top: 10px; +} +.outer-menu .menu { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; + visibility: hidden; + overflow: hidden; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + outline: 1px solid transparent; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} +.outer-menu .menu > div { + width: 30vw; + height: 40vw; + color: white; + background: #5071ae; + -webkit-transition: all 0.4s ease; + transition: all 0.4s ease; + -webkit-box-flex: 0; + -ms-flex: none; + flex: none; + -webkit-transform: scale(0); + transform: scale(0); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + overflow: hidden; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + position: absolute; + right: 320px; + top: 30px; +} +.outer-menu .menu > div > div { + text-align: center; + max-width: 90vw; + max-height: 100vh; + opacity: 0; + -webkit-transition: opacity 0.4s ease; + transition: opacity 0.4s ease; + overflow-y: auto; + -webkit-box-flex: 0; + -ms-flex: none; + flex: none; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} +.outer-menu .menu > div > div > ul { + list-style: none; + padding: 0 1em; + margin: 0; + display: block; + max-height: 100vh; +} +.outer-menu .menu > div > div > ul > li { + padding: 0; + margin: 1em; + font-size: 24px; + display: block; +} +.outer-menu .menu > div > div > ul > li > a { + position: relative; + display: inline; + cursor: pointer; + -webkit-transition: color 0.4s ease; + transition: color 0.4s ease; +} +@media screen and (max-width: 700px) { + .outer-menu .menu > div > div > ul > li { + padding: 0; + margin: 1em; + font-size: 20px; + display: block; + } + .outer-menu .menu > div { + width: 60vw; + height: 100vw; + position: fixed; + top: 15px; + right: 60px; + } +} +.outer-menu .menu > div > div > ul > li > a:hover { + color: #e5e5e5; +} +.outer-menu .menu > div > div > ul > li > a:hover:after { + width: 100%; +} +.outer-menu .menu > div > div > ul > li > a:after { + content: ''; + position: absolute; + z-index: 1; + bottom: -0.15em; + left: 0; + width: 0; + height: 2px; + background: #e5e5e5; + -webkit-transition: width 0.4s ease; + transition: width 0.4s ease; +} + +/*fin navegación nuevo diseño*/ + +.sectioncolour1{ + background-color: white; + min-height: 800px; + height: 100%; + +} +.sectioncolour2{ + min-height: 900px; + height: 100%; +} + +.img-effect:hover{ + width: 720px; +} +.photo-effect:hover{ + height: 133px; + width: 100%; +} + +.page-header1{ + padding-bottom: 9px; + margin: 120px 0 20px; + text-align: center; +} +.mapicon { + max-width: 40px; +} +.nav-submenu { + border-bottom: none; +} +.carousel-news-title { + margin: 5px 0 14px 0; + font-size: 1.5em; + font-weight: 700; + text-align : left; + font-family:'open sans', sans-serif; + color: #5071ae; + height: 100px; + vertical-align: middle; +} +.carousel-news-content { + + font-weight: 700 !important; + color: #5071ae; + text-decoration: none; + vertical-align: middle; +} + +.greyline { + border-left: 1px solid #d3d3d3; +} + + +/*Animación circular*/ +.circulos2{ + margin-top: 5px; + max-width: 120px; + display: block; + margin: auto; + margin-bottom: 10px; + transition: transform 2s; +} + +/*@keyframes circulos2 { +from{ +transform: rotate(0); +} +to{ +transform: rotate(360deg); +} +}*/ +.circulos2:hover { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + transform: rotate(360deg); + +} + +.centerservices{ + text-align: center; +} +.blueline{ + border-top: 1px solid #5071ae; +} +.greyline{ + border-top: 1px solid #898d8d; +} +.redline{ + border-top: 1px solid #dd5a5f; +} +.yellowline{ + border-top: 1px solid #f7ad5c; +} +.greenline{ + border-top: 1px solid #6bab78; +} +.infografia { + height: 900px; + text-align: center; + vertical-align: middle; +} +.navbar-toggle { + background-color: #5071ae !important; + border: none; +} +.icon-bar{ + background-color: white !important; +} + +.logo-partner{ + margin: 0 auto; + max-width: 100%; + width: 500px; + text-align: center; +} +.greybox{ + background-color: darkgrey; +} +.whiteright { + color: white; + width: 100%; + height: 30px; +} +.red-illustration{ + height: 400px; + width: 500px; + text-align: right; + background-image: url("assets/img/red-edosoft.png"); + background-size: contain; + display: block; + +} +.red { + background-size: contain; + display: block; + background-attachment: fixed; +} + +/*empieza el menú SUBMENÚ*/ +.menu56{ + margin: auto; + text-align: center; + width: 100%; + height: 20px; + padding-top: px; + padding: 20px; + font-size: 18px; + position: fixed; + top: 0; + overflow: hidden; + text-align: center; + background-color: ghostwhite; + +} + +.sobrenosotros, +.proyectos{ + color: #eb4851; + text-decoration: none; + font-family: "ubuntu"; + list-style-type: none; + display: inline; + margin-top: 10px; + padding: 10px; + padding-top: 10px; + font-size: 113%; + +} + +.sobrenosotros:hover, +.proyectos:hover{ + color: white; + transition: 0.2s color; +} + +/*interacción de la tipografía*/ +.sobre, +.proyecto{ + color: #eb4851; + text-decoration: none; + font-family: "ubuntu"; + list-style-type: none; + display: inline; +} +.sobre:hover, +.proyecto:hover { + color: white; + transition: 0.5s color; +} + + + + +.proyectos2{ + width: 100%; + font-size: 200%; + font-family: "ubuntu"; + text-align: center; + color: #eb4851; +} + +.tituloproyecto{ + font-family: "ubuntu"; + font-weight: 100; + color: #3d3d3b; + text-align: center; + font-size: 210%; + +} + +.tituloproyecto2{ + font-size: 100%; +} + +.linea{ + text-decoration: none; + color: #eb4851; + border-bottom-style: dashed; + width: 20%; + + +} + +.etiquetas{ + font-family: "ubuntu"; + font-size: 100%; + font-family: "open sans", sans-serif; + text-align: center; + padding: 0px; + color: lightgrey; + +} +.textocentrado{ + text-align: center; + +} +.texto{ + text-align: center; + font-family: "ubuntu"; + font-weight: 100; + width: 100%; + height: 100px; + background-color: ghostwhite; + font-size: 120%; + line-height: 2.1; +} + +.infografia{ + float:inherit; + width: 550px; + text-align: center; +} + +.x{ + width: 50px; + margin-top: 40px; + text-align: center; + opacity: 5; + transition: 0.5s opacity; +} + +.x:hover{ + opacity: 0.1; +} + + + + + + + + +/* Navegación fija submenú círculos + +.navegacionmenu{ +font-family: "ubuntu"; +font-weight: ; +text-align: center; +width: 100%; +position: fixed; +z-index:1; +background-color: rgba(255, 255, 255, 0.94); +height: 40px; +padding-top: 15px; +} + +.ul{ +list-style-type: disc; +text-decoration: none; +} + + +.container-fluid caja-general { +width:100%; +} + +.sobrenosotros, +.valor, +.metho, +.servicios, +.equipo { +margin: auto; +margin-left: 10px; +margin-right: 10px; +list-style-type: none; +display: inline-block; + +} +.menutipo1, +.menutipo2, +.menutipo3, +.menutipo4{ +width: 20px; +height:20px; +text-decoration: none; +font-size: 20px; +color: #898d8d; +background-color:rgba(205, 204, 215, 0.95); +transition: 0.2s color 0.1s; +} + +.cuadrado1{ +background-color:#5071ae; +} +.cuadrado2{ +background-color:#6bab78; +} +.cuadrado3{ +background-color:#dd5a5f; +} +.cuadrado4{ +background-color:#f7ad5c; +} +.cuadrado5{ +background-color:#898d8d; +} +.cuadrado1, +.cuadrado2, +.cuadrado3, +.cuadrado4, +.cuadrado5{ +margin-top: 8px; +margin-left: 0px; +width: 20px; +height:20px; + +border-radius: 50%; +} + + +.menutipo1:hover, .menutipo1.active{ +background-color: #5071ae; +color: #5071ae; +} + +.menutipo2:hover, .menutipo2.active{ +background-color: #6bab78; +color: #6bab78; +} +.menutipo3:hover, .menutipo3.active { +background-color: #dd5a5f; +color: #dd5a5f; +} +.menutipo4:hover, .menutipo4.active { +background-color: #f7ad5c; +color: #f7ad5c; +} + + +/*hasta aquí el submenú círculos*/ + +.principalnavitation { + /* background-color: #5071ae;*/ + transition: all 0.4s ease-in; +} +.fa-bars:before{ + color: white; +} +/*.circle{ +fill: none; +stroke-width: 4px; +stroke: #d9d9d9; +stroke-dasharray: 1200px; +stroke-dashoffset: 1200px; +animation: circle 2s infinite; +}*/ + +@keyframes circle{ + to{ + stroke-dashoffset: 0; + } +} + +.world{ + padding-top: 50px; + padding-right: 50px; + float: right; +} +.worldicon{ + fill: none; + stroke-width: 0px; + stroke: #d9d9d9; + stroke-dasharray: 1000px; + stroke-dashoffset: 1000px; + animation: worldicon 10s infinite; + float: right; + z-index: 99; + position: fixed; + +} + + +@keyframes worldicon{ + to{ + stroke-dashoffset: 0; + } +} + +.illustration1{ + width: 1000px; + stroke-dasharray: 1200px; + stroke-dashoffset: 1200px; + animation: worldicon 20s infinite; +} +@keyframes illustration1{ + to{ + stroke-dashoffset: 0; + } +} + +.fa{ + color: #5071ae; +} +.text-center{ + margin-top: 20px; +} +.text-contact{ + text-align: center; +} +.contactlist { + text-align: center; + list-style-type: none; +} +/*DIBUJITO CARA + +svg { +position: fixed; +margin: auto; +top: 0; +left: 0; +right: 0; +bottom: 0; +width: 50%; +max-width: 480px; +max-height: 340px; +} + +.path { +stroke-dashoffset: 1000; +stroke-dasharray: 1000; +} + +.frame { +height: 3000px; +}*/ + +.valuebox { + margin-top: 70px; +} + + +.img-responsive{ + width: 100%; + max-width: 300px; + margin: auto; +} +.img-responsive2{ + width: 100%; + max-width: 500px; + margin: auto; + opacity: 2; + position: absolute; + top: 370px; + left: 240px; +} +.img-responsive3{ + width: 100%; + max-width: 500px; + margin: auto; + opacity: 2; + position: absolute; + top: 370px; + left: 820px; +} +.img-gsuite{ + text-align: center; + width: 100%; + max-width: 300px; + margin-top: 25px; +} +.img-gsuiteicons{ + width: 100%; + max-width: 700px; + margin-bottom: 25px; +} +.img-chrome{ + width: 600px; + max-width: 400px; +} +.img-product-chrome{ + width: 60%; + max-width: 400px; +} +.img-product-ipd{ + width: 300px; + height: 200px; +} +.card-img-top{ + width: 100%; + max-width: 300px; + margin: auto; +} + + +.img-product-gcp{ + width:250px; +} +.img-3product-gcp{ + width: 130px; +} +.img-kit{ + text-align: center; + width: 60%; +} +.img-gcp{ + width: 120%; + max-width: 700px; + margin-top: 25px; +} + + +.valuesbox{ + margin-left: 40px; + margin-right: 40px; + text-align: center; +} + +.sectionphoto{ + width: 100%; + height: 600px; + background-color: whitesmoke; + background-image: url(city2.png); + background-repeat: no-repeat; + background-size: cover; + background-attachment: fixed; + +} + +.partner{ + margin-bottom: 500px; + max-width: 100%; + width: 180px; + text-align: center; + margin-bottom: 30px; +} +.g-cloud{ + max-width: 100%; + width: 300px; +} +.img-metho{ + width: 480px; + max-height: 100%; +} +.button-blue { + font-family: 'Ubuntu', sans-serif; + background-color: #162f50; + color: white !important; + border: none; + margin-top: 50px; + margin-bottom: 50px; +} +.button-blue:hover{ + background-color: white; + border: 1px solid #162f50; + color: #162f50 !important; +} +.button-blue{ + font-family: 'Ubuntu', sans-serif; + background-color: white; + color: #5071ae !important; + border: none; + margin-top: 50px; + margin-bottom: 50px; +} +.button-blue:hover{ + background-color: white; + border: 1px solid #162f50; + color: #162f50 !important; +} +.button-red{ + font-family: 'Ubuntu', sans-serif; + background-color: #dd5a5f; + color: white !important; + border: none; + margin-top: 50px; + margin-bottom: 50px; +} +.button-red:hover{ + background-color: white; + border: 1px solid #162f50; + color: #162f50 !important; +} +.button-green{ + font-family: 'Ubuntu', sans-serif; + background-color: #6bab78; + color: white !important; + border: none; + margin-top: 50px; + margin-bottom: 50px; +} +.button-green:hover{ + background-color: white; + border: 1px solid #162f50; + color: #162f50 !important; +} + +.BlueButtonDetail{ + font-family: 'Ubuntu', sans-serif; + background-color: #162f50; + color: white !important; + border: none; +} +.BlueButtonDetail:hover{ + background-color: white; + border: 1px solid #162f50; + color: #162f50 !important; +} +.fa-arrow-right{ + color: white; +} +.fa-arrow-right:hover{ + color: #5071ae; +} +.newsbox { + padding-left: 50px; + padding-right: 50px; + border-left: 1px solid #162f50; + +} + +.alt-Tittle{ + text-align: center; +} + + +/*.carousel-control{ +background-color: linear-gradient(rgba(163, 192, 230, 0.92)); +}*/ + +.rectangle-1 { + padding-bottom: 55px; + padding-right: 55px; + padding-left: 55px; + padding-top: 20px; + height: 100%; + min-height: 600px; + text-align: center; +} +.rectangle-1-1 { + background-color: #f3f7fc/*#f9f2f3*/; + padding-bottom: 55px; + padding-right: 55px; + padding-left: 55px; + padding-top: 20px; + height: 100%; + text-align: center; + max-height: 450px; +} + +.rectangle-2 { + background-color: #f77878; + padding-bottom: 55px; + padding-right: 55px; + padding-left: 55px; + padding-top: 20px; + height: 100%; + min-height: 850px; + text-align: center; +} +.rectangle-5 { + padding-bottom: 55px; + padding-right: 55px; + padding-left: 55px; + padding-top: 20px; + height: 100%; + min-height: 500px; +} +.p-rectangle1{ + min-height: 100%; +} +.p-rectangle2{ + color: white; + min-height: 400px; +} +.img-responsiveicon{ + max-width: 50px; +} +.p-white{ + color: white; + margin-bottom: 35px; +} +.p-corporative{ + color: #5b7999; +} +.rectangle-3 { + background-color: #f7ad5c; + padding-bottom: 55px; + padding-right: 55px; + padding-left: 55px; + padding-top: 20px; + height: 100%; + min-height: 650px; +} +.rectangle-4 { + background-color: #5071ae; + padding-bottom: 10px; + padding-right: 55px; + padding-left: 55px; + padding-top: 20px; + height: 100%; + min-height: 650px; +} +.rectangle-6 { + background-color: #f3f7fc; + /*border-left: 1px solid #162f50;*/ + padding-bottom: 20px; + padding-right: 20px; + padding-left: 20px; + padding-top: 10px; + height: 100%; + min-height: 400px; + text-align: left; +} +.rectangle-7 { + background-color: #5071ae; + padding-bottom: 20px; + padding-right: 20px; + padding-left: 20px; + padding-top: 10px; + height: 100%; + min-height: 400px; + text-align: left; +} +.rectangle-8 { + background-color: #f3f7fc; + /*border-left: 1px solid #162f50;*/ + padding-bottom: 55px; + padding-right: 55px; + padding-left: 55px; + padding-top: 20px; + height: 100%; + min-height: 220px; + text-align: left; +} +.rectangle-9 { + background-color: #6bab78; + padding-bottom: 20px; + padding-right: 20px; + padding-left: 20px; + padding-top: 20px; + height: 100%; + min-height: 220px; + text-align: left; +} +.rectangle-10 { + + padding-right: 75px; + padding-left: 75px; + padding-top: 75px; + height: 100%; + min-height: 600px; + text-align: center; +} +.rectangle-11 { + margin-top: 80px; + background-color: #5071ae; + padding-right: 55px; + padding-left: 55px; + min-height: 600px; + height: 100%; + text-align: left; +} +.rectangle-12 { + background-color: white; + /*border-left: 1px solid #162f50;*/ + padding-bottom: 55px; + padding-right: 55px; + padding-left: 55px; + padding-top: 50px; + height: 100%; + min-height: 600px; + text-align: center; +} +.rectangle-13 { + /*border-left: 1px solid #162f50;*/ + //padding-bottom: 55px; + padding-right: 55px; + padding-left: 55px; + padding-top: 50px; + height: 100%; + min-height: 600px; + text-align: center; +} + +.rectangle-14 { + background-color: #f3f7fc; + /*border-left: 1px solid #162f50;*/ + padding-bottom: 55px; + padding-right: 55px; + padding-left: 55px; + padding-top: 50px; + height: 100%; + min-height: 400px; + text-align: center; +} + +.carousel-control{ + margin-top: 190px; + width: 30px; + height: 110px; + border-radius:1px; + color: #162f50; + /*background-color: #162f50;*/ + opacity: none !important; + background-image: none !important; +} +.carousel-control:hover{ + color: #5071ae !important; + border: none; +} +.arrow-right{ + width: 5px; +} +.background-news{ + background-color: #f5f8f9; +} +.div-center{ + text-align: center; +} +/*.p-height-services{ +min-height: 300px; +}*/ +.carousel-boxtext{ + height: 300px; +} +.imagen-fondo{ + position: relative; +} +.titulos-fondo{ + font-size: 8em; + left: -3px; + line-height: 100px; + font-family: 'Ubuntu', sans-serif; + font-weight: 400; + opacity: 2; + position: absolute; + top: 0; +} +.BigTitle{ + font-size: 8em; + left: -3px; + font-family: 'Ubuntu', sans-serif; + font-weight: 700; + margin-top: 100px; + +} +.edosoft-title, +.blog-title{ + color: #f3f7fc; + text-align: center; + margin: 0; +} +.servicios-title{ + color: #f3f7fc; + text-align: center; +} +.equipo-title{ + color: #f3f7fc; + text-align: center; +} +.contacto-title{ + color: #f3f7fc; + text-align: center; +} +.titulos-fondo2 { + font-size: 100px; + left: -3px; + line-height: 144px; + color: #f3f7fc; + font-family: 'Ubuntu', sans-serif; + font-weight: 400; + opacity: 2; + position: absolute; + top: 0; +} +.foto-fondo{ + left: 3px; + opacity: 2; + position: absolute; + top: 0; + width: 100%; + max-width: 700px; + margin: auto; +} + +.background-photo1{ + position:relative; + z-index:100; + background-image: url(img/gsuite-1.jpg); + background-repeat: no-repeat; + background-size: 100%; +} +.background-photo2{ + position:relative; + z-index:100; + background-image: url(img/edosoft-2.jpg); + background-repeat: no-repeat; + background-size: 100%; +} +.background-photo3{ + position:relative; + background-size: 100%; + background-image: url(img/desarrollo-movil.png); + background-repeat: no-repeat; + +} +.background-photo3:hover{ + background-size: 100%; + -webkit-filter: grayscale(0%); + -webkit-transition: .5s ease-in-out; + -moz-filter: grayscale(0%); + -moz-transition: .5s ease-in-out; + -o-filter: grayscale(0%); + -o-transition: .5s ease-in-out; +} + +.background-photo4{ + position:relative; + background-size: 100%; + z-index:100; + padding-right: 100px; + background-image: url(img/edosoft-1.jpg); + background-repeat: no-repeat; + background-size: cover; +} +.background-photo5{ + position:relative; + background-size: 100%; + z-index:100; + background-image: url(img/chrome-photo.png); + background-repeat: no-repeat; +} +.background-photo6{ + position:relative; + z-index:100; + background-size: 100%; + background-image: url(img/chrome-1.png); + background-repeat: no-repeat; +} + +.background-photo7{ + position:relative; + background-size: 100%; + z-index:100; + background-image: url(img/chrome-2.jpg); + background-size: 100%; + background-repeat: no-repeat; +} + +.background-photo8{ + position:relative; + z-index:100; + background-size: 100%; + background-image: url(img/kit-meet.png); + background-size: 100%; + background-repeat: no-repeat; +} + +.background-photo9{ + position:relative; + background-size: 100%; + z-index:100; + background-image: url(img/chrome-3.jpg); + background-repeat: no-repeat; +} + +.background-photo10{ + position:relative; + background-size: 100%; + z-index:100; + background-image: url(img/chrome-4.png); + background-repeat: no-repeat; +} + +.background-photo11{ + position:relative; + background-size: 100%; + z-index:100; + background-image: url(img/chrome-5.jpg); + background-size: cover; + background-repeat: no-repeat; +} + +.background-photo12{ + position:relative; + background-size: 50%; + z-index:100; + background-image: url(img/not-found.png); + background-repeat: no-repeat; +} +.img-responsive-icon{ + width: 100%; + max-width: 150px; +} + +img-fluid { + max-width: 250px; + max-height:180px; +} +/*CSS formulario*/ +.formNuevo { + *::-webkit-input-placeholder { + /* Google Chrome y Safari */ + font-family:'Ubuntu Mono', monospace; + } + *:-moz-placeholder { + /* Firefox anterior a 19 */ + font-family:'Ubuntu Mono', monospace; + } + *::-moz-placeholder { + /* Firefox 19 y superior */ + font-family:'Ubuntu Mono', monospace; + } + *:-ms-input-placeholder { + /* Internet Explorer 10 y superior */ + font-family:'Ubuntu Mono', monospace; + } +} +a { + font-family:'Ubuntu', monospace !important; + font-size: 14px; + font-weight: 700; +} +.chrome-photo{ + width: 100%; +} +.img-center { + text-align: center; +} +.img-gsuiteapp{ + width: 100%; + max-width: 200px; +} + + +/*****************************************************************************************************/ +.imgmail { + max-width: 100%; +} + + +.gicons-description { + text-align: center; + vertical-align: middle; + padding-top: 20px; + height: 150px; +} + +.gsuite-description { + display: none; +} + +@media screen and (min-width: 992px) { + .gsuite-small { + visibility: hidden; + display: none; + } + .gsuite-large { + visibility: visible; + display: block; + } + .video-partner { + visibility: visible; + display: block; + text-align: center; + } +} + +@media screen and (max-width: 992px) { + .gsuite-small { + visibility: visible; + display: block; + } + .gsuite-large { + visibility: hidden; + display: none; + } + .video-partner { + visibility: hidden; + display: none; + } +} + + +/*.lateral-padding { + padding-left: 30px; + padding-right: 155px; +}*/ + +.withmargin { + margin-bottom: 40px; +} + +.whitebox { + width: 60px; + height: 45px; + background-color: white; + opacity: 0.6; + position: absolute; + z-index: 1; + /*margin-top: 80px;*/ + margin-left: auto; + margin-right: auto; + display: block; +} + +.gsuite-icons { + margin-left: auto; + /*margin-top: 80px;*/ + margin-right: auto; + display: block; + max-width: 40px; + width: 40px; + height: 48px; +} + +.indicator { + margin-left: auto; + margin-right: auto; + display: block; + /* width: 10px; + height: 10px; + background-color: #5071ae; + border: 1px solid #5071ae; + border-radius: 6px; + display: none;*/ + width: 0; + height: 0; + border-right: 20px solid transparent; + border-top: 10px solid #5071ae; + border-bottom: 10px solid transparent; +} +.blue-indicator-tittle{ + display: block; + /* width: 10px; + height: 10px; + background-color: #5071ae; + border: 1px solid #5071ae; + border-radius: 6px; + display: none;*/ + width: 0; + height: 0; + border-right: 20px solid transparent; + border-top: 10px solid #5071ae; + border-bottom: 10px solid transparent; +} +.white-indicator-tittle{ + display: block; + /* width: 10px; + height: 10px; + background-color: #5071ae; + border: 1px solid #5071ae; + border-radius: 6px; + display: none;*/ + width: 0; + height: 0; + border-right: 20px solid transparent; + border-top: 10px solid white; + border-bottom: 10px solid transparent; +} +.green-indicator-tittle{ + display: block; + /* width: 10px; + height: 10px; + background-color: #5071ae; + border: 1px solid #5071ae; + border-radius: 6px; + display: none;*/ + width: 0; + height: 0; + border-right: 20px solid transparent; + border-top: 10px solid #6bab78; + border-bottom: 10px solid transparent; +} + +#demosCarousel .carousel-indicators { + position: absolute; + z-index: -10; + width: 812px; + height: 90px; + bottom: -130px; + left: 50%; + margin-left: -405px; + font-size: 20px; + text-align: center; +} +#demosCarousel .carousel-indicators li { + border: medium none; + border-radius: 0; + float: left; + height: 100px; + width: 100px; + margin-bottom: 5px; + margin-left: 0; + margin-right: 8px !important; + margin-left: 8px !important; + margin-top: 0; + display: inline-block; + margin: auto; + left: 0; + right: 0; + text-align: center; +} +#demosCarousel .carousel-indicators img { + float: left; + height: 60px; + width: 50px; + opacity: 0.6; + margin-left: 25px; + margin-right: 25px; +} +#demosCarousel .carousel-indicators .active img { + opacity: 1; +} +#demosCarousel .carousel-indicators li:hover img { + opacity: 0.8; +} +#demosCarousel .carousel-control { + width: 82px; + height: 568px; + text-align: center; +} +#demosCarousel .carousel-control-img { + width: 82px; + height: 150px; +} +#demosCarousel .control-spacer { + height: 209px; + width: 82px; +} +#demosCarousel .carousel-inner-text { + text-align: center; +} +#demosCarousel .carousel-inner { + text-align:center; + color: #f9f9f9; +} +#demosCarousel .item { + pointer-events: none; +} +#demosCarousel .item-image { + pointer-events: all; +} +#demosCarousel .item-gmail { + background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("img/background_gmail.jpeg"); + background-size: 100%; +} +#demosCarousel .item-drive { + background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("img/background_drive.jpeg"); + background-size: 100%; +} +#demosCarousel .item-hangouts { + background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("img/background_hangouts.jpeg"); + background-size: 100%; +} +#demosCarousel .item-calendar { + background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("img/background_calendar.jpeg"); + background-size: 100%; +} +#demosCarousel .item-docs { + background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("img/background_docs.jpeg"); + background-size: 100%; +} +#demosCarousel .item-form { + background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("img/background_form.jpeg"); + background-size: 100%; +} +#demosCarousel .item-admin { + background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("img/background_admin.jpeg"); + background-size: 100%; +} +.row-logos { + display: block; + text-align: center; + margin-left: auto; + margin-right: auto; +} + +.info-contact { + color: white; +} +.white-tittle{ + color: white; + +} +.white-tittle-header{ + color: white; + margin-top: 40px; + +} +.triangle-form{ + text-align: center; + width: 0; + height: 0; + border-right: 160px solid transparent; + /*border-top: 50px solid #5071ae;*/ + border-bottom: 50px solid #5071ae; + margin-left: 25px; +} +.triangle-container { + box-sizing: inherit; +} +.triangle-header-left{ + text-align: center; + overflow: hidden; + margin: 0 0 0px; + padding: 0; + position: relative; + width: 100%; + z-index: 1; + border-left: 1400px solid; + border-bottom: 100px solid transparent; + color: #5071ae; +} +.triangle-header-right{ + text-align: center; + overflow: hidden; + margin: 0 0 0px; + padding: 0; + position: relative; + width: 100%; + z-index: 1; + border-right: 1400px solid; + border-top: 100px solid transparent; + color: #5071ae; + +} +.triangle1 { + text-align: center; + position: relative; + width: 100%; + height: 100px; + z-index: 1; + color: pink; +} + +.triangle-footer{ + width: 0; + height: 0; + border-style: solid; + border-width: 0 0 150px 1400px; + border-color: transparent transparent #5071ae white; +} +.white-tittle{ + color:white; + text-align: left; + margin-left: 100px; + margin-right: 100px; +} +.blue-row{ + background-color: #5071ae; +} +.logo-center{ + text-align: center; +} +.tuerca{ + margin-top: 60px; + margin-left: 80px; +} +.whitelogo{ + margin-top: 5px; +} +.margin-row{ + margin-bottom: 100px; +} +.employee-text{ + text-align: center; +} diff --git a/src/less/variables.less b/src/less/variables.less new file mode 100755 index 0000000..52c022c --- /dev/null +++ b/src/less/variables.less @@ -0,0 +1,11 @@ +/** + * These are the variables used throughout the application. This is where + * overwrites that are not specific to components should be maintained. + */ + +/** + * Typography-related. + */ + +@sansFontFamily: 'Roboto', sans-serif; + diff --git a/src/sitemap.xml b/src/sitemap.xml new file mode 100755 index 0000000..3285b43 --- /dev/null +++ b/src/sitemap.xml @@ -0,0 +1,8 @@ + + +http://edosoft.es/ +2016-04-26 +weekly +1.0 + +