
/* ========================= GENERAL TAGS ======================== */

html {
	height: 100%;
	width: 100%;
}

body {
	background-color: #ffffff;
	color: #000000;
	font-family: Arial, Helvetica, Verdana, Sans-serif;
	font-size: 13px;
	height: 100%;
	min-width: 980px;
	min-height: 480px;
	width: 100%;
}

strong {
	font-weight: bold;
}

h1 {
	color: #0074BC;
    font-size: 1.90em;
    font-weight: bold;
    padding: 4px 0 15px;
}

h2 {
    color: #0074BC;
    font-size: 1.65em;
    font-weight: normal;
    padding: 4px 0 13px;
}

h3 {
    color: #0074BC;
    font-size: 1.05em;
    margin: 0 0 0.5em;
}

p {
	line-height: 1.4;
	margin: 0 0 1.5em;
}

ul {
	line-height: 1.4;
	list-style-image: url(../images/bullet-arrow.gif);
	list-style-position: inside;
	margin: 0 1.5em 1.5em;
}

/* ======================= GENERIC CLASSES ======================= */

.hidden {
	display: none;
}

/* -- clear fix -- */

.cf:after {
    clear: both;
}

.cf:before, .cf:after {
    content: "";
    display: table;
}

.cf:before, .cf:after {
    content: "";
    display: table;
}

/* -- columns -- */

.col { float: left }
.col-1_1 { float: none; width: 100% }
.col-1_2, .col-2_4, .col-3_6 { float: left; width: 50% }
.col-1_3, .col-2_6 { float: left; width: 33.33333% }
.col-2_3, .col-4_6 { float: left; width: 66.66666% }
.col-1_4 { float: left; width: 25% }
.col-3_4 { float: left; width: 75% }
.col-1_5 { float: left; width: 20% }
.col-2_5 { float: left; width: 40% }
.col-3_5 { float: left; width: 60% }
.col-4_5 { float: left; width: 80% }
.col-1_6 { float: left; width: 16.66667% }
.col-5_6 { float: left; width: 83.33333%}

/* -- img -- */

.image {
	border: 1px solid #C6C6C6;
	padding: 2px;
}

.image .caption { 
	color: #aaaaaa;
    font-family: Verdana, Arial, sans-serif;
	font-size: 80%;
	padding-top: 5px;
    text-align: center; 
}

/* ====================== STRUCTURE/CONTENT ====================== */

#root {
	height: auto !important;
	height: 100%;
	margin-bottom: -120px; /* negative value of footer height */
	min-height: 100%;
	width: 100%;
}

.container {
	margin: auto;	
	width: 960px;
}

/* ===== HEADER ===== */

#header {
	background-color: #cedbed;
	border-bottom: 2px solid #0b1c5a;
	height: 140px;
	min-width: 980px;
	width: 100%;
}

#header .container {
	position: relative;
}

#logo {
	left: 5px;
	position:absolute;
	top: 15px;
}

#slogan {
	border-color: #19319e;
    border-style: solid;
    border-width: 0 0 0 1px;
	color: #19319e;
	font-size: 14px;
	font-weight: 300;
	left: 175px;
	line-height: 1.4;
    padding: 0 18px;
	position: absolute;
	text-shadow: 0 1px 1px #ffffff;
	top: 20px;
}

div.lang {
	left: 870px;
	position: absolute;
	top: 10px;
}

div.lang img {
    padding: 0 7px;
}

div.lang img.active {
    opacity: 0.3;
}

#navbar {
	left: 445px;
	position: absolute;
	top: 50px;
}

ul.oe_menu {
	clear: both;
	float: left;
	list-style: none;
	margin: 0px 0px 0px 5px;
	position: relative;
}

ul.oe_menu > li {
	background: url("../images/nav-sep.png") no-repeat scroll 0 10px transparent;
	float: left;
	height: 34px;
	padding: 2px 0px 0px 0px;
	position: relative;
}

