/* Page container ------------------------------------------------------------------------------- */

#page_container {
  min-width: 0;
  height: auto;
  min-height: 0;
  margin: 0;
}

#footer_placeholder {
  display: none !important;
}


/* Header --------------------------------------------------------------------------------------- */

#header_container {
  min-width: 0;
  height: auto;
}
#header {
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing:    border-box;
  box-sizing:         border-box;
}

/* Logo */
#logo {
  position: static;
  padding: 20px 15px 20px 15px;
  margin: 0 auto 5px auto;
}

/* Menu mobile */
#menu_mobile {
  height: 50px;
  display: block;
  position: relative;
  background-color: #1d965d;
  font-size: 18px;
  line-height: 50px;
  text-transform: uppercase;
  color: #fff;
  cursor: pointer;
  padding: 0 40px 0 40px;
}
#menu_mobile:before,
#menu_mobile:after {
  position: absolute;
  top: 0;
  font-family: 'FontAwesome';
  font-weight: normal;
  line-height: 48px;
}
#menu_mobile:before {
  left: 15px;
  content: '\f0c9';
}
#menu_mobile:after {
  right: 15px;
  content: '\f107';
  font-size: 22px;
}

/* Menu */
#menu {
  display: none;
  position: static;
  background-color: #f7faee;
}
#menu ul li {
  float: none;
  padding: 0 !important;
  border-bottom: 1px solid #b8d734;
}
#lang_fr #menu        li,
#lang_fr #topbar_menu li {
  padding: 0;
}
#menu ul a,
#menu ul span,
#menu ul .active a,
#menu ul .active span,
#menu ul .sub    a,
#menu ul .sub    span {
  height: 50px;
  background-color: transparent;
  font-size: 18px;
  line-height: 50px;
  padding: 0 15px 0 40px;
  border: 0;
  -webkit-border-top-left-radius:     0;
  -webkit-border-top-right-radius:    0;
  -webkit-border-bottom-right-radius: 0;
  -webkit-border-bottom-left-radius:  0;
  -moz-border-radius-topleft:         0;
  -moz-border-radius-topright:        0;
  -moz-border-radius-bottomright:     0;
  -moz-border-radius-bottomleft:      0;
  border-top-left-radius:             0;
  border-top-right-radius:            0;
  border-bottom-right-radius:         0;
  border-bottom-left-radius:          0;
}
.no-touch #menu ul a:hover,
          #menu ul a:active,
.no-touch #menu ul a:focus {
  background-color: #fff;
  color: #333;
}
#menu ul .active a,
#menu ul .active span {
  background-color: #fff;
  color: #333;
}
#menu ul a:before,
#menu ul span:before {
  position: absolute;
  top: 0;
  left: 20px;
  font-family: 'FontAwesome';
  font-weight: normal;
  line-height: 48px;
  color: #1d965d;
  content: '\f105';
  -webkit-transition: color 0.2s ease 0s;
  -moz-transition:    color 0.2s ease 0s;
  -o-transition:      color 0.2s ease 0s;
  transition:         color 0.2s ease 0s;
}
.no-touch #menu ul a:hover:before,
          #menu ul a:active:before,
.no-touch #menu ul a:focus:before {
  color: #333;
}
#menu ul .active a:before,
#menu ul .active span:before {
  color: #333;
}
#menu ul .sub a:after,
#menu ul .sub span:after {
  display: none;
}
.no-touch #menu ul .active a:hover,
          #menu ul .active a:active,
.no-touch #menu ul .active a:focus {
  color: #333;
}

/* Submenu */
#menu ul ul {
  display: block !important;
  background-color: transparent;
}
#menu ul li.sub ul {
  display: block;
  position: static;
  border: 0;
  border-top: 1px solid #b8d734;
  -webkit-border-top-left-radius:     0;
  -webkit-border-top-right-radius:    0;
  -webkit-border-bottom-right-radius: 0;
  -webkit-border-bottom-left-radius:  0;
  -moz-border-radius-topleft:         0;
  -moz-border-radius-topright:        0;
  -moz-border-radius-bottomright:     0;
  -moz-border-radius-bottomleft:      0;
  border-top-left-radius:             0;
  border-top-right-radius:            0;
  border-bottom-right-radius:         0;
  border-bottom-left-radius:          0;
}
#menu ul li.sub ul a,
#menu ul li.sub ul span {
  font-size: 18px;
  color: #1d965d;
  padding: 0 15px 0 60px;
}
.no-touch #menu ul li.sub ul a:hover,
          #menu ul li.sub ul a:active,
