/* do the reset, see also normalize additions 1211 */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, footer, header, 
hgroup, menu, nav, section, menu,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}                  

blockquote, q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { 
content:''; content:none; 
}
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
ins { background-color:#ff9; color:#000; text-decoration:none; }
mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { 
border-bottom:1px dotted #000; cursor:help; 
}

hr { 
	display:block; 
	height:1px; 
	border:0; 
	border-top:1px solid #ccc; 
	margin:1em 0; 
	padding:0; 
}

ul, ol {
    margin-left: 0;
    padding: 0 0 0 40px;
}

dd {
    margin: 0 0 0 40px;
}

nav ul, nav ol {
    list-style: none;
    list-style-image: none;
}

/* html 5 specific */
article, aside, figure, footer, header, 
hgroup, nav, section {
   display: block;
}

/* normalize reset specific thinking */
audio, canvas, video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

audio:not([controls]) {
    display: none;
}

[hidden] {
    display: none;
}

body, button, input, select, textarea {
    font-family: sans-serif;
}

a:focus {
    outline: thin dotted;
}

a:hover, a:active {
    outline: 0;
}

b, strong {
    font-weight: bold;
}

blockquote {
    margin: 1em 40px;
}

dfn {
    font-style: italic;
}

figure {
    margin: 0;
}

pre, code, kbd, samp {
    font-family: monospace, serif;
    _font-family: 'courier new', monospace;
    font-size: 1em;
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

q {
    quotes: none;
}

small {
    font-size: 75%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

svg:not(:root) {
    overflow: hidden;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* #444 is more legible than #000 */
body, select, input, textarea { color:#444; background-color:#fff; }

/* optimize headers for display */
h1, h2, h3, h4, h5, h6 { font-weight:bold; text-rendering: optimizeLegibility; }
@font-face { font-family: Tahoma, Arial, sans-serif; }

html { 
	font-size: 100%; 
	overflow-y: scroll; 
	-webkit-tap-highlight-color: rgba(0,0,0,0); 
	-webkit-text-size-adjust: 100%; 
	-ms-text-size-adjust: 100%;
	width:100%; 
	height:100%; 
	padding:0; 
	margin:0;
}

body {
	margin:0; 
	font-size:1.0em;
	line-height:1.2em; 
	text-align:left;
	font-family: Tahoma, Arial, sans-serif;
	}

/* some re-useable styles from base4 */
.noBorder {
	border:0px;
	outline:none;
	vertical-align:text-bottom;
	}

img {
    border: 0;
    -ms-interpolation-mode: bicubic;
}

.noBullet {
	list-style:none;
}

.alert {
	margin:5px 0 5px 2px;
	padding:0 0 0 20px;
	color:#CC3300;
	background-image: url(../images/icons/alert.gif);
	background-repeat: no-repeat;
}

.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix { display: inline-block; }
* html .clearfix { height: 1%; } /* Hides from IE-mac \*/
.clearfix { display: block; }

/* placeholder */
.placeholder { color: #666; }
.placeholderFocus { color: #000; }

/* layout */
#container {
text-align:center;
max-width:632px;
direction:ltr;
margin-top: 0px;
margin-right: auto;
margin-bottom: 0px;
margin-left: auto;
}

/* header */
body > #container > header {
width:100%;
clear:both;
height:142px;
font-size:1.2em;
background-color:#fff;
}

body > #container > header > #tagline {
float:left;
color:#e4b115;
font-size:1.0em;
line-height:1.4em;
font-weight:bold;
padding-top:52px;
width:320px;
}

body > #container > header > #logo {
width:116px;
height:142px;
text-align:left;
float:left;
}

/* nav elements */	
body > #container > header > nav {
width:515px;
height:24px;
background-color:#d5d0e7;
float:left;
display:block;
margin-top:4px;
}

body > #container > header > nav ul {
display:block;
float:left;
clear:left;
list-style:none;
text-align:left;
font-size:0.6em;
margin-left:-40px;
}

body > #container > header > nav li {
float:left;
display:block;
text-align:left;
border-right:1px #fff solid;
padding-top:2px;
padding-right:2px;
padding-bottom:0px;
padding-left:2px;
}

body > #container > header > nav a {
color:#48245f;
width:100%;
padding-right:2px;
padding-left:2px;
text-decoration:none;
}
	
body > #container > header > nav a:hover {
color:#fff;
background-color:#48245f;
text-decoration:none;
}

