* {
	margin: 0;
	padding: 0;
}

body {
	background: #fff url(../images/star_bg.png) repeat-x 0 -70px;
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.2em;
	height: 100%;
}

img,
object,
embed {
	border: 0;
	vertical-align: top;
}
img {
	-ms-interpolation-mode: bicubic;
}

h1,h2,h3,h4,h5,h6 {
	margin-bottom: .5em;
}

p,form,ul,ol,dl,blockquote,table,fieldset {
	margin-bottom: 1em;
}

ul,ol,blockquote {
	margin-left: 2em;
}

ul ul {
	margin-bottom: .25em;
}

ul.expList li.hasUL {
	cursor: pointer;
	background: url(../images/li-exp.png) no-repeat 8px 6px !important;
}


dl {
	margin-left: 2em;
}

dt {
	font-size: 120%;
	margin-bottom: 5px;
	font-weight: bold;
}

dd {
	margin-left: 30px;
	margin-bottom: 5px;
}

.float_r {
	float: right;
}

.float_l {
	float: left;
}


.clear {
	clear: both;
}
.break {
	clear: both;
	height: 1px;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

form p {
	clear: left;
}

label,
.label {
	float: left;
	width: 8em;
	margin-right: 1em;
	font-weight: bold;
}

input,
textarea {
	background: url(../images/input_bg.png) no-repeat 0 0;
}

#nav {
	position: absolute;
	top: 0;
	right: 10px;
	z-index: 100;
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
}

#nav li,
#nav li a {
	color: #ccc;
	list-style: none;
	float: left;
	font-size: 11pt;
}

#nav li {
}

#nav li a {
	padding: 20px 0 0 0;
	margin: 0 25px;
	text-decoration: none;
	font-weight: bold
}

#nav li a:hover,
.home #nav .home a,
.about #nav .about a,
.serv #nav .serv a,
.port #nav .port a,
.contact #nav .contact a {
	color: #fff;
	border-bottom: 1px #999 solid;
	background: url(../images/nav_highlight.png) no-repeat 50% 0;
}

#nav li a:hover {
	background: transparent;
}


#top {
	position: relative;
	height: 220px;
	background-repeat: no-repeat;
}

#logo {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 50;
}

#content {
	padding: 20px;
	font-size: 90%;
}

#content li {
/*	padding: 1px 1px 1px 25px;
	list-style: none;
	background: url(../images/li.jpg) no-repeat 10px 9px;
*/}

#content li li {
	font-style: italic;
	font-size: 90%;
	color: #555;
/*	background: url(../images/lili.jpg) no-repeat 10px 9px;
*/}

h1 {
	position: absolute;
	top: 150px;
	left: 210px;
	height: 55px;
	background-repeat: no-repeat;
	text-indent: -9999px;
}

.intro {
	font-size: 125%;
	color: #666;
}

.home .leftside h2 {
	font-size: 1.9em;
}

.home .leftside h2,
#content a {
	color: #a31014;
}

#content a:hover {
	color: #b83b39;
	background-color: #fffee3;
}

.larger {
	font-size: 115%;
}

.smaller {
	font-size: 85%;
}

.blackbox {
	position: absolute;
	left: 0;
	top: 0;
	width: 240px;
	color: #fff;
	padding-top: 10px;
	background: url(../images/blackbox_top.png) no-repeat 50% 0;
	z-index: 200;
	line-height: 1.1;
	visibility: hidden;
	opacity: 0;
	font-size: 95%
}

.blackbox div {
	background: url(../images/blackbox_bottom.png) no-repeat 50% 100%;
	text-align: center;
	padding: 10px 15px 35px 15px;
	font-family: Arial, Helvetica, sans-serif;
}

.blackbox p {
	color: #ccc;
	font-size: 85%;
	margin: 0;
	font-style: italic;
}

.blackbox a {
	display: none;
}


#veil {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	z-index: 500;
	visibility: hidden;
	background: #000 none no-repeat 50% 50%;
	opacity: 0;
}

#veil.loading {
	background-image: url(../images/loading.gif);
}

#veil.error {
	background-image: url(../images/error.png);
}

#veil h2 {
	color: #fff;
	height: 30px;
	line-height: 30px;
	font-size: 28px;
	padding-top: 5px;
	margin: 0;
	text-align: center;
	background: #111;
}

#veil p {
	height: 20px;
	line-height: 20px;
	font-size: 15px;
	font-style: italic;
	color: #ddd;
	padding-bottom: 5px;
	margin: 0;
	text-align: center;
	border-bottom: 1px #333 solid;
	background: #111;
}

#veil a {
	color: #fffee3;
	background-color: #333;
	padding: 0 4px;
}


#arrowL,
#arrowR,
#portExit {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 30%;
	height: 50px;
	line-height: 50px;
	background: #111 url(../images/arrow_big_l.png) no-repeat 10px 50%;
	cursor: pointer;
	z-index: 200;
	border-top: 1px #333 solid;
	color: #666;
	padding-left: 50px;
	font-size: 12pt;
}


