diff --git a/pr/125/404.html b/pr/125/404.html index 8ff88743..1b6e22bb 100644 --- a/pr/125/404.html +++ b/pr/125/404.html @@ -46,7 +46,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/a-propos/index.html b/pr/125/a-propos/index.html index 5e9053b8..112cd6e3 100644 --- a/pr/125/a-propos/index.html +++ b/pr/125/a-propos/index.html @@ -45,7 +45,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/blog/cours/ansible/ansible-environnement-cle-en-main/index.html b/pr/125/blog/cours/ansible/ansible-environnement-cle-en-main/index.html index e062adc4..aaaf7e41 100644 --- a/pr/125/blog/cours/ansible/ansible-environnement-cle-en-main/index.html +++ b/pr/125/blog/cours/ansible/ansible-environnement-cle-en-main/index.html @@ -71,7 +71,7 @@ document.querySelector('html').classList.remove('no-js'); - + @@ -295,6 +295,12 @@

Mise en rou

Fichiers de configuration

Il est bien évidemment possible à partir des fichiers de configuration Manala, d'agir sur les configurations d'ansible mais également la configuration SSH.

Pour cela il faudra modifier le fichier .manala.yaml qui doit, après la manipulation précédente, se trouver à la racine de votre répertoire de travail.

+
+

Prendre en compte vos modifications

+

+ Si vous modifiez les fichiers de configuration comme indiqué ci-dessous il faudra penser à utiliser la commande manala up afin que vos modifications soient bien prises en compte. +

+

Configurer Ansible

Il est possible d'interagir sur la configuration Ansible à partir de la section suivante:

system:
@@ -309,6 +315,12 @@ 

C [ssh_connection] control_path = /tmp/%%h-%%r

On notera qu'il est possible d'agir sur la version d'ansible utilisée dans notre conteneur Docker mais également sur les directives de configuration propres à Ansible (https://docs.ansible.com/ansible/latest/reference_appendices/config.html).

+
+

Le fichier ansible.cfg

+

+ Les modifications de configuration comme ci-dessus se traduisent par l'ajout de directives dans le fichier /etc/ansible/ansible.cfg. Il est possible de surcharger ce fichier en placant un fichier du même nom à la racine des répertoires de travail de vos projets permettant ainsi l'introduction de directives spécifiques à chacun d'entre eux. +

+

Configurer SSH

Concernant SSH le fonctionnement est le même, on retrouve une section dédiée au sein du fichier .manala.yaml qui nous permettra de jouer sur les directives de configuration SSH:

ssh:
@@ -316,7 +328,7 @@ 

Configure Host * User debian ForwardAgent yes

-

Et vous voila en quelques lignes en capacité d'utiliser un environnement Ansible.

+

Et vous voilà en quelques lignes en capacité d'utiliser un environnement Ansible.

Configurer GIT

Toujours dans le même fichier, la section cette fois-ci sera la suivante:

git:
diff --git a/pr/125/blog/cours/ansible/ansible-les-inventaires-statiques/index.html b/pr/125/blog/cours/ansible/ansible-les-inventaires-statiques/index.html
index 336865fb..d2e2366c 100644
--- a/pr/125/blog/cours/ansible/ansible-les-inventaires-statiques/index.html
+++ b/pr/125/blog/cours/ansible/ansible-les-inventaires-statiques/index.html
@@ -70,7 +70,7 @@
                         document.querySelector('html').classList.remove('no-js');
         
 
-                    
+                    
         
                     
 
@@ -270,6 +270,23 @@ 

