body {
	margin: 0;
	padding: 50px 0 0 0;
	background: url(../img/tw-blue-background.jpg) no-repeat top left;
	background-size: cover;
	background-attachment: fixed;
	font-family: "SourceSans3", Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 140%;
	font-weight: normal;
	color: #222222;
	-webkit-text-size-adjust: 100%;
	}
	
a, button { outline: none; border: 0; }

.wrapper {
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	}
	
.content, .home .main .content {
	width: 100%;
	margin: 0 auto;
	padding: 20px 10px 70px;
	position: relative;
	box-sizing: border-box;
	}
	
.main .content { padding: 0 0 70px; }
.main.settings .content { padding: 10px 10px 80px; }
.details .main .content .row { margin-right: 0; margin-left: 0; }

/* Header bits */

.wrapper.header { background: rgba(0, 0, 0, 0.7); }

.home .wrapper.header, .login .wrapper.header { 
	position: fixed;
	top: 0;
	z-index: 10;
	}
	
.header .content { padding: 0; }
	
.home .header .content, .login .header .content { height: 50px; }
	
.logo {
	width: 260px;
	height: 65px;
	margin: 0;
	padding: 0;
	background: url(../img/taxiworld-payments-logo.png) no-repeat top left;
	background-size: 260px 65px;
	font-size: 0.01em;
	text-indent: -10000em;
	position: relative;
	top: -7px;
	left: -8px;
	display: none;
	}
	
.home .header .logo, .login .header .logo { display: block }

/* Login bits */

.login .main .content { padding: 10px 10px 70px; }

.form-login fieldset {
	width: 345px;
	height: 345px;
	padding: 100px 10px 0;
	background: transparent;
	margin: 34px auto;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	position: relative;
	border: 0;
	box-sizing: border-box;
	text-align: center;
	}
	
.form-login label {
	display: none
	}
	
.form-login .form-item {
	border: 0;
	padding: 3px 0;
	}
	
.form-login .text-input {
	padding: 16px 4% 9px;
	}
	
.login .actions {
	text-align: center;
	}
	
.login fieldset .actions {
	padding: 4px 0;
	}
	
.form-login .btn.btn-lg {
	font-size: 1.875em;
	padding: 14px 65px 10px;
	}
	
.login-more p { 
	font-size: 1.0em;
	line-height: 100%;
	margin: 1.0em 0;
	}
	
.login-more p a.link { 
	font-weight: 600;
	color: #222222;
	display: inline-block;
	text-decoration: none;
	border-bottom: 1px solid rgba(0, 0, 0, 0.5);
	transition: border-bottom-color 0.25s;
	-webkit-transition: border-bottom-color 0.25s;
	}
	
.login-more p a.link:hover { 
	color: #000000;
	border-bottom: 1px solid #000000;
	}
	
.login .actions .btn2 { padding: 9px 15px 8px; }

.form-login fieldset.reset {
	text-align: left;
}

@media only screen and (max-width: 360px){
    .form-login fieldset{width:auto;}
}

/* General styles */

h1, h2, h3, h4 {
	font-size: 1.5em;
	margin: 0.5em 0 0.5em;
	}
	
.btn {
	font-weight: bold;
	padding: 9px 16px;
	display: inline-block;
	font-size: 1.0em;
	font-family: 'SourceSans3', Helvetica, Arial, sans-serif;
	line-height: 100%;
	color: #ffffff;
	text-decoration: none;
	background-color: #222222;
	vertical-align: middle;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	transition: background-color 0.25s;
	-webkit-transition: background-color 0.25s;
	-webkit-box-shadow: 0px 0px 15px 0px rgba(255, 255, 255, 0.5);
	-moz-box-shadow: 0px 0px 15px 0px rgba(255, 255, 255, 0.5);
	box-shadow: 0px 0px 15px 0px rgba(255, 255, 255, 0.5);
	transition: box-shadow 0.5s;
	-webkit-transition: box-shadow 0.5s;
	cursor: pointer;
	box-sizing: border-box;
	box-shadow: none;
	-webkit-appearance: none;
	}

