/*
# ------------------ BEGIN LICENSE BLOCK ------------------
#
# This file is part of PluXml : https://www.pluxml.org
#
# Package:		theme.css
# Copyright (c) 2019 PluXml
# Authors		Jos, Stephane F., Pedro "P3ter" CADETE
# Licensed under the GPL license.
# See http://www.gnu.org/licenses/gpl.html
#
# ------------------- END LICENSE BLOCK -------------------
*/

/* ---------- Authentication ---------- */

.logo {
	background-image: url(images/pluxml.png);
	margin: 10% auto 20px auto;
	height: 80px;
	width: 123px;
}

#auth {
	background-color: #222;
}

.auth {
	background-color: #eee;
	color: #222;
	border: 1px solid #bbb;
	border-radius: .6rem;
	overflow: hidden;
}

.auth .alert {
	text-align: center;
}

.auth .alert.red {
	background-color: #fce4e2;
	color: firebrick;
	border: 1px solid firebrick;
}

/* ---------- Main ---------- */

.main.grid {
	margin-right: 0;
}

/* ---------- Aside ---------- */

.aside {
	background-color: #222;
	bottom: 0;
	overflow: auto;
	padding-right: 0;
	position: fixed;
	top: 0;
}

.aside,
.aside a {
	color: #ddd;
}

.aside .header {
	line-height: 1.45rem;
}

.aside .header .profil {
	line-height: initial;
}

.aside .unstyled-list {
	margin-bottom: 0;
	margin-top: 0;
	padding: .7rem;
}

.aside .unstyled-list.profil {
	background-color: #333;
	border-top: 1px solid #888;
	border-bottom: 1px solid #888;
}

.aside .unstyled-list a:hover {
	text-decoration: none;
}

.aside .version {
	color: #aaa;
}

.aside .menu {
	white-space: nowrap;
}

.aside .menu.expanded .badge,
.aside .menu.expanded .active a .badge {
	background-color: #e43d29;
	color: #fff;
	font-size: 1rem;
}

.aside .menu.expanded li:hover {
	background-color: #444;
}

.aside .menu-config {
	background-color: #555;
}

.aside .menu-config a {
	color: #ffc961;
}

.aside .menu-plugin a {
	color: #57c5d7;
}

.aside .menu.expanded li a {
	border-radius: 0;
}

.aside .menu.expanded li.active a,
.aside .menu.expanded li.active:hover {
	background-color: #fff;
	color: #444;
}

a.lnkdelete {
	font-weight: bold;
	text-decoration: underline;
}

a.lnkdelete:hover {
	text-decoration: none;
}

/* ---------- Section ---------- */

.section {
	margin-bottom: 2rem;
	margin-top: 13rem;
}

.section .action-bar {
	background-color: #eee;
	border-bottom: 1px solid #ddd;
	left: 16.6666%;
	right: 0;
	margin-left: -1.5rem;
	min-height: 12rem;
	padding: .7rem 1.7rem .7rem 1.7rem;
	position: fixed;
	top: 0;
	z-index: 1;
	line-height: 1.5;
}

.section .action-bar p,
.section .action-bar ul {
	margin: .2rem 0;
}

.section .action-bar h2 {
	font-size: xx-large;
	margin-top: 0;
	margin-bottom: 0;
}

#pagination > ul {
	display: inline-block;
}

@media (max-width: 1199px) {
	.section .action-bar {
		left: 25%;
	}
}

@media (max-width: 767px) {
	.auth {
		margin-top: 0;
	}
	.aside .header {
		background-color: #555;
		padding-top: 3.5rem;
	}
	.aside .header li {
		display: inline;
	}
	.aside .header .unstyled-list {
		padding: 1rem;
	}
	.aside .responsive-menu {
		max-height: 100%;
		overflow-y: auto;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 9999;
	}
	.aside .responsive-menu,
	.aside .responsive-menu label {
		background-color: #222;
		text-align: right;
	}
	.aside .back-site:after,
	.aside .back-blog:after {
		content: ' |';
	}
	.aside .profil {
		border: none;
	}
	.aside,
	.section .action-bar {
		position: relative;
	}
	.section,
	.section .action-bar {
		left: 0;
	}
	.section .action-bar {
		text-align: center;
		margin: 0 0 1.5rem 0;
		padding: 0;
		z-index: inherit;
		font-size: medium;
	}
	.section .action-bar h2 {
		font-size: x-large;
	}
	.section {
		margin-top: 1.5rem;
		padding: 0 1rem 0 2.5rem;
	}

	/* comments.php */
	.menu.feeds li {
		margin-left: 0;
	}
}