#arrowR {
	text-align: right;
	padding-right: 50px;
	right: 0px;
	left: auto;
	background: #111 url(../images/arrow_big_r.png) no-repeat 95% 50%;
}

#arrowL:hover,
#arrowR:hover,
#portExit:hover {
	color: #fff;
}

#portExit {
	left: 30%;
	width: 40%;
	background: #111;
	text-align: center;
	padding: 0;
}

/* Homepage */
body.home {
	background-position: 0 0;
}

.home h1 {
	background-image: url(../images/home_h1.png);
	width: 410px;
	height: 105px;
	top: 100px;
	left: 210px;
}

.home #top {
	height: 290px;
	background-image: url(../images/home_top_bg.jpg);
}

.leftside {
	margin-right: 480px;
}

.home .leftside p {
	line-height: 1.4
}

#recent,
#extras,
#news {
	position: absolute;
	right: 50px;
	top: 310px;
	width: 360px;
	height: 240px;
	padding: 0 10px 0 60px;
	background: url(../images/sidetitle_recent.png) no-repeat 0 0;
}

#extras {
	top: 240px;
	right: 20px;
}

#recent h2,
#extras h2 {
	display: none;
}

#recent p {
	width: 350px;
}

#recent p a img {
	vertical-align: baseline;
}

#portViewer li {
	list-style: none;
	width: 20%;
	margin: 0 2% 10px 0;
	padding: 10px;
	float: left;
	border: 1px whitesmoke solid;
	text-align: center;
}

#portViewer img {
	margin-bottom: 10px;
}

#portViewer h2 {
	clear: both;
	color: #A31014;
	margin: 10px 0;
	background-color: #fafafa;
	padding: 10px;
}

.active #portViewer ul,
.active ul#portViewer {
	margin: 0;
}

.active #portViewer li h3,
.active #portViewer li p {
	display: none;
}

.active #portViewer li {
	list-style: none;
	float: left;
	margin: 10px;
	padding: 0;

	width: auto;
	border: none;
}

.active #portViewer img {
	vertical-align: top;
	margin: 0;
}

/* About */

.about #top {
	background-image: url(../images/about_top_bg.jpg);
}

.about h1 {
	width: 240px;
	background-image: url(../images/about_h1.png);
}

#team {
	position: absolute;
	top: 50px;
	left: 500px;
	width: 420px;
	padding: 0 20px 0 40px;
	background: transparent url(../images/about_team_bg.jpg) no-repeat 0 170px;
	height: 370px;
}

#team h2 {
	display: none;
}

#bio {
	position: absolute;
	top: 390px;
	height: 0;
	overflow: hidden;
	font-style: italic;
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
}

.active #teamPicker {
	position: absolute;
	top: 280px;
	width: 420px;
	height: 90px;
	background: url(../images/about_teamPicker_bg.png) no-repeat;
}

.active #teamViewer {
	position: relative;
	margin-left: 15px;
	height: 90px;
	overflow: hidden;
}

.active #teamViewer ul {
	position: absolute;
	margin: 0;
	top: 0;
}

.active #teamPicker li {
	list-style: none;
	float: left;
	width: 90px;
	height: 90px;
	margin: 0 2px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	cursor: pointer;
}

.active #teamPicker p,
.active #teamPicker h3 {
	display: none;
}

.active #teamPicker #arrowU,
.active #teamPicker #arrowD {
	position: absolute;
	top: 10px;
	right: 0px;
	width: 40px;
	height: 20px;
	background: transparent url(../images/arrow_small_u.png) no-repeat 50% 50%;
	cursor: pointer;
	z-index: 200;
	opacity: .6;
	filter: opacity(alpha=50);
}

.active #teamPicker #arrowD {
	top: auto;
	bottom: 10px;
	background-image: url(../images/arrow_small_d.png);
}

#flashItem {
	position: fixed;
	top: 80px;
	left: 25%;
	z-index: 1000;
}

.about .leftside {
	width: 470px;
}

.about .leftside ul {
	margin: 0;
}

.about .leftside ul li {
	color: #333;
	margin-bottom: 1em;
	list-style: none;
	padding-left: 60px;
	background-repeat: no-repeat;
}

.about .leftside ul li b {
	display: block;
	font-size: 105%;
	color: black;
}

li.creative {
	background-image: url(../images/about_icon_creative.png);
	background-position: 5px 0;
}

li.passion {
	background-image: url(../images/about_icon_passion.png);
}

li.service {
	background-image: url(../images/about_icon_service.png);
	background-position: 5px 0;
}

li.fun {
	background-image: url(../images/about_icon_fun.png);
	background-position: 10px 0;
}

/* Portfolio */

.port h1 {
	width: 320px;
	background-image: url(../images/port_h1.png);
}

.port #top {
	background-image: url(../images/port_top_bg.jpg);
}


.port .intro {
	margin-left: 180px;
	margin-top: 10px;
}

