* {
    margin: 0px;
    padding: 0px;
    border: 0px;
}

html {
    overflow-y: scroll;
}

div {
    overflow: hidden;
}

/* ------------------------------------------------------------------------------------------- */

/* BODY */

body {
    /* make the absolute child elements relative to this element */
    position: relative;
    left: 0px;
    top: 0px;
    width: 1050px;
    height: auto;
    margin: auto;
}

/* ------------------------------------------------------------------------------------------- */

/* DECORATION */

#decoration1 {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 1050px; /* padding 50+50 added to width */
    height: 139px;
}

#decoration2 {
    position: absolute;
    left: 0px;
    top: 184px; /* 139px+45px */
    width: 1050px;
    height: 316px;
    z-index: 1;
}

/* ------------------------------------------------------------------------------------------- */

/* LOGO */

#logo {
    position: absolute;
    left: 50px;
    top: 0px;
    width: 500px;
    height: 139px;
    z-index: 2;
}

#logo * {
    display: none;
}

 /* SEARCH */

#search {
    position: absolute;
    left: 757px;
    top: 84px;
    width: 218px;
    height: 30px;
}

#search .searchString {
    margin: 9px 6px 9px 12px;
    float: left;
    width: 170px;
    background: none;
}

#search .submit {
    display: none;
}

/* ------------------------------------------------------------------------------------------- */

/* COMPANY NAVIGATION */

#companyNavigation {
    width: 950px; /* padding 50+50 will be added to width */
    position: absolute;
    left: 0px;
    top: 139px;
    height: 45px;
    padding: 0px 50px;
}

#companyNavigation ul {
    padding-top: 7px;
    padding-left: 200px;
}

#companyNavigation li {
    float: left;
    height: 27px;
    margin-right: 14px;
    padding: 11px 18px 0px 18px;
}

/* ------------------------------------------------------------------------------------------- */


/* SERVICES NAVIGATION */

#servicesNavigation {
    position: absolute;
    left: 50px;
    top: 184px; /* 139px+45px */
    width: 175px;
    z-index: 2;
}
 
 #servicesNavigation .set {
    margin-bottom: 20px;
}

#servicesNavigation h1 {
    height: 31px;
    margin-bottom: 0px;
    padding-top: 20px;
    padding-right: 23px;
}

#servicesNavigation ul.level_1 {
    padding: 10px 0px;
}

#servicesNavigation ul.level_1 > li {
    padding: 10px 23px 10px 0px;
}

#servicesNavigation ul.level_2 {
    padding: 10px 0px;
}

#servicesNavigation ul.level_2 > li + li {
    padding-top: 5px;
}

/* ------------------------------------------------------------------------------------------- */

/* WELCOME */

#welcomeMedia {
    position: absolute;
    z-index: 1000;
    left: 250px; /* 50 + 175 + 25 */
    top: 214px; /* 139 + 45 + 30 */
    width: 715px; /* 1 + 4 + 715 + 4 + 1 */
    height: 152px; /* 1 + 4 + 152 + 4 + 1 */
    padding: 4px;
}

#welcomeMedia div {
    overflow: visible;
}

/* ------------------------------------------------------------------------------------------- */

/* MAIN CONTENT */

#mainContent {
    position: relative;
    z-index: 2;
    clear: left;
    float: left;
    margin-left: 265px; /* 50 + 175 + 40 */
    /* replacement for #footer margin-top with clear:left */
    margin-bottom: 55px;
}

#mainContent p, #mainContent ol, #mainContent ul, #mainContent dl, #mainContent table, #mainContent img  {
    margin-top: 14px;
}

#mainContent h1 + p, #mainContent h1 + ol, #mainContent h1 + ul, #mainContent h1 + dl, #mainContent h1 + table, #mainContent h1 + form,
#mainContent h1 + div > p:first-child, #mainContent h1 + div > ol:first-child, 
#mainContent h1 + div > ul:first-child, #mainContent h1 + div > table:first-child {
    margin-top: 20px;
}

#mainContent h2 + p, #mainContent h2 + ol, #mainContent h2 + ul, #mainContent h2 + dl, #mainContent h2 + table, #mainContent h2 + form,
#mainContent h2 + div > p:first-child, #mainContent h2 + div > ol:first-child, 
#mainContent h2 + div > ul:first-child, #mainContent h2 + div > table:first-child {
    margin-top: 10px;
}