.selected {
	color: #444;
}

.p_page,
.p_prev,
.p_first,
.p_last,
.p_next,
.p_current {
	padding: 4px 5px;
	display: inline-block;
}

.p_current {
	color: #258fd6;
}

.p_page:first-letter {
	text-transform: uppercase;
}

a.btnDelete {
	display: inline;
	color: #e43d29;
	text-decoration: none;
}

.divtitle {
	display: inline;
}

.icon {
	text-align: center;
}

/* Fontello */
.ico {
	position: absolute;
	font-size: 14pt;
}

.ico + input {
	padding-left: 3rem;
}

.back::before {
	content: '\e815';
	font-family: fontello;
	margin-right: 1rem;
	font-size: 14pt;
}

#auth a.back {
	text-decoration: none;
}

#auth a span:hover {
	text-decoration: underline;
}

.aside .back-site::before {
	font-family: fontello;
	content: '\e80d';
	margin-right: 1rem;
}

#auth .back::before {
	font-family: fontello;
	content: '\e80d';
	margin-right: 0.75rem;
	font-size: 12pt;
}

#auth .back:hover::before {
	text-decoration: none;
}

.logout::before {
	font-family: fontello;
	content: '\e80a';
	transform: rotate(180deg);
	display: inline-block;
	margin-right: 1rem;
}

.new td[colspan="2"],
.new td[colspan="3"] {
	text-align: center;
}

button,
input,
select,
textarea {
	width: auto;
}
@media(min-width:768px) and (max-width:1199px) {
	.sidebar input[type="text"] {
		width: 100%;
	}
}

#id_content,
#id_chapo,
#id_frontend,
#id_backend {
	resize: vertical;
}

#statics-table input:not([type="checkbox"]),
#categories-table input:not([type="checkbox"]),
#users-table input:not([type="checkbox"]) {
	width: 100%;
}

input[maxlength="3"] {
	width: 4rem !important;
	text-align: right;
}

#medias-table td {
	height: 6rem;
}

#articles-table th.datetime,
#comments-table th.datetime {
	width : 11rem;
}

#articles-table th.action,
#comments-table th.action {
  width: 12rem;
}

#plugins-table p {
	margin: 0;
	text-indent: 0;
}

#plugins-table th.col-description {
	min-width: 50rem;
}

#plugins-table .description {
	white-space: normal;
	word-break: normal;
	text-align: justify;
}

#plugins-table img,
#medias-table img {
	padding-top: 7px;
}

#medias-table td:nth-of-type(5) {
	text-align: right;
}

#medias-table td:nth-of-type(6) {
	text-align: center;
}

.toggler {
	display: none;
}
.toggler + label {
	display: inline;
}
.toggler + label span {
	color: #258fd6;
}
.toggler + label span:hover {
	cursor: pointer;
	text-decoration: underline;
	color: #444;
}

.toggler + label span:first-of-type,
.toggler + label span:last-of-type {
	display: inline-block;
}

.toggler:not(:checked) + label + div,
.toggler:not(:checked) + label span:first-of-type,
.toggler:checked + label span:not(:first-of-type) {
	display: none;
}

.publication input {
	font-weight: bold;
	color: #555;
}

.day,
.month {
	width: 2.8rem !important;
}

.year,
.time {
	width: 4.5rem !important;
}

.inline-form.publication input,
.inline-form.creation input,
.inline-form.update input {
	font-size: 1.3rem;
}

.readonly {
	background-color: #ddd;
	color: #aaa;
}

.required::after {
	content: '*';
	color: red;
	margin-left: 0.5rem;
}

input.readonly:focus {
	border-color: #aaa;
}

input.readonly:hover {
	cursor: not-allowed;
}

/* ---- validité dynamique ---- */

