├── .docker ├── nginx │ └── app.conf └── php │ ├── Dockerfile │ ├── entrypoint.sh │ └── xdebug.ini ├── .editorconfig ├── .github ├── dependabot.yml └── workflows │ ├── composer-validate.yml │ └── deploy.yml ├── .gitignore ├── CNAME ├── README.md ├── bootstrap.php ├── composer.json ├── composer.lock ├── config.php ├── config.production.php ├── docker-compose.yml ├── listeners └── GenerateSitemap.php ├── package-lock.json ├── package.json ├── source ├── _assets │ ├── js │ │ └── main.js │ └── sass │ │ └── main.scss ├── _layouts │ ├── footer.blade.php │ ├── header.blade.php │ ├── job.blade.php │ ├── main.blade.php │ └── post.blade.php ├── _partials │ └── contact_form.blade.php ├── _posts │ ├── cooperativismo-e-tecnologia.md │ ├── o-que-e-uma-assinatura-digital.md │ └── os-7-principios-do-cooperativismo.md ├── assets │ ├── images │ │ ├── apple-touch-icon.png │ │ ├── clients │ │ │ ├── amperj.jpg │ │ │ ├── client-1.png │ │ │ ├── client-2.png │ │ │ ├── client-3.png │ │ │ ├── client-4.jpg │ │ │ ├── client-5.png │ │ │ ├── client-6.png │ │ │ ├── client-7.png │ │ │ ├── client-8.png │ │ │ ├── client-dfl.png │ │ │ ├── nicbr.png │ │ │ └── prefeitura-nikiti.png │ │ ├── coop.png │ │ ├── favico.png │ │ ├── gnu.png │ │ ├── icone2.png │ │ ├── librecode_team.jpeg │ │ ├── linguagens │ │ │ ├── js.png │ │ │ ├── mariadb.png │ │ │ ├── php.jpeg │ │ │ └── postgre.png │ │ ├── logo │ │ │ ├── librecode.png │ │ │ ├── librecode_author.jpg │ │ │ ├── libresign.png │ │ │ └── somoscoop-horizontal-light.png │ │ ├── nextcloud │ │ │ ├── agenda.png │ │ │ ├── arquivos.png │ │ │ ├── logo.png │ │ │ ├── logs.png │ │ │ ├── nc-logs-2.png │ │ │ ├── onlyoffice.png │ │ │ └── usuarios.png │ │ ├── posts │ │ │ ├── cooperativismo-e-tecnologia │ │ │ │ ├── banner.jpg │ │ │ │ └── cover.jpg │ │ │ ├── o-que-e-uma-assinatura-digital │ │ │ │ ├── banner.jpg │ │ │ │ └── cover.jpg │ │ │ └── os-7-principios-do-cooperativismo │ │ │ │ ├── banner.jpg │ │ │ │ └── cover.jpg │ │ └── solucoes │ │ │ ├── ieducar.png │ │ │ ├── matomo.png │ │ │ ├── mautic.png │ │ │ ├── moodle.png │ │ │ ├── nextcloud.png │ │ │ └── ojs.png │ └── lib │ │ ├── easing │ │ ├── easing.js │ │ └── easing.min.js │ │ ├── font-awesome │ │ ├── css │ │ │ ├── font-awesome.css │ │ │ └── font-awesome.min.css │ │ └── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ │ ├── mobile-nav │ │ └── mobile-nav.js │ │ └── waypoints │ │ └── waypoints.min.js ├── contato.blade.php ├── index.blade.php ├── jobs │ ├── area-de-atuacao.md │ ├── beneficios.md │ ├── forma-contratacao.md │ ├── index.blade.php │ ├── materiais-de-apoio.md │ ├── pre-requisitos.md │ ├── requisitos-backend.md │ ├── requisitos-frontend.md │ └── requisitos-infraestrutura.md ├── nextcloud.blade.php ├── posts.blade.php └── tavola.blade.php └── webpack.mix.js /.docker/nginx/app.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | index index.php; 4 | root /var/www/html; 5 | 6 | location ~ \.(?:ico)$ { 7 | try_files $uri /$request_uri; 8 | # Optional: Don't log access to other assets 9 | access_log off; 10 | } 11 | 12 | location ~ \.php$ { 13 | fastcgi_split_path_info ^(.+\.php)(/.+)$; 14 | fastcgi_pass php:9000; 15 | include fastcgi_params; 16 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 17 | fastcgi_param PATH_INFO $fastcgi_path_info; 18 | } 19 | 20 | location / { 21 | try_files $uri $uri/index.html; 22 | gzip_static on; 23 | } 24 | 25 | error_log /var/log/nginx/error.log; 26 | access_log /var/log/nginx/access.log; 27 | } -------------------------------------------------------------------------------- /.docker/php/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:8.3-fpm 2 | 3 | RUN apt-get update \ 4 | && apt-get install -y \ 5 | git \ 6 | espeak-ng \ 7 | # Clean package cache 8 | && rm -rf /var/lib/apt/lists/* 9 | 10 | # Install PHP extensions and Composer 11 | ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ 12 | RUN chmod uga+x /usr/local/bin/install-php-extensions && sync \ 13 | && install-php-extensions \ 14 | gd \ 15 | xdebug \ 16 | zip \ 17 | @composer \ 18 | && rm /usr/local/bin/install-php-extensions 19 | 20 | COPY xdebug.ini /usr/local/etc/php/conf.d/ 21 | 22 | # Install NVM 23 | RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \ 24 | && export NVM_DIR="/root/.nvm" \ 25 | && . "$NVM_DIR/nvm.sh" \ 26 | && nvm install 20 \ 27 | && nvm alias default 20 28 | 29 | ENV NVM_DIR /root/.nvm 30 | ENV NODE_PATH $NVM_DIR/v20/lib/node_modules 31 | ENV PATH $NVM_DIR/v20/bin:$PATH 32 | 33 | RUN echo "alias jigsaw=./vendor/bin/jigsaw" >> /etc/bash.bashrc && \ 34 | echo "alias compile='./vendor/bin/jigsaw build'" >> /etc/bash.bashrc && \ 35 | /bin/bash -c "source /etc/bash.bashrc" 36 | 37 | WORKDIR /var/www/html 38 | 39 | COPY entrypoint.sh /var/www/scripts/ 40 | ENTRYPOINT [ "bash", "/var/www/scripts/entrypoint.sh" ] 41 | -------------------------------------------------------------------------------- /.docker/php/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | . "$NVM_DIR/nvm.sh" 4 | 5 | # Set uid of host machine 6 | usermod --non-unique --uid "${HOST_UID}" www-data 7 | groupmod --non-unique --gid "${HOST_GID}" www-data 8 | 9 | if [ ! -d "vendor" ]; then 10 | composer i 11 | fi 12 | php-fpm & 13 | if [[ "$SERVER_MODE" == 'watch' ]]; then 14 | npm run watch 15 | else 16 | php ./vendor/bin/jigsaw serve --host 0.0.0.0 --port 3000 17 | fi 18 | -------------------------------------------------------------------------------- /.docker/php/xdebug.ini: -------------------------------------------------------------------------------- 1 | xdebug.mode=debug 2 | xdebug.start_with_request=yes -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # https://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | end_of_line = lf 8 | indent_size = 4 9 | indent_style = space 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.blade.php] 14 | indent_size = 2 15 | indent_style = space 16 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "composer" 4 | directory: "/" 5 | schedule: 6 | interval: "weekly" 7 | -------------------------------------------------------------------------------- /.github/workflows/composer-validate.yml: -------------------------------------------------------------------------------- 1 | name: Composer Validate 2 | 3 | on: pull_request 4 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 5 | jobs: 6 | # This workflow contains a single job called "build" 7 | build: 8 | # The type of runner that the job will run on 9 | runs-on: ubuntu-latest 10 | # Steps represent a sequence of tasks that will be executed as part of the job 11 | steps: 12 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it 13 | - uses: actions/checkout@v4 14 | - name: Set up php 8.3 15 | uses: shivammathur/setup-php@v2 16 | with: 17 | php-version: 8.3 18 | - name: Validate composer files 19 | run: composer validate --strict -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | # This is a basic workflow to help you get started with Actions 2 | 3 | name: Deploy 4 | 5 | # Controls when the workflow will run 6 | on: 7 | # Triggers the workflow on push events but only for the main branch 8 | push: 9 | branches: [ main ] 10 | workflow_dispatch: 11 | 12 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 13 | jobs: 14 | # This workflow contains a single job called "build" 15 | build: 16 | # The type of runner that the job will run on 17 | runs-on: ubuntu-latest 18 | # Steps represent a sequence of tasks that will be executed as part of the job 19 | steps: 20 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it 21 | - uses: actions/checkout@v4 22 | - name: Setup Node 23 | uses: actions/setup-node@v4 24 | with: 25 | node-version: 20 26 | - name: Set up php 8.3 27 | uses: shivammathur/setup-php@v2 28 | with: 29 | php-version: 8.3 30 | - name: Set up PHP dependencie 31 | run: composer i 32 | - name: Run composer command 33 | run: composer prod 34 | - name: Deploy to GitHub Pages 35 | if: success() 36 | uses: crazy-max/ghaction-github-pages@v4 37 | env: 38 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 39 | with: 40 | # Build directory to deploy 41 | build_dir: build_production 42 | # Write the given domain name to the CNAME file 43 | fqdn: librecode.coop 44 | # Allow Jekyll to build your site 45 | jekyll: false -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /build_local/ 2 | /cache/ 3 | /node_modules/ 4 | /vendor/ 5 | /.idea/ 6 | /.vscode/ 7 | npm-debug.log 8 | yarn-error.log 9 | /source/assets/sitemap.xml 10 | # Optional ignores 11 | # /build_staging/ 12 | # /build_production/ 13 | /source/assets/build/ 14 | .env -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | librecode.coop 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [LibreCode](https://librecode.coop) site 2 | 3 | Repositório do site institucional da LibreCode 4 | 5 | ## Instalação 6 | 7 | ```bash 8 | git clone git@github.com:librecodecoop/site.git 9 | cd site 10 | docker-compose up 11 | ``` 12 | 13 | - Abra no navegador o endereço: 14 | http://localhost:8080 15 | 16 | ## Deploy 17 | 18 | Para fazer deploy faça um fork do projeto com sua conta pessoal, adicione um 19 | novo remote com a url do seu fork, crie uma nova branch a partir da develop com o nome da 20 | funcionalidade a ser implementada, faça seus commits, empurre a branch criada 21 | para seu remote e crie um pull request para o repositório oficial do site na 22 | branch develop. 23 | 24 | Exemplo: 25 | 26 | ```bash 27 | git remote add fork 28 | git checkout origin/develop 29 | git checkout -b 30 | # Desenvolva as mudanças 31 | git commit 32 | git push fork 33 | ``` 34 | 35 | Após o seu pull request ser aceito, faça um pull request da branch develop para 36 | a main. Quando este pull request também for aceito, irá iniciar o deploy 37 | pelo Travis, caso não ocorram erros o site estará atualizado em produção. 38 | -------------------------------------------------------------------------------- /bootstrap.php: -------------------------------------------------------------------------------- 1 | beforeBuild(function (Jigsaw $jigsaw) { 15 | * // Your code here 16 | * }); 17 | */ 18 | 19 | $events->afterBuild(App\Listeners\GenerateSitemap::class); 20 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "librecodecoop/site", 3 | "description": "Site corporativo da LibreCode Soluções Tecnológicas", 4 | "license": "AGPL-3.0-or-later", 5 | "require": { 6 | "tightenco/jigsaw": "^1.7", 7 | "gregwar/captcha": "^1.2", 8 | "libresign/espeak": "dev-main", 9 | "nesbot/carbon": "^3.3", 10 | "elaborate-code/jigsaw-localization": "dev-main", 11 | "samdark/sitemap": "^2.4" 12 | }, 13 | "autoload": { 14 | "psr-4": { 15 | "App\\Listeners\\": "listeners" 16 | } 17 | }, 18 | "scripts": { 19 | "post-install-cmd": [ 20 | "npm ci" 21 | ], 22 | "dev": [ 23 | "npm run watch" 24 | ], 25 | "prod": [ 26 | "npm run prod" 27 | ] 28 | }, 29 | "repositories": [ 30 | { 31 | "type": "vcs", 32 | "url": "https://github.com/LibreSign/jigsaw-localization" 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /config.php: -------------------------------------------------------------------------------- 1 | false, 7 | 'baseUrl' => '/', 8 | 'title' => 'LibreCode', 9 | 'description' => 'Cooperativa de tecnologia da informação especializada em desenvolvimento de soluções com licença livre.', 10 | 'collections' => [ 11 | 'posts' => [ 12 | 'path' => 'posts/{-title}', 13 | 'author' => 'LibreCode', 14 | 'sort' => '-date', 15 | 'map' => function ($post) { 16 | $postLang = current_path_locale($post); 17 | $path = 'assets/images/posts/'.$post->getFilename(); 18 | $alternativePath = 'assets/images/posts/'. str_replace($postLang . '_', '', $post->getFilename()); 19 | $items = $post->get('collections'); 20 | $author = array_filter($items->all(), function($author) use ($post){ 21 | return $author->name === $post->author; 22 | }); 23 | if(!empty($author)){ 24 | $author = current($author); 25 | $post->set('gravatar', $author->gravatar); 26 | } 27 | 28 | if(empty($post->cover_image)){ 29 | if(file_exists(__DIR__.'/source/'.$path.'/cover.jpg')){ 30 | $post->set('cover_image',$post->baseUrl.$path.'/cover.jpg'); 31 | } elseif(file_exists(__DIR__.'/source/'.$alternativePath.'/cover.jpg')){ 32 | $post->set('cover_image',$post->baseUrl.$alternativePath.'/cover.jpg'); 33 | } else { 34 | $post->set('cover_image',$post->baseUrl.'assets/images/logo/librecode.png'); 35 | } 36 | } 37 | 38 | if(empty($post->banner)){ 39 | if(file_exists(__DIR__.'/source/'.$path.'/banner.jpg')){ 40 | $post->set('banner',$post->baseUrl.$path.'/banner.jpg'); 41 | } elseif(file_exists(__DIR__.'/source/'.$alternativePath.'/banner.jpg')){ 42 | $post->set('banner',$post->baseUrl.$alternativePath.'/banner.jpg'); 43 | } else { 44 | $post->set('banner',$post->baseUrl.'assets/images/logo/librecode.png'); 45 | } 46 | } 47 | 48 | return $post; 49 | } 50 | ], 51 | 'team' => [ 52 | 'items' => [ 53 | [ 54 | 'name' => 'Crisciany Silva', 55 | 'gravatar' => 'f2f64ea713b5c39cb64268a0eda7e022', 56 | 'bio' => 'I\'m a Developer. I currently study the PHP language with a focus on the Laravel framework. I have professional experience in PHP on a web-oriented system and some system maintenance such as screen creation, reports with jasper reports and mpdf and system versioning with git.', 57 | 'role' => 'Software Engineer', 58 | 'social' => [ 59 | 'github' => 'https://github.com/Any97Cris', 60 | 'linkedin' => 'https://www.linkedin.com/in/criscianysilva/' 61 | ], 62 | ], 63 | [ 64 | 'name' => 'Daiane Alves', 65 | 'gravatar' => 'fe9fbbf8677e78931af9a4a5da35e1ee' , 66 | 'bio' => 'Passionate about technology and project management', 67 | 'role' => 'IT Project Management Specialist', 68 | 'social' => [ 69 | 'linkedin' => 'https://www.linkedin.com/in/daianealvesrj/', 70 | ] 71 | ], 72 | [ 73 | 'name' => 'LibreCode', 74 | 'gravatar' => '' , 75 | 'bio' => 'We are a digital cooperative of experts in free software development', 76 | 'role' => 'Cooperative', 77 | 'social' => [ 78 | 'linkedin' => 'https://www.linkedin.com/company/librecodecoop/mycompany/', 79 | 'telegram' => 'https://t.me/LibreCodeCoop', 80 | 'instagram' => 'https://www.instagram.com/librecodecoop/', 81 | 'facebook' => 'https://www.facebook.com/librecodecoop/', 82 | 'github' => 'https://github.com/librecodecoop', 83 | ] 84 | ], 85 | ], 86 | ] 87 | ], 88 | ]; 89 | -------------------------------------------------------------------------------- /config.production.php: -------------------------------------------------------------------------------- 1 | true, 5 | ]; 6 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | web: 4 | image: nginx:alpine 5 | ports: 6 | - 127.0.0.1:${HTTP_PORT:-80}:80 7 | volumes: 8 | - .docker/nginx/:/etc/nginx/conf.d/ 9 | - ./build_local:/var/www/html 10 | 11 | php: 12 | build: 13 | context: .docker/php 14 | ports: 15 | - "127.0.0.1:${HTTP_PORT:-3000}:3000" 16 | - "127.0.0.1:${HTTP_PORT_BROWSERSYNC:-3001}:3001" 17 | volumes: 18 | - .:/var/www/html 19 | environment: 20 | - HOST_UID=${HOST_UID:-1000} 21 | - HOST_GID=${HOST_GID:-1000} 22 | - SERVER_MODE=${SERVER_MODE:-watch} 23 | - TZ=${TZ:-America/Sao_Paulo} 24 | - XDEBUG_CONFIG=${XDEBUG_CONFIG:-client_host=172.17.0.1 start_with_request=yes} 25 | - XDEBUG_MODE=${XDEBUG_MODE:-debug} 26 | - APP_ENV=${APP_ENV:-develop} 27 | -------------------------------------------------------------------------------- /listeners/GenerateSitemap.php: -------------------------------------------------------------------------------- 1 | getDestinationPath() . '/sitemap.xml'); 12 | 13 | collect($jigsaw->getOutputPaths())->each(function ($path) use ($baseUrl, $sitemap) { 14 | if (! $this->isAsset($path)) { 15 | $sitemap->addItem('https://'.$baseUrl . $path, time(), Sitemap::DAILY); 16 | } 17 | }); 18 | 19 | $sitemap->write(); 20 | } 21 | 22 | public function isAsset($path) 23 | { 24 | return str_starts_with($path, '/assets'); 25 | } 26 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "dev": "mix", 5 | "watch": "mix watch", 6 | "staging": "NODE_ENV=staging mix", 7 | "prod": "mix --production" 8 | }, 9 | "devDependencies": { 10 | "browser-sync": "^3.0.2", 11 | "browser-sync-webpack-plugin": "https://github.com/madbucket/browser-sync-webpack-plugin", 12 | "laravel-mix": "^6.0.39", 13 | "laravel-mix-jigsaw": "^2.0.0", 14 | "postcss": "^8.4.14", 15 | "postcss-import": "^14.0.0", 16 | "sass": "^1.72.0", 17 | "sass-loader": "^12.6.0", 18 | "tailwindcss": "^3.1.6" 19 | }, 20 | "dependencies": { 21 | "animate.css": "^4.1.0", 22 | "bootstrap": "^4.5.0", 23 | "glightbox": "^3.1.0", 24 | "ionicons": "^5.0.1", 25 | "isotope-layout": "^3.0.6", 26 | "jquery": "^3.5.1", 27 | "jquery-bridget": "^2.0.1", 28 | "lightbox2": "^2.11.1", 29 | "lineicons": "^1.0.3", 30 | "owl.carousel": "^2.3.4", 31 | "popper.js": "^1.16.1", 32 | "wowjs": "^1.1.3" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /source/_assets/js/main.js: -------------------------------------------------------------------------------- 1 | window.Popper = require('popper.js').default; 2 | window.$ = window.jQuery = require('jquery'); 3 | // require('lightbox2/dist/css/lightbox.min.css') 4 | // window.lightbox = require('lightbox2'); 5 | import jQueryBridget from 'jquery-bridget'; 6 | import 'bootstrap'; 7 | import { WOW } from 'wowjs'; 8 | import 'owl.carousel/dist/assets/owl.carousel.css'; 9 | import 'owl.carousel'; 10 | // import 'ionicons/dist/ionicons'; 11 | import 'owl.carousel/dist/assets/owl.carousel.css'; 12 | import 'animate.css/animate.compat.css'; 13 | import Isotope from 'isotope-layout'; 14 | import '../../../source/assets/lib/mobile-nav/mobile-nav.js'; 15 | import '../../../source/assets/lib/easing/easing.min.js'; 16 | import '../../../source/assets/lib/waypoints/waypoints.min.js'; 17 | 18 | (function ($) { 19 | "use strict"; 20 | 21 | // Preloader (if the #preloader div exists) 22 | $(window).on('load', function () { 23 | if ($('#preloader').length) { 24 | $('#preloader').delay(100).fadeOut('slow', function () { 25 | $(this).remove(); 26 | }); 27 | } 28 | }); 29 | 30 | // Back to top button 31 | $(window).scroll(function() { 32 | if ($(this).scrollTop() > 100) { 33 | $('.back-to-top').fadeIn('slow'); 34 | } else { 35 | $('.back-to-top').fadeOut('slow'); 36 | } 37 | }); 38 | $('.back-to-top').click(function(){ 39 | $('html, body').animate({scrollTop : 0},1500, 'easeInOutExpo'); 40 | return false; 41 | }); 42 | 43 | // Initiate the wowjs animation library 44 | new WOW({ 45 | live: false 46 | }).init(); 47 | 48 | // Header scroll class 49 | $(window).scroll(function() { 50 | if ($(this).scrollTop() > 100) { 51 | $('#header').addClass('header-scrolled'); 52 | } else { 53 | $('#header').removeClass('header-scrolled'); 54 | } 55 | }); 56 | 57 | if ($(window).scrollTop() > 100) { 58 | $('#header').addClass('header-scrolled'); 59 | } 60 | 61 | // Smooth scroll for the navigation and links with .scrollto classes 62 | $('.main-nav a, .mobile-nav a, .scrollto').on('click', function() { 63 | if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { 64 | var target = $(this.hash); 65 | if (target.length) { 66 | var top_space = 0; 67 | 68 | if ($('#header').length) { 69 | top_space = $('#header').outerHeight(); 70 | 71 | if (! $('#header').hasClass('header-scrolled')) { 72 | top_space = top_space - 20; 73 | } 74 | } 75 | 76 | $('html, body').animate({ 77 | scrollTop: target.offset().top - top_space 78 | }, 1500, 'easeInOutExpo'); 79 | 80 | if ($(this).parents('.main-nav, .mobile-nav').length) { 81 | $('.main-nav .active, .mobile-nav .active').removeClass('active'); 82 | $(this).closest('li').addClass('active'); 83 | } 84 | 85 | if ($('body').hasClass('mobile-nav-active')) { 86 | $('body').removeClass('mobile-nav-active'); 87 | $('.mobile-nav-toggle i').toggleClass('fa-times fa-bars'); 88 | $('.mobile-nav-overly').fadeOut(); 89 | } 90 | return false; 91 | } 92 | } 93 | }); 94 | 95 | // Navigation active state on scroll 96 | var nav_sections = $('section'); 97 | var main_nav = $('.main-nav, .mobile-nav'); 98 | var main_nav_height = $('#header').outerHeight(); 99 | 100 | $(window).on('scroll', function () { 101 | var cur_pos = $(this).scrollTop(); 102 | 103 | nav_sections.each(function() { 104 | var top = $(this).offset().top - main_nav_height, 105 | bottom = top + $(this).outerHeight(); 106 | 107 | if (cur_pos >= top && cur_pos <= bottom) { 108 | main_nav.find('li').removeClass('active'); 109 | main_nav.find('a[href="#'+$(this).attr('id')+'"]').parent('li').addClass('active'); 110 | } 111 | }); 112 | }); 113 | 114 | // Porfolio isotope and filter 115 | $(window).on('load', function () { 116 | jQueryBridget( 'isotope', Isotope, $ ); 117 | var portfolioIsotope = $('.portfolio-container').isotope({ 118 | itemSelector: '.portfolio-item' 119 | }); 120 | $('#portfolio-flters li').on( 'click', function() { 121 | $("#portfolio-flters li").removeClass('filter-active'); 122 | $(this).addClass('filter-active'); 123 | 124 | portfolioIsotope.isotope({ filter: $(this).data('filter') }); 125 | }); 126 | 127 | // Testimonials carousel (uses the Owl Carousel library) 128 | $(".testimonials-carousel").owlCarousel({ 129 | autoplay: true, 130 | dots: true, 131 | loop: true, 132 | items: 1 133 | }); 134 | }); 135 | 136 | })(jQuery); 137 | 138 | -------------------------------------------------------------------------------- /source/_assets/sass/main.scss: -------------------------------------------------------------------------------- 1 | @import "~bootstrap/scss/bootstrap"; 2 | @import "../../../node_modules/lineicons/web-font/lineicons.css"; 3 | /*-------------------------------------------------------------- 4 | # General 5 | --------------------------------------------------------------*/ 6 | 7 | body { 8 | background: #fff; 9 | color: #444; 10 | font-family: "Open Sans", sans-serif; 11 | } 12 | 13 | a { 14 | color: #e5332aff; 15 | transition: 0.5s; 16 | } 17 | 18 | a:hover, 19 | a:active, 20 | a:focus { 21 | color: #0b6bd3; 22 | outline: none; 23 | text-decoration: none; 24 | } 25 | 26 | p { 27 | padding: 0; 28 | margin: 0 0 30px 0; 29 | } 30 | 31 | h1, 32 | h2, 33 | h3, 34 | h4, 35 | h5, 36 | h6 { 37 | font-family: "Montserrat", sans-serif; 38 | font-weight: 400; 39 | margin: 0 0 20px 0; 40 | padding: 0; 41 | } 42 | 43 | /* Back to top button */ 44 | 45 | .back-to-top { 46 | position: fixed; 47 | display: none; 48 | background: #e5332aff; 49 | color: #fff; 50 | width: 44px; 51 | height: 44px; 52 | text-align: center; 53 | line-height: 1; 54 | font-size: 16px; 55 | border-radius: 50%; 56 | right: 15px; 57 | bottom: 15px; 58 | transition: background 0.5s; 59 | z-index: 11; 60 | } 61 | 62 | .back-to-top i { 63 | padding-top: 12px; 64 | color: #fff; 65 | } 66 | 67 | /* Prelaoder */ 68 | 69 | #preloader { 70 | position: fixed; 71 | top: 0; 72 | left: 0; 73 | right: 0; 74 | bottom: 0; 75 | z-index: 9999; 76 | overflow: hidden; 77 | background: #fff; 78 | } 79 | 80 | #preloader:before { 81 | content: ""; 82 | position: fixed; 83 | top: calc(50% - 30px); 84 | left: calc(50% - 30px); 85 | border: 6px solid #f2f2f2; 86 | border-top: 6px solid #e5332aff; 87 | border-radius: 50%; 88 | width: 60px; 89 | height: 60px; 90 | -webkit-animation: animate-preloader 1s linear infinite; 91 | animation: animate-preloader 1s linear infinite; 92 | } 93 | 94 | @-webkit-keyframes animate-preloader { 95 | 0% { 96 | -webkit-transform: rotate(0deg); 97 | transform: rotate(0deg); 98 | } 99 | 100 | 100% { 101 | -webkit-transform: rotate(360deg); 102 | transform: rotate(360deg); 103 | } 104 | } 105 | 106 | @keyframes animate-preloader { 107 | 0% { 108 | -webkit-transform: rotate(0deg); 109 | transform: rotate(0deg); 110 | } 111 | 112 | 100% { 113 | -webkit-transform: rotate(360deg); 114 | transform: rotate(360deg); 115 | } 116 | } 117 | 118 | /*-------------------------------------------------------------- 119 | # Header 120 | --------------------------------------------------------------*/ 121 | 122 | #header { 123 | height: 80px; 124 | transition: all 0.5s; 125 | z-index: 997; 126 | transition: all 0.5s; 127 | padding: 20px 0; 128 | background: #fff; 129 | box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.3); 130 | } 131 | 132 | #header.header-scrolled, 133 | #header.header-pages { 134 | height: 60px; 135 | padding: 10px 0; 136 | } 137 | 138 | #header .logo h1 { 139 | font-size: 36px; 140 | margin: 0; 141 | padding: 0; 142 | line-height: 1; 143 | font-weight: 400; 144 | letter-spacing: 3px; 145 | text-transform: uppercase; 146 | } 147 | 148 | #header .logo h1 a, 149 | #header .logo h1 a:hover { 150 | color: #00366f; 151 | text-decoration: none; 152 | } 153 | 154 | #header .logo img { 155 | padding: 0; 156 | //margin: 7px 0; 157 | max-height: 46px; 158 | } 159 | 160 | .main-pages { 161 | margin-top: 60px; 162 | } 163 | 164 | /*-------------------------------------------------------------- 165 | # Blog Posts Section 166 | --------------------------------------------------------------*/ 167 | .blog-posts { 168 | padding: 60px 0 20px 0; 169 | } 170 | 171 | .blog-posts .article-blog { 172 | box-shadow: 0 4px 10px gray; 173 | padding: 30px; 174 | height: 100%; 175 | border-radius: 10px; 176 | overflow: hidden; 177 | } 178 | 179 | .blog-posts .post-img { 180 | max-height: 240px; 181 | margin: -30px -30px 15px -30px; 182 | overflow: hidden; 183 | } 184 | 185 | .blog-posts .post-category { 186 | font-size: 16px; 187 | color: color-mix(in srgb, #212529, transparent 40%); 188 | margin-bottom: 10px; 189 | } 190 | 191 | .blog-posts .title { 192 | font-size: 20px; 193 | font-weight: 700; 194 | padding: 0; 195 | margin: 0 0 20px 0; 196 | } 197 | 198 | .blog-posts .title a { 199 | color: var(--heading-color); 200 | transition: 0.3s; 201 | } 202 | 203 | .blog-posts .title a:hover { 204 | color: var(--accent-color); 205 | } 206 | 207 | .blog-posts .post-author-img { 208 | width: 50px; 209 | border-radius: 50%; 210 | margin-right: 15px; 211 | } 212 | 213 | .blog-posts .post-author { 214 | font-weight: 600; 215 | margin-bottom: 5px; 216 | } 217 | 218 | .blog-posts .post-date { 219 | font-size: 14px; 220 | color: color-mix(in srgb, var(--default-color), transparent 40%); 221 | margin-bottom: 0; 222 | } 223 | 224 | .padding-auto { 225 | padding: auto; 226 | } 227 | 228 | /*-------------------------------------------------------------- 229 | # Intro Section 230 | --------------------------------------------------------------*/ 231 | 232 | #intro { 233 | width: 100%; 234 | position: relative; 235 | background: url("../../images/icone2.png") repeat; 236 | background-color: #d8d7d7ff; 237 | padding: 180px 0 90px 0; 238 | } 239 | 240 | #intro .intro-img { 241 | width: 50%; 242 | float: right; 243 | } 244 | 245 | #intro .intro-info { 246 | /* width: 50%; */ 247 | /* float: left; */ 248 | text-align: center; 249 | } 250 | 251 | #intro .intro-info p { 252 | color: #e5332a;; 253 | text-align: left; 254 | font-size: 25px; 255 | } 256 | 257 | #intro .intro-info h2 { 258 | padding: 20px; 259 | font-size: 70px; 260 | text-align: left; 261 | } 262 | 263 | #intro .intro-info h3 { 264 | text-align: left; 265 | font-size: 60px; 266 | } 267 | 268 | #intro .intro-info h2 span { 269 | text-decoration: underline; 270 | } 271 | 272 | #intro .intro-info h3 span { 273 | text-decoration: underline; 274 | } 275 | 276 | #intro .intro-info .btn-get-started, 277 | #intro .intro-info .btn-services { 278 | font-family: "Montserrat", sans-serif; 279 | font-size: 14px; 280 | font-weight: 600; 281 | letter-spacing: 1px; 282 | display: inline-block; 283 | padding: 10px 32px; 284 | border-radius: 50px; 285 | transition: 0.5s; 286 | margin: 0 20px 20px 0; 287 | color: #fff; 288 | } 289 | 290 | #intro .intro-info .btn-get-started { 291 | background: #e5332aff; 292 | border: 2px solid #e5332aff; 293 | color: #fff; 294 | } 295 | 296 | #intro .intro-info .btn-get-started:hover { 297 | background: none; 298 | border-color: #fff; 299 | color: #fff; 300 | } 301 | 302 | #intro .intro-info .btn-services { 303 | border: 2px solid #fff; 304 | } 305 | 306 | #intro .intro-info .btn-services:hover { 307 | background: #e5332aff; 308 | border-color: #e5332aff; 309 | color: #fff; 310 | } 311 | 312 | /*-------------------------------------------------------------- 313 | # Navigation Menu 314 | --------------------------------------------------------------*/ 315 | 316 | /* Desktop Navigation */ 317 | 318 | .main-nav { 319 | /* Drop Down */ 320 | /* Deep Drop Down */ 321 | } 322 | 323 | .main-nav, 324 | .main-nav * { 325 | margin: 0; 326 | padding: 0; 327 | list-style: none; 328 | } 329 | 330 | .main-nav > ul > li { 331 | position: relative; 332 | white-space: nowrap; 333 | float: left; 334 | } 335 | 336 | .main-nav a { 337 | display: block; 338 | position: relative; 339 | color: #e5332aff; 340 | padding: 10px 15px; 341 | transition: 0.3s; 342 | font-size: 14px; 343 | font-family: "Montserrat", sans-serif; 344 | font-weight: 500; 345 | } 346 | 347 | .main-nav a:hover, 348 | .main-nav .active > a, 349 | .main-nav li:hover > a { 350 | color: #e5332aff; 351 | text-decoration: none; 352 | } 353 | 354 | .main-nav .drop-down ul { 355 | display: block; 356 | position: absolute; 357 | left: 0; 358 | top: calc(100% + 30px); 359 | z-index: 99; 360 | opacity: 0; 361 | visibility: hidden; 362 | padding: 10px 0; 363 | background: #fff; 364 | box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25); 365 | transition: ease all 0.3s; 366 | } 367 | 368 | .main-nav .drop-down:hover > ul { 369 | opacity: 1; 370 | top: 100%; 371 | visibility: visible; 372 | } 373 | 374 | .main-nav .drop-down li { 375 | min-width: 180px; 376 | position: relative; 377 | } 378 | 379 | .main-nav .drop-down ul a { 380 | padding: 10px 20px; 381 | font-size: 13px; 382 | color: #004289; 383 | } 384 | 385 | .main-nav .drop-down ul a:hover, 386 | .main-nav .drop-down ul .active > a, 387 | .main-nav .drop-down ul li:hover > a { 388 | color: #e5332aff; 389 | } 390 | 391 | .main-nav .drop-down > a:after { 392 | content: "\f107"; 393 | font-family: FontAwesome; 394 | padding-left: 10px; 395 | } 396 | 397 | .main-nav .drop-down .drop-down ul { 398 | top: 0; 399 | left: calc(100% - 30px); 400 | } 401 | 402 | .main-nav .drop-down .drop-down:hover > ul { 403 | opacity: 1; 404 | top: 0; 405 | left: 100%; 406 | } 407 | 408 | .main-nav .drop-down .drop-down > a { 409 | padding-right: 35px; 410 | } 411 | 412 | .main-nav .drop-down .drop-down > a:after { 413 | content: "\f105"; 414 | position: absolute; 415 | right: 15px; 416 | } 417 | 418 | /* Mobile Navigation */ 419 | 420 | .mobile-nav { 421 | position: fixed; 422 | top: 0; 423 | bottom: 0; 424 | z-index: 9999; 425 | overflow-y: auto; 426 | left: -260px; 427 | width: 260px; 428 | padding-top: 18px; 429 | background: rgba(19, 39, 57, 0.8); 430 | transition: 0.4s; 431 | } 432 | 433 | .mobile-nav * { 434 | margin: 0; 435 | padding: 0; 436 | list-style: none; 437 | } 438 | 439 | .mobile-nav a { 440 | display: block; 441 | position: relative; 442 | color: #fff; 443 | padding: 10px 20px; 444 | font-weight: 500; 445 | } 446 | 447 | .mobile-nav a:hover, 448 | .mobile-nav .active > a, 449 | .mobile-nav li:hover > a { 450 | color: #74b5fc; 451 | text-decoration: none; 452 | } 453 | 454 | .mobile-nav .drop-down > a:after { 455 | content: "\f078"; 456 | font-family: FontAwesome; 457 | padding-left: 10px; 458 | position: absolute; 459 | right: 15px; 460 | } 461 | 462 | .mobile-nav .active.drop-down > a:after { 463 | content: "\f077"; 464 | } 465 | 466 | .mobile-nav .drop-down > a { 467 | padding-right: 35px; 468 | } 469 | 470 | .mobile-nav .drop-down ul { 471 | display: none; 472 | overflow: hidden; 473 | } 474 | 475 | .mobile-nav .drop-down li { 476 | padding-left: 20px; 477 | } 478 | 479 | .mobile-nav-toggle { 480 | position: fixed; 481 | right: 0; 482 | top: 0; 483 | z-index: 9998; 484 | border: 0; 485 | background: none; 486 | font-size: 24px; 487 | transition: all 0.4s; 488 | outline: none !important; 489 | line-height: 1; 490 | cursor: pointer; 491 | text-align: right; 492 | } 493 | 494 | .mobile-nav-toggle i { 495 | margin: 18px 18px 0 0; 496 | color: #004289; 497 | } 498 | 499 | .mobile-nav-overly { 500 | width: 100%; 501 | height: 100%; 502 | z-index: 9997; 503 | top: 0; 504 | left: 0; 505 | position: fixed; 506 | background: rgba(19, 39, 57, 0.8); 507 | overflow: hidden; 508 | display: none; 509 | } 510 | 511 | .mobile-nav-active { 512 | overflow: hidden; 513 | } 514 | 515 | .mobile-nav-active .mobile-nav { 516 | left: 0; 517 | } 518 | 519 | .mobile-nav-active .mobile-nav-toggle i { 520 | color: #fff; 521 | } 522 | 523 | /*-------------------------------------------------------------- 524 | # Sections 525 | --------------------------------------------------------------*/ 526 | 527 | /* Sections Header 528 | --------------------------------*/ 529 | 530 | .section-header h3 { 531 | font-size: 36px; 532 | color: #283d50; 533 | text-align: center; 534 | font-weight: 500; 535 | position: relative; 536 | } 537 | 538 | .section-header p { 539 | text-align: center; 540 | margin: auto; 541 | font-size: 15px; 542 | padding-bottom: 60px; 543 | color: #556877; 544 | width: 50%; 545 | } 546 | 547 | /* Section with background 548 | --------------------------------*/ 549 | 550 | .section-bg { 551 | background: #d8d7d7ff; 552 | } 553 | 554 | /* About Us Section 555 | --------------------------------*/ 556 | 557 | #about { 558 | background: #e6e6e6ff; 559 | padding: 60px 0; 560 | } 561 | 562 | #about .about-container .background { 563 | margin: 20px 0; 564 | } 565 | 566 | #about .about-container .content { 567 | /* background: #fff; */ 568 | } 569 | 570 | #about .about-container .title { 571 | color: #333; 572 | font-weight: 700; 573 | font-size: 32px; 574 | } 575 | 576 | #about .about-container p { 577 | line-height: 26px; 578 | } 579 | 580 | #about .about-container p:last-child { 581 | margin-bottom: 0; 582 | } 583 | 584 | #about .about-container .icon-box { 585 | /* background: #fff; */ 586 | background-size: cover; 587 | padding: 0 0 30px 0; 588 | } 589 | 590 | #about .about-container .icon-box .icon { 591 | float: left; 592 | background: #fff; 593 | width: 64px; 594 | height: 64px; 595 | display: -webkit-box; 596 | display: -webkit-flex; 597 | display: -ms-flexbox; 598 | display: flex; 599 | -webkit-box-pack: center; 600 | -webkit-justify-content: center; 601 | -ms-flex-pack: center; 602 | justify-content: center; 603 | -webkit-box-align: center; 604 | -webkit-align-items: center; 605 | -ms-flex-align: center; 606 | align-items: center; 607 | -webkit-box-orient: vertical; 608 | -webkit-box-direction: normal; 609 | -webkit-flex-direction: column; 610 | -ms-flex-direction: column; 611 | flex-direction: column; 612 | text-align: center; 613 | border-radius: 50%; 614 | border: 2px solid #e5332aff; 615 | transition: all 0.3s ease-in-out; 616 | } 617 | 618 | #about .about-container .icon-box .icon i { 619 | color: #e5332aff; 620 | font-size: 24px; 621 | } 622 | 623 | #about .about-container .icon-box:hover .icon { 624 | background: #e5332aff; 625 | } 626 | 627 | #about .about-container .icon-box:hover .icon i { 628 | color: #fff; 629 | } 630 | 631 | #about .about-container .icon-box .title { 632 | margin-left: 80px; 633 | font-weight: 600; 634 | margin-bottom: 5px; 635 | font-size: 18px; 636 | } 637 | 638 | #about .about-container .icon-box .title a { 639 | color: #283d50; 640 | } 641 | 642 | #about .about-container .icon-box .description { 643 | margin-left: 80px; 644 | line-height: 24px; 645 | font-size: 14px; 646 | } 647 | 648 | #about .about-extra { 649 | padding-top: 60px; 650 | } 651 | 652 | #about .about-extra h4 { 653 | font-weight: 600; 654 | font-size: 24px; 655 | } 656 | 657 | /* Services Section 658 | --------------------------------*/ 659 | 660 | #services { 661 | padding: 60px 0 40px 0; 662 | box-shadow: inset 0px 0px 12px 0px rgba(0, 0, 0, 0.1); 663 | background: #74b5fc; 664 | } 665 | 666 | #services .box { 667 | padding: 30px; 668 | position: relative; 669 | overflow: hidden; 670 | border-radius: 10px; 671 | margin: 0 10px 40px 10px; 672 | background: #fff; 673 | box-shadow: 0 10px 29px 0 rgba(68, 88, 144, 0.1); 674 | transition: all 0.3s ease-in-out; 675 | } 676 | 677 | #services .box:hover { 678 | -webkit-transform: translateY(-5px); 679 | transform: translateY(-5px); 680 | } 681 | 682 | #services .icon { 683 | position: absolute; 684 | /* left: -10px; 685 | top: calc(50% - 32px); */ 686 | right: 10px; 687 | top: 10px; 688 | } 689 | 690 | 691 | #services .icon i { 692 | font-size: 64px; 693 | line-height: 1; 694 | transition: 0.5s; 695 | } 696 | 697 | 698 | #services .icon .php { 699 | position: absolute; 700 | width: 300px; 701 | right: -200px; 702 | } 703 | 704 | #services .icon .js { 705 | position: absolute; 706 | width: 100px; 707 | top: -10px; 708 | right: -15px; 709 | } 710 | 711 | #services .icon .mariadb { 712 | position: absolute; 713 | width: 300px; 714 | left: -600px; 715 | top: 60px; 716 | } 717 | 718 | #services .icon .postgre { 719 | position: absolute; 720 | width: 180px; 721 | right: -80px; 722 | top: 30px; 723 | } 724 | 725 | #services .title { 726 | /* margin-left: 40px; */ 727 | font-weight: 700; 728 | margin-bottom: 15px; 729 | font-size: 18px; 730 | } 731 | 732 | 733 | #services .title{ 734 | font-weight: 700; 735 | margin-bottom: 15px; 736 | font-size: 18px; 737 | margin-right: 40px; 738 | } 739 | 740 | #services .title a { 741 | color: #111; 742 | } 743 | 744 | 745 | #services .box:hover .title a { 746 | color: #e5332aff; 747 | } 748 | 749 | #services .description { 750 | font-size: 14px; 751 | /* margin-left: 40px; */ 752 | line-height: 24px; 753 | margin-bottom: 0; 754 | } 755 | 756 | 757 | #services .description-php{ 758 | font-size: 14px; 759 | line-height: 24px; 760 | margin-bottom: 0; 761 | margin-right: 100px; 762 | } 763 | 764 | #services .description-js{ 765 | font-size: 14px; 766 | line-height: 24px; 767 | margin-bottom: 0; 768 | margin-right: 50px; 769 | } 770 | 771 | #services .description-mariadb{ 772 | font-size: 14px; 773 | line-height: 24px; 774 | margin-bottom: 0; 775 | margin-left: 85px; 776 | } 777 | 778 | #services .description-postgre{ 779 | font-size: 14px; 780 | line-height: 24px; 781 | margin-bottom: 0; 782 | margin-right: 115px; 783 | } 784 | 785 | #why-us { 786 | padding: 60px 0; 787 | background: #e5332a;;; 788 | } 789 | 790 | #why-us p { 791 | color: #444; 792 | } 793 | 794 | #why-us .section-header h3, 795 | #why-us .section-header p { 796 | color: #fff; 797 | } 798 | 799 | #why-us .card { 800 | border-color: rgb(197, 212, 245); 801 | border-radius: 10px; 802 | margin: 0 15px; 803 | padding: 15px 0; 804 | text-align: center; 805 | color: #fff; 806 | transition: 0.3s ease-in-out; 807 | height: 100%; 808 | } 809 | 810 | #why-us .card:hover { 811 | background: white; 812 | border-color: white; 813 | } 814 | 815 | #why-us .card i { 816 | font-size: 25px; 817 | padding-top: 15px; 818 | color: #e5332aff; 819 | } 820 | 821 | #why-us .card ion-icon { 822 | font-size: 55px; 823 | } 824 | 825 | #why-us .card h5 { 826 | font-size: 22px; 827 | font-weight: 600; 828 | } 829 | 830 | #why-us .card .readmore { 831 | color: gray; 832 | font-weight: 600; 833 | display: inline-block; 834 | transition: 0.3s ease-in-out; 835 | border-bottom: gray solid 2px; 836 | } 837 | 838 | #why-us .card .readmore:hover { 839 | border-bottom: #fff solid 2px; 840 | } 841 | 842 | #why-us .counters { 843 | padding-top: 40px; 844 | } 845 | 846 | #why-us .counters span { 847 | font-family: "Montserrat", sans-serif; 848 | font-weight: bold; 849 | font-size: 48px; 850 | display: block; 851 | color: #fff; 852 | } 853 | 854 | #why-us .counters p { 855 | padding: 0; 856 | margin: 0 0 20px 0; 857 | font-family: "Montserrat", sans-serif; 858 | font-size: 14px; 859 | color: #cce5ff; 860 | } 861 | 862 | /* Portfolio Section 863 | --------------------------------*/ 864 | 865 | #portfolio { 866 | padding: 60px 0; 867 | box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1); 868 | } 869 | 870 | #portfolio #portfolio-flters { 871 | padding: 0; 872 | margin: 5px 0 35px 0; 873 | list-style: none; 874 | text-align: center; 875 | } 876 | 877 | #portfolio #portfolio-flters li { 878 | cursor: pointer; 879 | margin: 15px 15px 15px 0; 880 | display: inline-block; 881 | padding: 6px 20px; 882 | font-size: 12px; 883 | line-height: 20px; 884 | color: #e5332aff; 885 | border-radius: 50px; 886 | text-transform: uppercase; 887 | background: #ecf5ff; 888 | margin-bottom: 5px; 889 | transition: all 0.3s ease-in-out; 890 | } 891 | 892 | #portfolio #portfolio-flters li:hover, 893 | #portfolio #portfolio-flters li.filter-active { 894 | background: #e5332aff; 895 | color: #fff; 896 | } 897 | 898 | #portfolio #portfolio-flters li:last-child { 899 | margin-right: 0; 900 | } 901 | 902 | #portfolio .portfolio-item { 903 | position: relative; 904 | overflow: hidden; 905 | margin-bottom: 30px; 906 | } 907 | 908 | #portfolio .portfolio-item .portfolio-wrap { 909 | overflow: hidden; 910 | position: relative; 911 | border-radius: 6px; 912 | margin: 0; 913 | } 914 | 915 | #portfolio .portfolio-item .portfolio-wrap:hover img { 916 | opacity: 0.4; 917 | transition: 0.3s; 918 | } 919 | 920 | #portfolio .portfolio-item .portfolio-wrap .portfolio-info { 921 | position: absolute; 922 | top: 0; 923 | right: 0; 924 | bottom: 0; 925 | left: 0; 926 | display: -webkit-box; 927 | display: -webkit-flex; 928 | display: -ms-flexbox; 929 | display: flex; 930 | -webkit-box-pack: center; 931 | -webkit-justify-content: center; 932 | -ms-flex-pack: center; 933 | justify-content: center; 934 | -webkit-box-align: center; 935 | -webkit-align-items: center; 936 | -ms-flex-align: center; 937 | align-items: center; 938 | -webkit-box-orient: vertical; 939 | -webkit-box-direction: normal; 940 | -webkit-flex-direction: column; 941 | -ms-flex-direction: column; 942 | flex-direction: column; 943 | text-align: center; 944 | opacity: 0; 945 | transition: 0.2s linear; 946 | } 947 | 948 | #portfolio .portfolio-item .portfolio-wrap .portfolio-info h4 { 949 | font-size: 22px; 950 | line-height: 1px; 951 | font-weight: 700; 952 | margin-bottom: 14px; 953 | padding-bottom: 0; 954 | } 955 | 956 | #portfolio .portfolio-item .portfolio-wrap .portfolio-info h4 a { 957 | color: #fff; 958 | } 959 | 960 | #portfolio .portfolio-item .portfolio-wrap .portfolio-info h4 a:hover { 961 | color: #e5332aff; 962 | } 963 | 964 | #portfolio .portfolio-item .portfolio-wrap .portfolio-info p { 965 | padding: 0; 966 | margin: 0; 967 | color: #e2effe; 968 | font-weight: 500; 969 | font-size: 14px; 970 | text-transform: uppercase; 971 | } 972 | 973 | #portfolio .portfolio-item .portfolio-wrap .portfolio-info .link-preview, 974 | #portfolio .portfolio-item .portfolio-wrap .portfolio-info .link-details { 975 | display: inline-block; 976 | line-height: 1; 977 | text-align: center; 978 | width: 36px; 979 | height: 36px; 980 | background: #e5332aff; 981 | border-radius: 50%; 982 | margin: 10px 4px 0 4px; 983 | } 984 | 985 | #portfolio .portfolio-item .portfolio-wrap .portfolio-info .link-preview i, 986 | #portfolio .portfolio-item .portfolio-wrap .portfolio-info .link-details i { 987 | padding-top: 6px; 988 | font-size: 22px; 989 | color: #fff; 990 | } 991 | 992 | #portfolio .portfolio-item .portfolio-wrap .portfolio-info .link-preview:hover, 993 | #portfolio .portfolio-item .portfolio-wrap .portfolio-info .link-details:hover { 994 | background: #3395ff; 995 | } 996 | 997 | #portfolio .portfolio-item .portfolio-wrap .portfolio-info .link-preview:hover i, 998 | #portfolio .portfolio-item .portfolio-wrap .portfolio-info .link-details:hover i { 999 | color: #fff; 1000 | } 1001 | 1002 | #portfolio .portfolio-item .portfolio-wrap:hover { 1003 | background: #003166; 1004 | } 1005 | 1006 | #portfolio .portfolio-item .portfolio-wrap:hover .portfolio-info { 1007 | opacity: 1; 1008 | } 1009 | 1010 | /* Testimonials Section 1011 | --------------------------------*/ 1012 | 1013 | #testimonials { 1014 | padding: 60px 0; 1015 | box-shadow: inset 0px 0px 12px 0px rgba(0, 0, 0, 0.1); 1016 | background: rgba(255, 255, 255, 0.5); 1017 | } 1018 | 1019 | #testimonials .section-header { 1020 | margin-bottom: 40px; 1021 | } 1022 | 1023 | #testimonials .testimonial-item { 1024 | text-align: center; 1025 | } 1026 | 1027 | #testimonials .testimonial-item .testimonial-img { 1028 | /* width: 200px; */ 1029 | /* border-radius: 50%; 1030 | border: 4px solid #fff; */ 1031 | /* float: left; */ 1032 | float: none; 1033 | margin: auto; 1034 | } 1035 | 1036 | 1037 | #testimonials .testimonial-item h3 { 1038 | font-size: 20px; 1039 | font-weight: bold; 1040 | margin: 10px 0 5px 0; 1041 | color: #111; 1042 | margin-left: 140px; 1043 | } 1044 | 1045 | #testimonials .testimonial-item h4 { 1046 | font-size: 14px; 1047 | color: #999; 1048 | margin: 0 0 15px 0; 1049 | margin-left: 140px; 1050 | } 1051 | 1052 | #testimonials .testimonial-item p { 1053 | font-style: italic; 1054 | margin: 0 0 15px 140px; 1055 | vertical-align: middle; 1056 | } 1057 | 1058 | #testimonials .owl-nav, 1059 | #testimonials .owl-dots { 1060 | margin-top: 5px; 1061 | text-align: center; 1062 | } 1063 | 1064 | #testimonials .owl-dot { 1065 | display: inline-block; 1066 | margin: 0 5px; 1067 | width: 12px; 1068 | height: 12px; 1069 | border-radius: 50%; 1070 | background-color: #7c7b7bff; 1071 | } 1072 | 1073 | #testimonials .owl-dot.active { 1074 | background-color: #e5332aff; 1075 | } 1076 | 1077 | /* Team Section 1078 | --------------------------------*/ 1079 | 1080 | #team { 1081 | background: #fff; 1082 | padding: 60px 0; 1083 | box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1); 1084 | } 1085 | 1086 | #team .member { 1087 | text-align: center; 1088 | margin-bottom: 20px; 1089 | position: relative; 1090 | border-radius: 50%; 1091 | overflow: hidden; 1092 | } 1093 | 1094 | #team .member .member-info { 1095 | opacity: 0; 1096 | display: -webkit-box; 1097 | display: -webkit-flex; 1098 | display: -ms-flexbox; 1099 | display: flex; 1100 | -webkit-box-pack: center; 1101 | -webkit-justify-content: center; 1102 | -ms-flex-pack: center; 1103 | justify-content: center; 1104 | -webkit-box-align: center; 1105 | -webkit-align-items: center; 1106 | -ms-flex-align: center; 1107 | align-items: center; 1108 | position: absolute; 1109 | bottom: 0; 1110 | top: 0; 1111 | left: 0; 1112 | right: 0; 1113 | transition: 0.2s; 1114 | } 1115 | 1116 | #team .member .member-info-content { 1117 | margin-top: 50px; 1118 | transition: margin 0.2s; 1119 | } 1120 | 1121 | #team .member:hover .member-info { 1122 | background: rgba(0, 62, 128, 0.7); 1123 | opacity: 1; 1124 | transition: 0.4s; 1125 | } 1126 | 1127 | #team .member:hover .member-info-content { 1128 | margin-top: 0; 1129 | transition: margin 0.4s; 1130 | } 1131 | 1132 | #team .member h4 { 1133 | font-weight: 700; 1134 | margin-bottom: 2px; 1135 | font-size: 18px; 1136 | color: #fff; 1137 | } 1138 | 1139 | #team .member span { 1140 | font-style: italic; 1141 | display: block; 1142 | font-size: 13px; 1143 | color: #fff; 1144 | } 1145 | 1146 | #team .member .social { 1147 | margin-top: 15px; 1148 | } 1149 | 1150 | #team .member .social a { 1151 | transition: none; 1152 | color: #fff; 1153 | } 1154 | 1155 | #team .member .social a:hover { 1156 | color: #e5332aff; 1157 | } 1158 | 1159 | #team .member .social i { 1160 | font-size: 18px; 1161 | margin: 0 2px; 1162 | } 1163 | 1164 | /* Clients Section 1165 | --------------------------------*/ 1166 | 1167 | #clients { 1168 | padding: 60px 0; 1169 | box-shadow: inset 0px 0px 12px 0px rgba(0, 0, 0, 0.1); 1170 | } 1171 | 1172 | #clients .clients-wrap { 1173 | border-top: 1px solid #d6eaff; 1174 | border-left: 1px solid #d6eaff; 1175 | margin-bottom: 30px; 1176 | } 1177 | 1178 | #clients .client-logo { 1179 | padding: 64px; 1180 | display: -webkit-box; 1181 | display: -webkit-flex; 1182 | display: -ms-flexbox; 1183 | display: flex; 1184 | -webkit-box-pack: center; 1185 | -webkit-justify-content: center; 1186 | -ms-flex-pack: center; 1187 | justify-content: center; 1188 | -webkit-box-align: center; 1189 | -webkit-align-items: center; 1190 | -ms-flex-align: center; 1191 | align-items: center; 1192 | border-right: 1px solid #d6eaff; 1193 | border-bottom: 1px solid #d6eaff; 1194 | overflow: hidden; 1195 | background: #fff; 1196 | height: 160px; 1197 | } 1198 | 1199 | #clients .client-logo:hover img { 1200 | -webkit-transform: scale(1.2); 1201 | transform: scale(1.2); 1202 | } 1203 | 1204 | #clients img { 1205 | transition: all 0.4s ease-in-out; 1206 | } 1207 | 1208 | /* Contact Section 1209 | --------------------------------*/ 1210 | 1211 | #contact { 1212 | box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1); 1213 | padding: 60px 0; 1214 | overflow: hidden; 1215 | } 1216 | 1217 | #contact .section-header { 1218 | padding-bottom: 30px; 1219 | } 1220 | 1221 | #contact .contact-about h3 { 1222 | font-size: 36px; 1223 | margin: 0 0 10px 0; 1224 | padding: 0; 1225 | line-height: 1; 1226 | font-family: "Montserrat", sans-serif; 1227 | font-weight: 300; 1228 | letter-spacing: 3px; 1229 | text-transform: uppercase; 1230 | color: #e5332aff; 1231 | } 1232 | 1233 | #contact .contact-about p { 1234 | font-size: 14px; 1235 | line-height: 24px; 1236 | font-family: "Montserrat", sans-serif; 1237 | color: #888; 1238 | } 1239 | 1240 | #contact .social-links { 1241 | padding-bottom: 20px; 1242 | } 1243 | 1244 | #contact .social-links a { 1245 | font-size: 18px; 1246 | display: inline-block; 1247 | background: #fff; 1248 | color: #e5332aff; 1249 | line-height: 1; 1250 | padding: 8px 0; 1251 | margin-right: 4px; 1252 | border-radius: 50%; 1253 | text-align: center; 1254 | width: 36px; 1255 | height: 36px; 1256 | transition: 0.3s; 1257 | border: 1px solid #e5332aff; 1258 | } 1259 | 1260 | #contact .social-links a:hover { 1261 | background: #e5332aff; 1262 | color: #fff; 1263 | } 1264 | 1265 | #contact .info { 1266 | color: #283d50; 1267 | } 1268 | 1269 | #contact .info i { 1270 | font-size: 32px; 1271 | color: #e5332aff; 1272 | float: left; 1273 | line-height: 1; 1274 | } 1275 | 1276 | #contact .info p { 1277 | line-height: 28px; 1278 | font-size: 14px; 1279 | } 1280 | 1281 | #contact .form #sendmessage { 1282 | color: #e5332aff; 1283 | border: 1px solid #e5332aff; 1284 | display: none; 1285 | text-align: center; 1286 | padding: 15px; 1287 | font-weight: 600; 1288 | margin-bottom: 15px; 1289 | } 1290 | 1291 | #contact .form #errormessage { 1292 | color: red; 1293 | display: none; 1294 | border: 1px solid red; 1295 | text-align: center; 1296 | padding: 15px; 1297 | font-weight: 600; 1298 | margin-bottom: 15px; 1299 | } 1300 | 1301 | #contact .form #sendmessage.show, 1302 | #contact .form #errormessage.show, 1303 | #contact .form .show { 1304 | display: block; 1305 | } 1306 | 1307 | #contact .form .validation { 1308 | color: red; 1309 | display: none; 1310 | margin: 0 0 20px; 1311 | font-weight: 400; 1312 | font-size: 13px; 1313 | } 1314 | 1315 | #contact .form input, 1316 | #contact .form textarea { 1317 | border-radius: 0; 1318 | box-shadow: none; 1319 | font-size: 14px; 1320 | } 1321 | 1322 | #contact .form button[type="submit"] { 1323 | background: #e5332aff; 1324 | border: 0; 1325 | border-radius: 20px; 1326 | padding: 8px 30px; 1327 | color: #fff; 1328 | transition: 0.3s; 1329 | } 1330 | 1331 | #contact .form button[type="submit"]:hover { 1332 | background: #0067d5; 1333 | cursor: pointer; 1334 | } 1335 | 1336 | /* Apoie Section 1337 | --------------------------------*/ 1338 | 1339 | #apoie { 1340 | padding: 60px 0; 1341 | box-shadow: inset 0px 0px 12px 0px rgba(0, 0, 0, 0.1); 1342 | } 1343 | 1344 | #apoie .apoie-wrap { 1345 | margin-bottom: 30px; 1346 | } 1347 | 1348 | #apoie .apoie-logo { 1349 | display: -webkit-box; 1350 | display: -webkit-flex; 1351 | display: -ms-flexbox; 1352 | display: flex; 1353 | -webkit-box-pack: center; 1354 | -webkit-justify-content: center; 1355 | -ms-flex-pack: center; 1356 | justify-content: center; 1357 | -webkit-box-align: center; 1358 | -webkit-align-items: center; 1359 | -ms-flex-align: center; 1360 | align-items: center; 1361 | overflow: hidden; 1362 | height: 100px; 1363 | } 1364 | 1365 | #apoie .apoie-logo:hover img { 1366 | -webkit-transform: scale(1.2); 1367 | transform: scale(1.2); 1368 | } 1369 | 1370 | #apoie img { 1371 | transition: all 0.4s ease-in-out; 1372 | max-width: 200px; 1373 | } 1374 | 1375 | .products img{ 1376 | max-width: 400px; 1377 | } 1378 | /*-------------------------------------------------------------- 1379 | # Footer 1380 | --------------------------------------------------------------*/ 1381 | 1382 | #footer { 1383 | background: #e5332aff; 1384 | padding: 30px; 1385 | color: #eee; 1386 | } 1387 | 1388 | #footer .container{ 1389 | padding-top: 30px; 1390 | padding-bottom: 30px; 1391 | } 1392 | 1393 | #footer .footer-top { 1394 | background: #e5332aff; 1395 | } 1396 | 1397 | #footer .footer-top .footer-info { 1398 | margin-bottom: 30px; 1399 | } 1400 | 1401 | #footer .footer-top .footer-info h3 { 1402 | font-size: 34px; 1403 | margin: 0 0 20px 0; 1404 | padding: 2px 0 2px 0; 1405 | line-height: 1; 1406 | font-family: "Montserrat", sans-serif; 1407 | color: #fff; 1408 | font-weight: 400; 1409 | letter-spacing: 3px; 1410 | } 1411 | 1412 | #footer .footer-top .footer-info p { 1413 | font-size: 13px; 1414 | line-height: 24px; 1415 | margin-bottom: 0; 1416 | font-family: "Montserrat", sans-serif; 1417 | color: #ecf5ff; 1418 | } 1419 | 1420 | #footer .footer-top .social-links a { 1421 | font-size: 18px; 1422 | display: inline-block; 1423 | color: #fff; 1424 | line-height: 1; 1425 | padding: 8px 0; 1426 | margin-right: 4px; 1427 | border-radius: 50%; 1428 | text-align: center; 1429 | width: 36px; 1430 | height: 36px; 1431 | transition: 0.3s; 1432 | } 1433 | 1434 | #footer .footer-top .social-links a:hover { 1435 | background: #7c7b7bff; 1436 | color: #fff; 1437 | } 1438 | 1439 | #footer .footer-top h4 { 1440 | font-size: 14px; 1441 | font-weight: bold; 1442 | color: #fff; 1443 | text-transform: uppercase; 1444 | position: relative; 1445 | padding-bottom: 10px; 1446 | } 1447 | 1448 | #footer .footer-top .footer-links { 1449 | margin-bottom: 30px; 1450 | } 1451 | 1452 | #footer .footer-top .footer-links ul { 1453 | list-style: none; 1454 | padding: 0; 1455 | margin: 0; 1456 | } 1457 | 1458 | #footer .footer-top .footer-links ul li { 1459 | padding: 8px 0; 1460 | } 1461 | 1462 | #footer .footer-top .footer-links ul li:first-child { 1463 | padding-top: 0; 1464 | } 1465 | 1466 | #footer .footer-top .footer-links ul a { 1467 | color: #ecf5ff; 1468 | } 1469 | 1470 | #footer .footer-top .footer-links ul a:hover { 1471 | color: #74b5fc; 1472 | } 1473 | 1474 | .footer-top .container { 1475 | display: flex; 1476 | flex-direction: column; 1477 | 1478 | .row { 1479 | justify-content: space-between; 1480 | 1481 | img { 1482 | height: auto; 1483 | } 1484 | } 1485 | 1486 | .item { 1487 | display: flex; 1488 | justify-content: center; 1489 | margin-top: 25px; 1490 | } 1491 | } 1492 | 1493 | #footer .footer-top .footer-contact { 1494 | margin-bottom: 30px; 1495 | } 1496 | 1497 | #footer .footer-top .footer-contact p { 1498 | line-height: 26px; 1499 | } 1500 | 1501 | #footer .footer-top .footer-newsletter { 1502 | margin-bottom: 30px; 1503 | } 1504 | 1505 | #footer .footer-top .footer-newsletter input[type="email"] { 1506 | border: 0; 1507 | padding: 6px 8px; 1508 | width: 65%; 1509 | } 1510 | 1511 | 1512 | #footer .footer-top .footer-newsletter input[type="submit"] { 1513 | background: #e5332aff; 1514 | border: 0; 1515 | width: 35%; 1516 | padding: 6px 0; 1517 | text-align: center; 1518 | color: #fff; 1519 | transition: 0.3s; 1520 | cursor: pointer; 1521 | } 1522 | 1523 | #footer .footer-top .footer-newsletter input[type="submit"]:hover { 1524 | background: #0062cc; 1525 | } 1526 | 1527 | #footer .copyright { 1528 | text-align: center; 1529 | /* padding-top: 30px; */ 1530 | } 1531 | 1532 | #footer .credits { 1533 | text-align: center; 1534 | font-size: 13px; 1535 | color: #f1f7ff; 1536 | } 1537 | 1538 | #footer .credits a { 1539 | color: #bfddfe; 1540 | } 1541 | 1542 | #footer .credits a:hover { 1543 | color: #f1f7ff; 1544 | } 1545 | 1546 | /*-------------------------------------------------------------- 1547 | # Responsive Media Queries 1548 | --------------------------------------------------------------*/ 1549 | 1550 | @media (min-width: 992px) { 1551 | #testimonials .testimonial-item p { 1552 | width: 80%; 1553 | } 1554 | } 1555 | 1556 | @media (max-width: 991px) { 1557 | #header { 1558 | height: 60px; 1559 | padding: 10px 0; 1560 | } 1561 | 1562 | #header .logo h1 { 1563 | font-size: 28px; 1564 | padding: 8px 0; 1565 | } 1566 | 1567 | #intro { 1568 | padding: 140px 0 60px 0; 1569 | } 1570 | 1571 | #intro .intro-img { 1572 | width: 80%; 1573 | float: none; 1574 | margin: 0 auto 25px auto; 1575 | } 1576 | 1577 | #intro .intro-info { 1578 | width: 80%; 1579 | float: none; 1580 | margin: auto; 1581 | text-align: center; 1582 | } 1583 | 1584 | #why-us .card { 1585 | margin: 0; 1586 | } 1587 | } 1588 | 1589 | @media (max-width: 768px) { 1590 | .back-to-top { 1591 | bottom: 15px; 1592 | } 1593 | } 1594 | 1595 | @media (max-width: 767px) { 1596 | #intro .intro-info { 1597 | width: 100%; 1598 | } 1599 | 1600 | #intro .intro-info h2 { 1601 | font-size: 34px; 1602 | } 1603 | 1604 | #intro .intro-info p { 1605 | font-size: 20px; 1606 | } 1607 | 1608 | .section-header p { 1609 | width: 100%; 1610 | } 1611 | 1612 | #testimonials .testimonial-item { 1613 | text-align: center; 1614 | } 1615 | 1616 | #testimonials .testimonial-item .testimonial-img { 1617 | float: none; 1618 | margin: auto; 1619 | } 1620 | 1621 | /* #testimonials .testimonial-item h3, 1622 | #testimonials .testimonial-item h4, 1623 | #testimonials .testimonial-item p { 1624 | margin-left: 0; 1625 | } */ 1626 | } 1627 | 1628 | @media (max-width: 574px) { 1629 | #intro { 1630 | padding: 100px 0 20px 0; 1631 | } 1632 | .products img{ 1633 | max-width: 350px; 1634 | } 1635 | } 1636 | 1637 | @media (max-width: 280px) { 1638 | #intro { 1639 | padding: 100px 0 20px 0; 1640 | } 1641 | .products img{ 1642 | max-width: 250px; 1643 | } 1644 | } 1645 | 1646 | .owl-carousel .owl-item img{ 1647 | width: unset !important; 1648 | } 1649 | 1650 | /*------------------------------------------- 1651 | Start jobs page style 1652 | -------------------------------------------*/ 1653 | 1654 | .hight-jobs-page{ 1655 | margin-top: 4%; 1656 | } 1657 | 1658 | /*------------------------------------------- 1659 | End jobs page style 1660 | -------------------------------------------*/ 1661 | 1662 | /*------------------------------------------- 1663 | Start blog page style 1664 | -------------------------------------------*/ 1665 | .hight-blog-page { 1666 | margin-top: 7%; 1667 | } 1668 | /*------------------------------------------- 1669 | End blog page style 1670 | -------------------------------------------*/ 1671 | 1672 | .container .article-detail-blog { 1673 | box-shadow: 0 4px 16px color-mix(in srgb, #212529, transparent 80%); 1674 | height: 100%; 1675 | overflow: hidden; 1676 | } 1677 | 1678 | .container .article-img .img-fluid { 1679 | max-width: 100%; 1680 | height: auto; 1681 | } 1682 | 1683 | /*-------------------------------------------------------------- 1684 | # Blog Author Section 1685 | --------------------------------------------------------------*/ 1686 | .blog-author { 1687 | padding: 10px 0 40px 0; 1688 | } 1689 | 1690 | .blog-author .author-container { 1691 | width: 63%; 1692 | padding: 20px; 1693 | box-shadow: 0 4px 16px color-mix(in srgb, #212529, transparent 80%); 1694 | } 1695 | 1696 | .blog-author img { 1697 | max-width: 120px; 1698 | margin-right: 20px; 1699 | } 1700 | 1701 | .blog-author h4 { 1702 | font-weight: 600; 1703 | font-size: 20px; 1704 | margin-bottom: 0px; 1705 | padding: 0; 1706 | color: color-mix(in srgb, #212529, transparent 20%); 1707 | } 1708 | 1709 | .blog-author .social-links { 1710 | margin: 0 10px 10px 0; 1711 | } 1712 | 1713 | .blog-author .social-links a { 1714 | color: color-mix(in srgb, #212529, transparent 60%); 1715 | margin-right: 5px; 1716 | } 1717 | 1718 | .blog-author p { 1719 | font-style: italic; 1720 | color: color-mix(in srgb, #212529, transparent 30%); 1721 | margin-bottom: 0; 1722 | } 1723 | 1724 | /*--------------------------------------------------------- 1725 | Margin to page area of acting, benefs, 1726 | ---------------------------------------------------------*/ 1727 | 1728 | /*----------------------------------------------------- 1729 | Start size-jobs-page 1730 | */ 1731 | .size-jobs-page{ 1732 | min-height: calc(87.4vh - 180px); 1733 | } 1734 | 1735 | @media (max-width: 430px) { 1736 | .size-jobs-page{ 1737 | min-height: calc(70vh - 180px); 1738 | } 1739 | } 1740 | /*----------------------------------------------------- 1741 | End size-jobs-page 1742 | */ 1743 | 1744 | .texto-nextcloud { 1745 | margin-top: 100px; 1746 | margin-bottom: -90px; 1747 | } 1748 | 1749 | /*----------------------------------------------------- 1750 | Start contact page 1751 | */ 1752 | #contact_backgroud { 1753 | padding: 60px 0px 30px 0px; /*top right bottom left*/ 1754 | } 1755 | 1756 | .contact-icon{ 1757 | font-size:20px; 1758 | border-radius: 30px; 1759 | background-color: #e5332a; 1760 | padding:20px; 1761 | color:white; 1762 | } 1763 | 1764 | .contact-us-div{ 1765 | background-color: #cdcccc; 1766 | border-radius: 15px; 1767 | } 1768 | 1769 | /*----------------------------------------------------- 1770 | End contact page 1771 | */ 1772 | -------------------------------------------------------------------------------- /source/_layouts/footer.blade.php: -------------------------------------------------------------------------------- 1 |
2 | 46 | 47 | 48 |
49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | @yield('footer_scripts') 60 | @if ($page->production) 61 | 69 | 81 | 84 | @endif 85 | 128 | -------------------------------------------------------------------------------- /source/_layouts/header.blade.php: -------------------------------------------------------------------------------- 1 | 19 | -------------------------------------------------------------------------------- /source/_layouts/job.blade.php: -------------------------------------------------------------------------------- 1 | @extends('_layouts.main') 2 | @section('body') 3 | 4 |
5 |
6 |
7 |
8 |
@yield('content')
9 | Voltar 10 |
11 |
12 |
13 |
14 | 15 | @endsection 16 | -------------------------------------------------------------------------------- /source/_layouts/main.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ $page->title }} 6 | 7 | 8 | @if (!empty($og_image)) 9 | 10 | @else 11 | 12 | @endif 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | @include('_layouts.header') 41 | @yield('body') 42 | @include('_layouts.footer') 43 | 44 | 45 | -------------------------------------------------------------------------------- /source/_layouts/post.blade.php: -------------------------------------------------------------------------------- 1 | @extends('_layouts.main') 2 | 3 | @section('body') 4 |
5 |
6 |