.btn:hover {
	background-color: #000000;color: #ffffff;
	-webkit-box-shadow: 0px 0px 25px 0px rgba(255, 255, 255, 0.8);
	-moz-box-shadow: 0px 0px 25px 0px rgba(255, 255, 255, 0.8);
	box-shadow: 0px 0px 25px 0px rgba(255, 255, 255, 0.8);
	cursor: pointer;
	}
	
.btn2 {
	font-weight: bold;
	padding: 16px 20px 14px;
	display: inline-block;
	font-size: 1.25em;
	line-height: 100%;
	color: #222222;
	text-align: center;
	text-decoration: none;
	background: rgba(255, 255, 255, 0.5);
	border: 0;
	vertical-align: middle;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px; 
	transition: background-color 0.25s, color 0.25s;
	-webkit-transition: background-color 0.25s, color 0.25s;
	cursor: pointer;
	box-sizing: border-box;
	}
	
.btn2 svg { position: relative; top: 2px; left: 2px; }
	
.btn2:hover {
	background-color: rgba(255, 255, 255, 0.8);
	color: #000000;
	}
	
.btn2:hover svg { left: 3px; }
	
.btn2.btn-sm {
	padding: 14px 16px 12px;
	display: inline-block;
	font-size: 1.25em;
	border-width: 2px;
	}
	
.actions .btn-inline {
	color: red;
	}
	
.actions :hover.btn-inline {
	color: darkred;
	}

.account .actions .btn-inline {
	font-weight: bold;
	padding: 0;
	display: inline-block;
	font-size: 1.0em;
	text-transform: uppercase;
	line-height: 100%;
	color: #007CBD;
	text-decoration: none;
	transition: color 0.25s;
	-webkit-transition: color 0.25s;
	}

.account .actions .btn-inline {
	color: #222222;
	margin: 20px auto;
	text-decoration: none;
	display: block;
	text-align: center;
}
	
.btn.btn-lg {
	padding: 14px 0 13px;
	width: 100%;
	display: inline-block;
	font-size: 1.75em;
	line-height: 120%;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
	}
	
.btn-right {
	position: absolute;
	top: 3px;
	right: 0;
	}
	
/*  Form styles  */
	
form, fieldset {
	padding: 0;
	margin: 0;
	border: 0;
	}
	
