﻿
h2 {
	background: #f3f3f3;
	margin-left: -35px;
	padding: 5px 15px;
}

hr {
	height: 2px;
	margin-left: -35px;
	border: none;
	background: #f3f3f3;
}

/* Layout */


#ft_checkoutLeft {
	float: left;
	width: 765px;
	padding-left: 20px;
	padding-right: 25px;
}

#ft_checkoutRight {
	width: 300px;
	position: fixed;
	left: 50%;
	top: 88px;
	margin-left: 240px;
	background: #fff;
}

.ft_progress-container-small {
	margin: 35px 0 110px 0;
}

#ft_checkout_details {
	position: relative;
	padding-bottom: 10px;
}

#ft_checkout_details2 {
	padding-left: 0;
}


.fticon-trash {
	width: 16px;
	vertical-align: top;
}


[data-ft_help] {
	display: inline-block;
	width: 18px;
	height: 18px;
	line-height: 18px;
	font-size: 0.8em;
	font-weight: bold;
	background: #999;
	color: #fff;
	border-radius: 50%;
	text-align: center;
	text-decoration: none;
	cursor: help;
}

	[data-ft_help]:hover {
		color: #fff;
		text-decoration: none;
	}

.ft_help-input {
	display: block;
	position: absolute;
	top: 14px;
	right: 9px;
	width: 18px;
	height: 18px;
	line-height: 18px;
}

.ft_help-input-lock {
	background: #fff;
}

	.ft_help-input-lock span {
		width: 18px;
		height: 18px;
		line-height: 18px;
		filter: invert(67%) sepia(0%) saturate(0%) hue-rotate(171deg) brightness(92%) contrast(87%);
	}

#ft_help-content {
	position: absolute;
	background: #30c2f2;
	width: 250px;
	min-height: 50px;
	padding: 10px;
	border-radius: 6px;
	box-shadow: 0px 0px 20px #999;
	font-size: 0.8em;
	display: none;
}

	#ft_help-content::before {
		content: "";
		width: 0px;
		height: 0px;
		position: absolute;
		bottom: -19px;
		left: 45%;
		border: 0.8em solid transparent;
		border-top: 11px solid #30c2f2;
	}

@media (max-width:655px) {
	#ft_help-content::before {
		left: auto;
		right: 23px;
	}
}



.ft_checkoutBreak {
	width: 0;
	height: 0;
	display: inline-block;
}

.ft_gateway-loading {
	width: 430px;
	min-height: 92px;
	margin-top: 30px;
}

#ft_gateway-loading div {
	opacity: 0.2;
	text-align: center;
}

	#ft_gateway-loading div img {
		height: 35px;
	}

#ft_gateway-card {
	margin-left: 25%;
	display: none;
}

#ft_gateway-button {
	text-align: right;
}

.ft_buttonShort {
	padding-top: 7px;
	padding-bottom: 7px;
}

/* Error overide (ferve.css)*/
.ft_errorHeading {
	margin: 10px 0 0 -20px;
}

.ft_errorList {
	margin-left: -20px;
}

#FTApplePay-error, #FTGooglePay-error {
	font-weight: bold;
	font-size: 15px;
	background: #fa6767;
	color: #fff;
	padding: 10px;
}



/* Signup */
#ft_contactNumberType {
	max-width: 120px;
}

#ContactNumber {
	margin-top: 5px;
}

#Phone, #AccountViewModel_Phone {
	max-width: 175px;
}

.ft_stateOther {
	display: none;
}


/* List Groups */
.ft_checkoutListGroup {
	max-width: 470px;
}

	.ft_checkoutListGroup .list-group-disabled {
		cursor: not-allowed;
	}

	.ft_checkoutListGroup input[type=radio] {
		margin-right: 5px;
	}

	.ft_checkoutListGroup span[class^="fticon"] {
		max-width: 25px;
		max-height: 24px;
		color: #666;
	}

		.ft_checkoutListGroup span[class^="fticon"]:not(.fticon-payment-backpocket):not(.fticon-payment-cellmoni):not(.fticon-payment-applepay):not(.fticon-payment-googlepay) {
			filter: invert(42%) sepia(7%) saturate(14%) hue-rotate(354deg) brightness(88%) contrast(81%);
		}

	.ft_checkoutListGroup span.fticon-payment-cellmoni {
		max-width: 70px;
		max-height: none;
	}

	.ft_checkoutListGroup span.fticon-payment-applepay {
		max-width: 35px;
		max-height: none;
	}

	.ft_checkoutListGroup span.fticon-payment-googlepay {
		max-width: 40px;
		max-height: none;
	}

	.ft_checkoutListGroup small {
		margin-left: 22px;
		display: block;
	}

	.ft_checkoutListGroup a {
		text-decoration: none;
	}


