/* Global */
* {
    z-index: 10;
}

body {
    background: #2a2a2a;
}

h1, h2, h3, h4 {
    font-family: helvetica, arial, sans-serif;
    color: #000000;
}

h1, h1 a {
    font-size: 30px;
    margin: 0 0 5px 0
}

h2, h2 a {
    font-size: 20px;
    margin: 0 0 3px 0
}

h1 a, h2 a, h3 a {
    font-family: helvetica, arial, sans-serif;
    vertical-align: middle;
    color: #000000;
}

h1 a:visited, h2 a:visited, h3 a:visited {
    color: #000000;
}

a, p, span {
    font-family: georgia, serif;
    font-size: 16px;
}

a, a:visited 
{
    color: #0095da;
    text-decoration:underline;
}

.textCenter 
{
    text-align:center;
}

.blockStretch
{
    width:100%;
}

.blockCenter
{
    margin-left: auto;
    margin-right: auto;
}

.clear {
    clear: both;
}

.bold {
    font-weight: bold;
}

.floatLeft {
    float: left;
}

.block {
    display: block;
}

.inline{
    display:inline;
 }
 
.text 
{   

}

.text p {
   margin-bottom:15px;
}


/* Global */

#root {
    width: 908px;
    margin: 0 auto;
}

#top {
    height: 103px;
    position: relative;
}

#logo {
    position: absolute;
    top:18px;
    left: 24px;
}

#logo img {
    height:71px;
    width:193px;
}

#topMenu {
    position: absolute;
    top: 31px;
    left: 300px;
}

#topMenu li {
    display: block;
    float: left;
    padding: 14px 34px;
    cursor: pointer;
}

#topMenu li a {
    font-family: Helvetica, sans-serif;    
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    text-shadow: 0 -1px 2px #070707;
    color: #ffffff;
}

#topMenu li a:visited {
    color: #ffffff;
}

#topMenu li.selected a {
    color: #008eb1;
}

#topMenuSeparator {
    border-bottom: 1px solid #030303;
    border-top: 1px solid #383838;
    left: 300px;
    position: absolute;
    top: 80px;
    width:608px;
    height: 0;
}

#banner {
    background-image: url("images/banner-bg.png");
    background-repeat: no-repeat;
    height: 196px;
    width: 908px;
    position: relative;
}

#banner h1 {
    top: 20px;
    left: 30px;
    position: absolute;
    font-size: 36px;
    color: #FFFFFF;
    font-weight: bold;
    letter-spacing: -1px;
    text-shadow: 0 2px 2px #002b39;
}

#banner p {
    top: 100px;
    left: 30px;
    right: 30px;
    position: absolute;
    color: #b2e1ff;
}

#banner p a:visited, #banner p a 
{
    text-decoration: underline;
    color: #b2e1ff;
}

#bannerSeparator {
    border-bottom: 1px solid #007184;
    border-top: 1px solid #002231;
    position: absolute;
    top: 80px;
    width: 100%;
    height: 0;
}

.main {
    position: relative;
}

.mainContentTop {
    background: url("images/mainContentTop.png") no-repeat;
    height: 18px;
    width: 100%;
}

.mainContent {
    position: relative;
    background: #dddddd url("images/mainContentGradient.png") repeat-x;
    min-height: 300px;
    width: 100%;
}

.mainContentBottom {
    background: url("images/mainContentBottom.png") no-repeat;
    height: 18px;
    width: 100%;
}

#blogFlickrTwitterContainer {
    position: relative;
    left: 30px;
}

.mainContentHeader 
{
    left: 30px;
    position:relative;
    padding-bottom: 5px;
}

.portfolioListWrapper 
{
    left:13px;
    overflow:hidden;
    position: relative;    
}

.portfolioCategories 
{
    background:url("images/categoriesBackground.png") no-repeat;
    width:848px;
    height:37px;
    margin-left:30px;
    padding-left: 25px;
    padding-top: 9px;
}

a.portfolioCategory
{
    font-family:Helvetica,Sans-Serif;
    font-weight:bold;
    font-size: 16px;
    text-decoration: none;
    color:#e9fbff;
    margin-right: 25px;
}

a.portfolioCategory:visited
{
    color:#e9fbff;
}

a.portfolioCategory:hover
{
    color:#FFFFFF;
}

.portfolioItem 
{ 
    float: left;
    height: 356px;
    width: 274px;
    margin-right:28px;    
}

.portfolioItemWrapper {
    margin: 13px 17px 16px 17px;
}

.portfolioItem:hover {
    background: url("images/portfolioHover.png") no-repeat top left;
}

.portfolioShortText {
    font-size: 12px;
}

.portfolioItemThumbnail 
{
   
}

.portfolioItemThumbnail  img
{
    width:240px;
    height:240px;
    vertical-align: top;
    margin-bottom:10px;
}