.col fieldset { border-bottom: 1px solid #e1deda; }

	
.text-input, .text-area {
	width: 100%;
	font-family: "SourceSans3", Helvetica, Arial, sans-serif;
	font-weight: normal;
	font-size: 1.125em;
	line-height: 120%;
	padding: 11px 2% 10px;
	margin: 0;
	color: #192033;
	display: inline-block;
	background-color: rgba(255, 255, 255, 0.9);
	border: 0;
	vertical-align: middle;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	float: right;
	box-sizing: border-box;
	}
	
.text-input::placeholder, .text-area::placeholder { 
	color: #888888;
	opacity: 1; 
}

.text-input.pswd { 
	font-size: 2.0em; 
	line-height: 100%;
	text-align: center;
	letter-spacing: 0.5em;
	padding: 0;
	}

.text-input.pswd[name="badgeno"] ,
.text-input.pswd[name="pin"] {
	font-size: 32px;
	height: 40px;
	line-height: 100%;
	text-align: center;
	letter-spacing: 0.5em;
	padding: 0;
	}

@font-face {
        font-family: 'password-mask';
        font-style: normal;
        font-weight: 400;
        src: url(/common/fonts/password.ttf);
}

.text-input.pswd[name="pin"]:not(:placeholder-shown) {
        font-family: 'password-mask';
}

.select-input {
	width: 73.5%;
	font-family: "SourceSans3", Helvetica, Arial, sans-serif;
	font-weight: normal;
	padding: 5px 1% 4px;
	margin: 0;
	float: right;
	}

.file-input {
	font-family: "SourceSans3", Helvetica, Arial, sans-serif;
	font-weight: normal;
	font-size: 1.0em;
	padding: 5px 0;
	}
	
.form-item {
	float: left;
	width: 100%;
	margin: 0;
	border-top: 1px solid rgba(35, 55, 103, 0.3);
	padding: 6px 0;
	box-sizing: border-box;
	}

.form-item.no-split { border-top: 0px !important; }
	
.form-item.no-split { border-top: 0px; }

.form-item label, .form-item p {
	font-weight: bold;
	width: 90%;
	font-size: 1.125em;
	line-height: 120%;
	float: left;
	padding: 0 1% 8px 0;
	margin: 10px 0 0;
	}
	
.form-item p { margin: 0.25em 0; }

.multi-input .text-input { margin-bottom: 4px }
.multi-input .text-input:last-of-type { margin-bottom: 0 }
	
.actions {
	padding: 35px 0 40px;
	clear: left;
	}
	
.details .panel .row .actions { padding: 35px 10px 40px; }
	
.details .panel .row .col .actions { padding: 25px 0 30px; }

.message.errors {
	background-color: #D22727;
	color: #fff;
	}
	
.message.errors p {
	color: #fff;
	}

.message.errors a {
	color: #000;
}
	
/*  Error states  */
	
.file_upload_div.error {
	background-color: rgba(246, 200, 203, 0.7);
}

.form-item.error {
	background-color: transparent;
	}
	
.form-login.form-item.error {
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	}
	
.form-item.error label {
	color: #de1c2a;
	padding-left: 1%;
	}
	
.form-item.error input.text-input, .form-item.error .text-area {
	background-color: #fedfe1;
	border: 2px solid #f93030;
	width: 100%;
	margin-right: 0;
	}
	
.form-item.error input.text-input::placeholder, .form-item.error .text-area::placeholder {
	color: #f93030;
	}

.errors ul {
	margin: 0 0 1.0em;
	}

.errors li, .errors p {
	color: #de1c2a;
	font-size: 1.125em;
	font-weight: bold;
	}	
		
.message {
	margin: 0 auto 6px;
	padding: 12px 15px;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	font-size: 1.125em;
	line-height: 130%;
	background-color: #41ade6;
	display: block;
	box-sizing: border-box;
	max-width: 740px;
	-webkit-border-radius: 18px;
	-moz-border-radius: 18px;
	border-radius: 18px;
	}
	
a.message {
	padding: 12px 40px 12px 15px;
	background: url(../img/msg-next.svg) no-repeat;
	background-size: 17px 30px;
	background-position: center right 10px;
	}

.message p { margin: 0 }
	
.message.errors a {
	color: #ffdede;
	text-decoration: none;
	border-bottom: 2px solid rgba(255, 255, 255, 0.4);
	display: inline-block;
	line-height: 90%;
	transition: border-bottom-color 0.25s, color 0.5s;
	-webkit-transition: border-bottom-color 0.25s, color 0.5s;
	}
	
.message.errors a:hover {
	color: #ffffff;
	border-bottom: 2px solid rgba(255, 255, 255, 1.0);
	}
	
.form-login .message.errors {
	position: relative;
	top: 60px;
	}

@media only screen and (min-width: 768px) {

body {
	padding: 60px 0 0 0;
	background-position: top center;
	}
	
body.account { 

	}

.wrapper.header {
	position: fixed;
	top: 0;
	z-index: 10;
	}

.content, .main .content {
	width: 748px;
	padding: 40px 10px;
	}
	
.header .content, .home .header .content, .login .header .content { height: 60px }

.logo { top: -3px; }

.header .logo { display: block }

.form-login .form-item label { display: none; }	
.form-login .text-input { width: 100% }

.form-login .message.errors {
	max-width: 340px; 
	margin: 0 auto;
	position: absolute;
	top: 27px;
	left: 50%;
	margin-left: -170px;
	z-index: 1;
	}

/* background colours */
body, body.account {
	background: url(../img/tw-blue-background.jpg) no-repeat top left;
	background-size: cover;
	background-attachment: fixed;
	color: #222222;
	}
	
body.account {
	background-color: transparent;
	}
	
/* header colours */
.wrapper.header {
	background: rgba(0, 0, 0, 0.7);
	}
	
.logo {
	width: 260px;
	height: 65px;
	margin: 0;
	background: url(../img/taxiworld-payments-logo.png) no-repeat top left;
	background-size: 260px 65px;
	top: -7px;
	left: -8px;
	}
	
.form-login fieldset {
	padding: 100px 10px 0;
	background: transparent;
	}
	
.account .panel {
	background: transparent;
	}
	
/* button colours */
.btn, .download .btn {
	background-color: #222222;
	color: #ffffff;
	text-transform: initial;
	-webkit-box-shadow: 0px 0px 15px 0px rgba(255, 255, 255, 0.5);
	-moz-box-shadow: 0px 0px 15px 0px rgba(255, 255, 255, 0.5);
	box-shadow: 0px 0px 15px 0px rgba(255, 255, 255, 0.5);
	transition: box-shadow 0.5s;
	-webkit-transition: box-shadow 0.5s;
	cursor: pointer;
	}
	
.btn.btn-lg {
	font-size: 1.75em;
	padding: 14px 0 13px;
	width: 100%;
	}
	
.btn:hover {
	background-color: #000000;
	color: #ffffff;
	-webkit-box-shadow: 0px 0px 25px 0px rgba(255, 255, 255, 0.8);
	-moz-box-shadow: 0px 0px 25px 0px rgba(255, 255, 255, 0.8);
	box-shadow: 0px 0px 25px 0px rgba(255, 255, 255, 0.8);
	}
	
.btn2 {
	border: 0;
	background-color: rgba(255, 255, 255, 0.5);
	color: #222222;
	font-size: 1.25em;
	text-transform: initial;
	padding: 16px 20px 14px;
	transition: background-color 0.25s, color 0.25s;
	-webkit-transition: background-color 0.25s, color 0.25s;
	}
	
.login .actions .btn2 { padding: 9px 15px 8px; }
	
.btn2 svg { position: relative; top: 2px; left: 2px; }
	
.btn2:hover {
	background-color: rgba(255, 255, 255, 0.8);
	color: #000000;
	}
	
.btn2:hover svg { left: 3px; }
	
.btn2.btn-sm {
	padding: 14px 16px 12px;
	font-size: 1.25em;
	}
	
.actions .btn-inline {
	color: red;
	}
	
.actions :hover.btn-inline {
	color: darkred;
	}
	
.login-more p { margin: 1.0em 0; }

/* general overrides */
.title {
	background: rgba(0, 0, 0, 0.6);
	}

.title h1 {
	color: white;
	}

.home h2 {
	margin-top: 0;
	}

.errors li, .errors p {
	color: #f93030;
	}
	
.form-item.error {
	background-color: transparent;
	}
	
.form-item.error input.text-input, .form-item.error .text-area {
	border: 2px solid #f93030;
	width: 100%;
	margin-right: 0;
	}
	
.form-item.error input.text-input::placeholder, .form-item.error .text-area::placeholder {
	color: #f93030;
	}
	
p.tip, .account-item p.tip, .stepper {
	background-color: rgba(0, 171, 171, 0.5);
	}

.form-account h3 {
	text-transform: initial;
	font-size: 1.125em;
	margin-bottom: 0;
	}

.create.account .panel .form-item.multi-input:last-of-type {
	border-bottom: 1px solid rgba(35, 55, 103, 0.3);
	padding-bottom: 6px;
	}
	
.create.account .panel .actions {
	padding: 12px 0 4px;
	}
	
.text-input, .text-area {
	font-family: "SourceSans3", Helvetica, Arial, sans-serif;
	font-weight: normal;
	background-color: rgba(255, 255, 255, 0.9);
	border: 0;
	padding: 11px 2% 10px;
	}
	
.text-input::placeholder, .text-area::placeholder {
	color: #888888;
	}


	
@media only screen and (min-width: 768px) {

/* desktop overrides */
body.account {

	}
	
.panel {
	padding: 0 40px 40px;
	}
	
.logo { top: -3px; }

}

@media only screen and (min-width: 992px) {

.content, .main .content {
	width: 960px;
	padding: 40px 10px;
	}
	
}
