/* Familia de fuente igual para todos */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');



/* Variables de color cliente: CEV */

:root {
	--textcolor: #25282A;
	--primary-color: #005357;
	--primary-colorsoft: #92d6d4;
	--secondary-color: #ff725c;
	--background-grey: #dddddd;
	--primarycolorsoft2: #c8eae9;
	--grey: #F5F5F5;
	--darkgrey: #424242;
	--blackcolor: #000;
	--whitecolor: #fff;
	--body-ff: Verdana, sans-serif;
}

/*  f . i . n     Variables de color cliente */

:root {
	/* Tipografía y Tamaños de fuente */
	--min-vw:360;
	--max-vw:1920;
	--fs-scale: 1.15;
	--body-min-fs: 14;
	--body-max-fs: 16;
	--body-fs: calc((var(--body-min-fs) * 1px) + (var(--body-max-fs) - var(--body-min-fs)) * ((100vw - (var(--min-vw) * 1px)) / (var(--max-vw) - var(--min-vw))));
	--h6-fs: calc(var(--body-fs) * var(--fs-scale));
	--h5-fs: calc(var(--h6-fs) * var(--fs-scale));
	--h4-fs: calc(var(--h5-fs) * var(--fs-scale));
	--h3-fs: calc(var(--h4-fs) * var(--fs-scale));
	--h2-fs: calc(var(--h3-fs) * var(--fs-scale));
	--h1-fs: calc(var(--h2-fs) * var(--fs-scale));
	--big-fs: calc(var(--h1-fs) * var(--fs-scale));
	--small-fs: calc(var(--body-fs) * 0.9);
	--smallest-fs: calc(var(--small-fs) * 0.9);
	--body-ff: "Poppins", sans-serif;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr,
address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot,
thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header,
hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body { line-height: 1; background-size: cover !important; }
nav ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
ins { background-color: #ff9; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }
input, select { vertical-align: middle; }
body { font-family: var(--body-ff); font-size: 81.25%; line-height: 1.4em; background: #eee; }

#container { width: 100%; margin: 0 auto; padding: 0; }

/* ----------------------------------------------
--------------- NUEVOS DIV-----------------------
---------------------------------------------- */

.login {
	display: flex;
	flex-wrap: wrap;
	height: 100vh;
}

/* imagen de fondo */
.imagen-body {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 66%;
	position: relative;
	top: 0;
	bottom: 0;
}

body {
    background: #FFF; /* Old browsers */
    background-repeat: no-repeat;
    background-size: cover !important;
	background-position: center center;
    background-attachment: fixed;
}

#content {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	margin-bottom: auto;
}

#msg {
    padding: 20px;
    margin-bottom: 40px;
}

#msg.errors {
    border: 1px dotted #BB0000;
    color: #BB0000;
    padding-left: 100px;
    background: url(../images/error.png) no-repeat 20px center;
}

#msg.success { border: 1px dotted #390; color: #390; padding-left: 100px; background: url(../images/success.png) no-repeat 20px center; }
#msg.info { border: 1px dotted #008; color: #008; padding-left: 100px; background: url(../images/info.png) no-repeat 20px center; }
#msg.question { border: 1px dotted #390; color: #390; padding-left: 100px; background: url(../images/question.png) no-repeat 20px center; }
#msg.warn { border: 1px dotted #960; color: #960; padding-left: 100px; background: #ffbc8f url(../images/info.png) no-repeat 20px center; }

.errors {
    border: 1px dotted #BB0000;
    color: #BB0000;
    padding-left: 100px;
    padding-top:5px;
    margin-bottom:5px;
    background: url(../images/error.png) no-repeat 20px center;
}

#login h2 {
    font-weight: normal;
    font-size:  var(--h6-fs) !important;
    margin-bottom: 20px;
}

#login .row {
    padding: 6px 0;
	position:relative;
}
#login .row.btn-row {
	float: left;
	width: 100%;
}

