html {
    /*overflow-y:scroll;*/
	/*height:100%;*/
}
body {
	text-align:center;
	background:#fff;
	height:100%;
}

#page {
    min-width:950px;
}

em.ext {
    background:url(images/ico_new-window.png) no-repeat 100% 0;
    padding:10px 14px 0 0;
    display:-moz-inline-box;
    display:inline-block;
    vertical-align:middle;
    text-indent:-9999in;
	overflow:hidden;
    cursor:pointer;
    height:0;
    width:0;
    
    padding:0; /* hide links */
}

.price .currency,
.total .currency {
    margin-right:-.3ex;
}

#page .hide {
	position:absolute;
	overflow:hidden;
	left:-9999in;
	top:-9999in;
	height:0;
	width:0;
}

#page .clear {
	visibility:hidden;
	background:none;
	overflow:hidden;
	display:block;
	font-size:0;
	float:none;
	clear:both;
	padding:0;
	border:0;
	margin:0;
	height:0;
	width:0;
}

/* HEADER ***************************************************************/
#header {
    position:relative;
    overflow:hidden;
}
.ie6 #header,
.ie7 #header {
    overflow:hidden;
}
#header .content {
    position:relative;
    text-align:left;
    overflow:hidden;
    margin:0 auto;
    width:950px;
}
#branding {
    margin:0;
}
#branding a {
    background:url(images/bg_branding.png) no-repeat;
    text-decoration:none;
    text-indent:-9999in;
    overflow:hidden;
    display:block;
    height:155px;
    width:537px;
}
#header h2 {
    position:absolute;
    right:55px;
    top:30px;
}
#header h2 a {
    background:url(images/btn_apply_online.png) no-repeat;
    text-indent:-9999in;
    display:block;
    height:78px;
    width:78px;
}
#header h2 a:hover {
    background-position:0 -78px;
}
#header #feed {
    position:absolute;
    right:55px;
    top:170px;
}
#header #feed a {
    background:url(images/ico_feed.png) no-repeat 100% 50%;
    padding:4px 30px 4px 0;
    float:left;
}

/* NAVIGATION ************************************************************/
#navigation {
    background:url(images/bg_navigation.png) no-repeat;
    margin:-12px auto 0;
    padding:12px 0 0;
    width:910px;
    clear:both;
}
#navigation ul {
    background:url(images/bg_navigation_list.png) repeat-x 0 100%;
    list-style:none;
    overflow:hidden;
    padding:0 13px;
    margin:0 auto;
    width:874px;
}
.ie6 #navigation ul {
    height:1%;
}
#navigation li {
    margin:0 0 0 0;
    font-weight:bold;
    font-size:1.2em;
    display:inline;
    float:left;
    padding:0;
}
.cufon-ready #navigation li {
    font-size:1.3em;
}
#navigation a {
    text-decoration:none;
    display:block;
    color:#4d4d4d;
    padding:17px 15px;
}
#navigation a:hover,
#navigation a:focus {
    background:#96d5e9 url(images/bg_navigation_hover.png) repeat-x 0 100%;
    color:#fff;
}
#navigation .current a {
    background:#7ccbe3 url(images/bg_navigation_current.png) repeat-x 0 100%;
    color:#fff;
}

/* sub navigation */
.sub-navigation {
    margin:0 23px 8px;
    overflow:hidden;
    list-style:none;
    padding:0;
}
.ie6 .sub-navigation {
    overflow:visible;
    height:1%;
}
.sub-navigation li {
    margin:0 25px 0 0;
    font-size:1.2em;
    display:inline;
    float:left;
}
.cufon-ready .sub-navigation li {
    font-size:1.3em;
}
.sub-navigation li a {
    text-decoration:none;
    font-weight:bold;
    padding:0 10px;
    color:#4d4d4d;
    display:block;
}
.sub-navigation li a:hover,
.sub-navigation li a:focus,
.sub-navigation li.current a {
    color:#00B2D9;
}

/* MAIN ******************************************************************/
#main {

}
#main form.content {
    background:url(images/bg_main.png) repeat-y;
    overflow:hidden;
    text-align:left;
    padding:20px 0;
    margin:0 auto;
    width:910px;
}