input:invalid,
textarea:invalid {
	border: 1px solid #900000;
}
input:invalid:focus,
textarea:invalid:focus {
	border: 1px solid #c00000;
}
/* Bords vert si remplit et valide */
input:not(:placeholder-shown):not([type="button"]):not([type="submit"]):not([type="reset"]):valid:focus,
textarea:not(:placeholder-shown):valid:focus {
	border: 1px solid #00c000;
}
/* Point rouge si invalide */
input:not([type="radio"]):not([type="checkbox"]):optional:invalid:focus,
input:not([type="radio"]):not([type="checkbox"]):required:invalid {
	background-image: radial-gradient(
			red 25%,
			transparent 26%
		),
		radial-gradient(red 25%, transparent 26%);
	background-size: 1.2em 1.2em;
	background-position: right center;
	background-repeat: no-repeat;
}

#id_link {
	width: 100%;
}

.alert {
	margin: 0 0 1rem;
	padding: 1rem;
	border-radius: .5rem;
}

.help {
	cursor: help;
}

form .col {
	position: inherit;
}

a.hint {
	width: 0;
	height: 0;
	cursor: help;
	display: inline-block;
	text-decoration: none;
}

a.hint::before {
	color: #fff;
	background-color: #999;
	padding: .2rem .6rem;
	display: inline-block;
	border-radius: 100%;
	font-size: small;
	text-align: center;
	text-decoration: none;
	-webkit-box-shadow: inset -1px -1px 1px 0px rgba(0, 0, 0, 0.25);
	-moz-box-shadow: inset -1px -1px 1px 0px rgba(0, 0, 0, 0.25);
	box-shadow: inset -1px -1px 1px 0px rgba(0, 0, 0, 0.25);
	content: '?';
}

a.hint span {
	background-color: #777;
	color: #fff;
	display: none;
	margin-left: 1.3rem;
	margin-top: 1.3rem;
	max-width: 300px;
	padding: .4rem;
	position: absolute;
	z-index: 9999;
	border-radius: .1rem;
}

a.hint:hover span,
a.hint:focus span {
	display: inline-block;
}

.ddcat {
	width: 100%;
	border-color: transparent;
	background-color: transparent;
	margin-left: 0;
	padding-left: 0;
	padding-right: 15px;
	position: relative;
	/*Removes border*/
	border: 0 !important;
	/*Removes default chrome and safari style*/
	-webkit-appearance: none;
	/*Removes default style Firefox*/
	-moz-appearance: none;
	background: url(images/arrow-down.png) no-repeat;
	/*Position of the background-image*/
	background-position: 100% 7px;
	text-indent: 0.01px;
	text-overflow: "";
}

.ddcat::-ms-expand {
	width: 0;
	border: none;
	background: transparent;
}

.type-admin {
	background-color: #F0F8FF;
	padding: 2px 5px;
}

.in-action-bar {
	top: 0;
	margin-top: 4em;
	position: fixed;
	z-index: 99999;
	width: 100%;
}

@media (max-width: 767px) {
	.in-action-bar {
		text-align: center;
		position: absolute;
		margin-top: 3.5rem;
		z-index: 1;
		font-size: medium;
	}
	#plugin .section,
	#parametres_plugin .section,
	#parametres_plugincss .section,
	#parametres_pluginhelp .section {
		margin-top: 1rem;
	}
	button,
	input[type="button"],
	input[type="reset"],
	input[type="submit"] {
		margin-top: 3px;
	}
}

@keyframes notification-fadeOut {
    from {
        opacity: 1;
    }
    65% {
        opacity: 1;
    }
    to {
        opacity: 0.1;
    }
}
.notification {
	position: fixed;
	top: 1rem;
    left: 50vw;
	width: fit-content;
    transform: translateX(-50%);
	z-index: 999999;
	text-align: center;
	padding: .25rem 1rem;
	border: .25rem solid;
    border-radius: 1rem;
    animation: 8s notification-fadeOut;
}

.notification.hide {
    display: none;
}

.error {
	background-color: #ffcfcf;
	border-color: #df8f8f;
	color: #000;
}

.success {
	background-color: #88d985;
	border-color: #32933c;
	color: #222;
}

.warning {
	margin: 10px 320px 10px 0;
	padding: 10px 5px 10px 20px;
	border: 1px solid #df8f8f;
	font-size: 13px;
	width: 100%;
	background-color: #ffcfcf;
}

tr input {
	margin: .2rem 0;
}

td {
	white-space: nowrap;
	/* overflow: hidden; */
}

