/*! normalize.css v1.0.1 | MIT License | git.io/normalize */
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary{display:block}
audio,canvas,video{display:inline-block;*display:inline;*zoom:1}
audio:not([controls]){display:none;height:0}
[hidden]{display:none}
html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}
html,button,input,select,textarea{font-family:sans-serif}
body{margin:0}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
h1{font-size:2em;margin:.67em 0}
h2{font-size:1.5em;margin:.83em 0}
h3{font-size:1.17em;margin:1em 0}
h4{font-size:1em;margin:1.33em 0}
h5{font-size:.83em;margin:1.67em 0}
h6{font-size:.75em;margin:2.33em 0}
abbr[title]{border-bottom:1px dotted}
b,strong{font-weight:bold}
blockquote{margin:1em 40px}
dfn{font-style:italic}
mark{background:#ff0;color:#000}
p,pre{margin:1em 0}
code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}
pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}
q{quotes:none}
q:before,q:after{content:'';content:none}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-0.5em}
sub{bottom:-0.25em}
dl,menu,ol,ul{margin:1em 0}
dd{margin:0 0 0 40px}
menu,ol,ul{padding:0 0 0 40px}
nav ul,nav ol{list-style:none;list-style-image:none}
img{border:0;-ms-interpolation-mode:bicubic}
svg:not(:root){overflow:hidden}
figure{margin:0}
form{margin:0}
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}
legend{border:0;padding:0;white-space:normal;*margin-left:-7px}
button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}
button,input{line-height:normal}
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;*overflow:visible}
button[disabled],input[disabled]{cursor:default}
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*height:13px;*width:13px}
input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}


body {
	background-color:#2A2E2C;
	color:#FFF;
	min-height: 100vh;
  	display: grid;
  	grid-template-rows: auto 1fr auto;
  	grid-template-columns: 100%;
}

.odisea-container {
	margin:0 auto;
    padding-left: 20px;
    padding-right: 20px;
    max-width: 1920px;
}

/* **** HOME ***** */
div.home {
  margin: 4rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
a.home-link {
	color:#E7F39B;
  font-size: 24px;
}

/* **** HEADER ***** */
.custom-header {
	padding:30px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.custom-header-logo {
	max-width: 95px;
	filter: brightness(0) invert(1);
}

.custom-header__enlaces a {
	display: block;
	font-family: 'Manrope', sans-serif;
	font-size: 14px;
	line-height: 17px;
	color:#FFF;
	font-weight: 400;
	text-decoration: none;
}

.custom-header__enlaces a:hover{
	text-decoration: underline;
}

/* **** LOGIN BOX **** */
#login {
   width:660px;
   margin:0;
   padding: 5% 0 0;
}

#login hr {
	display: none!important;
}

.custom-header-login_box {
	margin-bottom: 20px;
	max-width: 570px;
}

.custom-header-login_box .custom-header__titulo {
	display: block;
	font-family: 'Spectral', sans-serif;
	font-size: 48px;
	line-height: 48px;
	color:#FFF;
	font-weight: 700;
	margin:0 0 12px 0;
}

.custom-header-login_box .custom-header__texto {
	display: block;
	font-family: 'Manrope', sans-serif;
	font-size: 24px;
	line-height: 30px;
	color:#FFF;
	font-weight: 400;
	margin:0 0 12px 0;
}

.custom-header-login_box .custom-header__texto a {
	color:#E7F39B;
	text-decoration: underline;
}

#login form {
	margin-top: 20px;
    font-weight: 400;
    overflow: hidden;
}

#login form label {
	display: none;
}

#login form input {
	width: 100%;
    background-color: transparent!important;
    color: #FFF!important;
    font-size: 18px;
    padding: 14px 15px;
    margin-bottom: 15px;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #FFF;
    padding-left: 0;
    padding-bottom: 3px;
    font-family: 'Manrope', sans-serif;
    box-sizing: border-box;
}

#login form input::placeholder {
	color:#FFF;
	font-family:'Manrope', sans-serif;
	font-size: 18px;
}

#login form input:focus {
	border-color: #FFF;
	outline: 0;
    box-shadow: none;
}

#id_password_helptext a {
	font-family: 'Manrope', sans-serif;
    color: #E7F39B;
    font-size: 14px;
    font-weight: 400;
    display: block;
    text-align: left;
    text-decoration: none;
}

.toggle-password {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  user-select: none;
}

p.has-error > input {
  border-bottom: 1px solid red !important;
}

.errorlist {
  color: red;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.9em;
}

.errorlist li {
  margin-top: 4px;
}

#id_password_helptext a:hover {
	text-decoration: underline;
}

#login form .login-remember {
	margin: 30px 0 30px 0;
	display: flex;
	justify-content: flex-start;
	align-items:center;
	gap:10px;
}