{{ $page->title }}

7 |

{{ $page->description }}

8 |
9 |
10 | 11 |
12 |
13 |
14 |
15 |
16 |
17 | 18 |
19 |
20 | banner-image 21 |
22 | 23 |
24 |
25 |
26 | 27 | {{ $page->author }} 28 |
29 |
30 | 31 | 32 |
33 |
34 |
35 | 36 |
@yield('content')
37 | 38 |
39 | 40 |
41 |
42 | 43 | 67 | 68 |
69 |
70 |
71 | 72 |
73 | {{$page->gravatar}} 74 |
75 |
76 | @foreach($team as $item => $option) 77 | @if($option->name == $page->author) 78 | @if($option->name == 'LibreCode') 79 | {{ $option->name }} 81 | @else 82 | {{ $option->name }} 84 | @endif 85 |
86 |

{{ $option->name }}

87 | 92 | 93 |

{{ $option->bio }}

94 |
95 | @endif 96 | @endforeach 97 |
98 |
99 | 100 |
101 | 102 |
103 | @endsection 104 | -------------------------------------------------------------------------------- /source/_partials/contact_form.blade.php: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 |
5 | 6 |
7 |

Fale Conosco

8 |
9 | 10 |
11 |
12 | 13 |
14 |
15 |
16 | 17 |
18 |

