/* 
 * Reset setting
 */

* {
	padding: 0;
	margin: 0;
}



/*
 * Global settings
 */

html {
	overflow-y: scroll; /* scroll-bar will always be visible */
}

body {
	font-size: 0.625em; /* reduces standard 16px to 10px, then you can use 1em for 10px and 1.2em for 12px etc. */
	font-family: Arial, Helvetica, sans-serif;
	background-color: #DDDDDD;
	color: #303A5C;
}

h1 {
	font-size: 2em;
	margin: .67em 0;
}

h2 {
	font-size: 1.5em;
	margin: .75em 0;
}

h3 {
	font-size: 1.17em;
	margin: .83em 0;
}

p {
	margin: 1.33em 0;
}

th {
	text-align: left;
}

td {
	padding: 0 0 0 0.6em;
}

ul,
ol {
	margin: 1.12em 0;
	margin-left: 40px;
}

li {
	list-style-position: outside;
}

ul li {
	list-style-type: disc;
}

ol li {
	list-style-type: decimal;
}

a {
	text-decoration: underline;
	color: #303A5C;
}

img {
	display: block;
	/*border-radius: 3px;*/
	border-width: 0px; /* to prevent IE from displaying a border on "a img" by default */
}

.img-center {
	margin: 0 auto;
}



/*
 * General grid
 */

#container {
	margin: 0.5em auto;
	padding: 1.8em;
	width: 960px;
	/*border-radius: 3px;*/
	background-color: #FFFFFF;
	font-size: 1.4em;
}

#top-section {
	position: relative; /* to be an anchor for "absolute" children */
}

#mid-section {
	margin: 1.8em 0;
}

#bottom-section {
	/*border-radius: 3px;*/
	background-color: #303A5C;
	color: #FFFFFF;
}

#top-row-1 {
	margin: 0 auto;
	width: 700px;
}

#top-row-2 {
	position: absolute;
	top: 0;
	right: 0;
}

#top-row-3 {
	
}

#top-row-3 > img {
	/*border-radius: 0px;*/
}

#top-row-4 {
	
}

#mid-col-1 {
	padding-right: 2%;
	float: left;
	width: 69%;
}

#mid-col-1 > h1 {
	margin: 0 0 0.67em;
}

#mid-col-2 {
	float: right;
	width: 25%;
	padding: 1.8em 2%;
	background-color: #82889D;
	/*border-radius: 3px;*/
}

/*#mid-col-2 > div {
	position: fixed;
}*/

#mid-col-2 p {
	margin: 0;
}

#mid-col-2 table {
	margin: 1.2em 0 0;
}

#bottom-col-1 { /* overall width: 38% */
	padding: 0 1%;
	width: 36%;
	float: left;
	text-align: left;
	line-height: 30px;
}

#bottom-col-1 > p {
	margin: 0;
	float: left;
}

#bottom-col-2 { /* overall width: 24% */
	padding: 0 0;
	width: 24%;
	float: left;
	text-align: center;
	line-height: 30px;
}

#bottom-col-2 > p {
	margin: 0;
}

#bottom-col-3 { /* overall width: 38% */
	padding: 0 1%;
	width: 36%;
	float: right;
	text-align: right;
	line-height: 30px;
}

#bottom-col-3 > a {
	color: #FFFFFF;
}



/*
 * Language selector
 */

#lang-selector {
	margin: 0;
	padding: 0;
}

#lang-selector > li {
	list-style-type: none;
}

#lang-selector > li > div {
	padding: 0px 0px 0px 7px; 
	line-height: 20px;
	text-align: right;
}

#lang-selector:hover > li > div {
	/*border-radius: 3px 3px 0px 0px;*/
	background-color: #82889D;
}

#lang-selector > li > ul {
	/*position: absolute;*/ /* so that the drop-down-menu does not relocate other content */
	display: none;
	margin: 0;
	padding: 0;
	/*width: 100%;*/ /* to inherit the parent-width although the position is absolute */
	/*z-index: 10;*/ /* otherwise the dropdown-menu will disappear in this design while hovering */
}

#lang-selector:hover > li > ul {
	display: block; 
}

#lang-selector > li > ul > li {
	list-style-type: none;
	background-color: #303A5C;
	border-top-style: solid;
	border-top-width: 1px;
	border-top-color: #FFFFFF;
}

#lang-selector > li > ul > li:last-child {
	/*border-radius: 0px 0px 3px 3px;*/
}