.no-touch #menu ul li.sub ul a:focus {
  background-color: #fff;
}
#menu ul li.sub ul a:before,
#menu ul li.sub ul span:before {
  left: 40px;
  line-height: 48px;
}
.no-touch #menu ul li.sub ul a:hover:before,
          #menu ul li.sub ul a:active:before,
.no-touch #menu ul li.sub ul a:focus:before {
  color: #333;
}
#menu ul li.sub ul li.active a,
#menu ul li.sub ul li.active span {
  background-color: #fff;
  color: #333;
}
#menu ul li.sub ul li.active a:before,
#menu ul li.sub ul li.active span:before {
  color: #333;
}

/* Languages */
.languages {
  position: static;
  text-align: center;
  padding: 0 20px 20px 20px;
}
.languages li {
  padding: 0 25px 0 0;
}


/* Topbar --------------------------------------------------------------------------------------- */

#topbar_container {
  display: none;
}


/* Subheader ------------------------------------------------------------------------------------ */

#subheader_container {
  min-width: 0;
  height: auto;
}
#subheader {
  width: 100%;
  height: 150px;
  padding: 0;
  margin: 0;
}

#subheader_text {
  padding: 43px 15px 0 15px;
}
#subheader_text h1 {
  font-size: 24px;
  line-height: 32px;
}
#subheader_text h1 br {
  display: none;
}


/* Subpage header ------------------------------------------------------------------------------- */

#subpageheader_container {
  min-width: 0;
}
#subpageheader {
  width: 100%;
  padding: 25px 15px 25px 15px;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing:    border-box;
  box-sizing:         border-box;
}

#subpageheader h1 {
  font-size: 24px;
  line-height: 32px;
}


/* Product groups ------------------------------------------------------------------------------- */

#productgroups_container {
  min-width: 0;
}
#productgroups {
  width: 100%;
  padding: 40px 15px 20px 15px;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing:    border-box;
  box-sizing:         border-box;
}

#productgroups .column1,
#productgroups .column2 {
  width: 100%;
  float: none;
}
#productgroups .column1 {
  padding: 0 0 20px 0;
}

#productgroups .image_container img {
  width: auto;
  max-width: 100%;
  height: auto;
}

#productgroups .extra_space {
  display: none;
}


/* Integration ---------------------------------------------------------------------------------- */

#integration_container {
  min-width: 0;
}
#integration {
  width: 100%;
  padding: 40px 15px 20px 15px;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing:    border-box;
  box-sizing:         border-box;
}

#vertical_integration_image {
  display: none;
}
#integration .columns {
  padding: 28px 0 0 0;
}
#integration .column {
  float: none;
  width: 100%;
  margin: 0 0 22px 0;
}
#integration h3 {
  margin: 0 0 11px 0;
}


/* Event ---------------------------------------------------------------------------------------- */

#event_container {
  min-width: 0;
}
#event {
  width: 100%;
  padding: 40px 15px 20px 15px;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing:    border-box;
  box-sizing:         border-box;
}

#event_image {
  width: 100%;
  height: auto;
}
#event_image img {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto 0 auto;
}
#event_image_top {
  display: none;
}
#event p {
  padding: 0;
}


/* Body ----------------------------------------------------------------------------------------- */

.body_container {
  min-width: 0;
}
.body {
  width: 100%;
  padding: 0;
  margin: 0;
}

.body .column1,
.body .column2 {
  width: 100%;
  float: none;
  padding: 40px 15px 20px 15px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing:    border-box;
  box-sizing:         border-box;
}
.body .column1 {
  padding-top: 0;
  padding-bottom: 0;
}
.body .column1 .menu {
  display: none;
}
.body .column1 .menu.contact {
  display: block;
  margin: 22px 0 0 0;
}
.body .column1 .menu.contact.first {
  margin: 40px 0 0 0;
}
.body .column1 #map_container {
  margin: 22px 0 0 0;
}
.body .column1 .box {
  display: none;
}

