@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@1,300&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');

/*Start WPM Styles*/
#body {
	position: relative;
	font-family: Rubik;
}

#content {
	max-width: 960px;
	margin: 0px auto;
}

	#content h1 {
		text-align: center;
		display: block;
		margin: auto;
		margin-bottom: 1.5em;
		font-weight: 400;
	}

#client-header {
}

#header_title {
	float: right;
}

#wrapper {
	max-width: 960px;
	margin: 0 auto;
	text-align: left;
	position: relative;
}

#logo {
	position: relative;
	float: left;
	display: inline;
}

.clear {
	clear: both;
}

h1 {
	margin-bottom: 0.5em;
	font-size: 2em;
	align-self: center;
	align-content: center;
}

.client-direct-debit-logo {
	max-height: 22em;
	max-width: 22em;
}



.label-container {
	position: relative;
	display: block;
}

	.label-container label {
		font-family: Rubik;
		font-weight: normal;
	}
	legend {
		margin-bottom: 1em;
	}

.required-field {
	content: "*";
	color: #f00;
	font-size: 1.6em;
	position: absolute;
	top: -0.2em;
	right: -10px;
}

.h-captcha {
	font-family: Rubik;
}

#continue-container {
	border-radius: 1.0rem;
	border: 1px solid #D1D1D1 !important;
	background-color: #fff !important;
	padding: 10px 10px 0 0;
}

.panel {
	border-radius: 1.0rem;
	border: 1px solid #D1D1D1 !important;
	background-color: #fff !important;
	margin-bottom: 1.0rem;
}

.panel.no-heading {
	padding-top: 1.1em;
}

.panel-heading-outer {
	border-radius: 0.25rem 0.25rem 0 0;
	border-bottom: 1px solid var(--border-border-zinc-200, #E4E4E7);
	background: var(--background-light-grey-zinc-50, #FAFAFA);
	border-top-left-radius: 1.0rem;
	border-top-right-radius: 1.0rem;
	overflow: hidden; /* IE ghost border with gradient fix */
}

.panel-heading {
	display: flex;
	padding: 0 1rem;
	align-items: flex-start;
	align-self: stretch;
	border-bottom: 1px solid #D1D1D1 !important;
	background-color: #FAFAFA;
}

	.panel-heading h2 {
		font-size: 1.35em;
		margin: 0;
		padding: 0;
		display: inline;
		font-weight: 500;
		font-family: Rubik;
		font-style: normal;
	}

	.panel-heading > a.back {
		display: none;
	}

.panel-body {
	margin: 0 1.5rem 1.5rem;
}
	.panel-body dl {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
	}
	.panel-body dd {
		font-weight: bold;
	}

.panel-body-title {
	font-size: 14px;
	text-align: center;
	color: #0797a3;
	font-size: 22px;
	text-align: left;
	margin-bottom: 1em;
}

.control-row.error, .panel.error {
	background-color: #FCE7E7 !important;
}

/*
select, input[type="text"], input[type="number"], input[type="password"], input[type="tel"], input[type="email"], textarea {
  color: #666666;
  border-radius: 0;
  border: 0.1rem solid #D1D1D1;
  width: 100%;
}
*/
.panel h3 {
	background-color: transparent;
	font-size: 1.8rem;
	margin-bottom: 0;
	font-weight: 600;
}

span.error {
	background-color: #FF0000;
	color: #FFFFFF;
	font-weight: bold;
	padding: 3px;
	position: relative;
	float: right;
	width: 100%;
}

	span.error::before {
		content: '';
		display: block;
		position: absolute;
		right: 100%;
		top: 50%;
		margin-top: -10px;
		width: 0;
		height: 0;
		border-top: 10px solid transparent;
		border-right: 10px solid #FF0000;
		border-bottom: 10px solid transparent;
		border-left: 10px solid transparent;
	}

.error_p {
	width: 0px;
	height: 0px;
	position: absolute;
	top: 0;
	left: -13px;
	border-top: 13px solid transparent;
	border-bottom: 13px solid transparent;
	border-right: 13px solid red;
}

.form.row.error {
	color: #FF0000;
}

	.form.row.error input, .form.row.error select {
		border: 1px solid #FF0000;
	}

.help-block {
	color: #0797a3;
	font-size: 14px;
	display: block;
}

.button-back {
	text-decoration: none;
	display: block;
	color: #494747;
	cursor: auto;
	width: 100%;
}

.button-container {
	margin: 0;
	padding: 0
}

.button-primary {
	float: right;
}

	.button-primary:after {
		content: '\bb';
		font-weight: bold;
		color: #fff;
	}

.form-row {
	margin-bottom: 1.5rem;
}

#thawteseal {
	text-align: center;
}

	#thawteseal a {
		color: #000000;
		text-decoration: none;
		font: bold 10px arial, sans-serif;
		margin: 0px;
		padding: 0px;
	}

.test_header {
	color: red;
}

.staffArea {
	color: red;
	text-align: left;
	display: inline-block;
}

.bold {
	font-weight: bold;
}

.radio-label {
	text-align: left;
	float: left;
	margin-left: 1.2rem;
}

	.radio-label input[type=radio] {
		margin-right: .5rem;
	}

.payment-type-logos {
	width: 5.0rem;
	height: 3.2rem;
}

.payment-type-logos-v2 {
	float: right;
	margin-top: 0.5em;
	padding-left: 0.2em;
}

.payment-type-text {
	font-size: 0.9em;
	line-height: 1em;
	color: #708090;
}

.panel-correct {
	margin: 1rem;
	border: solid 1px;
	border-color: #DCDCDC;
	border-radius: .2rem;
	background: #E8FCE7; /* For browsers that do not support gradients */
	vertical-align: middle;
	font-weight: bolder;
}

.btn_xpressCheckout {
	cursor: pointer;
	width: 145px;
	height: 42px;
	background-image: url('../../images/btn_xpressCheckout.gif');
	display: block;
	text-decoration: none;
	white-space: nowrap;
}

