body {
	background: #FFFFFF;
	width: 100%;
	height: auto;
	vertical-align: middle;
	font-family: OpenSans-Regular;
	margin: 0;
	letter-spacing: normal;
	min-height: 100vh;
	position: relative;
	box-sizing: border-box;
}

.font-semibold {
	font-family: OpenSans-SemiBold;
}
.font-bold {
	font-family: OpenSans-Bold;
}

#containerHeader {
	display: flex;
	justify-content: center;
	padding-top: 34px;
	margin-bottom: 34px;
}

#bankartPicture {
	width: 154px;
	height: 26px;
}

#containerBody {
	display: flex;
	align-items: stretch;
	flex-direction: column;
	justify-content: space-between;
	width: auto;
	margin-left: 12px;
	margin-right: 12px;
}

#containerPurchase {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	background-color: #F3F5F8;
	height: 230px;
	vertical-align: top;
}

#purchaseHeader {
	background-color: #01264C;
	color: #FFFFFF;
	margin: 0;
	padding: 13px 16px 12px;
	font-weight: bold;
	font-size: 16px;
	font-family: OpenSans-Bold;
}

#purchaseHeader p,
#cardHeader p {
	margin: 0;
	font-family: OpenSans-Bold;
}

#purchaseBody {
	background-color: #F3F5F8;
	font-size: 14px;
	line-height: 19px;
	font-weight: normal;
	box-sizing: border-box;
	padding-bottom: 5px;
	padding-top: 13px;
	padding-left: 14px;
	border: solid 1px #E5EAEF;
	font-family: OpenSans-SemiBold;

}

#purchaseBody p {
	color: #3C5F88;
	margin: 0;
}

#purchaseBody div {
	color: #243F60;
	font-size: 16px;
	line-height: 22px;
	margin-bottom: 14px;
}

#containerCardButtons {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 100%;
	vertical-align: top;
	min-height: 361px;
	margin-top: 18px;
}

#containerForm {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

#price {
	font-family: OpenSans-Bold;
}

#card {
	box-sizing: border-box;
}

#cardHeader {
	background-color: #01264C;
	margin: 0;
	color: #FFFFFF;
	padding: 1%;
	font-weight: bold;
	padding: 13px 16px 12px;
	font-size: 16px;
	line-height: 22px;
	font-family: OpenSans-Bold;
}

#cardBody {
	background-color: #FFFFFF;
	box-sizing: border-box;
	border: solid 1px #E5EAEF;
	margin-top: 0px;
	font-weight: normal;
	padding: 12px;
	padding-top: 46px;
	padding-bottom: 31px;
	font-family: OpenSans-SemiBold;
}

#cardBody div {
	background-color: #FFFFFF;
}

#cardBody label {
	display: block;
	color: #3C5F88;
	font-size: 14px;
	line-height: 19px;
	margin-bottom: 7px;
	font-family: OpenSans-SemiBold;
}

#flikDesc {
	text-align: center;
	color: #243F60;
	margin-bottom: 40px;
	margin-top: 0;
	font-size: 16px;
	line-height: 24px;
	margin-right: 30px;
	margin-left: 30px;
}

#containerErrors {
	background-color: rgba(239, 223, 222, 0.5);
	font-size: 14px;
	line-height: 19px;
	font-weight: normal;
	color: #BD0404;
	margin-top: 23px;
	margin-bottom: -6px;
	padding-top: 13px;
	padding-bottom: 13px;
	padding-left: 19px;
	font-family: OpenSans-SemiBold;

}

#containerErrors p {
	margin: 0;
}

#containerButtons {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-top: 34px;
	width: 100%;
	margin-bottom: 33px;
}

#buttonPay {
	background-color: #0460BD;
	border: 1px solid #0460BD;
	min-height: 36px;
	font-weight: normal;
	font-size: 16px;
	line-height: 22px;
	color: #FFFFFF;
	padding-bottom: 13px;
	padding-top: 13px;
	margin-bottom: 13px;
}

#buttonCancel {
	background-color: #FFFFFF;
	font-family: OpenSans-SemiBold;
	border: #E5EAEF 1px solid;
	color: #243F60;
	min-height: 36px;
	font-weight: normal;
	font-size: 16px;
	line-height: 22px;
	padding-bottom: 13px;
	padding-top: 13px;
}

input {
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	
	border: 1px solid #C3CFDC;
	border-radius: 0 !important;
	font-size: 18px;
	line-height: 24px;
	box-sizing: border-box;
	color: #243F60;
	width: 100%;
	background-color: #F3F5F8;
	padding: 9px;
	padding-left: 16px;
	font-family: OpenSans-SemiBold;
	font-weight: normal;
}

#containerFooter {
	box-sizing: border-box;
	display:flex;
	text-align: center;
	flex-direction: column;
	justify-content: center;
	bottom: 0;
	padding: 21px 12px 21px;
	border-top: 1px solid #E5EAEF;
	background-color: #FFFFFF;
	bottom: 0;
	box-sizing: border-box;
	width: 100%;
}

#footerText {
	color: #203F63;
	font-size: 13px;
	line-height: 18px;
	margin: 0;
}

#footerText a {
	color: #0460BD;
}

#footerIcons {
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	margin-bottom: 20px;
}

#flikPicture {
	width: 50px;
	height: 50px;
}

.inputError {
	border: 1px solid rgba(189, 4, 4, 0.43);
}

.showErrorMessage {
	display: none;
}

.boldText {
	display: inline-block;
	font-family: OpenSans-Bold;
	margin: 0;
}

