.buy {
	margin-top: 90px;
}
.buy__steps {
	display: flex;
	justify-content: center;
	width: 290px;
	margin: 20px auto;
	box-shadow: 0px 3px 6px #93959730;
	border-radius: 10px;
}
.buy__step {
	font-size: 12px;
	text-align: center;
	padding: 6px 10px;
	background-color: #fff;
	background-size: 170px;
	background-position: right center;
}
.buy__step.s1 {
	color: #fff;
	background-color: #9FD3F9;
	background-image: url('../img/bars/mobile_1.png');
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
}
.buy__step.s2 {
	background-color: #ECF6FF;
	background-image: url('../img/bars/mobile2.png');
	padding-right: 16px;
}
.buy__step.s3 {
	background-color: #FFF;
	background-image: url('../img/bars/mobile3.png');
}
.buy__step.s4 {
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
}

.buy__steps.step2 .s1 {
	background-color: #009BDD;
	background-image: url('../img/bars/mobile_1.png');
}
.buy__steps.step2 .s2 {
	color: #fff;
	background-color: #9FD3F9;
	background-image: url('../img/bars/mobile_1.png');
}
.buy__steps.step2 .s3 {
	background-color: #ECF6FF;
	background-image: url('../img/bars/mobile2.png');
}
.buy__steps.step2 .s4 {
	background-color: #ECF6FF;
	background-image: none;
}

.buy__steps.step3 .s1 {
	background-color: #009BDD;
	background-image: url('../img/bars/mobile_1.png');
}
.buy__steps.step3 .s2 {
	color: #fff;
	background-color: #009BDD;
	background-image: url('../img/bars/mobile_1.png');
}
.buy__steps.step3 .s3 {
	color: #fff;
	background-color: #9FD3F9;
	background-image: url('../img/bars/mobile_1.png');
}
.buy__steps.step3 .s4 {
	background-color: #9FD3F9;
	background-image: none;
}

.buy__steps.step4 .s1 {
	background-color: #009BDD;
	background-image: url('../img/bars/mobile_1.png');
}
.buy__steps.step4 .s2 {
	color: #fff;
	background-color: #009BDD;
	background-image: url('../img/bars/mobile_1.png');
}
.buy__steps.step4 .s3 {
	color: #fff;
	background-color: #009BDD;
	background-image: url('../img/bars/mobile_1.png');
}
.buy__steps.step4 .s4 {
	color: #fff;
	background-color: #009BDD;
	background-image: none;
}

.info {
	padding: 20px;
	padding-bottom: 0;
}

.info__title {
	color: #009BDD;
	font-size: 18px;
	padding: 20px;
}
.info__title.benef {
	font-size: 22px;
}
.info__item {
	margin-bottom: 12px;
}
.info__item.first,
.info__item.precio,
.info__item.vigencia {
	display: block;
}
.info__label {
	color: #009BDD;
	margin-bottom: 6px;
	font-family: Montserrat-Medium;
}
.info__txt {
	color: #535F69;
	font-size: 20px;
	font-family: Montserrat-Medium;
}
.info__txt i {
	font-style: normal;
}
.info__txt .iva {
	font-size: 12px;
}
.info.benef .info__label {
	color: #535F69;
}

.frm__main {
	max-width: 1200px;
	margin: auto;
}
.frm__title {
	display: none;
	font-size: 28px;
	color: #00345F;
	width: 280px;
	margin: auto;
	margin-bottom: 20px;
	font-family: Montserrat-ExtraBold;
}
.frm__title.step1 {
	display: block;
}
.frm__label {
	color: #535F69;
	font-weight: bold;
	font-family: Montserrat-Bold;
	margin-bottom: 6px;
}
.frm__content {
	width: 280px;
	margin: auto;
}
.frm__group {
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
}
.frm__label.rec {
	font-family: Montserrat-Medium;
}
.frm__input {
	background-color: #F0F0F0;
	border: 0;
	padding: 10px;
	border-radius: 20px;
	font-family: Montserrat;
}
.frm__input.day {
	width: 80px;
	text-align: center;
}
.frm__btn {
	border: 0;
	margin: auto;
	margin-bottom: 20px;
	font-size: 18px;
	cursor: pointer;
}
.frm__btn.back {
	background-color: #00345F;
}
.frm__buttons {
	width: 300px;
	display: flex;
	margin: auto;
}
.frm__group.rec {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.frm__group.rec .box {
	display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    margin-bottom: 10px;
}
.frm__group.rec .disclaimer {
	display: none;
	color: #00345F;
	font-size: 12px;
}
.frm__group.rec .disclaimer span {
	font-family: Montserrat-Bold;
}
.frm__group.rec .frm__input {
	margin-right: 10px;
	width: 15px;
	height: 15px;
}
.frm__group.rec .frm__label {
	margin-bottom: 0;
}

.frm__msg {
	display: none;
	color: #fff;
	background-color: #660EFF;
	text-align: center;
	padding: 6px 0;
	margin: auto;
	margin-bottom: 15px;
	border-radius: 14px;
}
.frm__note {
	font-size: 12px;
	margin-top: 3px;
}

.frm__popup__error {
	background-color: red;
	width: 40px;
	padding: 3px 0;
	color: #fff;
	text-align: center;
	cursor: pointer;
	margin-left: auto;
	margin-right: 20px;
	margin-bottom: 10px;
}
.frm__note__cvv {
	color: #C7C8CE;
	font-size: 12px;
}

.popup__btn.purple {
	width: 230px;
	background-color: #660EFF;
}
.popup__col.val {
	font-family: Montserrat-Bold;
}

#frmBenef,
#frmPay {
	display: none;
}