.GiftAidLogo {
	width: 300px;
	height: 85px;
	background-image: url('../../images/logo_giftaid.gif');
	background-size: 200px;
	display: block;
	background-repeat: no-repeat;
	background-position: -30% 20%;
}
/*End new Styles*/
/*
    paymentOptions.js
*/
.hidden {
	display: none;
	height: 0;
	visibility: hidden;
	width: 0;
}
/*
    +++ .panel-body-title margin fix
*/
.form.row:first-child, .form.row.error:first-child, .panel-body {
	margin-top: 1em;
}
/*
    +++ card types
*/
#payment-type-logos img {
	height: 30px;
}
/*
    +++ form row
*/
.form.row label, .form.row legend span.label {
	display: block;
	margin-left: 32px;
}

	.form.row label select, .form.row.error label select {
		font-weight: bold;
		color: inherit !important;
		text-align: inherit !important;
	}

.form.row .title {
	font-weight: bold;
	display: block;
}

.form.row .details {
	display: block;
}

.input-group select {
	width: 69%;
}

.input-group .currency {
	width: 30%;
}
/*
    --- form row
*/
/*
    +++ currency
*/
.currency {
	display: inline-block;
	position: relative;
}

	.currency .symbol {
		position: absolute;
		line-height: 1.6;
		border-right: 1px solid #D1D1D1;
		padding: 5px 10px;
		height: 1.49em;
		vertical-align: middle;
		margin-top: 0.55px;
	}

	.currency input {
		padding-left: 1.4em;
		max-width: 50%;
	}
/*
    --- currency
*/
/*
    +++ help tip
    http://tutorialzine.com/2014/07/css-inline-help-tips/
*/
.label-group {
	position: relative;
}

.help-tip {
	position: absolute;
	float: right;
	text-align: center;
	background-color: #6499d0;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	font-size: 14px;
	line-height: 24px;
	cursor: help;
}

	.help-tip.anchor-left {
		bottom: 0;
		left: 4px;
	}

	.help-tip.anchor-right {
		top: 8px;
		right: 8px;
	}

	.help-tip:before {
		content: '?';
		font-weight: bold;
		color: #fff;
	}

	.help-tip:hover span {
		display: block;
		transform-origin: 100% 0%;
		-webkit-animation: fadeIn 0.3s ease-in-out;
		animation: fadeIn 0.3s ease-in-out;
		z-index: 999;
	}

	.help-tip span { /* The tooltip */
		display: none;
		text-align: left;
		background-color: #1E2021;
		padding: 20px;
		width: 300px;
		position: absolute;
		border-radius: 3px;
		box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
		color: #FFF;
		font-size: 13px;
		line-height: 1.4;
		z-index: 999;
	}

	.help-tip.anchor-left span {
		left: -4px;
	}

	.help-tip.anchor-right span {
		right: -4px;
	}

	.help-tip span:before { /* The pointer of the tooltip */
		position: absolute;
		content: '';
		width: 0;
		height: 0;
		border: 6px solid transparent;
		border-bottom-color: #1E2021;
		top: -12px;
	}

	.help-tip.anchor-left span:before {
		left: 10px;
	}

	.help-tip.anchor-right span:before {
		right: 10px;
	}

	.help-tip span:after { /* Prevents the tooltip from being hidden */
		width: 100%;
		height: 40px;
		content: '';
		position: absolute;
		top: -40px;
		left: 0;
		z-index: 999;
	}
/* CSS animation */
@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
		transform: scale(0.6);
	}

	100% {
		opacity: 100%;
		transform: scale(1);
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 100%;
	}
}

.instalment-header {
	font-weight: bold;
}
/*
    --- tool tip
*/
/*
    +++ payment summary table
*/
#payment-summary {
	width: 100%;
	padding: 1.8rem;
}
	#payment-summary th {
		display: none;
	}

	#payment-summary td {
		border-collapse: collapse;
		empty-cells: show;
		padding: 0.5rem 0.4rem 0.4rem 0;
		text-align: right;
		padding: 0.5rem 0.4rem 0.4rem 0;
	}

	#payment-summary tfoot tr {
		border-top: 1px solid #DCDCDC;
		font-weight: bold;
	}

.oi-description {
	text-align: left !important;
	font-weight: normal;
	padding-left: 0.6em !important
}

.total-payment {
	border-top: 1px solid #DCDCDC;
	font-weight: bold;
	font-size: 14px;
	color: #003E6E;
}

.total-cost {
	text-align: right;
}

#total-cost {
	text-align: right;
}

#total-payment-instalment, #total-payment-paynow {
	text-align: right;
}
/*
    --- payment summary table
*/
/*
    +++ instalments plan table
*/
.toggle-instalments-plan {
	margin: 0 0 0 1.3em;
	position: relative;
	text-align: left !important;
}

	.toggle-instalments-plan .pointer.hide {
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		border-bottom: 5px solid #aaa;
		bottom: 0.4em;
		height: 0;
		margin-left: 0.3em;
		position: absolute;
		width: 0;
	}

	.toggle-instalments-plan .pointer.show {
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		border-top: 5px solid #aaa;
		bottom: 0.4em;
		height: 0;
		margin-left: 0.3em;
		position: absolute;
		width: 0;
	}

.instalments-plan, .instalments-plan td, .instalments-plan th {
	border-collapse: collapse;
	empty-cells: show;
	margin: 0;
	padding: 0;
}