/* Payment Method (List Group) */

#ft_paymentMethod #ft_paymentMethod-Credit {
	min-height: 85px;
}

#ft_paymentMethod .ft_acceptedCards {
	border-radius: 2px;
	opacity: 0.2;
	text-align: right;
	white-space: nowrap;
	transition: transform 0.3s;
}

	#ft_paymentMethod .ft_acceptedCards:hover {
		opacity: 1;
		background: #fff;
		transform: scale(2);
	}


#ft_paymentMethod-content div[id^='ft_paymentMethod-content-'] {
	display: none;
}

#ft_paymentMethod-content div.ft_paymentMethod-active {
	display: block;
}

/* Credit Card Form (List Group) */
#ft_paymentCard span[class^="fticon"] {
	opacity: 0.2;
	transition: transform 0.3s;
}

	#ft_paymentCard span[class^="fticon"]:hover {
		opacity: 1;
		background: #fff;
		transform: scale(2);
	}

#ft_paymentCard small {
	margin-top: -4px;
}



#ft_paymentCard-new {
	border-bottom-right-radius: 4px;
	border-bottom-left-radius: 4px;
}

.ft_paymentCard-newStoredCard [id^='ft_paymentCard-stored-ccv'], .ft_paymentCard-newStoredCard [id^='ft_paymentCard-new-card'] {
	display: none;
	border-top: none;
}

#ft_paymentCard-new-card input[type=text] {
	width: 100%;
	max-width: 100%;
}


.ft_paymentCard-newCard #ft_paymentCard-new-card {
	display: block;
}

.ft_paymentCard-new #ft_paymentCard-new, .ft_paymentCard-newCard #ft_paymentCard-new:hover {
	background: #fff;
}

#ft_paymentCard-acceptedCards {
	margin-top: -7px;
}

	#ft_paymentCard-acceptedCards img {
		margin-right: 10px;
	}

		#ft_paymentCard-acceptedCards img:last-of-type {
			margin-right: 0;
		}


#ft_paymentCard-stored-ccv small {
	margin: 0 0 5px 16px;
}

.ft_50w {
	display: inline-block;
	width: 45% !important;
	padding: 0 15px 0 15px;
}


#ft_gateway-container {
	min-height: 140px;
}

#ft_gateway-authorisation {
	margin-bottom: 10px;
}

.ft_paymentMethod-CreditSq .ft_paymentCard-newCard #ft_paymentCard-new, .ft_paymentMethod-CreditSt .ft_paymentCard-newCard #ft_paymentCard-new {
	display: none;
}

.ft_paymentMethod-CreditSq .ft_paymentCard-newStoredCard #ft_paymentCard-new {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.sq-card-wrapper .sq-card-iframe-container {
	border-radius: 4px;
}

.ft_paymentCard-newStoredCard .sq-card-wrapper .sq-card-iframe-container {
	border-top: none;
	margin-top: 1px;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.ft_paymentMethod-CreditSt {
	margin-left: -15px;
}

#ft_checkout-authorisation {
	margin-top: -22px;
}

#ft_checkout-authorisation, #ft_checkout-defaultCard {
	padding-left: 15px;
	margin-bottom: 0;
}




#ft_checkout-processing {
	font-size: 0.8em;
	font-style: italic;
	margin-top: 20px;
}


/* Credit Card */

.ft_creditCard {
	width: 8.6cm;
	height: 5.4cm;
	border-radius: 14px;
	background: url("/img/ferve/cards/visa_card.png");
	background-size: 100%;
	color: #fff;
	color: rgba(255,255,255,0.8);
	font: "Courier New", courier;
	margin: 7px 0 0 22px;
	position: relative;
}

.ft_creditCard_amex {
	background: url("/img/ferve/cards/amex_card.png") !important;
	background-size: 100% !important;
}

.ft_creditCard_diners {
	background: url("/img/ferve/cards/diners_card.png") !important;
	background-size: 100% !important;
}

.ft_creditCard_mastercard {
	background: url("/img/ferve/cards/mastercard_card.png") !important;
	background-size: 100% !important;
}

.ft_creditCard_visa {
	background: url("/img/ferve/cards/visa_card.png") !important;
	background-size: 100% !important;
}

.ft_ccOverlay {
	width: 100%;
	height: 100%;
	background: url("/img/ferve/cards/card_overlay.png");
	background-size: 100%;
}

