
/*** Estilos - Estructura **/

/** 0. Fuentes */
/** 1. Base */
/** 2. Layout: l-; 2.1. General; 2.2. Header; 2.3. Menu; 2.4. Page; 2.5. Menu */
/** 3. Componentes: c- */
/** 4. Paginas: p- */
/** 5. Otros: body-fixed */

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/** 0. Fuentes */


/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/** 1. Base */

:root {
	--color-primary: #2e1452;
	--color-secondary: #2bd6d9;
	--color-yellow: #ffc229;
	--color-green: #00c578;
	--color-dark-blue: #3836bf;
	--font-text-primary: 'Open Sans', sans-serif;
	--font-color-primary: #333;
}

html, body {
	font-size: 62.5%;
	height: 100%;
}

body {
	/*background: transparent url('../images/bkg_page.png') no-repeat scroll bottom right;*/
	background: #fff;
	color: var(--font-color-primary);
	font-family: var(--font-text-primary);
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.25;
    position: relative;
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

*::-moz-selection {
    background-color: var(--color-primary);
    color: #FFF;
}

*::selection {
    background-color: var(--color-primary);
    color: #FFF;
}

a {
	color: var(--color-primary);
	-webkit-transition: all 0.1s ease 0s;
	-ms-transition: all 0.1s ease 0s;
	-moz-transition: all 0.1s ease 0s;
	-o-transition: all 0.1s ease 0s;
	transition: all 0.1s ease 0s;
}
a:hover, a:focus {color: var(--color-secondary);}

b, strong {font-weight: 700;}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	color: var(--color-primary);
	font-family: var(--font-text-primary), serif;
	font-weight: 600;
    margin: 0 0 1rem;
}

.navbar .collapse:not(.show){
	display: block !important;
}

h4 {font-size: 2rem;}

ul, li {
	padding: 0;
	list-style: outside none none;
}

li:last-child {
	margin-bottom: 0;
}

.clear {
    clear: both;
    display: block;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    width: 0;
}

.hide-text {
	display: block;
	overflow: hidden;
	text-indent: 101%;
	white-space: nowrap;
}

input {font-size: 1.4rem; font-weight: normal;}

/* input[disabled],input[readonly] {}*/


input[type="text"], input[type="password"], input[type="email"], textarea, select {
	background-color: #FFF;
	border-bottom: 1px solid #666;
	border-left: 0 none;
	border-right: 0 none;
	border-top: 0 none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	color: #000;
	line-height: 1.5;
	padding: .8rem;
}