#mainContent h3 + p, #mainContent h3 + ol, #mainContent h3 + ul, #mainContent h3 + dl, #mainContent h3 + table, #mainContent h3 + form,
#mainContent h3 + div > p:first-child, #mainContent h3 + div > ol:first-child, 
#mainContent h3 + div > ul:first-child, #mainContent h3 + div > table:first-child {
    margin-top: 10px;
}

#mainContent h4 + p, #mainContent h4 + ol, #mainContent h4 + ul, #mainContent h4 + dl, #mainContent h4 + table, #mainContent h4 + form,
#mainContent h4 + div > p:first-child, #mainContent h4 + div > ol:first-child, 
#mainContent h4 + div > ul:first-child, #mainContent h4 + div > table:first-child {
    margin-top: 5px;
}

#mainContent ol, #mainContent ul {
    padding-left: 40px;
}

#mainContent li ul, #mainContent li ol, #mainContent li dl {
    margin-top: 0px;
}

#mainContent dt {
    clear: left;
}

#mainContent dt, #mainContent dd {
    float: left;
}

#mainContent dd {
    margin-left: 2px;
}

#mainContent td, #mainContent th {
    padding: 4px;
}

#mainContent tr.properties th {
    padding-bottom: 0px;
    vertical-align: top;
}

#mainContent tr.units td, #mainContent tr.units th {
    padding-top: 0px;
}

#mainContent .unit1 {
    border-right: none;
}

#mainContent .unit2 {
    border-left: none;
}

#mainContent td ul, #mainContent td ol {
    padding-left: 16px;
}

#mainContent .recommended {
    width: 32px;
}

#mainContent .highlyRecommended {
    width: 32px;
}

#mainContent .recommended:after, #mainContent .highlyRecommended:after {
    content: "";
}

#mainContent .pdf_link {
    width: 17px;
    height: 17px;
    margin-top: 15px;
    float: right;
}

#mainContent .pdf_link img {
    margin-top: 0px;
}

#mainContent h2 {
    margin-top: 20px;
}

#mainContent h3 {
    margin-top: 20px;
}

#mainContent h4 {
    margin-top: 10px;
}

#mainContent div.figure, #mainContent .figuresHeading {
    clear: right;
    float: right;
    margin-left: 20px;
    width: 160px;
}

#mainContent div.figure {
    margin-top: 10px;
}

#mainContent h1 + div.figure {
    margin-top: 18px;
}

#mainContent .figuresHeading {
    margin-top: 18px;
}

#mainContent div.figure img {
    margin-top: 0px;
    width: 150px;
    height: auto;
    padding: 4px;
}

/* ------------------------------------------------------------------------------------------- */

/* UPDATES LIST */

#mainContent .updates.block {
    margin-top: 30px;
}

#mainContent .updates.block.first {
    margin-top: 20px;
}

#mainContent .updatesHeadline {
    display: inline;
}

#mainContent .updatesTimestamp {
    float: right;
    margin-top: 4px;
}

#mainContent .updatesSubHeadline {
    clear: right;
    margin-top: 10px;
}

/* ------------------------------------------------------------------------------------------- */

/* UPDATES SIDEBAR */

#updates {
    /* used solely to allow z-index positioning */
    position: relative;
    z-index: 2;
    clear: right;
    float: right;
    margin-right: 90px; /* 40 + 50 */
    margin-top: 224px; /* 139 + 45 + 40 */
    width: 195px;
}

#updates div.updates {
    margin-bottom: 60px;
}

#updates h1 + .block {
    margin-top: 20px;
}

#updates .block + .block {
    margin-top: 30px;
}

#updates h2 {
    margin-top: 4px;
}

#updates .teaser {
    margin-top: 4px;
}

#updates .more {
    margin-top: 8px;
}

.updates.empty {
    display: none;
}

/* ------------------------------------------------------------------------------------------- */

/* FEATURED CONTENT */

#featuredContent {
    position: relative;
    clear: both;
    margin-left: 225px; /* 50 + 175 */
    width: 695px;
    padding: 35px 40px 55px 40px;
}

#featuredContent .updates {
    float: left;
}

#featuredContent .updates .block {
    margin-top: 20px;
}

#featuredContent .updates .block.first {
    margin-top: 15px;
}

#featuredContent h2, #featuredContent .more {
    margin-top: 5px;
}

#featuredContent .teaser {
    margin-top: 9px;
}

#featuredContent #certificate {
    /* allow absolute positioning inside */
    position: relative;
    float: left;
    margin-left: 80px;
    margin-top: 20px;
    width: 336px;
    height: 178px;
}