ul.oe_menu > li.first {
    background: none repeat scroll 0 0 transparent;
}

ul.oe_menu > li > a {
	color: #BB0011;
	display: block;
	font-family: "Open Sans", Arial, ​Sans-serif, Helvetica;
	font-size: 13px;
	font-weight: bold;
	height: 26px;
	margin: 3px 5px 0px 5px;
	padding: 5px 5px 0px 5px;
	text-align: center;
	text-decoration: none;
	text-shadow: 0px 0px 1px #ffffff;
}

ul.oe_menu.hovered > li > a {
}

ul.oe_menu > li.active > a {
	background-color: rgba(255, 255, 255, 0.35);
	
	-moz-border-radius-topleft: 3px;
	-moz-border-radius-topright: 3px;
	-moz-border-radius-bottomleft: 3px;
	-moz-border-radius-bottomright: 3px;
	-webkit-border-top-left-radius: 3px;
	-webkit-border-top-right-radius: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-webkit-border-bottom-right-radius: 3px;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	border-bottom-left-radius: 3px;
	border-bottom-right-radius: 3px;
}

ul.oe_menu > li > a:hover,
ul.oe_menu > li.selected > a {
	background-color: #ffffff;
	border: none;
	color: #000000;
	opacity: 1;
	text-shadow: none;
	
	-moz-border-radius-topleft: 3px;
	-moz-border-radius-topright: 3px;
	-moz-border-radius-bottomleft: 3px;
	-moz-border-radius-bottomright: 3px;
	-webkit-border-top-left-radius: 3px;
	-webkit-border-top-right-radius: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-webkit-border-bottom-right-radius: 3px;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	border-bottom-left-radius: 3px;
	border-bottom-right-radius: 3px;
}

ul.oe_menu div {
	background: #ffffff;
	border-bottom: 2px solid #0e2a60; 
	border-left: 2px solid #0e2a60; 
	border-right: 2px solid #0e2a60; 
	display: none;
	height: 180px;
	left: 1px;
	padding: 30px;
	position: absolute;
	top: 36px;
	width: 498px;
	
   	-moz-box-shadow: 5px 5px 5px #ccc;
  	-webkit-box-shadow: 5px 5px 5px #ccc;
  	box-shadow: 5px 5px 5px #ccc;
}

ul.oe_menu div ul li a {
	color: #000000;
	display: block;
	font-size: 12px;
	margin: 2px;
	padding: 2px 2px 2px 4px;
	text-decoration: none;
}

ul.oe_menu div ul {
	margin: 0;
}

ul.oe_menu div ul.oe_full {
	width: 100%;
}

ul.oe_menu div ul li a:hover{
    background: #0e2a60;
    color: #ffffff;
}

ul.oe_menu li ul {
	float: left;
	list-style: none;
	margin-right: 10px;
	width: 150px;
}

li.oe_heading {
	border-bottom: 2px solid #0e2a60;
	color: #0e2a60;
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
	padding-bottom: 6px;
}

#breadcrumbs {
	background: url("../images/breadcrumbs-bg.png") no-repeat scroll 0 0 transparent;
    height: 30px;
	left: 0px;
	position: absolute;
	top: 110px;
    width: 936px;
}

#breadcrumbs ul {
    color: #666666;
    font: 11px Arial,Sans-Serif;
    left: 24px;
    margin: 0;
    padding: 0 0 0 12px;
    position: absolute;
    top: 7px;
}

#breadcrumbs ul li {
    background: none repeat scroll 0 0 transparent;
    display: inline;
    margin: 0;
    padding: 0 0 0 5px;
}

#breadcrumbs ul li a {
    background: url("../images/icon-arrow.png") no-repeat scroll right center transparent;
    color: #787878;
    display: inline;
    padding: 0 12px 0 0;
}

/* ===== CONTENT ===== */