/* ---- index, comments, plugins tables ---- */
td.wrap {
	white-space: normal;
}

th.checkbox {
	width: 15px;
}

/* sorted table */
th.sort {
	cursor: pointer;
	padding: 0.3rem;
	white-space: nowrap;
}

th.sort:hover {
	background-color: #ccc;
}

th.sort::after {
	content: '🔼🔽'; /* 🠋🠉▲▼ */
	margin-left: 0.5rem;
	letter-spacing: 0.3rem;
}

th.sort:nth-of-type(3)::after {
	margin-left: 2rem;
}

th.sort.active.reverse::after {
	content: '🔼 '; /* no-breaking space ! */
}

th.sort.active::after {
	content: ' 🔽';
}

/* pour l'indentation des commentaires */

.level-0 {
	margin-left: 0;
}

.level-1 {
	margin-left: 50px;
}

.level-2 {
	margin-left: 100px;
}

.level-3 {
	margin-left: 150px;
}

.level-4 {
	margin-left: 200px;
}

.level-5 {
	margin-left: 250px;
}

#id_answer {
	margin-bottom: 10px;
	padding: 15px;
	border: 1px solid #eee;
	width: 100%;
	background: #fafafa;
	display: none;
}

.comment {
	background-image: url('images/user.png');
	background-repeat: no-repeat;
	margin-bottom: 2rem;
	padding-left: 4rem;
}

.comment blockquote {
	margin-left: 0;
}

.nbcom {
	background-color: #258fd6;
	color: #fff;
	padding: .2rem .3rem;
}

.author {
	max-width: 20rem;
	text-overflow: ellipsis;
	overflow-x: hidden;
}

/* pour la fenêtre modale de la visionneuse d'image */

.modal {
	display: block;
	width: 100%;
	position: absolute;
}

.modal__overlay {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	position: fixed;
	background-color: rgba(6, 6, 6, 0.95);
	z-index: 999;
	text-align: right;
}

.modal__box {
	position: relative;
	text-align: center;
	border: none;
}

.modal__box img[src$=".svg"] {
	min-width: 50vw;
	min-height: 50vh;
}

.modal input {
	display: none;
}

.modal label {
	position: absolute;
	right: 0;
	top: 0;
	background-color: #444;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-weight: bold;
	-webkit-transition: all 0.55s;
	transition: all 0.55s;
	padding: 10px;
	font-size: 2rem;
	/* vertical-align: top; */
}

/* for thumbnail in zoombox */
.modal .small label {
	position: fixed;
}

@media (max-width: 767px) {
	.modal label {
		background-color: #000;
		position: fixed;
		right: 0;
		top: 2rem;
	}

	td.wrap {
		max-width: 30vw;
	}

	#articles-table th.title,
	#plugins-table th.col-description,
	#comments-table th.message {
		min-width: calc(100vw - 1.4rem);
	}

	#articles-table th.cat {
		min-width: 16rem;
	}
}

.modal__box img {
	max-height: calc(100vh - 1.25rem);
	max-width: calc(100vw - 1.25rem);
}

.modal__overlay {
	overflow: hidden;
	-webkit-transition: all 0.75s cubic-bezier(0.19, 1, 0.22, 1);
	transition: all 0.75s cubic-bezier(0.19, 1, 0.22, 1);
	align-items: center;
	display: flex;
	justify-content: center;
	z-index: 800;
}

.modal__overlay label:hover {
	color: #fff;
	-webkit-transform: scale(0.97);
	-ms-transform: scale(0.97);
	transform: scale(0.97);
}

.modal__overlay:not(.success) label {
	display: none;
}

input:not(:checked) + .modal__overlay {
	opacity: 0;
	-webkit-transform: scale(0.33);
	-ms-transform: scale(0.33);
	transform: scale(0.33);
	visibility: hidden;
}

/* gestion des themes */

.img-preview {
	width: 200px;
	max-width: 200px;
	height: 200px;
	background-color: #ccc;
	border: 1px solid #ddd;
	padding: 5px;
	-moz-border-radius: 7px;
	-webkit-border-radius: 7px;
	border-radius: 7px;
}

.img-preview.current {
	background-color: #E4EFFF !important;
	border: 1px solid #9FC6FF;
}

tr.checked {
	background-color: #E4EFFF;
}

/* image d'accroche */