a.portfolioCategoryButton {
    -moz-border-radius: 5px; /* Firefox */
    -webkit-border-radius: 5px; /* Safari, Chrome */
    border-radius: 5px; /* CSS3 */ 
    background: url("images/buttonGradient.png") repeat-x scroll center bottom #00596A;
    color: #FFFFFF;
    font-size: 12px;
    line-height: 15px;
    padding: 4px 6px;
    text-decoration: none;
    white-space: nowrap;
}

a.portfolioCategoryButton:visited {
    color: #FFFFFF;
}

#portfolioItemDetails
{
    margin-left:30px;
    margin-right:30px;    
    -moz-border-radius: 5px; /* Firefox */
    -webkit-border-radius: 5px; /* Safari, Chrome */
    border-radius: 5px; /* CSS3 */
    -moz-box-shadow:0 2px 4px #adadad; 
    -webkit-box-shadow:0 2px 4px #adadad;  
    box-shadow:0 2px 4px #adadad;  
    
    background: #FFFFFF;
    padding:10px;
}

#portfolioItemDetailsTitle
{
    margin-bottom: 10px;
    color: #004a60;      
}

.mainContentSeparator {
    border-top: 1px solid #a4a4a4;
    border-bottom: 1px solid #ededed;
    width: 100%;
    height: 0;
    margin-bottom:10px;
    margin-top:10px;    
}

.rssIcon {
    vertical-align: -4px;
}

.primaryColumn {
    float: left;
    width:565px;
}

#blogContainer 
{
    margin-left:30px;
}

.postContainer {
    margin-bottom: 10px;
    position: relative;
    width: 540px;
}

.postDateBackground {
    position: absolute;
    background: url("images/postDateBackground.png") no-repeat;
    width: 127px;
    height: 27px;
    margin-left: -10px;
    margin-top: 7px;
    z-index: 9;
}

.postCloudTop {
    background: url("images/postCloudTop.png") no-repeat;
    width: 100%;
    height: 7px;
}

.postCloudMiddle {
    background: url("images/postCloudMiddle.png") repeat-y;
}

.postContent {
    position: relative;
    padding: 4px 15px 4px 15px;
    overflow:hidden;
}

.postCloudBottom {
    background: url("images/postCloudBottom.png") no-repeat;
    width: 100%;
    height: 21px;    
}

.postUpdatedAndAuthor {
    position: relative;
    display: block;
    height: 15px;
}

.postUpdated 
{
    font-family:Helvetica,Sans-Serif;  
    font-size: 12px;       
    color: white;
    position: absolute;
}

.postAuthor 
{
    font-family:Helvetica,Sans-Serif;  
    font-size: 12px;      
 
    position: absolute;
    color: #0091b5;
    margin-left: 106px;
}

.postAuthor a 
{
    font-family:Helvetica,Sans-Serif;  
    font-size: 12px;    
    vertical-align:top;     
    color: #0091b5;
    font-weight: bold;
    text-decoration: underline;
}

.postAuthor a:visited {
    color: #0091b5;
}

.postTitle {
    margin-top: 10px;
    margin-bottom: 10px;
    color: #004a60;    
}

.postTitle a {
    text-decoration: underline;
    color: #004a60;
}

.postTitle a:visited {
    color: #004a60;
}

.postTags a {
    font-family: Helvetica, Sans-Serif;
    color: #CF2D18;
    font-size: 12px;
    font-weight: bold;
    margin: 0 0 0 5px;
    text-decoration: underline;
}

.postTagSeparator {
    border-bottom: 1px solid #A9C2C9;
    margin: 10px -14px 5px -14px;
    width:538px;
}

.postCommentsCount {
  float:right;
  color:#A0A5A8;
  font-size:14px;
 }
 
 .postCommentsCount a 
 {
     margin-left:15px;
     padding-left:15px;
     text-indent:15px;
     font-size:14px;
 }

.commentSubmit
{
    -moz-border-radius: 4px; /* Firefox */
    -webkit-border-radius: 4px; /* Safari, Chrome */
    border-radius: 4px; /* CSS3 */       
    background:repeat-x scroll 0 0 #3399DD;
    border:1px solid #3399DD;
    color:#FFFFFF;
    font-size:11px;
    font-weight:bold;
    margin:0 5px 0 0;
    padding:4px 10px 5px;
    cursor:pointer;
    text-shadow:0 -1px 0 #3399DD;
 }
 

.commentCloudBottom {
    background: url("images/commentCloudBottom.png") no-repeat;
    width: 100%;
    height: 21px;
}

#commentForm p 
{
    margin: 10px 0;
}

#commentForm .commentTextBox input, #commentForm .commentTextBox textarea
{
    margin: 5px 5px 1px 0;
    -moz-border-radius: 4px; /* Firefox */
    -webkit-border-radius: 4px; /* Safari, Chrome */
    border-radius: 4px; /* CSS3 */ 
        
    background:none repeat scroll 0 0 #FFFFFF;
    border:1px solid #DDDDDD;
    margin:0 0 8px;
    padding:5px;
}

