html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;	
	font-stretch: normal;
	font-style: normal;
}
* { 
	-webkit-box-sizing: border-box;
            box-sizing: border-box; 
}
/*COMUN*/
html, body {
	height: 100%;
}
body {
	color: #002D72;
	font-size: 1rem;
	line-height: 1.25rem;
	opacity: 1;
	transition: all 0.2s ease-in-out;
	text-rendering: optimizeLegibility; 
	font-family: 'Montserrat', sans-serif;
}
.body-opacity {
	opacity: 0;
}
.responsive-img {
	display: block;
	max-width: 100%;
}
.t-color-principal {
	color: #b18e00;
}
.total-width {
	width: 100%;
}
.u-relative {
	position: relative;
}
/*FLEX*/
.u-flex {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;	
}
.u-flex-center {
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
.u-justify-center {
	-webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.u-space-between {
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.u-wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.u-wrap-reverse {
	-ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
}
.hide {
	display: none;
}
/*Media Query Classes*/
@media only screen and (max-width: 768px) {
  	.hide-mobile {
    	display: none !important;
  	}
}
@media only screen and (min-width: 768px) {
  	.no-mobile {
    	display: none;
  	}
}
@media only screen and (max-width: 992px) {
  	.hide-mobile-tablet {
    	display: none;
  	}
}
@media only screen and (min-width: 992px) {
  	.hide-tablet-desktop-large {
    	display: none;
  	}
}
@media only screen and (min-width:992px) and (max-width:1370px){
  	.hide-tablet-desktop {
    	display: none;
  	}
}
@media only screen and (min-width: 1370px) {
  	.hide-desktop-large {
    	display: none;
  	}
}
/*BUTTON*/
.button {
	border: none;	
	color: #FFFFFF;
	padding: 0 16px;
	cursor: pointer;
	font-weight: 700;		
	height: 2.625rem;		
	border-radius: 6px;	
	text-align: center;	
	line-height: 2.625rem;	
	background-color: #E40046;	
	font-family: 'Montserrat', sans-serif;
	-webkit-box-shadow: 0 1px 2px 1px rgba(255, 0, 92, 0.2);
            box-shadow: 0 1px 2px 1px rgba(255, 0, 92, 0.2);
}
.no-button {
	margin: 0;
	padding: 0;	
	border: none;
	cursor: pointer;
	background-color: transparent;
}
/*HEADER*/
nav {
	width: 100%;
	height: 5.625rem;	
	background-color: #002D72;
	border-bottom: 1px solid #E40046;
}
nav .button {
	height: 2.25rem;	
	line-height: 2.25rem;
}
h1 {
	font-weight: 700;
	font-size: 32px;
	color: #FFFFFF;
}
@media only screen and (max-width: 768px) {
	nav .button {
		width: 170px;
		padding: 0;
		margin-left: 49px;
	}
}
@media only screen and (max-width: 992px) {
	nav {
		padding: 21px 19px;
		-webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
	}
	h1 {
		display: none;
	}
}
@media only screen and (min-width: 992px) {
	nav {
		padding: 0 35px;		
	}
	nav .button {
		height: 3.375rem;	
		line-height: 3.375rem;
	}
}
/*MAIN*/
main {
	padding: 0 20px;
	overflow: hidden;
	position: relative;
	height: calc(100% - 5.625rem);
}
.recaudacion {
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg) translate(-50%);
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	position: fixed;
	top: 265px;
	left: 20px;
}
.recaudacion div:first-child {
	padding-right: 36px;
	border-right: 1px solid #002D72;
}
.recaudacion div:last-child {
	padding-left: 36px;
}
.recaudacion__titulo {
	font-weight: 500;
	font-size: 0.875rem;
	margin-bottom: 10px;
	line-height: 1.063rem;
}
.stc-logo {
	position: absolute;	
}
.buttons {
	position: absolute;
	bottom: 40px;
	left: 50%;	
	opacity: 1;	
	transition: all 0.3s ease-in-out;
	transform: translate(-50%);
		-webkit-transform: translate(-50%);
}
.buttons .button {
	margin: 0 4px 8px 4px;
}
.mensaje {
	height: 42px;
	padding: 9px 16px;	
	border-radius: 6px;
	margin: 0 4px 8px 4px;
	border: 1px solid #E40046;
	width: max-content;
}
.buttons-hide {
	opacity: 0;
	transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 992px) {
	.stc-logo {
		left: 50%;
		bottom: 5px;
		transform: translate(-50%);
		-webkit-transform: translate(-50%);
	}
	.buttons {
		width: 90%;
		bottom: 30px;
	}
	.mensaje, .buttons .button {
		height: 2.375rem;
		line-height: 2.375rem;
	}
}
@media only screen and (min-width: 992px) {
	.stc-logo {
		right: 20px;
		bottom: 20px;
	}
	.buttons {
		bottom: 20px;
	}
}
.mensaje--tip {
	padding: 10px 16px;
	text-align: center;
	height: auto;
	line-height: 20px;
}
@media only screen and (max-width: 768px) {
	.buttons .button {
		font-size: 0.813rem;
	}
	.mensaje--tip, .mensaje p {
		font-size: 0.813rem;
		line-height: 0.813rem;
	}
}
.importes {
	position: fixed;
	top: 100px;
	opacity: 1;
	transition: all 0.5s ease-in-out;
}
.importes-oculto {
	opacity: 0;
	transition: all 0.5s ease-in-out;
}
.importe {
	position: relative;
	color: #002D72;	
	font-size: 0.875rem;
	font-weight: 500;
}
.importe::before {
	position: absolute;
	left: 0;
	top: -3px;
	display: block;
	z-index: 1;
	content: "";
	width: 1rem;
	height: 1rem;
	border-radius: 100%;
	background-color: #E40046;
}
.importe--2::before {
	background-color: #002D72;
}
.importe--3::before {
	background-color: #62D6AF;
}
.importe--4::before {
	background-color: #C7C2F0;
}
@media only screen and (max-width: 768px) {
	.importes {
		width: 100%;
		left: 0;
		top: 105px;
	}
	.importes img {
		max-width: 85%;
	}
	.importe {		
		width: 25%;
		padding-top: 16px;
		text-align: center;
		font-size: 0.813rem;
		display: inline-block;
	}
	.importe::before {
		left: 45px;
	}
}
@media only screen and (min-width: 768px) {
	.importes {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		transform: rotate(90deg) translate(50%);
		-webkit-transform-origin: right top;
		-ms-transform-origin: right top;
		transform-origin: right top;
		top: 385px;
		right: 20px;
		width: max-content;
	}
	.importe {
		padding-left: 30px;
		margin-right: 24px;
	}
	.importe::before {
		width: 24px;
		height: 24px;
	}
}
/*CORAZON*/
.corazon {
	text-align: center;
	height: 100%;
	padding: 0 0 50px 0;
	overflow: hidden;
}
.filtro {
	fill-opacity: 0.5;
	transition: all 2s ease-in-out;
}
.filtro--activo {
	fill-opacity: 0.5;
	cursor: pointer;
	transition: all 0.5s ease-in-out;
}
.seleccionado {
	opacity: 1;
	fill-opacity: 0.8;
	stroke: #FFFFFF;
  	stroke-width:2px;
}
.inicial {	
	opacity: 1;
	fill: #E40046;
	fill-opacity: 1;
	pointer-events: none;
	transition: all 0.5s ease-in-out;
}
.tooltip {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease-in-out;
}
.tooltip-activo {
	opacity: 1;
	transition: opacity 0.3s ease-in-out;
}
@media only screen and (max-width: 768px) {
	.corazon {
		width: 100%;
	}
	.corazon-mobile {
		max-width: 100%;
		margin-top: -35px;
	}
}
@media only screen and (min-width: 768px) {
	.svg-corazon {
		max-width: 872px;
		margin-top: -25px;
		max-height: calc(100% - 65px);
		transform: translate3d(0,0,0);
		-webkit-transform: translate3d(0,0,0);
	}
	.filtro--activo:hover {
		fill-opacity: 0.8;
		transition: opacity 0.5s ease-in-out;
	}
}
/*OVERLAY*/
.overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 2;
	background-color: rgba(0, 0, 0, 0.7);
}
.overlay-scale {
	visibility: hidden;
	opacity: 0;
	-webkit-transform: scale(0.9);
	transform: scale(0.9);
	-webkit-transition: -webkit-transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
	transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
}
.overlay-scale.open {
	visibility: visible;
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
	transition: transform 0.4s, opacity 0.4s;
}
/*MODAL*/
.modal {
	background-color: #FFFFFF;
	border: 1px solid #E5E5E5;	
	border-radius: 6px;
	padding: 44px 20px 40px 20px;
	max-width: 90%;
	position: relative;
	-webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
            box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.modal .no-button {
	position: absolute;
	top: 13px;
	right: 13px;
}
.modal__titulo {
	font-weight: 700;
	font-size: 1.125rem;
}
.modal ol {
	font-size: 1.125rem;
	line-height: 1.375rem;
	margin-top: 16px;
	margin-left: 20px;
}
.modal ol li {
	margin-top: 10px;
}
@media only screen and (min-width: 768px) {
	.modal {
		max-width: 670px;
		padding: 44px 40px 40px 40px;
	}	
}