#id_thumbnail_img {
	margin-top: 10px;
}

#id_thumbnail_img img {
	max-width: 100%;
}

/* champs de recherche */

#index-search,
#medias-search,
#plugins-search {
	color: #444;
	/* background: #fff url('images/search.png') 5px 7px no-repeat; */
	background-color: #fff;
	padding-left: 30px;
	max-width: 40rem;
	width: 100%;
}

/* gestionnaire de médias */

div.ico {
	font-size: 16px;
	color: #ccc;
	display: inline-block;
	margin-left: 5px;
	position: initial;
}

div.ico:hover {
	cursor: pointer;
	color: #555;
}

div.ico div {
	font-size: 11px;
	display: none;
	background-color: #666;
	color: #eee;
	display: none;
	padding: 1px 3px 1px 3px;
	margin-left: 5px;
	border-radius: 2px;
	border: 1px solid #888;
}

#medias-table div.ico {
	color: #000;
	font-size: 16pt;
	margin: 0 0.3rem;
}

a.overlay {
	display: block;
}

/* The Dialog (background) */

.dialog {
	/* Hidden by default */
	display: none;
	/* Stay in place */
	position: fixed;
	/* Sit on top */
	z-index: 9999;
	/* Location of the box */
	padding-top: 100px;
	left: 0;
	top: 0;
	/* Full width */
	width: 100%;
	/* Full height */
	height: 100%;
	/* Enable scroll if needed */
	overflow: auto;
	/* Fallback color */
	background-color: rgb(0, 0, 0);
	/* Black w/ opacity */
	background-color: rgba(0, 0, 0, 0.4);
}

/* Dialog Content */

.dialog-content {
	background-color: #fefefe;
	margin: auto;
	padding: 20px;
	border: 1px solid #888;
	width: 40%;
	min-width: 250px;
}

/* The Close Button */

.dialog-close {
	color: #aaaaaa;
	float: right;
	font-size: 28px;
	font-weight: bold;
}

.dialog-close:hover,
.dialog-close:focus {
	color: #000;
	text-decoration: none;
	cursor: pointer;
}

/* ------- Popup Medias Manager ------ */

body.mediasManager .aside {
	display: none;
}

body.mediasManager main.grid {
	margin-left: 0;
}

body.mediasManager .section .action-bar {
	left: 0;
	right: 0;
	margin-right: 0;
	margin-left: 0;
}
/* Remove offsets & enlarge (screens>767px) */
body.mediasManager .col.med-offset-3,
body.mediasManager .col.lrg-offset-2 {
	width: 100%;
	margin-left: 0;
}

/* ----------- Drag and Drop for sorting table rows ---------- */

table[data-rows-num] th:first-of-type,
table[data-rows-num] td:first-of-type {
	padding-left: 12px;
}
/* ---- select pour fichiers (folding) --- */
.scan-folders.fold option[data-level^="level-XX"] {
	display: none;
}
.scan-folders.fold option[data-level^="level-XX"].visible {
	display: block;
}
.scan-folders .folder {
	font-weight: bold;
}
/* Fonctionne uniquement avec Firefox */
.scan-folders.data-files :not([value=""])::after {
	margin-left: 0.3rem;
	content: '▩';
}
.scan-folders.data-files [value$="css"]::after {
	color: #003399;
}
.scan-folders.data-files [value$="php"]::after {
	color: #990066;
}
.scan-folders.data-files [value$="html"]::after {
	color: #009999;
}
.scan-folders.data-files [value$="txt"]::after {
	color: #ff9800;
}
table[data-rows-num] tr[draggable] td:first-child {
	background: url(' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAAGUlEQVR42mNggIKCgoL/IIyLj1sB+TqhAAB5gyTxdLI4kwAAAABJRU5ErkJggg==') left repeat-y;
}

table[data-rows-num] tr[draggable]:hover {
	background-color: #f9f9f9;
}

table[data-rows-num] tr[draggable].dragElem {
	opacity: 0.3;
}

table[data-rows-num] tr[draggable].over {
	background-color: #d8d8d8;
}