/* LAYOUTS ***************************************************************/
.default-tmpl #primary {
    padding:0 15px 0 33px;
    display:inline;
    width:535px;
    float:left;
}
.default-tmpl #secondary {
    background:url(images/bg_secondary.png) repeat-y;
    padding:0 33px 0 15px;
    position:relative;
    display:inline;
    width:254px;
    float:right;
}

#secondary .top {
    background:url(images/bg_gradient_white_hoz.png) repeat-x;
    position:absolute;
    overflow:hidden;
    height:15px;
    width:15px;
    left:0;
    top:0;
}
#secondary .btm {
    background:url(images/bg_gradient_white_hoz_btm.png) repeat-x;
    position:absolute;
    overflow:hidden;
    height:15px;
    width:15px;
    bottom:0;
    left:0;
}

#primary h2.feature-txt {
    font-size:3em;
}
#primary h2.feature-txt em {
    font-style:normal;
    color:#21409a;
}
#primary h2.feature-txt strong {
    color:#00b2d9;
}
.cufon-ready #primary h2.feature-txt strong {
    font-weight:normal;
}

#secondary h3.ico_speech {
    background:url(images/ico_speech_bubble.png) no-repeat 100% 0;
    margin:20px 60px 20px 0;
    line-height:1.2;
}
#secondary h3.ico_speech a {
    padding:0 60px 0 0;
    display:block;
}

/* FEATURE LIST **********************************************************/
.feature-list {
    list-style:none;
    overflow:hidden;
    padding:0;
}
.ie6 .feature-list {
    overflow:visible;
    height:1%;
}
.feature-list li {
    margin:0 0 20px -15px;
    font-size:1.1em;
    padding:0 15px;
    display:inline;
    width:252px;
    float:left;
}
.cufon-ready .feature-list li {
    font-weight:bold;
}
.feature-list .alpha {
    background-position:0 .6em;
    padding-right:0;
    font-size:1.4em;
    display:block;
    float:none;
    width:auto;
}
.feature-list h3 {
    font-weight:bold;
    font-size:1.15em;
    color:#77bad2;
    margin:0;
}
.feature-list em {
    font-size:1em;
    color:#00B2D9;
}
.apply-now {
    font-weight:bold;
    font-size:1.1em;
}

/* SUBSCRIBE *************************************************************/
#main .subscribe {
    background:url(images/bg_grey_box.png) no-repeat 0 0;
    margin:40px -10px 15px;
    padding:10px;
}
.ie6 #main .subscribe,
.ie7 #main .subscribe {
    zoom:1;
}
#main .subscribe .btm {
    background:url(images/bg_grey_box.png) no-repeat 0 100%;
    margin:0 -10px -10px;
    overflow:hidden;
    height:10px;
    clear:both;
}
#main .subscribe h3 {
    font-weight:normal;
    font-size:1.8em;
    color:#71cde5;
}
#main .subscribe h4 {
    margin-top:15px;
}
#main .subscribe .form-row {
    margin:0;
}
#main .subscribe .txt {
    background:url(images/bg_field.png) no-repeat;
    vertical-align:top;
    display:inline;
    padding:5px;
    border:none;
    clear:none;
    float:left;
    margin:0;
}
#main .subscribe .sub {
    background:url(images/btn_submit.png) no-repeat;
    text-indent:-9999in;
    vertical-align:top;
    overflow:hidden;
    display:inline;
    cursor:pointer;
    border:none;
    height:24px;
    width:65px;
    clear:none;
}
.ie6 #main .subscribe .sub,
.ie7 #main .subscribe .sub {
    padding:100px 0 0;
    font-size:0;
    float:left;
}

#secondary .subscribe {
    background-image:url(images/bg_grey_box_secondary.png);
    margin:0 -15px 0 0;
}
#secondary .subscribe .btm {
    background-image:url(images/bg_grey_box_secondary.png);
    position:static;
    width:269px;
}
#secondary .subscribe .txt {
    width:170px;
}
#secondary .subscribe .column {
    margin:0 0 20px;
}

