#nim_pay_button {
	margin: 0 auto 32px;
	background: #0582CA;
	background-image: radial-gradient(ellipse at bottom right, #265DD7, #0582CA);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	color: white;
	font-size: 20px;
	line-height: 1;
	display: flex;
	flex-direction: row;
	align-items: center;
	border-radius: 500px;
	padding: 20px 36px;
	outline: none;
	position: relative;
	transition: transform 450ms cubic-bezier(0.25, 0, 0, 1), box-shadow 450ms cubic-bezier(0.25, 0, 0, 1);
}

#nim_pay_button:not([disabled]):hover,
#nim_pay_button:not([disabled]):focus {
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
    transform: translateY(-2px);
}

#nim_pay_button span {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	flex-shrink: 0;
}

#nim_pay_button img {
	margin-left: 16px;
}

#nim_pay_button:focus::before {
    content: '';
    position: absolute;
    left: -5px;
    top: -5px;
    right: -5px;
    bottom: -5px;
    border: 2px solid rgba(5, 130, 202, 0.5); /* Based on Nimiq Light Blue */
    border-radius: 500px;
}

#nim_gateway_info_block.hidden,
#nim_payment_received_block.hidden {
	display: none;
}

#nim_gateway_info_block,
#nim_payment_received_block {
	text-align: center;
}

#nim_payment_received_block .fa-check-circle {
	color: seagreen;
	font-size: 2em;
	margin-bottom: 8px;
	display: block;
}

#nim_payment_received_block small {
	display: block;
}

@media (max-width: 768px) {
	#nim_pay_button {
		margin: 16px auto 24px;
		font-size: 18px;
		padding: 18px 32px;
	}

	#nim_pay_button img {
		margin-left: 14px;
	}
}
