- ID de exploración:
- 52cf2ddf-8f70-4ad2-a659-f72f53cf1d76Finalizado
- URL enviada:
- https://octauthent.com/
- Informe finalizado:
Enlaces: 5 encontrados
Los enlaces salientes identificados en la página
Enlace | Texto |
---|---|
https://octauthent.medium.com/list/octauthent-guides-b101b59e5f48 | Guides |
https://www.producthunt.com/posts/octauthent?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-octauthent | |
https://github.com/octauthent | |
https://octauthent.medium.com | |
https://dev.to/bokub/how-to-add-a-login-form-to-any-website-without-a-single-line-of-code-39h |
Variables JavaScript: 17 encontradas
Las variables JavaScript globales cargadas en el objeto de ventana de una página son variables declaradas fuera de las funciones y a las que se puede acceder desde cualquier lugar del código en el ámbito actual
Nombre | Tipo |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
$crisp | object |
CRISP_WEBSITE_ID | string |
d | object |
s | object |
___FONT_AWESOME___ | object |
FontAwesomeConfig | object |
FontAwesome | object |
Mensajes de registro de la consola: 0 encontrados
Mensajes registrados en la consola web
HTML
El cuerpo HTML sin procesar de la página
<!DOCTYPE html><html lang="en" class="fontawesome-i2svg-active fontawesome-i2svg-complete"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Octauthent - Password protection made easy</title>
<style type="text/css">svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top left;transform-origin:top left}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fad.fa-inverse{color:#fff}</style><link rel="canonical" href="https://octauthent.com">
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon/favicon-16x16.png">
<link rel="icon" type="image/x-icon" href="/img/favicon/favicon.ico">
<link rel="apple-touch-icon" sizes="180x180" href="/img/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon/favicon-16x16.png">
<link rel="manifest" href="/img/favicon/site.webmanifest">
<link rel="mask-icon" href="/img/favicon/safari-pinned-tab.svg" color="#5bbad5">
<link rel="shortcut icon" href="/img/favicon/favicon.ico">
<meta name="msapplication-TileColor" content="#6c63ff">
<meta name="msapplication-config" content="/img/favicon/browserconfig.xml">
<meta name="theme-color" content="#6c63ff">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/bulma.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/microtip.min.css">
<link rel="stylesheet" href="/css/styles.css">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Calistoga&family=Inter&display=swap" rel="stylesheet">
<script defer="" src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/js/all.js"></script>
<script defer="" src="https://cdn.jsdelivr.net/npm/@lottiefiles/[email protected]/dist/lottie-player.min.js"></script>
<script src="/js/index.js"></script>
<script async="" defer="" data-website-id="13d5277f-9108-408c-a225-bbea4cf66b6f" src="https://metrics.boris.sh/umami-script.js"></script>
<script type="text/javascript">
window.$crisp = [];
window.CRISP_WEBSITE_ID = '4041cfb2-158b-497a-bdd8-788aa0c90fdf';
(function () {
d = document;
s = d.createElement('script');
s.src = 'https://client.crisp.chat/l.js';
s.async = 1;
d.getElementsByTagName('head')[0].appendChild(s);
})();
</script><script src="https://client.crisp.chat/l.js" async=""></script>
<link href="https://client.relay.crisp.chat" rel="dns-prefetch" crossorigin=""><link href="https://client.crisp.chat" rel="preconnect" crossorigin=""><script src="https://client.crisp.chat/static/javascripts/client.js?3718772" type="text/javascript" async=""></script><link href="https://client.crisp.chat/static/stylesheets/client_default.css?3718772" type="text/css" rel="stylesheet"></head>
<body>
<!-- Wrapper -->
<div id="wrapper" class="has-text-centered-mobile">
<!-- Hero -->
<nav class="navbar" role="navigation" aria-label="main navigation">
<div class="container">
<div class="navbar-brand">
<a class="navbar-item has-text-dark" href="/">
<img src="/img/logo.svg" height="28" width="28" alt="Logo" class="mr-2">
<h1 class="logo is-size-4 is-family-secondary">Octauthent</h1>
</a>
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div id="navbarBasicExample" class="navbar-menu">
<div class="navbar-start">
<a href="https://app.octauthent.com" class="navbar-item umami--click--dashboard-link-nav"> Dashboard </a>
<a href="https://demo.octauthent.com" class="navbar-item umami--click--demo-link-nav" target="_blank">
Demo
</a>
<a href="/pricing" class="navbar-item umami--click--pricing-link-nav"> Pricing </a>
<a href="https://octauthent.medium.com/list/octauthent-guides-b101b59e5f48" class="navbar-item umami--click--guide-link-nav" target="_blank">
Guides
</a>
</div>
<div class="navbar-end">
<div class="navbar-item">
<div class="buttons">
<a class="button has-mustard-bg has-text-white margin-auto umami--click--signup-button-nav" href="https://app.octauthent.com/login">
<strong>Sign up</strong>
</a>
</div>
</div>
</div>
</div>
</div>
</nav>
<section id="hero" class="hero is-medium has-mustard-bg">
<div class="hero-body">
<div class="columns is-gapless">
<div class="column is-narrow is-hidden-mobile">
<img src="/img/white_on_purple_1200.jpg" class="margin-auto" alt="Mobile screenshot" width="450">
</div>
<div class="column">
<h1 class="has-text-white is-size-1 is-size-3-mobile headline mb-5 is-family-secondary">
Password protection made easy
</h1>
<h2 class="has-text-white subtitle">
Octauthent is the easiest way to add authentication to <b>any</b> website
</h2>
<p class="has-text-white">
Create a login form in <b>less than a minute</b><br>
Integrate it to your site <b>without a single line of code</b><br>
Manage your users from your Octauthent dashboard
</p>
<p class="has-text-centered pt-5">
<a class="button mx-2 my-2 umami--click--get-started-button" href="https://app.octauthent.com/login">
<strong>Get started for free</strong>
</a>
<a class="button mx-2 my-2 is-dark has-text-white umami--click--demo-button" href="https://demo.octauthent.com" target="_blank">
Demo
</a>
</p>
<p>
<!-- Product hunt badge -->
<a href="https://www.producthunt.com/posts/octauthent?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-octauthent" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=307317&theme=light" alt="Octauthent - Password protection made easy | Product Hunt" style="width: 250px; height: 70px" width="250" height="70"></a>
<!-- End Product hunt badge -->
</p>
</div>
</div>
</div>
</section>
<!-- END Hero -->
<!-- Twitter Feed -->
<!-- <section id="twitter-feed" class="section has-white-mustard-gradient">-->
<!-- <div class="container">-->
<!-- <div class="columns">-->
<!-- <div class="column">-->
<!-- <div class="box">-->
<!-- <article class="media">-->
<!-- <div class="media-left">-->
<!-- <figure class="image is-64x64">-->
<!-- <img src="img/twitter-profile-guy.jpg" alt="Image" />-->
<!-- </figure>-->
<!-- </div>-->
<!-- <div class="media-content">-->
<!-- <div class="content has-text-left">-->
<!-- <p>-->
<!-- <strong>Some guy</strong> <small>@someguy</small>-->
<!-- <!–<small>5m</small>–>-->
<!-- <br />-->
<!-- Thanks to @octauthent, I was able to add a login from to my blog in less than 5 minutes!-->
<!-- Christmas came early, I guess-->
<!-- </p>-->
<!-- </div>-->
<!-- <nav class="level is-mobile">-->
<!-- <div class="level-left">-->
<!-- <span class="level-item" aria-label="reply">-->
<!-- <span class="icon is-small">-->
<!-- <i class="fas fa-reply" aria-hidden="true"></i>-->
<!-- </span>-->
<!-- </span>-->
<!-- <span class="level-item" aria-label="retweet">-->
<!-- <span class="icon is-small">-->
<!-- <i class="fas fa-retweet" aria-hidden="true"></i>-->
<!-- </span>-->
<!-- </span>-->
<!-- <span class="level-item" aria-label="like">-->
<!-- <span class="icon is-small">-->
<!-- <i class="fas fa-heart" aria-hidden="true"></i>-->
<!-- </span>-->
<!-- </span>-->
<!-- </div>-->
<!-- </nav>-->
<!-- </div>-->
<!-- </article>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="column">-->
<!-- <div class="box">-->
<!-- <article class="media">-->
<!-- <div class="media-left">-->
<!-- <figure class="image is-64x64">-->
<!-- <img src="img/twitter-profile-girl.jpg" alt="Image" />-->
<!-- </figure>-->
<!-- </div>-->
<!-- <div class="media-content">-->
<!-- <div class="content has-text-left">-->
<!-- <p>-->
<!-- <strong>Some girl</strong> <small>@somegirl</small>-->
<!-- <!–<small>5m</small>–>-->
<!-- <br />-->
<!-- The beta version of our plateform is protected by #octauthent. Controlling who has access to it-->
<!-- has never been easier!-->
<!-- </p>-->
<!-- </div>-->
<!-- <nav class="level is-mobile">-->
<!-- <div class="level-left">-->
<!-- <a class="level-item" aria-label="reply">-->
<!-- <span class="icon is-small">-->
<!-- <i class="fas fa-reply" aria-hidden="true"></i>-->
<!-- </span>-->
<!-- </a>-->
<!-- <a class="level-item" aria-label="retweet">-->
<!-- <span class="icon is-small">-->
<!-- <i class="fas fa-retweet" aria-hidden="true"></i>-->
<!-- </span>-->
<!-- </a>-->
<!-- <a class="level-item" aria-label="like">-->
<!-- <span class="icon is-small">-->
<!-- <i class="fas fa-heart" aria-hidden="true"></i>-->
<!-- </span>-->
<!-- </a>-->
<!-- </div>-->
<!-- </nav>-->
<!-- </div>-->
<!-- </article>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- <!– <p class="is-size-7 has-text-centered">See more at #octauthent</p>–>-->
<!-- </div>-->
<!-- </section>-->
<!-- END Twitter Feed -->
<!-- Features -->
<section id="features" class="section has-white-bg">
<div class="container">
<div class="columns reverse-row-order is-desktop py-6">
<div class="column">
<h3 class="is-size-3 mb-3 is-family-secondary title">Easy setup and integration</h3>
<p class="paragraph">
There are dozens of authentication solutions on the market, but most of them assume you're an
experienced developer ready to integrate libraries and SDKs to your web project.
<br>
<br>
Octauthent has been designed to integrate to your website without any technical knowledge. In fact, you
don't even need access to your website code
</p>
</div>
<div class="column">
<img class="feature-img" src="img/undraw_Setup_wizard_re_nday.svg" alt="feature">
</div>
</div>
</div>
<div class="container">
<div class="columns is-desktop py-6">
<div class="column">
<img src="img/customization.gif" alt="Customization">
</div>
<div class="column">
<h3 class="is-size-3 mb-3 is-family-secondary title">Complete customization</h3>
<p class="paragraph">
Using Octauthent doesn't mean you have to sacrifice user experience
<br>
<br>
You can control most of the aspects of your authentication process directly from your dashboard: session
expiration, authentication methods, and of course, the look and feel of your login form
<br>
<br>
You know what's even better? Your login form will always be displayed on your domain, like any other
page of your site. Say goodbye to annoying redirections
</p>
</div>
</div>
</div>
<div class="container">
<div class="columns reverse-row-order is-desktop py-6">
<div class="column">
<h3 class="is-size-3 mb-3 is-family-secondary title">Works with what you already use</h3>
<p class="paragraph">
Octauthent works on a large panel of systems and hosting platforms, even the most limited ones.
<br>
<br>
In fact, Octauthent can work on any website, as long as you own the domain name.
<br>
<br>
Read our integration guides and
<a href="https://octauthent.medium.com/list/octauthent-guides-b101b59e5f48" target="_blank">
step-to-step tutorials
</a>
for detailed explanations
</p>
</div>
<div class="column platforms py-6">
<div class="columns is-centered is-multiline is-mobile">
<div class="column is-half-mobile is-one-third-tablet is-half-desktop my-2">
<img src="/img/platforms/cloudflare.svg" alt="Cloudflare">
</div>
<div class="column is-half-mobile is-one-third-tablet is-half-desktop my-2">
<img src="/img/platforms/wordpress.svg" alt="Wordpress">
</div>
<div class="column is-half-mobile is-one-third-tablet is-half-desktop my-2 py-4">
<img src="/img/platforms/github-pages.svg" alt="GitHub Pages">
</div>
<div class="column is-half-mobile is-one-third-tablet is-half-desktop my-2">
<img src="/img/platforms/netlify.svg" alt="Netlify">
</div>
<div class="column is-half-mobile is-one-third-tablet is-half-desktop my-2 py-4">
<img src="/img/platforms/vercel.svg" alt="Vercel">
</div>
<div class="column is-half-mobile is-one-third-tablet is-half-desktop my-2">
<img src="/img/platforms/heroku.svg" alt="Heroku">
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="columns is-desktop py-6">
<div class="column">
<lottie-player src="/js/lottie_password.json" background="transparent" speed="1" loop="" autoplay=""></lottie-player>
</div>
<div class="column">
<h3 class="is-size-3 mb-3 is-family-secondary title">Production-ready security</h3>
<p class="paragraph">
The ease of Octauthent doesn't make it less secure than other authentication solutions or something you
would code yourself
<br>
<br>
Every request to your website domain is intercepted and evaluated by Octauthent, which acts as a
bouncer. Unauthorized requests are blocked, allowed ones are proxied to your website.
<br>
<br>
Under the hood, Octauthent uses well known industry standards, such as JSON Web Tokens (JWT), RSA with
SHA-256 for signatures, and bcrypt for hashing passwords.
</p>
</div>
</div>
</div>
</section>
<!-- END Features -->
<!-- Newsletter -->
<section id="newsletter" class="section">
<div class="container">
<h3 class="is-size-3 mb-3 is-family-secondary title">What are you waiting for?</h3>
<p>
You are one step away from having a secure authentication system on your website
<br>
<br>
Sign up today and protect your website for free!
</p>
<a class="button has-mustard-bg has-text-white mt-5 umami--click--sign-up-button-bottom" href="https://app.octauthent.com/login">
<strong>Sign up now</strong>
</a>
</div>
</section>
<!-- END Newsletter -->
</div>
<!-- END Wrapper -->
<!-- Footer -->
<footer id="footer" class="section has-mustard-bg">
<div class="container has-text-centered">
<a href="https://github.com/octauthent" target="_blank" class="is-size-4 social-link umami--click--github-button-footer">
<svg class="svg-inline--fa fa-github fa-w-16" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512" data-fa-i2svg=""><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg><!-- <i class="fab fa-github"></i> -->
</a>
<a href="https://octauthent.medium.com" target="_blank" class="is-size-4 social-link umami--click--medium-button-footer">
<svg class="svg-inline--fa fa-medium fa-w-14" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="medium" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" data-fa-i2svg=""><path fill="currentColor" d="M0 32v448h448V32H0zm372.2 106.1l-24 23c-2.1 1.6-3.1 4.2-2.7 6.7v169.3c-.4 2.6.6 5.2 2.7 6.7l23.5 23v5.1h-118V367l24.3-23.6c2.4-2.4 2.4-3.1 2.4-6.7V199.8l-67.6 171.6h-9.1L125 199.8v115c-.7 4.8 1 9.7 4.4 13.2l31.6 38.3v5.1H71.2v-5.1l31.6-38.3c3.4-3.5 4.9-8.4 4.1-13.2v-133c.4-3.7-1-7.3-3.8-9.8L75 138.1V133h87.3l67.4 148L289 133.1h83.2v5z"></path></svg><!-- <i class="fab fa-medium"></i> -->
</a>
<a href="https://dev.to/bokub/how-to-add-a-login-form-to-any-website-without-a-single-line-of-code-39h" target="_blank" class="is-size-4 social-link umami--click--dev-button-footer">
<svg class="svg-inline--fa fa-dev fa-w-14" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="dev" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" data-fa-i2svg=""><path fill="currentColor" d="M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z"></path></svg><!-- <i class="fab fa-dev"></i> -->
</a>
</div>
</footer>
<div aria-live="polite" class="crisp-client"><div class="cc-rukbw"><div class="cc-9yvsj"><style type="text/css">.crisp-client *:focus-visible {
outline-color: #091C87 !important;
}
.crisp-client .cc-1brb6 .cc-co79q {
color: #FFFFFF !important;
}
.crisp-client .cc-1brb6 .cc-1dvce {
color: #2943D1 !important;
}
.crisp-client .cc-1brb6 .cc-5t1tm {
background-color: #FFFFFF !important;
}
.crisp-client .cc-1brb6 .cc-1q2sq {
background-color: #091C87 !important;
}
.crisp-client .cc-1brb6 .cc-62iw4 {
background-color: #1732C4 !important;
}
.crisp-client .cc-1brb6 .cc-1kgzy {
background-color: #2943D1 !important;
}
.crisp-client .cc-1brb6 .cc-1kgzy *:focus-visible {
outline-color: #F0F2F5 !important;
}
.crisp-client .cc-1brb6 .cc-m59gn {
background-color: #F5F5FB !important;
}
.crisp-client .cc-1brb6 .cc-jtuj4 {
background-color: #F0F2F5 !important;
}
.crisp-client .cc-1brb6 .cc-1ikmr {
border-color: #FFFFFF !important;
}
.crisp-client .cc-1brb6 .cc-1i61z,
.crisp-client .cc-1brb6 .cc-134r8:hover {
border-color: #2943D1 !important;
}
.crisp-client .cc-1brb6 .cc-un6tk {
border-color: rgba(41, 67, 209, 0.2) !important;
}
.crisp-client .cc-1brb6 .cc-weiiy {
border-bottom-color: #2943D1 !important;
}
.crisp-client .cc-1brb6 .cc-18tkz::placeholder {
color: #92A9C1 !important;
}
.crisp-client .cc-1brb6 .cc-10xgc::placeholder {
color: #92A9C1 !important;
}
.crisp-client .cc-1brb6 .cc-y2afy,
.crisp-client .cc-1brb6 .cc-y2afy:active,
.crisp-client .cc-1brb6 .cc-1swm7:hover .cc-17cww,
.crisp-client .cc-1brb6 .cc-1swm7 .cc-17cww:active {
background: #091C87 !important;
}
.crisp-client .cc-1brb6 .cc-coh7k,
.crisp-client .cc-1brb6 .cc-1cx9a:hover,
.crisp-client .cc-1brb6 .cc-1xhex[data-active="true"] .cc-ydjl9 {
background: #112BB9 !important;
}
.crisp-client .cc-1brb6 .cc-y2afy:hover,
.crisp-client .cc-1brb6 .cc-coh7k:hover,
.crisp-client .cc-1brb6 .cc-1cx9a:active {
background: #0F249A !important;
}
.crisp-client .cc-1brb6 .cc-coh7k:active {
background: #091C87 !important;
}
.crisp-client .cc-1brb6 .cc-aoc5z:hover .cc-fajgc {
background: #112BB9 !important;
}
.crisp-client .cc-1brb6 .cc-aoc5z .cc-fajgc:active {
background: #0F249A !important;
}
.crisp-client .cc-1brb6 .cc-f5i1a,
.crisp-client .cc-1brb6 .cc-70ynx:hover .cc-iuh54,
.crisp-client .cc-1brb6 .cc-70ynx .cc-iuh54:active {
background: #2943D1 !important;
}
.crisp-client .cc-1brb6 .cc-f5i1a:hover {
background: #1732C4 !important;
}
.crisp-client .cc-1brb6 .cc-f5i1a:active {
background: #112BB9 !important;
}
.crisp-client .cc-1brb6 .cc-vibqn::selection,
.crisp-client .cc-1brb6 .cc-vibqn *::selection {
color: #1c293b !important;
background-color: #DDE2FF !important;
}</style></div><div class="cc-k4lmp"><style type="text/css">.crisp-client .cc-1brb6 {
z-index: 1000000;
}</style></div></div><div id="crisp-chatbox" lang="en" dir="ltr" translate="no" tabindex="-1" class="cc-1brb6" data-hidden="false" data-force-show="false" data-color-mode="light" data-availability="away" data-lock-maximized="false" data-website-logo="false" data-last-operator-face="false" data-ongoing-operator-face="false" data-availability-tooltip="false" data-hide-vacation="false" data-blocked="false" data-mobile-view="false" data-full-view="false" data-small-view="true" data-large-view="false" data-has-local-messages="false" data-was-availability-online="false" data-is-activity-ongoing="false" data-hide-on-away="false" data-hide-on-mobile="false" data-position-reverse="false"><div class="cc-1yy0g cc-1wive cc-vibqn"><a data-maximized="false" data-is-failure="false" class="cc-1m2mf" tabindex="0" role="button" aria-label="Open chat" data-pane-animate-entrance="false" data-pop="minimized:open"><span class="cc-6lwfw"><!--v-if--></span><span class="cc-157aw cc-1kgzy"><span data-id="chat_closed" data-is-ongoing="false" class="cc-d73fc"><span class="cc-1bvfm cc-hshc7"><!--v-if--></span></span></span></a></div></div></div></body></html>