/* NEWS LIST *************************************************************/
.news-list dt {
    font-weight:bold;
    display:inline;
    color:#002d45;
}
.news-list dd.published {
    display:inline;
    font-size:.9em;
    color:#b4b9bd;
}
.news-list .description {
    margin:0 0 15px;
    clear:both
}
.news-list .view-more {
    white-space:nowrap;
}

/* ARTICLE LIST **************************************************************/
.article-list {
    list-style:none;
    padding:0;
    margin:0;
}
.article-list .article-item {
    overflow:hidden;
    margin:0 0 10px;
}
.ie6 .article-list .article-item {
    overflow:visible;
    height:1%;
}
.article-list .image {
    margin:5px 10px 11px 0;
    float:left;
}
.article-list h3 {
    font-weight:bold;
    font-size:1em;
    display:inline;
    margin:0 0 3px;
    color:#002D45;
}
.article-list .published {
    font-size:0.9em;
    display:inline;
    margin:0 0 3px;
    color:#B4B9BD;
}

/* FOOTER ****************************************************************/
#footer {
    background:url(images/bg_footer.png) no-repeat 50% 0;
    position:relative;
    padding:20px 0 0;
}
#footer .content {
    background:url(images/bg_main.png) repeat-y 50% 0;
    text-align:left;
    overflow:hidden;
    padding:10px 0;
    margin:0 auto;
    width:910px;
}


#footer .partners {
    margin:0 0 0 30px;
    font-weight:bold;
    list-style:none;
    overflow:hidden;
    font-size:.9em;
    display:inline;
    float:left;
    padding:0;
}
#footer .partners li {
    margin:0 10px 0 0;
    background:none;
    display:inline;
    float:left;
    padding:0;
}
#footer .partners a {
    overflow:hidden;
    display:block;
}


#footer .social {
    margin:10px 24px 0 0;
    font-weight:bold;
    list-style:none;
    overflow:hidden;
    font-size:.9em;
    display:inline;
    float:right;
    padding:0;
}
#footer .social li {
    margin:0 6px 0 0;
    background:none;
    display:inline;
    float:left;
    padding:0;
}
#footer .social a {
    overflow:hidden;
    display:block;
    height:23px;
    width:23px;
}


#footer .copyright {
    background:url(images/bg_footer_btm.png) no-repeat 50% 0;
    padding:45px 30px;
    text-align:right;
    list-style:none;
    overflow:hidden;
    margin:0 auto;
    width:850px;
}
#footer .copyright li {
    margin:0 1em 0 0;
    background:none;
    display:inline;
    padding:0;
}
#footer .copyright li.alpha {
    position:relative;
    text-align:left;
    float:left;
}
#footer .copyright li.omega {
    margin:0;
}
#footer .copyright li.alpha a {
    background:url(images/logo_thedifferenceengine.png) no-repeat;
    text-indent:-9999in;
    position:relative;
    overflow:hidden;
    display:block;
    height:36px;
    width:180px;
    top:-18px;
}

.ie6 #footer ul {
    overflow:visible;
    height:1%;
}

/* FORM **********************************************************************/
.form-row {
    overflow:hidden;
    clear:both;
}
.ie6 .form-row {
    overflow:visible;
    height:1%;
}
.form-sub {
    margin-top:20px;
}
.form-next {
    position:relative;
    text-align:right;
    margin-top:20px;
    clear:both;
    right:-5px;
}
.form-row .txt,
.form-row .pwd,
.form-row .txtarea {
    background:#fff url(images/bg_form_field.png);
    border:1px solid #bbb;
    padding:2px 4px;
    width:15em;
}

.form-row .txtarea 
{
    height: 120px;
}