.title-separator {
	border-bottom: 1px solid #c6c6c6;
	
	-webkit-box-shadow: 0 10px 8px -8px #ccc;
   	-moz-box-shadow: 0 10px 8px -8px #ccc;
	box-shadow: 0 10px 8px -8px #ccc;	
} 

.title {
	text-shadow: 1px 1px 3px #c6c6c6;
}

#references-slider {
	padding-bottom: 40px;
	padding-left: 40px;	
	padding-top: 65px;
	position: relative;
}

#references-title {
    left: 26px;
    opacity: 1;
    padding: 0 10px 4px;
    position: absolute;
    top: 33px;
    z-index: 8;
}

#references-title div {
	display: block; 
    margin: 0;
	opacity: 0.992604;
    padding: 3px 35px;
}

#references-title div h2 {
	border-bottom: 1px solid #c6c6c6;
	
	-webkit-box-shadow: 0 10px 8px -8px #ccc;
   	-moz-box-shadow: 0 10px 8px -8px #ccc;
	box-shadow: 0 10px 8px -8px #ccc;	
}

#references-title div .title{
	padding: 4px 0 4px;
}

#references-slider .read-more {
    background: url("../images/bullet-arrow.gif") no-repeat scroll left 2px transparent;
    margin: 0;
    padding: 0 0 0 14px;
    position: absolute;
    right: 8%;
	top: 85%;
   	z-index: 8;
}

#references-slider .read-more a,
#references-slider .read-more a:visited {
    color: #000000;
}

#references-slides {
	background-color: #ffffff;
	position: relative;
	height: 356px;
	width: 906px;
}

#references-slides .slide {
	height: 350px;
	width: 900px;
}

#references-slides img {
	height: 300px;
	margin: 25px 0px 0px 25px;
	width: 400px;
	
	-moz-box-shadow: 0 0 8px 0px #ccc; 
	-webkit-box-shadow: 0 0 8px 0px #ccc; 
	box-shadow: 0 0 8px 0px #ccc;
}

#references-slides .slideContent {
	top: 35px;
	position: absolute;  
	right: 25px;
	width: 400px;
} 

#references-slides .slideContent h2 {
	color: #0e2a60;
	font-family: "Cantarell", Arial;
}

#references-slides .slideContent p {
	border-top: 1px dotted #0e2a60;
	margin-top: 10px;
	padding-top: 25px;
}

#references-pager {
	left: 50%;
	margin-left: -65px;
	padding: 10px;
	position: relative;
	width: 450px;
}

#references-pager a {
	background: url("../images/pager-circle-buttons.png") no-repeat scroll 0 0 transparent;
    color: #b8c4cf;
    float: left;
    height: 12px;
    margin-left: 5px;
    text-indent: -1000px;
    width: 12px;
	text-decoration: none;
}

#references-pager a.activeSlide {
	background-position: 0 -12px;
}

#reference-list {
	margin-bottom: 10px;
}

#reference-list .introduction {
	padding: 5px 0;
}

#reference-list .reference {
	padding: 5px 0 10px 0;
}

#reference-list .reference a.reference-link,
#reference-list .reference a.reference-link:visited {
	color: #0074bc;
    font-size: 1.03em;
    font-weight: bold;
    margin-left: 15px;
    text-decoration: none;
}

#reference-list .reference a.reference-detail-closed {
	background: transparent url("../images/plus.gif") no-repeat 4px 4px;	
	padding-left: 25px;
	
}	
#reference-list .reference a.reference-detail-open {
	background: transparent url("../images/minus.gif") no-repeat 4px 4px;	
	padding-left: 25px;
}

#reference-list .reference .description {
	padding-left: 40px;
	padding-top: 15px;
}

.reference-slider {
	padding-bottom: 40px;
	padding-left: 40px;	
	padding-top: 20px;
	position: relative;
}

.reference-slides {
	background-image: url(../images/reference-slide-background.png); 
	border: 1px dotted #0074bc;
	position: relative;
	height: 352px;
	width: 902px;
}