.ft_ccName {
	position: absolute;
	bottom: 15px;
	left: 35px;
	color: #fff;
	color: rgba(255,255,255,0.7);
	font-size: 16px;
	font-weight: bold;
	text-shadow: -1px -1px 0px rgba(255,255,255,0.3), 1px 1px 0px rgba(0,0,0,0.5);
	opacity: 0.8;
}

.ft_ccNumber {
	position: absolute;
	bottom: 70px;
	left: 35px;
	font-size: 20px;
	font-weight: bold;
	text-shadow: -1px -1px 0px rgba(255,255,255,0.3), 1px 1px 0px rgba(0,0,0,0.8);
	opacity: 0.8;
}

.ft_ccExpiry {
	position: absolute;
	bottom: 42px;
	left: 137px;
	font-size: 16px;
	font-weight: bold;
	text-shadow: -1px -1px 0px rgba(255,255,255,0.3), 1px 1px 0px rgba(0,0,0,0.8);
	opacity: 0.8;
}

.ft_ccLogo {
	position: absolute;
	bottom: 15px;
	right: 15px;
	width: 50px;
	height: 35px;
	margin: 0;
	padding: 0;
	font-size: 32px;
	line-height: 32px;
	text-align: right;
	opacity: 0.8;
}

	.ft_ccLogo span {
		filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(339deg) brightness(102%) contrast(105%);
		opacity: 0.35;
	}



/* Booking Summary */
#ft_bookingSummary, #ft_bookingSummaryNotification, #ft_bookingSummaryNotification-mobile {
	background: #f3f3f3;
	border-radius: 6px;
	padding: 15px;
}

.ft_bookingSummaryTitle, .ft_bookingItemsTitle {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 5px;
}

.ft_bookingSummaryLine {
	display: block;
	clear: both;
}

	.ft_bookingSummaryLine a {
		text-decoration: none;
		color: #ccc;
		font-size: 12px;
		margin-right: 7px;
	}

		.ft_bookingSummaryLine a:hover {
			color: #000;
		}

.ft_bookingSummaryLineLeft {
	width: 185px;
	float: left;
	text-align: right;
}

.ft_bookingSummaryLineRight {
	float: right;
	width: 75px;
	text-align: right;
}

.ft_bookingSummaryTotal {
	font-size: 14px;
	font-weight: bold;
	margin-top: 30px;
}

	.ft_bookingSummaryTotal .ft_bookingSummaryLineRight {
		font-size: 18px;
	}

.ft_bookingDiscountTotal {
	display: inline-block;
	font-size: 11px;
	float: right;
	text-align: right;
	padding-top: 5px;
	margin-bottom: 10px;
}

.ft_bookingSummaryTax {
	margin-top: 60px;
	font-size: 11px;
	font-style: italic;
	text-align: right;
	display: block;
	clear: both;
}

.ft_bookingSummaryCurrency {
	padding-top: 5px;
	font-size: 11px;
	font-style: italic;
	text-align: right;
	display: block;
	clear: both;
}

.ft_bookingSummaryVoucher {
	display: inline-block;
	font-size: 11px;
	float: right;
	text-align: right;
	padding-top: 15px;
}

#ft_bookingSummaryNotification, #ft_bookingSummaryNotification-mobile {
	margin-top: 10px;
	max-height: 0;
	padding: 0;
	overflow: hidden;
	transition: max-height 0.5s ease-in;
}

	#ft_bookingSummaryNotification.ft_notificationVisible, #ft_bookingSummaryNotification-mobile.ft_notificationVisible {
		margin-top: 10px;
		display: block;
		max-height: 100px;
		overflow: hidden;
		transition: max-height 0.5s ease-in;
	}

.ft_bookingSummaryNotification-content {
	padding: 15px;
}


/* Booking Items */
#ft_bookingItems {
	padding: 15px;
}

	#ft_bookingItems #ft_ferveCart, #ft_bookingItems #ft_ferveCartView, #ft_bookingItems #ft_fcContents, #ft_bookingItems #ft_fcFooter {
		width: 285px;
	}

	#ft_bookingItems .ft_fcItemTitle, #ft_bookingItems .ft_fcItemDetails, #ft_bookingItems .ft_fcItemType {
		width: 200px;
	}


	#ft_bookingItems #ft_fcContents {
		max-height: 300px;
	}

	#ft_bookingItems .ft_fcItemDetails, #ft_bookingItems .ft_fcItemType, #ft_bookingItems .ft_fcItemPrice, #ft_bookingItems .ft_fcItemQtyText, #ft_bookingItems .ft_fcItemTotal {
		display: none;
	}


	#ft_bookingItems .ft_fcItem {
		min-height: 49px;
		min-height: inherit;
		line-height: 18px;
		background: #fff;
	}

	#ft_bookingItems .ft_fcItemThumbnail {
		width: 36px;
		height: 36px;
		margin-left: 0 !important;
	}

		#ft_bookingItems .ft_fcItemThumbnail img {
			width: 30px;
			height: 30px;
		}

	#ft_bookingItems .ft_fcItemTitle {
		font-size: 12px;
	}

	#ft_bookingItems .ft_fcItemSummary {
		display: block;
		width: 230px;
		font-size: 11px;
	}