Vamos quebrar o gelo.

19 |

Estamos aqui para ajudar! Se você tiver alguma dúvida, sugestão ou precisar de mais informações sobre nossos produtos e serviços, não hesite em nos contatar.

20 | 21 |
22 | 23 |
24 |

Contate-nos

25 | 26 |
27 |
28 | 29 |

+55(21)2042-2073

30 |
31 |
32 | 33 |

contato@librecode.coop

34 |
35 |
36 | 37 |
38 | 39 |

Agradecemos pelo seu contato e estaremos ansiosos para ajudar!

40 |
41 |
42 |
43 |
-------------------------------------------------------------------------------- /source/_posts/cooperativismo-e-tecnologia.md: -------------------------------------------------------------------------------- 1 | --- 2 | extends: _layouts.post 3 | title: Cooperativismo e Tecnologia - A união que transforma! 4 | author: LibreCode 5 | date: 2024-10-09 6 | description: Descubra como a LibreCode une cooperativismo e tecnologia para criar soluções de software livre, promovendo impacto social, colaboração e liberdade na transformação digital das empresas. 7 | --- 8 | 9 | Na LibreCode, acreditamos que o verdadeiro valor da tecnologia vai além da inovação: é sobre impacto social, cooperação e liberdade. Ao escolher uma cooperativa de tecnologia, você está apoiando um modelo de negócios que coloca as pessoas no centro, proporcionando soluções justas e sustentáveis. 10 | 11 | Nosso foco não é apenas desenvolver softwares livres, mas criar uma rede de profissionais que compartilham conhecimentos, crescem juntos e fazem a diferença. Com uma equipe dedicada, cada cooperado traz sua visão e essa diversidade nos permite entregar produtos de alta qualidade, como o LibreSign, nossa solução de assinatura digital. 12 | 13 | O cooperativismo é mais do que um modelo econômico: é uma filosofia de vida. E quando unimos essa filosofia ao desenvolvimento de software livre, os resultados são soluções acessíveis e que respeitam a liberdade do usuário. 14 | 15 | Na LibreCode, cada código escrito e cada solução oferecida carrega o propósito de transformar a forma como as pessoas se conectam com a tecnologia. Nosso compromisso com licenças livres é um reflexo de nossa visão de um futuro onde a tecnologia é de todos e para todos. 16 | 17 | Por isso, estamos mais do que orgulhosos de não apenas criar softwares, mas de construir um legado de colaboração e inclusão, mostrando que o sucesso é ainda mais significativo quando compartilhado. 18 | 19 | Você já pensou em como o cooperativismo pode revolucionar o modo como as empresas interagem com a tecnologia? -------------------------------------------------------------------------------- /source/_posts/o-que-e-uma-assinatura-digital.md: -------------------------------------------------------------------------------- 1 | --- 2 | extends: _layouts.post 3 | title: O que é Assinatura Digital? Tipos, vantagens e como obter? 4 | author: LibreCode 5 | date: 2025-02-18 6 | description: Descubra o LibreSign, a plataforma de assinaturas digitais seguras e eficientes. Reduza custos, aumente a produtividade e garanta validade jurídica com criptografia avançada. Ideal para empresas que buscam agilidade e sustentabilidade. 7 | --- 8 | 9 | A agilidade e praticidade de utilizar a tecnologia ao nosso favor para reduzir tempo e custos, traz a assinatura digital como alternativa para os negócios, principalmente após o período de pandemia. Com o mercado cada vez mais competitivo, a economia de tempo e recursos, o aumento da produtividade, o investimento em sustentabilidade, tornam-se essenciais para melhorar a experiência do cliente. O mercado de assinaturas digitais no Brasil está em plena ascensão e para garantir a autenticidade e integridade deste serviço, precisamos entender melhor o que é, quais os tipos, as vantagens e como é possível obter. 10 | 11 | ### O que é assinatura digital? 12 | A assinatura digital é uma tecnologia segura para a autenticação de documentos eletrônicos para uma pessoa ou empresa com validade jurídica. Vivemos num cenário no qual a troca de informações ocorre cada vez mais online, tornando necessária a garantia, a integridade e autenticidade dos documentos. 13 | 14 | A assinatura digital utiliza criptografia para validar a identidade do usuário e para assegurar que o conteúdo do documento não foi alterado após a assinatura. Quer dizer que a assinatura tem o mesmo valor legal de uma assinatura em punho reconhecida em cartório. Entretanto, a assinatura digital elimina o envio, armazenamento, arquivamento, cópia e recuperação de documentos em papel. 15 | 16 | É importante explicar que a assinatura digital é um tipo de assinatura eletrônica, mas isso não quer dizer que toda assinatura eletrônica é digital. Mas o que isso quer dizer? Isso significa que existem diferentes formas de assinar um documento eletronicamente e é fundamental conhecê-las. 17 | 18 | ### Quais os tipos de assinatura digital? 19 | Como vimos, a assinatura digital é uma tecnologia para confirmar a identidade do signatário, seja pessoa ou empresa e autenticidade do documento. Mas para entender os tipos de assinaturas digitais precisamos entender quais as categorias de assinaturas que existem. Atualmente temos quatro tipos de assinaturas - a manuscrita, a digitalizada, a eletrônica e a digital. 20 | 21 | #### 1 - Assinatura Manuscrita 22 | 23 | Tipo mais tradicional de autenticação, feita manualmente com caneta em documentos físicos. 24 | 25 | - Requer assinatura presencial com cópia física do documento. 26 | - Segurança depende de fatores externos, como reconhecimento de firma em cartório. 27 | - Necessidade de armazenamento físico dos documentos. 28 | 29 | ##### Usado em: 30 | - Assinatura de contratos de empresas. 31 | - Reconhecimento de firma em cartório. 32 | - Documentos físicos formais. 33 | 34 | 35 | #### 2 - Assinatura Eletrônica 36 | 37 | Assinatura realizada digitalmente, podendo ter diferentes níveis de segurança conforme a Lei 14.063/20 (Assinatura Simples, Avançada e Qualificada). 38 | 39 | - Simples: Identifica o signatário com evidências básicas (e-mail, senha, telefone). Indicada para situações de baixo risco. 40 | - Avançada: Usa métodos criptográficos e certificados digitais corporativos (ICP-Brasil ou fora). Apropriada para transações legais e financeiras. 41 | - Qualificada: Exige certificado digital emitido por uma AC credenciada na ICP-Brasil. Altíssima segurança, detecta qualquer alteração no documento após a assinatura. 42 | 43 | ##### Usado em: 44 | - Simples: Relatórios, recibos, agendamento de serviços. 45 | - Avançada: Transações financeiras, contratos sensíveis. 46 | - Qualificada: Notas fiscais eletrônicas, documentos de saúde, registros imobiliários. 47 | 48 | 49 | #### 3 - Assinatura Digital 50 | 51 | É um tipo de assinatura eletrônica qualificada, com alto nível de segurança. 52 | 53 | - Requer certificado digital emitido por uma AC no padrão ICP-Brasil. 54 | - É a forma mais segura de assinatura eletrônica. - Garante integridade e autenticidade do documento, impedindo alterações sem detecção. 55 | 56 | ##### Usado em: 57 | - Assinatura de documentos oficiais. 58 | - Transferência de imóveis. 59 | - Emissão de notas fiscais eletrônicas. 60 | 61 | 62 | ### Quais as vantagens da assinatura digital? 63 | 64 | Enquanto as assinaturas físicas podem ser falsificadas, comprometendo a validade dos seus documentos, as assinaturas digitais, regulamentadas pela Medida Provisória nº 2.200-2/2001, proporcionam a segurança necessária para proteger a autenticidade e a validade jurídica dos seus documentos com muita rapidez, autenticidade e integridade. Conheça as cinco principais vantagens: 65 | 66 | 1. Redução de tempo: Você economiza tempo que seria gasto com processos manuais, enquanto que pode realizar uma assinatura digital de maneira muito mais rápida e eficiente, agilizando o fechamento de contratos e negociações. 67 | 2. Economia de custos: Ao eliminar a necessidade de manter um espaço físico para guardar todos os documentos da empresa, você reduz custos com compra de papel, tintas para impressão, deslocamento, correios, transportadoras, cartórios, entre outros. 68 | 3. Segurança: A assinatura digital é protegida por criptografia, sendo a forma mais segura de validar documentos eletrônicos. Quando utilizamos certificados digitais emitidos por uma Autoridade Certificadora, é possível garantir a identidade do usuário e a integridade do documento, reduzindo riscos de fraudes e falsificações. Por isso, é importante investir em segurança da informação para proteger dados, os clientes e a reputação da empresa. 69 | 4. Sustentabilidade: Ao utilizar a nuvem como armazenamento ao invés do papel físico, colaboramos com o meio ambiente e evitamos o uso desnecessário de recursos. 70 | 5. Organização e Mobilidade: Facilidade de encontrar e acessar os documentos já que eles são armazenados eletronicamente e podem ser acessados e assinados de qualquer lugar que possua acesso à internet. 71 | 72 | ### Como posso obter a assinatura digital? 73 | A cooperativa LibreCode possui uma plataforma para assinaturas digitais chamada LibreSign, que pode ser acessada tanto pelos dispositivos móveis ou computador. Essa plataforma traz soluções acessíveis e colaborativas, que permitem que o cliente tenha autonomia tecnológica. Entre as principais funcionalidades dessa ferramenta está a praticidade em assinar documentos digitalmente e gestão de documentos em um Portal de Assinaturas com a conformidade legal brasileira, como a LGPD e ICP-Brasil. 74 | 75 | O LibreSign apresenta funcionalidades que se adaptam às necessidades específicas de cada organização. As soluções da plataforma são baseadas em software livre, promovendo acesso aberto ao conhecimento e colaboração, o que garante a soberania aos clientes em relação à tecnologia que utilizam. O serviço tem foco em personalização e acessibilidade, o que atende tanto pequenas empresas como também grandes organizações e governo. 76 | A violação de segurança pode resultar em consequências sérias para uma marca, incluindo perda de dados, acesso não autorizado a informações confidenciais e danos à reputação de uma empresa. Pensando nisso, o LibreSign tem como grande vantagem a eficácia na segurança. A plataforma implementa autenticação multifator (MFA), que dificulta ainda mais o acesso não autorizado e garante que apenas pessoas verificadas possam assinar documentos, também permite a identificação do signatário com diferentes fatores como token por email, SMS e mensagem por WhatsApp. Este método exige que os usuários forneçam duas ou mais formas de verificação antes de acessar os documentos e também ao assiná-los, o que faz o processo de assinatura ser muito mais seguro. Cada documento é criptografado do envio à assinatura final. Desta forma, a ferramenta assegura que suas informações permaneçam seguras em cada etapa do caminho, isto é, apenas destinatários autorizados possam acessar e ler o conteúdo do documento. 77 | 78 | Para conhecer mais o nosso serviço entre em contato pelo telefone (21) 2042-2073 ou pelo e-mail contato@librecode.coop. Agende uma demonstração e descubra como podemos melhorar o gerenciamento de documentos e a eficiência administrativa da sua empresa. Confira também o nosso próximo assunto sobre “**Como criar uma assinatura digital**”. 79 | -------------------------------------------------------------------------------- /source/_posts/os-7-principios-do-cooperativismo.md: -------------------------------------------------------------------------------- 1 | --- 2 | extends: _layouts.post 3 | title: Os 7 princípios do cooperativismo 4 | author: LibreCode 5 | date: 2024-05-28 6 | description: Os princípios cooperativistas são uma série de alinhamentos gerais pelos quais se regem as cooperativas e constituem a base do movimento cooperativo. 7 | --- 8 | 9 | ### 1. Adesão livre e voluntária 10 | 11 | As cooperativas são organizações voluntárias, abertas a todas as pessoas aptas a utilizar os seus serviços e assumir as responsabilidades como membros, sem discriminação de gênero, social, racial, política e religiosa. 12 | 13 | ### 2. Gestão democrática 14 | 15 | As cooperativas são organizações democráticas, controladas pelos seus membros, que participam ativamente na formulação das suas políticas e na tomada de decisões. Os homens e as mulheres, eleitos como representantes dos demais membros, são responsáveis perante estes. Nas cooperativas de primeiro grau os membros têm igual direito de voto (um membro, um voto); as cooperativas de grau superior são também organizadas de maneira democrática. 16 | 17 | ### 3. Participação econômica 18 | 19 | Os membros contribuem equitativamente para o capital das suas cooperativas e controlam-no democraticamente. Parte desse capital é, normalmente, propriedade comum da cooperativa. Os membros recebem, habitualmente, se houver, uma remuneração limitada ao capital integralizado, como condição de sua adesão. 20 | 21 | ### 4. Autonomia e independência 22 | 23 | As cooperativas são organizações autônomas, de ajuda mútua, controladas pelos seus membros. Se firmarem acordos com outras organizações, incluindo instituições públicas, ou recorrerem a capital externo, devem fazê-lo em condições que assegurem o controle democrático pelos seus membros e mantenham a autonomia da cooperativa. 24 | 25 | ### 5. Educação, formação e informação 26 | 27 | As cooperativas promovem a educação e a formação dos seus membros, dos representantes eleitos e dos trabalhadores, de forma que estes possam contribuir, eficazmente, para o desenvolvimento das suas cooperativas. Informam o público em geral, particularmente os jovens e os líderes de opinião, sobre a natureza e as vantagens da cooperação. 28 | 29 | ### 6. Intercooperação 30 | 31 | É a cooperação entre as cooperativas, para o fortalecimento do movimento como um todo e dos princípios cooperativistas. Isso pode ocorrer em diversos níveis: através das estruturas locais, regionais, nacionais, internacionais; entre cooperativas do mesmo sistema; com cooperativas de outros sistemas; e com cooperativas de outros ramos do cooperativismo. 32 | 33 | ### 7. Interesse pela comunidade 34 | 35 | As cooperativas trabalham para o desenvolvimento sustentável das comunidades onde estão inseridas, através de políticas aprovadas pelos membros. Prezam por investimentos em projetos que sejam economicamente viáveis, ambientalmente corretos e socialmente justos. 36 | -------------------------------------------------------------------------------- /source/assets/images/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/apple-touch-icon.png -------------------------------------------------------------------------------- /source/assets/images/clients/amperj.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/clients/amperj.jpg -------------------------------------------------------------------------------- /source/assets/images/clients/client-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/clients/client-1.png -------------------------------------------------------------------------------- /source/assets/images/clients/client-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/clients/client-2.png -------------------------------------------------------------------------------- /source/assets/images/clients/client-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/clients/client-3.png -------------------------------------------------------------------------------- /source/assets/images/clients/client-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/clients/client-4.jpg -------------------------------------------------------------------------------- /source/assets/images/clients/client-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/clients/client-5.png -------------------------------------------------------------------------------- /source/assets/images/clients/client-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/clients/client-6.png -------------------------------------------------------------------------------- /source/assets/images/clients/client-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/clients/client-7.png -------------------------------------------------------------------------------- /source/assets/images/clients/client-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/clients/client-8.png -------------------------------------------------------------------------------- /source/assets/images/clients/client-dfl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/clients/client-dfl.png -------------------------------------------------------------------------------- /source/assets/images/clients/nicbr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/clients/nicbr.png -------------------------------------------------------------------------------- /source/assets/images/clients/prefeitura-nikiti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/clients/prefeitura-nikiti.png -------------------------------------------------------------------------------- /source/assets/images/coop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/coop.png -------------------------------------------------------------------------------- /source/assets/images/favico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/favico.png -------------------------------------------------------------------------------- /source/assets/images/gnu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/gnu.png -------------------------------------------------------------------------------- /source/assets/images/icone2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/icone2.png -------------------------------------------------------------------------------- /source/assets/images/librecode_team.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/librecode_team.jpeg -------------------------------------------------------------------------------- /source/assets/images/linguagens/js.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/linguagens/js.png -------------------------------------------------------------------------------- /source/assets/images/linguagens/mariadb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/linguagens/mariadb.png -------------------------------------------------------------------------------- /source/assets/images/linguagens/php.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/linguagens/php.jpeg -------------------------------------------------------------------------------- /source/assets/images/linguagens/postgre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/linguagens/postgre.png -------------------------------------------------------------------------------- /source/assets/images/logo/librecode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/logo/librecode.png -------------------------------------------------------------------------------- /source/assets/images/logo/librecode_author.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/logo/librecode_author.jpg -------------------------------------------------------------------------------- /source/assets/images/logo/libresign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/logo/libresign.png -------------------------------------------------------------------------------- /source/assets/images/logo/somoscoop-horizontal-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/logo/somoscoop-horizontal-light.png -------------------------------------------------------------------------------- /source/assets/images/nextcloud/agenda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/nextcloud/agenda.png -------------------------------------------------------------------------------- /source/assets/images/nextcloud/arquivos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/nextcloud/arquivos.png -------------------------------------------------------------------------------- /source/assets/images/nextcloud/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/nextcloud/logo.png -------------------------------------------------------------------------------- /source/assets/images/nextcloud/logs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/nextcloud/logs.png -------------------------------------------------------------------------------- /source/assets/images/nextcloud/nc-logs-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/nextcloud/nc-logs-2.png -------------------------------------------------------------------------------- /source/assets/images/nextcloud/onlyoffice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/nextcloud/onlyoffice.png -------------------------------------------------------------------------------- /source/assets/images/nextcloud/usuarios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/nextcloud/usuarios.png -------------------------------------------------------------------------------- /source/assets/images/posts/cooperativismo-e-tecnologia/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/posts/cooperativismo-e-tecnologia/banner.jpg -------------------------------------------------------------------------------- /source/assets/images/posts/cooperativismo-e-tecnologia/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/posts/cooperativismo-e-tecnologia/cover.jpg -------------------------------------------------------------------------------- /source/assets/images/posts/o-que-e-uma-assinatura-digital/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/posts/o-que-e-uma-assinatura-digital/banner.jpg -------------------------------------------------------------------------------- /source/assets/images/posts/o-que-e-uma-assinatura-digital/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/posts/o-que-e-uma-assinatura-digital/cover.jpg -------------------------------------------------------------------------------- /source/assets/images/posts/os-7-principios-do-cooperativismo/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/posts/os-7-principios-do-cooperativismo/banner.jpg -------------------------------------------------------------------------------- /source/assets/images/posts/os-7-principios-do-cooperativismo/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/posts/os-7-principios-do-cooperativismo/cover.jpg -------------------------------------------------------------------------------- /source/assets/images/solucoes/ieducar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/solucoes/ieducar.png -------------------------------------------------------------------------------- /source/assets/images/solucoes/matomo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/solucoes/matomo.png -------------------------------------------------------------------------------- /source/assets/images/solucoes/mautic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/solucoes/mautic.png -------------------------------------------------------------------------------- /source/assets/images/solucoes/moodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/solucoes/moodle.png -------------------------------------------------------------------------------- /source/assets/images/solucoes/nextcloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/solucoes/nextcloud.png -------------------------------------------------------------------------------- /source/assets/images/solucoes/ojs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/images/solucoes/ojs.png -------------------------------------------------------------------------------- /source/assets/lib/easing/easing.js: -------------------------------------------------------------------------------- 1 | /* 2 | * jQuery Easing v1.4.1 - http://gsgd.co.uk/sandbox/jquery/easing/ 3 | * Open source under the BSD License. 4 | * Copyright © 2008 George McGinley Smith 5 | * All rights reserved. 6 | * https://raw.github.com/gdsmith/jquery-easing/master/LICENSE 7 | */ 8 | 9 | (function (factory) { 10 | if (typeof define === "function" && define.amd) { 11 | define(['jquery'], function ($) { 12 | return factory($); 13 | }); 14 | } else if (typeof module === "object" && typeof module.exports === "object") { 15 | exports = factory(require('jquery')); 16 | } else { 17 | factory(jQuery); 18 | } 19 | })(function($){ 20 | 21 | // Preserve the original jQuery "swing" easing as "jswing" 22 | if (typeof $.easing !== 'undefined') { 23 | $.easing['jswing'] = $.easing['swing']; 24 | } 25 | 26 | var pow = Math.pow, 27 | sqrt = Math.sqrt, 28 | sin = Math.sin, 29 | cos = Math.cos, 30 | PI = Math.PI, 31 | c1 = 1.70158, 32 | c2 = c1 * 1.525, 33 | c3 = c1 + 1, 34 | c4 = ( 2 * PI ) / 3, 35 | c5 = ( 2 * PI ) / 4.5; 36 | 37 | // x is the fraction of animation progress, in the range 0..1 38 | function bounceOut(x) { 39 | var n1 = 7.5625, 40 | d1 = 2.75; 41 | if ( x < 1/d1 ) { 42 | return n1*x*x; 43 | } else if ( x < 2/d1 ) { 44 | return n1*(x-=(1.5/d1))*x + .75; 45 | } else if ( x < 2.5/d1 ) { 46 | return n1*(x-=(2.25/d1))*x + .9375; 47 | } else { 48 | return n1*(x-=(2.625/d1))*x + .984375; 49 | } 50 | } 51 | 52 | $.extend( $.easing, 53 | { 54 | def: 'easeOutQuad', 55 | swing: function (x) { 56 | return $.easing[$.easing.def](x); 57 | }, 58 | easeInQuad: function (x) { 59 | return x * x; 60 | }, 61 | easeOutQuad: function (x) { 62 | return 1 - ( 1 - x ) * ( 1 - x ); 63 | }, 64 | easeInOutQuad: function (x) { 65 | return x < 0.5 ? 66 | 2 * x * x : 67 | 1 - pow( -2 * x + 2, 2 ) / 2; 68 | }, 69 | easeInCubic: function (x) { 70 | return x * x * x; 71 | }, 72 | easeOutCubic: function (x) { 73 | return 1 - pow( 1 - x, 3 ); 74 | }, 75 | easeInOutCubic: function (x) { 76 | return x < 0.5 ? 77 | 4 * x * x * x : 78 | 1 - pow( -2 * x + 2, 3 ) / 2; 79 | }, 80 | easeInQuart: function (x) { 81 | return x * x * x * x; 82 | }, 83 | easeOutQuart: function (x) { 84 | return 1 - pow( 1 - x, 4 ); 85 | }, 86 | easeInOutQuart: function (x) { 87 | return x < 0.5 ? 88 | 8 * x * x * x * x : 89 | 1 - pow( -2 * x + 2, 4 ) / 2; 90 | }, 91 | easeInQuint: function (x) { 92 | return x * x * x * x * x; 93 | }, 94 | easeOutQuint: function (x) { 95 | return 1 - pow( 1 - x, 5 ); 96 | }, 97 | easeInOutQuint: function (x) { 98 | return x < 0.5 ? 99 | 16 * x * x * x * x * x : 100 | 1 - pow( -2 * x + 2, 5 ) / 2; 101 | }, 102 | easeInSine: function (x) { 103 | return 1 - cos( x * PI/2 ); 104 | }, 105 | easeOutSine: function (x) { 106 | return sin( x * PI/2 ); 107 | }, 108 | easeInOutSine: function (x) { 109 | return -( cos( PI * x ) - 1 ) / 2; 110 | }, 111 | easeInExpo: function (x) { 112 | return x === 0 ? 0 : pow( 2, 10 * x - 10 ); 113 | }, 114 | easeOutExpo: function (x) { 115 | return x === 1 ? 1 : 1 - pow( 2, -10 * x ); 116 | }, 117 | easeInOutExpo: function (x) { 118 | return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? 119 | pow( 2, 20 * x - 10 ) / 2 : 120 | ( 2 - pow( 2, -20 * x + 10 ) ) / 2; 121 | }, 122 | easeInCirc: function (x) { 123 | return 1 - sqrt( 1 - pow( x, 2 ) ); 124 | }, 125 | easeOutCirc: function (x) { 126 | return sqrt( 1 - pow( x - 1, 2 ) ); 127 | }, 128 | easeInOutCirc: function (x) { 129 | return x < 0.5 ? 130 | ( 1 - sqrt( 1 - pow( 2 * x, 2 ) ) ) / 2 : 131 | ( sqrt( 1 - pow( -2 * x + 2, 2 ) ) + 1 ) / 2; 132 | }, 133 | easeInElastic: function (x) { 134 | return x === 0 ? 0 : x === 1 ? 1 : 135 | -pow( 2, 10 * x - 10 ) * sin( ( x * 10 - 10.75 ) * c4 ); 136 | }, 137 | easeOutElastic: function (x) { 138 | return x === 0 ? 0 : x === 1 ? 1 : 139 | pow( 2, -10 * x ) * sin( ( x * 10 - 0.75 ) * c4 ) + 1; 140 | }, 141 | easeInOutElastic: function (x) { 142 | return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? 143 | -( pow( 2, 20 * x - 10 ) * sin( ( 20 * x - 11.125 ) * c5 )) / 2 : 144 | pow( 2, -20 * x + 10 ) * sin( ( 20 * x - 11.125 ) * c5 ) / 2 + 1; 145 | }, 146 | easeInBack: function (x) { 147 | return c3 * x * x * x - c1 * x * x; 148 | }, 149 | easeOutBack: function (x) { 150 | return 1 + c3 * pow( x - 1, 3 ) + c1 * pow( x - 1, 2 ); 151 | }, 152 | easeInOutBack: function (x) { 153 | return x < 0.5 ? 154 | ( pow( 2 * x, 2 ) * ( ( c2 + 1 ) * 2 * x - c2 ) ) / 2 : 155 | ( pow( 2 * x - 2, 2 ) *( ( c2 + 1 ) * ( x * 2 - 2 ) + c2 ) + 2 ) / 2; 156 | }, 157 | easeInBounce: function (x) { 158 | return 1 - bounceOut( 1 - x ); 159 | }, 160 | easeOutBounce: bounceOut, 161 | easeInOutBounce: function (x) { 162 | return x < 0.5 ? 163 | ( 1 - bounceOut( 1 - 2 * x ) ) / 2 : 164 | ( 1 + bounceOut( 2 * x - 1 ) ) / 2; 165 | } 166 | }); 167 | 168 | }); 169 | -------------------------------------------------------------------------------- /source/assets/lib/easing/easing.min.js: -------------------------------------------------------------------------------- 1 | !function(n){"function"==typeof define&&define.amd?define(["jquery"],function(e){return n(e)}):"object"==typeof module&&"object"==typeof module.exports?exports=n(require("jquery")):n(jQuery)}(function(n){function e(n){var e=7.5625,t=2.75;return n<1/t?e*n*n:n<2/t?e*(n-=1.5/t)*n+.75:n<2.5/t?e*(n-=2.25/t)*n+.9375:e*(n-=2.625/t)*n+.984375}void 0!==n.easing&&(n.easing.jswing=n.easing.swing);var t=Math.pow,u=Math.sqrt,r=Math.sin,i=Math.cos,a=Math.PI,c=1.70158,o=1.525*c,s=2*a/3,f=2*a/4.5;n.extend(n.easing,{def:"easeOutQuad",swing:function(e){return n.easing[n.easing.def](e)},easeInQuad:function(n){return n*n},easeOutQuad:function(n){return 1-(1-n)*(1-n)},easeInOutQuad:function(n){return n<.5?2*n*n:1-t(-2*n+2,2)/2},easeInCubic:function(n){return n*n*n},easeOutCubic:function(n){return 1-t(1-n,3)},easeInOutCubic:function(n){return n<.5?4*n*n*n:1-t(-2*n+2,3)/2},easeInQuart:function(n){return n*n*n*n},easeOutQuart:function(n){return 1-t(1-n,4)},easeInOutQuart:function(n){return n<.5?8*n*n*n*n:1-t(-2*n+2,4)/2},easeInQuint:function(n){return n*n*n*n*n},easeOutQuint:function(n){return 1-t(1-n,5)},easeInOutQuint:function(n){return n<.5?16*n*n*n*n*n:1-t(-2*n+2,5)/2},easeInSine:function(n){return 1-i(n*a/2)},easeOutSine:function(n){return r(n*a/2)},easeInOutSine:function(n){return-(i(a*n)-1)/2},easeInExpo:function(n){return 0===n?0:t(2,10*n-10)},easeOutExpo:function(n){return 1===n?1:1-t(2,-10*n)},easeInOutExpo:function(n){return 0===n?0:1===n?1:n<.5?t(2,20*n-10)/2:(2-t(2,-20*n+10))/2},easeInCirc:function(n){return 1-u(1-t(n,2))},easeOutCirc:function(n){return u(1-t(n-1,2))},easeInOutCirc:function(n){return n<.5?(1-u(1-t(2*n,2)))/2:(u(1-t(-2*n+2,2))+1)/2},easeInElastic:function(n){return 0===n?0:1===n?1:-t(2,10*n-10)*r((10*n-10.75)*s)},easeOutElastic:function(n){return 0===n?0:1===n?1:t(2,-10*n)*r((10*n-.75)*s)+1},easeInOutElastic:function(n){return 0===n?0:1===n?1:n<.5?-(t(2,20*n-10)*r((20*n-11.125)*f))/2:t(2,-20*n+10)*r((20*n-11.125)*f)/2+1},easeInBack:function(n){return(c+1)*n*n*n-c*n*n},easeOutBack:function(n){return 1+(c+1)*t(n-1,3)+c*t(n-1,2)},easeInOutBack:function(n){return n<.5?t(2*n,2)*(7.189819*n-o)/2:(t(2*n-2,2)*((o+1)*(2*n-2)+o)+2)/2},easeInBounce:function(n){return 1-e(1-n)},easeOutBounce:e,easeInOutBounce:function(n){return n<.5?(1-e(1-2*n))/2:(1+e(2*n-1))/2}})}); 2 | -------------------------------------------------------------------------------- /source/assets/lib/font-awesome/css/font-awesome.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} 5 | -------------------------------------------------------------------------------- /source/assets/lib/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/lib/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /source/assets/lib/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/lib/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /source/assets/lib/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/lib/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /source/assets/lib/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/lib/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /source/assets/lib/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LibreCodeCoop/site/a094cf6d20b109f795530b66482ac7d9261388fd/source/assets/lib/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /source/assets/lib/mobile-nav/mobile-nav.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | "use strict"; 3 | 4 | // Mobile Navigation 5 | if ($('.main-nav').length) { 6 | var $mobile_nav = $('.main-nav').clone().prop({ 7 | class: 'mobile-nav d-lg-none' 8 | }); 9 | $('body').append($mobile_nav); 10 | $('body').prepend(''); 11 | $('body').append('
'); 12 | 13 | $(document).on('click', '.mobile-nav-toggle', function(e) { 14 | $('body').toggleClass('mobile-nav-active'); 15 | $('.mobile-nav-toggle i').toggleClass('fa-times fa-bars'); 16 | $('.mobile-nav-overly').toggle(); 17 | }); 18 | 19 | $(document).on('click', '.drop-down a', function(e) { 20 | e.preventDefault(); 21 | $(this).next().slideToggle(300); 22 | $(this).parent().toggleClass('active'); 23 | }); 24 | 25 | $(document).click(function(e) { 26 | var container = $(".mobile-nav, .mobile-nav-toggle"); 27 | if (!container.is(e.target) && container.has(e.target).length === 0) { 28 | if ($('body').hasClass('mobile-nav-active')) { 29 | $('body').removeClass('mobile-nav-active'); 30 | $('.mobile-nav-toggle i').toggleClass('fa-times fa-bars'); 31 | $('.mobile-nav-overly').fadeOut(); 32 | } 33 | } 34 | }); 35 | } else if ($(".mobile-nav, .mobile-nav-toggle").length) { 36 | $(".mobile-nav, .mobile-nav-toggle").hide(); 37 | } 38 | 39 | })(jQuery); 40 | -------------------------------------------------------------------------------- /source/assets/lib/waypoints/waypoints.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | Waypoints - 4.0.1 3 | Copyright © 2011-2016 Caleb Troughton 4 | Licensed under the MIT license. 5 | https://github.com/imakewebthings/waypoints/blob/master/licenses.txt 6 | */ 7 | !function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.Context.refreshAll();for(var e in i)i[e].enabled=!0;return this},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,n.windowContext||(n.windowContext=!0,n.windowContext=new e(window)),this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical),i=this.element==this.element.window;t&&e&&!i&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s];if(null!==a.triggerPoint){var l=o.oldScroll=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=Math.floor(y+l-f),h=w=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],right:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.$element=e(t)}var e=window.jQuery,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.$element[i].apply(this.$element,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;window.jQuery&&(window.jQuery.fn.waypoint=t(window.jQuery)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); -------------------------------------------------------------------------------- /source/contato.blade.php: -------------------------------------------------------------------------------- 1 | @extends('_layouts.main') 2 | @section('body') 3 | @include('_partials.contact_form') 4 | @endsection 5 | -------------------------------------------------------------------------------- /source/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('_layouts.main') 2 | 3 | @section('body') 4 | 7 |
8 |
9 |
10 |