.instalments-plan {
	margin: 0.5em 0 0 1.3em;
}
/*
    --- instalments plan table
*/
/*
    +++ dcc table
*/
.dcc {
	width: 100%;
}

	.dcc, .dcc td, .dcc th {
		border-collapse: collapse;
		empty-cells: show;
		margin: 0;
		padding: 0 1em 0.4em 0;
	}

		.dcc th {
			vertical-align: bottom;
		}

		.dcc td {
			padding-top: 0.4em;
			cursor: pointer;
			vertical-align: top;
		}

		.dcc label {
			cursor: pointer;
			display: block !important;
			font-weight: normal;
			margin: 0 !important;
			padding: 0 !important;
			text-align: left !important;
			width: 100% !important;
		}

			.dcc label span {
				position: static;
			}

		.dcc input {
			margin-right: 0.4em;
		}

		.dcc tr {
			position: relative;
			z-index: 1;
		}

			.dcc tr:hover td {
				background-color: #f8f8f8;
				cursor: pointer;
			}

				.dcc tr:hover td:first-child {
					border-radius: 6px 0 0 6px;
				}

				.dcc tr:hover td:last-child {
					border-radius: 0 6px 6px 0;
				}

		.dcc .total {
			font-weight: bold;
		}

		.dcc input {
			/*
    position:absolute;
    float: left;
    opacity: 0;*/
		}

			.dcc input:checked + label {
				background-color: #33c3f0;
				border-radius: 6px;
				color: #fff;
			}

				.dcc input:checked + label::after {
					display: inline-block;
					vertical-align: text-top;
					line-height: 1em;
					width: 1em;
					height: 1em;
					margin-right: 0.5em;
					margin-top: 0.2em;
					text-align: center;
					content: '\002714';
					color: #fff;
					float: right;
				}

.dcc-tc {
	margin-top: 1em;
}

.dcc td:last-child, th:last-child {
	text-align: right;
}

.dcc-p label {
	text-align: left;
}

dcc-p > label > input[type='radio'] {
	margin-right: 5px;
}
/*
    --- dcc table
*/
/*
    +++ running footer
*/
#running-footer .columns {
	float: left;
}

	#running-footer .columns:last-child {
		float: right;
	}

a.back {
	cursor: pointer;
	font-size: 1.2em;
	margin-left: 0.5em;
	padding-right: 0.2em;
}

	a.back:before, a.back::before {
		content: '\ab';
		padding-right: 0.3em;
	}

	a.back:hover {
		border-bottom: 1px solid;
		text-decoration: none;
	}