body > #container > header > nav a.sel { 
color:#e4b115; 
text-decoration:none;
background-color:#48245f;
}

/*
body > #container > header > nav li:first-child {
}
*/
	
body > #container > header > nav li:last-child {
border: none; 
}

body > #container > header > #search {
width:50px;
height:24px;
background-color:#d5d0e7;
float:right;
}

body > #container > header > #socialMedia {
width:138px;
height:20px;
float:right;
text-align:right;
margin-bottom:6px;
margin-top:42px;
margin-right:0px;
display:block;
}
	
body > #container > header > #vCard {
display:block;
width:160px;
height:44px;
float:right;
clear:right;
margin-right:0px;
text-align:right;
font-size:0.65em;
}

body > #container > header > #vCard span.adr .tel{
	background-image:url(../images/icons/telIcon.png);
}

body > #container > header > #vCard span.adr .email{
	background-image: url(../images/icons/emailIcon.png);
}

body > #container > header > #vCard span.adr .tel, body > #container > header > #vCard span.adr .email {
	font-size:1.0em;
	line-height:1.4em;
	vertical-align:text-bottom;
	background-position:right;
	background-repeat: no-repeat;
	background-position:right top;
	margin-bottom:4px;
	margin-left:2px;
	padding-bottom:4px;
	padding-right:24px;
}

body > #container > header > #vCard a {
color:#444;
text-decoration:none;
}

body > #container > header > #vCard a:hover {
color:#fff;
background-color:#444;
padding:2px;
}
		
/* image animation section */
body > #container > #flash, body > #container > #coffeeFlash {
display:block;
float:left;
clear:left;
width:632px;
height:220px;
margin-top:-68px;
background-color:#fff;
background-image:url(../images/icons/ajax-loader.gif);
background-repeat:no-repeat;
background-position:center center;
position:relative;
z-index:9000;
text-align:right;
}

body > #container > #coffee {
display:block;
float:right;
clear:right;
width:64px;
height:20px;
padding-top:48px;
text-align:right;
position:relative;
z-index:9999;
}

/* secondary navigation */
body > #container > #secondaryMenu {
width:100%;
height:42px;
float:left;
clear:left;
font-size:0.75em;
line-height:1.3em;
border-top:1px solid #fff;
border-bottom:1px solid #fff;
}

body > #container > #secondaryMenu .secondaryMenuBlockLast {
width:158px;
height:42px;
float:left;
clear:right;
border-right:0px solid #fff;
vertical-align:text-bottom;
}

body > #container > #secondaryMenu .secondaryMenuBlock {
border-right:1px solid #fff;
}

body > #container > #secondaryMenu .secondaryMenuBlockLast {
border-right:0px solid #fff;
}

body > #container > #secondaryMenu .secondaryMenuBlock, body > #container > #secondaryMenu .secondaryMenuBlockLast {
width:151px;
padding-left:3px;
padding-right:3px;
padding-top:4px;
height:38px;
float:left;
clear:right;
vertical-align:text-bottom;
}

body > #container > #secondaryMenu .secondaryMenuBlock a, body > #container > #secondaryMenu .secondaryMenuBlockLast a {
color:#fff;
text-decoration:none;
}

body > #container > #secondaryMenu .secondaryMenuBlock a:hover, body > #container > #secondaryMenu .secondaryMenuBlockLast a:hover {
color:#444;
background-color:#fff;
padding:2px;
text-decoration:none;
}	
body > #container > #secondaryMenu .secondaryMenuBlock a.sel, body > #container > #secondaryMenu .secondaryMenuBlockLast a:sel { 
color:#ccc; 
text-decoration:none;
}

/* side bar navigation */
body > #container > section > #sideBarMenu {
width:126px;
height:262px;
float:right;
clear:right;
font-size:0.7em;
line-height:1.3em;
border-left:1px solid #fff;
color:#fff;
text-align:left;
}

body > #container >  section > #sideBarMenu .sideBarMenuBlock, body > #container >  section > #sideBarMenu .sideBarMenuBlockLast {
width:120px;
padding-left:4px;
padding-right:2px;
padding-top:4px;
padding-bottom:16px;
border-bottom:1px solid #fff;
border-bottom:1px solid #fff;
height:auto;
}

body > #container >  section > #sideBarMenu .sideBarMenuBlockLast {
padding-bottom:16px;
border-bottom:2px solid #ca282a;
height:auto;
}