#commentForm .commentTextBox input:focus, #commentForm .commentTextBox textarea:focus
{
    -moz-box-shadow: 0 0 8px rgba(82, 168, 236, 0.5);
    -webkit-box-shadow: 0 0 8px rgba(82, 168, 236, 0.5);
    box-shadow: 0 0 8px rgba(82, 168, 236, 0.5);
}

#commentForm .commentTextBox input
{
    width:250px;   
}

#commentForm .commentTextBox textarea
{
    width:500px;   
}

#commentForm .commentTextBox label {
    display:block;
    padding:0 0 8px;
}

.commentAuthorAvatar
{
    float:left;
    padding:0 10px 0 0;
    width:90px; 
} 

.commentDate
{
    font-size:11px; 
    padding: 2px 0 0 0
}

.commentContent
{
    clear:right;
    font-size:12px;
    float:left;
    overflow:hidden;
    width:410px;
}

.commentAuthor, .commentAuthor a
{
   font-size:11px; 
   padding: 4px 0 0 0 ;  
}

.commentTitle
{
    color:#004A60;
    margin-bottom:10px;
    margin-top:10px;    
}

.errorMessage 
{
   font-size:12px;
   color:#CC0000;
}
    
.successMessage
{
      font-size:12px;
      color:#CC0000;
}


.tagCloudContainer
{
    -moz-border-radius: 5px; /* Firefox */
    -webkit-border-radius: 5px; /* Safari, Chrome */
    border-radius: 5px; /* CSS3 */
    background:none repeat scroll 0 0 #FFFFFF;
    padding:20px;
}

.tagCloudContainer a
{
    font-size: 16px;
    color: #004a60;
    line-height: 30px;
}

.tagCloudContainer span
{
}

.tagCloudContainer a:visited
{
    color: #004a60;
}

.secondaryColumn {
    float: left;
    width: 295px;
}

.flickrIcon {
    vertical-align: -4px;
}

.flickrPhotoSetThumbnail {
    background: url("images/flickrSetBackground.png") no-repeat;
    width: 82px;
    height: 84px;
    margin: 4px;
    padding: 4px;
    float: left;
    overflow:hidden;    
}

.twitterIcon {
    vertical-align: -4px;
}

.twitterStatusCloud {
    margin-bottom: 10px;
}

.twitterStatusCloudTop {
    background: url("images/twitterCloudTop.png") no-repeat;
    width: 296px;
    height: 7px;
}

.twitterStatusCloudMiddle {
    background: #FFFFFF;
    width: 276px;
    padding: 2px 10px;
}

.twitterStatusCloudMiddle p {
    font-style: italic;
    color: #004a60;
}

.twitterStatusCloudBottom {
    background: url("images/twitterCloudBottom.png") no-repeat;
    width: 296px;
    height: 18px;
}

.twitterStatusCloudBottomAlternative {
    background: url("images/twitterCloudBottomAlternative.png") no-repeat;
    width: 296px;
    height: 18px;
}

#aboutUs
{
    margin-left:30px;
    margin-right:30px;    
    background: #FFFFFF;
    padding:10px;

    -moz-box-shadow:0 2px 4px #adadad; 
    -webkit-box-shadow:0 2px 4px #adadad;  
    box-shadow:0 2px 4px #adadad;     
    
    -moz-border-radius: 5px; /* Firefox */
    -webkit-border-radius: 5px; /* Safari, Chrome */
    border-radius: 5px; /* CSS3 */
}

#aboutUs p 
{
    color: #0095da;
    font-size: 18px;
    line-height:25px;
    margin-bottom: 15px;
}

#addressAndEmailContainer
{
    margin-top:10px;    
    margin-left:30px;
    margin-right:30px;
    position:relative;
}

.emailAndAddressText p, .emailAndAddressText a 
{
    font-size: 16px;
    color: #00546b;
    text-decoration:none;
}

.emailAndAddressText a:visited 
{
    color: #00546b;    
}

#addressColumn
{
    float:left;
    width:424px;
}

#emailColumn
{
    float:left;
    width:424px;  
}

#map
{ 
    margin-top: 15px;
    margin-left:30px;
    margin-right:30px;
}

#footer {
    top: 20px;
    background: url("images/footerBackground.png") no-repeat;
    width: 908px;
    height: 72px;
    position: relative;
    padding: 10px 0 0 160px;
}

#footer p {
    color: #1e2635;
    float: left;
    font-size: 14px;
    margin: 0 30px 0 0;
    text-shadow: 0 1px 2px #a1b0b7;
}

#footer p a {
    color: #1e2635;
    font-size: 14px;
    text-shadow: 0 1px 2px #a1b0b7;
}

#footer p a:visited {
    color: #1e2635;
}

#footer form input 
{
    background:url("images/search.gif") no-repeat scroll 2px 4px #FFFFFF;
    color:#000000;
    font:10px;
    margin-left:130px;
    margin-top:13px;
    padding:1px 4px 1px 16px;
    width:149px;    
 }
 
#copyright
{
    height: 40px;
    position: relative;
    text-align:center;
    margin-top:20px;
}

#copyright p
{
    color:#CCCCCC;
    font-size: 10px;
    line-height: 1.4em;
}