Tecnologia com
transparência e liberdade

11 |

Somos uma cooperativa digital de especialistas em desenvolvimento de software livre

12 |
13 |
14 |
15 | 16 |
17 | 20 |
21 |
22 |
23 |
24 |
25 | 26 |
27 |

Por que uma cooperativa?

28 |

Cooperativas são organizações democráticas, cujas decisões são tomadas de forma coletiva e transparente e onde os cooperados contribuem equitativamente dentro de um princípio de intercooperação e trabalho em conjunto que potencializam a qualidade, produtividade e a economia de escala nos serviços. 29 |
30 | O movimento cooperativista trabalha para o desenvolvimento sustentável da comunidade na qual está inserido.

31 |
32 |
33 |
34 | 35 | 36 | 37 |
38 |

Por que software livre (SL)?

39 |

40 | Um projeto de licença livre é construído colaborativamente, de modo que está em constante crescimento e sendo constantemente testado e corrigido em suas atualizações. 41 | Por ser aberto, o código de um SL é 100% auditável, permitindo identificar a existência de qualquer erro ou falha de segurança em seu interior que possa deixar vulnerável os dados trafegados no sistema. 42 | Por isso, um SL permite uma política de segurança de dados muito mais transparente do que um software proprietário. 43 |

44 |
45 |
46 |
47 |
48 | 51 |
52 |
53 |
54 |