body > #container >  section > #sideBarMenu .sideBarMenuBlock a, body > #container >  section > #sideBarMenu .sideBarMenuBlockLast a {
color:#fff;
text-decoration:underline;
}
	
body > #container >  section > #sideBarMenu .sideBarMenuBlock a:hover, body > #container >  section > #sideBarMenu .sideBarMenuBlockLast a:hover {
color:#444;
background:#fff;
padding:2px;
text-decoration:none;
}

body > #container >  section > #sideBarMenu .sideBarMenuBlock a.sel, body > #container >  section > #sideBarMenu .sideBarMenuBlockLast a:sel { 
color:#ccc; 
text-decoration:underline;
}

/* section styling */
body > #container > section {
width:100%;
min-height:410px;
height:auto;
background-color:#eae6fa;
float:left;
clear:left;
padding-bottom:16px;
}

body > #container > section h1 {
color:#482665;
width:500px;
text-align:left;
font-size:1.4em;
text-transform:uppercase;
margin-top:8px;
padding-left:8px;
margin-bottom:8px;
}

body > #container > section h1 a {
text-decoration: none;
padding-top:2px;
padding-right:2px;
padding-bottom:2px;
padding-left:2px;
text-shadow:#ccc;
}

body > #container > section h1 a:hover {
background-color:#0481b5;
background-image:none;
background-repeat:repeat;
background-attachment: scroll;
background-position: 0% 0%;
color:#fff;
text-shadow:#000;
}	

body > #container > section span.title {
	color:#71469c;
	font-size:1.1em;
	font-weight:bold;
}

body > #container > section > p.col, body > #container > section > ul.col {
width:220px;
margin-left:6px;
}

body > #container > section > p,  body > #container > section > ul {
width:448px;
float:left;
text-align:left;
font-size:0.75em;
font-weight:normal;
line-height:1.3em;
padding:8px;
}

body > #container > section ul {
padding-left:32px;
}

body > #container > section a:hover {
color: #fff;
background-color:#666;	
}

body > #container > section a {
color:#000;
text-decoration:underline;
}

/* client logos */
body > #container > #clientLogos {
width:100%;
height:80px;
float:left;
clear:left;
background-color:#fff;
overflow:hidden;
}

body > #container > #clientLogos ul {
display:block;
list-style:none;
}

body > #container > #clientLogos li.clientLogoSlides {
width:auto;
padding-left:12px;
padding-right:12px;
height:60px;
margin-top:24px;
float:left;
}

/* footer */
body > #container > footer {
width:100%;
height:180px;
padding-top:8px;
float:left;
clear:both;
background-color:#eae6fa;
display:block;
text-align:left;
font-size:0.75em;
line-height:1.2em;
font-weight:normal;
z-index:100;
border-bottom:8px solid #482665;
}

body > #container > footer a:hover {
color: #fff;
background-color:#666;	
}

body > #container > footer a {
color:#5E6163;
text-decoration:none;
}

body > #container > footer p.col {
width:120px;
float:left;
padding-left:6px;
}

body > #container > footer ul.col {
width:120px;
float:left;
clear:right;
list-style:none;
font-size:0.8em;
}

body > #container > #legals p.left {
width:244px;
float:left;
text-align:left;
}
	
body > #container > #legals ul.right {
width:244px;
float:right;
text-align:right;
}
	
body > #container > #legals p, body > #container > #legals ul {
font-size:0.7em;
font-weight:normal;
padding-top:4px;
display:block;
}
	
body > #container > #legals ul {
list-style:none;
}

body > #container > #legals li {
float:right;
display:block;
border-left:1px #666 solid;
padding-top:0px;
padding-right:4px;
padding-bottom:0px;
padding-left:4px;
}

body > #container > #legals a {
color:#444;
width:100%;
padding-right:4px;
padding-left:4px;
text-decoration:none;
-webkit-border-radius:4px;
-moz-border-radius:4px;
border-radius:4px;
}
	
body > #container > #legals a:hover {
color: #fff;
background-color:#666;	
}
	
body > #container > #legals a.sel { 
color: #ac2b31; 
/*background-color: #; */
}
	
body > #container > #legals li:last-child {
border: none; 
}

/* form styling */
form {
margin:0;
}
	
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}

legend {
border: 0;
*margin-left: -7px;
}

input, select { vertical-align:middle; }
	
/* buttons and inputs */
button, input {
line-height: normal;
}