@media screen and (min-width: 360px) {

	.buy__steps {
		width: 315px;
	}
	.buy__step {
		font-size: 14px;
	}
	.frm__title,
	.frm__content {
		width: 320px;
	}
}

@media screen and (min-width: 420px) {

	.buy__steps {
		width: 400px;
	}
	.buy__step.s1,
	.buy__step.s3 {
		width: 90px;
	}
	.buy__step.s2 {
		width: 120px;
	}
	.buy__step.s4 {
		width: 100px;
	}

}

@media screen and (min-width: 500px) {

	.buy__steps {
		width: 450px;
	}
	.buy__step.s1,
	.buy__step.s3 {
		width: 100px;
	}
	.buy__step.s2 {
		width: 150px;
		background-size: 200px;
	}
	.buy__step.s4 {
		width: 120px;
	}

	.info,
	.info__title.benef,
	.frm__title, 
	.frm__content,
	.frm__msg {
		width: 450px;
	}

	.info__title.benef {
		margin: auto;
		padding: 20px 0;
	}
	
	.buy__step {
		font-size: 15px;
	}

	.info {
		margin: auto;
		padding: 0;
		margin-bottom: 30px;
	}
	.info__label {
		font-size: 18px;
	}
	.info__txt {
		font-size: 20px;
	}
	.frm__title {
		font-size: 30px;
	}
	.frm__label,
	.frm__input {
		font-size: 18px;
	}
	.frm__buttons {
		width: 360px;
	}

}

@media screen and (min-width: 768px) {

	.buy__steps {
		width: 750px;
	}
	.buy__step {
		background-size: 300px;
	}
	.buy__step.s1,
	.buy__step.s2, 
	.buy__step.s3,
	.buy__step.s4 {
    	width: 200px;
	}
	.buy__step.s1 {
		background-image: url('../img/bars/desktop1.png');
	}
	.buy__step.s2 {
		background-image: url('../img/bars/desktop2.png');
		background-size: 400px;
	}
	.buy__step.s3 {
		background-image: url('../img/bars/desktop3.png');
	}
	
	.buy__steps.step2 .s1 {
		background-color: #009BDD;
		background-image: url('../img/bars/desktop_1.png');
	}
	.buy__steps.step2 .s2 {
		color: #fff;
		background-color: #9FD3F9;
		background-image: url('../img/bars/desktop_1.png');
	}
	.buy__steps.step2 .s3 {
		background-color: #ECF6FF;
		background-image: url('../img/bars/desktop2.png');
	}
	.buy__steps.step2 .s4 {
		background-color: #ECF6FF;
		background-image: none;
	}

	.buy__steps.step3 .s1 {
		background-image: url('../img/bars/desktop_1.png');
	}
	.buy__steps.step3 .s2 {
		background-image: url('../img/bars/desktop_1.png');
	}
	.buy__steps.step3 .s3 {
		background-image: url('../img/bars/desktop_1.png');
	}

	.buy__steps.step4 .s1 {
		background-image: url('../img/bars/desktop_1.png');
	}
	.buy__steps.step4 .s2 {
		background-image: url('../img/bars/desktop_1.png');
	}
	.buy__steps.step4 .s3 {
		background-image: url('../img/bars/desktop_1.png');
	}
	
	.info, 
	.frm__title, 
	.frm__content {
		width: 100%;
		padding: 30px;
	}
	.info {
		display: flex;
		justify-content: flex-start;
		max-width: 1200px;
		margin: auto;
		padding: 0 30px;
	}
	.info__item {
		display: block;
		width: auto;
	}
	.info__label {
		font-size: 20px;
		margin-right: 10px;
	}
	.info__item.first,
	.info__item.titular {
		width: 340px;
	}
	.info__item.precio {
		width: 250px;
	}
	.info__title.benef {
		margin: 0;
		padding: 20px 30px;
	}
	.info__item.conyuge,
	.info__item.hijo1 {
		margin-right: 20px;
	}
	.frm__popup__error {
	    margin-bottom: 0;
	    margin-top: 10px;
	}

	.frm__title {
		font-size: 36px;
		padding-bottom: 0;
		max-width: 1200px;
	}
	.frm__content {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
		max-width: 1200px;
		padding: 30px;
	}
	.frm__group {
		width: 350px;
	}
	.frm__label {
		margin-bottom: 12px;
	}
	.frm__btn {
		margin: 0;
		margin-left: auto;
		margin-right: 20px;
	}
	.frm__buttons {
		margin: 0;
		margin-left: auto;
	}
	.frm__group__cvv {
		width: 350px;
	    display: flex;
	    justify-content: space-between;
	}
	.frm__group.fv {
		width: 180px;
	}
	.frm__group.cvv {
		width: 140px;
	}
	.frm__group.cvv .frm__label {
		margin-bottom: 32px;
	}
	.frm__group.rec {
		margin-bottom: 0;
		margin-top: 65px;
	}

	.popup__row {
		flex-direction: row;
	}
	.popup__col.val {
		font-family: Montserrat;
	}

}