#ft_bookingCart {
	display: inline-block;
	font-size: 11px;
	float: right;
	text-align: right;
}







/* Page Scaling */
@media (max-width:1240px) {
	#ft_checkoutLeft, #ft_checkoutIntroduction {
		width: calc(100% - 320px);
		padding-right: 0;
	}

	#ft_checkoutRight {
		left: calc((100% - 370px));
		margin-left: 0 !important;
	}
}

@media (max-width:900px) {
	h1 {
		font-size: 30px;
	}

	#ft_checkoutRight {
		left: calc((100% - 360px));
		margin-left: 0 !important;
	}

	.ft_checkoutBreak {
		display: block;
	}

	#ccStored2 {
		margin-top: 15px;
	}

	#ft_CardSources label[for=ccStored2] {
		margin-top: 9px;
	}
}

@media (max-width:735px) {
	#ft_checkoutLeft, #ft_checkoutIntroduction {
		width: calc(100% - 310px);
	}

	#ft_checkoutRight {
		left: calc((100% - 310px));
		margin-left: 0 !important;
	}
}

@media (max-width:655px) {

	h1 {
		font-size: 31px;
	}

	h2 {
		margin-right: -15px; /* too wide -40px;*/
	}

	#ft_voucher {
		margin-right: 0;
	}

	.fticon-lock {
		width: 22px;
		vertical-align: top;
	}

	#ft_checkoutLeft, #ft_checkoutIntroduction {
		width: calc(100% - 20px);
	}

	#ft_checkoutRight {
		position: relative;
		left: 0;
		top: 0;
		clear: both;
		width: 100%;
		padding: 10px;
	}

	.ft_progress-container-small, .ft_progress-container-small ul.ft_progress-bar {
		width: 100%;
		max-width: 95%;
	}


	.ft_bookingSummaryLineLeft {
		width: 140px;
		margin-left: 0;
	}

	.ft_bookingSummaryLineRight {
		float: left;
	}

	.ft_bookingSummaryVoucher {
		display: block;
		float: none;
		margin-left: 110px;
		text-align: left;
		clear: both;
	}

	.ft_bookingSummaryLine {
		font-size: 13px;
	}

	#ft_bookingItems {
		padding-left: 0;
	}

		#ft_bookingItems .ft_fcItemThumbnail {
			display: inline-block;
		}

		#ft_bookingItems .ft_fcItemTitle, #ft_bookingItems .ft_fcItemDetails, #ft_bookingItems .ft_fcItemType {
			width: 200px !important;
		}

	#ft_checkoutEditButton {
		position: relative;
		right: 0;
		top: -70px;
		float: right;
	}

	#ft_checkoutDoneButton {
		margin-bottom: 15px;
	}

	.ft_checkoutApplyButton {
		margin-top: 5px;
	}

	/* Bootstrap */
	.nav, .tab-content {
		margin-left: -20px;
	}

		.nav > li > a {
			padding: 10px 9px;
		}
	/* Bootstrap */



	.ft_creditCard {
		width: 250px;
		height: 157px;
		margin-left: 0;
	}

	.ft_ccName {
		bottom: 5px;
		left: 30px;
		font-size: 14px;
	}

	.ft_ccNumber {
		bottom: 50px;
		left: 30px;
		font-size: 18px;
	}

	.ft_ccExpiry {
		bottom: 30px;
		left: 110px;
		font-size: 14px;
	}

	.ft_paddedLargeLeft {
		padding-left: 0 !important;
	}
}


/* OTP */
#ft_paymentMethod-otp a {
	font-size: 11px;
}

#ft_otpNotification {
	width: 54.4%;
	background: #e8f0fe;
	border-radius: 6px;
	margin-bottom: 10px;
	padding: 12px;
}

	#ft_otpNotification.ft_otpWarning {
		background: #eed2d2;
	}