.back-button {
	color: #FFF;
	border-color: none;
	display: inline-block;
	margin-bottom: 1em;
	border-radius: 0.25em;
	background-color: #666666;
	background: -webkit-linear-gradient(#959595, #666666); /* For Safari 5.1 to 6.0 */
	background: -o-linear-gradient(#959595, #666666); /* For Opera 11.1 to 12.0 */
	background: -moz-linear-gradient(#959595, #666666); /* For Firefox 3.6 to 15 */
	background: linear-gradient(#959595, #666666); /* Standard syntax */
	min-width: 5.5rem;
	cursor: pointer;
	font-weight: bold;
	max-height: 1.9em;
	margin: 0.275em;
	text-align: center;
	padding-right: 0.75em;
}

	.back-button:before, .back-button::before {
		content: '\ab';
		padding-right: 0.5em;
		padding-left: 0.5em;
	}

	.back-button:hover {
		text-decoration: none;
		background-color: #CECECE;
		background: -webkit-linear-gradient(#CECECE, #666666); /* For Safari 5.1 to 6.0 */
		background: -o-linear-gradient(#CECECE, #666666); /* For Opera 11.1 to 12.0 */
		background: -moz-linear-gradient(#CECECE, #666666); /* For Firefox 3.6 to 15 */
		background: linear-gradient(#CECECE, #666666); /* Standard syntax */
	}

.cancel-button {
	color: #FFF;
	border-radius: 0.25em;
	display: inline-block;
	max-width: 10rem;
	background-color: #666666 !important;
	background: -webkit-linear-gradient(#959595, #666666); /* For Safari 5.1 to 6.0 */
	background: -o-linear-gradient(#959595, #666666); /* For Opera 11.1 to 12.0 */
	background: -moz-linear-gradient(#959595, #666666); /* For Firefox 3.6 to 15 */
	background: linear-gradient(#959595, #666666); /* Standard syntax */
	min-width: 5.5rem;
	cursor: pointer;
	font-weight: bold;
	max-height: 1.9em;
	margin: 0.25em;
	text-align: center;
	padding-right: 0.75em;
}

	.cancel-button:before .cancel-button::before {
		content: '\ab';
		padding-right: 0.5em;
		padding-left: 0.5em;
	}

	.cancel-button:hover {
		text-decoration: none;
		background-color: #CECECE;
		background: -webkit-linear-gradient(#CECECE, #666666); /* For Safari 5.1 to 6.0 */
		background: -o-linear-gradient(#CECECE, #666666); /* For Opera 11.1 to 12.0 */
		background: -moz-linear-gradient(#CECECE, #666666); /* For Firefox 3.6 to 15 */
		background: linear-gradient(#CECECE, #666666); /* Standard syntax */
	}
/*
    --- running footer
*/
/*
    +++ checkbox label
*/
label.checkbox {
	display: inline-block !important;
	font-weight: normal;
	margin: 0 1.3em 0 0.1em !important;
	padding: 0 !important;
	text-align: left !important;
}
/*
    +++ card expiry/start date
*/
#card-expiry-date select, #card-start-date select {
	display: inline-block;
	width: auto;
}
/*
    +++ card type
    http://stackoverflow.com/questions/9508029/dropdown-select-with-images
    http://stackoverflow.com/questions/21968531/how-to-draw-a-checkmark-tick-using-css
*/
#card-type label {
	background-repeat: no-repeat !important;
	cursor: pointer;
	padding: 4px 0 0 52px;
	height: 26px;
	text-align: left;
	width: 80%;
}

	#card-type label:hover {
		background-color: #33c3f0;
		border-radius: 0 5px 5px 0;
		color: #fff;
	}

#card-type input:checked + label {
	font-weight: bold;
}

	#card-type input:checked + label .ico-check-mark:after {
		display: inline-block;
		vertical-align: text-top;
		line-height: 1em;
		width: 1em;
		height: 1em;
		margin-right: 0.3em;
		text-align: center;
		content: '\002714';
		color: #33c3f0;
	}

	#card-type input:checked + label:hover .ico-check-mark:after {
		color: #fff;
	}
/*
    --- card type
*/
/*
    +++ radio-row
*/
.radio-row input {
	position: absolute;
	float: left;
	opacity: 0;
}

.radio-row label {
	display: inline-block !important;
	height: 38px !important;
	text-align: left;
	margin: 0 !important;
	border-radius: 6px;
	vertical-align: middle !important;
	padding: 0.2em 0.6em;
	width: 100%;
}

	.radio-row label:hover {
		background-color: #eee;
	}

.radio-row input:checked + label {
	font-weight: bold;
}

.select-list .form.row {
	/*height: 3em !important;*/
	line-height: 3em;
}

.select-list input {
	vertical-align: middle !important;
}

.select-list label {
	display: inline-block !important;
	text-align: left;
	margin: 0 !important;
	border-radius: 3px;
	vertical-align: middle !important;
	padding: 0 0.6em 0;
	width: 50%;
	cursor: pointer;
}

.select-list input {
	vertical-align: middle;
	line-height: normal;
	margin-right: 0.5em;
}

.select-list label:hover {
	background-color: #f8f8f8;
}
/*
.select-list input:checked + label {
    font-weight: bold;
}
*/
.select-list label span.text {
	vertical-align: middle;
	line-height: normal;
}
/*
.select-list input:checked + label span.img:before {
    display: inline-block;
    vertical-align: text-top;
    line-height: 1em;
    width: 1em;
    height: 1em;
    margin-left: -1.8em;
    text-align: center;
    content: '\002714';
    color: #33c3f0;
    position: absolute;
}*/
.select-list label span.img {
	/*float: right;*/
}

	.select-list label span.img img {
		margin: auto;
		vertical-align: middle
	}
/*
    --- select-list
*/
#wubs-countryCode {
	display: inline-block;
	float: right;
	width: 30em;
	margin-top: 0.4em;
}
/*
    +++ magnifying glass icon
    http://codepen.io/rosschapman/pen/GvBtw
*/
.ico-magnify {
	position: relative;
	display: inline-block;
	background: #fff;
	border-radius: 30px;
	height: 6px;
	width: 6px;
	border: 2px solid #888;
	margin-right: 0.4em;
}

	.ico-magnify:after {
		content: "";
		height: 2px;
		width: 6px;
		background: #888;
		position: absolute;
		top: 7px;
		left: 5px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}
/*
    --- magnifying glass icon
*/
/*
    +++ paf form fields
*/
a[data-role="toggle-paf"] {
	cursor: pointer !important;
	display: inline-block;
	margin-bottom: 0.7em;
}

.paf-toggle-disabled {
	position: relative;
	display: inline-block;
}

	.paf-toggle-disabled a {
		top: 7px;
		left: 46px;
		position: relative;
	}

#paf-dataset {
	overflow-y: auto;
}

	#paf-dataset ul {
		list-style-type: none;
	}

	#paf-dataset a {
		background-color: #ddd;
		border-radius: 4px;
		color: inherit !important;
		cursor: pointer;
		display: block;
		padding: 0.5em;
		text-align: left !important;
		text-decoration: none;
	}

#paf-dataset-container a:focus, #paf-dataset-container a:hover {
	background-color: #eee;
}

#paf-reset {
	padding-top: 0.8em;
}
/*
    --- paf form fields
*/
/*
    +++ genric
*/
.section-description {
	font-weight: bold;
	margin-bottom: 1em;
}

h3.sub {
	margin: 0;
	padding: 0;
	font-size: 1.2em;
}
/*
    --- genric
*/
/*
    +++ spinner
*/
#spinner-overlay {
	background-color: #fff;
	height: 100%;
	opacity: 0.8;
	position: absolute;
	top: 0;
	width: 98%;
	z-index: 102;
}
/*
    --- spinner
*/
/*
    +++ paypal check out
*/
.paypal-checkout {
	background-image: url('../../images/misc/payment_type_logos/checkout-with-paypal.png');
	background-repeat: no-repeat;
	border-radius: 4px;
	float: right;
	height: 29px;
	width: 144px;
}
/*
    +++ printer icon
    https://codepen.io/msaetre/pen/ChsFp
*/
.print-details {
	position: absolute;
	float: left;
	opacity: 0;
}

.icon-printer {
	float: right;
	width: 35px;
	height: 35px;
	position: relative;
	overflow: hidden;
}

	.icon-printer .printer-body {
		background-color: #0ae !important;
		width: 80%;
		height: 42%;
		position: absolute;
		left: 50%;
		bottom: 5%;
		margin-left: -40%;
		background-color: #fff;
		border-top-left-radius: 25%;
		border-top-right-radius: 25%;
		border-bottom-left-radius: 75%;
		border-bottom-right-radius: 75%;
	}

	.icon-printer .printer-top {
		width: 60%;
		height: 15%;
		position: absolute;
		left: 50%;
		top: 46%;
		margin-left: -30%;
		background-color: #fff;
		border-radius: 20%;
	}

	.icon-printer .printer-bottom {
		width: 60%;
		height: 60%;
		position: absolute;
		left: 50%;
		bottom: -38%;
		margin-left: -30%;
		background-color: #fff;
		border-radius: 15%;
	}

	.icon-printer .printer-file-bottom {
		background-color: #4cf !important;
		width: 50%;
		height: 16%;
		position: absolute;
		left: 50%;
		bottom: 3%;
		margin-left: -25%;
		background-color: #fff;
		border-radius: 20%;
	}

	.icon-printer .printer-file-top {
		background-color: #4cf !important;
		width: 50%;
		height: 34%;
		position: absolute;
		left: 50%;
		margin-left: -25%;
		top: 23%;
		background-color: #fff;
		border-radius: 10%;
	}

	.icon-printer .printer-dot {
		left: 65% !important;
		width: 6%;
		height: 6%;
		position: absolute;
		top: 65%;
		background-color: #fff;
		border-radius: 100%;
	}

	.icon-printer .printer-line {
		left: 50% !important;
		margin-left: -12% !important;
		width: 24%;
		height: 4%;
		position: absolute;
		background-color: #fff;
		border-radius: 15%;
	}

#printer-line-1 {
	top: 32%;
}

#printer-line-2 {
	top: 42%;
}
/*
    --- printer icon
*/
/*
    +++ transaction details
*/
.summary-list {
	list-style-type: none;
}

	.summary-list li {
		margin: 0;
		padding: 0;
	}

.transaction-details {
	margin-bottom: 1em;
}

.row {
	margin-bottom: .75em;
}

dt, dd {
	display: inline-block;
	margin: 0;
	vertical-align: top;
}

dt {
	width: 51.5%;
}

	dt:after {
		content: ':';
	}

dd:after {
	content: '\A';
	white-space: pre;
}

#dcc-details {
	margin-top: 1em;
}