.bankartLink {
	font-family: OpenSans-Bold;
}

@supports (-webkit-overflow-scrolling: touch) {
	#purchaseHeader, #purchaseBody div, #cardHeader,
	input, #containerCv2 label
	{
		letter-spacing: 0;
		font-weight: normal;
		font-family: OpenSans-SemiBold;
	}

	#purchaseBody, #cardBody label, #containerErrors {
		letter-spacing: 0;
		font-weight: normal;
		font-family: OpenSans-SemiBold;
	}

	#tooltip #tooltiptext {
		letter-spacing: 0;
		font-weight: normal;
		font-family: OpenSans-SemiBold;
	}
	
	#footerText {
		letter-spacing: 0;
		font-weight: normal;
		/* font-family: OpenSans-SemiBold; */
	}

	#buttonPay, #buttonCancel {
		letter-spacing: 0;
		font-weight: normal;
	}

	#price {
		font-family: OpenSans-Bold !important;
	}
}

@media only screen and (min-width: 786px) {
	body {
		padding: 0;
		padding-bottom: 90px;
	}

	#bankartPicture {
		width: 270px;
		height: 46px;
	}
	
	#containerHeader {
		padding-top: 60px;
		margin-bottom: 90px;
	}

	#containerBody {
		align-items: flex-start;
		justify-content: center;
		width: 100%;
		flex-direction: row;
		margin-left: 0;
		margin-right: 0;
	}

	#containerPurchase {
		box-sizing: border-box;
		width: 277px;
		height: 267px;
		margin-right: 25px;
	}
	
	#purchaseHeader {
		background-color: #01264C;
		color: #FFFFFF;
		margin: 0;
		padding-left: 22px;
		padding-right: 22px;
		font-family: OpenSans-Bold;
		font-weight: bold;
		font-size: 16px;
		line-height: 22px;
	}

	#purchaseBody {
		background-color: #F3F5F8;
		font-size: 14px;
		line-height: 19px;
		font-weight: bold;;
		border: 1px solid #E5EAEF;
		box-sizing: border-box;
		padding: 22px;
		padding-bottom: 10px;
	font-family: OpenSans-SemiBold;

	}
	
	#purchaseBody p {
		color: #3C5F88;
	}

	#purchaseBody div {
		color: #243F60;
		font-size: 16px;
		line-height: 22px;
		margin-bottom: 22px;
	}

	#containerCardButtons {
		width: 30%;
		height: 30%;
		min-width: 406px;
		margin-top: 0;
	}

	#price {
		font-weight: bold;
		font-family: OpenSans-Bold;
	}

	#card {
		min-width: 406px;
	}

	#cardHeader {
		padding: 13px 22px 12px;
		font-size: 16px;
	}

	#cardBody {
		font-size: 16px;
		line-height: 24px;
		padding: 22px;
		padding-top: 41px;
	}

	#cardLabel {
		color: 3C5F88;
		font-size: 14px;
	}

	#cardBody div {
		background-color: #FFFFFF;
	}

	#cardBody label {
		display: block;
		color: #3C5F88;
		margin-bottom: 6px;
	}

	#flikDesc {
		text-align: center;
		margin: 0;
		margin-bottom: 37px;
	}

	#containerErrors {
		font-size: 14px;
		padding-bottom: 14px;
		padding-top: 15px;
		padding-left: 26px;
		line-height: 19px;
		margin-top: 20px;
		margin-bottom: -5px;
		font-family: OpenSans-SemiBold;
	}

	#containerButtons {
		flex-direction: row-reverse;
		width: auto;
		margin-top: 20px;
		margin-bottom: 100px;
	}
	
	#buttonPay {
		background-color: #0460BD;
		width: 191px;
		font-weight: bold;;
		min-height: 48px;
		font-size: 16px;
		line-height: 22px;
		color: #FFFFFF;
		margin: 0;

		width: calc(50% - 12px);
		padding-right: 12px;
	}
	
	#buttonCancel {
		width: 191px;
		font-size: 16px;
		line-height: 22px;
		margin-top: 0;

		width: calc(50% - 12px);
		padding-left: 12px;
	}

	input {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		
		border: 1px solid #C3CFDC;
		font-size: 18px;
		line-height: 24px;
		box-sizing: border-box;
		color: #243F60;
		width: 100%;
		padding: 9px;
		padding-left: 16px;
		background-color: #F3F5F8;
		font-family: OpenSans-SemiBold;
		font-weight: normal;
	}

	#containerFooter {
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: center;
		position: absolute;
		padding: 18px 38px;
	}

	#footerIcons {
		margin: 0;
		float: right;
	}
	
	#flikPicture {
		width: 50px;
		height: 50px;
		margin: 0;
	}

	#footerText {
		float: left;
		font-size: 16px;
		line-height: 22px;
	}
	
	#footerText a {
		color: #0460BD;
	}
	
	/* @supports (-webkit-overflow-scrolling: touch) {		
		#purchaseHeader,
		#purchaseBody div,
		#cardHeader,
		#cardBody,
		#buttonPay,
		#buttonCancel,
		#footerText {
			letter-spacing: -1.6px;
		}
		
		#purchaseBody,
		#cardLabel,
		#containerErrors {
			letter-spacing: -1.4px;
		}
		
		input {
			letter-spacing: -1.8px;
		}

	} */
}

@supports (-webkit-overflow-scrolling: touch) {
	#flikPicture {
		max-width: 50px;
		max-height: 50px;
	}
}