Soluções

55 |

Todas as nossas soluções podem ser customizadas e adaptadas às necessidades de cada cliente.Confira!

56 |
57 |
58 |
59 |
60 | nextcloud logo 61 |

Sua nuvem privada para armazenamento de documentos e colaboração eficiente para equipes de qualquer tamanho.

62 |
63 | Conheça! 64 |
65 |
66 |
67 |
68 |
69 | libresign logo 70 |

Plataforma completa para assinatura digital de documentos, com praticidade e segurança e validade jurídica.

71 |
72 | Conheça! 73 |
74 |
75 |
76 |
77 |
78 |
79 | 82 |
83 |
84 |
85 |

Clientes

86 |

Nossa reconhecida expertise e a singularidade de nosso modelo de negócio é creditada por diversos atores dos setores público, privado e do terceiro setor.

87 |
88 |
89 |
90 | 93 |
94 |
95 | 98 |
99 |
100 | 103 |
104 |
105 | 108 |
109 |
110 | 113 |
114 |
115 | 118 |
119 |
120 | 123 |
124 |
125 | 128 |
129 |
130 |
131 |
132 | 135 |
136 |
137 |
138 |

Apoie

139 |

Se você utiliza ou deseja utilizar nossos produtos e gostaria de contribuir com o desenvolvimento deles. 140 | Existem diversas formas de você nos apoiar:

141 |
142 |
143 |
144 | 147 |

148 | O GitHub Sponsors permite à comunidade de desenvolvedores apoiar financeiramente as pessoas e organizações que projetam, criam e mantêm projetos de código aberto do qual dependem, diretamente no GitHub. 149 |

150 | 151 | Ir para Github Sponsor 152 | 153 |
154 |
155 |
156 |
157 |
158 | 159 | @include('_partials.contact_form') 160 | 161 | @endsection 162 | -------------------------------------------------------------------------------- /source/jobs/area-de-atuacao.md: -------------------------------------------------------------------------------- 1 | --- 2 | extends: _layouts.job 3 | --- 4 | 5 | # Área de atuação 6 | 7 | A LibreCode é composta por profissionais de tecnologia que trabalham com soluções livres com os quais você poderá desenvolver o teu potencial como empreendedor. 8 | 9 | Caso tenha interesse em empreender conosco, submeta seu pedido de associação e vamos avaliar as possibilidades em conjunto. 10 | 11 | Hoje temos: 12 | 13 | * Desenvolvimento 14 | * [Backend](../requisitos-backend) 15 | * [Frontend](../requisitos-frontend) 16 | * [Infraestrutura](../requisitos-infraestrutura) 17 | 18 | Porém, não se limite ao que temos hoje, venha cooperar conosco! 19 | -------------------------------------------------------------------------------- /source/jobs/beneficios.md: -------------------------------------------------------------------------------- 1 | --- 2 | extends: _layouts.job 3 | --- 4 | 5 | # Benefícios 6 | 7 | * Seguro de vida 8 | * Plano de saúde 9 | * Participação na divisão de sobras orçamentárias do ano 10 | * Formações na área do cooperativismo 11 | * Férias remuneradas 12 | * Renda mensal variável de acordo com produção 13 | -------------------------------------------------------------------------------- /source/jobs/forma-contratacao.md: -------------------------------------------------------------------------------- 1 | --- 2 | extends: _layouts.job 3 | --- 4 | 5 | # Forma de contratação 6 | 7 | * Associar-se assumindo os direitos e deveres de sócio com remuneração variável de acordo com produção 8 | 9 | > OBS: Tornar-se sócio da LibreCode não é um trabalho de freelance que dedicamos quando há tempo extra. Tornar-se sócio é vestir a camisa e ser dono como todos os outros sócios contribuindo para o crescimento da cooperativa. 10 | -------------------------------------------------------------------------------- /source/jobs/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('_layouts.main') 2 | @section('body') 3 |
4 | 5 |
6 |
7 | 8 |
9 |