#login .row.btn-row + .row {
  float: left;
  margin-top: 7px;
  margin-bottom: 5px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#login label {
    display: block;
    margin-bottom: 2px;
}

#login .check label {
    display: inline;
	color: #444;
}

#login .btn-reset {
    background: #eee;
    padding: 10px 20px;
    border: 0;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

#login .btn-submit:hover, #login .btn-reset:hover {
    cursor: pointer;
}

#login .btn-submit:hover {
    background: #7fd36e;
}

#login .btn-reset:hover {
    background: #d4d4d4;
}

#sidebar {
    width: auto;
    height: 100%;
}

#sidebar-content {
    padding-left: 20px;
}

#list-languages h3 {
    margin-bottom: 1.4em;
}

#list-languages ul li {
    list-style: none;
    display: inline-block;
    margin-right: 2em;
}

footer {
    padding: 20px;
    color: #033a61;
}

footer a:link, footer a:visited {
    color: #033a61;
}

@media only screen and (max-width: 960px) {
    header {
		padding: 0 20px 0;
	}
    #container { width: 100%; }
    #content {
        -webkit-border-radius: 0px;
        -moz-border-radius: 0px;
        border-radius: 0px;
    }
}

#remember-me-icon {
	cursor: pointer;

}

#remember-me-description {
	display: none;
}

#remember-me-icon:hover #remember-me-description {
	display: block;
}

/*    LOGIN    */
body {
	font-size: 16px;
	line-height: 22px;
	color: #444444;
	font-family: var(--body-ff);
	height: 100%;
}
#container {
	width: calc(33% - 6%);
	min-height: 100%;
	background-color: #FFF;
	padding: 0 3%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 30px;
}
header {
	background-color: #FFF;
	text-align: left;
	margin-top: auto;
	}
header .header-container {
	max-width: 960px;
	margin: 0 auto;
	text-align: left;
}
header .header-container img:last-child,
header img#logo_password {
	display: flex;
    max-width: 300px;
    max-height: 150px;
	margin-top: 20px;
	margin-inline: auto;
}

#list-providers h3 {
	margin-bottom: 15px;
	color: #d82c34;
}

ul li {
	margin-bottom: 20px;
}
ul li a:link {
	text-decoration: none;
	color: #444444;
	font-size: 20px;
	display: block;
	margin-bottom: 6px;
}
ul li a span {
	color: #FFFFFF;
	background-color: #d82c34;
	border-radius: 50px;
	height: 25px;
	width: 25px;
	display: block;
	text-align: center;
}
ul li a span:before {
	line-height: 25px;
	height: 25px;
	width: 25px;
	font-size: 16px;
}
ul li a:hover {
	color: #444444;
}
ul li a:hover span {
	background-color: #444444;
}
ul li .provider-description,
.provider-note {
	color: #7A7A7A;
	font-size: 15px;
	line-height: 18px;
	margin-left: 30px;
}

.provider-note {
	font-size: 0.8em;
	margin-left: 0;
}

.welcome-title {
	margin-bottom: 20px;
    color: #444444;
}

#content #login a {
	color: var(--primary-color);
}

#content #login a:hover {
	color: var(--secondary-color);
}
#content h1 {
	margin-top: 0px;
	margin-bottom: 10px;
	font-size: 26px;
	color: var(--primary-color);
	font-weight: normal;
	line-height: 30px;
}
#content h2 {
	color: #444444;
	font-size: 16px;
	line-height: 21px;
}

#content #login form {
	display: flex;
    flex-direction: column;
}
#content #login form img {
	width: 406px;
	height: auto;
}
#login #username,
#login #password,
#user-pass #edit-name {
	font-size: 16px;
  background-color: var(--grey) !important;
  color: #000000;
  margin-top: 0;
  margin-bottom: 0;
  padding: 8px 16px;
  border-radius: 32px;
  font-weight: 400;
  border: none;
  width: calc(100% - 32px);
  height: 23px;
  line-height: 22px;
  font-family: var(--body-ff);
}