.dcc-details li {
	list-style-type: none;
	margin: 0.1rem;
}
/*
    --- transaction details
*/
#attention-green, #attention-green a {
	width: 85%;
	border-radius: 8px;
	background-color: #5cb85c;
	color: #fff !important;
	font-weight: bold;
	text-align: center;
	padding: 1em;
	display: block;
}

	#attention-green .banner {
		display: block;
		margin-bottom: 1em;
	}

#attention-grey, #attention-grey a {
	width: 85%;
	border-radius: 8px;
	background-color: #4b4e53;
	color: #fff !important;
	font-weight: bold;
	text-align: center;
	padding: 1em;
	margin: 0 auto;
}

.answer-radio-label {
	position: relative;
	float: left;
	margin: 0.3rem;
}

#three-d-iframe {
	display: none;
	width: 100%;
	min-height: 600px;
}

/*
    +++ plans
*/
fieldset {
	position: relative;
}

.offscreen {
	position: absolute;
	left: -25000px;
}

table.plans, .plans td, .plans th {
	border-collapse: collapse;
	padding: 0.4em;
	margin: 0;
}

.plans thead th {
	/*white-space: nowrap;*/
	vertical-align: bottom;
}

th.plan {
	width: 5%;
}

th.plan-description {
	width: 35%
}

th.total-value {
	width: 10%;
}

th.plan-details {
	width: 43%;
}

.plans td, .plans th {
	text-align: left !important;
	vertical-align: top;
}

	.plans th label {
		cursor: pointer;
		text-align: left !important;
	}
/*
    --- plans
*/
#card-issuer-redirect {
	font-size: larger;
	font-weight: bold;
	text-align: right;
}
/*
    fix first column offset when for skeleton .columns:first-child rule
*/
.form.fieldset.row > legend.offscreen + .columns {
	margin-left: 0;
}

div.direct-debit-row {
	color: #000;
}

div.direct-debit-section-title, div.direct-debit-client-address {
	font-size: 0.9em;
	text-align: left;
	border: none;
	font-weight: 700;
}

div.direct-debit-border-top {
	border-bottom: 0 #000 solid;
}

div.direct-debit-border, div.direct-debit-border-a-right, div.direct-debit-border-large, div.direct-debit-border-top {
	float: left;
	border-right: 2px #000 solid;
	width: 100%;
	display: block;
	padding-left: 3px;
}

div.direct-debit-border, div.direct-debit-border-a-right, div.direct-debit-border-top {
	border-left: 1px #000 solid;
	border-top: 1px #000 solid;
	padding-top: 3px;
	text-align: left;
	height: 22px;
}

div.direct-debit-border, div.direct-debit-border-a-right {
	border-bottom: 2px #000 solid;
}

div.direct-debit-code-left {
	float: left;
	border-right: 1px #000 solid;
}

div.direct-debit-code-border, div.direct-debit-code-left, div.direct-debit-code-right {
	border-bottom: 2px #000 solid;
	width: 20px;
	padding-top: 3px;
	border-left: 1px #000 solid;
	border-top: 1px #000 solid;
	text-align: center;
	height: 22px;
}

div.direct-debit-code-border {
	float: left;
	border-right: 1px #000 solid;
}

div.direct-debit-code-right {
	float: left;
	border-right: 2px #000 solid;
}

div.direct-debit-border-large {
	border-left: 1px #000 solid;
	border-top: 1px #000 solid;
	border-bottom: 2px #000 solid;
	text-align: left;
	height: 90px;
}

	div.direct-debit-border-large span span {
		font-weight: bold
	}

	div.direct-debit-border-top-tall span, div.direct-debit-border-large span, div.direct-debit-border-a-right span, div.direct-debit-border-top span {
		font-size: 10px
	}

div.direct-debit-border-top-tall {
	float: left;
	border-left: 1px #000 solid;
	border-right: 2px #000 solid;
	border-top: 1px #000 solid;
	border-bottom: 0 #000 solid;
	width: 100%;
	padding-top: 3px;
	text-align: left;
	display: block;
	height: 30px;
	padding-left: 3px;
}

div.direct-debit-reference-border, div.direct-debit-reference-left {
	border-right: 1px #000 solid;
}

div.direct-debit-reference-border, div.direct-debit-reference-left, div.direct-debit-reference-right {
	float: left;
	width: 5%;
	padding-top: 3px;
	border-left: 1px #000 solid;
	border-top: 1px #000 solid;
	border-bottom: 2px #000 solid;
	text-align: center;
	height: 22px;
}

div.direct-debit-reference-right {
	border-right: 2px #000 solid;
}

img.direct-debit-logo {
	width: 150px;
}

img.direct-debit-logo-bottom {
	height: 32px;
	float: right;
}

hr.direct-debit-hr-dashed {
	border-top: 3px dashed #cecece;
}

div.direct-debit-guarantee-title {
	color: #000;
	font-size: 1.1em;
	font-weight: 700;
}

div.direct-debit-guarantee {
	font-size: 1.1em;
}

span.required-field {
	cursor: default;
}
/*
    payment-options control-rows
*/
.control-row {
	border: 1px solid #ccc;
	border-radius: 6px;
	padding: 0.6em 1em 0;
	margin-bottom: 0.6em !important;
}

	.control-row.container {
		margin-top: 1em;
	}

	.control-row.sub {
		border-radius: 4px;
		margin: 0 0 1em 0;
	}

	.control-row .column label, .control-row .columns label {
		display: block !important;
		text-align: left !important;
		width: 10em !important;
	}

		.control-row .column label:after, .control-row .columns label:after {
			content: ':';
		}