.form-row .ddl {
    background:#fff url(images/bg_form_field.png);
    border:1px solid #bbb;
    padding:2px;
}
.form-row .txt:focus,
.form-row .pwd:focus,
.form-row .ddl:focus,
.form-row .txtarea:focus {
    background-color:#EAF8FC;
    border-color:#A2CEE4;
}
.form-row .tiny,
input.tiny {
    text-align:center;
    width:2em;
}
.form-row .short {
    width:6em;
}
.form-row .long {
    width:25em;
}
.form-row .extra-long {
    width:35.5em;
}
.form-row .full {
    width:97.5%;
}
.form-row label {
    font-weight:bold;
    margin:0 0 2px;
    display:block;
}
.form-row label em {
    color:#c00;
}
.form-row input {
    display:block;
}
.form-row .note {
    margin:2px 0 0;
    font-size:.9em;
    display:block;
    color:#888;
}
.form-row .disabled,
.form-row .label {
    color:#999;
}
.form-row .inline {
    margin-right:5px;
    display:inline;
    float:left;
}
.fr_inline {
    margin-right:5px;
    display:inline;
    clear:none;
    float:left;
}
.form-row label .chk {
    padding:0 5px 0 0;
}
.form-row label .chk input {
    vertical-align:top;
    display:inline;
}
.ie6 .form-row label .chk input,
.ie7 .form-row label .chk input {
    vertical-align:middle;
}

/* inline feedback */
.error label {
    color:#c00;  
}
.error .txt,
.error .pwd,
.error .ddl,
.error .txtarea {
    background-color:#fdd;
    border-color:#eaa;
}

/* form feedback */
#main .feedback {
    /*padding:0 0 11px;*/
    margin-bottom:11px;
}
#primary .subscribe .feedback {
    margin-right:10px;
}
#main .feedback p,
#main .feedback ul {
    margin:0 0 8px;
}
#main .feedback p {
    font-weight:bold;
}
#main .feedback .content {
    border:1px solid #ccc;
    padding:8px 10px 2px;
    background:#ddd;
    min-height:0;
    height:auto;
    width:auto;
}
#main .feedback label {
    font-weight:bold;
    cursor:pointer;
}
#main .feedback .error {
    background:#fbb url(images/bg_gradient_red_hoz.png) repeat-x;
    border-color:#eaa;
    color:#c00;
}
#main .feedback .success {
    background:#cec url(images/bg_gradient_green_hoz.png) repeat-x;
    border-color:#bdb;
    color:#0a0;
}
#main .feedback .information {
    background:#def url(images/bg_gradient_blue_hoz.png) repeat-x;
    border-color:#cde;
    color:#05c;
}

/* TABLE ****************************************************************/
table {
    border:none;
    width:100%;
    margin:0;
}
thead th {
    background:#EBEBEB url(images/bg_panel_heading_gradient.png) repeat-x;
    border-top:1px solid #E2E2E2;
    border-left:1px solid #E2E2E2;
    vertical-align:middle;
    font-weight:normal;
    padding:6px 15px;
    text-align:left;
    font-size:1.2em;
    color:#196C29;
}
tbody td {
    border-top:1px solid #E2E2E2;
    border-left:1px solid #E2E2E2;
    vertical-align:middle;
    padding:6px 15px;
}
.tl {
    text-align:left;
}
.tc {
    text-align:center;
}
.tr {
    text-align:right;
}
.t0 {
    width:0;
}
.t1 {
    width:1%;
}
.t5 {
    width:5%;
}
.t10 {
    width:10%;
}
.t15 {
    width:15%;
}
.t20 {
    width:20%;
}
.t25 {
    width:25%;
}
.t33 {
    width:33.3%;
}
.t40 {
    width:40%;
}
.t50 {
    width:50%;
}
.t60 {
    width:60%;
}
.t75 {
    width:75%;
}
.t80 {
    width:80%;
}

table.schedule {
    border:none;
    width:100%;
}
table.schedule th,
table.schedule td {
    padding:6px 0;
    border:none;
}

/* KEY/VALUE PAIR LIST *******************************************************/
.kvp-list {
    overflow:hidden;
}
.ie6 .kvp-list {
    overflow:visible;
    height:1%;
}
.kvp-list dt {
    font-weight:bold;
    padding:3px 0;
    float:left;
    clear:left;
    width:110px;
}
.kvp-list dd {
    text-align:left;
    padding:3px 0;
    clear:right;
    float:left;
}

/* PERSON *****************************************************************/
.person td {
    border:1px solid #ccc;
    border-width:1px 0 0 0;
    vertical-align:middle;
    padding:10px 0;
}
.person .name {
    padding-right:15px;
    width:30%;
}
.person .image a {
    margin-right:15px;
    display:block;
}
.person img {
    border:1px solid #ccc;
    display:block;
}
.person-image {
    margin-left:15px;
    display:inline;
    float:right;
}
.person-image img {
    border:1px solid #ccc;
    display:block;
}