#lang-selector > li > ul > li:hover {
	background-color: #82889D;
}

#lang-selector > li > ul > li > a {
	display: block;
	padding: 0 7px;
	line-height: 20px;
	text-decoration: none;
	text-align: center;
	color: #FFFFFF;
}

#lang-selector > li > ul > li:hover > a {
	color: #303A5C;
}

#lang-selector-image {
	display: inline;
	padding: 0px 0px 0px 2px;
	vertical-align: bottom;
}



/*
 * Menu
 */

#menu {
	margin: 0;
	padding: 0;
	float: left;
	z-index: 10;
}

#menu li {
	width: 160px;
	height: 30px;
	float: left;
	list-style-type: none;
	background-color: #303A5C;
}

#menu a {
	display: block;
	/*border-radius: 3px 3px 0px 0px;*/
	text-decoration: none;
	text-align: center;
	line-height: 30px;
	color: #FFFFFF;
}

#menu > li:first-child {
	/*border-radius: 0px 0px 0px 3px;*/
}

#menu > li:last-child {
	/*border-radius: 0px 0px 3px 0px;*/
}

#menu > li:first-child > a {
	/*border-radius: 0px 3px 0px 3px;*/
}

#menu > li:last-child > a {
	/*border-radius: 3px 0px 3px 0px;*/
}

#menu > li:hover > a {
	background-color: #82889D;
	color: #303A5C;
}

#menu > li > ul {
	display: none;
	margin: 0;
	padding: 0;
}

#menu > li:hover > ul {
	display: block;
}

#menu > li > ul > li {
	border-top-style: solid;
	border-top-width: 1px;
	border-top-color: #FFFFFF;
}

#menu > li > ul > li:last-child {
	/*border-radius: 0px 0px 3px 3px;*/
}

#menu > li > ul > li:hover {
	background-color: #82889D;
}

#menu > li > ul > li:hover > a {
	color: #303A5C;
}

body#firm ul#menu > li.firmnav > a,
body#areas ul#menu > li.areasnav > a,
body#seminars ul#menu > li.seminarsnav > a,
body#team ul#menu > li.teamnav > a,
body#opportunities ul#menu > li.opportunitiesnav > a,
body#contact ul#menu > li.contactnav > a {
	color: #303A5C;
	background-color: #82889D;
}



/*
 * Miscellaneous
 */

#vcf-tr {
	height: 1em;
}

#vcf-container {
	margin: 0 auto;
	padding: 0 0 0 0;
	width: 16px;
}

.portrait {
	margin: 0 0 1.8em 1.8em;
	float: right;
}

#portrait-p-container {
	/*position: relative;
	width: 100%;*/
}

.portrait-p {
	float: left;
	position: relative;
	width: 50%;
}

.portrait-p > a {
	display: block;
	margin: 1.2em auto;
	width: 160px;
	text-decoration: none;
}

.portrait-p > a > div {
	padding: 1.2em;
	width: 160px;
	background-color: #CAD8FF;
	/*border-radius: 3px;*/
}
/*.portrait-p > a > div > img {
	margin: 0 auto;
}*/

/*.portrait-p > a > div > img + p {
	margin: 1.2em 0 0;
	text-align: center;
	font-weight: bold;
}*/

.portrait-p > a > div > p {
	margin: 1.2em 0 0;
	text-align: center;
}

#googlemaps {
	float:right;
}

#googlemaps > iframe {
	/*border-radius: 3px;*/
}

.snsbutton {
	float: left;
	margin: 7px 0px 7px 7px;
}

.snsbutton a img{
	/*border-radius: 1px;*/
}

div.boxed {
	margin: 1.2em 0;
	padding: 1.2em;
	/*border-radius: 10px;*/
	background-color: #CAD8FF;
}

div.boxed h2 {
	margin: 0 0 0.3em;
}

div.boxed p {
	margin: 0;
	padding: 0;
}

/* Style for job titles */
.jobtitle {
	font-weight: bold;
}

/* Styles for the address-microformats */
.organization-name {
	font-weight: bold;
}

.organization-unit {
	font-weight: bold;
}

.n {
	font-weight: bold;
}

.type {
	display: none;
}


/* Clearfix */
/*.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	display: inline-block;
}

html[xmlns] .clearfix {
	display: block;
}

* html .clearfix {
	height: 1%;
}*/