@media (max-width: 650px) {
	.control-row .column .control-row .columns {
		display: block;
		margin-left: 0;
		width: 100%;
	}

	.control-row .column label, .control-row .columns label {
		text-align: left;
	}

	.control-row .column, .control-row .columns {
		margin-bottom: 1.3em;
	}

	.control-row .row {
		margin-bottom: 0;
	}
}

.currency.payment-amount, .control-row .row input, .control-row .row select {
	display: inline-block;
	margin: auto !important;
	width: 100% !important;
}

.control-row.group {
	padding: 0.6em 0.6em 0;
}

	.control-row.group > legend {
		font-size: 1em;
		margin-bottom: 1em;
		margin-left: 0.5em;
	}

.control-row legend, .control-row.sub legend {
	float: left;
	font-weight: normal !important;
	margin-bottom: .5em;
	position: relative;
	width: 100%;
}

	.control-row legend label {
		cursor: pointer;
		display: inline;
		float: left;
		margin: 0 0.3em 0 0;
		padding: 0;
		width: auto !important;
		font-weight: inherit !important;
		text-align: left;
	}

	.control-row legend .title {
		display: block;
		float: left;
		margin: 0 0 0 2em;
		text-align: left;
	}

.control-row .required-field {
	font-size: 2em;
	right: 0-1em;
	top: -0.2em;
}
/*
    control-row checbox / radio
*/
.control-row legend .checkbox, .control-row legend .radio {
	position: absolute;
	border: none;
	border-radius: 3px;
	cursor: pointer;
	display: inline-block;
	left: -0.2em;
	height: 1em;
	top: 0;
	vertical-align: bottom;
	width: 1em !important;
}
/* WPME-4270
.control-row legend:hover .checkbox, .control-row legend:hover .radio {
  border-color: #474747;
}
.control-row legend .radio {
  border-radius: 50%;
}
.control-row legend .checkbox .check, .control-row legend .radio .check {
  opacity: 0;
}
.control-row legend .checkbox .check:before {
  content: '\002714';
  color: #555;
  font-size: 1.3em;
  font-style: normal;
  line-height: 0;
  margin: 0 0 0.2em 0;
  vertical-align: baseline;
}
.control-row legend .radio .check {
  background-color: #666;
  border: 0.2em solid #fff;
  border-radius: 50%;
  height: 0.6em;
  position: absolute;
  width: 0.6em;
  top: 50%;
  left: 50%;
  margin: -0.45em 0 0 -0.45em;
  padding: 0;
}
.control-row legend input[type='checkbox']:checked + label .checkbox .check, .control-row legend input[type='radio']:checked + label .radio .check {
  opacity: 1;
}
.control-row.container.item .row:last-child {
  margin-bottom: 0;
}
*/

/*
    control-row enabled
*/
/* WPME-4270
.control-row.enabled, .control-row.enabled > legend .checkbox, .control-row.enabled > legend .radio, .control-row.enabled > legend:hover .checkbox, .control-row.enabled > legend:hover .radio {
  border-color: #33c3f0;
}
*/
/*
    control-row disabled
*/
.control-row.container.item.disabled > legend {
	margin: 0;
	padding: 0;
}

.control-row.disabled .row {
	display: none;
}

	.control-row.disabled .row *, .control-row.disabled fieldset label {
		color: #aaa !important;
	}

.control-row .row input[readonly='readonly'] {
	border: 1px solid #eee;
	cursor: not-allowed;
}
/* WPME-4270
.control-row.disabled .control-row.enabled, .control-row.disabled .control-row > legend .checkbox, .control-row.disabled .control-row > legend .radio, .control-row.disabled .control-row > legend:hover .checkbox, .control-row.disabled .control-row > legend:hover .radio {
  border: 1px solid #ccc !important;
}
*/
/* WPME-4270
.control-row.disabled .control-row legend .radio .check {
  background-color: #bbb !important;
}
*/
.rows-group span.error, .control-row span.error, span.error.inline {
	display: inline-block;
	float: none;
	padding: 0.3em 0.5em;
	width: auto;
}

.control-row.error .row {
	margin-bottom: 0.4em;
}

.control-row.sub.error span.error {
	margin-bottom: 1em;
}

.rows-group span.error::before, .control-row span.error::before, span.error.inline::before {
	border: 0 solid transparent;
}

input.sortcode {
	width: 29% !important;
}

input[type='number'] {
	-moz-appearance: textfield;
}

	input[type='number']::-webkit-outer-spin-button, input[type='number']::-webkit-inner-spin-button {
		-webkit-appearance: none;
		margin: 0;
	}

#running-footer .back-button {
	max-height: none;
}
/* check selected */
span.wpm-selected {
	color: #33c3f0;
	position: absolute;
	margin: 0;
	padding: 0;
	font-size: 1.3em;
	top: -0.2em;
}

#oCard-sCVV {
	width: 29%;
}

#banner {
	height: 1.2rem;
}

#test-mode-stamp {
	border: 5px solid red;
	color: red;
	font-size: 7rem;
	position: absolute;
	left: 8rem;
	top: -5.5rem;
	z-index: 10;
	-ms-transform: rotate(-7deg); /* IE 9 */
	-webkit-transform: rotate(-7deg); /* Chrome, Safari, Opera */
	transform: rotate(-7deg);
	overflow: hidden;
	max-width: 500px;
}

#header-inner {
	margin: 20px;
	text-align: left;
}

@media (max-width: 970px) {
	#wubs-countryCode {
		width: 100%;
	}

	.select-list label {
		width: 100%;
	}
}

#wpm-spinner-wrapper {
	align-items: center;
	height: 230px;
	width: 400px;
	border-radius: 8px;
	background-color: #fff;
}