button, input[type="button"], input[type="reset"], input[type="submit"] {
cursor: pointer;
-webkit-appearance: button; 
*overflow: visible; 
}

input[type="checkbox"], input[type="radio"] {
box-sizing: border-box;
padding: 0;
}

input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; *vertical-align: baseline; }
	
input[type="search"] {
-webkit-appearance: textfield;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
}

input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
border: 0;
padding: 0;
}

textarea {
overflow: auto;
vertical-align: top;
}

.ie6 input { vertical-align: text-bottom; }
label, input[type=button], input[type=submit], button { cursor: pointer; }
button {  width: auto; overflow: visible; }
	
button, input, select, textarea {
font-size:100%;
margin:0;
vertical-align:baseline;
*vertical-align:middle;
}
	
input, select, checkbox, area, textarea {
border:1px;
border-style:solid;
}

/* defining some specific input sizes */
input[type=text], input[type=tel], input[type=email], input[type=url] { 
width: 14em; 
}

input[type=number] { width: 3em; }
input[type=color] { width: 4em; }
/*input[type=submit] { margin: 2em 0 0 13.5em; height: 2em; }*/

/* dynamic CSS3 validation styles */
input[type=text]:focus:valid, input[type=email]:focus:valid, input[type=number]:focus:in-range { 
outline: 2px #0f0 solid; 
}

input[type=text]:focus:invalid,	input[type=email]:focus:invalid, input[type=number]:focus:out-of-range { 
outline: 2px #f00 solid; 
}
	
/* specific form styling */
.row { 
display:block; 
float:left; 
}
	
.inline { 
display: block; 
vertical-align:top; 
clear:both; 
margin-bottom:8px;  
}
	
.label {
text-align:right;
padding-right:12px;
width:180px;
float:left;
font-size:0.8em;
}

.labelLarge {
text-align:right;
padding-right:12px;
width:380px;
float:left;
font-size:0.8em;
}
	
.textInput { 
width:180px; 
}

.textAreaInput { 
width:180px; 
}
	
.submitButton {
vertical-align:middle;
border-color:#999;
border-style:solid;
border-width:thin;
color:#fff;
background-color:#ca282a;
-webkit-border-radius:4px;
-moz-border-radius:4px;
border-radius:4px;
padding:8px; 
}

/* google maps */
#mapDisplay {
width:320px;
height:380px;
float:left;
}

/* javascript and browser warnings */
.jsMessage {
background:url(../images/icons/warning.gif) no-repeat;
color:#fff;
font-weight:bold;
padding-left:20px;
}

#jsAlert {
width:100%;
padding-top:20px;
padding-bottom:20px;
margin-bottom:4px;
background-color:#ed2f30;
color:#fff;
font-weight:bold;
float:left;
clear:both;
border:1px;
border-color:#fff;
border-style:solid;
}

/* opacity styles */
#opacityTest {
background-color: #6374ab;
width: 100%;
color: #fff;
}

.opaque1 {
opacity: .5;
}

.opaque2 {
filter: alpha(opacity=50);
}

.opaque3 {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}

.opaque {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
}

/* modal inputs */
.modal {
background-color:#fff;
z-index:9999;
display:none;
width:240px;
padding:12px;
text-align:left;
border:10px solid #666;
border:10px solid rgba(82, 82, 82, 0.698);
}

.modal {
opacity: .5;
-moz-box-shadow: 0 0 50px #ccc;
-webkit-box-shadow: 0 0 50px #ccc;
-moz-border-radius:8px;
-webkit-border-radius:8px;
}

.modal {
filter: alpha(opacity=50);
}

.modal {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}

.modal {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
}
	
.modal h2 {
background:url(/images/icons/info.png) 0 50% no-repeat;
margin:0px;
font-size:0.9em;
padding-top:8px;
padding-right:0;
padding-bottom:16px;
padding-left:40px;
}