input.readonly, input.readonly:focus, textarea.readonly, textarea.readonly:focus {
	background-color: #f8f8f8;
	border-bottom-color: #CCC;
	color: #999;
	cursor: initial;
	outline: none;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {
	border-bottom-color: var(--color-secondary);
	outline: 0;
}

input[type="file"] {
    border: 1rem solid #ccc;
    display: block;
    padding: 0;
    width: auto;
}

img {
	font-style: italic;
	vertical-align: middle;
}

table {
  	border-collapse: collapse;
  	border-spacing: 0;
  	font-size: 1.3rem;
}

p {
	color: #000;
	font-size: 1.6rem;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/** 2. Layout */

/* 2.1. General */

.l-container {
    min-height: 100%;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

body > .l-container::after {
    clear: both;
    content: "";
    display: block;
    height: 19.9rem;
}

@media (min-width: 768px) {

	body > .l-container::after {
	    height: 7rem;
	}
}

/* --------------- */

/* 2.2. Header */

.l-header {
	background: var(--color-primary) none no-repeat scroll 0 0;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.l-header__general {
	background-color: transparent;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.l-header__logos {
	float: left;
    margin: 1.2rem 0;
}

.l-header__logo {
	display: inline-block;
	max-width: 12rem;
	vertical-align: middle;
    width: 100%;
}
.l-header__logo img {
	display: block;
	width: 100%;
}
.l-header__out {
    color: var(--color-secondary);
    display: none;
    float: right;
    font-weight: 700;
    margin: 3rem 0 0;
    text-transform: uppercase;
}

.l-header__out:hover {color: #fff;text-decoration: none;}

.l-header__logout {display: none;}

@media (min-width: 992px) {

	.l-header__logo {
		max-width: 20rem;
	}

	.l-header__general > .l-page__container {
		overflow: hidden;
		padding: 1.5rem 0 0;
		position: relative;
	}
	
	.l-header__logout {
		color: #FFF;
		display: inline-block;
		font-size: 1.3rem;
		position: absolute;
		right: 0;
		text-transform: uppercase;
		top: 1rem;
	}
	.l-header__logout:hover {
		color: var(--color-secondary);
		text-decoration: none;
	}
	.l-header__out {display: block;}
	
}

/* --------------- */

/* 2.3. Menu */

.l-menu {
	background-color: transparent;
	display: none;
}
.l-menu.navbar {
	padding:  0;
}
.l-menu ul {
	display: block;
	overflow: hidden;
}
.l-menu a {
	background-color: transparent;
	border-bottom: .4rem solid transparent;
    color: #FFF;
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.65;
    padding: 1rem 2rem;
}
.l-menu a:hover, .l-menu a.active {
	background-color: transparent;
	border-color: var(--color-secondary);
	color: var(--color-secondary);
	text-decoration: none;
}

.l-menu a i {margin-right: .6rem;}

.l-menu__profile {
	background-color: #1f313d;
	padding: 1rem 2rem;
}

.l-menu__profile li {color: #FFF;}
.l-menu__profile li:first-child {margin-bottom: .8rem;}

@media (min-width: 992px) {
	.l-menu {
		display: block;
		float: right;
		margin: 2.5rem 0 0;
	}
	.l-menu ul.l-menu__profile {display: none;}
	.l-menu li {
		float: left;
		margin-left: 2rem;
	}
	.l-menu li:first-child {margin-left: 0;}
	.l-menu a {
		font-size: 1.5rem;
		padding: .4rem 1.5rem 1rem;
	}
	.l-menu .navbar-collapse {
		display: block;
	}
	.l-menu__logout {display: none;}
}

/* --------------- */

/* 2.4. Page */

.l-page__container {
	margin: 0 auto;
	max-width: 1266px;
	width: 94%;
}

.l-page__container--1600 {
	max-width: 1600px;
}

.l-page__container--1000 {
	max-width: 1000;
}

.l-page__container--total {
	max-width: 100%;
	width: 100%;
}

.l-page__general {
	padding: 1.2rem 0;
}

.l-page__box {
	background-color: #FFF;
	-webkit-box-shadow: 0 0 1.2rem #efefef;
	-moz-box-shadow: 0 0 1.2rem #efefef;
	box-shadow: 0 0 1.2rem #efefef;
	margin-bottom: 1.2rem;
	overflow: hidden;
	padding: 2rem;
	width: 100%;
}

.l-page__box:last-child {margin-bottom: 0;}

.l-page__box h3 {
	color: #666;
	margin-bottom: 2.8rem;
	text-align: center;
	text-transform: uppercase;
}

.l-page__text {margin: 0 0 2rem;}

.l-page__text p {margin: 0 0 1.2rem;}
.l-page__text p:last-child {margin: 0;}

.l-page__button {
	overflow: hidden;
	text-align: center;
	width: 100%;
}

.l-page__button--right {text-align: right;}


.l-page__titular {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	-webkit-box-pack: start;
		-ms-flex-pack: start;
			justify-content: flex-start;

    background-color: #efefef;
	-webkit-box-shadow: 0 0 16px #ccc;
	box-shadow: 0 0 16px #ccc;
	margin-bottom: 3rem;
    margin-top: 0;
    min-height: 100px;
    padding: 2rem 0;
}
.l-page__titular::before {display: none;}
.l-page__titular h2 {
	font-size: 3.2rem;
	letter-spacing: .1rem;
}

@media (min-width: 768px) {
	.l-page__general {
		padding: 2rem 0;
	}
	.l-page__titular {
		padding: 3.5rem 0;
	}
	.l-page__titular h2 {
		font-size: 3.8rem;
	}
	.l-page__data {
		align-items: center;
		flex-flow: row wrap;
		justify-content: space-between;
	}
	.l-page__data p {font-size: 2rem; margin: 0;}
	.l-page__data > strong {font-size: 2rem;}
	.l-page__box {padding: 2.8rem;}
}

.l-page__section {
	background-color: #FFF;
	overflow: hidden;
	padding: 3rem 0;
	width: 100%;
}

.l-page__section--grey {
	background-color: #efefef;
}

.l-page__section--greySoft {background-color: #fbfbfb;}

.l-page__section--red {
	background: #f40000 url('../images/site/bkg_red.jpg') no-repeat fixed center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
}

.l-page__section--gift {
	background: #f1f1f1 url('../images/site/bkg_catalogo.jpg') no-repeat scroll -545px bottom;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	padding-bottom: 15rem;
}

.l-page__section h2 {
	font-size: 2.5rem;
	margin: 0 0 2.5rem;
	text-align: center;
}
.l-page__section > div > h2 span {
	display: inline-block;
	margin: 0 .5rem;
	vertical-align: middle;
}
.l-page__section > div > h2 i {
	display: inline-block;
	font-size: 2rem;
	vertical-align: middle;
}

.l-page__section--red h2 {color: #FFF;}

.o-section__titles {
	margin-bottom: 3rem;
	overflow: hidden;
	width: 100%;
}
.l-page__section .o-section__titles h2 {
	margin-bottom: 1rem;
}
.o-section__titles h3 {
	font-size: 1.8rem;
	text-align: center;
}
.o-section__titles p {
	text-align: center;
}
.o-section__titles p.small {
	color: #17a2b8;
	font-size: 84%;
	font-weight: bold;
}

@media (min-width: 768px) {
	.l-page__section {padding: 5rem 0;}
	.l-page__section h2 {font-size: 3.8rem;margin-bottom: 5rem;}
	.o-section__titles h3 {font-size: 2.2rem;}
	.l-page__section--gift {
		background-attachment: scroll;
		background-position: -110px bottom;
		padding-bottom: 5rem;
	}
}

.l-page__info {
	background-color: #FFF;
	-webkit-box-shadow: 0 0 1.2rem #efefef;
	-moz-box-shadow: 0 0 1.2rem #efefef;
	box-shadow: 0 0 1.2rem #efefef;
	overflow: hidden;
	padding: 2rem;
	text-align: center;
	width: 100%;
}

.l-page__info--buy {
	background-color: transparent;
	-webkit-box-shadow: 0 0 0;
	-moz-box-shadow: 0 0 0;
	box-shadow: 0 0 0;
	font-size: 1.5rem;
}

.l-page__info p:last-child {margin-bottom: 0;}

.l-page__info h3 {
	color: #222;
	margin-bottom: 2.8rem;
}
.l-page__info h4 {
	margin-bottom: 2.8rem;
}
.o-info__buttons {
	overflow: hidden;
	text-align: center;
	width: 100%;
}
.o-info__buttons a, .o-info__buttons button {
	margin: 0 .6rem;
}

@media (min-width: 768px) {
	.l-page__info {padding: 2.8rem;}
}

.l-page__user {
    position: relative;
    margin: 0 0 1rem 3rem;
    padding-left: 0rem;
    width: 21rem;
}
.l-page__user > img {
	left: 0;
	position: absolute;
	top: 0;
}
.l-page__user i {
	color: #FFF;
	position: absolute;
	font-size: 3rem;
	left: 0;
	top: 0;
}
.l-page__user > div {
    background-color: #FFF;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    padding: 2.5rem 2.1rem;
    height: 14rem;
    width: 14rem;
}
.l-page__user > div p {
	margin-bottom: .2rem;
	position: relative;
}
.l-page__user > div p strong {
	color: #f40000;
}
.l-page__user > div p img {
	left: 0;
	position: absolute;
	top: 0;
}
.l-page__user > div p.o-user__small {
	color: #444;
	font-size: 1.3rem;
	margin: 0;
	min-height: 2.2rem;
	padding-left: 0;
}
.l-page__user > div p.o-user__small span {display: block;padding: .5rem 0 0;}


@media (min-width: 768px) {
	.l-page__user {margin: 0 0 0 3rem;}
	.l-page__user > div p.o-user__small {font-size: 1.4rem;}
}


.l-page__titles {
	margin-bottom: 6rem;
	overflow: hidden;
	text-align: center;
	width: 100%;
}

.l-page__titles p {color: #FFF;}

.l-page__titles .c-btn {
	margin-top: 2.5rem;
}

.l-page__arrow {
	margin-bottom: 1.5rem;
	overflow: hidden;
	text-align: center;
	width: 100%;
}
.l-page__arrow i {
    color: #FFF;
    font-size: 3rem;
    -webkit-transition: all 0.2s ease 0s;
    -moz-transition: all 0.2s ease 0s;
    -ms-transition: all 0.2s ease 0s;
    -o-transition: all 0.2s ease 0s;
    transition: all 0.2s ease 0s;
    padding: .6rem;
    background-color: rgba(255,255,255,0.2);
    -webkit-border-radius: 0.3rem;
    -moz-border-radius: 0.3rem;
    border-radius: 0.3rem;
}

.l-page__arrow:hover i {
	color: #f40000;
	-webkit-transform: scale(1.25);
	-moz-transform: scale(1.25);
	-ms-transform: scale(1.25);
	-o-transform: scale(1.25);
	transform: scale(1.25);
}

@media (min-width: 768px) {
	.l-page__titles {margin-bottom: 12rem;}
}

.l-page__information {
	text-align: center;
}

.l-page__information h3 {font-size: 2.2rem;}
.l-page__information h3 span {color: var(--color-secondary);}
.l-page__information h4 {margin-bottom: 4rem;}

/* --------------- */

/* 2.5. Footer */

.l-footer {
	background-color: var(--color-primary);
	margin-top: -19.9rem;
	min-height: 19.9rem;
	overflow: hidden;
	position: relative;
	width: 100%;
	z-index: 10;
}

.l-footer__list {
	margin: 0;
	overflow: hidden;
	padding: 2.5rem 0;
	text-align: center;
	width: 100%;
}
.l-footer__list li {
	display: inline-block;
	margin: 0;
	text-align: center;
	width: 100%;
}

.l-footer__list li img {
	display: inline-block;
	margin: 1rem auto 0;
	max-width: 100px;
	width: 100%;
}

.l-footer__list a, .l-footer__list span {
	color: #FFF;
	font-size: 1.3rem;
	padding: .6rem 1rem;
}
.l-footer__list a:hover {text-decoration: underline;}

.l-footer__desktop {display: none;}

@media (min-width: 768px) {
	.l-footer {
		margin-top: -7rem;
		min-height: 7rem;
	}
	.l-footer__list li {
		position: relative;
		width: auto;
	}
	.l-footer__list li::before {
		background-color: #FFF;
		content: '';
		height: 1.4rem;
		margin-top: -.7rem;
		position: absolute;
		right: 0;
		top: 50%;
		width: .1rem;
	}
	.l-footer__list li:nth-child(5)::before, .l-footer__list li:last-child::before {
		display: none;
	}
	.l-footer__list a, .l-footer__list span {
		padding: 0 1rem;
	}
	.l-footer__list li img {
		margin: 0 0 0 1rem;
	}

	.l-footer__mobile {display: none;}
	.l-footer__desktop {display: block;}
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/** 3. Componentes */

/* 3.1 Botones */

.c-btn, .c-btn:focus {
	background-color: var(--color-primary);
	border: .2rem solid var(--color-primary);
	-webkit-border-radius: 2.5rem;
	-moz-border-radius: 2.5rem;
	border-radius: 2.5rem;
	color: #FFF;
	cursor: pointer;
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 700;
	outline: 0 none;
	padding: 1rem 2.6rem 1.3rem;
}
.c-btn:hover {
	background-color: var(--color-secondary);
	border: .2rem solid var(--color-secondary);
	color: #000;
	text-decoration: none;
}

.c-btn em, .c-btn i {
	display: inline-block;
	font-style: normal;
	vertical-align: middle;
}

.c-btn i {
	margin-left: 1rem;
	vertical-align: bottom;
}

.c-btn--red {background-color: #f40000;}

.c-btn--border, .c-btn--border:focus {
	background-color: #FFF;
	border: .2rem solid var(--color-primary);
	color: var(--color-primary);
}

.c-btn--border:hover {
	background-color: #fff;
	border: .2rem solid var(--color-secondary);
	color: var(--color-secondary);
}

.c-btn--volver {
	background-color: transparent;
	color: var(--color-primary);
	padding: 1rem 0;
}

.c-btn--volver:hover {
	color: var(--color-secondary-);
	text-decoration: none;
}

.c-button__mobile {
	overflow: hidden;
    display: inline-block;
    min-height: 7.2rem;
    position: absolute;
    right: 0;
    top: 0;
}

.c-button__mobile button {
    -moz-border-radius: .5rem;
    -webkit-border-radius: .5rem;
    background-color: var(--color-primary);
    border-radius: .5rem;
    color: #FFF;
    margin: 0;
    padding: .5rem 1rem;
}
.c-button__mobile i {font-size: 3.6rem;}
.c-button__mobile i.fa-times {display: none;}

@media (min-width: 992px) {
	.c-button__mobile {
		display: none;
	}
}

/* --------------- */

/* 3.2 Listas */

.c-list {
	overflow: hidden;
	width: 100%;
}
.c-list li {
	margin: 0 0 1rem;
	position: relative;
}

.c-list li:last-child {
	margin-bottom: 0;
}

.c-list--points li {
	padding: 0 0 0 2rem;
}
.c-list--points li::before {
	background-color: var(--color-secondary);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	content: '';
	display: block;
	height: .6rem;
	left: 0;
	position: absolute;
	top: .6rem;
	width: .6rem;
}

.c-list--points ul, .c-list--letters ul {margin-top: 1.2rem;}
.c-list--points ul li::before {
	background-color: #FFF;
	border: .1rem solid var(--color-secondary);
}

.c-list--letters li {
	padding: 0 0 0 2.5rem;
}
.c-list--letters li span {
	color: var(--color-secondary);
	font-weight: 700;
    left: 0;
    line-height: 1.2;
    position: absolute;
    top: 0;
}

.c-steps {
	overflow: hidden;
	position: relative;
	text-align: center;
	width: 100%;
	margin: 0 auto 6rem;
}

.c-steps::before {
	background-color: #CCC;
	content: '';
	height: .2rem;
	left: 0;
	position: absolute;
	top: 2rem;
	width: 100%;
}

.c-steps li {
	display: inline-block;
	padding: 0 2.5rem;
	position: relative;
	text-align: center;
	min-width: 17.5rem;
}
.c-steps li::before {
	background-color: #CCC;
	content: '';
	height: .2rem;
	left: 0;
	position: absolute;
	top: 2rem;
	width: 100%;
}
.c-steps li:first-child::before {
	left: auto;
	right: 0;
	width: 50%;
}
.c-steps li:last-child::before {
	width: 50%;
}

.c-steps span {
	background-color: #FFF;
	border: .2rem solid var(--color-primary);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	color: var(--color-primary);
	display: block;
	height: 4rem;
	margin: 0 auto 1rem;
	padding: .9rem 0 0;
	position: relative;
	text-align: center;
	width: 4rem;
}
.c-steps li.active span {
	background-color: var(--color-primary);
	border: .2rem solid var(--color-primary);
	color: #FFF;
}

/* --------------- */

/* 3.3 Colores */

.c-color--red {color: #f40000;}
.c-color--blue {color: var(--color-dark-blue);}

/* --------------- */

/* 3.4 Enlaces */

.c-link--mailto {
	color: var(--color-primary);
	font-weight: 700;
}
.c-link--mailto:hover {
	color: var(--color-secondary);
}

.c-link--table {
	color: var(--color-primary);
	text-transform: uppercase;
	font-weight: 700;
}
.c-link--table:hover {
	color: #000;
}

/* --------------- */

/* 3.5 Tablas */

.c-table thead th {
	background-color: var(--color-primary);
	color: #FFF;
	font-size: 1.3rem;
	padding: 1.6rem .8rem;
	text-transform: uppercase;
}
.c-table thead th, .c-table tbody td {
	vertical-align: middle;
}
.c-table tbody td {
	border-bottom: 1px solid #555;
	font-size: 1.3rem;
	padding: 1.2rem .8rem;
}
.c-table__center {text-align: center;}
.c-table__left {text-align: left;}
.c-table__right {text-align: right;}

.c-table .c-table__links a {margin-right: 1rem;}
.c-table .c-table__links a:last-child {margin-right: 0;}

/* --------------- */

/* 3.6 Instrucciones */

.c-instructions__list {
	overflow: hidden;
	text-align: center;
	width: 100%;
}
.c-instructions__list li {
	display: inline-block;
	margin-bottom: 1.5rem;
	vertical-align: middle;
	width: 100%;
}
.c-instructions__list li:last-child {margin-bottom: 0;}
.c-instructions__list li.o-list__points {
    display: none;
}

.c-instructions__circle {
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	height: auto;
	margin: 0 auto;
	padding: 1rem 2rem;
	text-align: center;
	width: 25rem;
}
.c-instructions__circle h3 {
	color: #FFF;
}
.c-instructions__circle h3 img {
	display: inline-block;
	margin-right: .5rem;
	vertical-align: middle;
}
.c-instructions__circle h3 em {
	display: inline-block;
	font-size: 2.5rem;
	font-style: normal;
	vertical-align: middle;
}
.c-instructions__circle p {
	color: #FFF;
	font-size: 1.5rem;
	margin: 0;
}

.c-instructions__circle p span {display: inline-block;}

.c-instructions__button {
    margin-top: 2rem;
    overflow: hidden;
    text-align: center;
    width: 100%;
}
.c-instructions__button i {
    color: #f40000;
    display: block;
    font-size: 3rem;
    margin: 0 0 1rem;
    text-align: center;
}

@media (min-width: 768px) {
	.c-instructions__list li {width: auto;}
	.c-instructions__list li, .c-instructions__list li:last-child {
		margin-bottom: 0;
	}
	.c-instructions__list li.o-list__points {
	    display: inline-block;
		width: 2rem;
	}

	.c-instructions__circle {
		height: 22rem;
		padding: 4rem 1.5rem;
		width: 22rem;
	}
}

@media (min-width: 1280px) {

	.c-instructions__list li.o-list__points {
	    background: transparent url(../images/site/point.png) repeat-x scroll 0 0;
	    height: 9.6rem;
	    margin: 0 1rem;
	    width: 9.9rem;
	}

	.c-instructions__circle {
		height: 25rem;
		padding: 4rem 2rem;
		width: 25rem;
	}
}

/* --------------- */

/* 3.7 Referencias */

.c-references {
	margin-bottom: 3rem;
	overflow: hidden;
	width: 100%;
}
.c-references--desktop {
	display: none;
}

.c-references ul {
	overflow: hidden;
	width: 100%;
}
.c-references li {
	float: left;
	padding: 0 1rem;
	width: 33.33%;
}
.c-references li h3, .c-references h3 {
	font-size: 2rem;
	margin: 0 0 1rem;
	text-transform: uppercase;
}
.c-references li p {
	color: #000;
	font-size: 1.4rem;
}

.c-references__image {
	margin: 0 auto 2rem;
	/*padding-top: 8rem;*/
	padding-top: 1.5rem;
	display: block;
	width: 100%;
	position: relative;
	max-width: 35rem;
}
.c-references__image img {
	display: block;
	margin: 0 auto;
	max-width: 33rem;
	width: 100%;
}
.c-references__lock {
	background: transparent url('../images/site/chapa.png') no-repeat scroll 0 0;
	top: 0;
	height: 8.7rem;
	padding-top: 1.9rem;
	position: absolute;
	right: 0;
	text-align: center;
	width: 8.7rem;
}
.c-references li .c-references__lock p, .c-references__lock p {
    color: #FFF;
    font-size: 3.2rem;
    line-height: 1;
    margin: 0;
}
.c-references__lock span {
	display: block;
	font-size: 1.4rem;
}

.c-references--mobile div.carousel-item h3, .c-references--mobile div.carousel-item p {text-align: center;}

.c-references--mobile [class*="carousel-control-"] {display: none;}

@media (min-width: 768px) {
	.c-references--mobile {display: none;}
	.c-references--desktop {display: block;}
	.c-references li {
		text-align: center;
	}
}
@media (min-width: 992px) {}
@media (min-width: 1280px) {}

.c-references__points {padding-bottom: 5rem;}
.c-references__points .carousel-indicators {
    bottom: .5rem;
    margin-bottom: 0;
}

.c-references__points .carousel-indicators li {
    background-color: #FFF;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    border: .1rem solid #f40000;
    height: 3.5rem;
    padding: 0;
    width: 3.5rem;
}

.c-references__points .carousel-indicators .active {
    background-color: #f40000;
}
@media (min-width: 992px) {
	.c-references__points .carousel-indicators li {
	    height: 1.5rem;
	    width: 1.5rem;
	}
}

/* --------------- */

/* 3.8 Slick */

.c-slick {
	position: relative;
}

.c-slick__item > a {
	-webkit-border-radius: 1rem;
	-moz-border-radius: 1rem;
	border-radius: 1rem;
	-webkit-box-shadow: 0 0 1.2rem #CCC;
	-moz-box-shadow: 0 0 1.2rem #CCC;
	box-shadow: 0 0 1.2rem #CCC;
	display: block;
	margin: 5% 4.5%;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	width: 91%;
}

.c-slick__item > a::before {
	background: -moz-linear-gradient(left, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 48%, rgba(0,0,0,0) 100%);
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 52%, rgba(0,0,0,0.65) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0) 52%,rgba(0,0,0,0.65) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0) 52%,rgba(0,0,0,0.65) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
	content: '';
	bottom: 0;
	height: 100%;
	left: 0;
	position: absolute;
	width: 100%;
}

.c-slick__item.c-slick__item--proximamente > a::before {
	background: rgba(0,0,0,0.7) none no-repeat scroll 0 0;
}

.c-slick__item--proximamente span {
	color: #FFF;
	font-size: 2rem;
	height: 2rem;
	left: 0;
	margin-top: -1rem;
	position: absolute;
	text-align: center;
	text-transform: uppercase;
	top: 50%;
	width: 100%;
}

.c-slick__item > a img {
	display: block;
	width: 100%;
}
.c-slick__title {
	background-color: transparent;
	bottom: 0;
	left: 0;
	overflow: hidden;
	padding: 1rem 1rem 2.5rem;
	position: absolute;
	text-align: center;
	width: 100%;
}
.c-slick__title h3 {
	color: #FFF;
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0 0 .5rem;
	text-transform: uppercase;
}
.c-slick__title p {
	font-size: 1.5rem;
	margin: 0;
}

.c-slick--rectangle .c-slick__item {
	padding: 2rem 0;
}

.c-slick__content {
    background-color: #FFF;
    -webkit-border-radius: 1rem;
    -moz-border-radius: 1rem;
    border-radius: 1rem;
    -webkit-box-shadow: 0 0 1.2rem #CCC;
    -moz-box-shadow: 0 0 1.2rem #CCC;
    box-shadow: 0 0 1.2rem #CCC;
    display: block;
    margin: 0 2% 0;
    overflow: hidden;
    padding: 2rem;
    position: relative;
    text-decoration: none;
    width: 96%;
}

.c-slick__image, .c-slick__description {
	float: left;
	position: relative;
	width: 100%;
}
.c-slick__image img {
	display: block;
	margin: 0 auto;
	max-width: 340px;
	width: 100%;
}

.c-slick__image i {
    background-color: #FFF;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    color: #f40000;
    font-size: 2.5rem;
    height: 4rem;
    padding-top: .6rem;
    position: absolute;
    right: 5%;
    text-align: center;
    top: 5%;
    width: 4rem;
}

.c-slick__description {
	margin-top: 3rem;
}
.c-slick__description h2 {
	margin: 0 0 .5rem;
	text-align: left;
}
.c-slick__description h3 {
	font-size: 2rem;
	font-weight: 600;
	margin: 0 0 1rem;
}
.c-slick__description h4 {
	color: #f40000;
	font-weight: 600;
	font-weight: normal;
}
.c-slick__description p {
	color: #000;
	font-size: 1.4rem;
}

.c-slick__button {
	margin-top: 3rem;
	overflow: hidden;
	text-align: center;
	width: 100%;
}

@media (min-width: 768px) {
	.c-slick__item > a {
		-webkit-box-shadow: 0 0 2rem #CCC;
		-moz-box-shadow: 0 0 2rem #CCC;
		box-shadow: 0 0 2rem #CCC;
	}
	.c-slick__image {
		margin-right: 4%;
		text-align: center;
		width: 36%;
	}
	.c-slick__description {
		margin: 0;
		width: 60%;
	}
	.c-slick--rectangle.slick-slider .slick-list {padding: 0 100px!important;}
}

@media (min-width: 991px) {
	.c-slick__item > a {
		-webkit-box-shadow: 0 0 2rem #CCC;
		-moz-box-shadow: 0 0 2rem #CCC;
		box-shadow: 0 0 2rem #CCC;
	}
	.c-slick--rectangle.slick-slider .slick-list {padding: 0 200px!important;}

	.c-slick__content {
	    margin: 2.2% 3% 1.5%;
	    -webkit-transform: scale(1.02);
	    -moz-transform: scale(1.02);
	    -o-transform: scale(1.02);
	    -ms-transform: scale(1.02);
	    transform: scale(1.02);
	    width: 94%;
	}

	.c-slick__item.slick-active .c-slick__content {
		margin: 1%;
		padding: 4rem;
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		-o-transform: scale(1);
		-ms-transform: scale(1);
		transform: scale(1);
		width: 98%;
	}

}

@media (min-width: 1280px) {
	.c-slick--rectangle.slick-slider .slick-list {padding: 0 300px!important;}
}

/* --------------- */

/* 3.9 Slider */

.c-slider--points .carousel {
	padding-bottom: 6rem;
}


/* 3.9.1. Descripcion */

.c-slider--points .carousel-item {
	overflow: hidden;
	width: 100%;
}
.c-slider__image {
	margin-bottom: 2.5rem;
	overflow: hidden;
	width: 100%;
}
.c-slider__image img {
	display: block;
	margin: 0 auto;
	max-width: 31.5rem;
	width: 100%;
}
.c-slider__description {
	overflow: hidden;
	width: 100%;
}
.c-slider__description h2 {
	color: #f40000;
	margin-bottom: 1rem;
}
.c-slider__description h3 {
	margin-bottom: 3rem;
	text-align: center;
	text-transform: uppercase;
}
.c-slider__description h4 {
	font-size: 1.8rem;
}
.c-slider__description p {
	font-size: 1.4rem;
}
.c-slider__description p strong {color: #f40000;}

@media (min-width: 768px) {
	.c-slider__image {
		float: left;
		padding: 0 1rem 0 0;
		text-align: center;
		width: 50%;
	}
	.c-slider__description {
		float: left;
		padding-top: 3rem;
		width: 50%;
	}
}
@media (min-width: 992px) {}
@media (min-width: 1280px) {}

/* 3.9.2. Indicadores */

.c-slider--points .carousel-indicators {
	bottom: .5rem;
	margin-bottom: 0;
}
.c-slider--points .carousel-indicators li {
    background-color: #FFF;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    border: .1rem solid #f40000;
    height: 3.5rem;
    width: 3.5rem;
}
.c-slider--points .carousel-indicators .active {
	background-color: #f40000;
}

@media (min-width: 992px) {
	.c-slider--points .carousel-indicators li {
	    height: 1.5rem;
	    width: 1.5rem;
	}
}

/* --------------- */

/* 3.10 Gift */

.c-gift {
	max-width: 60rem;
	padding: 5rem 0;
	width: 100%;
}

.c-gift h2 {margin-bottom: 1.5rem;}
.c-gift p {
	font-size: 1.8rem;
	margin-bottom: 3rem;
	text-align: center;
}

/* --------------- */

/* 3.11 Select */

.c-select {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    background-attachment: scroll;
    background-clip: border-box;
    background-color: #fff;
    background-image: url("../images/site/img_bg_select.jpg");
    background-origin: padding-box, padding-box;
    background-position: right top, 0 0;
    background-repeat: no-repeat;
    border: 1px solid #ccc;
    background-size: auto 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
}

.c-select:focus{
    box-shadow: none !important;
    border-color: #2e98b8 !important;
}

.c-select::after {
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    background-size: auto 100%;
    background: transparent url("../images/site/img_bg_select.jpg") no-repeat scroll right top;
    border-radius: 0;
    content: "";
    height: 5rem;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 5rem;
    z-index: 2;
}

.c-select select {
    -moz-appearance: caret;
    -moz-osx-font-smoothing: grayscale;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    appearance: none;
    background: #FFF none repeat scroll 0 0;
    border-radius: 0;
    border: 0 none;
    cursor: pointer;
    font-size: 1.5rem;
    height: 5rem;
    line-height: 1.5;
    margin: 0;
    outline: medium none;
    overflow: hidden;
    padding: .6rem 5rem .6rem .8rem;
    position: relative;
    width: 100%;
    z-index: 1;
}

.c-select select::-ms-expand {
    display: none;
}

/* --------------- */

/* 3.12 Loading */

.c-loading {
    background-color: rgba(255,255,255,0.9);
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1001;
}
.c-loading img {
	height: 10rem;
	left: 50%;
	margin-left: -5rem;
	margin-top: -5rem;
	position: absolute;
	top: 50%;
	width: 10rem;
}

/* --------------- */

/* 3.13 Modal */

.c-modal__header {border-bottom: 0 none;padding: 2rem 3rem;position: relative;display: block;text-align: center;}
.c-modal .c-modal__close {color: #f40000;position: absolute;font-size: 2rem;right: 0;margin: 0;top: 0;}
.c-modal__title {
	display: block;
	color: #f40000;
	font-size: 2.5rem;
	text-align: center;
}

.c-modal__info img {
	display: block;
	margin: 0 auto 1.5rem;
}
.c-modal__info i {
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    background-color: #f40000;
    border-radius: 50%;
    color: #FFF;
    display: block;
    height: 3rem;
    margin: 0 auto 1.5rem;
    padding: .7rem 0 0;
    text-align: center;
    width: 3rem;
}
.c-modal__info p {
	font-size: 1.5rem;
}

.c-modal__logos {
	overflow: hidden;
	text-align: center;
	width: 100%;
}
.c-modal__logos img {
	display: inline-block;
	margin: 0 .5rem 1rem;
}

.c-modal__text {
	overflow: hidden;
	width: 100%;
}
.c-modal__text--center {text-align: center;}

.c-modal--bienvenida .c-modal__body {
	padding: 1rem 2rem;
	text-align: center;
}

.c-modal--bienvenida .c-modal__body .l-page__button {
	margin: 4rem 0 2rem;
}

/* --------------- */

/* 3.14 Tooltip */

/* Add this attribute to the element that needs a tooltip */
[data-tooltip] {
	cursor: pointer;
	position: relative;
	z-index: 2; }
  
  /* Hide the tooltip content by default */
  [data-tooltip]:before,
  [data-tooltip]:after {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
	opacity: 0;
	pointer-events: none;
	visibility: hidden; }
  
  /* Position tooltip above the element */
  [data-tooltip]:before {-moz-border-radius: 0;-webkit-border-radius: 0;background-color: #eee;border-radius: 0;border: 1px solid #F4F4F4;color: #121212;content: attr(data-tooltip);font-size: 1.3rem;left: 0;line-height: 1.53;margin-bottom: 5px;margin-left: 0;padding: 1rem 1rem 2rem;position: absolute;/* right: 0; */text-align: left;top: 2.5rem;width: 23rem;}
  @media screen and (min-width: 63.75rem) {
  [data-tooltip]:before {
	font-size: 1.5rem;
	padding: 2rem;
	width: 30rem; } 
  }
  
  /* Triangle hack to make tooltip look like a speech bubble 
  [data-tooltip]:after {
	background: transparent url(../images/bg_tooltip.png) no-repeat scroll 0 0;
	content: " ";
	font-size: 0;
	height: 25px;
	left: 0;
	line-height: 0;
	margin-left: 0;
	position: absolute;
	right: auto;
	top: 18px;
	width: 27px; }*/
  
  /* Show tooltip content on hover */
  [data-tooltip]:hover:before,
  [data-tooltip]:hover:after {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=100)";
	opacity: 1;
	visibility: visible;
	z-index: 100; }

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/** 5. Base */

/* 5.1 Body fixed */

.body--fixed {
	overflow: hidden;
}
.body--fixed .l-menu {background-color: rgba(46,20,82,0.95);display: flex;}
.body--fixed i.fa-bars, .body--fixed .l-page__user {display: none;}
.body--fixed i.fa-times {display: block;}

.body--fixed .c-button__mobile {background-color: rgba(46,20,82,0.95);}
.body--fixed .c-button__mobile button {background-color: transparent;}
.body--fixed .c-button__mobile i {color: #FFF;}
.body--fixed .l-menu {
	align-items: self-start;
	height: calc(100% - 4.8rem);
    left: 0;
    margin: 0;
    overflow-y: auto;
    padding: 0;
    position: fixed;
    top: 6.2rem;
    width: 100%;
    z-index: 1000;
}

.body--fixed .l-menu li {
	width: 100%;
}

.body--fixed .l-menu a:hover,
.body--fixed .l-menu a.active {
	background-color: rgba(255,255,255,0.8);
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

.badge {
    display: inline-block;
    min-width: 1rem;
    padding: .3rem .7rem;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    background-color: #777;
    border-radius: 1rem;
}

.badge.badge-success {
    background-color: #0a800a;
}

.badge.badge-important {
    background-color: #ff0000;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* Cookies */

#cookie-law {background-color: rgba(0, 0, 0, 0.95);position: absolute;width: 100%;bottom: 0;z-index: 999;color: #fff;padding: 2rem;}
.text-cookie-banner {width: 90%;}
.text-cookie-banner p {color: #FFF;font-size: 1.5rem;line-height: 1.4;}
.text-cookie-banner p:last-child {margin-bottom: 0;}
.text-cookie-banner a {color: var(--color-secondary);}
.text-cookie-banner a:hover {color: var(--color-yellow);line-height: 1.4;text-decoration: underline;}
.close-cookie-banner {position: absolute;right: 2rem;top: 2rem;}
.close-cookie-banner a {color: var(--color-secondary);font-size: 2rem;}
.close-cookie-banner a:hover {color: var(--color-yellow);font-size: 2rem;}