Faça parte da LibreCode

10 |
11 | 12 |
13 | 14 |
15 |

16 | A LibreCode é uma cooperativa de devs de software livre em busca de uma forma de trabalhar diferente das que já experimentamos no mundo corporativo. 17 |

18 | 19 |
20 |
Cooperativa de TI
21 |

22 | Somos uma cooperativa de profissionais da tecnologia da informação especializados em desenvolvimento e implantação de software livre. 23 |

24 |
25 | 26 |
27 |
Apaixonados por Software Livre
28 |

Software livre é o software que concede liberdade ao usuário para executar, acessar e modificar o código fonte, e redistribuir cópias com ou sem modificações.

29 |
30 | 31 |
32 | 33 |
34 | imagem_grupo_librecode 35 |
36 |
37 |
38 |
39 | 40 |
41 |
42 | 43 |

Coopere Conosco

44 | 45 |

Local de trabalho

46 |
47 | 48 | 0.0.0.0 ou 127.0.0.1 49 |
50 | 51 |

Forma de contratação

52 | 53 |

Benefícios

54 | 55 |

Pré-requisitos

56 | 57 |

Área de atuação

58 | 59 |

Como se candidatar

60 | 61 | 67 | 68 | 69 |
70 |
71 |
72 | @endsection 73 | -------------------------------------------------------------------------------- /source/jobs/materiais-de-apoio.md: -------------------------------------------------------------------------------- 1 | --- 2 | extends: _layouts.job 3 | --- 4 | 5 | ## Materiais de apoio recomendados 6 | 7 | * História de como surgiu o cooperativismo: 8 | * [Os Pioneiros de Rochdale](https://www.youtube.com/watch?v=L-oXL6g00Og) 9 | * Documentários 10 | * Acesso a internet e outras coisas 11 | - [Freenet](https://libreflix.org/i/freenet) 12 | * Sobre software livre 13 | - [Revolution OS](https://libreflix.org/i/revolution-os) 14 | - [The Code](https://libreflix.org/i/the-code) 15 | * Cursos 16 | * Faça cadastro no site [Capacita Coop](https://www.capacita.coop.br) 17 | * Preencha: 18 | * **Unidade da Federação de Residência**: Rio de Janeiro 19 | * **É vinculado à alguma cooperativa?**: Cooperativa 20 | * **Cooperativa**: LibreCode 21 | * Cursos obrigatórios 22 | * Nacionais 23 | * [Cooperativismo - Primeiras lições](https://capacita.coop.br/cursos-studion/cooperativismo-primeiras-licoes) 24 | * [Entendendo a sociedade cooperativa](https://capacita.coop.br/cursos-studion/entendendo-a-sociedade-cooperativa-2) 25 | * Ao concluir os cursos, envie em nosso grupo o comprovante de conclusão 26 | -------------------------------------------------------------------------------- /source/jobs/pre-requisitos.md: -------------------------------------------------------------------------------- 1 | --- 2 | extends: _layouts.job 3 | --- 4 | 5 | # Pré-requisitos 6 | 7 | * Conhecer as leis que regem o nosso ramo do cooperativismo: 8 | * [LEI Nº 5.764, DE 16 DE DEZEMBRO DE 1971](http://www.planalto.gov.br/ccivil_03/Leis/L5764.htm) 9 | * [LEI Nº 12.690, DE 19 DE JULHO DE 2012](http://www.planalto.gov.br/CCIVIL_03/_Ato2011-2014/2012/Lei/L12690.htm) 10 | * Conhecer e aceitar os termos de nosso [Estatuto](https://gitlab.com/librecodecoop/estatuto) e [Regimento Interno](https://gitlab.com/librecodecoop/regimento-interno) 11 | * Atuar na atividade fim da cooperativa 12 | * Não atuar como sócio em empresa na atividade fim da LibreCode 13 | * Dar uma olhada nos [materiais de apoio](/jobs/materiais-de-apoio) 14 | * Estar de acordo com nossa 15 | * Missão 16 | > Colaborar para a construção de uma economia solidária por meio do cooperativismo, democratizando a tecnologia da informação, a segurança e a privacidade de dados com software livre. 17 | * Visão 18 | > Crescer e fomentar a criação de novas cooperativas de tecnologias livres com o objetivo de construir uma federação, nos fortalecer mutuamente, atingir visibilidade na sociedade e representatividade em decisões públicas. 19 | * Valores 20 | > Economia solidária, Segurança e privacidade, Comunidade, Transparência, Copyleft: libre code 21 | -------------------------------------------------------------------------------- /source/jobs/requisitos-backend.md: -------------------------------------------------------------------------------- 1 | --- 2 | extends: _layouts.job 3 | --- 4 | 5 | ## Requisitos 6 | * Utilizar e compreender os valores do software livre 7 | * Linux, PHP & Banco de 🎲 8 | * Habilidades com análise e gestão de projetos 9 | * Qualidade de software (CI/CD) 10 | 11 | ## Tipos de trabalhos a executar 12 | * Desenvolvimento para Nextcloud 13 | * Análise de sistemas e gestão de projetos 14 | * Projetar e implementar aplicações web diversas (principalmente PHP) 15 | 16 | ## Como candidatar-se? 17 | * Instruções na [home](/jobs) deste repositório 18 | -------------------------------------------------------------------------------- /source/jobs/requisitos-frontend.md: -------------------------------------------------------------------------------- 1 | --- 2 | extends: _layouts.job 3 | --- 4 | 5 | ## Requisitos 6 | * Utilizar e compreender os valores do software livre 7 | * Tecnologias 8 | * Linux 9 | * JavaScript 10 | * Docker 11 | * VueJS 12 | * webpack 13 | * Conhecimento e interesse em UX / UI 14 | * Habilidades com análise e gestão de projetos 15 | * Qualidade de software (CI/CD) 16 | 17 | ## Tipos de trabalhos a executar 18 | * Desenvolvimento para Nextcloud 19 | * Análise de sistemas e gestão de projetos 20 | * Projetar e implementar frontend para aplicações web diversas 21 | 22 | ## Como candidatar-se? 23 | * Instruções na [home](/jobs) deste repositório 24 | -------------------------------------------------------------------------------- /source/jobs/requisitos-infraestrutura.md: -------------------------------------------------------------------------------- 1 | --- 2 | extends: _layouts.job 3 | --- 4 | 5 | ## Requisitos 6 | * Utilizar e compreender os valores do software livre 7 | * Conhecimentos de sysadmin Linux 8 | * Docker 9 | 10 | ## Diferenciais 11 | * Banco de dados relacionais 12 | * Noções de programação 13 | 14 | ## Tipos de trabalhos a executar 15 | * Administração de infraestrutura da LibreCode e de clientes 16 | * Automação de processos de infra 17 | * Auxiliar no suporte a clientes 18 | 19 | ## Como candidatar-se? 20 | * Instruções na [home](/jobs) deste repositório 21 | -------------------------------------------------------------------------------- /source/nextcloud.blade.php: -------------------------------------------------------------------------------- 1 | @extends('_layouts.main') 2 | 3 | @section('body') 4 | 5 | @extends('_layouts.header') 6 | 7 |
8 |
9 |
10 |