@media screen and (min-width: 900px) {

	.buy__steps {
		width: 870px;
	}
	.buy__step.s1,
	.buy__step.s2, 
	.buy__step.s3,
	.buy__step.s4 {
    	width: 250px;
	}
	.frm__group,
	.frm__group__cvv {
		width: 410px;
	}
	.frm__group.fv {
		width: 170px;
	}
	.frm__group.cvv {
		width: 220px;
	}

}

@media screen and (min-width: 1000px) {

	.buy {
		margin-top: 100px;
	}

	.buy__steps {
		width: 960px;
	}
	.buy__step.s1,
	.buy__step.s2, 
	.buy__step.s3,
	.buy__step.s4 {
    	width: 250px;
	}
		
	.buy__step {
		width: 200px;
	}
	.frm__group {
		width: 280px;
	}
	.frm__content.benef .frm__group {
		width: 300px;
	}
	.frm__content.pay .frm__group,
	.frm__group__cvv {
		width: 460px;
	}
	.frm__content.pay .frm__group.cvv {
		width: 220px;
	}
	.frm__content.pay .frm__group.fv {
		width: 230px;
	}
	.frm__group.cvv .frm__label {
		margin-bottom: 12px;
	}

}

@media screen and (min-width: 1200px) {

	.buy {
		margin-top: 110px;
	}
	.buy__step {
		width: 300px;
		font-size: 16px;
	}
	.buy__steps {
		width: 1200px;
	}
	.buy__step.s1,
	.buy__step.s2, 
	.buy__step.s3,
	.buy__step.s4 {
    	width: 300px;
	}

	.info__label,
	.info__txt {
		font-size: 22px;
	}
	.info.plan {
		flex-wrap: wrap;
	}
	.info__item.first,
	.info__item.vigencia,
	.info__item.titular {
		width: 600px;
	}
	.info__item.first .info__label,
	.info__item.titular .info__label {
		width: 100px;
	}

	.frm__title {
		padding: 30px 0;
		padding-bottom: 0;
		font-size: 48px;
		margin-bottom: 10px;
	}
	.frm__content {
		justify-content: flex-start;
		padding: 30px 0;
	}
	.frm__group {
		margin-right: 24px;
	}
	.frm__msg {
		width: 600px;
	}
	.info {
		padding: 0;
		justify-content: flex-start;
	}
	.info__item.first, 
	.info__item.precio, 
	.info__item.vigencia,
	.info__item.titular,
	.info__item.fechaNac {
		display: flex;
		flex-direction: row;
	}
	.info__item.precio {
		width: 350px;
	}
	.info__title.benef {
		width: 100%;
		font-size: 26px;
		padding-left: 0;
		max-width: 1200px;
		margin: auto;
	}
	.info__item.conyuge {
		width: 350px;
	}
	.info__item.hijo1 {
		width: 380px;
	}

	.frm__group {
		width: 270px;
		margin-bottom: 30px;
	}
	.frm__label, 
	.frm__input {
		font-size: 20px;
	}
	.frm__label {
		margin-bottom: 16px;
	}
	.frm__btn {
		font-size: 20px;
	}

	.frm__content.benef .frm__group {
		width: 570px;
	}
	.frm__content.pay .frm__group,
	.frm__group__cvv {
		width: 570px;
	}
	.frm__content.pay .frm__group.fv {
		width: 320px;
	}
	.frm__content.pay .frm__group.cvv {
		width: 220px;
		margin-right: 0;
	}
	.frm__group__cvv {
		margin-right: 24px;
	}
	.frm__group.rec {
		margin-top: 45px;
	}
	.frm__group.rec .frm__input {
    	margin-right: 10px;
    	width: 20px;
    	height: 20px;
	}
	.frm__input.day {
		width: 84px;
	}

	.popup__tbl {
		width: 80%;
		margin: auto;
		margin-bottom: 30px;
	}
	.popup__title {
		margin-bottom: 30px;
	}
	.popup__col {
		font-size: 18px;
	}
	.popup__btn {
		padding: 6px 0;
	}


}