.reference-slides .slide {
	height: 350px;
	width: 900px;
}

.reference-slides img {
	height: 300px;
	margin: 25px 0px 0px 250px;
	width: 400px;
	
	-moz-box-shadow: 0 0 8px 0px #ccc; 
	-webkit-box-shadow: 0 0 8px 0px #ccc; 
	box-shadow: 0 0 8px 0px #ccc;
}

.reference-pager {
	padding-left: 20px;
}

.reference-pager a {
	background-image: url(../images/pager-cell-shade.png);
	background-color: #0074bc;
	background-repeat: repeat-x;
	color: #ffffff;
	font: 11px/14px Georgia, Serif;
	height: 18px;
	margin: 0 5px 0 0;
	outline: 0 none;
	padding: 1px 8px 2px 8px;
	text-align: center;
	text-decoration: none;
	
	-moz-border-radius-bottomright: 5px;
	-moz-border-radius-bottomleft: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
}

.reference-pager a.activeSlide {
	background: none repeat scroll 0 0 #0074bc;
}

#main-content .padding {
	padding-left: 20px;
	padding-top: 20px;
}

.panel-container {
	padding-bottom: 25px;
	padding-left: 60px;
	padding-top: 20px;
}

.panel-container .panel {
	background-color: #ffffff;
	margin-right: 35px;
	padding: 10px;
}

.panel-container .read-more {
    background: url("../images/bullet-arrow.gif") no-repeat scroll left 15px transparent;
    float: right;
    padding: 10px 10px 0 14px;
    margin: 0;
}

.panel-container .read-more a, 
.panel-container .read-more a:visited {
    color: #000000;
}

#contact-info {
}

#firm-location {
	margin-bottom: 20px;
	margin-top: 20px;
}

#firm-location .box {
	border: 1px solid #c6c6c6;
	height: 257px;
	padding-left: 2px;
	padding-top: 2px;
	width: 907px; 
}

#firm-location #map {
	height: 255px;
	width: 905px; 
}

/* ===== FOOTER ===== */

#footer-spacer {
    height: 120px; /* must be same height as the footer */
}

#footer {
	background-image: url(../images/footer-bg.png);
	background-repeat: repeat;
	border-top: 1px solid #0B1C5A;
	background-color: #ecedf2;
	clear: both;	
	color: #666666;
	font-family: Georgia, Serif;
   	font-size: 12px;
   	height: 119px;
	padding-left: 10px;
	padding-right: 10px;
}

#footer .container {
}

#footer #altnav {
	font-size: 0.9em;
	float: right;
	padding-right: 5px;
	padding-top: 20px;
	text-align: right;
	width: 150px;
}

#footer #altnav ul { 
	line-height: 1.6;
	list-style-image: none;
	list-style-type: none;
	margin: 0;
}

#footer #altnav ul li {
	background: url(../images/icon-arrow2.png) right 3px no-repeat;
	padding-right: 15px;
}

#footer #altnav a {
	color: #666666;
	padding-left: 4px;
	padding-right: 4px;
	text-decoration: none;
}

#footer #altnav a:hover {
	color: #666666;
}

#footer #copyright {
	font-size: 0.9em;
	padding-left: 10px;
	padding-top: 20px;
}

/* 
 * NOTES
 * 
 * cleaner: http://stackoverflow.com/questions/211383/which-method-of-clearfix-is-best
 * image caption: http://www.cs.tut.fi/~jkorpela/www/captions.html
 * footer Stick: http://www.electrictoolbox.com/html-css-footer/
 * text-shadow: http://www.sitepoint.com/using-css-text-shadow-to-create-embossed-text/
 * css structure: 
 *  - http://blog.millermedeiros.com/2010/06/how-i-structure-css-files/
 *  - http://woork.blogspot.com/2008/03/write-well-structured-css-file-without.html
 *   
 * */