Gestão de documentos em nuvem exclusiva

11 |

Conheça o Nextcloud, muito mais do que uma nuvem, um hub de aplicações com tudo necessário para gestão.

12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |

Gestão de arquivos

21 |

Organize seus arquivos e pastas de forma segura e colaborativa.

22 |

23 |
24 | 25 | image 26 | 27 |
28 |
29 |
30 |
31 | 32 | image 33 | 34 |
35 |
36 |

Log de alterações

37 |

Acompanhe o histórico de alterações dos arquivos e seus responsáveis

38 |
39 |
40 |
41 |
42 |

Gestão de usuários

43 |

Crie grupos com diferentes permissões de acesso e gerencie as permissões de usuários

44 |
45 |
46 | 47 | image 48 | 49 |
50 |
51 |
52 |
53 | 54 | image 55 | 56 |
57 |
58 |

Agenda

59 |

Crie agendas para cada necessidade e associe participantes a elas.

60 |

61 |
62 |
63 |
64 |

Edição de
documentos on-line

65 |

Edite documentos on-line de forma colaborativa.

66 |

67 |
68 | 69 | image 70 | 71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |

E muito mais...

79 |
80 |
81 |
82 |
83 |
84 | 85 | 86 |
87 | Aplicativo para celular 88 |

Tenha seus dados na palma de sua mão, a qualquer momento e em qualquer lugar!

89 |
90 |
91 |
92 |
93 |
94 | 95 | 96 |
97 | Chat 98 |

Realize chat pessoais
ou diretamente em documentos.

99 |
100 |
101 |
102 |
103 |
104 | 105 | 106 |
107 | Chamada de
vídeo 108 |

Realize videoconferências
com a equipe

109 |
110 |
111 |
112 |
113 |
114 | 115 | 116 |
117 | Criptografia 118 |

Dados criptografados e invioláveis

119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 | 127 | 128 |
129 | Gestão de Atividades 130 |

Crie e gerencie quadros de controle de fluxos
de produção (Kanban).

131 | 132 |

133 |
134 |
135 |
136 | 137 | 138 |
139 | Enquetes 140 |

Crie e compartilhe enquetes
para consulta interna
ou externa.

141 |
142 |
143 |
144 |
145 |
146 | 147 | 148 |
149 | Formulários 150 |

Crie formulários para serem respondidos por sua equipe ou compartilhe com clientes.

151 |
152 |
153 |
154 |
155 |
156 | 157 | 158 |
159 | Gestor de senhas 160 |

Guarde e gerencie suas senhas de forma organizada e segura.

161 |
162 |
163 |
164 |
165 |
166 | 167 | 168 |
169 | 170 |
171 |
172 |
173 |
174 |

Gostou? Agende uma demonstração conosco!

175 | Saiba mais 176 |
177 |
178 |

Nextcloud é uma marca registrada de Nextcloud GmbH.

179 |
180 |
181 |
182 |
183 | 184 |
185 | @endsection 186 | -------------------------------------------------------------------------------- /source/posts.blade.php: -------------------------------------------------------------------------------- 1 | @extends('_layouts.main') 2 | @section('body') 3 |
4 |
5 |

Blog Page

6 |
7 |
8 | 9 |
10 |
11 |
12 |
13 | @foreach ($posts as $post) 14 | @if (current_path_locale($post) !== current_path_locale($page)) 15 | @continue 16 | @endif 17 |
18 | 30 |
31 | @endforeach 32 |
33 |
34 |
35 |
36 | @endsection 37 | -------------------------------------------------------------------------------- /source/tavola.blade.php: -------------------------------------------------------------------------------- 1 | @extends('_layouts.main') 2 | 3 | @section('body') 4 | 16 | 17 |
18 |
19 |
20 |

Assembleias on-line

21 |

Conheça o Távola, um sistema com todo o necessário para a realização de assembleias de forma remota e com validade jurídica.

22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |

32 | Funcionalidades: 33 |

34 |
35 |
36 |
37 |

38 | Criação e edição colaborativa de editais de convocação 39 |

40 |
41 |
42 |

43 | Sala de videoconferência para realização da assembleia 44 |

45 |
46 |
47 |

48 | Chat para comunicação durante a assembleia 49 |

50 |
51 |
52 |

53 | Criação de votações com possibilidade de voto secreto ou nominal 54 |

55 |
56 |
57 |

58 | Geração de boletim dos votos 59 |

60 |
61 |
62 |

63 | Geração de relatório de presença e de votação 64 |

65 |
66 |
67 |

68 | Gravação da assembléia 69 |

70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 | @endsection 78 | -------------------------------------------------------------------------------- /webpack.mix.js: -------------------------------------------------------------------------------- 1 | const mix = require('laravel-mix'); 2 | require('laravel-mix-jigsaw'); 3 | 4 | mix.disableSuccessNotifications(); 5 | mix.setPublicPath('source/assets/build'); 6 | 7 | mix.jigsaw() 8 | .js('source/_assets/js/main.js', 'js') 9 | .sass('source/_assets/sass/main.scss', 'css') 10 | .copy('node_modules/lineicons/web-font/fonts', 'source/assets/build/css/fonts') 11 | .options({ 12 | processCssUrls: false, 13 | }) 14 | .webpackConfig(webpack => { 15 | return { 16 | plugins: [ 17 | new webpack.ProvidePlugin({ 18 | $: 'jquery', 19 | jQuery: 'jquery', 20 | 'window.jQuery': 'jquery' 21 | }) 22 | ] 23 | }; 24 | }) 25 | .version(); 26 | --------------------------------------------------------------------------------