@font-face {
    font-family: 'OpenSans';
    src:url('../fonts/OpenSans-Italic.otf'),
        url('../fonts/OpenSans-Italic.woff') format('woff'),
        url('../fonts/OpenSans-Italic.ttf') format('truetype'),
        url('../fonts/OpenSans-Italic.svg') format('svg');
}

body {
	font-family: 'OpenSans';
	height: 96vh;
	background: url("../imagenes/Fondo-index.jpg") 50% fixed;
	background-size: cover;
}

.contenedor-texto {
	font-family: 'OpenSans'
}

.state {
	font-family: 'OpenSans';
	font-weight: 800;
}

@keyframes spinner {
	0% {
		transform: rotateZ(0deg);
	}

	100% {
		transform: rotateZ(359deg);
	}
}

* {
	box-sizing: border-box;
}

.button {
	text-align: center;
	align-items: center;
	justify-content: center;
}

.button:hover {
	cursor: pointer;
}

.wrapper {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 102%;
	padding: 10px;
	background: rgba(255, 250, 210, 0.2);
}

.login {
	border-radius: 2px 2px 5px 5px;
	padding: 10px 20px 20px 20px;
	width: 90%;
	max-width: 320px;
	background: #fff;
	position: fixed;
	top: 17vh;
	left: 13vw;
	padding-bottom: 80px;
	box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.3);
}

/* .login {
	border-radius: 2px 2px 5px 5px;
	padding: 10px 20px 20px 20px;
	width: 90%;
	max-width: 320px;
	background: #fff;
	position: relative;
	padding-bottom: 80px;
	box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.3);
} */

.login.loading .button {
	max-height: 100%;
	padding-top: 50px;
}

.login.loading .button .spinner {
	opacity: 1;
	top: 40%;
}

.login.off .button {
	background-color: #DC4C5A;
}

.login.off .button .spinner {
	animation: none;
	display: none;

}

#spinner {
	position: absolute;
	top: 90px;
	left: 145px;
	font-size: 43px;
}

.login.ok .button {
	background-color: #000;
}

.login.ok .button .spinner {
	border-radius: 0;
	border-top-color: transparent;
	border-right-color: transparent;
	height: 20px;
	animation: none;
	transform: rotateZ(-45deg);
}

.login input {
	display: block;
	padding: 15px 10px;
	margin-bottom: 10px;
	width: 100%;
	border: 1px solid #ddd;
	transition: border-width 0.2s ease;
	border-radius: 2px;
	color: #ccc;
}

.login input+i.fa {
	color: #fff;
	font-size: 1em;
	position: absolute;
	margin-top: -41px;
	opacity: 0;
	left: 0;
	transition: all 0.1s ease-in;
}

.login input:focus {
	outline: none;
	color: #444;
	border-color: #000;
	border-left-width: 35px;
}

.login input:focus+i.fa {
	opacity: 1;
	left: 30px;
	transition: all 0.25s ease-out;
}

.login a {
	font-size: 0.8em;
	color: #2196f3;
	text-decoration: none;
}

.login .title {
	color: #444;
	font-size: 1.2em;
	font-weight: bold;
	margin: 10px 0 30px 0;
	border-bottom: 1px solid #eee;
	padding-bottom: 20px;
}

.login .button {
	width: 100%;
	height: 100%;
	padding: 10px 10px;
	background: #48c857;
	color: #fff;
	display: block;
	border: none;
	margin-top: 20px;
	position: absolute;
	left: 0;
	bottom: 0;
	max-height: 60px;
	border: 0px solid rgba(0, 0, 0, 0.1);
	border-radius: 0 0 2px 2px;
	transform: rotateZ(0deg);
	transition: all 0.1s ease-out;
	border-bottom-width: 7px;
}

.login .button .spinner {
	display: block;
	width: 40px;
	height: 40px;
	position: absolute;
	border: 4px solid #fff;
	border-top-color: rgba(255, 255, 255, 0.3);
	border-radius: 100%;
	left: 50%;
	top: 0;
	opacity: 0;
	margin-left: -20px;
	margin-top: -20px;
	animation: spinner 0.6s infinite linear;
	transition: top 0.3s 0.3s ease, opacity 0.3s 0.3s ease, border-radius 0.3s ease;
	box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2);
}

.login:not(.loading) .button:hover {
	box-shadow: 0px 1px 3px #48c857;
}

.login:not(.loading) .button:focus {
	border-bottom-width: 4px;
}

footer {
	display: block;
	padding-top: 50px;
	text-align: center;
	color: #ddd;
	font-weight: normal;
	text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.2);
	font-size: 0.8em;
}

footer a,
footer a:link {
	color: #fff;
	text-decoration: none;
}

.contenedor-logo-concept {
	align-items: center;
	justify-content: center;
	text-align: center;
	margin-bottom: 3vh;
}

.imagen-logo-concept {
	width: 13vw;
	height: auto;
}

.footer121{
	text-align: center;
    margin-top: -40px;
    color: white;
    font-weight: bold;
}

.footer121 a{
	text-decoration: none;
	color: white;
}

.modal-title
{
	font-size: 20px;
	color: white;
	font-weight: 900;
}

.boton-enviarToken
{
	background-color: #4969af;
}

.boton-enviarToken:hover
{
	background-color: rgb(29 32 66);
	color: white;
}
.form-control:focus,  .form-select:focus {
    border-color:  var(--main-bg-color) ;
    box-shadow: inset 0 0.8px 0.8px rgba(0, 0, 0, 0.075), 0 0 3px #21bbd3;
}