select {
	margin: 0;
	color: #000;
	background: #fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAPFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQLyYwAAAAE3RSTlMADQ46Ozw9SElKS0y5x+zz9Pj5WslQRAAAAQdJREFUeJztzlcOwkAQBFFyxjbM/e9KFsbrNGK3V6Cq/1a/yYSIiIiIiIiIiIiIfqRp8kF/q2LtG+yLedT/yk4uwf5sZUTBsjJzCa7/FlFw//cI7v/xBMvSzCV4/scSLF7/ZueN6z+OoPY/TlD7jyI4mLkEH/9mh68Bs6NL0Pg/zr4G+AQJ/l2CJP8OQaL/ULAV/48UJPwfJUj6P0KQ+H9QkPx/QCD4DwU78X+PQPTfKZD9dwiE/60C6X+LQPwfCtT/gUD+3yfQ/HcLVP9dAt1/u0D53ybQ/ocC9X9ToP//FOT4rwvy/L8Fuf5fgnz/D0HO/5sg7/9VkPmfiIiIiIiIiIiIiP6gC0vzP5P1npi3AAAAAElFTkSuQmCC") no-repeat;
	background-size: 20px;
	background-position: right center;
	-webkit-appearance: none;/*for chrome*/
	-moz-appearance: none;/*for firefox*/
	overflow: hidden;
	padding: 0 20px 0 3px;
	max-width: 45.6vw;
}
select::-ms-expand {/*for IE10*/
	display: none;
}
#files_manager select{
	max-width: 55%;
}
/* ---- parametres_plugins ---- */

#form_plugins span[data-scope] {
	padding: 2px 5px 0 5px;
	font-size: medium;
}

#plugins-table tbody tr[data-scope] td.wrap strong:first-of-type {
	padding: 0.2rem 0.5rem;
}

#form_plugins span[data-scope],
#plugins-table tbody tr[data-scope] td.wrap strong.title {
	background-color: #ddd;
	color: #444;
}

#form_plugins span[data-scope="admin"],
#plugins-table tbody tr[data-scope="admin"] td.wrap strong.title {
	background-color: #258fd6;
	color: #fff;
}

#form_plugins span[data-scope="site"],
#plugins-table tbody tr[data-scope="site"] td.wrap strong.title {
	background-color: green;
	color: #fff;
}

/* --------- articles épinglés ------ */

#articles-table .pin {
	background-color: #d8d8d8;
}

/* ----------- index.php -------------- */

.scrollable-table {
	position: relative;
	max-height: calc(100vh - 10rem); /* see margins for .section */
	padding-bottom: 0.5rem;
}

.scrollable-table.has-pagination {
	max-height: calc(100vh - 23.5rem);
}

.scrollable-table th {
	position: sticky;
	top: 0;
	background-color: inherit;
}

.scrollable-table th.col-icon {
	min-width: calc(48px + 1.4rem);
}

.scrollable-table thead tr {
	background-color: #e8e8e8;
}

#pagination {
	position: fixed;
	bottom: 0;
	width: 100%;
	padding-right: 2rem;
	background-color: #fff;
}

@media (min-width: 768px) {
	#pagination {
		width: 75%;
	}
}

@media (min-width: 1200px) {
	#pagination {
		width: 83.333%;
	}
}

#articles-table .as-link {
	color: #258fd6;
	cursor: pointer;
}

#articles-table .as-link:hover {
	text-decoration: underline;
	color: #444;
}

.art-id {
	width: 4rem;
}

.cat {
	width: 16rem;
}

.comms {
	width: 10rem;
}

/* ------ loader -- https://cssloaders.github.io/ ------- */

#loader {
	position: absolute;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

#loader:not(.show) {
	display: none;
}

.loader, .loader:before, .loader:after {
	border-radius: 50%;
	width: 2.5em;
	height: 2.5em;
	animation-fill-mode: both;
	animation: bblFadInOut 1.8s infinite ease-in-out;
}

.loader {
	color: #258fd6;
	font-size: 7px;
	position: relative;
	text-indent: -9999em;
	transform: translateZ(0);
	animation-delay: -0.16s;
}

.loader:before,
.loader:after {
	content: '';
	position: absolute;
	top: 0;
}

.loader:before {
	left: -3.5em;
	animation-delay: -0.32s;
}

.loader:after {
	left: 3.5em;
}

@keyframes bblFadInOut {
	0%, 80%, 100% { box-shadow: 0 2.5em 0 -1.3em }
	40% { box-shadow: 0 2.5em 0 0 }
}