#user-pass #edit-name {
	margin-left: 0px;
}

.row.check input#rememberMe {
    margin: 0px 5px 3px 3px;
    accent-color: var(--primary-color);
}

.password-container {
    position: relative;
    display: flex;
	align-items: center;
}

.password-container .field_icon.toggle-password {
    right: 1rem;
	position: absolute;
}

#login .btn-submit {
    background-color: var(--primary-color);
	color: var(--whitecolor);
	border: none;
	font-size: 16px;
	text-transform: uppercase;
	float: left;
	padding: 0.5rem 1rem;
	font-weight: bold;
	font-size: 17px;
	text-align: center;
	width: 100%;
	border-radius: 2rem;
}

#user-pass #edit-submit {
	width: 280px;
}

#login .btn-submit:hover,
#user-pass #edit-submit:hover {
	background-color: var(--secondary-color);
}
#login .btn-submit:active,
#user-pass #edit-submit:active {
	background-color: var(--secondary-color);
	border-color: var(--secondary-color);
	color: #FFF;
}

#user-pass #edit-submit {
    align-content: center;
    padding: 8.5px 15px;
    width: fit-content;
    border-radius: 100vmax;
    border: none;
    z-index: 2;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: bold;
    text-align: center;
    line-height: 22px;
    font-family: var(--body-ff);
    background-color: var(--primary-color);
    color: var(--whitecolor);
    font-size: 17px;
}

#pid-user-password a.back-button {
    background: #777777;
	font-family: var(--body-ff);
	font-size: 16px;
	width: auto;
	color: #FFF;
	float: left;
	margin-top: 1rem;
	border-radius: 2rem;
	padding: 0.25rem 1rem;
	font-weight: normal;
}

#pid-user-password a.back-button:hover {
	background: #444444;
}


#content .row p {
	margin-bottom: 0;
}
#content .row.check {
	float: left;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#content .row.check p {
	float: left;
	font-size: var(--body-fs);
}
#content .row.check .question-mark {
  font-size: 20px;
  text-align: center;
  margin-top: -3px;
  height: 25px;
  width: 25px;
  border-radius: 50%;
  line-height: 1;
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: var(--primary-color);
}
#content .row.check .question-mark:hover {
  background-color: var(--primary-colorsoft);
}

#msg.form-error {
	font-size: 16px;
	padding-top: 6px;
	padding-right: 6px;
	padding-bottom: 7px;
	padding-left: 5px;
	margin: 0 auto;
	position: absolute;
	top: calc(-1lh - 6px);
	right: 0;
	line-height: 1.2;
	color: #fff;
	background-color: #424242;
	left: 0;
	margin-inline: auto;
	width: fit-content;

	&.both-error {
		left: -100%;
		right: -100%;
		white-space: nowrap;
		top: calc(-7lh - 6px);
	}
}

#content .row.check .fa-question:hover {
	color: #8eb540;
	background-color: #FFF;
	padding-top: 20px;
	padding-left: 10px;
}
#content .row.check #remember-me-icon {
	margin-left: 1rem;
}

#content .row.check #remember-me-icon #remember-me-description {
    position: absolute;
	background-color: var(--darkgrey);
	color: var(--whitecolor);
	line-height: 20px;
	border-radius: 1rem;
	font-size: 14px;
	right: 0;
	bottom: 100%;
	padding: 0.5rem 1rem;
	width: calc(100% - 2rem);
	z-index: 10;
	box-shadow: 0 0 0.3em #555;
}

footer {
	margin-top: calc(-1lh - 20px);
	padding: 0 0 20px;
	text-align: center;
	margin-inline: auto;
	width: fit-content;
}

@media only screen and (max-width: 960px) {
	footer #main-footer {
		padding-right: 20px;
		padding-left: 20px;
	}

	.not-logged-in #container {
		width: 100%;
		padding:  0 20%;
		margin-left: 0;
		border-radius: 0;
	}

	.not-logged-in #content {
		padding: 0;
	}

	.login {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.imagen-body {
		position: absolute;
		width: 100%;
		background-size: cover;
	}

	#container {
		position: relative;
		width: 50%;
		border-radius: 1rem;
		min-height: auto;
	}

	#content {
		border-radius: 0px;
    	padding: 10px;
	}
}