Ansible - Les inventaires statiques

  • + Cibler des groupes de machines avec les « patterns » +
      +
    1. + L'opérateur OR +
    2. +
    3. + L'opérateur AND +
    4. +
    5. + L'opérateur NOT +
    6. +
    7. + Combinaisons multiples +
    8. +
    +
  • +
  • Aller plus loins avec les sources
  • @@ -294,23 +311,17 @@

    Ansible - Les inventaires statiques

    -
    - -
    -

    Cet article n'est pas encore publié. Cet aperçu est disponible uniquement dans cet environnement mais n'apparaîtra en production qu'à partir du 27 novembre 2023

    -
    -
    -

    Préambule

    +

    Préambule

    Ce cours est utilisé dans le cadre de TP au sein de l'IUT Lyon 1. Il est notamment dispensé à des étudiants peu ou pas familiers avec les stratégies d'automatisation et de déploiement des infrastructures. Bien que très axé débutants il peut également représenté une possibilité de monter « rapidement » pour certaines équipes sur les principes fondamentaux d'Ansible afin de disposer du bagage minimal nécessaire à son utilisation.

    Il s'agit bien évidemment de supports à vocation pédagogique qui ne sont pas toujours transposables à une activité professionnelle.

    Pré-requis

    -

    Disposer d'un environnement de travail Ansible fonctionnel, si ça n'est pas encore le cas vous pouvez jeter un oeil ici !

    +

    Disposer d'un environnement de travail Ansible fonctionnel, si ça n'est pas encore le cas vous pouvez jeter un oeil ici !

    Introduction

    -

    Afin de pouvoir attaquer nos différents machines, Ansible a besoin d'un référentiel de celles-ci avec un minimum d'informations les concernants (histoire de savoir comment s'y connecter par exemple ;)).

    +

    Afin de pouvoir attaquer nos différentes machines, Ansible a besoin d'un référentiel de celles-ci avec un minimum d'informations les concernants (histoire de savoir comment s'y connecter par exemple ;)).

    C'est là qu'entre en jeux les inventaires. Il existe deux façons de constituer des inventaires, la première est manuelle, et consiste à écrire ni plus ni moins la liste des machines que l'on souhaites manager on parle dans ce cas d'inventaire statique. -La deuxième méthode introduit un principe de « reconnaissance » des machines disponibles, dans ce cas de figure on constituera nos inventaires de manière automatique, on parle dans ce cas d'inventaire dynamiques que nous verrons plus tard.

    -

    Les inventaires, on le verra permettre également de structurer / hiérarchiser nos machines en utilisant une notion de groupe. +La deuxième méthode introduit un principe de « reconnaissance » des machines disponibles, dans ce cas de figure on constituera nos inventaires de manière automatique, on parle dans ce cas d'inventaires dynamiques que nous verrons plus tard.

    +

    Les inventaires permettent également de structurer / hiérarchiser nos machines en utilisant une notion de groupe. Ansible propose plusieurs plugins capablent de gérer des inventaires de machines, ils sont consultables à l'aide la commande:

    ansible-doc -t inventory -l

    Qui devrait vous renvoyer la liste suivante:

    @@ -326,11 +337,11 @@

    Introduction< ansible.builtin.yaml Uses a specific YAML file as an inventory source

    Dans notre cas nous nous appuyerons essentiellemen sur le plugin yaml.

    Structurer ses inventaires

    -

    Un inventaire n'est en fait ni plus ni moins d'un ou plusieurs fichiers spécifiant des informations concernant le parc de machines que l'on souhaite piloter. -En terme de structure vous rencontrerez énormément de façons de faire, celles-ci étant guider par le besoin métier bien éviemment on pourra citer comme contraintes par exemple:

    +

    Un inventaire n'est en fait ni plus ni moins qu'un ou plusieurs fichiers contenant des informations concernant le parc de machines que l'on souhaite piloter.

    +

    En terme de structure vous rencontrerez énormément de façons de faire, celles-ci étant bien évidemment guider par le besoin métier, on pourra citer comme contraintes par exemple:

    Bref tout est imaginable à ce niveau. @@ -352,24 +363,24 @@

    Clés g

    La structure du fichier nous permet de mettre en évidence deux clés essentielles:

    -

    Il est toutefois possible d'utiliser d'autre clé de configuration pour enrichir la définition de notre machine, parmi les plus utiles:

    +

    Il est toutefois possible d'utiliser d'autres clés de configuration pour enrichir la définition de notre machine, parmi les plus utiles:

    Clés spécifiques à SSH

    Clés spécifiques à l'escalade de privilèges

    Enrichir son inventaire

    À présent que nous avons effectuer un petit tour rapide du propriétaire, nous allons « étoffer » notre inventaire initial en ajoutant une deuxième machine comme ci-dessous:

    @@ -392,7 +403,7 @@

    Hôte local

    - Il est bien évidemment possible d'interroger notre propre machine à l'aide d'Ansible, en modifiant relativement simplement notre fichier d'inventaire. Attention toutefois à ce que vous faites puisque vous pouvez du coup directement impacter la configuration et donc le fonctionnement de votre machine. + Il est bien évidemment possible d'interroger notre propre machine à l'aide d'Ansible, en modifiant relativement simplement notre fichier d'inventaire. Attention toutefois à ce que vous faites puisque vous pouvez directement impacter la configuration et donc le fonctionnement de votre machine.

    Exemple de fichier d'inventaire pour piloter une machine locale:

    @@ -411,7 +422,7 @@

    vm-web-staging-01: ~

    ATTENTION: children est une sous clé de all ;)

    La commande « ansible-inventory »

    -

    Ansible propose différentes commande parfois très spécifique, l'occasion de tester notre configuration d'inventaire !

    +

    Ansible propose différentes commandes parfois très spécifiques, l'occasion de tester notre configuration d'inventaire !

    Testons: ansible-inventory --list -i inventories On notera que cette fois-ci nous donnons le répertoire inventories en paramètre.

    Cette commande devrait vous afficher la sortie suivante (format json):

    @@ -450,8 +461,8 @@

    all: C'est le groupe racine auquel appartiendra toutes vos machines sans exception (On remarquera avec cette information que lorsque nous avons utilisé la commande ansible -i inventories/hosts.yml all -m ping, all indiquait donc le groupe cible). -
  • Un groupe ungrouped: Groupe auquel sera affecté toute machine n'appartenant à aucun groupe (exception faites de all bien évidemment);
  • +
  • Un groupe all: C'est le groupe racine auquel appartiendra toutes vos machines sans exception (On remarquera avec cette information que lorsque nous avons utilisé la commande ansible -i inventories/hosts.yml all -m ping, all indiquait donc le groupe cible).
  • +
  • Un groupe ungrouped: Groupe auquel sera affectée toute machine n'appartenant à aucun groupe (exception faites de all bien évidemment);
  • Dans notre exemple ci-dessus on voit donc bien que nos deux machines font bien partie du groupe webservers.

    @@ -484,16 +495,118 @@

    production: hosts: vm-web-prod-01: ~ +

    Une fois ces modifications faites, rejouez la commande ansible-inventory --list -i inventories vous devriez constater de subtils changements au niveau des informations que vous affiche Ansible.

    +
    {
    +    "_meta": {
    +        "hostvars": {
    +            "vm-web-prod-01": {
    +                "ansible_host": "192.168.140.12",
    +                "ansible_port": 22,
    +                "ansible_user": "debian"
    +            },
    +            "vm-web-staging-01": {
    +                "ansible_host": "192.168.140.10",
    +                "ansible_user": "debian"
    +            }
    +        }
    +    },
    +    "all": {
    +        "children": [
    +            "ungrouped",
    +            "webservers"
    +        ]
    +    },
    +    "webservers": {
    +        "hosts": [
    +            "vm-web-prod-01",
    +            "vm-web-staging-01"
    +        ]
    +    }
    +}
    +

    On constatera ainsi:

    +
      +
    • L'ajout de la clé ansible_port sur notre première instance;
    • +
    • La modification de l'adresse IP de la seconde.
    • +
    +

    Qu'en retenir ?

    +

    L'utilisation du Yaml comme langage de définition introduit une notion d'arborescence au niveau de vos clés, il faut ainsi voir la définition de votre machine comme un tableau multidimensionnel indexé.

    +
    array (
    +  'vm-web-prod-01' => 
    +  array (
    +    'ansible_host' => '192.168.140.12',
    +    'ansible_port' => 22,
    +    'ansible_user' => 'debian',
    +  ),
    +)
    +

    On comprendra donc facilement:

    +
      +
    • Que l'ajout d'une clé entraine l'ajout d'un élément à notre tableau pour la clé concernée (Dans notre cas l'ajout de la clé ansible_port);
    • +
    • Que la modification de la valeur d'une clé écrase sa valeur précédente (Dans notre cas la modification de l'IP de notre machine).
    • +
    +

    Conclusion: Lorsque l'on utilise des fichiers d'inventaire multiples il vaut bien prendre en compte leur ordonnancement, la dernière valeur déclarée pour une clé étant celle qui sera retenu dans notre tableau final.

    +
    +

    Groupes de groupes

    +

    + La hiérarchie de groupe d'un inventaire peut avoir plusieurs niveaux. Il est donc possible d'avoir de l'imbrication de groupes. Attention toutefois à ne pas en abuser afin de ne vous perdre dans des arborescence trop complexes. +

    +

    Exercices

    Rapide mise en pratique des inventaires.

    Exercice 1

    -

    Reprendre les différents fichiers contenu dans notre répertoire inventories et les compiler en un seul et même fichier hosts.yml.

    +

    Reprendre les différents fichiers contenu dans notre répertoire inventories et les compiler en un seul et même fichier hosts.yml, les autres fichiers ne sont finalement plus utiles et peuvent être supprimés.

    Souvenez-vous vous pouvez tester un fichier d'inventaire en particulier en le passant en paramètre de la commande ansible-inventory: ansible-inventory --list -i inventories/hosts.yml.

    Exercice 2

    -

    Nous avons vu qu'il existait différent plugin permettant de « lire » un inventaire (si,si au tout début),

    +

    Nous avons vu qu'il existait différent plugin permettant de « lire » un inventaire (si,si au tout début), essayez d'écrire le même inventaire mais à un format différent (format ini par exemple).

    +

    Cibler des groupes de machines avec les « patterns »

    +

    Notre infrastructure est modeste, mais vous serez parfois amenez à travailler avec des infrastructures d'envergure et serez dans l'obligation de « cibler » certaines machines ou groupes de machines. +Il est ainsi possible d'indiquer explicitement à Ansible quelles sont les machines à considérer pour une action donnée.

    +

    Certains « pattern » sont très simple et vous devriez en reconnaitre certains:

    +

    Le « wildcard » * par exemple qui désignera n'importe quelle valeur est utilisable au sein d'une valeur de clé ip ou hostname (192.168.140.* ou encore *.example.com).

    +

    Ceux que vous rencontrerez le plus souvent: :, :& ou encore :!.s

    +

    L'opérateur OR

    +

    L'opérateur : signifiera qu'une machine peut-être dans un groupe OU dans un autre, par exemple staging ou production.

    +

    Essayons toujours avec notre module ping: ansible -i inventories/hosts.yml 'staging:production' -m ping

    +
    +

    Avec la commande ansible-inventory

    +

    + ansible-inventory -i inventories/hosts.yml --host='webservers:production' +

    +
    +

    L'opérateur AND

    +

    L'opérateur :& signifiera qu'une machine peut-être dans un groupe ET dans un autre, par exemple webservers et production.

    +

    ansible -i inventories/hosts.yml 'webservers:&production' -m ping

    +

    Cette fois-ci vous ne devriez avoir que la machine vm-web-prod-01 qui est solicité par Ansible.

    +
    +

    Avec la commande ansible-inventory

    +

    + ansible-inventory -i inventories/hosts.yml --host='webservers:&production' +

    +
    +

    L'opérateur NOT

    +

    L'opérateur :! permettra de cibler une machine qui est dans un groupe mais pas dans un autre par exemple membre du groupe webservers mais non présente dans le groupe production.

    +

    ansible -i inventories/hosts.yml 'webservers:!production' -m ping

    +

    Vous devriez ne soliciter cette fois que vm-web-staging-01.

    +
    +

    Avec la commande ansible-inventory

    +

    + ansible-inventory -i inventories/hosts.yml --host='webservers:!production' +

    +
    +

    Combinaisons multiples

    +

    Il est bien évidemment possible de combiner les opérateurs prenez toutefois garde aux expressions trop complexes qui gêneront à la compréhension et pourront être source d'erreur !

    +

    On peut donc imaginer des choses comme cibler les machines du groupe webservers OU staging mais qui ne sont pas dans production (On est d'accord, ça n'a aucune sens c'est pour l'exemple ;)).

    +

    ansible -i inventories/hosts.yml 'webservers:staging:!production' -m ping

    +

    Il est également possible de mixer nom de groupe et nom de machine: ansible -i inventories/hosts.yml 'webservers:staging:!vm-web-staging-01' -m ping

    +
    +

    Avec la commande ansible-inventory

    +

    + ansible-inventory -i inventories/hosts.yml --host='webservers:staging:!vm-web-staging-01' +

    +

    Aller plus loins avec les sources

    diff --git a/pr/125/blog/cours/cle-ssh-principes-de-base/index.html b/pr/125/blog/cours/cle-ssh-principes-de-base/index.html new file mode 100644 index 00000000..868f015d --- /dev/null +++ b/pr/125/blog/cours/cle-ssh-principes-de-base/index.html @@ -0,0 +1,480 @@ + + + + + + + Principes de base de l'utilisation de clés SSH. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
      +
    • + #Cours +
    • +
    • + #Ssh +
    • +
    • + #HowTo +
    • +
    +

    Principes de base de l'utilisation de clés SSH.

    +

    Génération, utilisation et cas pratiques d'utilisation de clés SSH.

    +
    +
      +
    1. + Pré-requis +
    2. +
    3. + TL;DR +
    4. +
    5. + Génération d'une paire de clés +
    6. +
    7. + Se connecter à un serveur distant +
    8. +
    9. + Compléments +
    10. +
    11. + Aller plus loin avec les sources +
    12. +
    + +
    +
    +

    Une clé SSH est un moyen d'authentification vers un serveur SSH reposant sur les principes de cryptographie asymétrique et d'authentification défi / réponse.

    +

    Elle a deux avantages fondamentaux comparativement avec une authentification par couple identifiant/mot de passe:

    +
      +
    • Permettre une authentification facilité (plus de mot de passe à mémoriser) et plus rapide (possibilité de rebond de serveur à serveur par exemple).
    • +
    • Se prémunir des attaques de type force brute
    • +
    +

    La très grande majorité des accès serveurs sont aujourd'hui basés sur leur utilisation, au dela de l'aspect fluidité et sécurité, elle ouvre également la possibilité d'authorisation multiple (sur plusieurs serveurs), de révocation et de signature des accès facilités.

    +
    +

    Secure Shell (SSH)

    +

    + Secure Shell (SSH) est à la fois un programme informatique et un protocole de communication sécurisé. + Le protocole de connexion impose un échange de clés de chiffrement en début de connexion. Par la suite, tous les segments TCP sont authentifiés et chiffrés. Il devient donc impossible d'utiliser un sniffer pour voir ce que fait l'utilisateur. + Le protocole SSH a été conçu avec l'objectif de remplacer les différents protocoles non chiffrés comme rlogin, telnet, rcp et rsh. +

    +
    +

    Pré-requis

    +
      +
    • Avoir un client SSH installé (OpenSSH pour Linux/OSX et Windows à présent ou encore Putty pour Windows)
    • +
    • Une ligne de commande ( le truc noir dans lequel on tape du texte ;) )
    • +
    +

    TL;DR

    +

    Génération d'une paire de clés:

    +
    ssh-keygen -t ed25519 -a 150
    +

    Se connecter à un serveur distant

    +
    ssh -i ~/.ssh/id25519 user@server_address
    +

    Génération d'une paire de clés

    +

    Le principe de l'authentification par clés repose, comme explicité sur les différents liens ci-dessus, par la création d'une paire de clés asymétriques. +L'une de ces clés sera votre clé publique à déployer sur les machines auxquelles vous avez le droit de vous connecter, l'autre, votre clé privée. Et comme son nom l'indique, celle-ci est à vous et rien qu'à vous ; elle ne se partage pas. JAMAIS.

    +

    Deux notions de base avant de se lancer pour bien comprendre ce que l'on fait:

    +
      +
    • Il existe plusieurs types d'algorithmes de signature numérique, les plus répandus étant RSA et Ed25519;
    • +
    • Il est possible de spécifier la longueur de vos clés, ce paramètre est essentiel à leur robustesse.
    • +
    +

    Il est recommandé, à la date de rédaction de cet article, d'utiliser l'algorithme Ed25519 qui a plusieurs avantages comparativement à RSA:

    +
      +
    • Robustesse accrue;
    • +
    • Plus petite taille de clés;
    • +
    • Génération des clés plus rapide.
    • +
    +
    ssh-keygen -t ed25519 -a 150 -C "courriel@example.com"
    +
    + +
    + Génération d'une paire de clé SSH +
    +
    +

    L'option -C permet d'ajouter un commentaire à votre clé, pratique notamment pour identifier le propriétaire d'une clé publique coté serveur.

    +
    +

    Phrase de passe

    +

    + Bien que facultative, il est « extrêmement vachement recommandé » de disposer d'une phrase de passe sur vos clés SSH (dans le cadre des cours et pour gagner du temps il est possible de s'en passer si vous n'utilisez pas votre clé en dehors de ceux-ci). +

    +
    +

    Cette commande vous aura généré deux fichiers dans le répertoire ~/.ssh/ (sauf si vous l'avez modifié bien évidemment):

    +
      +
    • id_ed25519.pub (comme son extension l'indique c'est votre clé publique);
    • +
    • id_ed25519 votre clé privée (on remarquera les droits qui lui sont appliqués 0600, en effet seul votre utilisateur doit y avoir accès).
    • +
    +
    +

    Générer une clé RSA

    +

    + Ed25519 n'étant de temps en temps pas supporté (surtout par les anciens systèmes) il est parfois nécessaire de générer une paire de clé RSA (on remarquera la longueur de clé de 4096 bits recommandée à date de rédaction de l'article): + ssh-keygen -t rsa -a 150 -b 4096 +

    +
    +

    Se connecter à un serveur distant

    +

    C'est un peu la finalité. +Imaginons un serveur pour lequel votre clé est autorisée à se connecter (pour rappel fichier authorized_keys), nous pouvons initier une connexion à l'aide de la commande:

    +

    ssh user@server_address

    +

    Cette commande aura donc pour effet « d'ouvrir » une connexion sur un serveur distant via le protocol SSH vous permettant de saisir des lignes de commande directement sur ce serveur et donc de l'administrer.

    +
    + +
    + Ouverture d'une session sur un serveur distant +
    +
    +

    Cette exemple montre l'ouverture d'une session avec l'utilisateur debian sur le serveur ayant pour adresse IP 146.59.243.95.

    +

    Plusieurs choses à retenir à cette étape:

    +
      +
    • Par défaut ssh parcourt les clés SSH privées disponibles dans le répertoire ~/.ssh afin de les proposer au serveur auquel vous essayez de vous connecter.
    • +
    • Vous optenez en retour la première fois que vous vous connectez un message vous demandant de confirmer la connexion vers le serveur distant (Host key checking).
    • +
    +

    Compléments

    +

    Si vous disposez de plusieurs clés SSH et que vous ne souhaitez pas que l'ensemble de vos clés privées soient soumises au serveur distant vous pouvez spécifier quelle clé utiliser en utilisant l'option -i.

    +
    ssh -i ~/.ssh/id25519 debian@146.59.243.95
    +

    Il est possible d'utiliser des syntaxes différentes en fonction de votre fichier de configuration SSH.

    +

    Vous pouvez ainsi agir sur les comportements par défaut de votre client SSH et notamment sur la clé à utiliser en fonction de tel ou tel serveur.

    +

    Aller plus loin avec les sources

    + +
    + +
    +
    +

    + Une typo ? + Modifier cet article sur Github +

    +
    +
    +
    +
    +
    + + + + + + diff --git a/pr/125/blog/cours/docker-avec-windows-et-wsl/index.html b/pr/125/blog/cours/docker-avec-windows-et-wsl/index.html index 409190ff..be4b0290 100644 --- a/pr/125/blog/cours/docker-avec-windows-et-wsl/index.html +++ b/pr/125/blog/cours/docker-avec-windows-et-wsl/index.html @@ -71,7 +71,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/blog/cours/utiliser-la-configuration-ssh-client/index.html b/pr/125/blog/cours/utiliser-la-configuration-ssh-client/index.html index 5a4a3dd7..2164db9e 100644 --- a/pr/125/blog/cours/utiliser-la-configuration-ssh-client/index.html +++ b/pr/125/blog/cours/utiliser-la-configuration-ssh-client/index.html @@ -70,7 +70,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/blog/index.html b/pr/125/blog/index.html index 0129f9e7..2a7bac23 100644 --- a/pr/125/blog/index.html +++ b/pr/125/blog/index.html @@ -48,7 +48,7 @@ document.querySelector('html').classList.remove('no-js'); - + @@ -334,29 +334,74 @@

    Ansible - Un environnement de travail clé e
  • - +
    -

    Interprétation et diagnostic d'un incident en production.

    +

    Principes de base de l'utilisation de clés SSH.

    +

    Génération, utilisation et cas pratiques d'utilisation de clés SSH.

    +
      +
    • + #Cours +
    • +
    • + #Ssh +
    • +
    • + #HowTo +
    • +
    + + + + Lire l'article + + +
    +
    +
  • +
  • + +
    + +
    +
    +

    Interprétation et diagnostic d'un incident en production.

    Interprétation pas à pas d'un incident sur infrastructures applicatives, cas pratique d'un incident vécu.

    • @@ -611,51 +656,33 @@

      D'OSX à Linux (en milieu professionnel) - Partie 1 - Le quo

    -
  • -
  • - -
    - -
    -
    -

    Petit guide de style du blog

    -

    Tour d'horizon de ce qu'on a pour faire de beaux articles. Et quelques bonnes pratiques de rédaction.

    -
      -
    • - #Tag1 -
    • -
    • - #Tag2 -
    • -
    - - - - Lire l'article - - -
    -
  • +

    diff --git a/pr/125/blog/linux/construire-image-debian-raspberry/index.html b/pr/125/blog/linux/construire-image-debian-raspberry/index.html index 4a8ed731..a304aae0 100644 --- a/pr/125/blog/linux/construire-image-debian-raspberry/index.html +++ b/pr/125/blog/linux/construire-image-debian-raspberry/index.html @@ -71,7 +71,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/blog/linux/integrer-icloud-gnome-calendar/index.html b/pr/125/blog/linux/integrer-icloud-gnome-calendar/index.html index f1247904..812b7523 100644 --- a/pr/125/blog/linux/integrer-icloud-gnome-calendar/index.html +++ b/pr/125/blog/linux/integrer-icloud-gnome-calendar/index.html @@ -71,7 +71,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/blog/linux/osx-to-linux-part-1/index.html b/pr/125/blog/linux/osx-to-linux-part-1/index.html index 872ef314..43fa2a06 100644 --- a/pr/125/blog/linux/osx-to-linux-part-1/index.html +++ b/pr/125/blog/linux/osx-to-linux-part-1/index.html @@ -69,7 +69,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/blog/page/2/index.html b/pr/125/blog/page/2/index.html new file mode 100644 index 00000000..6c17a187 --- /dev/null +++ b/pr/125/blog/page/2/index.html @@ -0,0 +1,343 @@ + + + + + + + Le blog de l'équipe Rix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + + + + +
    + + + + + + diff --git a/pr/125/blog/post-mortem/sre-interpretation-incident/index.html b/pr/125/blog/post-mortem/sre-interpretation-incident/index.html index f46f0f0d..54efb9d8 100644 --- a/pr/125/blog/post-mortem/sre-interpretation-incident/index.html +++ b/pr/125/blog/post-mortem/sre-interpretation-incident/index.html @@ -71,7 +71,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/blog/rss.xml b/pr/125/blog/rss.xml index e16b4cf2..18e2b755 100644 --- a/pr/125/blog/rss.xml +++ b/pr/125/blog/rss.xml @@ -5,7 +5,7 @@ Découvrez nos articles techniques (ou non), rédigés par les membres de l'équipe Rix ! Rix - L’utilisation des flux RSS de rix.fr est réservée à un usage strictement personnel, non professionnel et non collectif. Toute autre exploitation doit faire l’objet d’une autorisation et donner lieu au versement d’une rémunération. Contact : contact@rix.fr https://rix-fr.github.io/rix/pr/125/blog - Fri, 24 Nov 2023 15:12:01 +0000 + Tue, 28 Nov 2023 10:25:46 +0000 fr https://rix-fr.github.io/rix/pr/125/apple-touch-icon.png @@ -60,6 +60,21 @@ manala + Principes de base de l'utilisation de clés SSH. + Fri, 20 Oct 2023 00:00:00 +0000 + + + + https://rix-fr.github.io/rix/pr/125/blog/cours/cle-ssh-principes-de-base + https://rix-fr.github.io/rix/pr/125/blog/cours/cle-ssh-principes-de-base + + Principes de base de l'utilisation de clés SSH. + + cours + ssh + how-to + + Interprétation et diagnostic d'un incident en production. Mon, 16 Oct 2023 00:00:00 +0000 diff --git a/pr/125/blog/styleguide/example/index.html b/pr/125/blog/styleguide/example/index.html index e0341aeb..be045f9e 100644 --- a/pr/125/blog/styleguide/example/index.html +++ b/pr/125/blog/styleguide/example/index.html @@ -73,7 +73,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/build/305.91aa97ab.css b/pr/125/build/305.10b66363.css similarity index 82% rename from pr/125/build/305.91aa97ab.css rename to pr/125/build/305.10b66363.css index 996046f1..777570f6 100644 --- a/pr/125/build/305.91aa97ab.css +++ b/pr/125/build/305.10b66363.css @@ -1 +1 @@ -@charset "UTF-8";*{box-sizing:border-box}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif}body{margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}a{background-color:transparent}small{font-size:80%}img{border:none}svg:not(:root){overflow:hidden}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace}button,input,optgroup,select,textarea{margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}legend{border:0;padding:0}textarea{overflow:auto}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}p{margin:unset}@font-face{font-family:Montserrat Regular;font-style:normal;font-weight:400;src:url(/rix/pr/125/build/fonts/montserrat-regular.4ada7f2f.woff2) format("woff2"),url(/rix/pr/125/build/fonts/montserrat-regular.4a3d6361.woff) format("woff")}@font-face{font-family:Montserrat Medium;font-style:normal;font-weight:400;src:url(/rix/pr/125/build/fonts/montserrat-medium.cf734a37.woff2) format("woff2"),url(/rix/pr/125/build/fonts/montserrat-medium.2451e96b.woff) format("woff")}@font-face{font-family:Outfit Semi Bold;font-style:normal;font-weight:400;src:url(/rix/pr/125/build/fonts/outfit-semi-bold.007337b1.woff2) format("woff2"),url(/rix/pr/125/build/fonts/outfit-semi-bold.58a47c5f.woff) format("woff")}@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;src:url(/rix/pr/125/build/fonts/dm-serif-display-regular.f7535417.woff2) format("woff2"),url(/rix/pr/125/build/fonts/dm-serif-display-regular.7265fe7d.woff) format("woff")}@font-face{font-display:block;font-family:icomoon;font-style:normal;font-weight:400;src:url(/rix/pr/125/build/fonts/icomoon.81a5b7b9.eot);src:url(/rix/pr/125/build/fonts/icomoon.81a5b7b9.eot) format("embedded-opentype"),url(/rix/pr/125/build/fonts/icomoon.450cbdb1.ttf) format("truetype"),url(/rix/pr/125/build/fonts/icomoon.32b7badb.woff) format("woff"),url(/rix/pr/125/build/images/icomoon.00ceb532.svg) format("svg")}.icon,address{font-style:normal}.icon{speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:icomoon!important;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.icon--arrow-right:before{content:"\e905"}.icon--arrow-left:before{content:"\e90b"}.icon--chevron:before{content:"\e902"}.icon--close:before{content:"\e900"}.icon--hamburger:before{content:"\e901"}.icon--location:before{content:"\e903"}.icon--message:before{content:"\e904"}.icon--github:before{content:"\e906"}.icon--linkedin:before{content:"\e907"}.icon--twitter:before{content:"\e908"}.icon--quotations-left:before{content:"\e909"}.icon--quotations-right:before{content:"\e90a"}.icon--website:before{content:"\e90c"}.icon--info:before{content:"\e926"}.icon--danger:before{content:"\e927"}.icon--success:before{content:"न"}.header{background:#fff;border-top:30px solid #07162f;height:155px}.header img{margin:0}.header .container{align-items:center;display:flex;padding:0 20px 20px}.header .logo{position:relative;top:-1px;width:170px}@media (max-width:1220px){.header{height:125px}.header .logo{width:115px}}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#07162f;display:flex;flex-direction:column;font-family:Montserrat Regular;font-size:16px;height:100vh;line-height:1.9}main{background:url(/rix/pr/125/build/images/background.fe096fd5.jpg) no-repeat;background-position:bottom;background-size:contain;flex:1;padding-bottom:350px}b,strong{font-family:Montserrat Medium;font-weight:unset}.container{margin:0 auto;max-width:1440px;padding:0 125px;width:100%}.twitter-tweet{margin:10px auto}@media (max-width:760px){main{background:url(/rix/pr/125/build/images/background-mobile.90615db1.jpg) no-repeat}.container{padding:0 20px}}.nav{margin-left:auto}.nav ul{display:flex;list-style:none;margin:0;padding:0}.nav__item{align-items:center;display:flex;margin:0 20px}.nav__item:after,.nav__item:before{content:none}.nav__item a{color:#07162f;font-family:Outfit Semi Bold;font-size:1.125rem;text-decoration:none}.nav__item a span{padding:7px 2px;position:relative}.nav__item a span:after{background:#eb5050;bottom:-5px;content:"";height:2px;left:0;opacity:0;position:absolute;transition:.15s ease-out;width:100%}.nav__item a:hover span:after{bottom:0;opacity:1}.nav__item--icon a{align-items:center;display:flex}.nav__item--icon a svg{margin-right:9px;width:25px}.nav__item--icon a svg circle,.nav__item--icon a svg path{transition:stroke .3s ease,fill .3s ease}.nav__item--icon a:active span:after,.nav__item--icon a:focus span:after,.nav__item--icon a:hover span:after{display:none}.nav__item--icon a:active svg path,.nav__item--icon a:focus svg path,.nav__item--icon a:hover svg path{stroke:#eb5050}.nav__item--icon a:active svg circle,.nav__item--icon a:focus svg circle,.nav__item--icon a:hover svg circle{fill:#eb5050}.nav__item--active a span:after{background:#99b7d1;bottom:0;opacity:1}@media (max-width:1220px){.nav__item{margin:0 15px}.nav__item--icon svg{display:none}}@media (max-width:995px){.nav{display:none}}.nav-mobile{display:none}@media (max-width:995px){.nav-mobile ul{display:flex;flex:1;flex-direction:column;margin:0;padding:50px 0 0}.nav-mobile__header{align-items:center;border-top:30px solid #fff;display:flex;padding:0 20px}.nav-mobile__item{display:flex;font-size:1.9375rem;margin:0 0 10px;padding:0 0 0 45px}.nav-mobile__item:after,.nav-mobile__item:before{content:none}.nav-mobile__item a{color:#fff;font-family:Outfit Semi Bold;padding:10px 0;text-decoration:none}.nav-mobile__item a:hover{color:#fff}.nav-mobile__item--active a{border-bottom:2px solid #eb5050;position:relative}.nav-mobile__item--icon{border-top:1px solid #99b7d1;height:100px;margin:auto 0 0;padding:0}.nav-mobile__item--icon a{align-items:center;display:flex;justify-content:center;width:100%}.nav-mobile__item--icon svg{margin-right:15px;width:40px}.nav-mobile--open{background:#07162f;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:9999999}}.nav-toggle{display:none}@media (max-width:995px){.nav-toggle{align-items:center;background:transparent;border:1px solid #99b7d1;border-radius:0;display:flex;font-size:1.25rem;height:52px;justify-content:center;margin-left:auto;width:52px}.nav-toggle--open{color:#07162f}.nav-toggle--close{color:#99b7d1}}.footer{background:#07162f;color:#fff;line-height:1.6;padding:100px 0 160px;z-index:1}.footer .container{padding:0 20px}.footer img{margin:0}.footer a{color:hsla(0,0%,100%,.8);font-family:Montserrat Regular;text-decoration:none}.footer a:active,.footer a:focus,.footer a:hover{color:#fff}.footer__contact{display:flex;justify-content:space-between;margin-bottom:100px}.footer__contact .catchphrase{flex:1;font-size:3rem;line-height:1.2;max-width:660px}.footer__contact .catchphrase .h1{color:#fff;font-family:"DM Serif Display";font-size:4rem;line-height:1.2;margin:0 0 24px}.footer__contact .catchphrase strong{color:#45d5d0}.footer__brand{border-top:2px solid #fff;color:#fff;position:relative}.footer__brand img{width:170px}.footer__brand span{left:105px;position:absolute;top:65px}.footer__links{align-items:flex-end;display:flex;margin-bottom:75px;margin-top:-30px;padding-left:105px;position:relative;z-index:1}.footer__links ul{flex:1;list-style:none;margin:0;padding:0}.footer__links li{margin:0 0 20px;padding-left:30px;position:relative}.footer__links li:after,.footer__links li:before{height:16px;position:absolute;top:4px;width:16px}.footer__links li:before{background:#203860;border-radius:50%;content:"";left:0}.footer__links li:after{align-items:center;color:#fff;content:"\e902";display:flex;font-family:icomoon;font-size:.4375rem;justify-content:center;left:0}.footer__links li a{font-family:Montserrat Regular;text-decoration:none}.footer__links li a:active,.footer__links li a:focus,.footer__links li a:hover{color:#fff}.footer__links a{font-family:Outfit Semi Bold;margin-bottom:45px}.footer__links a:active,.footer__links a:focus,.footer__links a:hover{color:#eb5050}.footer__links .pages{display:flex;width:300px}.footer__links .services{align-items:flex-start;display:flex;flex:1;flex-direction:column}.footer__links .services>div{display:flex;width:100%}.footer__links .services ul{margin:0 10px}.footer__links .services ul:first-of-type{margin-left:0}.footer__links .services ul:last-of-type{margin-right:0}.footer__legals{text-align:center}@media (max-width:1280px){.footer__contact{flex-direction:column}.footer__contact .catchphrase{font-size:1.875rem;margin-bottom:60px;max-width:unset}}@media (max-width:1220px){.footer__links{align-items:flex-start}.footer__links .pages{margin-top:65px;width:400px}.footer__links .services>div{flex-direction:column}.footer__links .services ul{margin:0}}@media (max-width:995px){.footer__contact .catchphrase{font-size:2.25rem}.footer__contact .catchphrase .h1{font-size:3rem}.footer__brand img{width:115px}.footer__brand span{left:71px;top:50px}.footer__links{flex-direction:column;margin-top:0;padding-left:0}.footer__links a{font-size:1.25rem}.footer__links ul a{font-size:1rem}.footer__links .pages{margin-top:45px;width:unset}.footer__links .services{margin-top:35px}.footer__links .services a{margin-bottom:25px}.footer__legals a{white-space:nowrap}}:root{--area-b-height:76px;--area-b-width:1000px;--area-d-width:30px}.beveled-wrapper{margin-bottom:-1300px;overflow:hidden;padding-top:var(--area-b-height);position:relative;top:-1300px}.beveled-wrapper__gradient{background:linear-gradient(90deg,transparent calc(50% + 719px),#fff calc(50% + 719px) 100%)}.beveled-wrapper__gradient .shape{background:url(/rix/pr/125/build/images/bevel.4a9689a3.svg) no-repeat;background-position:100% 0!important;background-size:cover!important;padding-top:200px;position:relative}.beveled-wrapper__gradient .shape:before{background:url(/rix/pr/125/build/images/bevel-right.29104ed1.svg) no-repeat;background-size:cover;content:"";height:var(--area-b-height);position:absolute;right:calc(var(--area-b-width)*-1 + var(--area-d-width));top:calc(var(--area-b-height)*-1 + 1px);width:var(--area-b-width)}.beveled-wrapper__gradient .shape .h2--large{margin:0}.beveled-wrapper__gradient .content{background:#fff;display:flex;flex-direction:column}.beveled-wrapper--wolf .beveled-wrapper__gradient .shape{background:url(/rix/pr/125/build/images/bevel-wolf.23f6cdd6.svg) no-repeat}@media (max-width:1440px){.beveled-wrapper .beveled-wrapper__gradient .shape,.beveled-wrapper--wolf .beveled-wrapper__gradient .shape{background:url(/rix/pr/125/build/images/bevel.4a9689a3.svg) no-repeat}.beveled-wrapper__gradient{background:transparent}.beveled-wrapper__gradient .shape:before{display:none}}@media (max-width:1220px){.beveled-wrapper{margin-bottom:-1200px;top:-1200px}.beveled-wrapper__gradient .shape{padding-top:130px}}@media (max-width:995px){.beveled-wrapper{margin-bottom:-1400px;margin-left:15px;top:-1400px}}@media (max-width:760px){.beveled-wrapper{margin-bottom:-1300px;top:-1300px}.beveled-wrapper .shape{padding-top:100px}}@media (max-width:380px){.beveled-wrapper .shape{padding-top:100px}}.author{align-items:center;color:#07162f;display:flex;flex-wrap:wrap;font-size:1.125rem}.author img{border-radius:50%;margin:0 15px 0 0;max-width:unset;width:50px}.author__image{position:relative}.author__image img{border:3px solid #fff;border-radius:50%;height:60px;margin:0 15px 0 0;max-width:unset;width:60px}.author__info{display:flex;flex-direction:column;line-height:1.3}.author__info strong{font-family:Outfit Semi Bold}.author__social{display:flex;flex-wrap:wrap;margin-top:10px;min-width:100%}.author__social a{align-items:center;border:1px solid #07162f;border-radius:50%;color:#07162f;display:flex;height:40px;justify-content:center;margin:0 6px 5px;text-decoration:none;transition:color .15s ease-in,background .15s ease-in;width:40px}.author--multi{align-items:flex-start;flex-direction:column}.author--multi .author__image{height:60px;left:-45px;margin-bottom:10px;position:relative}.author--multi .author__image img:first-child{left:45px;position:absolute}.author--multi .author__image img:nth-child(2){left:90px;position:absolute}.author--multi .author__image img:nth-child(3){left:135px;position:absolute}.author--multi .author__image img:nth-child(4){left:180px;position:absolute}.author--multi .author__image img:nth-child(5){left:225px;position:absolute}.author--multi .author__info+.author__info{margin-left:0;margin-top:20px}.alert{display:flex;font-family:Montserrat Medium;padding:20px 30px}.alert .icon{font-size:1.5625rem;margin-right:15px}.alert p:last-of-type{margin-bottom:0}.alert--error{background:#eb5050;color:hsla(0,0%,100%,.9)}.alert--info{background:#99b7d1;color:hsla(0,0%,100%,.9)}.admonition{background:#45d5d0;color:#07162f;font-family:monospace;font-size:1.125rem;line-height:1.6;margin:60px 0;padding:45px 60px 30px;position:relative}.admonition:after,.admonition:before{position:absolute}.admonition:before{background:#45d5d0;border-radius:50px;content:"";height:58px;left:31px;top:-29px;width:58px}.admonition:after{color:#fff;content:"\e926";font-family:icomoon;font-size:3.75rem;left:30px;line-height:1;position:absolute;top:-30px}.admonition p{margin:0 0 10px!important}.admonition p:last-of-type{margin:0}.admonition a{border-bottom-color:#07162f;font-family:monospace}.admonition a:active,.admonition a:focus,.admonition a:hover{color:#07162f}.admonition-title{font-family:monospace;font-size:1.25rem;font-weight:700}.admonition.success,.admonition.success:before{background:#3ec789}.admonition.success:after{content:"\e928"}.admonition.success a{border-bottom-color:#0d2c1e;color:#0d2c1e}.admonition.success a:active,.admonition.success a:focus,.admonition.success a:hover{color:#0d2c1e}.admonition.danger,.admonition.danger:before{background:#eb5050}.admonition.danger:after{content:"\e927"}.admonition.danger a{border-bottom-color:#07162f;color:#07162f}.admonition.danger a:active,.admonition.danger a:focus,.admonition.danger a:hover{color:#07162f}.article-overview{display:flex;margin-bottom:80px}@media (max-width:1220px){.article-overview{flex-direction:column}}.article-info{border:1px solid #99b7d1;flex:1;height:100%;margin:0 0 0 -1px}.article-info .author{border-bottom:1px solid #99b7d1;padding:30px 35px}.article-info__date{display:flex;flex-wrap:wrap;padding:30px 35px}.article-info__date span{display:flex;flex-direction:column;margin-bottom:20px;margin-right:35px}.article-info__date strong{font-family:Outfit Semi Bold;margin-top:2px}@media (max-width:1220px){.article-info{border:1px solid #99b7d1;margin:-1px 0 0}.article-info__date{padding-top:25px}}.article-footer{background:#fff;border:1px solid #99b7d1;display:flex;flex-wrap:wrap;margin:0 0 20px;padding:45px 75px}.article-footer .author{margin-bottom:20px;min-width:180px;padding:0;width:33.3333333333%}.article-footer .author:nth-last-of-type(-n+3){margin-bottom:0}.article-footer .author__details{display:flex}@media (max-width:760px){.article-footer{flex-direction:column;padding:25px 30px}.article-footer .author:nth-last-of-type(-n+3){margin-bottom:20px}.article-footer .author:last-of-type{margin-bottom:0}}.miniature-list{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.banner{background-image:url(/rix/pr/125/build/images/banner-home.e928350e.webp);background-position:top;background-repeat:no-repeat;background-size:cover;display:flex;height:1850px;position:relative}.banner:before{background:linear-gradient(180deg,transparent,#fff);bottom:0;content:"";height:200px;left:0;position:absolute;right:0}.banner h1{max-width:950px}.banner p{max-width:700px}.banner .button{margin-top:35px}.page-article .banner,.page-blog .banner,.page-case-study .banner,.page-casebook .banner{height:1550px}.banner--about{background-image:url(/rix/pr/125/build/images/banner-about.cf7414b4.webp)}.banner--blog{background-image:url(/rix/pr/125/build/images/banner-blog.777e5df6.webp)}.banner--case-study{background-image:url(/rix/pr/125/build/images/banner-case-study.c6780f13.webp)}.banner--home{background-image:url(/rix/pr/125/build/images/banner-home.e928350e.webp)}.banner--services{background-image:url(/rix/pr/125/build/images/banner-services.6d7424af.webp)}@media (max-width:995px){.page-home .banner{height:1950px}.banner--about{background-image:url(/rix/pr/125/build/images/banner-about-mobile.ac090375.webp)}.banner--blog{background-image:url(/rix/pr/125/build/images/banner-blog-mobile.dd80f874.webp)}.banner--case-study{background-image:url(/rix/pr/125/build/images/banner-case-study-mobile.9a484e1a.webp)}.banner--home{background-image:url(/rix/pr/125/build/images/banner-home-mobile.2fa58f16.webp)}.banner--services{background-image:url(/rix/pr/125/build/images/banner-services-mobile.cde6025f.webp)}}@media (max-width:760px){.page-article .banner,.page-blog .banner,.page-case-study .banner{height:1350px}.page-casebook .banner{height:1400px}}.button{align-items:center;background:#eb5050;color:#fff;display:inline-flex;font-family:Outfit Semi Bold;justify-content:center;line-height:1.4;min-height:48px;overflow:hidden;padding:15px 35px;position:relative;text-decoration:none;z-index:1}.button:before{background:#07162f;content:"";height:200px;position:absolute;transform:translateY(70%);transition:transform .6s;width:300px;z-index:-1}.button:hover{color:#fff}.button:hover:before{transform:translateY(0) rotate(10deg)}.button-ghost{background:transparent;border:1px solid #99b7d1;padding:15px 35px 15px 60px}.button-ghost:before{background:#eb5050}.button-ghost:after{content:"\e905";font-family:icomoon;left:25px;position:absolute;top:50%;transform:translateY(-50%);transition:transform .4s linear}.button-ghost span{transition:transform .3s linear}.button-ghost:active,.button-ghost:focus,.button-ghost:hover{border:1px solid #eb5050}.button-ghost:active:after,.button-ghost:focus:after,.button-ghost:hover:after{transform:translate(10px,-50%)}.button-ghost:active span,.button-ghost:focus span,.button-ghost:hover span{transform:translateX(5px)}.button-ghost--light{color:#fff}.button-ghost--light:after{color:#eb5050}.button-ghost--light:active,.button-ghost--light:focus,.button-ghost--light:hover{color:#fff}.button-ghost--dark,.button-ghost--light:active:after,.button-ghost--light:focus:after,.button-ghost--light:hover:after{color:#07162f}.button-ghost--dark:after{color:#eb5050}.button-ghost--dark:active,.button-ghost--dark:focus,.button-ghost--dark:hover{color:#07162f}.button-ghost--dark:active:after,.button-ghost--dark:focus:after,.button-ghost--dark:hover:after{color:#fff}@media (max-width:380px){.button{padding:15px 20px}.button-ghost:after{display:none}}.comment{border:1px solid #99b7d1;margin:20px 0;min-width:100%;padding:35px 75px;width:100%}.comment p{margin-bottom:0}.comment .title{font-family:Outfit Semi Bold;font-size:2rem;margin:20px 0 10px}.comment .tweet-container{margin-top:40px}@media (max-width:760px){.comment{padding:25px 30px}}@media (max-width:380px){.comment .tweet-container{display:none}}blockquote{border:1px solid #99b7d1;font-size:2.25rem;line-height:1.4;margin:80px 0;padding:46px 80px;position:relative}blockquote:after,blockquote:before{background-color:#fff;color:#45d5d0;font-family:icomoon;padding:0 8px;position:absolute}blockquote:before{content:"\e909";top:-34px}blockquote:after{bottom:-32px;content:"\e90a";right:90px}blockquote p{margin:0}blockquote cite{display:block;margin-top:15px}@media (max-width:995px){blockquote{font-size:1.5rem;padding:35px 30px}blockquote:before{top:-23px}blockquote:after{bottom:-23px}}.miniature{background:#fff;border:1px solid #99b7d1;display:flex;flex-direction:column;margin:0 20px 40px;min-width:calc(33.33333% - 30px);padding:0;width:calc(33.33333% - 30px)}.miniature:after,.miniature:before{content:none!important}.miniature:nth-child(3n+1){margin-left:0}.miniature:nth-child(3n+3){margin-right:0}.miniature:last-of-type{margin-bottom:40px}.miniature a{display:flex;flex-direction:column;height:100%;text-decoration:none}.miniature a:focus .miniature__image:before,.miniature a:hover .miniature__image:before{background-color:rgba(0,0,0,.2)}.miniature a:focus .miniature__image .image,.miniature a:hover .miniature__image .image{transform:scale(1.02);transform-origin:center}.miniature a .sliding-button{border-top:1px solid #99b7d1;margin-top:auto}.miniature a .sliding-button:before,.miniature a .sliding-button__content{transform:translateY(0) rotate(0deg)}.miniature__content{display:flex;flex:1;flex-direction:column;padding:30px 30px 80px;position:relative;text-decoration:none}.miniature__content .h3{color:#07162f;line-height:1.5;margin:0 0 15px}.miniature__image{height:350px;overflow:hidden;position:relative}.miniature__image:before{background-color:transparent;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transition:background-color .2s ease-in-out;z-index:1}.miniature__image .image{background-position:50%;background-repeat:no-repeat;background-size:cover;display:block;height:100%;position:relative;transition:transform .2s ease-in-out}.miniature__name{color:#eb5050;font-family:Outfit Semi Bold;font-size:1.25rem}@media (max-width:1440px){.miniature{min-width:calc(50% - 20px);width:calc(50% - 20px)}.miniature:nth-child(3n+1),.miniature:nth-child(3n+3){margin-left:20px;margin-right:20px}.miniature:nth-child(odd){margin-left:0}.miniature:nth-child(2n+2){margin-right:0}}@media (max-width:995px){.miniature{margin:0 0 40px!important;min-width:100%;width:100%}.miniature__image{height:260px}}.miniature-inline{background:#fff;margin:0 0 40px;padding:0;width:100%}.miniature-inline:after,.miniature-inline:before{display:none!important}.miniature-inline a{border:1px solid #99b7d1;display:flex;text-decoration:none;width:100%}.miniature-inline a:active .miniature-inline__image:before,.miniature-inline a:focus .miniature-inline__image:before,.miniature-inline a:hover .miniature-inline__image:before{background-color:rgba(0,0,0,.2)}.miniature-inline a:active .miniature-inline__image .image,.miniature-inline a:focus .miniature-inline__image .image,.miniature-inline a:hover .miniature-inline__image .image{transform:scale(1.02);transform-origin:center}.miniature-inline a:active .sliding-button,.miniature-inline a:focus .sliding-button,.miniature-inline a:hover .sliding-button{border-top:1px solid #99b7d1}.miniature-inline a:active .sliding-button:before,.miniature-inline a:active .sliding-button__content,.miniature-inline a:focus .sliding-button:before,.miniature-inline a:focus .sliding-button__content,.miniature-inline a:hover .sliding-button:before,.miniature-inline a:hover .sliding-button__content{transform:translateY(0) rotate(0deg)}.miniature-inline__title{color:#07162f;font-size:2.25rem;line-height:1.5;margin:0 0 15px}.miniature-inline__name{color:#eb5050;font-family:Outfit Semi Bold;font-size:1.75rem;font-weight:400;line-height:1.7}.miniature-inline__image{overflow:hidden;position:relative}.miniature-inline__image:before{background-color:transparent;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transition:background-color .2s ease-in-out;z-index:1}.miniature-inline__image .image{background-position:50%;background-repeat:no-repeat;background-size:cover;display:block;height:100%;margin:0;min-height:350px;min-width:575px;transition:transform .2s ease-in-out;width:575px}.miniature-inline__content{display:flex;flex:1;flex-direction:column;padding:30px 30px 80px;position:relative}@media (max-width:1220px){.miniature-inline a{flex-direction:column}.miniature-inline__image .image{min-width:100%!important;width:100%!important}}@media (max-width:995px){.miniature-inline__image .image{min-height:260px}}@media (max-width:760px){.miniature-inline__title{font-size:1.75rem}.miniature-inline__name{font-size:1.25rem}}.client-list{display:flex;flex-wrap:wrap;list-style:none;margin:65px 0 0}.client-list__item{margin:0;padding:0 20px;width:50%}.client-list__item:after,.client-list__item:before{content:none}.client-list__item:nth-of-type(odd){padding-left:0}.client-list__item:nth-of-type(2n){padding-right:0}.client-list__item .image{background-position:0;background-repeat:no-repeat;background-size:contain;height:35px;margin-bottom:16px;width:100%}@media (max-width:995px){.client-list{flex-direction:column;margin:0}.client-list__item{padding:0;width:100%}}.contact-infos{background:#fff;border:1px solid #99b7d1;max-width:575px}.contact-infos__item{border-bottom:1px solid #99b7d1;display:flex;font-size:1.125rem;padding:35px 60px;position:relative}.contact-infos__item:last-of-type{border:none}.contact-infos__item .dl,.contact-infos__item dl{margin:0 0 0 70px}.contact-infos__item .dt,.contact-infos__item dt{font-family:Outfit Semi Bold;font-size:1.5rem;line-height:1.4}.contact-infos__item .dd,.contact-infos__item dd{display:block;margin:0;padding:0}.contact-infos__item svg{left:35px;position:absolute;top:50%;transform:translateY(-50%);width:35px}.contact-infos__item a{color:#07162f}.contact-infos__item a .mail-icon__letter{transition:transform .15s ease-out}.contact-infos__item a:active .contact-icon circle:first-of-type,.contact-infos__item a:focus .contact-icon circle:first-of-type,.contact-infos__item a:hover .contact-icon circle:first-of-type{animation:fade 2s infinite both}.contact-infos__item a:active .contact-icon circle:nth-of-type(2),.contact-infos__item a:focus .contact-icon circle:nth-of-type(2),.contact-infos__item a:hover .contact-icon circle:nth-of-type(2){animation:fade 2s infinite both;animation-delay:.4s}.contact-infos__item a:active .contact-icon circle:nth-of-type(3),.contact-infos__item a:focus .contact-icon circle:nth-of-type(3),.contact-infos__item a:hover .contact-icon circle:nth-of-type(3){animation:fade 2s infinite both;animation-delay:.8s}.contact-infos__item a:active .mail-icon__letter,.contact-infos__item a:focus .mail-icon__letter,.contact-infos__item a:hover .mail-icon__letter{transform:translateY(-4px)}@keyframes fade{0%,40%,to{opacity:0;transform:translateZ(80px)}20%{opacity:1;transform:translateZ(0)}}.contact-tiles__item{background:#eb5050;color:#fff;display:flex;margin-bottom:20px;max-width:480px;padding:30px 35px 35px 0;width:100%}.contact-tiles__item:last-of-type{margin-bottom:0}.contact-tiles__item>span{align-items:flex-start;display:flex;flex-direction:column;padding-left:35px}.contact-tiles__item a{font-family:Montserrat Medium;position:relative}.contact-tiles__item .icon{align-items:center;border-right:2px solid #fff;display:flex;font-size:2.5rem;justify-content:center;min-width:120px;width:120px}.contact-tiles__item .title{font-family:Outfit Semi Bold;font-size:1.5rem;line-height:1.2;margin-bottom:12px}@media (max-width:1280px){.contact-tiles{align-items:flex-start;display:flex;justify-content:space-around}.contact-tiles__item{margin:0 10px}.contact-tiles__item:first-of-type{margin-left:0}.contact-tiles__item:last-of-type{margin-right:0}}@media (max-width:995px){.contact-tiles{flex-direction:column}.contact-tiles__item{margin:0 0 20px}.contact-tiles__item>span{padding-left:30px}.contact-tiles__item .icon{min-width:80px;width:80px}}@media (max-width:380px){.contact-tiles__item .icon{display:none}}.values{display:flex;list-style:none;margin:50px 0;padding:0}.values__item{margin:0 15px;min-width:calc(33.33333% - 15px);width:calc(33.33333% - 15px)}.values__item:after,.values__item:before{content:none}@media (max-width:1220px){.values{flex-direction:column;margin-left:20px}.values__item{margin:0 0 40px;min-width:100%;width:100%}}.about-values{background:#07162f url(/rix/pr/125/build/images/glow.10e86a4f.png) no-repeat;background-position:0 100%;background-size:550px;color:#fff;margin:100px 0 200px;position:relative}.about-values:after,.about-values:before{background-size:cover!important;content:"";position:absolute;width:100%}.about-values:before{background:url(/rix/pr/125/build/images/top.0eb15c3f.svg) no-repeat;background-position:100% 100%;height:100px;top:-100px}.about-values:after{background:url(/rix/pr/125/build/images/bottom.69774221.svg) no-repeat;background-position:bottom;bottom:-200px;height:200px}.about-values h2{color:#fff;margin-left:124px}.about-values .grid{background-image:url(/rix/pr/125/build/images/grid.6e242290.svg);background-position:bottom;background-repeat:no-repeat;background-size:contain;height:900px}.about-values ul{display:flex;flex-wrap:wrap;justify-content:flex-end;list-style:none;margin:0;padding:85px 195px 0}.about-values ul li{height:350px;padding:30px 35px;width:400px}.about-values ul li:after,.about-values ul li:before{content:none}@media (max-width:1440px){.about-values{background-size:350px;padding-bottom:135px}.about-values:after{bottom:-100px;height:100px}.about-values .grid{background:none;height:unset}.about-values ul{flex-direction:column;padding:0 125px}.about-values ul li{height:unset;margin:0 0 80px;padding:0;width:unset}}@media (max-width:995px){.about-values h2{margin:0 40px 80px}.about-values ul{padding:0 40px}}.open-source{align-items:center;background:#07162f url(/rix/pr/125/build/images/grid.cd7dfaaa.svg) no-repeat;background-position:bottom;background-size:contain;color:#fff;display:flex;margin:0 0 50px;padding:130px 100px 100px 150px;position:relative}.open-source:after,.open-source:before{content:"";position:absolute}.open-source:before{background:url(/rix/pr/125/build/images/triangle.db3b1be9.svg) no-repeat;background-position:0 100%;background-size:cover;height:100px;left:0;margin-left:-1px;margin-right:-1px;margin-top:-1px;top:0;width:calc(100% + 2px)}.open-source:after{background:url(/rix/pr/125/build/images/github.ae472559.svg) no-repeat;background-position:bottom;background-size:contain;height:100px;left:150px;top:60px;width:95px}.open-source__title{margin-right:120px!important;margin-top:20px!important;padding:0;white-space:nowrap}.open-source__content .button{margin-top:20px}@media (max-width:1220px){.open-source{align-items:flex-start;flex-direction:column;padding-bottom:40px;padding-left:40px;padding-right:40px}.open-source:before{top:-40px}.open-source:after{left:40px;top:30px}.open-source__title{margin-bottom:40px;margin-right:0}}@media (max-width:760px){.open-source{left:20px;position:relative}}@media (max-width:380px){.open-source{left:0;width:calc(100% + 20px)}}.services-list{border:1px solid #99b7d1;margin:0 0 60px;position:relative}.services-list:first-of-type{left:-125px}.services-list:last-of-type{right:-125px}.services-list ul{display:flex;list-style:none;margin:0;padding:0}.services-list__title{border-bottom:1px solid #99b7d1;padding:20px 50px 25px}.services-list__title h3{color:#07162f;font-family:Outfit Semi Bold;font-size:2.25rem;font-weight:400;line-height:1.25;margin:0}.services-list__title h3>span{color:#eb5050;display:block;font-family:Outfit Semi Bold;font-size:1.75rem}.services-list__item{border-right:1px solid #99b7d1;margin-bottom:0;min-width:33.3333333333%;padding-left:0;position:relative;width:33.3333333333%}.services-list__item:after,.services-list__item:before{content:none}.services-list__item:last-of-type{border-right:none}.services-list__item img{margin:0;width:95px}.services-list__item a{color:#07162f;display:block;height:100%;padding:0 50px 160px;text-decoration:none}.services-list__item a:active .sliding-button,.services-list__item a:focus .sliding-button,.services-list__item a:hover .sliding-button{border-top:1px solid #99b7d1}.services-list__item a:active .sliding-button:before,.services-list__item a:active .sliding-button__content,.services-list__item a:focus .sliding-button:before,.services-list__item a:focus .sliding-button__content,.services-list__item a:hover .sliding-button:before,.services-list__item a:hover .sliding-button__content{transform:translateY(0) rotate(0deg)}.services-list__item h4{color:#07162f;font-family:Outfit Semi Bold;font-size:1.5rem;line-height:1.3;margin:40px 0 15px}@media (max-width:1440px){.services-list:first-of-type,.services-list:last-of-type{left:unset;right:unset}}@media (max-width:1280px){.services-list{border:none}.services-list ul{flex-direction:column}.services-list__title{border:1px solid #99b7d1;border-bottom:none}.services-list__item{border:1px solid #99b7d1!important;margin:0 0 10px;min-width:100%;width:100%}.services-list__item a{padding:0 50px 80px}}@media (max-width:995px){.services-list__item img{width:60px}.services-list__item a{padding:0 25px 80px}}.sliding-button{background:#fff;bottom:0;display:flex;flex-wrap:wrap;height:80px;left:0;overflow:hidden;position:absolute;right:0}.sliding-button:before{background-color:#fff;content:"";height:80px;position:absolute;transform:translateY(160%) rotate(10deg);transition:transform .6s;width:500px}.sliding-button img{border-bottom:1px solid #99b7d1;border-right:1px solid #99b7d1;margin:0;padding:0 20px;width:50%}.sliding-button img:nth-of-type(2n){border-right:none}.sliding-button img:last-of-type,.sliding-button img:nth-last-of-type(2){border-bottom:none}.sliding-button__content{align-items:center;background:#fff;display:flex;font-family:Outfit Semi Bold;height:80px;justify-content:flex-end;left:0;padding:0 40px;position:absolute;top:0;transform:translateY(160%) rotate(10deg);transition:transform .35s;width:100%}.sliding-button__content .icon{color:#eb5050;margin-right:15px}.sliding-button--replaced{border-top:1px solid #99b7d1}.sliding-button--replaced .sliding-button__content{border-top:1px solid transparent}.sliding-button--large,.sliding-button--large .sliding-button__content,.sliding-button--large:before{height:160px}@media (max-width:1280px){.sliding-button{display:none}.sliding-button--mobile{border-top:none!important;display:flex}.sliding-button--mobile .sliding-button__content{transform:none;transition:none}}.signature{display:flex;justify-content:space-between}.signature textarea{height:200px;padding:10px;width:100%}.signature__preview{margin-top:25px;padding-right:95px}.signature__code{flex:1}.signature__code p{margin:0 0 15px}@media (max-width:1220px){.signature{flex-direction:column-reverse}}.ecosystem{position:relative}.ecosystem>img{left:400px;position:absolute;top:275px;width:330px}.ecosystem__list{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;position:relative;z-index:1}.ecosystem__list li{background:#fff;border:1px solid #d7e4ef;margin-bottom:20px;min-height:300px;padding:30px 35px;width:370px}.ecosystem__list li:after,.ecosystem__list li:before{content:none}.ecosystem__list li img{width:50px}.ecosystem__list li strong{font-size:1.5rem}.ecosystem__list li h4{color:#07162f;font-family:Outfit Semi Bold;font-size:1.5rem;line-height:1.3;margin:40px 0 15px}.ecosystem__list .analysis{margin-left:200px}.ecosystem__list .detection{margin-left:40px}.ecosystem__list .automation{margin-left:45px}.ecosystem__list .supervision{margin-left:300px}.ecosystem__list .backup{margin-left:225px}@media (max-width:1440px){.ecosystem>img{margin-bottom:-20px;margin-left:auto;position:static;width:270px}.ecosystem__list li{min-height:unset;width:100%}.ecosystem__list .analysis,.ecosystem__list .automation,.ecosystem__list .backup,.ecosystem__list .detection,.ecosystem__list .supervision{margin-left:0}}@media (max-width:1220px){.ecosystem>img{width:200px}}.tags-list{display:flex;flex-wrap:wrap;margin:0;padding:0}.miniature .tags-list,.miniature-inline .tags-list{margin-bottom:35px}.tags-list__item{background-color:#d7e4ef;border:none!important;color:#07162f;display:flex;font-family:Outfit Semi Bold;font-size:.875rem;margin:5px!important;padding:7px 10px!important}.tags-list__item:after,.tags-list__item:before{display:none}.tags-list__item a{text-decoration:none}.timeline{display:flex;list-style:none;margin:50px 0;padding:0}.timeline__item{margin:0 80px;max-width:330px;padding-top:68px;position:relative}.timeline__item:after,.timeline__item:before{content:"";position:absolute}.timeline__item:before{background-image:url(/rix/pr/125/build/images/dot.ec074665.svg);background-repeat:repeat-x;height:2px;left:100px;top:32px;width:100%}.timeline__item:after{background-image:url(/rix/pr/125/build/images/circle.aa70b6bc.svg);height:65px;top:0;width:65px}.timeline__item:last-of-type:before{display:none}.timeline__item .title{font-size:1.5rem}@media (max-width:995px){.timeline{flex-direction:column}.timeline__item{margin:0 0 50px}.timeline__item:before{display:none}.timeline__item:last-of-type{margin:0}}.technologies-list{margin:0 0 60px;position:relative}.technologies-list ul{display:flex;flex-wrap:wrap;margin:0;padding:0}.technologies-list ul>li:after,.technologies-list ul>li:before{content:none}.technologies-list__title{padding-bottom:20px}.technologies-list__item{border:1px solid #99b7d1;border-left:none;margin-bottom:15px;min-width:33.3333333333%;padding-left:0;position:relative;text-align:center;width:33.3333333333%}.technologies-list__item:nth-of-type(3n+1){border-left:1px solid #99b7d1}.technologies-list__item:last-of-type{margin-bottom:15px}.technologies-list__item a{color:#99b7d1;display:block;font-family:Outfit Semi Bold;height:100%;text-decoration:none}.technologies-list__item a>span{display:block;padding:20px 0}.technologies-list__item img{border-bottom:1px solid #99b7d1;padding:0 50px;width:100%}@media (max-width:995px){.technologies-list__item{border-left:1px solid #99b7d1;width:100%}.technologies-list__item img{padding:0 100px}}.table-of-contents{border:1px solid #99b7d1;color:#eb5050;display:flex;flex-direction:column;font-family:Montserrat Medium;margin:0;padding:30px 45px;width:calc(100% - 330px)}.table-of-contents__item{padding:0 15px}.table-of-contents__item a{text-decoration:none}.table-of-contents__sub-level{list-style-type:lower-alpha}@media (max-width:1220px){.table-of-contents{padding:20px 25px;width:100%}}.profile{background:#fff;border:1px solid #99b7d1;display:flex;flex-direction:column;padding-left:0}.profile__image{background:#d7e4ef 0/contain no-repeat url(/rix/pr/125/build/images/default.c762a445.png);height:195px;margin-bottom:20px}.profile__name{font-family:Outfit Semi Bold;font-size:1.5rem}.profile__job,.profile__name{line-height:1.4;padding:0 40px}.profile__job{color:#eb5050;font-size:1.25rem}.profile__socials{display:flex;margin-top:20px}.profile__socials a{border-right:1px solid #99b7d1;border-top:1px solid #99b7d1;color:#eb5050;flex:1;font-size:1.0625rem;padding:7px 0;text-align:center;text-decoration:none}.profile__socials a:last-of-type{border-right:none}.profile__socials a:active,.profile__socials a:focus,.profile__socials a:hover{background-color:#d7e4ef}.profile-list{align-items:flex-start;display:flex;flex-wrap:wrap;list-style:none;margin:70px -125px;padding:0}.profile-list>li{margin:0 20px 30px;min-width:calc(25% - 40px);width:calc(25% - 40px)}.profile-list>li:after,.profile-list>li:before{content:none}@media (max-width:1280px){.profile-list>li{display:none;min-width:calc(33.33% - 40px);width:calc(33.33% - 40px)}.profile-list .experience,.profile-list .profile{display:flex}}@media (max-width:995px){.profile-list>li{min-width:calc(50% - 40px);width:calc(50% - 40px)}}@media (max-width:760px){.profile-list{margin:70px 0 0}.profile-list>li{margin:0 0 30px;min-width:100%;width:100%}}.pagination{align-items:center;background:#fff;display:flex;justify-content:center;margin:0;padding:20px 0}.pagination__item{border-bottom:1px solid #99b7d1;border-top:1px solid #99b7d1;margin:0;padding-left:0}.pagination__item:after,.pagination__item:before{display:none}.pagination__item:nth-of-type(2){padding-left:20px}.pagination__item:nth-last-of-type(2){padding-right:20px}.pagination__item a{align-items:center;color:#07162f;display:flex;font-family:Outfit Semi Bold;font-size:1.125rem;height:48px;justify-content:center;margin:0;position:relative;text-decoration:none;width:48px;z-index:1}.pagination__item a:after{background:transparent;border-radius:50%;content:"";height:25px;pointer-events:none;position:absolute;transition:background .1s ease-in;width:25px;z-index:-1}.pagination__item a:active,.pagination__item a:focus,.pagination__item a:hover{color:#fff}.pagination__item a:active:after,.pagination__item a:focus:after,.pagination__item a:hover:after{background:#07162f;border-radius:50%}.pagination__item--active a{pointer-events:none}.pagination__item--active a:after{background:#d7e4ef;border-radius:unset}.pagination__item--nav{border-left:1px solid #99b7d1;border-right:1px solid #99b7d1}.pagination__item--nav a{color:#eb5050;font-size:1.25rem;transition:background .1s ease-in}.pagination__item--nav a:after{display:none}.pagination__item--nav a:active,.pagination__item--nav a:focus,.pagination__item--nav a:hover{background:#eb5050;color:#fff}@media (max-width:760px){.pagination__item:nth-of-type(2){padding-left:10px}.pagination__item:nth-last-of-type(2){padding-right:10px}.pagination__item a{height:50px;width:35px}.pagination__item--nav a{width:40px}}.experience{background:#fff;border:1px solid #99b7d1;border-top:13px solid #07162f;color:#07162f;display:flex;flex-direction:column;min-height:370px;padding:70px 0;position:relative;text-align:center;white-space:nowrap}.experience strong{font-family:"DM Serif Display";font-size:2.5rem;line-height:1.1}.experience strong span{font-size:7.5rem}.experience--dark{background:#07162f;border:none;border-top:13px solid #d7e4ef;color:#fff}.experience--dark:before{background:url(/rix/pr/125/build/images/expertise.9d4f8cd1.svg) no-repeat;background-position:top;background-size:contain;border-radius:0;content:""!important;height:55px;left:unset;position:absolute;right:35px;top:-1px;width:45px}.preview{background:url(/rix/pr/125/build/images/preview.1e8ad7d0.svg) no-repeat;background-position:top;background-size:cover;color:#fff;padding:128px 55px 55px;position:absolute;right:125px;top:-275px;width:575px}.preview .preview__content{text-align:center}.preview .button{margin:0 auto;max-width:400px;width:100%}.preview .button:before{width:750px}.preview__image{background:no-repeat;background-position:50%;background-size:cover;height:350px;margin-bottom:74px}@media (max-width:1220px){.preview{max-width:100%;position:unset;width:100%}}.miniature-highlight{display:flex;flex-direction:column;margin:0 0 40px;padding:0;width:100%}.miniature-highlight a:focus .miniature-highlight__image:before,.miniature-highlight a:hover .miniature-highlight__image:before{background-color:rgba(0,0,0,.2)}.miniature-highlight a:focus .miniature-highlight__image .image,.miniature-highlight a:hover .miniature-highlight__image .image{transform:scale(1.02);transform-origin:center}.miniature-highlight__image{min-height:350px;min-width:575px;overflow:hidden;position:relative;width:575px}.miniature-highlight__image:before{background-color:transparent;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transition:background-color .2s ease-in-out;z-index:1}.miniature-highlight__image .image{background-position:50%;background-repeat:no-repeat;background-size:cover;display:block;height:100%;transition:transform .2s ease-in-out}.miniature-highlight__content{display:flex;text-decoration:none}.miniature-highlight__content h2{margin:10px 0 15px}.miniature-highlight__content .details{padding:60px 80px 20px}.miniature-highlight__content .date{color:#eb5050;font-family:Outfit Semi Bold;font-size:1rem}.miniature-highlight__tags{border-top:1px solid #99b7d1;padding:25px 450px 25px 80px}.miniature-highlight__author{background:#fff;border-left:1px solid #99b7d1;border-top:1px solid #99b7d1;bottom:0;min-width:370px;padding:30px;position:absolute;right:0;z-index:2}@media (max-width:1220px){.miniature-highlight__content{flex-direction:column-reverse}.miniature-highlight__content .details{padding:30px 30px 0}.miniature-highlight__image{min-height:260px;min-width:100%;width:100%}.miniature-highlight__image .image{height:100%;width:100%}.miniature-highlight__tags{padding:15px 30px}.miniature-highlight__author{border-left:none;min-width:100%;position:static}}.side-image{align-items:center;display:flex;margin:0 0 35px}.side-image figure,.side-image>img{margin:0 50px!important;max-width:calc(50% - 100px);width:unset!important}.side-image__content{flex:1}@media (max-width:1280px){.side-image{flex-direction:column}.side-image figure,.side-image>img{margin:50px 0!important}}a{text-decoration:underline}a,a:active,a:focus,a:hover{color:#07162f}code,code [class*=language-],code[class*=language-],pre,pre [class*=language-],pre[class*=language-]{word-wrap:normal;background:#d7e4ef;color:#07162f;font-family:monospace;font-size:1.125rem;-webkit-hyphens:none;hyphens:none;line-height:1.5;overflow:auto;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}.code-multiline{font-size:1.125rem;margin:30px 0!important;padding:20px 30px!important}.code-inline{background:#d7e4ef;border-radius:5px;font-family:monospace;padding:2px 4px;white-space:pre-wrap}.code-inline,.token.cdata,.token.class-name,.token.delimiter,.token.doctype,.token.function,.token.function-name,.token.inserted,.token.operator,.token.prolog,.token.property,.token.punctuation,.token.selector{color:#07162f}.token.atrule,.token.attr-name,.token.builtin,.token.constant,.token.deleted,.token.important,.token.keyword,.token.namespace,.token.symbol,.token.tag,.token.variable{color:#eb5050}.token.attr-value,.token.boolean,.token.char,.token.entity,.token.number,.token.regex,.token.string,.token.url{color:#294262}.token.block-comment,.token.block-comment *,.token.comment,.token.comment *{border:none;color:#616161!important}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.content{background:#d7e4ef;display:initial}img,video{display:block;margin:35px auto;max-width:100%}figure{margin-bottom:50px}figure img{display:block;margin:0 auto 20px;max-width:100%}figcaption{display:flex;flex-wrap:wrap;justify-content:center;margin:0 auto;max-width:600px}figcaption a{border:none}figcaption a,figcaption a:active,figcaption a:focus,figcaption a:hover{color:#07162f}.figure__credits{padding-left:30px;position:relative}.figure__credits:before{background-color:#07162f;content:"";height:1px;left:8px;position:absolute;top:50%;transform:translateY(-50%);width:12px}p{margin:0 0 35px}.h1,.h2,.h3,.h4,.h5,.h6{display:block}.h1,h1{font-size:4.5rem;font-weight:400;line-height:1.25;margin:75px 0 35px}.h1,.h1 *,h1,h1 *{font-family:"DM Serif Display"}.h1 span,h1 span{color:#eb5050;display:block;font-family:Outfit Semi Bold;font-size:3.3125rem}.h1 strong,h1 strong{color:#eb5050}.h2,h2{font-family:Outfit Semi Bold;font-size:2.25rem;font-weight:400;line-height:1.3;margin:30px 0}.h3,h3{font-size:1.75rem;line-height:1.7;margin:30px 0 23px}.h3,.h4,.h5,.h6,h3,h4,h5,h6{color:#eb5050;font-family:Outfit Semi Bold;font-weight:400}.h4,.h5,.h6,h4,h5,h6{font-size:1.25rem;line-height:2.4;margin:23px 0}.h2--large{font-family:"DM Serif Display";font-size:4.5rem;font-weight:400;line-height:1.2}.h2--large>span{display:block;font-size:1.75rem;line-height:1.8}.h2--large>span,.h3--small{color:#eb5050;font-family:Outfit Semi Bold}.h3--small{font-size:1rem;font-weight:400;line-height:1.7;margin-bottom:0}.h3--dark{color:#07162f;font-family:Outfit Semi Bold;font-size:1.75rem;margin-top:0}.image-title{margin:0 0 25px}.image-title img{height:55px;margin:0 0 15px}.image-title__content{color:#07162f;font-family:Outfit Semi Bold;font-size:1.5rem;line-height:1.3;margin:0}.image-title--light .image-title__content{color:#fff}.case-study__title{margin-bottom:40px!important}.anchor-title{scroll-margin-top:130px}.anchor-title a{text-decoration:none}.anchor-title a:after{bottom:-10px;color:#294262;content:"#";left:10px;opacity:0;position:relative;transform:translateY(-10px);transition:opacity .15s ease-in,bottom .15s ease-in}.anchor-title a:active:after,.anchor-title a:focus:after,.anchor-title a:hover:after{bottom:0;opacity:1}@media (max-width:995px){.h1,h1{font-size:3rem;margin:15px 0 30px}.h2,.h3,h2,h3{font-size:1.5rem}.h2--large{font-size:2.25rem}.h3--dark{font-size:1.5rem}.h2--large>span,.h2>span{font-size:1.25rem}.case-study__title{font-size:2.25rem}.anchor-title{scroll-margin-top:50px}}@media (max-width:380px){.h1,h1{font-size:2.1875rem}}ul{list-style:none;margin:35px 0;padding:0}ul li{margin-bottom:3px;padding-left:30px;position:relative}ul li:last-of-type{margin-bottom:0}ul li:after,ul li:before{height:16px;position:absolute;top:4px;width:16px}ul li:before{background:#d7e4ef;border-radius:50%;content:"";left:0}ul li:after{align-items:center;color:#07162f;content:"\e902";display:flex;font-family:icomoon;font-size:.4375rem;justify-content:center;left:1px}.screen-reader{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.page-home main{padding-bottom:0}.home-services>p{margin-bottom:100px;max-width:690px}.home-ecosystem{background:url(/rix/pr/125/build/images/waves.be5ec2dc.svg) no-repeat;background-position:50%;background-size:1650px;position:relative}.home-ecosystem:before{background:linear-gradient(180deg,#fff 40%,hsla(0,0%,100%,.5) 70%,hsla(0,0%,100%,0));content:"";height:200px;left:0;position:absolute;top:0;width:100%;z-index:0}.home-ecosystem h2{position:relative;z-index:1}.home-clients{background:#fff;margin-left:0;padding-top:117px}@media (max-width:760px){.home-ecosystem{background-position:top;background-size:105%}.home-ecosystem:after,.home-ecosystem:before{display:none}}.page-article main{background-image:none;padding-bottom:75px}.page-article h2:first-of-type{margin-top:0;padding-top:0}.page-article figure{margin-left:-120px;width:calc(100% + 120px)}.page-article .alert{margin:0 0 40px}@media (max-width:1220px){.page-article figure{margin-left:0;width:100%}}.page-blog main{background-image:none}.page-blog .content{padding-bottom:50px}.page-blog .content ul>li:first-of-type{border:1px solid #99b7d1}.page-blog .content ul>li:after,.page-blog .content ul>li:before{content:none!important}.page-blog .miniature:nth-child(3n+1),.page-blog .miniature:nth-child(3n+3){margin-left:20px;margin-right:20px}.page-blog .miniature:nth-child(3n+5),.page-blog .miniature:nth-child(5){margin-left:0}.page-blog .miniature:nth-child(3n+7),.page-blog .miniature:nth-child(7){margin-right:0}@media (max-width:1440px){.page-blog .miniature:nth-child(2n+2),.page-blog .miniature:nth-child(3n+5),.page-blog .miniature:nth-child(3n+7),.page-blog .miniature:nth-child(5),.page-blog .miniature:nth-child(7),.page-blog .miniature:nth-child(odd){margin-left:20px;margin-right:20px}.page-blog .miniature:nth-child(2n+5),.page-blog .miniature:nth-child(5){margin-left:0}.page-blog .miniature:nth-child(2n+6),.page-blog .miniature:nth-child(6){margin-right:0}}@media (max-width:1280px){.sliding-button--mobile{border-top:1px solid #99b7d1!important}}.page-casebook main{background-image:none}.page-casebook .h3{margin-bottom:20px}@media (max-width:995px){.page-casebook .content{padding-bottom:50px}}.page-case-study main{background-image:none}.page-case-study .beveled-wrapper__gradient .content{padding-bottom:55px;position:relative}.page-case-study .beveled-wrapper__gradient .content ul{margin-top:0}.page-case-study .beveled-wrapper__gradient .content figure{margin-left:-125px}.page-case-study .beveled-wrapper__gradient .content figure img{margin:0 auto 20px}.page-case-study .beveled-wrapper__gradient .content figure figcaption{text-align:center}.page-case-study .beveled-wrapper__gradient .case-study__header{width:50%}.page-case-study .beveled-wrapper__gradient .case-study__header ul>li{padding-left:0}.page-case-study .beveled-wrapper__gradient .case-study__header ul>li h3{margin-bottom:0}.page-case-study .beveled-wrapper__gradient .case-study__header ul>li:after,.page-case-study .beveled-wrapper__gradient .case-study__header ul>li:before{content:none}.page-case-study .beveled-wrapper__gradient .case-study__image{height:743px}.page-case-study iframe{margin:0 auto}@media (max-width:1220px){.page-case-study .beveled-wrapper__gradient .case-study__header{width:100%}}@media (max-width:995px){.page-case-study .beveled-wrapper__gradient .content figure{margin:0}}.page-services .miniature__content h3{color:#07162f;margin:0 0 29px}.page-services__images{border:1px solid #99b7d1;border-top:none;display:flex;height:125px}.page-services__images>span{align-items:center;background-color:#fff;border-right:1px solid #99b7d1;display:flex;flex:1;justify-content:center;padding:20px}.page-services__images>span:last-of-type{border-right:none}.page-services__images>span img{max-height:100%}.page-services__content{background:#fff;border:1px solid #99b7d1;margin:60px 0 0;padding:0 80px 70px}.page-services__content h3{color:#07162f}.page-services__content img{margin:0}@media (max-width:760px){.page-services .h3,.page-services h3{font-size:1.5rem}.page-services__content{padding:0 25px}.page-services__content img{width:60px}}.page-contact main{background-position:top;background-size:cover}.page-contact h1 span{display:block}.page-legals h2:first-of-type{margin:0}.page-error main{background-position:top;background-size:cover}.error__title span{color:#eb5050;display:block;font-family:Outfit Semi Bold;font-size:3.3125rem}.error__action{margin:35px 0 0}.error__action .button{margin-right:35px}.error__action .button:last-of-type{margin:0}@media (max-width:1280px){.page-error main{background-image:none}.page-error .error{align-items:center;display:flex;flex-direction:column;text-align:center}}@media (max-width:995px){.page-error .error__action{display:flex;flex-direction:column}.page-error .error__action .button{margin:0 0 35px}}.page-signature main{background-image:none} \ No newline at end of file +@charset "UTF-8";*{box-sizing:border-box}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif}body{margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}a{background-color:transparent}small{font-size:80%}img{border:none}svg:not(:root){overflow:hidden}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace}button,input,optgroup,select,textarea{margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}legend{border:0;padding:0}textarea{overflow:auto}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}p{margin:unset}@font-face{font-family:Montserrat Regular;font-style:normal;font-weight:400;src:url(/rix/pr/125/build/fonts/montserrat-regular.4ada7f2f.woff2) format("woff2"),url(/rix/pr/125/build/fonts/montserrat-regular.4a3d6361.woff) format("woff")}@font-face{font-family:Montserrat Medium;font-style:normal;font-weight:400;src:url(/rix/pr/125/build/fonts/montserrat-medium.cf734a37.woff2) format("woff2"),url(/rix/pr/125/build/fonts/montserrat-medium.2451e96b.woff) format("woff")}@font-face{font-family:Outfit Semi Bold;font-style:normal;font-weight:400;src:url(/rix/pr/125/build/fonts/outfit-semi-bold.007337b1.woff2) format("woff2"),url(/rix/pr/125/build/fonts/outfit-semi-bold.58a47c5f.woff) format("woff")}@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;src:url(/rix/pr/125/build/fonts/dm-serif-display-regular.f7535417.woff2) format("woff2"),url(/rix/pr/125/build/fonts/dm-serif-display-regular.7265fe7d.woff) format("woff")}@font-face{font-display:block;font-family:icomoon;font-style:normal;font-weight:400;src:url(/rix/pr/125/build/fonts/icomoon.81a5b7b9.eot);src:url(/rix/pr/125/build/fonts/icomoon.81a5b7b9.eot) format("embedded-opentype"),url(/rix/pr/125/build/fonts/icomoon.450cbdb1.ttf) format("truetype"),url(/rix/pr/125/build/fonts/icomoon.32b7badb.woff) format("woff"),url(/rix/pr/125/build/images/icomoon.00ceb532.svg) format("svg")}.icon,address{font-style:normal}.icon{speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:icomoon!important;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.icon--arrow-right:before{content:"\e905"}.icon--arrow-left:before{content:"\e90b"}.icon--chevron:before{content:"\e902"}.icon--close:before{content:"\e900"}.icon--hamburger:before{content:"\e901"}.icon--location:before{content:"\e903"}.icon--message:before{content:"\e904"}.icon--github:before{content:"\e906"}.icon--linkedin:before{content:"\e907"}.icon--twitter:before{content:"\e908"}.icon--quotations-left:before{content:"\e909"}.icon--quotations-right:before{content:"\e90a"}.icon--website:before{content:"\e90c"}.icon--info:before{content:"\e926"}.icon--danger:before{content:"\e927"}.icon--success:before{content:"न"}.header{background:#fff;border-top:30px solid #07162f;height:155px}.header img{margin:0}.header .container{align-items:center;display:flex;padding:0 20px 20px}.header .logo{position:relative;top:-1px;width:170px}@media (max-width:1220px){.header{height:125px}.header .logo{width:115px}}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#07162f;display:flex;flex-direction:column;font-family:Montserrat Regular;font-size:16px;height:100vh;line-height:1.9}main{background:url(/rix/pr/125/build/images/background.fe096fd5.jpg) no-repeat;background-position:bottom;background-size:contain;flex:1;padding-bottom:350px}b,strong{font-family:Montserrat Medium;font-weight:unset}.container{margin:0 auto;max-width:1440px;padding:0 125px;width:100%}.twitter-tweet{margin:10px auto}@media (max-width:760px){main{background:url(/rix/pr/125/build/images/background-mobile.90615db1.jpg) no-repeat}.container{padding:0 20px}}.nav{margin-left:auto}.nav ul{display:flex;list-style:none;margin:0;padding:0}.nav__item{align-items:center;display:flex;margin:0 20px}.nav__item:after,.nav__item:before{content:none}.nav__item a{color:#07162f;font-family:Outfit Semi Bold;font-size:1.125rem;text-decoration:none}.nav__item a span{padding:7px 2px;position:relative}.nav__item a span:after{background:#eb5050;bottom:-5px;content:"";height:2px;left:0;opacity:0;position:absolute;transition:.15s ease-out;width:100%}.nav__item a:hover span:after{bottom:0;opacity:1}.nav__item--icon a{align-items:center;display:flex}.nav__item--icon a svg{margin-right:9px;width:25px}.nav__item--icon a svg circle,.nav__item--icon a svg path{transition:stroke .3s ease,fill .3s ease}.nav__item--icon a:active span:after,.nav__item--icon a:focus span:after,.nav__item--icon a:hover span:after{display:none}.nav__item--icon a:active svg path,.nav__item--icon a:focus svg path,.nav__item--icon a:hover svg path{stroke:#eb5050}.nav__item--icon a:active svg circle,.nav__item--icon a:focus svg circle,.nav__item--icon a:hover svg circle{fill:#eb5050}.nav__item--active a span:after{background:#99b7d1;bottom:0;opacity:1}@media (max-width:1220px){.nav__item{margin:0 15px}.nav__item--icon svg{display:none}}@media (max-width:995px){.nav{display:none}}.nav-mobile{display:none}@media (max-width:995px){.nav-mobile ul{display:flex;flex:1;flex-direction:column;margin:0;padding:50px 0 0}.nav-mobile__header{align-items:center;border-top:30px solid #fff;display:flex;padding:0 20px}.nav-mobile__item{display:flex;font-size:1.9375rem;margin:0 0 10px;padding:0 0 0 45px}.nav-mobile__item:after,.nav-mobile__item:before{content:none}.nav-mobile__item a{color:#fff;font-family:Outfit Semi Bold;padding:10px 0;text-decoration:none}.nav-mobile__item a:hover{color:#fff}.nav-mobile__item--active a{border-bottom:2px solid #eb5050;position:relative}.nav-mobile__item--icon{border-top:1px solid #99b7d1;height:100px;margin:auto 0 0;padding:0}.nav-mobile__item--icon a{align-items:center;display:flex;justify-content:center;width:100%}.nav-mobile__item--icon svg{margin-right:15px;width:40px}.nav-mobile--open{background:#07162f;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:9999999}}.nav-toggle{display:none}@media (max-width:995px){.nav-toggle{align-items:center;background:transparent;border:1px solid #99b7d1;border-radius:0;display:flex;font-size:1.25rem;height:52px;justify-content:center;margin-left:auto;width:52px}.nav-toggle--open{color:#07162f}.nav-toggle--close{color:#99b7d1}}.footer{background:#07162f;color:#fff;line-height:1.6;padding:100px 0 160px;z-index:1}.footer .container{padding:0 20px}.footer img{margin:0}.footer a{color:hsla(0,0%,100%,.8);font-family:Montserrat Regular;text-decoration:none}.footer a:active,.footer a:focus,.footer a:hover{color:#fff}.footer__contact{display:flex;justify-content:space-between;margin-bottom:100px}.footer__contact .catchphrase{flex:1;font-size:3rem;line-height:1.2;max-width:660px}.footer__contact .catchphrase .h1{color:#fff;font-family:"DM Serif Display";font-size:4rem;line-height:1.2;margin:0 0 24px}.footer__contact .catchphrase strong{color:#45d5d0}.footer__brand{border-top:2px solid #fff;color:#fff;position:relative}.footer__brand img{width:170px}.footer__brand span{left:105px;position:absolute;top:65px}.footer__links{align-items:flex-end;display:flex;margin-bottom:75px;margin-top:-30px;padding-left:105px;position:relative;z-index:1}.footer__links ul{flex:1;list-style:none;margin:0;padding:0}.footer__links li{margin:0 0 20px;padding-left:30px;position:relative}.footer__links li:after,.footer__links li:before{height:16px;position:absolute;top:4px;width:16px}.footer__links li:before{background:#203860;border-radius:50%;content:"";left:0}.footer__links li:after{align-items:center;color:#fff;content:"\e902";display:flex;font-family:icomoon;font-size:.4375rem;justify-content:center;left:0}.footer__links li a{font-family:Montserrat Regular;text-decoration:none}.footer__links li a:active,.footer__links li a:focus,.footer__links li a:hover{color:#fff}.footer__links a{font-family:Outfit Semi Bold;margin-bottom:45px}.footer__links a:active,.footer__links a:focus,.footer__links a:hover{color:#eb5050}.footer__links .pages{display:flex;width:300px}.footer__links .services{align-items:flex-start;display:flex;flex:1;flex-direction:column}.footer__links .services>div{display:flex;width:100%}.footer__links .services ul{margin:0 10px}.footer__links .services ul:first-of-type{margin-left:0}.footer__links .services ul:last-of-type{margin-right:0}.footer__legals{text-align:center}@media (max-width:1280px){.footer__contact{flex-direction:column}.footer__contact .catchphrase{font-size:1.875rem;margin-bottom:60px;max-width:unset}}@media (max-width:1220px){.footer__links{align-items:flex-start}.footer__links .pages{margin-top:65px;width:400px}.footer__links .services>div{flex-direction:column}.footer__links .services ul{margin:0}}@media (max-width:995px){.footer__contact .catchphrase{font-size:2.25rem}.footer__contact .catchphrase .h1{font-size:3rem}.footer__brand img{width:115px}.footer__brand span{left:71px;top:50px}.footer__links{flex-direction:column;margin-top:0;padding-left:0}.footer__links a{font-size:1.25rem}.footer__links ul a{font-size:1rem}.footer__links .pages{margin-top:45px;width:unset}.footer__links .services{margin-top:35px}.footer__links .services a{margin-bottom:25px}.footer__legals a{white-space:nowrap}}:root{--area-b-height:76px;--area-b-width:1000px;--area-d-width:30px}.beveled-wrapper{margin-bottom:-1300px;overflow:hidden;padding-top:var(--area-b-height);position:relative;top:-1300px}.beveled-wrapper__gradient{background:linear-gradient(90deg,transparent calc(50% + 719px),#fff calc(50% + 719px) 100%)}.beveled-wrapper__gradient .shape{background:url(/rix/pr/125/build/images/bevel.4a9689a3.svg) no-repeat;background-position:100% 0!important;background-size:cover!important;padding-top:200px;position:relative}.beveled-wrapper__gradient .shape:before{background:url(/rix/pr/125/build/images/bevel-right.29104ed1.svg) no-repeat;background-size:cover;content:"";height:var(--area-b-height);position:absolute;right:calc(var(--area-b-width)*-1 + var(--area-d-width));top:calc(var(--area-b-height)*-1 + 1px);width:var(--area-b-width)}.beveled-wrapper__gradient .shape .h2--large{margin:0}.beveled-wrapper__gradient .content{background:#fff;display:flex;flex-direction:column}.beveled-wrapper--wolf .beveled-wrapper__gradient .shape{background:url(/rix/pr/125/build/images/bevel-wolf.23f6cdd6.svg) no-repeat}@media (max-width:1440px){.beveled-wrapper .beveled-wrapper__gradient .shape,.beveled-wrapper--wolf .beveled-wrapper__gradient .shape{background:url(/rix/pr/125/build/images/bevel.4a9689a3.svg) no-repeat}.beveled-wrapper__gradient{background:transparent}.beveled-wrapper__gradient .shape:before{display:none}}@media (max-width:1220px){.beveled-wrapper{margin-bottom:-1200px;top:-1200px}.beveled-wrapper__gradient .shape{padding-top:130px}}@media (max-width:995px){.beveled-wrapper{margin-bottom:-1400px;margin-left:15px;top:-1400px}}@media (max-width:760px){.beveled-wrapper{margin-bottom:-1300px;top:-1300px}.beveled-wrapper .shape{padding-top:100px}}@media (max-width:380px){.beveled-wrapper .shape{padding-top:100px}}.author{align-items:center;color:#07162f;display:flex;flex-wrap:wrap;font-size:1.125rem}.author img{border-radius:50%;margin:0 15px 0 0;max-width:unset;width:50px}.author__image{position:relative}.author__image img{border:3px solid #fff;border-radius:50%;height:60px;margin:0 15px 0 0;max-width:unset;width:60px}.author__info{display:flex;flex-direction:column;line-height:1.3}.author__info strong{font-family:Outfit Semi Bold}.author__social{display:flex;flex-wrap:wrap;margin-top:10px;min-width:100%}.author__social a{align-items:center;border:1px solid #07162f;border-radius:50%;color:#07162f;display:flex;height:40px;justify-content:center;margin:0 6px 5px;text-decoration:none;transition:color .15s ease-in,background .15s ease-in;width:40px}.author--multi{align-items:flex-start;flex-direction:column}.author--multi .author__image{height:60px;left:-45px;margin-bottom:10px;position:relative}.author--multi .author__image img:first-child{left:45px;position:absolute}.author--multi .author__image img:nth-child(2){left:90px;position:absolute}.author--multi .author__image img:nth-child(3){left:135px;position:absolute}.author--multi .author__image img:nth-child(4){left:180px;position:absolute}.author--multi .author__image img:nth-child(5){left:225px;position:absolute}.author--multi .author__info+.author__info{margin-left:0;margin-top:20px}.alert{display:flex;font-family:Montserrat Medium;padding:20px 30px}.alert .icon{font-size:1.5625rem;margin-right:15px}.alert p:last-of-type{margin-bottom:0}.alert--error{background:#eb5050;color:hsla(0,0%,100%,.9)}.alert--info{background:#99b7d1;color:hsla(0,0%,100%,.9)}.admonition{background:#45d5d0;color:#07162f;font-family:monospace;font-size:1.125rem;line-height:1.6;margin:60px 0;padding:45px 60px 30px;position:relative}.admonition:after,.admonition:before{position:absolute}.admonition:before{background:#45d5d0;border-radius:50px;content:"";height:58px;left:31px;top:-29px;width:58px}.admonition:after{color:#fff;content:"\e926";font-family:icomoon;font-size:3.75rem;left:30px;line-height:1;position:absolute;top:-30px}.admonition p{margin:0 0 10px!important}.admonition p:last-of-type{margin:0}.admonition a{border-bottom-color:#07162f;font-family:monospace}.admonition a:active,.admonition a:focus,.admonition a:hover{color:#07162f}.admonition-title{font-family:monospace;font-size:1.25rem;font-weight:700}.admonition.success,.admonition.success:before{background:#3ec789}.admonition.success:after{content:"\e928"}.admonition.success a{border-bottom-color:#0d2c1e;color:#0d2c1e}.admonition.success a:active,.admonition.success a:focus,.admonition.success a:hover{color:#0d2c1e}.admonition.danger,.admonition.danger:before{background:#eb5050}.admonition.danger:after{content:"\e927"}.admonition.danger a{border-bottom-color:#07162f;color:#07162f}.admonition.danger a:active,.admonition.danger a:focus,.admonition.danger a:hover{color:#07162f}.article-overview{display:flex;margin-bottom:80px}@media (max-width:1220px){.article-overview{flex-direction:column}}.article-info{border:1px solid #99b7d1;flex:1;height:100%;margin:0 0 0 -1px}.article-info .author{border-bottom:1px solid #99b7d1;padding:30px 35px}.article-info__date{display:flex;flex-wrap:wrap;padding:30px 35px}.article-info__date span{display:flex;flex-direction:column;margin-bottom:20px;margin-right:35px}.article-info__date strong{font-family:Outfit Semi Bold;margin-top:2px}@media (max-width:1220px){.article-info{border:1px solid #99b7d1;margin:-1px 0 0}.article-info__date{padding-top:25px}}.article-footer{background:#fff;border:1px solid #99b7d1;display:flex;flex-wrap:wrap;margin:0 0 20px;padding:45px 75px}.article-footer .author{margin-bottom:20px;min-width:180px;padding:0;width:33.3333333333%}.article-footer .author:nth-last-of-type(-n+3){margin-bottom:0}.article-footer .author__details{display:flex}@media (max-width:760px){.article-footer{flex-direction:column;padding:25px 30px}.article-footer .author:nth-last-of-type(-n+3){margin-bottom:20px}.article-footer .author:last-of-type{margin-bottom:0}}.miniature-list{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.banner{background-image:url(/rix/pr/125/build/images/banner-home.e928350e.webp);background-position:top;background-repeat:no-repeat;background-size:cover;display:flex;height:1850px;position:relative}.banner:before{background:linear-gradient(180deg,transparent,#fff);bottom:0;content:"";height:200px;left:0;position:absolute;right:0}.banner h1{max-width:950px}.banner p{max-width:700px}.banner .button{margin-top:35px}.page-article .banner,.page-blog .banner,.page-case-study .banner,.page-casebook .banner{height:1550px}.banner--about{background-image:url(/rix/pr/125/build/images/banner-about.cf7414b4.webp)}.banner--blog{background-image:url(/rix/pr/125/build/images/banner-blog.777e5df6.webp)}.banner--case-study{background-image:url(/rix/pr/125/build/images/banner-case-study.c6780f13.webp)}.banner--home{background-image:url(/rix/pr/125/build/images/banner-home.e928350e.webp)}.banner--services{background-image:url(/rix/pr/125/build/images/banner-services.6d7424af.webp)}@media (max-width:995px){.page-home .banner{height:1950px}.banner--about{background-image:url(/rix/pr/125/build/images/banner-about-mobile.ac090375.webp)}.banner--blog{background-image:url(/rix/pr/125/build/images/banner-blog-mobile.dd80f874.webp)}.banner--case-study{background-image:url(/rix/pr/125/build/images/banner-case-study-mobile.9a484e1a.webp)}.banner--home{background-image:url(/rix/pr/125/build/images/banner-home-mobile.2fa58f16.webp)}.banner--services{background-image:url(/rix/pr/125/build/images/banner-services-mobile.cde6025f.webp)}}@media (max-width:760px){.page-article .banner,.page-blog .banner,.page-case-study .banner{height:1350px}.page-casebook .banner{height:1400px}}.button{align-items:center;background:#eb5050;color:#fff;display:inline-flex;font-family:Outfit Semi Bold;justify-content:center;line-height:1.4;min-height:48px;overflow:hidden;padding:15px 35px;position:relative;text-decoration:none;z-index:1}.button:before{background:#07162f;content:"";height:200px;position:absolute;transform:translateY(70%);transition:transform .6s;width:300px;z-index:-1}.button:hover{color:#fff}.button:hover:before{transform:translateY(0) rotate(10deg)}.button-ghost{background:transparent;border:1px solid #99b7d1;padding:15px 35px 15px 60px}.button-ghost:before{background:#eb5050}.button-ghost:after{content:"\e905";font-family:icomoon;left:25px;position:absolute;top:50%;transform:translateY(-50%);transition:transform .4s linear}.button-ghost span{transition:transform .3s linear}.button-ghost:active,.button-ghost:focus,.button-ghost:hover{border:1px solid #eb5050}.button-ghost:active:after,.button-ghost:focus:after,.button-ghost:hover:after{transform:translate(10px,-50%)}.button-ghost:active span,.button-ghost:focus span,.button-ghost:hover span{transform:translateX(5px)}.button-ghost--light{color:#fff}.button-ghost--light:after{color:#eb5050}.button-ghost--light:active,.button-ghost--light:focus,.button-ghost--light:hover{color:#fff}.button-ghost--dark,.button-ghost--light:active:after,.button-ghost--light:focus:after,.button-ghost--light:hover:after{color:#07162f}.button-ghost--dark:after{color:#eb5050}.button-ghost--dark:active,.button-ghost--dark:focus,.button-ghost--dark:hover{color:#07162f}.button-ghost--dark:active:after,.button-ghost--dark:focus:after,.button-ghost--dark:hover:after{color:#fff}@media (max-width:380px){.button{padding:15px 20px}.button-ghost:after{display:none}}.comment{border:1px solid #99b7d1;margin:20px 0;min-width:100%;padding:35px 75px;width:100%}.comment p{margin-bottom:0}.comment .title{font-family:Outfit Semi Bold;font-size:2rem;margin:20px 0 10px}.comment .tweet-container{margin-top:40px}@media (max-width:760px){.comment{padding:25px 30px}}@media (max-width:380px){.comment .tweet-container{display:none}}blockquote{border:1px solid #99b7d1;font-size:2.25rem;line-height:1.4;margin:80px 0;padding:46px 80px;position:relative}blockquote:after,blockquote:before{background-color:#fff;color:#45d5d0;font-family:icomoon;padding:0 8px;position:absolute}blockquote:before{content:"\e909";top:-34px}blockquote:after{bottom:-32px;content:"\e90a";right:90px}blockquote p{margin:0}blockquote cite{display:block;margin-top:15px}@media (max-width:995px){blockquote{font-size:1.5rem;padding:35px 30px}blockquote:before{top:-23px}blockquote:after{bottom:-23px}}.miniature{background:#fff;border:1px solid #99b7d1;display:flex;flex-direction:column;margin:0 20px 40px;min-width:calc(33.33333% - 30px);padding:0;width:calc(33.33333% - 30px)}.miniature:after,.miniature:before{content:none!important}.miniature:nth-child(3n+1){margin-left:0}.miniature:nth-child(3n+3){margin-right:0}.miniature:last-of-type{margin-bottom:40px}.miniature a{display:flex;flex-direction:column;height:100%;text-decoration:none}.miniature a:focus .miniature__image:before,.miniature a:hover .miniature__image:before{background-color:rgba(0,0,0,.2)}.miniature a:focus .miniature__image .image,.miniature a:hover .miniature__image .image{transform:scale(1.02);transform-origin:center}.miniature a .sliding-button{border-top:1px solid #99b7d1;margin-top:auto}.miniature a .sliding-button:before,.miniature a .sliding-button__content{transform:translateY(0) rotate(0deg)}.miniature__content{display:flex;flex:1;flex-direction:column;padding:30px 30px 80px;position:relative;text-decoration:none}.miniature__content .h3{color:#07162f;line-height:1.5;margin:0 0 15px}.miniature__image{height:350px;overflow:hidden;position:relative}.miniature__image:before{background-color:transparent;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transition:background-color .2s ease-in-out;z-index:1}.miniature__image .image{background-position:50%;background-repeat:no-repeat;background-size:cover;display:block;height:100%;position:relative;transition:transform .2s ease-in-out}.miniature__name{color:#eb5050;font-family:Outfit Semi Bold;font-size:1.25rem}@media (max-width:1440px){.miniature{min-width:calc(50% - 20px);width:calc(50% - 20px)}.miniature:nth-child(3n+1),.miniature:nth-child(3n+3){margin-left:20px;margin-right:20px}.miniature:nth-child(odd){margin-left:0}.miniature:nth-child(2n+2){margin-right:0}}@media (max-width:995px){.miniature{margin:0 0 40px!important;min-width:100%;width:100%}.miniature__image{height:260px}}.miniature-inline{background:#fff;margin:0 0 40px;padding:0;width:100%}.miniature-inline:after,.miniature-inline:before{display:none!important}.miniature-inline a{border:1px solid #99b7d1;display:flex;text-decoration:none;width:100%}.miniature-inline a:active .miniature-inline__image:before,.miniature-inline a:focus .miniature-inline__image:before,.miniature-inline a:hover .miniature-inline__image:before{background-color:rgba(0,0,0,.2)}.miniature-inline a:active .miniature-inline__image .image,.miniature-inline a:focus .miniature-inline__image .image,.miniature-inline a:hover .miniature-inline__image .image{transform:scale(1.02);transform-origin:center}.miniature-inline a:active .sliding-button,.miniature-inline a:focus .sliding-button,.miniature-inline a:hover .sliding-button{border-top:1px solid #99b7d1}.miniature-inline a:active .sliding-button:before,.miniature-inline a:active .sliding-button__content,.miniature-inline a:focus .sliding-button:before,.miniature-inline a:focus .sliding-button__content,.miniature-inline a:hover .sliding-button:before,.miniature-inline a:hover .sliding-button__content{transform:translateY(0) rotate(0deg)}.miniature-inline__title{color:#07162f;font-size:2.25rem;line-height:1.5;margin:0 0 15px}.miniature-inline__name{color:#eb5050;font-family:Outfit Semi Bold;font-size:1.75rem;font-weight:400;line-height:1.7}.miniature-inline__image{overflow:hidden;position:relative}.miniature-inline__image:before{background-color:transparent;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transition:background-color .2s ease-in-out;z-index:1}.miniature-inline__image .image{background-position:50%;background-repeat:no-repeat;background-size:cover;display:block;height:100%;margin:0;min-height:350px;min-width:575px;transition:transform .2s ease-in-out;width:575px}.miniature-inline__content{display:flex;flex:1;flex-direction:column;padding:30px 30px 80px;position:relative}@media (max-width:1220px){.miniature-inline a{flex-direction:column}.miniature-inline__image .image{min-width:100%!important;width:100%!important}}@media (max-width:995px){.miniature-inline__image .image{min-height:260px}}@media (max-width:760px){.miniature-inline__title{font-size:1.75rem}.miniature-inline__name{font-size:1.25rem}}.client-list{display:flex;flex-wrap:wrap;list-style:none;margin:65px 0 0}.client-list__item{margin:0;padding:0 20px;width:50%}.client-list__item:after,.client-list__item:before{content:none}.client-list__item:nth-of-type(odd){padding-left:0}.client-list__item:nth-of-type(2n){padding-right:0}.client-list__item .image{background-position:0;background-repeat:no-repeat;background-size:contain;height:35px;margin-bottom:16px;width:100%}@media (max-width:995px){.client-list{flex-direction:column;margin:0}.client-list__item{padding:0;width:100%}}.contact-infos{background:#fff;border:1px solid #99b7d1;max-width:575px}.contact-infos__item{border-bottom:1px solid #99b7d1;display:flex;font-size:1.125rem;padding:35px 60px;position:relative}.contact-infos__item:last-of-type{border:none}.contact-infos__item .dl,.contact-infos__item dl{margin:0 0 0 70px}.contact-infos__item .dt,.contact-infos__item dt{font-family:Outfit Semi Bold;font-size:1.5rem;line-height:1.4}.contact-infos__item .dd,.contact-infos__item dd{display:block;margin:0;padding:0}.contact-infos__item svg{left:35px;position:absolute;top:50%;transform:translateY(-50%);width:35px}.contact-infos__item a{color:#07162f}.contact-infos__item a .mail-icon__letter{transition:transform .15s ease-out}.contact-infos__item a:active .contact-icon circle:first-of-type,.contact-infos__item a:focus .contact-icon circle:first-of-type,.contact-infos__item a:hover .contact-icon circle:first-of-type{animation:fade 2s infinite both}.contact-infos__item a:active .contact-icon circle:nth-of-type(2),.contact-infos__item a:focus .contact-icon circle:nth-of-type(2),.contact-infos__item a:hover .contact-icon circle:nth-of-type(2){animation:fade 2s infinite both;animation-delay:.4s}.contact-infos__item a:active .contact-icon circle:nth-of-type(3),.contact-infos__item a:focus .contact-icon circle:nth-of-type(3),.contact-infos__item a:hover .contact-icon circle:nth-of-type(3){animation:fade 2s infinite both;animation-delay:.8s}.contact-infos__item a:active .mail-icon__letter,.contact-infos__item a:focus .mail-icon__letter,.contact-infos__item a:hover .mail-icon__letter{transform:translateY(-4px)}@keyframes fade{0%,40%,to{opacity:0;transform:translateZ(80px)}20%{opacity:1;transform:translateZ(0)}}.contact-tiles__item{background:#eb5050;color:#fff;display:flex;margin-bottom:20px;max-width:480px;padding:30px 35px 35px 0;width:100%}.contact-tiles__item:last-of-type{margin-bottom:0}.contact-tiles__item>span{align-items:flex-start;display:flex;flex-direction:column;padding-left:35px}.contact-tiles__item a{font-family:Montserrat Medium;position:relative}.contact-tiles__item .icon{align-items:center;border-right:2px solid #fff;display:flex;font-size:2.5rem;justify-content:center;min-width:120px;width:120px}.contact-tiles__item .title{font-family:Outfit Semi Bold;font-size:1.5rem;line-height:1.2;margin-bottom:12px}@media (max-width:1280px){.contact-tiles{align-items:flex-start;display:flex;justify-content:space-around}.contact-tiles__item{margin:0 10px}.contact-tiles__item:first-of-type{margin-left:0}.contact-tiles__item:last-of-type{margin-right:0}}@media (max-width:995px){.contact-tiles{flex-direction:column}.contact-tiles__item{margin:0 0 20px}.contact-tiles__item>span{padding-left:30px}.contact-tiles__item .icon{min-width:80px;width:80px}}@media (max-width:380px){.contact-tiles__item .icon{display:none}}.values{display:flex;list-style:none;margin:50px 0;padding:0}.values__item{margin:0 15px;min-width:calc(33.33333% - 15px);width:calc(33.33333% - 15px)}.values__item:after,.values__item:before{content:none}@media (max-width:1220px){.values{flex-direction:column;margin-left:20px}.values__item{margin:0 0 40px;min-width:100%;width:100%}}.about-values{background:#07162f url(/rix/pr/125/build/images/glow.10e86a4f.png) no-repeat;background-position:0 100%;background-size:550px;color:#fff;margin:100px 0 200px;position:relative}.about-values:after,.about-values:before{background-size:cover!important;content:"";position:absolute;width:100%}.about-values:before{background:url(/rix/pr/125/build/images/top.0eb15c3f.svg) no-repeat;background-position:100% 100%;height:100px;top:-100px}.about-values:after{background:url(/rix/pr/125/build/images/bottom.69774221.svg) no-repeat;background-position:bottom;bottom:-200px;height:200px}.about-values h2{color:#fff;margin-left:124px}.about-values .grid{background-image:url(/rix/pr/125/build/images/grid.6e242290.svg);background-position:bottom;background-repeat:no-repeat;background-size:contain;height:900px}.about-values ul{display:flex;flex-wrap:wrap;justify-content:flex-end;list-style:none;margin:0;padding:85px 195px 0}.about-values ul li{height:350px;padding:30px 35px;width:400px}.about-values ul li:after,.about-values ul li:before{content:none}@media (max-width:1440px){.about-values{background-size:350px;padding-bottom:135px}.about-values:after{bottom:-100px;height:100px}.about-values .grid{background:none;height:unset}.about-values ul{flex-direction:column;padding:0 125px}.about-values ul li{height:unset;margin:0 0 80px;padding:0;width:unset}}@media (max-width:995px){.about-values h2{margin:0 40px 80px}.about-values ul{padding:0 40px}}.open-source{align-items:center;background:#07162f url(/rix/pr/125/build/images/grid.cd7dfaaa.svg) no-repeat;background-position:bottom;background-size:contain;color:#fff;display:flex;margin:0 0 50px;padding:130px 100px 100px 150px;position:relative}.open-source:after,.open-source:before{content:"";position:absolute}.open-source:before{background:url(/rix/pr/125/build/images/triangle.db3b1be9.svg) no-repeat;background-position:0 100%;background-size:cover;height:100px;left:0;margin-left:-1px;margin-right:-1px;margin-top:-1px;top:0;width:calc(100% + 2px)}.open-source:after{background:url(/rix/pr/125/build/images/github.ae472559.svg) no-repeat;background-position:bottom;background-size:contain;height:100px;left:150px;top:60px;width:95px}.open-source__title{margin-right:120px!important;margin-top:20px!important;padding:0;white-space:nowrap}.open-source__content .button{margin-top:20px}@media (max-width:1220px){.open-source{align-items:flex-start;flex-direction:column;padding-bottom:40px;padding-left:40px;padding-right:40px}.open-source:before{top:-40px}.open-source:after{left:40px;top:30px}.open-source__title{margin-bottom:40px;margin-right:0}}@media (max-width:760px){.open-source{left:20px;position:relative}}@media (max-width:380px){.open-source{left:0;width:calc(100% + 20px)}}.services-list{border:1px solid #99b7d1;margin:0 0 60px;position:relative}.services-list:first-of-type{left:-125px}.services-list:last-of-type{right:-125px}.services-list ul{display:flex;list-style:none;margin:0;padding:0}.services-list__title{border-bottom:1px solid #99b7d1;padding:20px 50px 25px}.services-list__title h3{color:#07162f;font-family:Outfit Semi Bold;font-size:2.25rem;font-weight:400;line-height:1.25;margin:0}.services-list__title h3>span{color:#eb5050;display:block;font-family:Outfit Semi Bold;font-size:1.75rem}.services-list__item{border-right:1px solid #99b7d1;margin-bottom:0;min-width:33.3333333333%;padding-left:0;position:relative;width:33.3333333333%}.services-list__item:after,.services-list__item:before{content:none}.services-list__item:last-of-type{border-right:none}.services-list__item img{margin:0;width:95px}.services-list__item a{color:#07162f;display:block;height:100%;padding:0 50px 160px;text-decoration:none}.services-list__item a:active .sliding-button,.services-list__item a:focus .sliding-button,.services-list__item a:hover .sliding-button{border-top:1px solid #99b7d1}.services-list__item a:active .sliding-button:before,.services-list__item a:active .sliding-button__content,.services-list__item a:focus .sliding-button:before,.services-list__item a:focus .sliding-button__content,.services-list__item a:hover .sliding-button:before,.services-list__item a:hover .sliding-button__content{transform:translateY(0) rotate(0deg)}.services-list__item h4{color:#07162f;font-family:Outfit Semi Bold;font-size:1.5rem;line-height:1.3;margin:40px 0 15px}@media (max-width:1440px){.services-list:first-of-type,.services-list:last-of-type{left:unset;right:unset}}@media (max-width:1280px){.services-list{border:none}.services-list ul{flex-direction:column}.services-list__title{border:1px solid #99b7d1;border-bottom:none}.services-list__item{border:1px solid #99b7d1!important;margin:0 0 10px;min-width:100%;width:100%}.services-list__item a{padding:0 50px 80px}}@media (max-width:995px){.services-list__item img{width:60px}.services-list__item a{padding:0 25px 80px}}.sliding-button{background:#fff;bottom:0;display:flex;flex-wrap:wrap;height:80px;left:0;overflow:hidden;position:absolute;right:0}.sliding-button:before{background-color:#fff;content:"";height:80px;position:absolute;transform:translateY(160%) rotate(10deg);transition:transform .6s;width:500px}.sliding-button img{border-bottom:1px solid #99b7d1;border-right:1px solid #99b7d1;margin:0;padding:0 20px;width:50%}.sliding-button img:nth-of-type(2n){border-right:none}.sliding-button img:last-of-type,.sliding-button img:nth-last-of-type(2){border-bottom:none}.sliding-button__content{align-items:center;background:#fff;display:flex;font-family:Outfit Semi Bold;height:80px;justify-content:flex-end;left:0;padding:0 40px;position:absolute;top:0;transform:translateY(160%) rotate(10deg);transition:transform .35s;width:100%}.sliding-button__content .icon{color:#eb5050;margin-right:15px}.sliding-button--replaced{border-top:1px solid #99b7d1}.sliding-button--replaced .sliding-button__content{border-top:1px solid transparent}.sliding-button--large,.sliding-button--large .sliding-button__content,.sliding-button--large:before{height:160px}@media (max-width:1280px){.sliding-button{display:none}.sliding-button--mobile{border-top:none!important;display:flex}.sliding-button--mobile .sliding-button__content{transform:none;transition:none}}.signature{display:flex;justify-content:space-between}.signature textarea{height:200px;padding:10px;width:100%}.signature__preview{margin-top:25px;padding-right:95px}.signature__code{flex:1}.signature__code p{margin:0 0 15px}@media (max-width:1220px){.signature{flex-direction:column-reverse}}.ecosystem{position:relative}.ecosystem>img{left:400px;position:absolute;top:275px;width:330px}.ecosystem__list{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;position:relative;z-index:1}.ecosystem__list li{background:#fff;border:1px solid #d7e4ef;margin-bottom:20px;min-height:300px;padding:30px 35px;width:370px}.ecosystem__list li:after,.ecosystem__list li:before{content:none}.ecosystem__list li img{width:50px}.ecosystem__list li strong{font-size:1.5rem}.ecosystem__list li h4{color:#07162f;font-family:Outfit Semi Bold;font-size:1.5rem;line-height:1.3;margin:40px 0 15px}.ecosystem__list .analysis{margin-left:200px}.ecosystem__list .detection{margin-left:40px}.ecosystem__list .automation{margin-left:45px}.ecosystem__list .supervision{margin-left:300px}.ecosystem__list .backup{margin-left:225px}@media (max-width:1440px){.ecosystem>img{margin-bottom:-20px;margin-left:auto;position:static;width:270px}.ecosystem__list li{min-height:unset;width:100%}.ecosystem__list .analysis,.ecosystem__list .automation,.ecosystem__list .backup,.ecosystem__list .detection,.ecosystem__list .supervision{margin-left:0}}@media (max-width:1220px){.ecosystem>img{width:200px}}.tags-list{display:flex;flex-wrap:wrap;margin:0;padding:0}.miniature .tags-list,.miniature-inline .tags-list{margin-bottom:35px}.tags-list__item{background-color:#d7e4ef;border:none!important;color:#07162f;display:flex;font-family:Outfit Semi Bold;font-size:.875rem;margin:5px!important;padding:7px 10px!important}.tags-list__item:after,.tags-list__item:before{display:none}.tags-list__item a{text-decoration:none}.timeline{display:flex;list-style:none;margin:50px 0;padding:0}.timeline__item{margin:0 80px;max-width:330px;padding-top:68px;position:relative}.timeline__item:after,.timeline__item:before{content:"";position:absolute}.timeline__item:before{background-image:url(/rix/pr/125/build/images/dot.ec074665.svg);background-repeat:repeat-x;height:2px;left:100px;top:32px;width:100%}.timeline__item:after{background-image:url(/rix/pr/125/build/images/circle.aa70b6bc.svg);height:65px;top:0;width:65px}.timeline__item:last-of-type:before{display:none}.timeline__item .title{font-size:1.5rem}@media (max-width:995px){.timeline{flex-direction:column}.timeline__item{margin:0 0 50px}.timeline__item:before{display:none}.timeline__item:last-of-type{margin:0}}.technologies-list{margin:0 0 60px;position:relative}.technologies-list ul{display:flex;flex-wrap:wrap;margin:0;padding:0}.technologies-list ul>li:after,.technologies-list ul>li:before{content:none}.technologies-list__title{padding-bottom:20px}.technologies-list__item{border:1px solid #99b7d1;border-left:none;margin-bottom:15px;min-width:33.3333333333%;padding-left:0;position:relative;text-align:center;width:33.3333333333%}.technologies-list__item:nth-of-type(3n+1){border-left:1px solid #99b7d1}.technologies-list__item:last-of-type{margin-bottom:15px}.technologies-list__item a{color:#99b7d1;display:block;font-family:Outfit Semi Bold;height:100%;text-decoration:none}.technologies-list__item a>span{display:block;padding:20px 0}.technologies-list__item img{border-bottom:1px solid #99b7d1;padding:0 50px;width:100%}@media (max-width:995px){.technologies-list__item{border-left:1px solid #99b7d1;width:100%}.technologies-list__item img{padding:0 100px}}.table-of-contents{border:1px solid #99b7d1;color:#eb5050;display:flex;flex-direction:column;font-family:Montserrat Medium;margin:0;padding:30px 45px;width:calc(100% - 330px)}.table-of-contents__item{padding:0 15px}.table-of-contents__item a{text-decoration:none}.table-of-contents__sub-level{list-style-type:lower-alpha}@media (max-width:1220px){.table-of-contents{padding:20px 25px;width:100%}}.profile{background:#fff;border:1px solid #99b7d1;display:flex;flex-direction:column;padding-left:0}.profile__image{background:#d7e4ef 0/contain no-repeat url(/rix/pr/125/build/images/default.c762a445.png);height:195px;margin-bottom:20px}.profile__name{font-family:Outfit Semi Bold;font-size:1.5rem}.profile__job,.profile__name{line-height:1.4;padding:0 40px}.profile__job{color:#eb5050;font-size:1.25rem}.profile__socials{display:flex;margin-top:20px}.profile__socials a{border-right:1px solid #99b7d1;border-top:1px solid #99b7d1;color:#eb5050;flex:1;font-size:1.0625rem;padding:7px 0;text-align:center;text-decoration:none}.profile__socials a:last-of-type{border-right:none}.profile__socials a:active,.profile__socials a:focus,.profile__socials a:hover{background-color:#d7e4ef}.profile-list{align-items:flex-start;display:flex;flex-wrap:wrap;list-style:none;margin:70px -125px;padding:0}.profile-list>li{margin:0 20px 30px;min-width:calc(25% - 40px);width:calc(25% - 40px)}.profile-list>li:after,.profile-list>li:before{content:none}@media (max-width:1280px){.profile-list>li{display:none;min-width:calc(33.33% - 40px);width:calc(33.33% - 40px)}.profile-list .experience,.profile-list .profile{display:flex}}@media (max-width:995px){.profile-list>li{min-width:calc(50% - 40px);width:calc(50% - 40px)}}@media (max-width:760px){.profile-list{margin:70px 0 0}.profile-list>li{margin:0 0 30px;min-width:100%;width:100%}}.pagination{align-items:center;background:#fff;display:flex;justify-content:center;margin:0;padding:20px 0}.pagination__item{border-bottom:1px solid #99b7d1;border-top:1px solid #99b7d1;margin:0;padding-left:0}.pagination__item:after,.pagination__item:before{display:none}.pagination__item:nth-of-type(2){padding-left:20px}.pagination__item:nth-last-of-type(2){padding-right:20px}.pagination__item a{align-items:center;color:#07162f;display:flex;font-family:Outfit Semi Bold;font-size:1.125rem;height:48px;justify-content:center;margin:0;position:relative;text-decoration:none;width:48px;z-index:1}.pagination__item a:after{background:transparent;border-radius:50%;content:"";height:25px;pointer-events:none;position:absolute;transition:background .1s ease-in;width:25px;z-index:-1}.pagination__item a:active,.pagination__item a:focus,.pagination__item a:hover{color:#fff}.pagination__item a:active:after,.pagination__item a:focus:after,.pagination__item a:hover:after{background:#07162f;border-radius:50%}.pagination__item--active a{pointer-events:none}.pagination__item--active a:after{background:#d7e4ef;border-radius:unset}.pagination__item--nav{border-left:1px solid #99b7d1;border-right:1px solid #99b7d1}.pagination__item--nav a{color:#eb5050;font-size:1.25rem;transition:background .1s ease-in}.pagination__item--nav a:after{display:none}.pagination__item--nav a:active,.pagination__item--nav a:focus,.pagination__item--nav a:hover{background:#eb5050;color:#fff}@media (max-width:760px){.pagination__item:nth-of-type(2){padding-left:10px}.pagination__item:nth-last-of-type(2){padding-right:10px}.pagination__item a{height:50px;width:35px}.pagination__item--nav a{width:40px}}.experience{background:#fff;border:1px solid #99b7d1;border-top:13px solid #07162f;color:#07162f;display:flex;flex-direction:column;min-height:370px;padding:70px 0;position:relative;text-align:center;white-space:nowrap}.experience strong{font-family:"DM Serif Display";font-size:2.5rem;line-height:1.1}.experience strong span{font-size:7.5rem}.experience--dark{background:#07162f;border:none;border-top:13px solid #d7e4ef;color:#fff}.experience--dark:before{background:url(/rix/pr/125/build/images/expertise.9d4f8cd1.svg) no-repeat;background-position:top;background-size:contain;border-radius:0;content:""!important;height:55px;left:unset;position:absolute;right:35px;top:-1px;width:45px}.preview{background:url(/rix/pr/125/build/images/preview.1e8ad7d0.svg) no-repeat;background-position:top;background-size:cover;color:#fff;padding:128px 55px 55px;position:absolute;right:125px;top:-275px;width:575px}.preview .preview__content{text-align:center}.preview .button{margin:0 auto;max-width:400px;width:100%}.preview .button:before{width:750px}.preview__image{background:no-repeat;background-position:50%;background-size:cover;height:350px;margin-bottom:74px}@media (max-width:1220px){.preview{max-width:100%;position:unset;width:100%}}.miniature-highlight{display:flex;flex-direction:column;margin:0 0 40px;padding:0;width:100%}.miniature-highlight a:focus .miniature-highlight__image:before,.miniature-highlight a:hover .miniature-highlight__image:before{background-color:rgba(0,0,0,.2)}.miniature-highlight a:focus .miniature-highlight__image .image,.miniature-highlight a:hover .miniature-highlight__image .image{transform:scale(1.02);transform-origin:center}.miniature-highlight__image{min-height:350px;min-width:575px;overflow:hidden;position:relative;width:575px}.miniature-highlight__image:before{background-color:transparent;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transition:background-color .2s ease-in-out;z-index:1}.miniature-highlight__image .image{background-position:50%;background-repeat:no-repeat;background-size:cover;display:block;height:100%;transition:transform .2s ease-in-out}.miniature-highlight__content{display:flex;text-decoration:none}.miniature-highlight__content h2{margin:10px 0 15px}.miniature-highlight__content .details{padding:60px 80px 20px}.miniature-highlight__content .date{color:#eb5050;font-family:Outfit Semi Bold;font-size:1rem}.miniature-highlight__tags{border-top:1px solid #99b7d1;padding:25px 450px 25px 80px}.miniature-highlight__author{background:#fff;border-left:1px solid #99b7d1;border-top:1px solid #99b7d1;bottom:0;min-width:370px;padding:30px;position:absolute;right:0;z-index:2}@media (max-width:1220px){.miniature-highlight__content{flex-direction:column-reverse}.miniature-highlight__content .details{padding:30px 30px 0}.miniature-highlight__image{min-height:260px;min-width:100%;width:100%}.miniature-highlight__image .image{height:100%;width:100%}.miniature-highlight__tags{padding:15px 30px}.miniature-highlight__author{border-left:none;min-width:100%;position:static}}.side-image{align-items:center;display:flex;margin:0 0 35px}.side-image figure,.side-image>img{margin:0 50px!important;max-width:calc(50% - 100px);width:unset!important}.side-image__content{flex:1}@media (max-width:1280px){.side-image{flex-direction:column}.side-image figure,.side-image>img{margin:50px 0!important;max-width:100%}}a{text-decoration:underline}a,a:active,a:focus,a:hover{color:#07162f}code,code [class*=language-],code[class*=language-],pre,pre [class*=language-],pre[class*=language-]{word-wrap:normal;background:#d7e4ef;color:#07162f;font-family:monospace;font-size:1.125rem;-webkit-hyphens:none;hyphens:none;line-height:1.5;overflow:auto;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}.code-multiline{font-size:1.125rem;margin:30px 0!important;padding:20px 30px!important}.code-inline{background:#d7e4ef;border-radius:5px;font-family:monospace;padding:2px 4px;white-space:pre-wrap}.code-inline,.token.cdata,.token.class-name,.token.delimiter,.token.doctype,.token.function,.token.function-name,.token.inserted,.token.operator,.token.prolog,.token.property,.token.punctuation,.token.selector{color:#07162f}.token.atrule,.token.attr-name,.token.builtin,.token.constant,.token.deleted,.token.important,.token.keyword,.token.namespace,.token.symbol,.token.tag,.token.variable{color:#eb5050}.token.attr-value,.token.boolean,.token.char,.token.entity,.token.number,.token.regex,.token.string,.token.url{color:#294262}.token.block-comment,.token.block-comment *,.token.comment,.token.comment *{border:none;color:#616161!important}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.content{background:#d7e4ef;display:initial}img,video{display:block;margin:35px auto;max-width:100%}figure{margin-bottom:50px}figure img{display:block;margin:0 auto 20px;max-width:100%}figcaption{display:flex;flex-wrap:wrap;justify-content:center;margin:0 auto;max-width:600px}figcaption a{border:none}figcaption a,figcaption a:active,figcaption a:focus,figcaption a:hover{color:#07162f}.figure__credits{padding-left:30px;position:relative}.figure__credits:before{background-color:#07162f;content:"";height:1px;left:8px;position:absolute;top:50%;transform:translateY(-50%);width:12px}p{margin:0 0 35px}.h1,.h2,.h3,.h4,.h5,.h6{display:block}.h1,h1{font-size:4.5rem;font-weight:400;line-height:1.25;margin:75px 0 35px}.h1,.h1 *,h1,h1 *{font-family:"DM Serif Display"}.h1 span,h1 span{color:#eb5050;display:block;font-family:Outfit Semi Bold;font-size:3.3125rem}.h1 strong,h1 strong{color:#eb5050}.h2,h2{font-family:Outfit Semi Bold;font-size:2.25rem;font-weight:400;line-height:1.3;margin:30px 0}.h3,h3{font-size:1.75rem;line-height:1.7;margin:30px 0 23px}.h3,.h4,.h5,.h6,h3,h4,h5,h6{color:#eb5050;font-family:Outfit Semi Bold;font-weight:400}.h4,.h5,.h6,h4,h5,h6{font-size:1.25rem;line-height:2.4;margin:23px 0}.h2--large{font-family:"DM Serif Display";font-size:4.5rem;font-weight:400;line-height:1.2}.h2--large>span{display:block;font-size:1.75rem;line-height:1.8}.h2--large>span,.h3--small{color:#eb5050;font-family:Outfit Semi Bold}.h3--small{font-size:1rem;font-weight:400;line-height:1.7;margin-bottom:0}.h3--dark{color:#07162f;font-family:Outfit Semi Bold;font-size:1.75rem;margin-top:0}.image-title{margin:0 0 25px}.image-title img{height:55px;margin:0 0 15px}.image-title__content{color:#07162f;font-family:Outfit Semi Bold;font-size:1.5rem;line-height:1.3;margin:0}.image-title--light .image-title__content{color:#fff}.case-study__title{margin-bottom:40px!important}.anchor-title{scroll-margin-top:130px}.anchor-title a{text-decoration:none}.anchor-title a:after{bottom:-10px;color:#294262;content:"#";left:10px;opacity:0;position:relative;transform:translateY(-10px);transition:opacity .15s ease-in,bottom .15s ease-in}.anchor-title a:active:after,.anchor-title a:focus:after,.anchor-title a:hover:after{bottom:0;opacity:1}@media (max-width:995px){.h1,h1{font-size:3rem;margin:15px 0 30px}.h2,.h3,h2,h3{font-size:1.5rem}.h2--large{font-size:2.25rem}.h3--dark{font-size:1.5rem}.h2--large>span,.h2>span{font-size:1.25rem}.case-study__title{font-size:2.25rem}.anchor-title{scroll-margin-top:50px}}@media (max-width:380px){.h1,h1{font-size:2.1875rem}}ul{list-style:none;margin:35px 0;padding:0}ul li{margin-bottom:3px;padding-left:30px;position:relative}ul li:last-of-type{margin-bottom:0}ul li:after,ul li:before{height:16px;position:absolute;top:4px;width:16px}ul li:before{background:#d7e4ef;border-radius:50%;content:"";left:0}ul li:after{align-items:center;color:#07162f;content:"\e902";display:flex;font-family:icomoon;font-size:.4375rem;justify-content:center;left:1px}.screen-reader{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.page-home main{padding-bottom:0}.home-services>p{margin-bottom:100px;max-width:690px}.home-ecosystem{background:url(/rix/pr/125/build/images/waves.be5ec2dc.svg) no-repeat;background-position:50%;background-size:1650px;position:relative}.home-ecosystem:before{background:linear-gradient(180deg,#fff 40%,hsla(0,0%,100%,.5) 70%,hsla(0,0%,100%,0));content:"";height:200px;left:0;position:absolute;top:0;width:100%;z-index:0}.home-ecosystem h2{position:relative;z-index:1}.home-clients{background:#fff;margin-left:0;padding-top:117px}@media (max-width:760px){.home-ecosystem{background-position:top;background-size:105%}.home-ecosystem:after,.home-ecosystem:before{display:none}}.page-article main{background-image:none;padding-bottom:75px}.page-article h2:first-of-type{margin-top:0;padding-top:0}.page-article .alert{margin:0 0 40px}.page-blog main{background-image:none}.page-blog .content{padding-bottom:50px}.page-blog .content ul>li:first-of-type{border:1px solid #99b7d1}.page-blog .content ul>li:after,.page-blog .content ul>li:before{content:none!important}.page-blog .miniature:nth-child(3n+1),.page-blog .miniature:nth-child(3n+3){margin-left:20px;margin-right:20px}.page-blog .miniature:nth-child(3n+5),.page-blog .miniature:nth-child(5){margin-left:0}.page-blog .miniature:nth-child(3n+7),.page-blog .miniature:nth-child(7){margin-right:0}@media (max-width:1440px){.page-blog .miniature:nth-child(2n+2),.page-blog .miniature:nth-child(3n+5),.page-blog .miniature:nth-child(3n+7),.page-blog .miniature:nth-child(5),.page-blog .miniature:nth-child(7),.page-blog .miniature:nth-child(odd){margin-left:20px;margin-right:20px}.page-blog .miniature:nth-child(2n+5),.page-blog .miniature:nth-child(5){margin-left:0}.page-blog .miniature:nth-child(2n+6),.page-blog .miniature:nth-child(6){margin-right:0}}@media (max-width:1280px){.sliding-button--mobile{border-top:1px solid #99b7d1!important}}.page-casebook main{background-image:none}.page-casebook .h3{margin-bottom:20px}@media (max-width:995px){.page-casebook .content{padding-bottom:50px}}.page-case-study main{background-image:none}.page-case-study .beveled-wrapper__gradient .content{padding-bottom:55px;position:relative}.page-case-study .beveled-wrapper__gradient .content ul{margin-top:0}.page-case-study .beveled-wrapper__gradient .content figure{margin-left:-125px}.page-case-study .beveled-wrapper__gradient .content figure img{margin:0 auto 20px}.page-case-study .beveled-wrapper__gradient .content figure figcaption{text-align:center}.page-case-study .beveled-wrapper__gradient .case-study__header{width:50%}.page-case-study .beveled-wrapper__gradient .case-study__header ul>li{padding-left:0}.page-case-study .beveled-wrapper__gradient .case-study__header ul>li h3{margin-bottom:0}.page-case-study .beveled-wrapper__gradient .case-study__header ul>li:after,.page-case-study .beveled-wrapper__gradient .case-study__header ul>li:before{content:none}.page-case-study .beveled-wrapper__gradient .case-study__image{height:743px}.page-case-study iframe{margin:0 auto}@media (max-width:1220px){.page-case-study .beveled-wrapper__gradient .case-study__header{width:100%}}@media (max-width:995px){.page-case-study .beveled-wrapper__gradient .content figure{margin:0}}.page-services .miniature__content h3{color:#07162f;margin:0 0 29px}.page-services__images{border:1px solid #99b7d1;border-top:none;display:flex;height:125px}.page-services__images>span{align-items:center;background-color:#fff;border-right:1px solid #99b7d1;display:flex;flex:1;justify-content:center;padding:20px}.page-services__images>span:last-of-type{border-right:none}.page-services__images>span img{max-height:100%}.page-services__content{background:#fff;border:1px solid #99b7d1;margin:60px 0 0;padding:0 80px 70px}.page-services__content h3{color:#07162f}.page-services__content img{margin:0}@media (max-width:760px){.page-services .h3,.page-services h3{font-size:1.5rem}.page-services__content{padding:0 25px}.page-services__content img{width:60px}}.page-contact main{background-position:top;background-size:cover}.page-contact h1 span{display:block}.page-legals h2:first-of-type{margin:0}.page-error main{background-position:top;background-size:cover}.error__title span{color:#eb5050;display:block;font-family:Outfit Semi Bold;font-size:3.3125rem}.error__action{margin:35px 0 0}.error__action .button{margin-right:35px}.error__action .button:last-of-type{margin:0}@media (max-width:1280px){.page-error main{background-image:none}.page-error .error{align-items:center;display:flex;flex-direction:column;text-align:center}}@media (max-width:995px){.page-error .error__action{display:flex;flex-direction:column}.page-error .error__action .button{margin:0 0 35px}}.page-signature main{background-image:none} \ No newline at end of file diff --git a/pr/125/build/entrypoints.json b/pr/125/build/entrypoints.json index 2c80c657..fae45f20 100644 --- a/pr/125/build/entrypoints.json +++ b/pr/125/build/entrypoints.json @@ -7,7 +7,7 @@ "/rix/pr/125/build/app.e999eb99.js" ], "css": [ - "/rix/pr/125/build/305.91aa97ab.css" + "/rix/pr/125/build/305.10b66363.css" ] }, "style": { @@ -15,7 +15,7 @@ "/rix/pr/125/build/runtime.7198d86d.js" ], "css": [ - "/rix/pr/125/build/305.91aa97ab.css" + "/rix/pr/125/build/305.10b66363.css" ] } } diff --git a/pr/125/build/manifest.json b/pr/125/build/manifest.json index f62b7dcc..0372d46e 100644 --- a/pr/125/build/manifest.json +++ b/pr/125/build/manifest.json @@ -2,7 +2,7 @@ "build/app.js": "/rix/pr/125/build/app.e999eb99.js", "build/runtime.js": "/rix/pr/125/build/runtime.7198d86d.js", "build/70.671fda9c.js": "/rix/pr/125/build/70.671fda9c.js", - "build/305.91aa97ab.css": "/rix/pr/125/build/305.91aa97ab.css", + "build/305.10b66363.css": "/rix/pr/125/build/305.10b66363.css", "build/images/background.jpg": "/rix/pr/125/build/images/background.fe096fd5.jpg", "build/images/backgrounds/background.jpg": "/rix/pr/125/build/images/backgrounds/background.fe096fd5.jpg", "build/images/backgrounds/banners/banner-home.webp": "/rix/pr/125/build/images/backgrounds/banners/banner-home.e928350e.webp", diff --git a/pr/125/confidentialite/index.html b/pr/125/confidentialite/index.html index 8fe584e9..a9355391 100644 --- a/pr/125/confidentialite/index.html +++ b/pr/125/confidentialite/index.html @@ -45,7 +45,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/contact/index.html b/pr/125/contact/index.html index f7b52ade..a523f262 100644 --- a/pr/125/contact/index.html +++ b/pr/125/contact/index.html @@ -45,7 +45,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/etudes-de-cas/index.html b/pr/125/etudes-de-cas/index.html index e7ca97ff..bed207bd 100644 --- a/pr/125/etudes-de-cas/index.html +++ b/pr/125/etudes-de-cas/index.html @@ -45,7 +45,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/etudes-de-cas/musique-music/index.html b/pr/125/etudes-de-cas/musique-music/index.html index 1e1b9cc4..089e1e20 100644 --- a/pr/125/etudes-de-cas/musique-music/index.html +++ b/pr/125/etudes-de-cas/musique-music/index.html @@ -45,7 +45,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/etudes-de-cas/panneau-pocket/index.html b/pr/125/etudes-de-cas/panneau-pocket/index.html index 7f449bc7..db3725cf 100644 --- a/pr/125/etudes-de-cas/panneau-pocket/index.html +++ b/pr/125/etudes-de-cas/panneau-pocket/index.html @@ -45,7 +45,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/index.html b/pr/125/index.html index 586158fc..8b8daddd 100644 --- a/pr/125/index.html +++ b/pr/125/index.html @@ -46,7 +46,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/legal/index.html b/pr/125/legal/index.html index 9460c33c..d3397e57 100644 --- a/pr/125/legal/index.html +++ b/pr/125/legal/index.html @@ -45,7 +45,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/resized/content/images/blog/2023/cours/ssh-keygen.gif/4c624a8987673a6deb25cf1395b926ce.gif b/pr/125/resized/content/images/blog/2023/cours/ssh-keygen.gif/4c624a8987673a6deb25cf1395b926ce.gif new file mode 100644 index 00000000..08d51c36 Binary files /dev/null and b/pr/125/resized/content/images/blog/2023/cours/ssh-keygen.gif/4c624a8987673a6deb25cf1395b926ce.gif differ diff --git a/pr/125/resized/content/images/blog/2023/cours/ssh.gif/02e06122a9eba89d4faed7b89ae519d6.gif b/pr/125/resized/content/images/blog/2023/cours/ssh.gif/02e06122a9eba89d4faed7b89ae519d6.gif new file mode 100644 index 00000000..087af9d3 Binary files /dev/null and b/pr/125/resized/content/images/blog/2023/cours/ssh.gif/02e06122a9eba89d4faed7b89ae519d6.gif differ diff --git a/pr/125/resized/content/images/blog/thumbnails/network_ssh.jpg/1aff98382feb533e37d9c85287b4e14b.jpg b/pr/125/resized/content/images/blog/thumbnails/network_ssh.jpg/1aff98382feb533e37d9c85287b4e14b.jpg new file mode 100644 index 00000000..3301f562 Binary files /dev/null and b/pr/125/resized/content/images/blog/thumbnails/network_ssh.jpg/1aff98382feb533e37d9c85287b4e14b.jpg differ diff --git a/pr/125/resized/content/images/blog/thumbnails/network_ssh.jpg/3c00bba858f59c89cfab8fd9ecc4c142.jpg b/pr/125/resized/content/images/blog/thumbnails/network_ssh.jpg/3c00bba858f59c89cfab8fd9ecc4c142.jpg new file mode 100644 index 00000000..dace6694 Binary files /dev/null and b/pr/125/resized/content/images/blog/thumbnails/network_ssh.jpg/3c00bba858f59c89cfab8fd9ecc4c142.jpg differ diff --git a/pr/125/resized/content/images/blog/thumbnails/network_ssh.jpg/56039b5e8a9d941732502f0ddd518ab4.jpg b/pr/125/resized/content/images/blog/thumbnails/network_ssh.jpg/56039b5e8a9d941732502f0ddd518ab4.jpg new file mode 100644 index 00000000..aefcb766 Binary files /dev/null and b/pr/125/resized/content/images/blog/thumbnails/network_ssh.jpg/56039b5e8a9d941732502f0ddd518ab4.jpg differ diff --git a/pr/125/resized/content/images/blog/thumbnails/network_ssh.jpg/b9bc17312aafebf07471a69f6a56381e.jpg b/pr/125/resized/content/images/blog/thumbnails/network_ssh.jpg/b9bc17312aafebf07471a69f6a56381e.jpg new file mode 100644 index 00000000..720b0c7b Binary files /dev/null and b/pr/125/resized/content/images/blog/thumbnails/network_ssh.jpg/b9bc17312aafebf07471a69f6a56381e.jpg differ diff --git a/pr/125/resized/content/images/blog/thumbnails/thisisengineering.jpg/df62f52a1bc314f874520cf74f863d76.jpg b/pr/125/resized/content/images/blog/thumbnails/thisisengineering.jpg/df62f52a1bc314f874520cf74f863d76.jpg new file mode 100644 index 00000000..025c247f Binary files /dev/null and b/pr/125/resized/content/images/blog/thumbnails/thisisengineering.jpg/df62f52a1bc314f874520cf74f863d76.jpg differ diff --git a/pr/125/resized/content/images/blog/thumbnails/thisisengineering.jpg/ffbe8863d77de881d181cdd4d9d83280.jpg b/pr/125/resized/content/images/blog/thumbnails/thisisengineering.jpg/ffbe8863d77de881d181cdd4d9d83280.jpg new file mode 100644 index 00000000..10dd5496 Binary files /dev/null and b/pr/125/resized/content/images/blog/thumbnails/thisisengineering.jpg/ffbe8863d77de881d181cdd4d9d83280.jpg differ diff --git a/pr/125/robots.txt b/pr/125/robots.txt new file mode 100644 index 00000000..9cfced28 --- /dev/null +++ b/pr/125/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Allow: / + +Sitemap: https://www.rix.fr/sitemap.xml \ No newline at end of file diff --git a/pr/125/services/index.html b/pr/125/services/index.html index f23b4190..115b4058 100644 --- a/pr/125/services/index.html +++ b/pr/125/services/index.html @@ -45,7 +45,7 @@ document.querySelector('html').classList.remove('no-js'); - + diff --git a/pr/125/sitemap.xml b/pr/125/sitemap.xml index 4ce13747..73d7f85a 100644 --- a/pr/125/sitemap.xml +++ b/pr/125/sitemap.xml @@ -1,32 +1,80 @@ + + https://rix-fr.github.io/rix/pr/125/blog + 2023-11-27T00:00:00+00:00 0 monthly + https://rix-fr.github.io/rix/pr/125/etudes-de-cas - 2022-09-12T00:00:00+00:00 0 monthly + 2022-09-12T00:00:00+00:00 monthly https://rix-fr.github.io/rix/pr/125/ - 2023-11-24T15:12:01+00:00 monthly + 2023-11-28T10:25:50+00:00 monthly https://rix-fr.github.io/rix/pr/125/a-propos - 2023-11-24T15:12:01+00:00 monthly + 2023-11-28T10:25:50+00:00 monthly https://rix-fr.github.io/rix/pr/125/services - 2023-11-24T15:12:01+00:00 monthly + 2023-11-28T10:25:50+00:00 monthly https://rix-fr.github.io/rix/pr/125/contact - 2023-11-24T15:12:01+00:00 monthly + 2023-11-28T10:25:50+00:00 monthly https://rix-fr.github.io/rix/pr/125/legal - 2023-11-24T15:12:01+00:00 monthly + 2023-11-28T10:25:50+00:00 monthly https://rix-fr.github.io/rix/pr/125/confidentialite - 2023-11-24T15:12:01+00:00 monthly + 2023-11-28T10:25:50+00:00 monthly + + + https://rix-fr.github.io/rix/pr/125/blog/cours/ansible/ansible-les-inventaires-statiques + 2023-11-27T00:00:00+00:00 monthly + + + https://rix-fr.github.io/rix/pr/125/blog/cours/ansible/ansible-premiers-pas + 2023-11-23T00:00:00+00:00 monthly + + + https://rix-fr.github.io/rix/pr/125/blog/cours/ansible/ansible-environnement-cle-en-main + 2023-11-22T00:00:00+00:00 monthly + + + https://rix-fr.github.io/rix/pr/125/blog/cours/cle-ssh-principes-de-base + 2023-10-20T00:00:00+00:00 monthly + + + https://rix-fr.github.io/rix/pr/125/blog/post-mortem/sre-interpretation-incident + 2023-10-16T00:00:00+00:00 monthly + + + https://rix-fr.github.io/rix/pr/125/blog/cours/docker-avec-windows-et-wsl + 2023-04-11T00:00:00+00:00 monthly + + + https://rix-fr.github.io/rix/pr/125/blog/cours/utiliser-la-configuration-ssh-client + 2023-01-02T00:00:00+00:00 monthly + + + https://rix-fr.github.io/rix/pr/125/blog/linux/construire-image-debian-raspberry + 2022-12-22T00:00:00+00:00 monthly + + + https://rix-fr.github.io/rix/pr/125/blog/linux/integrer-icloud-gnome-calendar + 2022-10-25T00:00:00+00:00 monthly + + + https://rix-fr.github.io/rix/pr/125/blog/linux/osx-to-linux-part-1 + 2022-11-18T00:00:00+00:00 monthly + + + https://rix-fr.github.io/rix/pr/125/blog/page/2 + 2021-03-17T00:00:00+00:00 monthly https://rix-fr.github.io/rix/pr/125/etudes-de-cas/musique-music @@ -36,4 +84,8 @@ https://rix-fr.github.io/rix/pr/125/etudes-de-cas/panneau-pocket 2021-04-21T00:00:00+00:00 monthly + + https://rix-fr.github.io/rix/pr/125/blog/styleguide/example + 2021-03-17T00:00:00+00:00 monthly + diff --git a/pr/125/social/og-default.jpg b/pr/125/social/og-default.jpg index ed982a4c..00ed6690 100644 Binary files a/pr/125/social/og-default.jpg and b/pr/125/social/og-default.jpg differ