#portBrowser.active {
	position: relative;
	background: url(../images/portBrowser_bg.png) no-repeat 100% 0;
	width: 960px;
	height: 360px;
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	overflow: hidden;
}

#portBrowser.active #selector,
#portBrowser.active #selectorBG {
	position: absolute;
	top: 0;
	left: 0;
	width: 190px;
	padding-top: 20px;
	z-index: 150;
}

#portBrowser.active #selectorBG {
	background: url(../images/port_selector_active_bg.png) no-repeat 0 18px;
	height: 40px;
	z-index: 100;
}

#portBrowser.active h2 {
	color: #888;
	font-weight: normal;
	text-align: right;
	height: 35px;
	line-height: 35px;
	font-size: 120%;
	white-space: nowrap;
	margin: 0;
	padding-right: 25px;
	cursor: pointer;
}

#portBrowser.active h2:hover {
	color: #333;
}

#portBrowser.active h2.active {
	color: #990033;
	font-weight: bold;
	font-size: 140%;
	display: block;
}

#portBrowser #arrowL,
#portBrowser #arrowR {
	position: absolute;
	left: 180px;
	top: 20px;
	z-index: 200;
	float: none;
	height: 300px;
	width: 50px;
	opacity: .5;
}

#portBrowser #arrowR {
	left: auto;
	right: 0px;
}

#portBrowser.active #portViewer {
	position: absolute;
	width: 725px;
	height: 360px;
	top: 0px;
	right: 10px;
}

#portBrowser.active #portViewer ul {
	height: 360px;
}

#portBrowser.active #portViewer li {
	margin: 20px 10px 0px 10px;
}

/* Services */

.serv #top {
	background-image: url(../images/services_top_bg.jpg);
}

.serv h1 {
	width: 320px;
	background-image: url(../images/serv_h1.png);
}
.serv #content ul {
	margin: 0;
}
.serv #content ul li {
	list-style: none;
}
.serv #content ul li p {
}
.serv h2 {
	color: #a31014;
}


#extras {
	background-image: url(../images/sidetitle_extras.png);
	overflow: hidden;
}

#extras div {
	background: url(../images/extras_bg.jpg) no-repeat;
	overflow: hidden;
	height: 240px;
}

#extras ul {
	margin: 0;
}

#extras li {
	height: 240px;
	background: transparent no-repeat 0 0;
	text-indent: -9999px;
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size: 20pt;
	font-weight: bold;
}

#extras .exp {
	background-image: url(../images/extras_exp.png);
}

#extras .award {
	background-image: url(../images/extras_award.png);
}

#extras .inhouse {
	background-image: url(../images/extras_inhouse.png);
}

#extras .media {
	background-image: url(../images/extras_media.png);
}

#extras .acct {
	background-image: url(../images/extras_acct.png);
}

#extras .prod {
	background-image: url(../images/extras_prod.png);
}

#extras .copy {
	background-image: url(../images/extras_copy.png);
}

#extras .pers {
	background-image: url(../images/extras_pers.png);
}

/* Contact */

.contact #top {
	background-image: url(../images/contact_top_bg.jpg);
}


.contact h1 {
	width: 275px;
	background-image: url(../images/contact_h1.png);
}

.contact .intro {
}

.contact .leftside {
	float: left;
	width: 160px;
	padding: 10px;
	margin-right: 20px;
	background-color: whitesmoke;
}

.contact .leftside h2 {
	font-size: 90%;
	color: #999;
	margin-bottom: 0;
}

.contact .leftside p {
}

.contact form {
	font-size: 120%;
	float: left;
}

.options {
	float: left;
}

.options label {
	float: none;
	width: auto;
	font-weight: normal;
	display: block;
	text-align: left;
	color: #666;
}

.contact form input,
.contact form textarea {
	font-size: 100%;
	width: 15em;
	border: 1px #ddd solid;
	padding: 2px;
}

.contact form input:focus,
.contact form textarea:focus {
	color: #990033;
}

#content form {
	position: relative;
}

button {
	background: url(../images/button_bg.png) no-repeat;
	border: none;
	line-height: 30px;
	height: 30px;
	text-align: center;
	width: 140px;
	padding: 0;
	font-size: 105%;
	font-family: Arial, Helvetica, sans-serif;
	color: #666;
}

button:hover {
	background-position: 0 -30px;
	color: #990033;
	font-weight: bold;
}


p.submit {
	padding-left: 9em;
}

#formErrors {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	border: 2px #fff solid;
	padding: 10px;
	color: white;
	visibility: hidden;
}

#formErrorBtn {
	padding: 5px;
	border: 1px #fff solid;
	background: #333;
	cursor: pointer;
	display: inline;
}

#portImg {
	position: fixed;
	visibility: hidden;
	top: 0;
	left: 0;
	z-index: 1000;
}

/* News on homepage */

#recent {
	top: 460px;
}

#news {
	background-image: url(../images/news-bg.png);
}

#news h2 {
	font-size: 1.2em;
	color: #ae180a;
}

#news img {
	margin-right: 20px;
	float: right;
}