/* Site: UHSU Ticketing Portal 
 * Author: Martin Spain (martyspain@gmail.com)
------------------------------------------------*/

html,body {
	margin: 0;
	width: 100%;
	height: 100%;
}

body {
	font-family: Arial, Verdana, Helvetica, sans-serif;
	font-size: 62.5%;
	line-height: 1.8em;
	color: #505050;	
	margin: 0;
	padding: 0;
	background: #FFF;
}

/* Simple reset
-------------------------*/ 
a:link, a:visited {
	color:#25BACF;
	font-weight:bold;
	text-decoration:none;
}
 
a:visited {
	color:#25BACF;
	text-decoration: none;
}

a:hover {
	color:#008AA8;
}

table {
    clear: both;
	border-collapse:collapse;
}

h1 {
    clear: both;
	margin: 0 0 10px;
	padding: 0;
	color: #000;
    font-size: 2em;
}

h2 {
    clear: both;
	font-size: 1.6em;
	color: #000;
	margin-bottom: 1em;
	padding-bottom: 0; 
}
h2.upcoming {
    clear: left;
    float: left;
}

h3 {
	font-size:1.4em;
	color: #000;
	margin-bottom: 0;
	padding-bottom: 0;
}

h4 {
	font-size: 1.2em;
	color: #333;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #CCC;
}
p {
    font-size: 1.2em;
    margin-top: 0;
}

fieldset {
	border: 1px solid #CCC;
	padding: 10px;
	background: #FFF;
	margin: 10px 0;
}

legend {
	font-weight: bold;
	font-size: 1.4em;
	color: #333;
	padding: 0 4px;
}

label {
	font-weight: bold;
	color: #333;
}	

/* Hide elements 
-------------------------*/ 
.hide { 
	display: none!important; 
	visibility: hidden!important;
} 
.postit { 
	position: absolute;
	left: -10000px;
	margin: 0 !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

iframe.hide {
	visibility: hidden;
	width:0px;
	height:0px;
}

/* Wrappers 
-------------------------*/
#container {
    position: relative;
    min-height: 100%;
    width: auto;
}

.pageWrap {
    min-height: 100%;
    background: #FFF url(../images/bg_panel_top.png) 0 0 repeat-x;
}

/* Header 
-------------------------*/ 
.header {
	padding: 20px;
	height: 90px;
	margin: 0;
	padding: 0 10px;
	background: #25BACF url(../images/bg_header.png) 0 0 repeat-x;
}

.header .headerInner {
    position: relative;
    width: 960px;
    margin: 0 auto;
    padding: 0;
    text-align: left;
}

.header div.logo {
    float: left;
    margin-top: 12px;
}
.header div.logo a img {
    border: none;
}

.header div.search {
    float: right;
}

.header fieldset {
    margin: 31px 0 0;
    padding: 0;
    background: none;
    border: none;
}
.header .formField {
    padding: 5px;
}
.header .formField.inlineField input {
    float: left;
    clear: none;
}
.header .formField input[type="text"] {
    margin-right: 5px;
    padding: 5px;
    color: #999;
    border: 1px solid #CCC;
}
.header .formField input[type="submit"] {
    height: 22px;
    width: 40px;
    margin: 2px 0 0;
}

/* Footer
-------------------------*/
#footer {
	width: 100%;
    color: #999;
	font-size: 0.9em;
	background-color: #FFF;
}

#footer .inner {
    width: 960px;
    margin: 0 auto;
    padding: 10px 0;
    border-top: 1px solid #EFEFEF;
}
#footer .inner .footertext {
	float: left;
}
#footer .inner .paymentlogos {
	float: right;
	text-align: right;
}

/* Top navigation
-------------------------*/ 
.topnav {
    float: left;
    margin: 0 0 0 10px;
    padding: 0;
	font-size: 1.6em;
	color: #FFF;
	list-style: none;
}