.modal a { 	font-size:0.9em; }
.modal a:link { color: #ac2b31; text-decoration: none; }
.modal a:visited { color: #ac2b31; text-decoration: none; }
.modal a:active { color: #ac2b31; text-decoration: none; background-color: #c0c8bb; }
.modal a:hover { color: #ac2b31; text-decoration: none; background-color: #c0c8bb; }

.modalInput {
background-color:#fff;
border:0;
outline:0;
}

div.modalClose {
float:right;
padding-top:16px;
}

/* quickreg */
#quickReg {
display:none;
z-index:9999;
width:240px;
border:10px solid #666;
border:10px solid rgba(82, 82, 82, 0.698);
-moz-border-radius:8px;
-webkit-border-radius:8px;
}

#quickReg div {
padding:10px;
border:1px solid #3B5998;
background-color:#fff;
font-family:"lucida grande",tahoma,verdana,arial,sans-serif
}

#quickReg h2 {
margin:-11px;
margin-bottom:0px;
color:#fff;
background-color:#6d84b4;
padding:5px 10px;
border:1px solid #3b5998;
font-size:20px;
}

/* for xml feed stuff */
#newsfeed {
	float:left;
	clear:left;
	text-align:center;
	width:320px;
	min-height:200px;
	height:auto!important;
	height:200px;
	font-size:0.8em;
	background-image:url(../images/tweet.gif);
	background-repeat:no-repeat;
	background-position:top center;
}

/* cookie warning */
div#cookiewarning div#back{
    z-index:999999999999999999;
    position:fixed;
    top:0;
    left:0;
    width: 100%;
    min-height:100%;
    background: rgb(0, 0, 0) transparent;
    background: rgba(0, 0, 0, 0.6);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";
    text-align:center;
}

div#cookiewarning p#buttons{
    text-align: right;
    overflow:hidden;
}

div#cookiewarning div#back div{
    background-color: #FFFFFF;
    width: 50%;
    margin: 5em auto;
    height:auto;
    padding: 1.5em;
    text-align:justify;
}

a#cookiewarningOK{
    display:block;
    min-width: 1px;
    min-height:1px;
    float:right;
    background-color: #4CBB17;
    border: 2px solid #93DB70;
    font-size:100%;
    padding: 0.3em;
    color:#FFFFFF;
    font-weight:bold;
}

a#cookienotOK{
    float:right;
    font-size:80%;
    margin-right:1em;
    padding-top: 1em;
}

/* inifinite carousel */
.infiniteCarousel {
	width:600px;
	height:64px;
	display:block;
	float:left;
	position:relative;
}

.infiniteCarousel .wrapper {
	width:560px; /* .infiniteCarousel width - (.wrapper margin-left + .wrapper margin-right) */
	overflow:auto;
	height:60px;
	margin:0 40px;
	position:absolute;
	top:0;
}

.infiniteCarousel ul a img {
	border:5px solid #000;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
}

.infiniteCarousel .wrapper ul {
	width:840px; /* single item * n */
	list-style-image:none;
	list-style-position:outside;
	list-style-type:none;
	margin:0;
	padding:0;
	position: absolute;
	top: 0;
}

.infiniteCarousel ul li {
	display:block;
	float:left;
	padding-top:16px;
	padding-left:16px;
	padding-right:32px;
	height:56px;
	vertical-align:bottom;
	width:140px;
}

.infiniteCarousel ul li img {
	-webkit-transition: border-color 400ms;
}

.infiniteCarousel ul:hover li img {
	border-color: #000;
}

.infiniteCarousel ul:hover li:hover img {
	border-color: #333;
}

.infiniteCarousel ul li a img {
	display:block;
}

.infiniteCarousel .arrow {
	display:block;
	height:36px;
	width:37px;
	background:url(images/arrow.png) no-repeat 0 0;
	text-indent:-999px;
	position:absolute;
	top:37px;
	cursor:pointer;
	outline:0;
}

.infiniteCarousel .forward {
	background-position:0 0;
	right:0;
}

.infiniteCarousel .back {
	background-position:0 -72px;
	left:0;
}

.infiniteCarousel .forward:hover {
	background-position:0 -36px;
}

.infiniteCarousel .back:hover {
	background-position:0 -108px;
}

@media print {
* { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
a, a:visited { text-decoration: underline; }
a[href]:after { content: " (" attr(href) ")"; }
abbr[title]:after { content: " (" attr(title) ")"; }
.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  
pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
thead { display: table-header-group; }
tr, img { page-break-inside: avoid; }
img { max-width: 100% !important; }
@page { margin: 0.5cm; }
p, h2, h3 { orphans: 3; widows: 3; }
h2, h3 { page-break-after: avoid; }
}

@media screen and (max-width: 960px) {
#body, #header, #footer { width:100%; max-width: 100%; }
#main p { width:100%; }
}

@media screen and (max-device-width: 320px) {
h1 { font-size:1.4em; line-height:1em; margin-bottom: 0.25em; }
body { font-size: 1em; } 
}