.ef-form-deco{
	position: relative;
}
.ef-form-deco::before{
	content:'';
	display: block;
	background-image:url('../images/form-deco.svg');
	background-repeat:no-repeat;
	background-position:left bottom;
	position: absolute;
	width:100%;
	height:calc(240.5/548 * 100%);
	filter: invert(95%) sepia(4%) saturate(189%) hue-rotate(22deg) brightness(91%) contrast(100%);
	transform:translateY(calc(-100% + 1px));
}
.ef-form{
	display: flex;
	flex-wrap:wrap;
	gap:var(--frm-gap, 14px);
}
.ef-form > [class*="ef-form__row"]{
	display:inline-flex;
	width:calc(50% - var(--frm-gap, 14px)*1/2);
}
.ef-form > .ef-form__row-wide{
	width:100%;
}
.ef-form > .ef-form__row.center{
	display: flex;
	justify-content:center;
}
.ef-form > .ef-form__row-input{
	min-height:58px;
	position: relative;
	border-radius:8px;
}
.ef-form > .ef-form__row-input > label{
	position: absolute;
	top:7px;
	left:10px;
	font-size:13px;
	padding:0;
	margin:0;
	pointer-events:none;
	color:rgba(33, 37, 41,.65);
	font-family:Helvetica,Arial,sans-serif;
}
.ef-form > .ef-form__row-input > :is(input, select, textarea){
	border:1px solid #fff;
	background-color:#fff;
	min-height:58px;
	border-radius:8px;
	box-sizing:border-box;
	color:#000 !important;
	outline:none !important;
	padding:24px 10px 10px 10px;
	font-size:14px;
	font-weight:400;
	line-height:1.5em;
	font-family:Helvetica,Arial,sans-serif;
	width: 100%;
	display: block;
}
.ef-form > .ef-form__row-input > input[type="date"]{
	appearance: none;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	display:block;
}
.ef-form > .ef-form__row-input > select{
  display: block;
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: 1px solid #fff;
  border-radius: 8px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.ef-form > .has-help > :is(input, select, textarea){
	border-radius:8px 0 0 8px;
}
.ef-form > .ef-form__row.has-error > :is(input, select, textarea){
  border-color:#dc3545 !important;
}
.ef-form > .ef-form__row.has-error > .ef-form__error{
	display: none;
	position: absolute;
	top:calc(100% + 12px);
	pointer-events:none;
	left:0;
	right:0;
	z-index:9;
}
.ef-form > .ef-form__row.has-error:focus-within > .ef-form__error{
	display: block;
	filter:drop-shadow(0 4px 8px rgba(0,0,0,.12));
}
.ef-form > .ef-form__row:not(.has-error) > .ef-form__error{
	display: none !important;
}
.ef-form > .ef-form__row.has-error > .ef-form__error span::before{
	content:'';
	position: absolute;
	left:10px;
	top:-8px;
	height:8px;
	width:12px;
	display: block;
	background-color:#fff;
	clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
.ef-form > .ef-form__row.has-error > .ef-form__error span{
	color:#dc3545;
	display: block;
	width:100%;
	border-radius:8px;
	pointer-events:none;
	position: relative;
	background-color:#fff;
	font-size:13px;
	line-height:1.4em;
	font-family:Helvetica,Arial,sans-serif;
	padding:10px;
}
.ef-form > .ef-form__row-input > :is(input, select, textarea)::placeholder{
  color:transparent;
}
.ef-form > .ef-form__row-input > :is(input, select, textarea)::-moz-placeholder{
  color:transparent;
}
.ef-form > .ef-form__row-input:not(.has-help) > :is(input, select, textarea):focus{
  border-color:#86b7fe;
  box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.ef-form > .ef-form__row-input.has-error > :is(input, select, textarea):focus{
	border-color:#dc3545;
	box-shadow:0 0 0 0.25rem rgba(220,53,69,.25);
  }
.ef-form > .ef-form__row-input > :is(input, select, textarea):disabled{
  background-color:#e9ecef;
  border-color:#e9ecef;
  cursor:not-allowed;
}
.ef-form > .ef-form__row-input > input:read-only{
	cursor:not-allowed;
}
.ef-form .ef-form__help{
	width:44px;
	background-color:#f8f9fa;
	border:1px solid #f8f9fa;
	border-left-width:0;
	display: flex;
	text-indent:-9999em;
	color:transparent;
	align-items:center;
	justify-content:center;
	border-radius:0 8px 8px 0;
	position: relative;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.ef-form .ef-form__help::before{
	content:'';
	position: absolute;
	height:1.1em;
	width:1.1em;
	background-image:url(../images/question-circle-solid.svg);
	background-repeat:no-repeat;
	background-size:contain;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	filter: invert(13%) sepia(37%) saturate(3036%) hue-rotate(212deg) brightness(91%) contrast(115%);
}
.ef-form > .ef-form__row-input.has-help{
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.ef-form > .ef-form__row-input.has-help:focus-within{
	box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.ef-form > .ef-form__row-input.has-help:focus-within > :is(input, select, textarea){
	border-color:#86b7fe;
}
.ef-form > .ef-form__row-input.has-help:focus-within > .ef-form__help{
	border-color:#86b7fe;
}
.ef-form__row-recaptcha{
	margin-top:20px;
	margin-bottom:20px;
}

.ef-form input[type=submit]{
  background-color:#061858;
  border-color:#061858;
  color:#fff;
  border-radius:50px;
  padding:10px 20px;
  display: block;
  width:100%;
  transition:all .2s;
}
.ef-form input[type=submit]:hover{
	background-color:#092485;
}

.simulador-header{
	text-align: center;
	margin-bottom:30px;
}
.simulador-header h2{
	font-size:1.32em;
	margin-top:0;
	margin-bottom:10px;
}
.simulador-disclaimer{
	font-size:10px;
	margin-top:30px;
	line-height:1.4em;
	color:#130558;
	opacity:.65;
}

.ef-alerts{
	position: fixed;
	top: 140px;
	left: 50%;
	transform: translateX(-50%);
	z-index:9;
	display: flex;
	flex-direction:column;
	gap:10px;
	font-size:14px;
}
.ef-alerts .ef-alert{
	background-color:#dc3545;
	padding:10px 14px;
	line-height:1.4em;
	display: inline-block;
	border-radius:8px;
	color:#fff;
}

.simulador-table-wrap{
	overflow-x:auto;
	margin-top:30px;
	margin-bottom:30px;
}
.simulador-table :is(td,th){
	padding:10px;
	text-align: center;
}
.simulador-tcea{
	text-align: center;
	margin-bottom:20px;
}

.ef-modal{
	position:fixed;
	top:50%;
	left:50%;
	transition:all .2s;
	transform:translate(-50%, -50%);
	background-color:#fff;
	border-radius:8px;
	z-index:199;
	width:860px;
	max-width:calc(100vw - 40px);
}
.ef-modal__header{
	margin:0;
	padding:20px;
	border-bottom:1px solid #dee2e6;
	width:100%;
	font-size:1.15em;
	display: flex;
	justify-content:space-between;
}
.ef-modal__header a[data-action="close-modal"]{
	display: flex;
	width:1em;
	height:1em;
	background-image:url('../images/close.svg');
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	text-indent:-9999em;
	color:transparent;
}
.ef-modal__content{
	padding:30px 20px;
	max-height:calc(100vh - 1.15em - 120px);
	overflow-y:auto;
}
.ef-modal-overlay{
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,.6);
	cursor:pointer;
	z-index:198;
}
.ef-modal table{
	width:100% !important;
}
.ef-modal table :is(td,th)[colspan]{
	text-align: center !important;
}
.ef-modal table tr td{
	height:auto !important;
	vertical-align:middle !important;
}
.ef-modal table tr:not(:first-child) td:not(:first-child){
	text-align: center !important;
}

.simulador-back{
	display: inline-flex;
	position: relative;
	padding-left:calc(1.1em + 10px);
	color:#061858;
	text-decoration: none;
	transition:all .2s;
}
.simulador-back:hover{
	text-decoration: underline;
}
.simulador-back::before, .simulador-print::before{
	content:'';
	display: block;
	height:1.1em;
	width:1.1em;
	background-image:url('../images/arrow-right.svg');
	background-repeat:no-repeat;
	background-size:contain;
	background-position:center;
	top:50%;
	left:0;
	position: absolute;
	transform:translateY(-50%) scaleX(-1);
}
.simulador-print{
	background-color: #061858;
    border-color: #061858;
    color: #fff !important;
    border-radius: 50px;
    padding: 10px 20px;
    display:inline-flex;
	position: relative;
	width:100%;
	align-items:center;
	justify-content:center;
	gap:10px;
	transition:all .2s;
}
.simulador-print:hover{
	background-color:#092485;
}
.simulador-print::before{
	background-image:url('../images/print-solid.svg');
	filter:invert();
	transform:unset;
	left:unset;
	top:unset;
	position:relative;
}
/* Inicio modal alerta tipo seguro sin desgravamen */
 
.ef-modal-overlay--alerta-seguro {
  position: fixed;
  top: 0; bottom: 0; left: 0; right: 0;
  background-color: transparent;
  z-index: 999;
  display: none;
  pointer-events: none;
}
 
 
.ef-modal-overlay--alerta-seguro.active {
  display: block;
  pointer-events: auto;
}
 
.ef-modal[data-modal="alerta-seguro"] {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1000;
  background: white;
  padding: 2rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
 
.ef-modal[data-modal="alerta-seguro"] .ef-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0 1rem 0;
  font-weight: bold;
  font-size: 1.1rem;
  border-bottom: 1px solid #e0e0e0;
}
 
/* Fin modal alerta tipo seguro sin desgravamen */

@media screen and (max-width: 600px){
	table.simulador-table{
		border:0;
	}
	table.simulador-table > thead{
		display: none;
	}
	table.simulador-table > tbody > tr{
		margin-bottom:20px;
		border:1px solid #DEE2E8;
		display:block;
		position: relative;
	}
	table.simulador-table > tbody > tr::before{
		content:'';
		display: block;
		width:40%;
		position: absolute;
		top: 0;
		bottom: 0;
		left:0;
		background-color:#F4F7FA;
		z-index:-1;
	}
	table.simulador-table > tbody > tr > td::before{
		content:attr(data-label);
		color:#4F5F74;
	}
	table.simulador-table > tbody > tr > td{
		width:100%;
		display:flex;
		justify-content:space-between;
		align-items:center;
		border-bottom:1px solid #efefef;
	}
	table.simulador-table > tbody > tr > td:first-child{
		font-weight:600;
	}
	table.simulador-table > tbody > tr > td:last-child{
		border-bottom:0;
	}
}

@media screen and (max-width:550px){
	.ef-form > [class*="ef-form__row"]{
		width:100%;
	}
}