.topnav li {
    float: left;
    height: 90px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.topnav li a {
    float: left;
    height: 25px;
    padding: 38px 20px 27px;
    color: #FFFFFF;
    font-weight: normal;
}
.topnav li a:hover {
    background: url(../images/bg_menu_hover.png) 0 0 repeat-x;
}

.topnav li.current em {
    float: left;
    height: 25px;
    padding: 38px 20px 27px;
    color: #FFFFFF;
    font-weight: normal;
    font-style: normal;
    background: url(../images/bg_menu_active.png) 0 0 repeat-x;
}

/* Content & panels
-------------------------*/ 
.content {
    position: relative;
    min-height: 100%;
	width: 960px;
	margin: 0 auto;
	padding: 0 0 2em;
}

.content.full {
	padding: 4em 0 0;
}

.content .panel {
    clear: both;
    margin: 0 0 20px;
    border: 1px solid #CCC;
}
.content .panel .panelInner {
    position: relative;
    margin: 0 1px;
    padding: 0 20px;
    background: url(../images/bg_panel_top.png) 0 0 repeat-x;
}
.content .panel h2,
.content .panel h3,
.content .panel h4 {
    margin-top: 0;
    padding-top: 20px;
}

/* Icons
-------------------------*/ 
.icon {
	padding: 0 3px;
}

a.linkBullet {
    padding-left: 22px;
    background: url("../images/icons/right.gif") center left no-repeat;
}

.warning {
	background: url("../images/icons/alert.gif") center left no-repeat;
	padding: 0 18px;
}

.close {
	background: url("../images/icons/close.gif") center left no-repeat;
	padding: 0 18px;
}	

.smallalert {
	color: #FF7131;
	font-weight: bold;
	font-size: 12px;
	background: #FFF url("../images/alert_orange_sm.jpg") center left no-repeat;
	padding: 10px 10px 10px 38px;
}

.smallwarning {
	color: #FF2B2B;
	font-weight: bold;
	font-size: 12px;
	background: #FFF url("../images/warn_sm.gif") center left no-repeat;
	padding: 10px 10px 10px 38px;
}

.smallok {
	color: #00A408;
	font-weight: bold;
	font-size: 12px;
	background: #FFF url("../images/ok_sm.jpg") center left no-repeat;
	padding: 10px 10px 10px 38px;
}

.warning {
	color: #ffc65b;
	font-weight: bold;
	background: url("../images/icons/alert.gif") center left no-repeat;
	padding: 0 18px;
}

/* Forms
-------------------------*/ 
form.validate {
    clear: both;
}

.formField {
    margin: 0 0 1px 0;
    padding: 5px 10px 7px;
    font-size: 1.2em;
}

.formField label {
    float: left;
    clear: left;
    width: 100%;
    margin: 0 0 2px 0;
}

.formField input,
.formField select,
.formField textarea {
    float: left;
    clear: left;
}
.formField select {
    min-width:200px
}

.formField.checkbox {
    padding: 7px 10px 5px;
}
.formField.checkbox input {
    margin: 1px 10px 0 0;
}
.formField.checkbox label {
    float: none;
    font-weight: normal;
}

.formField span.note {
    display: block;
    clear: left;
    font-size: 11px;
    color: #888;
}

.formField.formSubmit {
    margin: 0 0 10px;
    padding: 0;
}
fieldset .formField.formSubmit {
    padding: 5px 10px;
}
.formField.formSubmit.purchase {
    padding-left: 0;
    margin: 0 0 5px;
}
.formField.error {
    background: #ffdddd;
}
.formField.error input,
.formField.error select {
    border: 2px solid red;
}

.formField span.value {
    float: left;
}

.note {
    font-size: 1.1em;
    color: #666;
    margin: -10px 0 0;
}
p.note {
    margin: 0 0 10px;
}

.formErrors {
    font-size: 1em;
    color: red;
}
.formErrors ul li {
    font-size: 1.2em;
}

/* Login
-------------------------*/ 
.content .login {
    float: left;
    width: 48%;
    margin-bottom: 20px;
}
.content .login + .panel,
.content .panel.nusExtra {
    float: right;
    clear: none;
    width: 400px;
    margin-top: 18px;
}
.content .login p {
    margin-left: 8px;
}


/* Clearfix
-------------------------*/ 
.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

.clearfix {
    display: inline-block;
}

html[xmlns] .clearfix {
    display: block;
}

* html .clearfix {
    height: 1%;
}