@media only screen and (max-width: 1450px) and (min-width: 980px) {
	
	#container {
		width: calc(40% - 10%);
		padding:  0 5%;
	}

	.not-logged-in #container {
		width: calc(40% - 10%);
		padding:  0 5%;
		margin-left: 60%;
	}

	.imagen-body {
		width: 60%;
	}
}


footer a {
	text-decoration: none;
}
footer p {
	margin-bottom: 0;
	}
footer  #main-footer {
	max-width: 960px;
	margin: 0 auto;
	text-align: center;
}
footer #contact {
	float: left;
	margin-top: 10px;
	text-align: left;
}
footer #contact p {
	float: left;
}
footer #contact a {
	margin-right: 12px;
	padding-right: 12px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #88e2ff;
}
footer #contact p:last-child a {
	border: none;
    color: #444444;
    font-weight: 400;
}

.ui-dialog.ui-widget {
	width: 80% !important;
	left: inherit;
	margin: 0 auto;
	background-color: #4c801a;
	text-align: right;
}
.ui-dialog.ui-widget .ui-button {
	background-color: #4c801a;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	font-size: 16px;
	color: #FFF;
	background-image: url(../images/ico-cerrar-popup.png);
	background-repeat: no-repeat;
	background-position: right center;
	height: 30px;
	padding-right: 35px;
}
.ui-widget-overlay.ui-front {
	position:fixed;
	width: 100% !important;
	height:100% !important;
	background-color: #FFF;
	opacity: 0.7;
}
#cookiesDisabled {
	background-color: #4c801a;
	padding: 5px 15px 25px 15px;
	font-size: 18px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 26px;
	text-align: center;
}
#cookiesDisabled:before {
	background-image: url(../images/ico_info.png);
	background-repeat: no-repeat;
	background-position: center center;
	width: 39px;
	height: 39px;
	display: inline-block;
	vertical-align:middle;
	margin-right: 25px;
	content: " ";
}
textarea:focus, input:focus, button{
    outline: none;
}
.development-banner {
	position: absolute;
	width: 153px;
	height: 89px;
	display: block;
	top: 0;
	left: 0;
	background-image: url(../images/baner-dev.png);
	background-repeat: no-repeat;
	background-position: center center;
	z-index:9;
}

@media (max-width: 680px){
	#user-pass #edit-submit {
		margin: 0 0px 30px 0px;
		width: 90%;
	}
	
	header .header-container {
		width: 300px;
			text-align: center;
	}
	header .header-container  img{
		width: 280px;
			margin-left: -10px;
	}
	.password-container .field_icon.toggle-password {
		right: 8px;
	}
	
	header .header-container img:last-child {
		width: auto;
		margin-right: 10px;
		float: left;
		margin-left: 0px;
	}
	footer #main-footer {
		max-width: 300px;
	}
	#login #username, #login #password, #user-pass #edit-name {
		margin-left: 0;
		margin-right: 0;
	}
	#content h1 {
		margin-top: 25px;
		margin-bottom: 7px;
		margin-left: 0;
		margin-right: 0;
	}
	#content h2 {
		margin-left: 0;
		margin-right: 0;
	}
	#login .btn-submit {
		margin-left: 0;
		font-size: 16px;
	}
	#content #login a {
		margin-left: 0;
	}
	#content #login form {
		background-position: center 436px;
	}
	
	#request-password {
		width: 100%;
		padding-top: 10px;
		padding-right: 0;
		padding-left: 0;
	}
	#content #request-password h2 {
		margin-left: 5px;
		margin-right: 5px;
	}
	#user-pass #edit-name {
		width: 92%;
		margin-left: 0;
	}
	#pid-user-password #edit-submit {
		margin: 0 0px 30px 5px;
		width: 90%;
	}	
	
	#pid-user-password #content.region-content {
		padding-top: 0px;
	}
	#pid-user-password a.back-button {
		margin-left: 5px;
	}
	.content-messages-inner .messages.error {
		padding-left: 57px;
		background-position: left 10px center;
	}
	#request-password .messages.error {
		margin-right: 10px;
		margin-bottom: 15px;
		margin-left: 10px;
	}
	
	#container {
		width: calc(100% - 4%);
		padding: 0 2%;
		border-radius: 0;
		gap: 0;
	}

	.not-logged-in #container {
		width: calc(100% - 4%);
		padding: 0 2%;
		margin-left: 0;
	}
	
	header img#logo_password {
		margin-left: 18px;
	}

	footer {
  		margin-top: 0;
	}
	
}