.body .page_image {
  width: 100%;
  height: auto;
}
.body .page_image img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.body table.chart,
.body table.chart thead,
.body table.chart tbody,
.body table.chart tr,
.body table.chart th,
.body table.chart td {
  display: block;
}
.body table.chart thead {
  display: none;
}
.body table.chart {
  border-bottom: none;
}
.body table.chart th,
.body table.chart td {
  border-top: none;
}
.body table.chart tbody td.name {
  font-weight: bold;
}
.body table.chart tbody td.type {
  font-weight: bold;
}
.body table.chart tbody td.amount {
  text-align: left;
}

.body table.chart tbody td.type:before {            content: 'Type: '; }
.body table.chart tbody td.length:before {          content: 'Length: '; }
.body table.chart tbody td.length:after {           content: ' (±0.4 mm)'; }
.body table.chart tbody td.wall:before {            content: 'Wall thickness: '; }
.body table.chart tbody td.wall:after {             content: ' (±0.02 mm)'; }
.body table.chart tbody td.weight:before {          content: 'Average weight: '; }
.body table.chart tbody td.weight:after {           content: ' mg'; }
.body table.chart tbody td.weight_diff:before {     content: 'Capsule weight difference: '; }
.body table.chart tbody td.weight_diff:after {      content: ' mg'; }
.body table.chart tbody td.lock_length:before {     content: 'Lock length: '; }
.body table.chart tbody td.lock_length:after {      content: ' (±0,5 mm)'; }
.body table.chart tbody td.diameter:before {        content: 'Outer diameter: '; }
.body table.chart tbody td.diameter:after {         content: ' mm'; }
.body table.chart tbody td.volume:before {          content: 'Volume: '; }
.body table.chart tbody td.volume:after {           content: ' ml'; }

.body table.chart tbody td.cap_length:before {      content: 'Cap length: '; }
.body table.chart tbody td.cap_length:after {       content: ' mm'; }
.body table.chart tbody td.body_length:before {     content: 'Body length: '; }
.body table.chart tbody td.body_length:after {      content: ' mm'; }
.body table.chart tbody td.cap_mouth:before {       content: 'Wall thickness cap: '; }
.body table.chart tbody td.cap_mouth:after {        content: ' mm'; }
.body table.chart tbody td.body_mouth:before {      content: 'Wall thickness body: '; }
.body table.chart tbody td.body_mouth:after {       content: ' mm'; }
.body table.chart tbody td.capsule_weight:before {  content: 'Diversity capsule weight: '; }
.body table.chart tbody td.capsule_weight:after {   content: ' mg'; }

.body table.chart tbody td.capsule_outer_diameter:before { content: 'Cap outer diameter: '; }
.body table.chart tbody td.capsule_outer_diameter:after  { content: ' mm'; }

.body table.chart tbody td.body_outer_diameter:before { content: 'Body outer diameter: '; }
.body table.chart tbody td.body_outer_diameter:after  { content: ' mm'; }

.body #sitemap_container {
  width: 100%;
}

.body .form_container {
  width: 100%;
}
.body .form_row  label,
.body .form_row .label {
  width: 100%;
  float: none;
  display: block;
  line-height: 22px;
  margin: 0 0 6px 0;
}
.body .form_field {
  width: 100%;
  float: none;
}

.body .subcolumn1,
.body .subcolumn2 {
  width: 100%;
  float: none;
}


/* Footer --------------------------------------------------------------------------------------- */

#footer_container {
  min-width: 0;
  height: auto;
}

/* USP's */
#usps_container {
  min-width: 0;
}
#usps {
  width: 100%;
  padding: 40px 15px 20px 15px;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing:    border-box;
  box-sizing:         border-box;
}

#usps li {
  margin: 0 0 22px 0;
}

/* Footer 1 */
#footer1_container {
  min-width: 0;
}
#footer1 {
  width: 100%;
  padding: 25px 15px 5px 15px;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing:    border-box;
  box-sizing:         border-box;
}
#footer1 .column {
  float: none;
  width: auto;
  margin: 0 0 20px 0;
}

/* Footer 2 */
#footer2_container {
  min-width: 0;
}
#footer2 {
  width: 100%;
  padding: 15px 15px 10px 15px;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing:    border-box;
  box-sizing:         border-box;
}
#copyright,
#servicelinks,
#credits {
  width: auto;
  position: static;
  float: none;
  margin: 0 0 5px 0;
}