#wpm-spinner-dialog {
	width: 600px;
	position: fixed;
	z-index: 2001;
}

#wpm-spinner-underlay {
	background-color: #fff;
	filter: alpha(Opacity=90);
	opacity: 0.9;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1001;
}

:lang(en) [lang]:not([lang="en"]), :lang(cy) [lang]:not([lang="cy"]) {
	display: none;
	height: 0;
	visibility: hidden;
	width: 0;
}
/*WPME-1248*/
.concealed {
	display: none !important;
	visibility: hidden;
}

.dcc {
	width: 100%;
}

	.dcc label {
		font-weight: bold;
		display: block;
		text-align: left;
		cursor: pointer;
	}

.dcc-p {
	padding-top: 5px;
}

#three-d-iframe {
	display: none;
	width: 100%;
	min-height: 600px;
	overflow: hidden;
}

.dcc-section {
	padding-top: 5px;
	padding-bottom: 5px;
}

.info-container {
	border: solid;
	border-width: thin;
	border-color: #DDEFF9;
	background-color: #F1F9FC;
	border-radius: .5rem;
	line-height: normal;
	display: block;
	margin-bottom: 1.0rem;
	vertical-align: middle;
	padding: 0.5rem;
}

p.info_msg {
	padding: .75rem 0 0 2.5rem;
	vertical-align: middle;
	min-height: 32px;
	font-family: Rubik, sans-serif !important;
	font-weight: bold !important;
}

.info-container-right {
	padding: .75rem 0 0 0;
	vertical-align: middle;
	min-height: 20px;
}

p.info_msg, p.info_msg_noimg {
	display: inline-block;
	color: #003E6E;
	font-size: 1.1em;
	font-style: italic;
	font-weight: 700;
	margin: 0;
}

p.info_msg {
	background-image: url(../../images/misc/icn_info.png);
	background-position: left center;
	padding: 2px 0 0 38px;
	background-repeat: no-repeat;
}

hr.billingAddressLine {
	border-top: 2px dashed #cecece;
}
/*Updated WPM Styles 07/06/21*/
.panel {
	border-radius: 4px;
	border: 1px solid #D1D1D1 !important;
	background-color: #fff !important;
	margin-bottom: 1.0rem;
}

h1 {
	margin-top: 1em;
	margin-bottom: 1.250em;
	font-size: 2em;
	color: #000000;
}

h2 {
	font-size: 3.6rem;
	line-height: 2.25;
	letter-spacing: 0;
	font-weight: 600;
}

h3.sub {
	padding: 0;
	font-weight: bold;
	margin-bottom: 1.5em;
	font-size: 1em;
}

.panel h3 {
	background-color: transparent;
}

h3 {
	line-height: 1.3;
	letter-spacing: 0;
}

.float-right {
	float: right;
}

.no-padd {
	padding: 0;
}

select, input[type="number"], input[type="password"], input[type="tel"], input[type="email"], textarea {
	color: #666666;
	border-radius: 4px;
	border: 0.1rem solid #D1D1D1;
	width: 100%;
}

select, input[type="text"] {
	align-items: flex-start;
	align-self: stretch;
	width: 100%;
}
label {
	margin-bottom: .5rem;
	margin-top: 0.5rem;
}

input[type="radio"] {
	vertical-align: middle;
	line-height: normal;
	cursor: pointer;
	z-index: 1;
	top: -2px;
	left: -2px;
	width: 22px;
	height: 22px;
	margin: 0 0.5em 8px 0;
	border-radius: 0;
}

input[type="checkbox"] {
	vertical-align: middle;
	line-height: normal;
	display: inline;
	cursor: pointer;
	z-index: 1;
	top: -2px;
	left: -2px;
	width: 22px;
	height: 22px;
	margin: 0 0.5em 8px 0;
	border-radius: 0;
}

#card-type label {
	background-repeat: no-repeat !important;
	cursor: pointer;
	padding: 4px 0 0 52px;
	height: 26px;
	text-align: left;
	width: 80%;
}

a:focus:not(.a11y-button) {
	outline: 3px solid transparent;
	color: #0b0c0c;
	background-color: #fd0;
	-webkit-box-shadow: 0 -2px #fd0, 0 2px #0b0c0c;
	box-shadow: 0 -2px #fd0, 0 2px #0b0c0c;
	text-decoration: none
}

.small {
	font-size: 14px !important;
}

