#loading {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100000;
	width: 100%;
	height: 100%;
	background: #ffffff;
	opacity: 0.75;
	filter: alpha(opacity=75);
}
.fb-loading-spinner {
	width: 40px;
	height: 40px;
	background-color: #666;
	position: absolute;
	bottom: 100px;
	left: 50%;
	margin-left: -20px;
	-webkit-animation: fb-loading-rotateplane 1.2s infinite ease-in-out;
	animation: fb-loading-rotateplane 1.2s infinite ease-in-out;
}

@-webkit-keyframes fb-loading-rotateplane {
	0% { -webkit-transform: perspective(120px) }
	50% { -webkit-transform: perspective(120px) rotateY(180deg) }
	100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}

@keyframes fb-loading-rotateplane {
	0% {
		transform: perspective(120px) rotateX(0deg) rotateY(0deg);
		-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
	} 50% {
		transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
		-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
	} 100% {
		transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
		-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
	}
}

#organisation-logo {
	font-size: 2em;
	font-weight: bold;
	margin-top: 0.5em;
	margin-bottom: 1em;
}
#organisation-logo img {
	max-height: 100px;
	max-width: 100%;
}

/* GENERAL */

.color {
	color: #4bb200;
}

.grey {
	color: #7d7d7d;
}

p {
	margin: 5px 0;
	line-height: 1.5em;
}

h1 .glyphicon, h3 .glyphicon, p .glyphicon {
	margin-right: 0.3em;
}
h4 {
	margin-top: 0;
	padding-bottom: 0.1em;
	border-bottom: 1px solid #ddd;
}
.panel-title {
	font-weight: bold;
}

.fixedValue {
	color: #4bb200;
	font-size: 16px;
	font-weight: bold;
	line-height: 22px;
}

a {
	color: #4bb200;
	text-decoration: none;
	font-weight: bold;
}
a:hover {
	text-decoration: underline;
}

.alert.bottom {
	margin-bottom: 0;
	margin-top: 20px;
}

.field-error {
	font-weight: normal;
	font-size: 0.9em;
}
.field-error span {
	padding-right: 0.5em;
}

label {
	cursor: pointer;
}

textarea {
	resize: none;
}

.form-control.focus { /* copy from bootstrap, required for credit card iframe wrapper */
	border-color: #66afe9;
	outline: 0;
	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.checkbox input[type=checkbox] {
	margin-left: 0;
}

.creditCardMonth, .creditCardYear {
	float: left;
	width: auto;
}
.creditCardYear {
	margin-left: 5px;
}

#submitForm {
	padding-left: 3em;
	padding-right: 3em;
}

#securityBox p {
	padding-left: 50px;
	position: relative;
	margin: 0;
}
#securityBox .glyphicon {
	position: absolute;
	left: 0;
	font-size: 40px;
}

#giftAidBox .giftAidWrapper {
	padding-left: 130px;
	position: relative;
	margin: 0;
}
#giftAidBox .giftAidLogo {
	position: absolute;
	left: 0;
	width: 110px;
	height: 40px;
	background: url(/paymentAddOn/design/giftaid_logo.png) no-repeat;
	background-size: cover;
}

#postCodeLookupButton {
    width: 100%;
    margin-top: 25px;
}

#changeDataLink {
	font-weight: normal;
}

#fundraisingPage .fixedValue {
	padding-left: 60px;
	min-height: 50px;
	position: relative;
}
#fundraisingPage .fixedValue img {
	position: absolute;
	left: 0;
}

/* AMOUNT CHOICES */
#amountChoices {
	border-bottom: 1px solid #ddd;
}
#amountChoices .choice {
	border-top: 1px solid #ddd;
	padding-top: 10px;
}
#amountChoices .choice label {
	padding-left: 30px;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	width: 100%;
}
#amountChoices .choice input[type=radio] {
	position: absolute;
	top: 0;
	left: 5px;
}
#amountChoices .choice #customAmountRadio {
	top: 5px;
}
#amountChoices span.amount {
	padding-right: 1em;
}
#amountChoices span.description {
	font-weight: normal;
}

/* PROJECT CHOICES */
.radio_list {
	border-bottom: 1px solid #ddd;
	overflow: hidden;
}
.radio_list .radio {
	margin: 0;
	border-top: 1px solid #ddd;
}
.radio_list .radio label {
	padding: 7px 0 7px 30px;
	width: 100%; /* full line clickable */
}
.radio_list input[type=radio] {
	margin: 0;
	top: 10px;
	left: 5px;
}

/* BANK FIELD CHOICES */
#bankFieldsChoice {
	margin: 15px 0;
	overflow: hidden;
}
#bankFieldsChoice .radio_list {
	overflow: hidden;
	border: 0;
}
#bankFieldsChoice .radio,
#bankFieldsChoice .radio + .radio{
	float: left;
	margin: 0 20px 0 0;
	border: 0;
}
#bankFieldsChoice .radio:last-child {
	margin-right: 0;
}
#bankFieldsChoice .radio label {
	font-weight: bold;
	padding: 0 0 0 20px;
}
#bankFieldsChoice input {
	top: 4px;
	left: 0;
}