#featuredContent #certificate img {
    position: absolute;
    top: 10px;
    right: 18px;
}

#featuredContent #certificate h1, #featuredContent #certificate span.linkHint {
    padding: 15px;
    width: 163px; /* 336 - (15 + 95 + 15 + 18) - (15 + 15) */
}

#featuredContent #certificate h1 span {
    display: block;
}

#featuredContent #certificate span.linkHint {
    float: left;
    margin-top: 37px;
}

/* ------------------------------------------------------------------------------------------- */

/* SERVICES OVERVIEW */

#servicesOverview ul {
    padding-left: 20px;
}

#servicesOverview li {
    margin-top: 20px;
}

#servicesOverview li.article {
    margin-top: 0px;
    padding-left: 0px;
}

#servicesOverview li.article div.link {
    display: none;
}

#servicesOverview p:first-child {
    margin-top: 0px;
}

/* ------------------------------------------------------------------------------------------- */

/* CONTACT US */

#mainContent .staffMember {
    margin-top: 20px;
    padding: 4px;
}

#mainContent .staffMember .photo {
    float: left;
    margin-right: 20px;
}

#mainContent .staffMember .photo img {
    margin-top: 0px;
}

#mainContent .staffMember .name {
    margin-top: 5px;
}

#mainContent .staffMember .position {
    margin-top: 5px;
}

#mainContent .staffMember .contactInformation {
    margin-top: 20px;
}

#mainContent .companyInformation {
    float: left;
    width: 460px;
    line-height: 26px;
}

#mainContent .companyInformation .companyName.short {
    display: none;
}

/* #mainContent .companyInformation .address + .phoneNumber, */
/* #mainContent .companyInformation .phoneNumber + .email {
    margin-top: 10px;
}
 */
#mainContent .companyInformation .address,
#mainContent .companyInformation .phoneNumbers,
#mainContent .companyInformation .email {
    float: left;
}

#mainContent .companyInformation .address,
#mainContent .companyInformation .phoneNumbers {
    margin-right: 64px;
}

#mainContent .companyInformation .phoneNumberValue {
    margin-left: .6ex;
    /* float: right; */
}

#ibcbuilding {
    clear: both;
}

#ibcbuildingx {
    float: right;
    margin-left: 20px;
    margin-top: 8px;
}

#ibcbuilding img {
    padding: 4px;
    width: 450px;
    height: auto;
    /*     width: 280px;
    height: 190px;
 */}

#googlemapsx {
    display: none;
    clear: left;
    padding: 4px;
    float: left;
    margin-top: 20px;
    width: 450px; /* 460 - (1 + 4 + 4 + 1) */
    height: 500px;
}


/* ------------------------------------------------------------------------------------------- */

/* WEBSITE SEARCH RESULTS */

#websiteSearchResults input#ctrl_keywords {
    width: 20em;
    padding: 5px;
}

#websiteSearchResults input#ctrl_submit {
    width: 6em;
}

#websiteSearchResults div#query_type {
    margin-top: 12px;
}

#websiteSearchResults div#query_type span + span {
    margin-left: 12px;
}

#websiteSearchResults div#query_type label {
    position: relative;
    top: -2px;
}

#websiteSearchResults h2 {
    font-size: 13px;
}

#websiteSearchResults > div + div {
    margin-top: 14px;
}

#websiteSearchResults p.url {
    margin-top: 8px;
}

/* ------------------------------------------------------------------------------------------- */

/* PAGE CONTACT INFORMATION */

body > .companyInformation {
    position: absolute;
    bottom: 128px; /* 123 + 5 */
    right: 825px; /* 1050 - (50 + 175) */
    padding-right: 23px;
    z-index: 2;
}

body > .companyInformation h2 {
    margin-bottom: 16px;
}

body > .companyInformation div {
    margin-top: 0px;
}

body > .companyInformation .companyName.long {
    display: none;
}

body > .companyInformation .address {
    margin-bottom: 10px;
}

body > .companyInformation .phoneNumberValue {
    float: right;
}

/* ------------------------------------------------------------------------------------------- */

/* EMPLOYMENT OPPORTUNITIES LIST */

#employmentOpportunitiesList.empty {
    display: none;
}

/* ------------------------------------------------------------------------------------------- */

/* PAGE DISCLAIMER */

#pageDisclaimer {
    clear: both;
    padding-top: 60px;
    height: 63px;
}

#pageDisclaimer p+p {
    margin-top: 0px;
}