/* button */
.a11y-button {
	display: flex;
	height: 48px;
	min-width: 150px;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	background: var(--button-primary-default-flywire-600, #1274C4);
	color: #fff;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
}
	.a11y-button.paypal-pay {
		background-image: url('../../images/misc/payment_type_logos/pay-with-paypal.png') !important;
		background-size: inherit;
		border: none;
		background-color: transparent;
		margin-bottom: 0px;
		background-repeat: no-repeat;
		background-position-x: center;
		background-position-y: center;
		border-radius: 4px;
		background-size: 100% 100%;
	}

@media (min-width: 40.0625em) {
	.a11y-button {
		margin-bottom: none
	}
}

@media (min-width: 40.0625em) {
	.a11y-button {
		width: auto;
		min-width: 100%
	}
}

.a11y-button:link, .a11y-button:visited, .a11y-button:active, .a11y-button:hover {
	color: #fff;
	text-decoration: none;
}

.a11y-button:hover {
	background-color: #0C4575;
}

.a11y-button::-moz-focus-inner {
	padding: 0;
	border: 0
}

.a11y-button:active {
	top: 2px
}

.a11y-button:focus {
	outline: 3px solid transparent;
	-webkit-box-shadow: inset 0 0 0 1px #fd0;
	box-shadow: inset 0 0 0 1px #fd0
}

.a11y-button:not(.paypal-pay):not(.a11y-button--secondary)::after {
	content: url("../../images/buttons/Arrow right icon.svg");
	display: block;
	position: relative;
	margin-left: 1rem;
	background: transparent;
	transition: transform 0.3s ease;
	padding-top: 5px;
}

.a11y-button:hover::after {
	transform: translateX(1em);
}
.a11y-button--disabled, .a11y-button[disabled="disabled"], .a11y-button[disabled] {
	opacity: 0.5
}

	.a11y-button--disabled:hover, .a11y-button[disabled="disabled"]:hover, .a11y-button[disabled]:hover {
		background-color: #007bff;
		cursor: default
	}

	.a11y-button--disabled:focus, .a11y-button[disabled="disabled"]:focus, .a11y-button[disabled]:focus {
		outline: none
	}

	.a11y-button--disabled:active, .a11y-button[disabled="disabled"]:active, .a11y-button[disabled]:active {
		top: 0;
		-webkit-box-shadow: 0 2px 0 #002d18;
		box-shadow: 0 2px 0 #002d18
	}

.a11y-button--secondary {
	display: flex;
	height: 48px;
	justify-content: center;
	align-items: center;
	border: 1px solid var(--border-border-zinc-200, #E4E4E7);
	border-radius: 4px;
	background-color: white;
	color: var(--button-primary-default-flywire-600, #1274C4);
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
}

	.a11y-button--secondary, .a11y-button--secondary:link, .a11y-button--secondary:visited, .a11y-button--secondary:active, .a11y-button--secondary:hover {
		color: var(--button-primary-default-flywire-600, #1274C4);
	}

		.a11y-button--secondary:hover {
			background-color: #EDEDED;
		}

			.a11y-button--secondary:hover[disabled] {
				background-color: #f3f2f1
			}

		.a11y-button--secondary::before {
			content: url("../../images/buttons/Arrow left icon.svg");
			display: block;
			position: relative;
			padding-right: 1rem;
			padding-top: 5px;
			background: transparent;
			transition: transform 0.3s ease;
		}
		.a11y-button--secondary::after {
			content: "";
		}
		.a11y-button--secondary:hover::before {
			transform: translateX(-1em);
		}

.cancel-link {
	display: flex;
	text-decoration: underline;
	height: 48px;
	min-width: 150px;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	background-color: transparent;
	color: var(--button-primary-default-flywire-600, #1274C4);
}

.a11y-button--warning {
background-color: #d4351c;
-webkit-box-shadow: 0 2px 0 #55150b;
box-shadow: 0 2px 0 #55150b
}

	.a11y-button--warning, .a11y-button--warning:link, .a11y-button--warning:visited, .a11y-button--warning:active, .a11y-button--warning:hover {
		color: #fff
	}

		.a11y-button--warning:hover {
			background-color: #aa2a16
		}

		.a11y-button--warning:hover[disabled] {
			background-color: #d4351c
		}

.a11y-button--start {
	font-weight: 600;
	font-size: 1.125rem;
	line-height: 1;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	min-height: auto;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}

.a11y-button__start-icon {
	margin-left: 5px;
	vertical-align: middle;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	-ms-flex-item-align: center;
	align-self: center
}

.btn-lg, .btn-group-lg > .btn {
	padding: 2rem 1rem;
	font-size: 1rem;
	line-height: 1.5;
}

button:hover, input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, .button:focus, button:focus, input[type="submit"]:focus, input[type="reset"]:focus, input[type="button"]:focus {
	color: #333;
	border-color: transparent;
	outline: 0;
}

.control-row.enabled, .control-row.enabled > legend .checkbox, .control-row.enabled > legend .radio, .control-row.enabled > legend:hover .checkbox, .control-row.enabled > legend:hover .radio {
	border-color: #0056A8;
}

input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="text"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="password"]:focus, textarea:focus, select:focus {
	border: 0.05em solid #0056A8;
	outline: 0;
}

.currency.payment-amount input {
	width: 100% !i;
	border-radius: 4px;
	text-indent: 20px;
}

a.back {
	cursor: pointer;
	font-size: 1.2em;
	margin-left: 0;
	padding-right: 0.2em;
}

	a.back:before, a.back::before {
		content: '';
		margin-left: 0em;
		padding-right: 0em;
	}

#divFlywireCheckout {
	float: left;
	position: relative;
	width: 96%;
	height: 670px;
	max-width: 940px !important;
	max-height: 670px;
	top: 0px;
	overflow: auto;
	border: none !important;
	scrollbar-width: none;
}

#flywireCheckout {
	width: 99%;
	height: 99%;
	max-width: 928px !important;
	max-height: 660px;
	margin: 0px 0px;
	border-radius: 4px;
	background: #FFFFFF;
}
/* Text Link */
/*a:link {
  color: #0069d9
}
a:visited {
  color: #0069d9
}
a:hover {
  color: #003078
}
a:active {
  color: #0b0c0c
}
a:focus {
  color: #0b0c0c
}*/
a--text-colour:link, a--text-colour:visited, a--text-colour:hover, a--text-colour:active, a--text-colour:focus {
	color: #0b0c0c
}

a--no-visited-state:link {
	color: #0069d9
}

a--no-visited-state:visited {
	color: #0069d9
}

a--no-visited-state:hover {
	color: #003078
}

a--no-visited-state:active {
	color: #0b0c0c
}

a--no-visited-state:focus {
	color: #0b0c0c
}

.bl_info {
	background: url("../../images/misc/bl2_info.gif") 0 100% no-repeat;
}

.br_info {
	background: url("../../images/misc/br2_info.gif") 100% 100% no-repeat
}

.tl_info {
	background: url("../../images/misc/tl2_info.gif") 0 0 no-repeat
}

.tr_info {
	background: url("../../images/misc/tr2_info.gif") 100% 0 no-repeat;
	padding: 5px
}

.t_info {
	background: url("../../images/misc/dot2_hover.gif") 0 0 repeat-x;
	width: 804px;
	background-color: #F1F9FC
}

.b_info {
	background: url("../../images/misc/dot2_hover.gif") 0 100% repeat-x
}

.l_info {
	background: url("../../images/misc/dot2_hover.gif") 0 0 repeat-y
}

.r_info {
	background: url("../../images/misc/dot2_hover.gif") 100% 0 repeat-y
}

#flywire-overider {
	display: none;
}