/* ADDITIONAL SETTINGS */
#additionalSettings .checkbox {
	margin: 0;
}
#additionalSettings .form-group:last-child {
	margin: 0;
}

/* GIFT DONATION */
#giftDonationBox .checkbox {
	margin: 0;
}
#giftDonationBox .checkbox label {
	font-weight: bold;
}
#giftDonationCheckbox p {
	margin-left: 20px;
}
/* flexbox */
#giftDonationBox .imageChoices {
	display: flex;
	flex-wrap: nowrap;
}
#giftDonationBox .imageChoices .imageChoice .image {
	height: 150px;
}
#giftDonationBox .imageChoices .imageChoice .radio {
	display: none;
}
#giftDonationBox .imageChoices .imageChoice {
	padding: 7px 15px 7px 0;
}
#giftDonationBox .imageChoices .imageChoice:last-child {
	padding-right: 0;
}
#giftDonationBox .imageChoices .imageChoice label {
	border: 3px solid #ccc;
	position: relative;
}
#giftDonationBox .imageChoices .imageChoice .image {
	max-height: 150px;
	height: auto;
	max-width: 100%;
	width: auto;
	border: 2px solid #fff;
}
#giftDonationBox .imageChoices .imageChoice label .iconChecked {
	position: absolute;
	box-sizing: content-box;
	right: 10px;
	bottom: 10px;
	color: #4bb200;
	font-size: 2em;
	height: 1em;
	width: 1em;
	line-height: 1em;
	display: none;
	background: #fff;
	border-radius: 50%;
	border: 1px solid #fff;
}
#giftDonationBox .imageChoices .imageChoice label.active {
	border-color: #4bb200;
}
#giftDonationBox .imageChoices .imageChoice label.active .iconChecked {
	display: block;
}
#giftDonationBox .btn {
	font-weight: bold;
	background: #fff;
	color: #4bb200;
	border-color: #4bb200;
}
#giftDonationBox .btn:hover {
	color: #197300;
	border-color: #197300;
}

/* PAYMENT METHODS */
#paymentMethodBox .panel-body {
	padding-bottom: 5px;
}

#paymentmethods .paymentmethod .well {
	padding: 10px;
	overflow: hidden;
	position: relative;
	margin-bottom: 14px; /* 2x col padding */
}

#paymentmethods .paymentmethod input[type=radio] {
	position: absolute;
	top: 20px;
	left: 10px;
}

#paymentmethods .paymentmethod label {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	display: block;
	height: 40px;
	width: 100%;
	padding: 0 0 0 20px;
	margin: 0;
	font-size: 13px;
	font-weight: bold;
	text-transform: none;
	background-repeat: no-repeat;
	background-image: url(/design/fb-payment-icons.png?20190328);
	text-indent: -5000px;
	color: #014a75;
}

#paymentmethods .paymentmethod label.clear {
	background-image: none;
	padding-left: 10px;
	width: 100px;
	text-indent: 0;
}
#paymentmethods .paymentmethod label.bank_transfer {
	background-position: 20px 0;
	text-indent: 0;
	padding-left: 60px;
}
#paymentmethods .paymentmethod label.paypal {
	background-position: 20px -80px;
}
#paymentmethods .paymentmethod label.sofortueberweisung {
	background-position: 20px -120px;
}
#paymentmethods.en .paymentmethod label.sofortueberweisung {
	background-position: 20px -240px;
}
#paymentmethods .paymentmethod label.direct_debit {
	background-position: 20px -160px;
	text-indent: 0;
	padding-left: 60px;
}
#paymentmethods .paymentmethod label.creditcard {
	background-position: 20px -200px;
}
#paymentmethods .paymentmethod label.creditcard.amex {
	background-position: 20px -320px;
}
#paymentmethods .paymentmethod label.eps {
	background-position: 20px -280px;
}
#paymentmethods .paymentmethod label.bitcoin {
	background-position: 20px -360px;
}
#paymentmethods .paymentmethod label.amazon_pay {
	background-position: 20px -400px;
}
#paymentmethods .paymentmethod label.apple_pay {
	background-image: url(/design/apple_pay_icon.svg);
	background-size: contain;
	background-position-x: 20px;
}

#paymentmethods .paymentmethod label.google_pay {
	background-image: url(/design/google_pay_icon.svg);
	background-size: auto 70px;
	border-top: 20px solid transparent;
	background-clip: border-box;
	background-position: 8px -35px;
}
#paymentmethods .paymentmethod label span {
	height: 40px;
	display: table-cell;
	vertical-align: middle;
}

/* RESULT PAGE */
#errorMessage h1, #thankYouMessage h1 {
	font-size: 24px;
	margin-top: 0;
}
#errorMessage h1 {
	color: #c00;
}
#spreadMessage {
	margin-bottom: 0.5em;
}

/* FOOTER */
#imprintLink {
	margin-top: 10px;
	text-align: right;
}

#footer {
	margin-bottom: 10px;
	margin-top: 10px;
	overflow: hidden;
}

#favouriteDecade > span {
  font-size: x-small;
}
#favouriteDecade > .radio_list {
  border-bottom: 0;
}
#favouriteDecade > .radio_list > .radio {
  display: inline-block;
  padding-right: 50px;
  border-top: 0;
}