#login form .login-remember label {
	display: block;
	order:2;
	font-family: 'Manrope', sans-serif;
	color: #FFF;
    font-size: 14px;
    font-weight: 400;
    display: inline-block;
}

#login form input#id_remember {
	display: none;
}

#login form .login-remember input {
	display: block;
	order:1;
	width:auto;
	margin:0;
}

/*remember */
#login .form-inputs p:last-child {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap:5px;
}
#login .form-inputs p:last-child input {
	width:auto;
	margin:0;
}
#login .form-inputs p:last-child label {
	display: block;
	order:2;
 	font-family: 'Manrope', sans-serif;
 	font-size: 14px;
}

#login form .login-submit {
	background:#E7F39B;
	color:#2A2E2C;
	font-size: 18px;
	line-height: 1.2em;
	text-transform: uppercase;
	border: transparent;
    padding: 12px 20px;
    border-radius:30px;

    font-weight: 400;
	width:auto;
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}


.login-google {
	margin:50px 0 0 0;
}

.login-google h2 {
	font-family: 'Spectral', sans-serif;
	font-size: 30px;
	line-height: 30px;
	color: #FFF;
	font-weight: 700;
	margin: 0 0 12px 0;
}

.login-google a {
	font-family: 'Manrope', sans-serif;
	color: #E7F39B;
	font-size: 18px;
	font-weight: 400;
	display: inline-block;
}

.login-google + ul a {
	font-family: 'Manrope', sans-serif;
	color: #E7F39B;
	font-size: 18px;
	font-weight: 400;
	display: inline-block;
}

/* **** REGISTRO ***** */
#login.registro {
	width:100%;
	padding-bottom: 50px;
}

#login.registro .form-inputs {
	width:50%;
	display: flex;
	justify-content: flex-start;
  	align-content: flex-start;
	flex-wrap: wrap;
	gap:32px;
	row-gap:0;
}

#login.registro .input-email {
	width:100%;
}

#login.registro .input-nombre {
	width:calc(37% - 16px);
}

#login.registro .input-apellidos {
	width:calc(63% - 16px);
}

#login.registro .input-password {
	width:100%;
}

#login.registro .password-rules {
	padding: 0 0 0 12px;
	font-size: 14px;
	font-family: 'Manrope', sans-serif;
	line-height: 1.4em;
	margin-top: 0;
	margin-bottom: 40px;
  	width: 100%;
}




/* **** GOOGLE **** */
#login form .google-info {
	display: block;
	font-family: 'Manrope', sans-serif;
	font-size: 18px;
	line-height: 24px;
	color: #FFF;
	font-weight: 400;
	margin: 30px 0 12px 0;
}
















/* **** FOOTER ***** */
.site-footer {
	border-top:1px solid rgba(255,255,255,0.5);
	width:100%;
	box-sizing: border-box;
	z-index: 10;
	/*position: absolute;
	bottom:0;
	left:0;
	right: 0;*/

}

.footer-top {
	padding:20px 0 30px 0;
}


.site-footer .odisea-container {
	margin:0 auto;
    padding-left: 20px;
    padding-right: 20px;
    max-width: 1920px;
}

.footer-in {
	display: flex;
	justify-content: space-between;
	align-items:flex-start;
}

.footer-texto {
	font-family: 'Manrope', sans-serif;
	font-size: 14px;
	line-height: 17px;
	font-weight: 400;
	color:#FFF;
	max-width:410px;
}

.site-footer a,
.footer-texto p a {
	color:#E7F39B;
	text-decoration: none;
}

.footer-legal {
	display: flex;
	justify-content: flex-start;
	gap:40px;
}

.footer-legal a {
	font-family: 'Manrope', sans-serif;
	font-size: 14px;
	line-height: 17px;
	font-weight: 400;
	color:#FFF;
	text-decoration: none;
}

.footer-legal a:hover,
.footer-texto p a:hover {
	text-decoration: underline;
}

/* **** RESPONSIVE **** */
@media only screen and (max-width: 1023px){
	.footer-in {
        flex-direction: column;
        justify-content: center;
        align-items: center;
	}

	.footer-texto {
		text-align: center;
	}

	.footer-legal {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 10px;
	}

	.footer-logos {
		margin-bottom: 40px;
	}
	.footer-logos:last-of-type {
		margin-bottom: 0
	}

	.footer-logos-in {
		justify-content: center;
	}

	body #login {
		width:100%;
	}
}

@media only screen and (max-width: 768px){

	.site-footer {
		position: relative;
    	margin-top: 50px;
    }

	.footer-in p {
		margin-bottom: 10px;
	}
}

@media only screen and (max-width: 500px) {
	.site-footer {
		position: relative;
	}

	body {
		background-size: auto;
	}
}