/* botón con flecha animada */
#login .row.btn-row { 
	float: none;
	position: relative;
	display: flex;
	justify-content: center;
	gap: 40px;
	width: fit-content;
	margin-top: 10px;
	margin-inline: auto;
  	float: none;
	padding: 0;
	background-color: var(--primary-color);
	border-radius: 100vmax;
} 
  
#login .row.btn-row input {
	align-content: center;
	justify-content: space-between;
	padding: 10px 50px 10px 15px;
	width: fit-content;
	background-color: transparent;
	border-radius: 100vmax;
	border: none;
	z-index: 2;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-weight: bold;
}

#login .row.btn-row:before {
	content: '';
	--size: 30px;
	width: var(--size);
	height: var(--size);
	position: absolute;
	right: 6px;
	background-color: var(--secondary-color);
	top: 0;
	bottom:0;
	margin-block: auto;
	border-radius: 50%;
	transition: 0.4s ease-in-out;
}

#login .row.btn-row:after {
	content: '';
	background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="300px" height="150px" viewBox="0 0 300 150" enable-background="new 0 0 300 150" xml:space="preserve"><path fill="%233c3c3b" d="M273.796,70.27l-40.724-40.727c-2.584-2.584-6.773-2.584-9.354,0c-2.583,2.583-2.583,7.605-0.001,10.188 L253.149,70h-72.271c-3.653,0-6.614,2.846-6.614,6.5s2.961,6.5,6.614,6.5h72.271l-29.433,28.716 c-2.582,2.583-2.582,6.413,0.001,8.993c1.292,1.293,2.984,1.759,4.678,1.759c1.691,0,3.385-0.736,4.677-2.028l40.724-40.771 C276.381,77.086,276.381,72.852,273.796,70.27z"/><path fill="%233c3c3b" d="M123.796,70.271L83.073,29.543c-2.584-2.584-6.773-2.584-9.354,0c-2.583,2.583-2.583,7.605,0,10.188 L103.15,70H30.88c-3.654,0-6.615,2.846-6.615,6.5S27.226,83,30.88,83h72.271l-29.433,28.716c-2.583,2.583-2.583,6.413,0,8.993 c1.292,1.293,2.984,1.759,4.677,1.759c1.692,0,3.385-0.736,4.677-2.028l40.724-40.771C126.381,77.086,126.381,72.852,123.796,70.271 z"/></svg>');
	background-size: 200% 100%;
	background-repeat: no-repeat ;
	background-position: center right;
	overflow: hidden;
	position: absolute;
	right: 11px;
	top: 0;
	bottom:0;
	margin-block: auto;
	--size: 20px;
	width: var(--size);
	height: var(--size);
	display: flex;
	justify-content: center;
	align-items: center;
	transition: 0.4s ease-in-out;
}

#login .row.btn-row:hover:before {
	width: 100%;
	height: 100%;
	right: 0;
	border-radius: 100vmax;
	transform-origin: right center;
}
#login .row.btn-row:hover:after {
	background-position: center left;
	transform-origin: right center;
}
	
#login .row.btn-row:hover input {
	color: #3c3c3b;
}