/* ARTICLE ****************************************************************/
.article .image {
    margin:0 10px 10px 0;
    display:inline;
    float:left;
}

/* COLUMNS ****************************************************************/
.columns-2 {
    overflow:hidden;
}
.columns-2 .column {
    display:inline;
    float:left;
    width:50%;
}

/* BUTTONS ***************************************************************/
.btn input::-moz-focus-inner {
    border:none;
    padding:0;
}
.btn {
    background:transparent url(images/btn_primary.png) no-repeat 100% 0;
    display:-moz-inline-box; /* only for firefox 2 */
    /*display:table-cell;*/ /* use this instead of -moz-inline-box if validating automatically is a requirement */
    vertical-align:middle;
    display:inline-block;
    position:relative;
    padding:0 6px 0 0;
    margin:0 5px 0 0;
    border:none;
}
.btn input,
.btn a {
    background:transparent url(images/btn_primary.png) no-repeat;
    padding:0 2px 1px 7px;
    text-decoration:none;
    display:inline-block;
    white-space:nowrap;
    text-align:center;
    line-height:23px;
    font-weight:bold;
    overflow:visible;
    position:static;
    cursor:pointer;
    font-size:1em;
    border:none;
    height:23px;
    width:auto;
    color:#fff;
    margin:0;
}
.btn input {
    height:24px;
}
.btn input:hover,
.btn input:focus,
.btn a:hover,
.btn a:focus {
    text-decoration:none;
}
/* PAGE NOTIFICATIONS ********************************************************/
.notification {
    margin:0 5px;
}
.notification p,
.notification ul {
    margin:0 0 7px;
}
.notification .content {
    padding:8px 15px 1px 30px;
    border:1px solid #ccc;
    border-width:1px 0;
    position:relative;
    font-weight:bold;
    background:#ddd;
    min-height:0;
    height:auto;
    width:auto;
}
.notification .icon {
    text-indent:-9999in;
    position:absolute;
    height:16px;
    width:16px;
    left:8px;
    top:9px;
}
.notification .error {
    background:#fbb url(images/bg_gradient_red_hoz.png) repeat-x;
    border-color:#eaa;
    color:#c00;
}
.notification .error .icon {
    background:url(images/ico_error.png) no-repeat;
}

.notification .success {
    background:#cec url(images/bg_gradient_green_hoz.png) repeat-x;
    border-color:#bdb;
    color:#0a0;
}
.notification .success .icon {
    background:url(images/ico_success.png) no-repeat;
}

.notification .information {
    background:#def url(images/bg_gradient_blue_hoz.png) repeat-x;
    color:#05c;
}
.notification .information .icon {
    background:url(images/ico_information.png) no-repeat;
    border-color:#cde;
}

/* VCARD ***************************************************************/
.vcard dt,
.vcard .tel,
.vcard .email {
    font-weight:bold;
}
.vcard .tel,
.vcard .email {
    margin-top:6px;
}
.vcard .geo {
    margin-top:15px;
}

/* GOOGLE MAPS *********************************************************/
.googlemap  {
    border:1px solid #ccc;
}
.googlemap img {
    display:block;
}
.googlemap #menumtctl img {
    display:inline;
}

.bloglink {
    position: absolute;
    margin-left: 845px;
    margin-top: -40px;
    font-size: 1.2em;
    
}

/* GAME *********************************************************/

.game {
    display: block;
    height: 72px;
    width: 269px;
    overflow:hidden;
    text-indent: -9999in;
    background: url(images/thegame.jpg) no-repeat;
}

/* VIMEO ********************************************************/

.vimeo-video object,
.vimeo-video embed {
	margin-bottom:10px;
}

.vimeo-list ul {
	list-style:none;
	width:269px;
	padding:0;
	margin:0;
}
.vimeo-list li {
	position:relative;
	margin:0 0 14px;
	overflow:hidden;
	padding:0;
}
.vimeo-list a {
	text-decoration:none;
	display:block;
}
.vimeo-list img {
	display:block;
	width:100%;
}
.vimeo-list li .overlay {
	background:#111;
	padding:3px 5px;
	display:block;
}