/*******************************

ESRF Colours

********************************/
:root{
--pale-blue: #4b5996;
--dark-blue: #132577;
--darker-blue: #081035;
--dark-orange: #EC7404;
--orange: #F6A400;
--yellow: #FFDD00;
--pale-yellow: #fcf8e3;
--green: #509F25;
--turquoise: #0097D3;
--purple: #AD007C;
--dark-grey: #B1B3B4;
--mid-grey: #CFD1D2;
--light-grey: #F4F4F4;
--white: #FFFFFF;

--button-box-shadow: var(--darker-blue) 0px 1px 4px, rgb(51, 51, 51) 0px 0px 0px 2px;
}

.font-smaller {
  font-size: smaller;
}

.bg-dark-blue {
  background-color: var(--dark-blue);
}

.bg-turquoise {
  background-color: var(--turquoise);
}

.fg-dark-blue {
  color: var(--dark-blue);
}

.border-left-purple {
  border-left: 1px solid var(--purple);
}

.border-bottom-purple {
  border-bottom: 1px solid var(--purple);
}

.border-right-purple {
  border-right: 1px solid var(--purple);
}

.border-color-dark-blue {
  border-color: var(--dark-blue);
}

.i-border-color-dark-blue {
  border-color: var(--dark-blue) !important;
}

.fg-darker-blue {
  color: var(--dark-blue);
}

.i-fg-darker-blue {
  color: var(--dark-blue) !important;
}

.fg-white {
  color: white;
}

a.fg-white:hover, a.fg-white:focus {
  color: white;
}

.fg-yellow {
  color: var(--yellow);
}

a.fg-yellow:hover, a.fg-yellow:focus {
  text-decoration: underline;
  color: var(--yellow);
}

html a:not([class^="fg-"]) {
    color: var(--dark-blue);
}

.flex-column {
  display: flex;
  flex-flow: column;
}

.flex-column-reversed {
  display: flex;
  flex-flow: column-reverse;
}

.flex-row {
  display: flex;
  flex-flow: row;
}

.flex-row-reversed {
  display: flex;
  flex-flow: row-reverse;
}

.flex-justify-content-space-between {
  justify-content: space-between;
}

body {
  font-family: "ttm-regular";
}

/*******************************

  BASE Fonts

********************************/
@font-face {
  font-family: 'ttm-black';
  src: url("fonts/ttm/ttm-black.eot");
  src: url("fonts/ttm/ttm-black.eot?#iefix") format('embedded-opentype'), url("fonts/ttm/ttm-black.woff2") format('woff2'), url("fonts/ttm/ttm-black.woff") format('woff'), url("fonts/ttm/ttm-black.ttf") format('truetype'), url("fonts/ttm/ttm-black.svg#ttm-black") format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'ttm-bold';
  src: url("fonts/ttm/ttm-bold.eot");
  src: url("fonts/ttm/ttm-bold.eot?#iefix") format('embedded-opentype'), url("fonts/ttm/ttm-bold.woff2") format('woff2'), url("fonts/ttm/ttm-bold.woff") format('woff'), url("fonts/ttm/ttm-bold.ttf") format('truetype'), url("fonts/ttm/ttm-bold.svg#ttm-bold") format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'ttm-bold-italic';
  src: url("fonts/ttm/ttm-bolditalic.eot");
  src: url("fonts/ttm/ttm-bolditalic.eot?#iefix") format('embedded-opentype'), url("fonts/ttm/ttm-bolditalic.woff2") format('woff2'), url("fonts/ttm/ttm-bolditalic.woff") format('woff'), url("fonts/ttm/ttm-bolditalic.ttf") format('truetype'), url("fonts/ttm/ttm-bolditalic.svg#ttm-bold_italic") format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'ttm-thin';
  src: url("fonts/ttm/ttm-extralight.eot");
  src: url("fonts/ttm/ttm-extralight.eot?#iefix") format('embedded-opentype'), url("fonts/ttm/ttm-extralight.woff2") format('woff2'), url("fonts/ttm/ttm-extralight.woff") format('woff'), url("fonts/ttm/ttm-extralight.ttf") format('truetype'), url("fonts/ttm/ttm-extralight.svg#ttm-thin") format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'ttm-thin-italic';
  src: url("fonts/ttm/ttm-extralightitalic.eot");
  src: url("fonts/ttm/ttm-extralightitalic.eot?#iefix") format('embedded-opentype'), url("fonts/ttm/ttm-extralightitalic.woff2") format('woff2'), url("fonts/ttm/ttm-extralightitalic.woff") format('woff'), url("fonts/ttm/ttm-extralightitalic.ttf") format('truetype'), url("fonts/ttm/ttm-extralightitalic.svg#ttm-thin_italic") format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'ttm-italic';
  src: url("fonts/ttm/ttm-italic.eot");
  src: url("fonts/ttm/ttm-italic.eot?#iefix") format('embedded-opentype'), url("fonts/ttm/ttm-italic.woff2") format('woff2'), url("fonts/ttm/ttm-italic.woff") format('woff'), url("fonts/ttm/ttm-italic.ttf") format('truetype'), url("fonts/ttm/ttm-italic.svg#ttm-italic") format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'ttm-light';
  src: url("fonts/ttm/ttm-light.eot");
  src: url("fonts/ttm/ttm-light.eot?#iefix") format('embedded-opentype'), url("fonts/ttm/ttm-light.woff2") format('woff2'), url("fonts/ttm/ttm-light.woff") format('woff'), url("fonts/ttm/ttm-light.ttf") format('truetype'), url("fonts/ttm/ttm-light.svg#ttm-light") format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'ttm-light-italic';
  src: url("fonts/ttm/ttm-lightitalic.eot");
  src: url("fonts/ttm/ttm-lightitalic.eot?#iefix") format('embedded-opentype'), url("fonts/ttm/ttm-lightitalic.woff2") format('woff2'), url("fonts/ttm/ttm-lightitalic.woff") format('woff'), url("fonts/ttm/ttm-lightitalic.ttf") format('truetype'), url("fonts/ttm/ttm-lightitalic.svg#ttm-light_italic") format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'ttm-regular';
  src: url("fonts/ttm/ttm-regular.eot");
  src: url("fonts/ttm/ttm-regular.eot?#iefix") format('embedded-opentype'), url("fonts/ttm/ttm-regular.woff2") format('woff2'), url("fonts/ttm/ttm-regular.woff") format('woff'), url("fonts/ttm/ttm-regular.ttf") format('truetype'), url("fonts/ttm/ttm-regular.svg#ttm-regular") format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'ttm-semibold';
  src: url("fonts/ttm/ttm-semibold.eot");
  src: url("fonts/ttm/ttm-semibold.eot?#iefix") format('embedded-opentype'), url("fonts/ttm/ttm-semibold.woff2") format('woff2'), url("fonts/ttm/ttm-semibold.woff") format('woff'), url("fonts/ttm/ttm-semibold.ttf") format('truetype'), url("fonts/ttm/ttm-semibold.svg#ttm-semibold") format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'ttm-semibold_italic';
  src: url("fonts/ttm/ttm-semibolditalic.eot");
  src: url("fonts/ttm/ttm-semibolditalic.eot?#iefix") format('embedded-opentype'), url("fonts/ttm/ttm-semibolditalic.woff2") format('woff2'), url("fonts/ttm/ttm-semibolditalic.woff") format('woff'), url("fonts/ttm/ttm-semibolditalic.ttf") format('truetype'), url("fonts/ttm/ttm-semibolditalic.svg#ttm-semibold_italic") format('svg');
  font-weight: normal;
  font-style: normal;
}
/*******************************
 *
 *   animations
 *
 ******************************/
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    filter: none;
    opacity: 1;
  }
}

@keyframes fadeInSlideUp {
  from {
    opacity: 0;
    transform: translate(0, 20px);
  }
  to {
    filter: none;
    opacity: 1;
    transform: translate(0, 0);
  }
}
/*******************************

  Common styles

********************************/
.btn,
.btn-default {
  background-image: none !important;
}
h1,
h2,
h3,
h4,
h5,
h6,
label {
  font-weight: normal !important;
}
label {
  font-family: ttm-regular;
}

html,
body {
  min-width: 320px;
  position: relative;
}
html .bodywrapper,
body .bodywrapper {
  min-width: 1000px;
  font-family: "ttm-regular";
  font-size: 14px;
}
html .bodywrapper .container,
body .bodywrapper .container {
  max-width: 1440px;
  min-width: auto;
  width: unset;
}

html .bodywrapper a {
    text-decoration: none;
}

html .bodywrapper a .btn {
    font-weight: bold;
}

html .bodywrapper .separator,
body .bodywrapper .separator {
  display: block;
  height: 30px;
}
.page-content {
  padding: 0 20px;
  box-sizing: border-box;
}
.bottom-gray-wrapper {
  margin: 90px 0 -90px 0;
  background-color: var(--light-grey);
  padding-bottom: 60px;
}
.row.-vs {
  margin-top: 6px;
}
.row.-vsb {
  margin-top: 30px;
}
.row.-tbl {
  display: table;
  table-layout: fixed;
  width: calc(100% + 6px);
  height: 100%;
  border-collapse: collapse;
  margin-right: 0;
  margin-left: -3px;
}
.row.-tbl:before,
.row.-tbl:after {
  content: none;
}
.row.-tbl .-col-td {
  padding-left: 3px;
  padding-right: 3px;
  vertical-align: top;
}
.row.-tbl .-col-td.-bottom {
  vertical-align: bottom;
}
.row.-tbl .-col-td.-middle {
  vertical-align: middle;
}
.row.-tbl.-bs {
  margin-left: -15px;
  width: calc(100% + 30px);
}
.row.-tbl.-bs .-col-td {
  padding-left: 15px;
  padding-right: 15px;
}
.-col-td {
  display: table-cell;
  vertical-align: top;
  float: none !important;
  height: 100%;
  padding-top: 0;
  padding-bottom: 0;
}
.-col-td > div {
  box-sizing: content-box;
}
.row-vrt {
  margin-top: -3px;
  margin-bottom: -3px;
  height: calc(100% + 6px);
}
.cell-vrt {
  padding: 3px 0 3px 0;
}
.cell-vrt > div {
  box-sizing: content-box;
}
ol.-esrf {
  counter-reset: li;
  margin-left: 3em;
  padding-left: 0;
  display: block;
}
ol.-esrf > li {
  position: relative;
  padding: 0;
  margin: 5px 0;
  list-style: none;
}
ol.-esrf > li:before {
  content: counter(li) ".";
  counter-increment: li;
  position: absolute;
  top: 1px;
  left: -1.7em;
  box-sizing: border-box;
  width: 1.5em;
  font-size: 95%;
  font-family: ttm-bold;
  text-align: right;
}
ol.-esrf > li ol,
ol.-esrf > li ul {
  margin-top: 10px;
}
ol.-esrf > li:last-child {
  margin-bottom: 10px;
}
ol.-esrf.-roman > li:before {
  content: counter(li, upper-roman) ".";
}
ul.-inline {
  display: inline-block;
  margin: 10px 0;
  padding: 0 0 0 20px;
}
ul.-arrow {
  margin-left: 3em;
  padding-left: 0;
  display: block;
}
ul.-arrow > li {
  position: relative;
  padding: 0;
  margin: 10px 0;
  list-style: none;
}
ul.-arrow > li:before {
  position: absolute;
  top: 1px;
  left: -1.7em;
  box-sizing: border-box;
  width: 1.5em;
  font-family: esrf;
  content: '\e913';
  text-align: left;
}
ul.-arrow.-col2 {
  margin-left: 1.3em;
}
ul.-arrow.-col2 > li {
  padding-left: 1.7em;
}
ul.-arrow.-col2 > li:before {
  left: 0;
}
ul.-arrow.-col2 > li:nth-child(even) {
  padding-left: 2.5em;
}
ul.-arrow.-col2 > li:nth-child(even):before {
  left: 0.85em;
}
ul.-col2:after {
  display: block;
  content: '';
  clear: both;
}
ul.-col2 > li {
  float: left;
  width: 50%;
}
ul.icon-list {
  margin-left: 0;
  padding-left: 0;
}
ul.icon-list > li {
  position: relative;
  padding: 0;
  margin: 18px 0 27px 0;
  list-style: none;
  font-family: ttm-regular;
}
ul.icon-list > li span {
  width: 32px;
  float: left;
  text-align: center;
  font-size: 30px;
  margin: -6px 18px 0 0;
}
ul.icon-list > li span.icon-speedometer {
  font-size: 22px;
  margin-top: 0;
}
ul.icon-list > li span.icon-storage-ring {
  font-size: 28px;
}
ul.icon-list > li:last-child {
  margin-bottom: 0;
}
ul.-italic > li,
ol.-italic > li {
  font-family: ttm-italic;
}
ul.-bold > li,
ol.-bold > li {
  font-family: ttm-bold;
}
.-h100 {
  height: 100%;
}
.-h50 {
  height: 50%;
}
.-h25 {
  height: 25%;
}
.-h20 {
  height: 20%;
}
.-h10 {
  height: 10%;
}
img.fw {
  width: 100%;
  height: auto;
}
.caption {
  margin: 30px 0 !important;
  font-size: 14px;
  color: var(--dark-blue);
}
.caption.-img {
  margin-top: 0 !important;
  margin-left: 10px !important;
}
a[href^="http"]:after {
  display: inline-block;
  content: "\e94d";
  font-family: 'esrf' !important;
  color: inherit;
  font-size: 0.6em;
  margin: -0.2em auto auto 0.6em;
}
a.-internal:after {
  content: none !important;
}
a.image {
  position: relative;
}
a.image:after {
  position: absolute;
  top: 10px;
  right: 5px;
}
.inset {
  font-size: 12px;
  margin-bottom: 0.9em;
  background-color: var(--light-grey);
  border: thin solid #666;
  padding: 5px;
  color: #000;
}
.inset2 {
  font-size: 12px;
  margin-bottom: 0.9em;
  border: 2px solid #666;
  background-color: var(--light-grey);
  padding: 5px;
  color: #000;
}
.important2 {
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 0.9em;
  padding: 5px;
  border: 2px solid #9e1c20;
  color: #000;
}
.tableheader {
  background-color: #def0fe;
  padding: 3px;
  font-weight: bold;
  color: #000;
}
.tableheader1 {
  background-color: #f4c4c5;
  padding: 3px;
  font-weight: bold;
  color: #000;
}
.tableheader2 {
  background-color: #fae8ab;
  padding: 3px;
  font-weight: bold;
  color: #000;
}
.tableheader3 {
  background-color: #edeceb;
  padding: 3px;
  font-weight: bold;
  color: #000;
}
.article-intro,
.lead {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 0.5em;
  color: #000;
}
.quote {
  font-size: 12px;
  color: #1b5092;
  font-style: italic;
  margin-bottom: 0.9em;
}
.small {
  font-size: 10px;
  color: #999;
  margin-bottom: 0.9em;
}
.modif {
  font-size: 10px;
  margin-bottom: 2em;
  color: #000;
}
.legend {
  font-size: 12px;
  color: #16a;
  margin-bottom: 0.9em;
  overflow: hidden;
  padding-left: 0.9em;
}
.attention {
  border-style: solid;
  border-width: 1px;
  border-color: #9e1c20;
  padding: 2px;
}
pre {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}
.alert {
  color: #f00;
  font-size: 18px;
  margin: 15px 0;
}
.important2,
.inset2 {
  background-color: var(--light-grey);
  border: 2px solid var(--dark-blue);
  font-size: 18px;
  margin-bottom: 0.9em;
  padding: 5px;
}
small,
.small {
  font-size: 12px;
}
.legend {
  font-family: 'ttm-regular', Arial, Sans-serif;
  font-size: 14px;
  color: var(--dark-blue);
}
.bodywrapper .rc-group > label,
.bodywrapper .formMarginLeft > label {
  width: 100%;
}
.event-reservation {
  background-color: #e7e9f1;
  padding: 0.5em 0.7em;
  border: none;
  margin: 1em 0;
}
a.icon {
  background: none !important;
}
select {
  display: none;
}
.has-datepicker{
	appearance: none;
	z-index: 300;
	color: var(--dark-blue);
	font-weight: normal;
	border: 1px solid var(--dark-blue);
	padding: 15px 50px 15px 20px;
	line-height: 16px;
	font-size: 16px;
	transition: none;
	display: block;
	width: 100%;
	position: relative;
	text-align: left;
	border-radius: 4px;
	background: white;
	max-width: 412px;
}
.ui-widget.ui-widget-content {
	z-index: 301 !important;
}
#fancybox-loading,
.fancybox-close,
.fancybox-prev span,
.fancybox-next span {
  background-image: url("../media/fancybox/fancybox_sprite.png");
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  #fancybox-loading,
  .fancybox-close,
  .fancybox-prev span,
  .fancybox-next span {
    background-image: url("../media/fancybox/fancybox_sprite@2x.png");
    background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
  }
  #fancybox-loading div {
    background-image: url("../media/fancybox/fancybox_loading@2x.gif");
    background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
  }
}
.bodywrapper section .separator {
  display: block;
  height: 30px;
}
.bodywrapper section .separator.-img {
  position: relative;
  z-index: -1;
  background-position: center;
  background-size: cover;
  margin: -120px -40px -120px -170px;
  height: 670px;
}
.bodywrapper section .blue {
  padding: 80px 65px;
}
.bodywrapper section .white {
  padding: 80px 65px;
}
.bodywrapper section .white h2:first-child {
  margin-top: -17px;
}

.bodywrapper section .white.-fill {
  margin: 0px -40px -40px -40px;
  padding: 0;
}
.bodywrapper section .white.-fill:not(:first-child) {
  margin-top: 40px;
}
.bodywrapper section .white.-fill:last-child {
  padding-bottom: 0;
}
.bodywrapper section .white.-np {
  padding-top: 20px;
  padding-bottom: 20px;
}
.bodywrapper section .white.-ntp {
  padding-top: 20px;
}
.bodywrapper section .white.-nbp {
  padding-bottom: 20px;
}
.bodywrapper section .white .separator {
  background-color: var(--light-grey);
  height: 30px;
  margin: 80px -65px;
}
.bodywrapper section .white .separator.-white {
  background-color: white;
  margin: 0;
}
.bodywrapper section a.btn {
  text-transform: uppercase;
  background-color: transparent;
  color: var(--dark-blue);
  border: 1px solid var(--dark-blue);
  font-size: 15px;
  line-height: 15px;
  font-family: ttm-light;
  padding: 15.5px 20px;
  letter-spacing: 0.65px;
  text-decoration: none;
}
.bodywrapper section p {
  margin: 15px 0;
}
.bodywrapper section .compact p {
  margin: 0;
}
.bodywrapper section p.-idented {
  text-indent: 30px;
}
.bodywrapper section p.-date {
  font-family: ttm-light;
  color: var(--dark-blue);
  margin: 0 0 -30px 0;
  font-size: 16px;
}
.bodywrapper section p.-inline {
  color: var(--dark-blue);
  padding: 0;
  margin: 0;
  display: inline-block;
}
.bodywrapper section p.-inline.-mr {
  margin-right: 20px;
}
.bodywrapper section p.-inline.-ml {
  margin-left: 20px;
}
.bodywrapper section p a {
  text-decoration: underline;
}
.bodywrapper section p a:hover {
  text-decoration: none;
}
.bodywrapper section p.-bold {
  font-family: ttm-semibold;
}
.bodywrapper section p.-red {
  color: #f00;
}
.bodywrapper section h2 {
  font-family: ttm-semibold;
  color: var(--purple);
  font-size: 28px;
  line-height: 30px;
  margin: 60px 0 40px 0;
}
.bodywrapper section h2:first-child {
  margin-top: 0;
}
.bodywrapper section h3 {
  font-family: ttm-bold;
  font-size: 22px;
  display: inline-block;
  margin: 0;
}
.bodywrapper section h3.-underlined {
  text-decoration: underline;
}
.bodywrapper section h3.-dash:before {
  content: "— ";
}
.bodywrapper section h3.-mr {
  margin-right: 20px;
}
.bodywrapper section h3.-ml {
  margin-left: 20px;
}
.bodywrapper section h4 {
  font-family: ttm-bold;
  font-size: 18px;
  display: inline-block;
  margin: 0;
}
.bodywrapper section .news-block-float .float-left {
  float: left;
  margin: 0 20px 20px 0;
}
.bodywrapper section .news-block-float .float-right {
  float: right;
  margin: 0 0 20px 20px;
}
.bodywrapper section .news-block-float p {
  margin: 0 0 10px 0;
  padding: 0;
}
.bodywrapper section .news-block-float img {
  display: block;
}
.bodywrapper section .news-block-float note {
  display: block;
  text-align: center;
  font-size: 14px;
  font-family: ttm-light-italic;
  margin: 10px 0;
}
.bodywrapper section .publications {
  background-color: white;
  padding: 40px 20px;
}
.bodywrapper section .publications article {
  padding: 0;
  margin: 0 0 20px 0;
}
.bodywrapper section .publications article a {
  color: var(--dark-blue);
  text-decoration: underline;
  display: block;
  font-family: ttm-semibold;
}
.bodywrapper section .publications article a:before {
  content: "- ";
}
.bodywrapper section .publications article p {
  font-family: ttm-light;
  line-height: 20px;
  display: block;
  padding: 0;
  margin: 0;
}
.bodywrapper section .publications.-events {
  padding: 40px 65px;
}
.bodywrapper section .publications.-events article {
  margin: 0 0 4px;
}
.bodywrapper section .publications.-events article .date {
  display: inline-block;
  font-family: ttm-light;
}
.bodywrapper section .publications.-events article a {
  color: var(--dark-blue);
  text-decoration: underline;
  display: inline-block;
  font-family: ttm-semibold;
}
.bodywrapper section .publications.-events article a:before {
  content: '';
}
.bodywrapper section .publications.-events article:before {
  content: "- ";
}
.bodywrapper section p.-clean {
  margin: 0;
  padding: 0;
}
.bodywrapper section .wrapper.-squeeze {
  padding: 40px 20px;
}
.bodywrapper section .status-block {
  margin: 0;
}
.bodywrapper section .status-block.-right {
  margin-left: 10px;
}
.bodywrapper section .status-block.-left {
  margin-right: 10px;
}
.bodywrapper section .status-block >.status {
  font-family: ttm-semibold;
}
.bodywrapper section .status-block >.status.-open {
  color: #195700;
}
.bodywrapper section .status-block >.status.-closed {
  color: #f00;
}
.bodywrapper section .status-block >.status.-pending {
  color: var(--orange);
}
.bodywrapper section .form-input-note {
  padding-bottom: 15px;
  font-size: 16px;
  font-family: ttm-italic;
  color: #000;
}
.bodywrapper section .form-input-note stong {
  font-family: ttm-semibold_italic;
}
.bodywrapper section input.btn {
  text-transform: uppercase;
  background-color: white;
  color: var(--dark-blue);
  border: 1px solid var(--dark-blue);
  font-size: 16px;
  line-height: 16px;
  font-family: ttm-light;
  padding: 15px 40px;
  letter-spacing: 0.65px;
  font-weight: normal;
}
.bodywrapper section input.btn[type='submit'] {
  background-color: var(--dark-blue);
  color: white;
}
.bodywrapper section input.btn + input.btn {
  margin-left: 40px;
}
.bodywrapper section table.-esrf {
  width: 100%;
  border-collapse: separate;
  border-spacing: 1px;
  background-color: #dfdfdf;
  font-size: 14px;
}
.bodywrapper section table.-esrf td,
.bodywrapper section table.-esrf th {
  background-color: white;
  padding: 10px 15px;
}
.bodywrapper section table.-esrf td > ul,
.bodywrapper section table.-esrf th > ul,
.bodywrapper section table.-esrf td > ol,
.bodywrapper section table.-esrf th > ol {
  text-align: left;
}
.bodywrapper section table.-esrf td.-title,
.bodywrapper section table.-esrf th.-title {
  font-family: ttm-semibold;
  font-size: 18px;
  text-align: center;
  padding: 5px;
  background-color: #dfdfdf;
}
.bodywrapper section table.-esrf td.-bold,
.bodywrapper section table.-esrf th.-bold {
  font-family: ttm-semibold;
}
.bodywrapper section table.-esrf td.-left,
.bodywrapper section table.-esrf th.-left {
  text-align: left;
}
.bodywrapper section table.-esrf td.-right,
.bodywrapper section table.-esrf th.-right {
  text-align: right;
}
.bodywrapper section table.-esrf td.-center,
.bodywrapper section table.-esrf th.-center {
  text-align: center;
}
.bodywrapper section table.-esrf td.-top,
.bodywrapper section table.-esrf th.-top {
  vertical-align: top;
}
.bodywrapper section table.-esrf td.-middle,
.bodywrapper section table.-esrf th.-middle {
  vertical-align: middle;
}
.bodywrapper section table.-esrf td.-bottom,
.bodywrapper section table.-esrf th.-bottom {
  vertical-align: bottom;
}
.bodywrapper section table.-esrf th[data-sort] {
  cursor: pointer;
  white-space: nowrap;
}
.bodywrapper section table.-esrf th[data-sort] > span.title {
  display: inline-block;
  position: relative;
  border-bottom: 1px solid #bebebe;
}
.bodywrapper section table.-esrf th[data-sort] > span.direction {
  text-decoration: none;
  vertical-align: middle;
  font-size: 10px;
}
.bodywrapper section table.-esrf th[data-sort] > span.direction:before {
  font-family: esrf;
  font-weight: normal;
}
.bodywrapper section table.-esrf th[data-sort='asc'] > .direction:before {
  color: var(--dark-blue);
  content: '\e93f';
}
.bodywrapper section table.-esrf th[data-sort='dsc'] > .direction:before {
  color: var(--dark-blue);
  content: '\e940';
}
.bodywrapper section table.-esrf th[data-sort='none'] > .direction:before {
  content: '\e941';
  color: #dfdfdf;
}
.bodywrapper section table.-esrf a {
  font-family: ttm-semibold;
  text-decoration: underline;
  color: var(--dark-blue);
}
.bodywrapper section table.-esrf.-gh th {
  font-family: ttm-semibold;
  font-size: 18px;
  text-align: center;
  padding: 5px;
  background-color: #dfdfdf;
}
.bodywrapper section fieldset.-esrf {
  padding: 20px 40px;
  border: 5px solid var(--dark-blue);
  box-sizing: border-box;
  font-size: 14px;
  display: block;
  width: 100%;
}
.bodywrapper section fieldset.-esrf legend {
  width: auto;
  padding: 0 10px;
  margin: 0 0 4px 0;
  border: none;
  font-size: 14px;
  text-transform: none;
  font-family: ttm-semibold;
  color: var(--dark-blue);
}
.bodywrapper section fieldset.-esrf dt,
.bodywrapper section fieldset.-esrf dd {
  display: inline-block;
  box-sizing: border-box;
  margin-bottom: 5px;
}
.bodywrapper section fieldset.-esrf dt:last-child,
.bodywrapper section fieldset.-esrf dd:last-child {
  margin-bottom: 0;
}
.bodywrapper section fieldset.-esrf dt {
  width: 39%;
  font-family: ttm-regular;
  color: #666;
}
.bodywrapper section fieldset.-esrf dd {
  font-family: ttm-semibold;
  width: 60%;
}
.bodywrapper .blue {
  background-color: var(--turquoise);
}
.bodywrapper .blue * {
  color: white;
}
.bodywrapper .primary {
  background-color: var(--dark-blue);
}
.bodywrapper .primary * {
  color: white;
}
.bodywrapper .white {
  background-color: white;
}
/*******************************
 *
 *   C01-Bottom
 *
 ******************************/
.bodywrapper .bg-content {
  position: relative;
  margin-top: 90px;
  margin-bottom: -90px;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: contain;
  background-color: var(--light-grey);
  padding-bottom: 12px;
}
.bodywrapper .bg-content .page-content {
  position: relative;
  z-index: 2;
}
.bodywrapper .bg-content .tile.-promoted .image {
  margin-left: -10px;
}
/*******************************
 *
 *   C01-map
 *
 ******************************/
.bodywrapper .bg-map {
  position: absolute;
  left: 0;
  right: 0;
  top: auto;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: contain;
  min-height: 865px;
  padding-bottom: 360px;
  z-index: 1;
}
/*******************************
 *
 *   M39-U&S-home-pinfo
 *
 ******************************/
.bodywrapper .primary.-u-s-home {
  background-color: var(--dark-blue);
  padding: 40px 65px 50px 65px;
}
.bodywrapper .primary.-u-s-home .wrapper {
  white-space: nowrap;
  color: white;
  width: 65%;
  margin: 0 auto;
}
.bodywrapper .primary.-u-s-home .wrapper .title {
  display: inline-block;
  width: 30%;
  vertical-align: top;
  font-size: 28px;
  position: relative;
  line-height: 32px;
  white-space: normal;
  padding-right: 20px;
}
.bodywrapper .primary.-u-s-home .wrapper .title .icon-chevron-right {
  margin-top: 30px;
  position: relative;
  font-size: 7px;
  line-height: 7px;
  height: 7px;
  width: 45%;
}
.bodywrapper .primary.-u-s-home .wrapper .title .icon-chevron-right:before {
  position: absolute;
  right: 0;
}
.bodywrapper .primary.-u-s-home .wrapper .title .icon-chevron-right:after {
  position: absolute;
  top: 3px;
  height: 1px;
  width: 100%;
  background-color: white;
  display: block;
  content: '';
}
.bodywrapper .primary.-u-s-home .wrapper ul {
  vertical-align: top;
  white-space: nowrap;
  display: inline-block;
  width: 70%;
  list-style-type: none;
  margin: 40px 0 0 0;
  padding: 0;
}
.bodywrapper .primary.-u-s-home .wrapper ul:after {
  content: '';
  clear: both;
  display: block;
}
.bodywrapper .primary.-u-s-home .wrapper ul li {
  float: left;
  width: 50%;
  margin: 10px 0;
  font-size: 18px;
}
.bodywrapper .primary.-u-s-home .wrapper ul li a {
  color: white;
  text-decoration: none;
  line-height: 20px;
}
.bodywrapper .primary.-u-s-home .wrapper ul li a:hover {
  font-weight: bold;
}
.bodywrapper .primary.-u-s-home .wrapper ul li a span {
  position: relative;
  top: -2px;
  display: inline-block;
  font-size: 30px;
  line-height: 30px;
  vertical-align: middle;
  width: 40px;
  margin-right: 10px;
}

/*******************************
 *
 *   C19-Events-home
 *
 ******************************/
.bodywrapper .events-header {
  text-align: center;
}
.bodywrapper .events-header p {
  text-align: left;
  padding: 0;
  margin: 0 0 40px 0;
  font-family: ttm-regular;
  font-size: 18px;
  font-style: normal;
  text-transform: none;
}
.bodywrapper form.-events-filter .-col-td {
  vertical-align: bottom;
  padding-left: 20px;
}
.bodywrapper form.-events-filter .-col-td:first-child {
  padding-left: 3px;
}
/*******************************
 *
 *   C23-Industry-home-info
 *
 ******************************/
.bodywrapper .primary.-industry,
.bodywrapper .primary.-education {
  background-color: var(--dark-blue);
  padding: 40px 15% 50px 15%;
  color: white;
  text-align: center;
  font-size: 28px;
  line-height: 35px;
}
/*******************************
 *
 *   C25-Jobs-UI
 *
 ******************************/
.bodywrapper .jobs-profiles {
  margin: 0 -3px 6px -3px;
}
.bodywrapper .jobs-profiles ul.profiles {
  width: 100%;
  padding: 0;
  margin: 0;
}
.bodywrapper .jobs-profiles ul.profiles:after {
  content: '';
  display: block;
  clear: both;
}
.bodywrapper .jobs-profiles ul.profiles li {
  cursor: pointer;
  float: left;
  width: 25%;
  height: 190px;
  padding: 0 3px;
  margin: 0;
}
.bodywrapper .jobs-profiles ul.profiles li > .tile {
  position: relative;
  color: white;
}
.bodywrapper .jobs-profiles ul.profiles li > .tile > .content {
  display: none;
  z-index: 5;
  text-align: center;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  transform: translate(-50%, -35%);
  padding: 0 15px;
}
.bodywrapper .jobs-profiles ul.profiles li > .tile > .content > .fullname {
  font-family: ttm-semibold;
  font-size: 22px;
  width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.bodywrapper .jobs-profiles ul.profiles li > .tile > .content > .position {
  font-family: ttm-regular;
  font-size: 18px;
  text-transform: uppercase;
  width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.bodywrapper .jobs-profiles ul.profiles li > .tile > .content > a {
  box-sizing: border-box;
  display: inline-block;
  margin-top: 15px;
  width: 30px;
  height: 30px;
  background-color: #000;
  border: 1px solid white;
  border-radius: 6px;
}
.bodywrapper .jobs-profiles ul.profiles li > .tile > .content > a:before {
  color: white;
  text-decoration: none;
  text-align: center;
  content: '\e93b';
  font-family: esrf;
  font-size: 16px;
  line-height: 30px;
  width: 30px;
  height: 30px;
  position: relative;
  top: -1px;
}
.bodywrapper .jobs-profiles ul.profiles li > .tile > .dimmer {
  display: none;
  z-index: 1;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: #000;
  opacity: 0.3;
}
.bodywrapper .jobs-profiles ul.profiles li > .tile > .text {
  display: none;
}
.bodywrapper .jobs-profiles ul.profiles li:hover > .tile > .content {
  display: block;
}
.bodywrapper .jobs-profiles ul.profiles li:hover > .tile > .dimmer {
  display: block;
}
.bodywrapper .jobs-profiles ul.profiles li.active {
  cursor: default;
}
.bodywrapper .jobs-profiles ul.profiles li.active > .tile > .dimmer {
  display: block;
  opacity: 0.6;
  background-color: var(--dark-blue);
}
.bodywrapper .jobs-profiles ul.profiles li.active:hover > .tile > .content {
  display: none;
}
.bodywrapper .jobs-profiles .view {
  margin-top: 6px;
  padding: 0 3px;
}
.bodywrapper .jobs-profiles .view:after {
  content: '';
  display: block;
  clear: both;
}
.bodywrapper .jobs-profiles .view > .media {
  float: left;
  position: relative;
  width: 60%;
  height: 450px;
  background-position: center;
  background-size: cover;
  z-index: 10;
}
.bodywrapper .jobs-profiles .view > .content {
  padding: 45px 50px 30px 50px;
  background-color: white;
  float: right;
  position: relative;
  width: 55%;
  min-height: 370px;
  margin-top: -370px;
  margin-right: 20px;
  z-index: 50;
  box-shadow: 0px 0px 15px 3px rgba(0,0,0,0.05);
}
.bodywrapper .jobs-profiles .view > .content > .name {
  font-size: 28px;
}
.bodywrapper .jobs-profiles .view > .content > .position {
  font-family: ttm-light;
  font-size: 18px;
}
.bodywrapper .jobs-profiles .view > .content > .text {
  margin: 48px auto;
  position: relative;
  font-family: ttm-italic;
  font-size: 18px;
  line-height: 28px;
}
.bodywrapper .jobs-profiles .view > .content > .text:before,
.bodywrapper .jobs-profiles .view > .content > .text:after {
  content: '"';
  position: absolute;
  font-size: 65px;
  font-family: ttm-thin;
  font-style: italic;
}
.bodywrapper .jobs-profiles .view > .content > .text:before {
  top: -15px;
  left: -12px;
}
.bodywrapper .jobs-profiles .view > .content > .text:after {
  bottom: -47px;
  right: 18px;
}
.bodywrapper .jobs-profiles .view > .content a {
  text-transform: uppercase;
  background-color: transparent;
  color: var(--dark-blue);
  border: 1px solid var(--dark-blue);
  font-size: 15px;
  line-height: 15px;
  font-family: ttm-light;
  padding: 15.5px 20px;
  letter-spacing: 0.65px;
  text-decoration: none;
  border-radius: 4px;
}
.bodywrapper .jobs-profiles .view > .content a > span {
  transform: none !important;
}
/*******************************************
 *
 *   С15-U&S-support-infrastructure
 *
 ******************************************/
.bodywrapper .support-infrastructure .white,
.bodywrapper .support-infrastructure > p {
  line-height: 30px;
}
.bodywrapper .support-infrastructure .white a,
.bodywrapper .support-infrastructure > p a {
  text-decoration: underline;
  color: #000;
}
.bodywrapper .support-infrastructure .white a:hover,
.bodywrapper .support-infrastructure > p a:hover {
  color: #a3a3a3;
}
/*******************************
 *
 *   С26-recruitement-portal
 *
 ******************************/
.bodywrapper .recruitement-portal .white > p.-idented {
  margin: 50px 0;
}
.bodywrapper .recruitement-portal .white > p a {
  font-family: ttm-bold;
  text-decoration: underline;
}
/*******************************
 *
 *   E01-input-email
 *
 ******************************/
.bodywrapper .input-group.-email {
  margin-top: 25px;
}
.bodywrapper .input-group.-email input,
.bodywrapper .input-group.-email button {
  border-color: white;
  border-width: 1px;
  color: inherit;
  background-color: transparent;
  line-height: 45px;
  height: 45px;
  padding: 0 18px;
}
.bodywrapper .input-group.-email input {
  font-size: 15px;
}
.bodywrapper .input-group.-email button {
  background: none;
  font-size: 12px;
}
.bodywrapper .input-group.-email button:before {
  font-family: esrf;
  content: "\e90e";
}
.bodywrapper .input-group.-email button.-disabled {
  cursor: not-allowed;
}
.bodywrapper .input-group.-email button.-disabled:before {
  color: rgba(208,208,193,0.5);
}
/*******************************

  M36-Form-select

********************************/
.bodywrapper .select {
  font-family: 'ttm-regular';
  color: var(--dark-blue);
  display: block;
  position: relative;
  width: 100%;
  max-width: 412px;
  margin: 0;
}
.bodywrapper .select label {
  font-size: 18px;
  line-height: 18px;
  margin-bottom: 13px;
  color: var(--dark-blue);
}
.bodywrapper .select .select-toggle {
  z-index: 300;
  color: var(--dark-blue);
  font-weight: normal;
  border: 1px solid var(--dark-blue);
  padding: 15px 50px 15px 20px;
  line-height: 16px;
  font-size: 16px;
  transition: none;
  display: block;
  width: 100%;
  position: relative;
  text-align: left;
}
.bodywrapper .select .select-toggle:focus {
  outline: none;
}
.bodywrapper .select .select-toggle:after {
  position: absolute;
  vertical-align: middle;
  font-family: esrf;
  content: "\e90c";
  font-size: 15px;
  width: 50px;
  right: 0;
  text-align: center;
}
.bodywrapper .select .select-toggle.first-hover {
  border-bottom: 1px solid var(--turquoise);
}
.bodywrapper .select.open {
  z-index: 1000;
}
.bodywrapper .select.open .select-toggle {
  border-radius: 4px 4px 0 0;
  border-bottom: 1px solid white;
}
.bodywrapper .select.open ul.select-menu {
  display: block;
}
.bodywrapper .select ul.select-menu {
  box-shadow: 0 6px 12px rgba(0,0,0,0.175);
  width: 100%;
  position: absolute;
  background-color: white;
  margin: -1px 0 0 0;
  border: 1px solid var(--dark-blue);
  padding: 0;
  border-radius: 0 4px 4px 4px;
  list-style-type: none;
  display: none;
}
.bodywrapper .select ul.select-menu.select-menu-right {
  border-radius: 4px 0 4px 4px;
}
.bodywrapper .select ul.select-menu.select-menu-right li:first-child a {
  border-radius: 3px 0 0 0;
}
.bodywrapper .select ul.select-menu.equal {
  border-radius: 0 0 4px 4px;
}
.bodywrapper .select ul.select-menu.equal li:first-child a {
  border-radius: 0;
}
.bodywrapper .select ul.select-menu li {
  display: block;
  padding: 3px 20px;
  font-size: 16px;
  cursor: pointer;
  line-height: 30px;
  border-radius: 0;
}
.bodywrapper .select ul.select-menu li:hover {
  background-color: var(--turquoise);
  color: white;
  text-decoration: none;
}
.bodywrapper .select ul.select-menu:first-child {
  border-radius: 0 3px 0 0;
}
.bodywrapper .select ul.select-menu:last-child {
  border-radius: 0 0 3px 3px;
}
/*******************************
 *
 *   M01-Header
 *
 ******************************/
.bodywrapper .header {
  height: 160px;
  position: relative;
  text-transform: uppercase;
  font-family: ttm-semibold;
  font-size: 15px;
}
.bodywrapper .header.header-intranet {
  background-image: url("images/intranet-header.png");
  background-repeat: no-repeat;
  background-position: center;
}
.bodywrapper .header.header-intranet nav.global > ul > li:hover,
.bodywrapper .header.header-intranet nav.global > ul > li:focus {
  border-bottom: 5px solid #ed7703;
  animation-name: headerMenuBottomLine-intranet;
}
.bodywrapper .header.header-intranet nav.global > ul > li:hover:before,
.bodywrapper .header.header-intranet nav.global > ul > li:focus:before {
  background-color: #ed7703;
  animation-name: headerMenuTopLine-intranet;
}
.bodywrapper .header.header-intranet nav.global > ul > li.active,
.bodywrapper .header.header-intranet nav.global > ul > li.show-submenu {
  border-bottom-color: #ed7703;
}
.bodywrapper .header.header-intranet nav.global > ul > li> ul {
  background-color: #ed7703;
}
.bodywrapper .header.header-intranet nav.global > ul > li> ul> li {
  background-color: #ed7703;
}
.bodywrapper .header.header-intranet nav.global > ul > li> ul> li> a {
  background-color: #ed7703;
}

.bodywrapper .header div.clear {
  display: none;
}
.bodywrapper .header a.icon-logo {
  line-height: 160px;
  font-size: 120px;
  color: var(--dark-blue);
  text-decoration: none;
  height: inherit;
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: auto;
}
.bodywrapper .header > .content {
  display: flex;
  margin-left: 100px;
  align-items: flex-end;
  justify-content: space-between;
}
.bodywrapper .header nav.global > ul {
  list-style: none;
  padding: 0;
  margin: 0;
  position: absolute;
  top: auto;
  right: auto;
  bottom: 0px;
  left: 173px;
}
.bodywrapper .header nav.global > ul:after {
  content: "";
  display: block;
  clear: both;
}
.bodywrapper .header nav.global > ul >li {
  margin-left: 46px;
  float: left;
  position: relative;
  border-bottom: 5px solid transparent;
  cursor: pointer;
  height: 56px;
}
.bodywrapper .header nav.global > ul >li:before {
  content: "";
  display: block;
  background-color: transparent;
  height: 2px;
  position: absolute;
  top: 0;
  width: 100%;
}
.bodywrapper .header nav.global > ul >li:hover,
.bodywrapper .header nav.global > ul >li:focus {
  border-bottom: 5px solid var(--purple);
  animation-name: headerMenuBottomLine;
  animation-duration: 0.6s;
}
.bodywrapper .header nav.global > ul >li:hover:before,
.bodywrapper .header nav.global > ul >li:focus:before {
  top: 15px;
  background-color: var(--purple);
  animation-name: headerMenuTopLine;
  animation-duration: 0.6s;
}
.bodywrapper .header nav.global > ul >li:hover >a,
.bodywrapper .header nav.global > ul >li >a:focus {
  top: 26px;
  animation-name: headerMenuLink;
  animation-duration: 0.6s;
}
.bodywrapper .header nav.global > ul >li:hover >a:before,
.bodywrapper .header nav.global > ul >li >a:focus:before {
  position: absolute;
  top: -28px;
  right: 0;
  bottom: 0;
  left: 0;
}
.bodywrapper .header nav.global > ul >li:hover >ul,
.bodywrapper .header nav.global > ul >li>a:focus + ul {
  height: auto;
  filter: none;
  opacity: 1;
  max-height: 490px;
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: 75px 55px 55px 55px 55px 55px 75px;
  grid-auto-columns: max-content;
}
.bodywrapper .header nav.global > ul >li.show-submenu {
  border-bottom: 5px solid var(--purple);
}
.bodywrapper .header nav.global > ul >li.show-submenu> ul {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: 75px auto auto auto auto auto auto;
  grid-auto-columns: max-content;
  height: auto;
   filter: none;
  opacity: 1;
  max-height: 490px;
}
.bodywrapper .header nav.global > ul >li >a {
  text-decoration: none;
  color: #171717;
  position: relative;
}
.bodywrapper .header nav.global > ul >li >a:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
.bodywrapper .header nav.global > ul >li >ul {
  list-style: none;
  display: none;
  padding: 0 0 20px;
  margin: 0;
  position: absolute;
  top: calc(100% + 5px);
  left: -20px;
  background-color: var(--purple);
  z-index: 1000;
  height: 0;
  opacity: 0;
	transition: opacity 1s;
}
.bodywrapper .header nav.global > ul >li >ul >li {
  position: relative;
  padding: 10px 30px 10px 25px;
  min-width: 200px;
  background-color: var(--purple);
}
.bodywrapper .header nav.global > ul >li >ul >li:first-child,
.bodywrapper .header nav.global > ul >li >ul >li:nth-child(7n+1) {
  padding-top: 30px;
}
.bodywrapper .header nav.global > ul >li >ul >li:first-child:before,
.bodywrapper .header nav.global > ul >li >ul >li:nth-child(7n+1):before,
.bodywrapper .header nav.global > ul >li >ul >li:first-child:after,
.bodywrapper .header nav.global > ul >li >ul >li:nth-child(7n+1):after {
  top: 48px;
}
.bodywrapper .header nav.global > ul >li >ul >li:before {
  display: block;
  content: "";
  position: absolute;
  top: 28px;
  width: 10px;
  height: 1px;
  left: 18px;
  background-color: white;
  z-index: 0;
  opacity: 0.5;
}
.bodywrapper .header nav.global > ul >li >ul >li:after {
  display: block;
  content: "";
  position: absolute;
  top: 28px;
  width: 88%;
  height: 1px;
  right: 12px;
  background-color: white;
  z-index: 0;
  opacity: 0;
}
.bodywrapper .header nav.global > ul >li >ul >li:hover:before,
.bodywrapper .header nav.global > ul >li >ul >li:hover:after {
  filter: none;
  opacity: 1;
}
.bodywrapper .header nav.global > ul >li >ul >li >a {
  display: inline-block;
  white-space: nowrap;
  color: white;
  font-family: ttm-regular;
  font-size: 14px;
  text-transform: none;
  line-height: 35px;
  background-color: var(--purple);
  padding: 0 10px;
  text-decoration: none;
  position: relative;
  z-index: 1;
}
.bodywrapper .header nav.global > ul >li.active {
  border-bottom: 5px solid var(--purple);
  cursor: default;
}
.bodywrapper .header nav.global > ul >li.active > a {
  cursor: inherit;
}
.bodywrapper .header nav.global > ul >li:last-child > ul {
  left: auto;
  right: -20px;
}
.bodywrapper .header .right-block {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: auto 0;
  gap: 8px;
}

.bodywrapper .header .header-top {
  height: 160px
}

.bodywrapper .header .right-block a.button {
  border: 1px solid var(--dark-blue);
  color: var(--dark-blue);
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  padding: 0 16px;
  font-size: 13px;
  line-height: 28px;
  border-radius: 4px;

  &::after {
    content: none;
  }

  &:hover {
    box-shadow: var(--button-box-shadow);
  }

}

.bodywrapper .header .right-block .input-group {
  position: relative;
  display: inline-block;
  padding-right: 30px;
}
.bodywrapper .header .right-block .input-group input {
  border: 1px solid var(--mid-grey);
  height: 30px;
}
.bodywrapper .header .right-block .input-group input#searchGadget {
  font-size: 13px;
  line-height: 30px;
  width: 125px;
  padding: 0 0 0 15px;
  box-shadow: none;

  &:hover {
    box-shadow: var(--button-box-shadow);
  }
}

.bodywrapper .header .right-block .input-group input#searchGadget.input-no-submit {
  width: 105px;
  border: 1px solid var(--dark-blue);
  color: var(--dark-blue);
  padding: 0 16px;
  border-radius: 4px;
}
.bodywrapper .header .right-block .input-group input#searchGadget.input-no-submit:focus-visible {
  background-color: yellow;
  box-shadow: var(--button-box-shadow);
  font-family: ttm-semibold;
}
.bodywrapper .header .right-block .input-group input#submit {
  color: transparent;
  background-color: white;
  overflow: hidden;
  border-radius: 0 15px 15px 0;
  border-left: none;
  display: inline-block;
  position: absolute;
  top: auto;
  right: 0;
  bottom: auto;
  left: auto;
  margin: 0;
  padding: 0;
  width: 30px;
  background-size: 15px;
  background-position: 35% 45%;
  background-repeat: no-repeat;
  background-image: url("images/search.svg");
}

@keyframes headerMenuLink {
  from {
    top: 0;
  }
  to {
    top: 26px;
  }
}

@keyframes headerMenuTopLine {
  from {
    top: 0;
    background-color: transparent;
  }
  to {
    top: 15px;
    background-color: var(--purple);
  }
}

@keyframes headerMenuBottomLine {
  from {
    border-color: transparent;
  }
  to {
    border-color: var(--purple);
  }
}

@keyframes headerMenuTopLine-intranet {
  from {
    top: 0;
    background-color: transparent;
  }
  to {
    top: 15px;
    background-color: #ed7703;
  }
}

@keyframes headerMenuBottomLine-intranet {
  from {
    border-color: transparent;
  }
  to {
    border-color: #ed7703;
  }
}
/*******************************
 *
 *   M02-Footer
 *
 ******************************/
.bodywrapper .footer {
  position: relative;
  z-index: 3;
  margin-top: 90px;
  font-size: 15px;
  background-color: var(--darker-blue);
  color: white;
}
.bodywrapper .footer div.clear {
  display: none;
}
.bodywrapper .footer .container {
  padding-top: 37px;
  padding-bottom: 25px;
}
.bodywrapper .footer .navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
  top: -7px;
}
.bodywrapper .footer .navigation ul >li a {
  color: white;
  text-decoration: none;
  line-height: 34px;
  font-size: 15px;
}
.bodywrapper .footer.footer-intranet .navigation ul {
  display: flex;
  justify-content: space-between;
}
.bodywrapper .footer.footer-intranet .navigation ul li {
  display: inline;
  margin: 0 8px;
}
.bodywrapper .footer .partners .title {
  font-family: ttm-semibold;
  font-size: 15px;
  text-transform: uppercase;
}
.bodywrapper .footer .partners div.icons ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
  text-align: justify;
}
.bodywrapper .footer .partners div.icons ul:after {
  width: 100%;
  display: inline-block;
  content: "";
  visibility: hidden;
}
.bodywrapper .footer .partners div.icons ul > li {
  display: inline;
}
.bodywrapper .footer .partners div.icons ul > li > a {
  text-decoration: none;
  line-height: 53px;
}
.bodywrapper .footer .partners div.icons ul > li > a:after {
  content: none !important;
}
.bodywrapper .footer .copyright {
  text-align: right;
  margin: 60px 0 0 0;
  font-size: 14px;
}
.bodywrapper .footer .copyright p {
  margin: 0;
}
/*******************************
 *
 *   M03-WideSlider
 *
 ******************************/
.bodywrapper .wide-slider {
  max-height: 470px;
  position: relative;
  overflow: hidden;
}
.bodywrapper .wide-slider > .carousel > .carousel-inner > .item {
  height: 470px;
}
.bodywrapper .wide-slider > .carousel > .carousel-inner > .item > a,
.bodywrapper .wide-slider > .carousel > .carousel-inner > .item > div {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.bodywrapper .wide-slider > .carousel > .carousel-inner > .item > a > .slide-label,
.bodywrapper .wide-slider > .carousel > .carousel-inner > .item > div > .slide-label {
  text-align: center;
  position: absolute;
  top:	50%;
  left:	50%;
  color: white;
  font-family: ttm-semibold;
  font-size: 18px;
  background-color: var(--dark-blue);
  padding: 20px;
  transform: translate(-50%, -50%);
}

.bodywrapper .wide-slider > .carousel > .carousel-inner > .item > a > .slide-label.left,
.bodywrapper .wide-slider > .carousel > .carousel-inner > .item > div > .slide-label.left {
  left:	20%;
  background-color: var(--dark-blue);
  max-width: 34rem;
}

.bodywrapper .wide-slider > .carousel > .carousel-inner > .item > a > .slide-label.right,
.bodywrapper .wide-slider > .carousel > .carousel-inner > .item > div > .slide-label.right {
  left:	80%;
  background-color: var(--dark-blue);
  max-width: 34rem;
}

.bodywrapper .wide-slider > .carousel > .carousel-inner > .item > a > .slide-label >.title,
.bodywrapper .wide-slider > .carousel > .carousel-inner > .item > div > .slide-label >.title {
  text-transform: uppercase;
  font-size: 28px;
}
.bodywrapper .wide-slider > .carousel > .carousel-inner > .item > a > img,
.bodywrapper .wide-slider > .carousel > .carousel-inner > .item > div > img {
  margin: 0 auto;
}
.bodywrapper .wide-slider > .carousel > .carousel-indicators > li.active {
  background-color: var(--orange);
}

/*******************************
 *
 *   Agenda events home
 *
 ******************************/

 .bodywrapper .agenda-home {
   background: var(--dark-blue);
  }
.bodywrapper .agenda-home > h2 {
  font-size: 28px;
  margin-top: 72px;
  margin-bottom: 72px;
  margin-left: 72px;
  position: absolute;
  line-height: 32px;
}

.bodywrapper  .event-items {
   padding: 120px 72px 36px 72px;
}

.bodywrapper  .event-date,
.bodywrapper .agenda-home > h2 > a.title {
  color: white;
}

.bodywrapper .event-title {
	margin-bottom: 12px;
}

.bodywrapper .event-more > a,
.bodywrapper .event-title > a {
	color: var(--yellow);
}

.bodywrapper .event-date,
.bodywrapper .event-title {
	font-size: 18px;
}

.text-overflow-ellipsis-two-lines {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/*******************************
 *
 *   M05-Event-Slider
 *
 ******************************/
.bodywrapper .event-slider {
  background-color: var(--turquoise);
  max-height: 100%;
  height: 100%;
}
.bodywrapper .event-slider > #eventslider {
  position: relative;
  height: 100%;
}
.bodywrapper .event-slider > #eventslider > a.title {
  position: absolute;
  top: 70px;
  left: 70px;
  right: 70px;
  font-family: 'ttm-regular';
  font-size: 28px;
  line-height: 30px;
  margin: 0;
  z-index: 1000;
  color: white;
  text-decoration: none;
}
.bodywrapper .event-slider > #eventslider > .carousel-indicators {
  bottom: 30px;
  width: 26%;
  margin-left: -13%;
}
.bodywrapper .event-slider > #eventslider > .carousel-indicators > li {
  background-color: white;
  /*border: 1px solid white;*/
  margin-right: 4px;
  margin-bottom: 1px;
  width: 9px;
  height: 9px;
}
.bodywrapper .event-slider > #eventslider > .carousel-indicators > li.active {
  background-color: var(--orange);
  /*border: 1px solid var(--orange);*/
}
.bodywrapper .event-slider > #eventslider > .carousel-indicators > li:last-child {
  margin-right: 0;
}
.bodywrapper .event-slider > #eventslider > .carousel-inner {
  height: 100%;
}
.bodywrapper .event-slider > #eventslider > .carousel-inner > .item {
  padding: 121px 70px 35px 70px;
  background: var(--turquoise);
  height: 100%;
  min-height: 320px;
}
.bodywrapper .event-slider > #eventslider > .carousel-inner > .item > .slide-label {
  color: white;
}
.bodywrapper .event-slider > #eventslider > .carousel-inner > .item > .slide-label .date {
  font-family: 'ttm-regular';
  font-size: 16px;
  margin-bottom: 6px;
}
.bodywrapper .event-slider > #eventslider > .carousel-inner > .item > .slide-label .title {
  font-family: 'ttm-regular';
  font-size: 18px;
  line-height: 26px;
}
.bodywrapper .event-slider > #eventslider > .carousel-inner > .item > .slide-label > .more {
  font-family: 'ttm-thin-italic';
  font-size: 16px;
  line-height: 30px;
  text-decoration: none;
  color: white;
  margin-top: 20px;
}
.bodywrapper .event-slider > #eventslider > .carousel-control {
  color: white;
  background: none;
  width: 10px;
  height: 15px;
  font-family: esrf;
  position: absolute;
  top: auto;
  bottom: 47px;
  filter: none;
  opacity: 1;
}
.bodywrapper .event-slider > #eventslider > .carousel-control > .ico-chevron-left {
  display: block;
  color: white;
  font-size: 15px;
  text-shadow: none;
  font-weight: normal;
  width: 10px;
  height: 15px;
}
.bodywrapper .event-slider > #eventslider > .carousel-control > .ico-chevron-left:before {
  content: "\e90d";
}
.bodywrapper .event-slider > #eventslider > .carousel-control > .ico-chevron-right {
  display: block;
  color: white;
  font-size: 15px;
  text-shadow: none;
  font-weight: normal;
  width: 10px;
  height: 15px;
}
.bodywrapper .event-slider > #eventslider > .carousel-control > .ico-chevron-right:before {
  content: "\e90e";
}
.bodywrapper .event-slider > #eventslider > .carousel-control:hover > .ico-chevron-left,
.bodywrapper .event-slider > #eventslider > .carousel-control:hover > .ico-chevron-right {
  color: var(--orange);
}
.bodywrapper .event-slider > #eventslider > .carousel-control.left {
  left: 35%;
}
.bodywrapper .event-slider > #eventslider > .carousel-control.right {
  right: 35%;
}
/*******************************
 *
 *   M08-section-header.styl
 *
 ******************************/
.bodywrapper .section-header {
  margin: 75px 0 33px 0;
  color: var(--dark-blue);
  text-transform: uppercase;
}
.bodywrapper .section-header:before,
.bodywrapper .section-header:after {
  content: " ";
  display: table;
}
.bodywrapper .section-header:after {
  clear: both;
}
.bodywrapper .section-header a {
  text-decoration: none;
}
.bodywrapper .section-header > .title {
  float: left !important;
  padding: 0 !important;
  margin: 0 0 0 25px !important;
  font-family: ttm-light !important;
  font-size: 28px !important;
  line-height: 28px !important;
  letter-spacing: 2px !important;
  color: var(--dark-blue) !important;
}
.bodywrapper .section-header > .view {
  float: right;
  font-size: 16px;
  line-height: 16px;
  font-family: ttm-regular;
  margin: 11px 15px 0 0;
  letter-spacing: 1.55px;
}
.bodywrapper .section-header > .view:before {
  font-family: esrf;
  content: "\e90f";
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
  font-size: 26px;
  position: relative;
  top: -1px;
  right: auto;
  bottom: auto;
  left: auto;
}

.bodywrapper .section-header > .socials {
  text-transform: none;
  font-size: 19px;
  letter-spacing: 0;
  float: right;
  margin: 4px 20px 0 0;
  position: relative;
  top: -4px;
}
.bodywrapper .section-header > .socials > ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: inline-block;
  position: relative;
  bottom: -5px;
}
.bodywrapper .section-header > .socials > ul > li {
  float: left;
  margin-left: 15px;
}

.bodywrapper .section-header > .socials .rss,
.bodywrapper .section-header > .socials .twitter,
.bodywrapper .section-header > .socials .youtube,
.bodywrapper .section-header > .socials .instagram,
.bodywrapper .section-header > .socials .facebook,
.bodywrapper .section-header > .socials .bluesky,
.bodywrapper .section-header > .socials .linkedin {
  display: inline-block;
  background-color: var(--dark-blue);
  border-radius: 50%;
  color: white;
  line-height: 26px;
  height: 26px;
  width: 26px;
  text-align: center;
}
.bodywrapper .section-header > .socials .rss:before,
.bodywrapper .section-header > .socials .twitter:before,
.bodywrapper .section-header > .socials .youtube:before,
.bodywrapper .section-header > .socials .instagram:before,
.bodywrapper .section-header > .socials .facebook:before,
.bodywrapper .section-header > .socials .bluesky:before,
.bodywrapper .section-header > .socials .linkedin:before {
  font-family: esrf;
  font-size: 12px;
  position: relative;
  top: -2px;
  right: auto;
  bottom: auto;
  left: auto;
}
.bodywrapper .section-header > .socials .rss:after,
.bodywrapper .section-header > .socials .twitter:after,
.bodywrapper .section-header > .socials .youtube:after,
.bodywrapper .section-header > .socials .instagram:after,
.bodywrapper .section-header > .socials .facebook:after,
.bodywrapper .section-header > .socials .bluesky:after,
.bodywrapper .section-header > .socials .linkedin:after {
  content: none !important;
}
.bodywrapper .section-header > .socials .rss:before {
  content: "\e905";
}
.bodywrapper .section-header > .socials .twitter:before {
  content: "\e959";
}
.bodywrapper .section-header > .socials .youtube:before {
  content: "\e907";
}
.bodywrapper .section-header > .socials .instagram:before {
  content: "\e908";
}
.bodywrapper .section-header > .socials .facebook:before {
  content: "\e909";
}
.bodywrapper .section-header > .socials .linkedin:before {
  content: "\e93a";
}
.bodywrapper .section-header > .socials .bluesky:before {
  content: "\e95a";
}
/*******************************
 *
 *   M10-Rss-tile
 *
 ******************************/
.bodywrapper .rss-wrapper {
  box-sizing: border-box;
  background: #ee802f;
  width: 100%;
  color: white;
  padding: 55px 70px;
  overflow: hidden;
  height: 385px;
}
.bodywrapper .rss-wrapper > .rss-header {
  display: block;
  margin-bottom: 20px;
  font-family: 'ttm-thin-italic';
  color: white;
  text-decoration: none;
}
.bodywrapper .rss-wrapper > .rss-header > .icon-rss {
  display: inline-block;
  margin: 3px 9px 0 0;
  font-size: 15px;
}
.bodywrapper .rss-wrapper > .rss-header > .title {
  display: inline-block;
  font-size: 15px;
  line-height: 18px;
}
.bodywrapper .rss-wrapper > .rss-widget {
  font-size: 18px;
  line-height: 22px;
  font-family: ttm-regular;
}
.bodywrapper .rss-wrapper > .rss-widget > p > a {
  color: var(--dark-blue);
  font-family: ttm-semibold;
}
.bodywrapper .rss-wrapper > .rss-widget > a {
  font-family: 'ttm-thin-italic';
  font-size: 16px;
  line-height: 30px;
  text-decoration: none;
  color: white;
  margin-top: 10px;
}
.bodywrapper .rss-wrapper > .rss-widget > a:before {
  font-family: esrf;
  content: "\e90f";
  margin-right: 5px;
  font-size: 22px;
  position: relative;
  top: 5px;
  right: auto;
  bottom: auto;
  left: auto;
}
.bodywrapper a.rss-header[href^="http"]:after {
  display: none !important;
}
/*******************************
 *
 *   M15-breadcrumbs.styl
 *
 ******************************/
.bodywrapper .breadcrumb {
  border: 1px solid #b7b9ba;
  border-radius: 0;
  border-left: none;
  border-right: none;
  margin: 0;
}
.bodywrapper .breadcrumb ul.breadcrumb {
  border: none;
  padding: 17px 0 17px 0;
}
.bodywrapper .breadcrumb ul.breadcrumb li {
  font-size: 14px;
  line-height: 20px;
  padding: 0;
}
.bodywrapper .breadcrumb ul.breadcrumb li:before {
  font-family: esrf;
  content: "\e913";
  display: inline-block;
  font-size: 24px;
  line-height: 24px;
  vertical-align: middle;
  position: relative;
  top: -1px;
  padding: 0 8px;
}
.bodywrapper .breadcrumb ul.breadcrumb li:last-child {
  font-family: ttm-bold;
}
.bodywrapper .breadcrumb ul.breadcrumb li:first-child:before {
  content: none;
}
.bodywrapper .breadcrumb ul.breadcrumb li a {
  display: inline-block;
  text-decoration: none;
  color: #000;
}
/*******************************
 *
 *   M16-Page-title.styl
 *
 ******************************/
.bodywrapper .page-title {
  border-bottom: 1px solid #b7b9ba;
}
.bodywrapper .page-title.-lc {
  border-bottom: none;
}
.bodywrapper .page-title.-lc > .container > .page-content .title {
  text-transform: none;
}
.bodywrapper .page-title > .container > .page-content {
  margin: 22px 0 18px 0;
  box-sizing: border-box;
  text-align: center;
}
.bodywrapper .page-title > .container > .page-content .title {
  font-size: 36px;
  line-height: 50px;
  text-align: center;
  color: var(--purple);
  text-transform: uppercase;
  font-family: ttm-light;
  letter-spacing: 2.5px;
}
.bodywrapper .page-title > .container > .page-content .nav {
  padding: 15px 0 20px 0;
}
.bodywrapper .page-title > .container > .page-content .nav:before {
  content: "";
  display: block;
  width: 92px;
  height: 3px;
  border-top: 1px solid var(--dark-blue);
  border-bottom: 1px dotted var(--dark-blue);
  margin: 0 auto;
  position: relative;
  top: -16px;
}
.bodywrapper .page-title > .container > .page-content .nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: inline-block;
}
.bodywrapper .page-title > .container > .page-content .nav ul:after {
  content: "";
  clear: both;
  display: block;
}
.bodywrapper .page-title > .container > .page-content .nav ul li {
  display: inline-block;
  font-size: 15px;
}
.bodywrapper .page-title > .container > .page-content .nav ul li:after {
  content: "|";
  margin: 0 11px 0 8px;
}
.bodywrapper .page-title > .container > .page-content .nav ul li:last-child:after {
  content: none;
}
.bodywrapper .page-title > .container > .page-content .nav ul li a {
  text-decoration: none;
  color: var(--dark-blue);
  position: relative;
}
.bodywrapper .page-title > .container > .page-content .languages {
  text-align: right;
  margin: auto -3px -15px -3px;
}
.bodywrapper .page-title > .container > .page-content .languages > ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: inline-block;
}
.bodywrapper .page-title > .container > .page-content .languages > ul:after {
  content: '';
  display: block;
  clear: both;
}
.bodywrapper .page-title > .container > .page-content .languages > ul li {
  opacity: 0.5;
  float: left;
  margin: 0 3px;
}
.bodywrapper .page-title > .container > .page-content .languages > ul li:last-child {
  margin-right: 0;
}
.bodywrapper .page-title > .container > .page-content .languages > ul li.selected,
.bodywrapper .page-title > .container > .page-content .languages > ul li:hover {
  filter: none;
  opacity: 1;
}
.bodywrapper .page-title > .container > .page-content .languages > ul li a.flag,
.bodywrapper .page-title > .container > .page-content .languages > ul li span.flag {
  padding: 0 !important;
  display: block;
  width: 14px !important;
  height: 11px !important;
  background-position: center;
  background-size: cover;
}
.bodywrapper .page-title > .container > .page-content .languages > ul li a.flag.-en,
.bodywrapper .page-title > .container > .page-content .languages > ul li span.flag.-en {
  background-image: url("images/gb.svg");
}
.bodywrapper .page-title > .container > .page-content .languages > ul li a.flag.-fr,
.bodywrapper .page-title > .container > .page-content .languages > ul li span.flag.-fr {
  background-image: url("images/fr.svg");
}
/*******************************
 *
 *   M17-Navigation-left
 *
 *****************************/
.bodywrapper nav.page .navbar {
  background-color: var(--dark-blue);
  border-radius: 0;
  border: none;
  padding: 0;
  margin: 0;
}
.bodywrapper nav.page .navbar ul.navmenu {
  list-style-type: none;
  margin: 0;
  padding: 0;
  font-family: ttm-regular;
  font-size: 18px;
}
.bodywrapper nav.page .navbar ul.navmenu li {
  min-height: 80px;
  color: white;
  border-bottom: 1px solid var(--pale-blue);
  vertical-align: middle;
}
.bodywrapper nav.page .navbar ul.navmenu li > a {
  display: block;
  text-decoration: none;
  color: white;
  line-height: 22px;
  padding: 29px 30px 29px 40px;
}
.bodywrapper nav.page .navbar ul.navmenu li > a:hover {
  background-color: #03135c;
}
.bodywrapper nav.page .navbar ul.navmenu li.inpath.selected > a {
  background-color: var(--purple);
  text-transform: uppercase;
  text-align: center;
  padding: 29px 30px;
  cursor: default;
}
.bodywrapper nav.page .navbar ul.navmenu li.lastInLevel {
  border-bottom: none;
}
.bodywrapper nav.page .navbar ul.navmenu li.up {
  text-align: left;
  position: relative;
  color: var(--turquoise);
  box-sizing: border-box;
  background-color: var(--pale-blue);
}
.bodywrapper nav.page .navbar ul.navmenu li.up a {
  padding-left: 110px;
  color: white;
}
.bodywrapper nav.page .navbar ul.navmenu li.up a > .arrow {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 80px;
  border-right: 1px solid var(--pale-blue);
}
.bodywrapper nav.page .navbar ul.navmenu li.up a > .arrow:before {
  position: absolute;
  display: inline-block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: esrf;
  font-size: 22px;
  line-height: 22px;
  content: '\e911';
}
/*******************************

  M18-filter-dropdown-simple.styl

********************************/
.bodywrapper .dropdown {
  font-family: 'ttm-regular';
  color: var(--dark-blue);
  display: inline-block;
  margin: 0;
}
.bodywrapper .dropdown .dropdown-toggle {
  z-index: 1010;
  color: var(--dark-blue);
  font-weight: normal;
  border: 1px solid var(--dark-blue);
  padding: 15px 20px;
  line-height: 16px;
  font-size: 16px;
  transition: none;
}
.bodywrapper .dropdown .dropdown-toggle:focus {
  outline: none;
}
.bodywrapper .dropdown .dropdown-toggle:after {
  vertical-align: middle;
  font-family: esrf;
  content: "\e90c";
  font-size: 15px;
  margin-left: 30px;
}
.bodywrapper .dropdown .dropdown-toggle.first-hover {
  border-bottom: 1px solid #0097d3 !important;
}
.bodywrapper .dropdown.open .dropdown-toggle {
  border-radius: 4px 4px 0 0;
  border-bottom: 1px solid white;
}
.bodywrapper .dropdown ul.dropdown-menu {
  margin: -1px 0 0 0;
  border: 1px solid var(--dark-blue);
  min-width: 100%;
  padding: 0;
  border-radius: 0 4px 4px 4px;
}
.bodywrapper .dropdown ul.dropdown-menu.dropdown-menu-right {
  border-radius: 4px 0 4px 4px;
}
.bodywrapper .dropdown ul.dropdown-menu.dropdown-menu-right li:first-child a {
  border-radius: 3px 0 0 0;
}
.bodywrapper .dropdown ul.dropdown-menu.equal {
  border-radius: 0 0 4px 4px;
}
.bodywrapper .dropdown ul.dropdown-menu.equal li:first-child a {
  border-radius: 0;
}
.bodywrapper .dropdown ul.dropdown-menu li {
  line-height: 30px;
}
.bodywrapper .dropdown ul.dropdown-menu li a {
  font-size: 16px;
  line-height: inherit;
  border-radius: 0;
}
.bodywrapper .dropdown ul.dropdown-menu li a:hover {
  background-color: var(--turquoise);
  color: white;
}
.bodywrapper .dropdown ul.dropdown-menu li:first-child a {
  border-radius: 0 3px 0 0;
}
.bodywrapper .dropdown ul.dropdown-menu li:last-child a {
  border-radius: 0 0 3px 3px;
}

/*******************************

  M19-pagination

********************************/
.bodywrapper .pagination-wrapper {
  text-align: center;
  border-top: 1px solid #666;
  border-bottom: 1px solid #666;
  width: 100%;
  margin: 90px 0 0 0;
}
.bodywrapper .pagination-wrapper nav {
  font-size: 18px;
  line-height: 18px;
}
.bodywrapper .pagination-wrapper nav ul.pagination {
  margin: 0;
}
.bodywrapper .pagination-wrapper nav ul.pagination li a {
  border: none;
  color: #9d9d9d;
  padding: 8px;
}
.bodywrapper .pagination-wrapper nav ul.pagination li a._active {
  color: #000;
}
/*******************************
 *
 *   M20-Content-template
 *
 ******************************/
.bodywrapper .content-body {
  position: relative;
}
.bodywrapper .content-body .spacer {
  display: block;
}
.bodywrapper .content-body .spacer:before {
  content: " ";
}
.bodywrapper .content-body .sidebar {
  background-color: transparent;
  position: absolute;
  padding: 0;
  margin: 0;
  top: 110px;
  z-index: 200;
}
.bodywrapper .content-body .sidebar >* {
  box-shadow: 5px 10px 43px -12px rgba(0,0,0,0.9);
}
.bodywrapper .content-body .sidebar .separator {
  height: 10px;
  background-color: transparent;
}

.bodywrapper .sidebar h2 {
  font-size: 18px;
  font-family: ttm-semibold;
  margin-bottom: 30px;
  text-transform: uppercase;
}

.bodywrapper .content-body .top-image {
  position: absolute;
  top: 0;
  left: 3px;
  right: 3px;
  z-index: 100;
  background-size: cover;
  background-position: center;
  display: block;
}
.bodywrapper .content-body .insider {
  background-color: var(--light-grey);
}
.bodywrapper .content-body .row.-mb {
  margin-bottom: 50px;
}
.bodywrapper .content-body section {
  position: relative;
  z-index: 100;
  padding: 0;
  margin: 0;
  font-size: 18px;
}
.bodywrapper .content-body.-cropped .insider {
  padding: 110px 40px 40px 170px;
}
.bodywrapper .content-body.-cropped.-topimg .top-image {
  height: 670px;
  left: 0;
  right: 0;
}
.bodywrapper .content-body.-cropped.-topimg section {
  margin-top: 240px;
}
.bodywrapper .content-body.-wide .insider {
  padding: 0 0 40px 0;
}
.bodywrapper .content-body.-wide.-topimg .top-image {
  height: 380px;
}
.bodywrapper .content-body.-wide.-topimg section {
  margin-top: 380px;
}
.bodywrapper .content-body.-full .insider {
  padding: 110px 40px 40px 40px;
}
.bodywrapper .content-body.-full.-topimg .top-image {
  height: 670px;
  left: 0;
  right: 0;
}
.bodywrapper .content-body.-full.-topimg section {
  margin-top: 240px;
}
.bodywrapper .content-body.-full.-clean .insider {
  padding: 40px;
}
/*******************************
 *
 *   M22-General-article
 *
 ******************************/
.bodywrapper .insider.news-article {
  background-color: white;
  padding: 90px 30px;
}
/*******************************
 *
 *   M23-Content-mixed
 *
 ******************************/
.bodywrapper .content-body .content-article .instructions {
  background-color: white;
  padding: 40px 70px;
}
.bodywrapper .content-body .content-article .publications {
  background-color: white;
  padding: 40px 20px;
}
.bodywrapper .content-body .content-article .publications section {
  padding: 0;
  margin: 0 0 20px 0;
}
.bodywrapper .content-body .content-article .publications section a {
  color: var(--dark-blue);
  text-decoration: underline;
  display: block;
  font-family: ttm-semibold;
}
.bodywrapper .content-body .content-article .publications section a:before {
  content: "- ";
}
.bodywrapper .content-body .content-article .publications section p {
  font-family: ttm-light;
  line-height: 20px;
  display: block;
  padding: 0;
  margin: 0;
}
/*******************************
 *
 *   M25-Blockquote
 *
 ******************************/
.bodywrapper .blockquote {
  max-width: 570px;
  min-width: 300px;
  display: inline-block;
  margin: 30px auto;
  position: relative;
  background-color: #e7e9f1;
  padding: 52px 45px;
  font-family: ttm-semibold_italic;
  color: var(--dark-blue);
  font-size: 22px;
  text-align: center;
}
.bodywrapper .blockquote:before,
.bodywrapper .blockquote:after {
  content: '"';
  color: white;
  position: absolute;
  font-size: 72px;
  font-family: ttm-regular;
  font-style: italic;
}
.bodywrapper .blockquote:before {
  top: -18px;
  left: -3px;
}
.bodywrapper .blockquote:after {
  bottom: -47px;
  right: 18px;
}
/*******************************
 *   M26-Accordion
 ******************************/
.bodywrapper .accordion-wrapper {
  background: white;
  width: 100%;
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group {
  margin-bottom: 0;
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel {
  width: 100%;
  box-shadow: none;
  margin: 0 0 12px 0;
  border: none;
  border-radius: 0;
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-heading {
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-heading > .panel-title {
  display: block;
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-heading > .panel-title a {
  display: block;
  outline: none;
  padding: 12px 0;
  text-decoration: none;
  font-size: 18px;
  font-family: ttm-regular;
  font-weight: normal;
  color: var(--dark-blue);
  border: none;
  border-bottom: 1px solid var(--dark-blue);
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-heading > .panel-title a[aria-expanded="true"] {
  color: #ad007c;
  border-color: var(--purple);
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-heading > .panel-title a[aria-expanded="true"]:after {
  content: "\e93c";
  font-family: "esrf";
  border-color: var(--purple);
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-heading > .panel-title a:hover {
  text-decoration: none;
  color: var(--purple);
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-heading > .panel-title a:hover:after {
  border-color: var(--darker-blue);
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-heading > .panel-title a span {
  float: left;
  font-size: 26px;
  margin: -3px 18px 0 2px;
  width: 32px;
  text-align: center;
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-heading > .panel-title a:after {
  border: 1px solid #9d9d9d;
  border-radius: 5px;
  float: right;
  width: 28px;
  height: 28px;
  margin-right: 2px;
  content: "\e93b";
  font-family: "esrf";
  font-size: 14px;
  line-height: 26px;
  text-align: center;
  top: -2px;
  left: -1px;
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-body {
  padding: 0 60px 0 0;
  margin: 0 0 30px 0;
  border-top: 0;
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-body h3,
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-body h4 {
  margin-top: 20px;
  margin-bottom: 0;
  line-height: 20px;
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-body h3 + p,
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-body h4 + p {
  margin-top: 0;
}
.bodywrapper .accordion-wrapper [id*='accordion'].panel-group .panel .panel-body p {
  margin-top: 20px;
  width: 100%;
  padding: 0;
}
/*******************************
 *
 *   M28-News-images
 *
 ******************************/
.bodywrapper .news-block-img .-col-td .bgimage {
  height: 100%;
  background-position: center;
  background-size: cover;
}
/*******************************
 *
 *  M29-Form-input-text
 *
 ******************************/
.bodywrapper .FormBuilder .divButton .button {
  text-transform: uppercase;
  background-color: white;
  color: var(--dark-blue);
  border: 1px solid var(--dark-blue);
  font-size: 16px;
  line-height: 16px;
  font-family: ttm-light;
  padding: 15px 40px;
  letter-spacing: 0.65px;
  font-weight: normal;
  border-radius: 4px;
}
.bodywrapper .FormBuilder .field input,
.bodywrapper .FormBuilder .field textarea {
  font-size: 16px;
  line-height: 15px;
  border: 1px solid var(--dark-blue);
  border-radius: 4px;
  padding: 0 11px;
  height: 45px;
  color: var(--dark-blue);
  font-family: ttm-regular;
  transition: none;
  box-shadow: none;
}
.bodywrapper .FormBuilder .field textarea {
  border-radius: 4px 4px 0 4px;
  min-height: 220px;
  resize: vertical;
  width: 100%;
}
.bodywrapper .FormBuilder .divButton .button {
  text-transform: uppercase;
  background-color: white;
  color: var(--dark-blue);
  border: 1px solid var(--dark-blue);
  font-size: 16px;
  line-height: 16px;
  font-family: ttm-light;
  padding: 15px 40px;
  letter-spacing: 0.65px;
  font-weight: normal;
  border-radius: 4px;
}
.bodywrapper .FormBuilder .divButton .button[type='submit'] {
  background-color: var(--dark-blue);
  color: white;
}
/*******************************
 *
 *  M31-U&S-home-header
 *
 ******************************/
.bodywrapper .u-s-home-header {
  padding: 40px 0 0 0;
}
.bodywrapper .u-s-home-header .row {
  overflow: hidden;
}
.bodywrapper .u-s-home-header .tile.find-beamline {
  color: white;
}
.bodywrapper .u-s-home-header .tile.find-beamline h3 {
  text-transform: none !important;
  font-size: 28px !important;
  font-family: ttm-regular !important;
  margin-top: 0;
  margin-bottom: 40px;
}
.bodywrapper .u-s-home-header .tile.find-beamline p {
  font-size: 18px;
  margin-bottom: 40px;
}
.bodywrapper .u-s-home-header .tile.find-beamline ul.-arrow {
  margin-left: 2em;
}
.bodywrapper .u-s-home-header .tile.find-beamline ul.-arrow > li {
  font-size: 16px;
}
.bodywrapper .u-s-home-header .tile.find-beamline ul.-arrow > li a {
  color: inherit;
  text-decoration: none;
  font-size: inherit;
}
.bodywrapper .u-s-home-header .tile.-cta .text-block {
  padding: 40px 65px !important;
}
.bodywrapper .u-s-home-header .info-users {
  margin-top: 6px;
  position: relative;
  height: auto;
  min-height: auto;
  padding: 40px 65px 0 65px;
}
.bodywrapper .u-s-home-header .info-users .block-title {
  color: white;
  font-size: 28px;
  line-height: 28px;
  margin-bottom: 20px;
  font-family: ttm-regular;
}
.bodywrapper .u-s-home-header .info-users .carousel-inner .slide-label .title {
  font-size: 18px !important;
}
.bodywrapper .u-s-home-header .info-users .carousel-inner .slide-label a.more {
  margin: 0 !important;
}
.bodywrapper .u-s-home-header .tile.apply-beamline {
  height: auto;
  min-height: auto;
}
.bodywrapper .u-s-home-header .tile.apply-beamline ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.bodywrapper .u-s-home-header .tile.apply-beamline ul:after {
  display: block;
  content: '';
  clear: both;
}
.bodywrapper .u-s-home-header .tile.apply-beamline ul li {
  float: left;
  width: 50%;
  color: white;
}
.bodywrapper .u-s-home-header .tile.apply-beamline ul li a {
  color: inherit;
  text-decoration: none;
  line-height: 48px;
}
.bodywrapper .u-s-home-header .tile.apply-beamline ul li a span {
  display: inline-block;
  vertical-align: middle;
}
.bodywrapper .u-s-home-header .tile.apply-beamline ul li a span[class|="icon"] {
  margin-right: 5px;
  width: 30px;
  font-size: 26px;
  line-height: 26px;
  color: #b7b9ba;
}
.bodywrapper .u-s-home-header .tile.apply-beamline ul li a span.icon-speedometer {
  font-size: 19px;
}

.bodywrapper .u-s-home-header h2 {
  margin-top: 0;
}

.bodywrapper .u-s-home-header .tile + .tile {
  margin-top: 6px;
}

.bodywrapper .u-s-home-header .tile .tile-content {
  padding: 40px 65px !important;
}

/*******************************
 *
 *  M32-U&S-find-beamline
 *
 ******************************/
.bodywrapper .find-beamline {
  position: relative;
}

.bodywrapper .find-beamline:after {
  content: '';
  display: block;
  clear: both;
}

.bodywrapper .find-beamline .links {
  float: left;
}

.bodywrapper .find-beamline .links ul {
  vertical-align: top;
  padding: 0;
  margin: 0 30px 0 0;
  display: inline-block;
}

.bodywrapper .find-beamline .links li {
  display: block;
  font-size: 16px;
  color: #000;
  cursor: pointer;
  line-height: 35px;
  min-width: 50px;
}

.bodywrapper .find-beamline .links li.hover {
  color: var(--dark-blue);
  font-family: ttm-bold;
  text-decoration: underline;
  position: relative;
  top: -1px;
  left: -0.5px;
}

.bodywrapper .find-beamline .schema-wrapper {
  overflow: hidden;
}
.bodywrapper .find-beamline .schema-wrapper .schema {
  width: 100%;
  height: 100%;
  position: relative;
}

.bodywrapper .schema svg {
  width: 100%;
  height: auto;
}

.bodywrapper .schema #background path,
.bodywrapper .schema #beamlines path {
  fill: var(--mid-grey);
}

.bodywrapper .schema #beamlines path {
  cursor: pointer;
}

.bodywrapper .schema #beamlines path.hover {
  fill: var(--turquoise);
  stroke: var(--turquoise);
}

.bodywrapper .labels label {
  position: absolute;
  font-family: ttm-semibold;
  color: #000;
  font-size: 14px;
  display: inline-block;
  margin: 0;
  background-color: white;
}

.bodywrapper .beam-popup {
  position: absolute;
  top: 40%;
  left: 53%;
  transform: translate(-50%, -50%);
  max-width: 45%;
  text-align: center;
  padding: 20px;
  background-color: white;
  box-shadow: -1px 10px 50px 0px rgba(0, 0, 0, 0.5);
}

.bodywrapper .beam-popup h4 {
  padding: 0;
  margin: 0;
  font-family: ttm-semibold;
}

/*******************************
 *
 *  M34-ul-tiles
 *
 ******************************/
.bodywrapper .ul-tiles ul {
  margin: -3px;
  padding: 0;
}
.bodywrapper .ul-tiles ul:after {
  content: '';
  display: block;
  clear: both;
}
.bodywrapper .ul-tiles ul li {
  float: left;
  padding: 6px 3px 0 3px;
  overflow: hidden;
}
.bodywrapper .ul-tiles ul li >.-ctafilter .colorize {
  height: 100%;
}
.bodywrapper .ul-tiles ul li >.-ctafilter.-blue .colorize {
  background: linear-gradient(180deg, rgb(0, 151, 211) 4%, rgb(0, 0, 0) 79%);
}
.bodywrapper .ul-tiles ul li >.-ctafilter.-violet .colorize {
  background-color: var(--dark-blue);
}
.bodywrapper .ul-tiles.-std li {
  width: 33.33333%;
  height: 265px;
}
.bodywrapper .ul-tiles.-std li >.-ctafilter .colorize {
  opacity: 0.7;
}
.bodywrapper .ul-tiles.-std li >.-ctafilter .text {
  font-size: 28px;
}
.bodywrapper .ul-tiles.-std li >.-ctafilter:hover .colorize {
  display: none;
}
.bodywrapper .ul-tiles.-std li:last-child.-span-2 {
  width: 66.6666%;
}
.bodywrapper .ul-tiles.-sm li {
  width: 25%;
  height: 200px;
}
.bodywrapper .ul-tiles.-sm li >.-ctafilter .colorize {
  opacity: 0.7;
}
.bodywrapper .ul-tiles.-sm li >.-ctafilter .text {
  font-size: 28px;
}
.bodywrapper .ul-tiles.-sm li >.-ctafilter:hover .colorize {
  display: none;
}
.bodywrapper .ul-tiles.-sm li:last-child.-span-2 {
  width: 50%;
}
.bodywrapper .ul-tiles.-sm li:last-child.-span-3 {
  width: 75%;
}
.bodywrapper .ul-tiles.-std li:last-child.-span-fw,
.bodywrapper .ul-tiles.-sm li:last-child.-span-fw {
  width: 100%;
}
/*******************************
 *
 *  M34-ul-tiles
 *
 ******************************/
.bodywrapper .dscr-link {
  padding: 20px;
}
.bodywrapper .dscr-link > p.description {
  margin: 0 0 20px 0;
  padding: 0;
  font-family: ttm-semibold_italic;
}
/*******************************
  M38-Blocks-on-bg
********************************/
.bodywrapper .blocks-bg {
  height: 700px;
  background-position: center;
  background-size: cover;
  position: relative;
  padding: 0;
  margin: 0;
}
.bodywrapper .blocks-bg .row {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background-color: var(--turquoise);
  margin: 0;
  color: white;
  width: 65%;
  border-collapse: separate;
  border-spacing: 0 40px;
  height: auto;
}
.bodywrapper .blocks-bg .row .-col-td {
  position: relative;
  padding: 0 40px 40px 40px;
  border-right: 1px solid white;
}
.bodywrapper .blocks-bg .row .-col-td:last-child {
  border: none;
}
.bodywrapper .blocks-bg .row .-col-td .text-content {
  height: 100%;
  font-family: ttm-regular;
  font-size: 18px;
  line-height: 20px;
}
.bodywrapper .blocks-bg .row .-col-td .text-content p {
  margin: 0;
}
.bodywrapper .blocks-bg .row .-col-td .text-content p{
  padding: 0;
  margin: 10px 0 0 0;
  font-weight: normal;
  color: var(--darker-blue);

}
.bodywrapper .blocks-bg .row .-col-td .text-content h3 {
  font-size: 28px;
  line-height: 28px;
  margin-top: -3px;
  font-family: ttm-semibold;
}
.bodywrapper .blocks-bg .row .-col-td .text-content p.subtitle {
  font-family: ttm-regular;
  font-size: 28px;
  line-height: 32px;
}
.bodywrapper .blocks-bg .row .-col-td a {
  position: absolute;
  display: inline-block;
  bottom: 5px;
  right: 40px;
  border: 1px solid white;
  border-radius: 6px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  color: white;
  text-decoration: none;
}
.bodywrapper .blocks-bg .row .-col-td a:hover {
  background-color: white;
  color: var(--turquoise);
}
.bodywrapper .blocks-bg .row .-col-td a:before {
  display: inline-block;
  position: relative;
  top: -1px;
  left: -1px;
  font-family: esrf;
  content: "\e93b";
  color: inherit;
  width: inherit;
  line-height: inherit;
  text-align: center;
}
.bodywrapper .blocks-bg + .primary {
  padding: 60px 65px 90px 65px;
}
.bodywrapper .blocks-bg + .primary h2 {
  font-family: ttm-regular;
  font-size: 28px;
  line-height: 34px;
  margin: 0;
  text-align: center;
}
/*******************************
 *
 *  M39-icons-grid
 *
 ******************************/
.bodywrapper .icons-container {
  margin: 40px 0;
  border: 1px solid #bebebe;
}
.bodywrapper .icons-container .icons-grid {
  margin: 0 -1px -1px 0;
}
.bodywrapper .icons-container .icons-grid:after {
  content: '';
  display: block;
  clear: both;
}
.bodywrapper .icons-container .icons-grid >.item {
  float: left;
  width: 33.33333%;
  height: 110px;
  position: relative;
  border-bottom: 1px solid #bebebe;
  border-right: 1px solid #bebebe;
}
.bodywrapper .icons-container .icons-grid >.item .content {
  width: 100%;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
.bodywrapper .icons-container .icons-grid >.item .content a {
  display: inline-block;
  font-size: 30px;
  color: #000;
  text-decoration: none;
}
.bodywrapper .icons-container .icons-grid >.item .content a.icon:after {
  content: none !important;
}
.bodywrapper .icons-container .icons-grid >.item .content a.title {
  font-size: 18px;
  position: relative;
  top: -6px;
  padding-top: 7px;
}
/*******************************
 *
 *  M40-media-text
 *
 ******************************/
.bodywrapper .media-text:after {
  content: '';
  display: block;
  clear: both;
}
.bodywrapper .media-text > .media {
  background-position: center;
  background-size: cover;
  position: relative;
  width: 60%;
  height: 450px;
  z-index: 200;
  display: inline-block;
}
.bodywrapper .media-text > .media > iframe {
  width: 100%;
  height: 100%;
}
.bodywrapper .media-text > .text {
  background-color: white;
  padding: 40px 50px;
  width: 55%;
  min-height: 350px;
  position: relative;
  z-index: 300;
  display: inline-block;
  margin-top: -350px;
  color: #010101;
  font-size: 18px;
}
.bodywrapper .media-text > .text p:first-child,
.bodywrapper .media-text > .text h2:first-child {
  margin-top: 0;
}
.bodywrapper .media-text > .text p:last-child {
  margin-bottom: 0;
}
.bodywrapper .media-text > .text p.-intro {
  font-size: 28px;
}
.bodywrapper .media-text > .text h2 {
  font-size: 28px;
  margin-top: 0;
  color: #000;
  font-family: ttm-regular;
}
.bodywrapper .media-text.-left > .media {
  float: left;
}
.bodywrapper .media-text.-left > .text {
  float: right;
}
.bodywrapper .media-text.-right > .media {
  float: right;
}
.bodywrapper .media-text.-right > .text {
  float: left;
}
.bodywrapper .media-text.-center > .media {
  width: auto;
  display: block;
}
.bodywrapper .media-text.-center > .text {
  display: block;
  width: auto;
  margin-top: -175px;
  padding: 75px;
  min-height: auto;
}
.bodywrapper .media-text.-center > .text h3 {
  text-align: center;
  font-family: ttm-regular;
  font-size: 28px;
  padding: 0;
  margin: 0;
}
.bodywrapper .media-text.-center > .text h2 {
  font-size: 28px;
  margin-top: 0;
  color: #000;
  font-family: ttm-regular;
}
.bodywrapper .media-text.-center + .media-text > .text {
  width: 40%;
  margin-top: auto;
  min-height: auto;
  padding-top: 20px;
}
.bodywrapper .media-text + .separator {
  height: 90px;
}
.bodywrapper .insider .media-text:first-child {
  margin-top: -40px;
}
.bodywrapper .insider .media-text:last-child + .separator {
  height: 40px;
}
.bodywrapper .insider .media-text.-left {
  margin-left: -60px;
}
.bodywrapper .insider .media-text.-right {
  margin-right: -60px;
}
.bodywrapper .insider .media-text.-center > .media {
  margin: 0 -40px;
}
.bodywrapper .page-content > .media-text.-center > .text {
  margin-left: 40px;
  margin-right: 40px;
}
.bodywrapper .page-content > .media-text.-left > .text,
.bodywrapper .page-content > .media-text.-right > .text {
  border: 1px solid #bebebe;
}
.bodywrapper .page-content > .media-text.-left {
  margin-right: 40px;
}
.bodywrapper .page-content > .media-text.-right {
  margin-left: 40px;
}
.bodywrapper .text-center.-up {
  margin-top: -65px;
}
.bodywrapper .text-center.-down {
  margin-bottom: -65px;
}
.bodywrapper .text-center + h2 {
  margin-top: 24px;
}
.bodywrapper a.arrow-step:before {
  display: inline-block;
  font-family: esrf;
  border: 1px solid #757575;
  border-radius: 50%;
  line-height: 36px;
  font-size: 19px;
  text-align: center;
  width: 34px;
  height: 34px;
}
.bodywrapper .-up .arrow-step {
  margin-bottom: 40px;
}
.bodywrapper .-up .arrow-step:before {
  content: "\e914";
}
.bodywrapper .-down .arrow-step {
  margin-top: 40px;
}
.bodywrapper .-down .arrow-step:before {
  content: "\e915";
}
.bodywrapper .contacts-wide {
  margin: 90px 0 -90px 0;
  background-color: var(--light-grey);
  padding-bottom: 60px;
}
.bodywrapper .contacts-wide .section-header {
  margin-bottom: 55px;
  margin-top: 55px;
}
.bodywrapper .contacts-wide .-col-td {
  vertical-align: middle;
  text-align: center;
  height: 110px;
  border-right: 1px solid #6c6c6c;
}
.bodywrapper .contacts-wide .-col-td:last-child {
  border: none;
}
.bodywrapper .contacts-wide .-col-td a {
  display: inline-block;
  text-decoration: none;
  color: var(--dark-blue);
  font-size: 18px;
}
.bodywrapper .contacts-wide .-col-td a span {
  display: block;
  font-size: 40px;
  color: #6c6c6c;
  margin-bottom: 20px;
}

/*******************************
 *
 *   M45-Quick-links-full
 *
 ******************************/
.bodywrapper .quick-links-full {
  padding-top: 40px;
  padding-bottom: 5px;
}
.bodywrapper .quick-links-full > .row [class^="col-"] > .block-title,
.bodywrapper .quick-links-full > .row [class*=" col-"] > .block-title {
  font-family: ttm-bold;
  color: var(--dark-blue);
  font-size: 18px;
  line-height: 22px;
  height: 40px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  display: block;
  width: 100%;
  max-width: 200px;
}
.bodywrapper .quick-links-full > .row [class^="col-"] > ul,
.bodywrapper .quick-links-full > .row [class*=" col-"] > ul {
  margin-bottom: 27px;
  padding-left: 25px;
}
.bodywrapper .quick-links-full > .row [class^="col-"] > ul > li,
.bodywrapper .quick-links-full > .row [class*=" col-"] > ul > li {
  display: inline-block;
  list-style: none;
  width: 260px;
}
.bodywrapper .quick-links-full > .row [class^="col-"] > ul > li > a,
.bodywrapper .quick-links-full > .row [class*=" col-"] > ul > li > a {
  font-size: 18px;
  line-height: 31px;
}
/*******************************
 *
 *   M10-Key-Figures
 *
 ******************************/
.bodywrapper .key-figures ul {
  display: table;
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.bodywrapper .key-figures ul li {
  display: table-cell;
  border-right: 1px solid #bebebe;
  text-align: center;
}
.bodywrapper .key-figures ul li:last-child {
  border-right: none;
}
.bodywrapper .key-figures span.number {
  font-family: ttm-thin;
  font-size: 85px;
  line-height: 70px;
  color: var(--purple);
  display: inline-block;
}
.bodywrapper .key-figures span.icon {
  display: inline-block;
  vertical-align: top;
  color: var(--dark-blue);
  font-size: 38px;
  line-height: 38px;
  margin-left: 5px;
  position: relative;
  top: 13px;
}
.bodywrapper .key-figures span.title {
  display: block;
  font-family: ttm-regular;
  font-size: 18px;
  color: var(--dark-blue);
  margin-top: 15px;
  margin-left: 5px;
  text-align: left;
}
.bodywrapper .key-figures .content {
  display: inline-block;
  text-align: left;
}
.bodywrapper .key-figures.-centered .content {
  text-align: center;
}
.bodywrapper .key-figures.-centered .content span.title {
  text-align: center;
  margin-left: 0;
}
/*******************************
 *
 *   M50-Address-block
 *
 ******************************/
.bodywrapper .-address-block.-esrf,
.bodywrapper fieldset.-esrf {
  height: 100%;
  margin: 0;
  padding: 0;
}
.bodywrapper .-address-block.-esrf > dl > dt,
.bodywrapper fieldset.-esrf > dl > dt {
  margin-bottom: 15px;
  vertical-align: top;
  color: #999;
}
.bodywrapper .-address-block.-esrf > dl > dt > a,
.bodywrapper fieldset.-esrf > dl > dt > a {
  color: var(--dark-blue);
  text-decoration: underline;
}
.bodywrapper .-address-block.-esrf > dl > dt > a:hover,
.bodywrapper fieldset.-esrf > dl > dt > a:hover {
  text-decoration: none;
}
.bodywrapper .-address-block.-esrf > dl > dd,
.bodywrapper fieldset.-esrf > dl > dd,
.bodywrapper .-address-block.-esrf > dl > p,
.bodywrapper fieldset.-esrf > dl > p {
  position: relative;
  font-size: 14px;
  margin-bottom: 15px;
  margin-top: 0;
  vertical-align: top;
  font-family: ttm-semibold;
}
.bodywrapper .-address-block.-esrf > dl > dd > a,
.bodywrapper fieldset.-esrf > dl > dd > a,
.bodywrapper .-address-block.-esrf > dl > p > a,
.bodywrapper fieldset.-esrf > dl > p > a {
  color: var(--dark-blue);
  text-decoration: underline;
}
.bodywrapper .-address-block.-esrf > dl > dd > a:hover,
.bodywrapper fieldset.-esrf > dl > dd > a:hover,
.bodywrapper .-address-block.-esrf > dl > p > a:hover,
.bodywrapper fieldset.-esrf > dl > p > a:hover {
  text-decoration: none;
}
/*******************************
 *
 *   M51-Info-users
 *
 ******************************/
.bodywrapper .info-users {
  background: var(--turquoise);
  padding: 30px 40px 40px;
  height: 310px;
  overflow: hidden;
}
.bodywrapper .info-users a.block-title {
  display: block;
  color: var(--dark-blue);
  font-size: 18px;
  font-family: ttm-semibold;
  margin-bottom: 30px;
  white-space: nowrap;
  text-decoration: none;
}
.bodywrapper .info-users > #infouserslider {
  width: 100%;
  position: relative;
  height: calc(100% - 40px);
}
.bodywrapper .info-users > #infouserslider > .carousel-indicators {
  bottom: 0;
  margin-bottom: 0;
}
.bodywrapper .info-users > #infouserslider > .carousel-indicators > li {
  background-color: white;
  margin-right: 4px;
  margin-bottom: 1px;
  width: 9px;
  height: 9px;
}
.bodywrapper .info-users > #infouserslider > .carousel-indicators > li.active {
  background-color: var(--orange);
  border: 1px solid var(--orange);
}
.bodywrapper .info-users > #infouserslider > .carousel-indicators > li:last-child {
  margin-right: 0;
}
.bodywrapper .info-users > #infouserslider > .carousel-inner > .item > .slide-label {
  color: white;
}
.bodywrapper .info-users > #infouserslider > .carousel-inner > .item > .slide-label .title {
  font-family: 'ttm-regular';
  font-size: 16px;
  line-height: 24px;
  height: 90px;
  overflow: hidden;
  margin-bottom: 10px;
}
.bodywrapper .info-users > #infouserslider > .carousel-inner > .item > .slide-label > a.more {
  display: inline-block;
  font-family: 'ttm-thin-italic';
  font-size: 15px;
  line-height: 0;
  text-decoration: none;
  color: white;
}
.bodywrapper .info-users > #infouserslider > .carousel-inner > .item > .slide-label > a.more:before {
  display: inline-block;
  font-family: 'esrf';
  content: "\e90f";
  margin-right: 5px;
  font-size: 22px;
  position: relative;
  top: 5px;
  right: auto;
  bottom: auto;
  left: auto;
}
.bodywrapper .info-users > #infouserslider > .carousel-control {
  color: white;
  background: none;
  width: 10px;
  height: 15px;
  font-family: esrf;
  position: absolute;
  top: auto;
  bottom: 5px;
  filter: none;
  opacity: 1;
  z-index: 16;
}
.bodywrapper .info-users > #infouserslider > .carousel-control > .ico-chevron-left {
  display: block;
  color: white;
  font-size: 15px;
  text-shadow: none;
  font-weight: normal;
  width: 10px;
  height: 15px;
}
.bodywrapper .info-users > #infouserslider > .carousel-control > .ico-chevron-left:before {
  content: "\e90d";
}
.bodywrapper .info-users > #infouserslider > .carousel-control > .ico-chevron-right {
  display: block;
  color: white;
  font-size: 15px;
  text-shadow: none;
  font-weight: normal;
  width: 10px;
  height: 15px;
}
.bodywrapper .info-users > #infouserslider > .carousel-control > .ico-chevron-right:before {
  content: "\e90e";
}
.bodywrapper .info-users > #infouserslider > .carousel-control:hover > .ico-chevron-left,
.bodywrapper .info-users > #infouserslider > .carousel-control:hover > .ico-chevron-right {
  color: var(--orange);
}
.bodywrapper .info-users > #infouserslider > .carousel-control.left {
  left: 20%;
}
.bodywrapper .info-users > #infouserslider > .carousel-control.right {
  right: 20%;
}
.bodywrapper .info-users.-big {
  height: 280px;
  padding: 40px;
}
.bodywrapper .info-users.-big > #infouserslider > .carousel-indicators {
  bottom: 0px;
}
.bodywrapper .info-users.-big > #infouserslider > .carousel-inner > .item > .slide-label {
  color: white;
}
.bodywrapper .info-users.-big > #infouserslider > .carousel-inner > .item > .slide-label .title {
  height: 50px;
  overflow: hidden;
}
.bodywrapper .info-users.-big > #infouserslider > .carousel-control.left {
  left: 35%;
  bottom: 5px;
}
.bodywrapper .info-users.-big > #infouserslider > .carousel-control.right {
  right: 35%;
  bottom: 5px;
}
/*******************************
 *
 *   M52-Quick-links
 *
 ******************************/
.bodywrapper .quick-links {
  background: var(--turquoise);
  padding: 40px 40px;
}
.bodywrapper .quick-links > .block-title {
  text-transform: uppercase;
  font-family: 'ttm-bold';
  font-size: 18px;
  color: var(--dark-blue);
  margin-bottom: 8px;
}
.bodywrapper .quick-links > ul {
  padding: 0;
  margin: 0;
}
.bodywrapper .quick-links > ul > li {
  list-style: none;
  font-family: 'ttm-regular';
  font-size: 18px;
  line-height: 36px;
  color: white;
}
.bodywrapper .quick-links > ul > li:before {
  content: '-';
  display: inline-block;
  margin-right: 5px;
}
.bodywrapper .quick-links > ul > li > a {
  cursor: pointer;
  font-family: 'ttm-regular';
  font-size: 18px;
  line-height: 36px;
  color: white;
}
/*******************************
 *
 *   M54-Industry-news
 *
 ******************************/
.bodywrapper .industry-news {
  height: 390px;
  overflow: hidden;
  background: var(--dark-blue);
  color: white;
}
.bodywrapper .industry-news > #industryslider {
  height: 390px;
  position: relative;
}
.bodywrapper .industry-news > #industryslider > .carousel-inner {
  height: 100%;
}
.bodywrapper .industry-news > #industryslider > .carousel-inner > .item {
  height: 100%;
  min-height: 390px;
}
.bodywrapper .industry-news > #industryslider > .carousel-inner > .item > .slide-label {
  color: white;
}
.bodywrapper .industry-news > #industryslider > .carousel-inner > .item > .slide-label .date {
  font-family: 'ttm-regular';
  font-size: 16px;
  margin-bottom: 6px;
}
.bodywrapper .industry-news > #industryslider > .carousel-inner > .item > .slide-label .title {
  font-family: 'ttm-regular';
  font-size: 22px;
  line-height: 28px;
}
.bodywrapper .industry-news > #industryslider > .carousel-inner > .item > .tile.-promoted {
  background-color: transparent;
  display: table;
}
.bodywrapper .industry-news > #industryslider > .carousel-inner > .item > .tile.-promoted .text-block {
  background-color: var(--dark-blue);
  vertical-align: top;
}
.bodywrapper .industry-news > #industryslider > .carousel-inner > .item > .tile.-promoted > .image {
  height: 394px;
  border: none !important;
  margin: 0 -2px -2px 0 !important;
}
.bodywrapper .industry-news > #industryslider > .carousel-inner > .item a.btn {
  border: none;
  padding: 0;
  margin: 0;
  font-family: ttm-italic;
  font-size: 16px;
  line-height: 16px;
  position: relative;
  text-decoration: none;
  cursor: pointer;
  text-transform: none;
}
.bodywrapper .industry-news > #industryslider > .carousel-inner > .item a.btn:before {
  font-family: esrf;
  content: "\e90f";
  margin-right: 5px;
  font-size: 22px;
  position: relative;
  top: 5px;
  right: auto;
  bottom: auto;
  left: auto;
}
.bodywrapper .industry-news > #industryslider > .carousel-controls {
  position: absolute;
  display: inline-block;
  height: 15px;
  bottom: 30px;
  width: 160px;
  left: 25%;
  margin-left: -80px;
  z-index: 50;
}
.bodywrapper .industry-news > #industryslider > .carousel-controls > .carousel-indicators {
  position: absolute;
  width: 120px;
  left: 20px;
  bottom: 0;
  margin: 0;
  height: 15px;
}
.bodywrapper .industry-news > #industryslider > .carousel-controls > .carousel-indicators > li {
  background-color: white;
  margin-right: 4px;
  width: 9px;
  height: 9px;
  margin-bottom: 3px;
}
.bodywrapper .industry-news > #industryslider > .carousel-controls > .carousel-indicators > li.active {
  background-color: var(--orange);
  border: 1px solid var(--orange);
}
.bodywrapper .industry-news > #industryslider > .carousel-controls > .carousel-indicators > li:last-child {
  margin-right: 0;
}
.bodywrapper .industry-news > #industryslider > .carousel-controls > .carousel-control {
  color: white;
  background: none;
  width: 10px;
  height: 15px;
  font-family: esrf;
  position: absolute;
  bottom: 0;
  filter: none;
  opacity: 1;
  display: block;
  font-size: 15px;
  line-height: 15px;
  text-shadow: none;
  font-weight: normal;
}
.bodywrapper .industry-news > #industryslider > .carousel-controls > .carousel-control > .ico-chevron-left:before {
  content: "\e90d";
}
.bodywrapper .industry-news > #industryslider > .carousel-controls > .carousel-control > .ico-chevron-right:before {
  content: "\e90e";
}
.bodywrapper .industry-news > #industryslider > .carousel-controls > .carousel-control:hover > .ico-chevron-left,
.bodywrapper .industry-news > #industryslider > .carousel-controls > .carousel-control:hover > .ico-chevron-right {
  color: var(--orange);
}
.bodywrapper .industry-news > #industryslider > .carousel-controls > .carousel-control.left {
  left: 0;
}
.bodywrapper .industry-news > #industryslider > .carousel-controls > .carousel-control.right {
  right: 0;
}
/*******************************
 *
 *   M55-Contacts-nav
 *
 ******************************/
.bodywrapper .contacts-nav {
  background: var(--turquoise);
  color: white;
  font-family: 'ttm-regular';
  font-size: 16px;
  line-height: 24px;
  padding: 30px 40px 40px;
}
.bodywrapper .contacts-nav h2 {
  color: var(--dark-blue);
  font-size: 18px;
  font-family: ttm-semibold;
  margin-bottom: 30px;
  text-transform: uppercase;
}
.bodywrapper .contacts-nav > .item {
  margin-bottom: 25px;
}

.bodywrapper .contacts-nav > .item > .title,
.bodywrapper .contacts-nav > .item > .description,
.bodywrapper .contacts-nav > .item > .phone,
.bodywrapper .contacts-nav > .item > .mail {
  display: block;
}
.bodywrapper .contacts-nav > .item > .title,
.bodywrapper .contacts-nav > .item > .description {
  font-family: 'ttm-semibold';
}
.bodywrapper .contacts-nav > .item > .description,
.bodywrapper .contacts-nav > .item > .mail {
  color: white;
}
.bodywrapper .contacts-nav > .item > .title {
  color: var(--dark-blue);
}


/*******************************
 *
 *   M55-Contacts-nav-purple
 *
 ******************************/
.bodywrapper .contacts-nav-purple {
  background: var(--purple);
  color: #fff;
  font-family: 'ttm-regular';
  font-size: 16px;
  line-height: 24px;
  padding: 30px 40px 40px;
}

.bodywrapper .contacts-nav-purple h2 {
  color: var(--yellow);
}
.bodywrapper .contacts-nav-purple > .item {
  margin-bottom: 25px;
}
.bodywrapper .contacts-nav-purple a {
color:  var(--yellow);
}

.bodywrapper .contacts-nav-purple > .item > .title,
.bodywrapper .contacts-nav-purple > .item > .description,
.bodywrapper .contacts-nav-purple > .item > .phone,
.bodywrapper .contacts-nav-purple > .item > .mail {
  display: block;
}
.bodywrapper .contacts-nav-purple > .item > .title,
.bodywrapper .contacts-nav-purple > .item > .description {
  font-family: 'ttm-semibold';
}
.bodywrapper .contacts-nav-purple > .item > .description,
.bodywrapper .contacts-nav-purple > .item > .mail {
  color: #fff;
}
.bodywrapper .contacts-nav-purple > .item > .title {
  color: var(--dark-blue);
}
/*******************************
 *
 *   Tiles M04, M09
 *
 ******************************/
.bodywrapper .tile {
  height: 100%;
  min-height: 100%;
  background-position: center;
  background-size: cover;
}
.bodywrapper .tile.-white > .text-block,
.bodywrapper .tile.-blue > .text-block {
  padding: 80px 65px;
}
.bodywrapper .tile.-white {
  background-color: white;
}
.bodywrapper .tile.-blue {
  background-color: var(--turquoise);
}
.bodywrapper .tile.-blue * {
  color: white;
}
.bodywrapper .tile a.image,
.bodywrapper .tile .image {
  background-position: center;
  background-size: cover;
  display: block;
}
.bodywrapper .tile a.image:after,
.bodywrapper .tile .image:after {
  content: none !important;
}
.bodywrapper .tile a.more {
  font-family: ttm-italic;
  font-size: 16px;
  height: 18px;
  position: relative;
  text-decoration: none;
  cursor: pointer;
}
.bodywrapper .tile a.more:before {
  font-family: esrf;
  content: "\e90f";
  margin-right: 5px;
  font-size: 22px;
  position: relative;
  top: 5px;
  right: auto;
  bottom: auto;
  left: auto;
}
.bodywrapper .tile a.btn {
  border: 1px solid white;
  color: inherit;
  padding: 11px 27px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 15px;
  font-weight: normal;
  margin-top: 25px;
}

.bodywrapper .tile .tile-content {
  padding: 40px 70px;
}

.bodywrapper .sidebar .tile .tile-content {
  padding: 29px 30px 29px 40px;
}

.bodywrapper .tile .tile-content .tile-item {
  font-size: 18px;
  margin-bottom: 12px;
}

.bodywrapper .tile.-news {
  min-height: 460px;
  background-color: #F4F4F4;
}
.bodywrapper .tile.-news a.image,
.bodywrapper .tile.-news .image {
  height: 260px;
}
.bodywrapper .tile.-news .text-block {
  padding: 40px 70px;
  color: var(--dark-blue);
}
.bodywrapper .tile.-news .text-block .date {
  font-family: ttm-light;
  font-size: 16px;
}
.bodywrapper .tile.-news .text-block h3 {
  font-family: ttm-regular;
  font-size: 22px;
  font-weight: normal;
  margin: 0;
  line-height: 26px;
}
.bodywrapper .tile.-spotlight {
  border: 1px solid #c5c7d0;
  background-color: white;
}
.bodywrapper .tile.-spotlight a.image,
.bodywrapper .tile.-spotlight .image {
  height: 260px;
}
.bodywrapper .tile.-spotlight .text-block {
  margin: 10px 20px;
  padding: 27px 0;
  border-top: 1px solid #c5c7d0;
  color: var(--dark-blue);
}
.bodywrapper .tile.-spotlight .text-block .date {
  font-family: ttm-light;
  font-size: 16px;
}
.bodywrapper .tile.-spotlight .text-block h3 {
  font-family: ttm-regular;
  font-size: 22px;
  font-weight: normal;
  margin: 0;
  line-height: 26px;
}
.bodywrapper .tile.-spotlight.-horizontal {
  padding: 15px 0;
  min-height: 276px;
  position: relative;
}
.bodywrapper .tile.-spotlight.-horizontal:after {
  content: '';
  clear: both;
  display: block;
}
.bodywrapper .tile.-spotlight.-horizontal a.image,
.bodywrapper .tile.-spotlight.-horizontal .image {
  position: absolute;
  top: 15px;
  right: 15px;
  bottom: 15px;
  height: auto;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(50% - 30px);
}
.bodywrapper .tile.-spotlight.-horizontal .text-block {
  box-sizing: border-box;
  width: 50%;
  margin: 0;
  display: inline-block;
  padding: 15px 60px 15px 70px;
  border: none;
  border-right: 1px solid #c5c7d0;
  min-height: 274px;
}
.bodywrapper .tile.-spotlight.-horizontal .text-block .date {
  font-size: 14px;
}
.bodywrapper .tile.-spotlight.-horizontal .text-block .text {
  font-size: 15px;
  margin: 15px 0;
}
.bodywrapper .tile.-spotlight.-horizontal .text-block .more {
  font-size: 15px;
}
.bodywrapper .tile.-promoted {
  background-color: var(--dark-blue);
  color: white;
  display: table;
  width: 100%;
}
.bodywrapper .tile.-promoted .text-block {
  vertical-align: top;
  padding: 70px;
  display: table-cell;
  width: 50%;
  max-width: 50% !important;
  height: 100%;
}
.bodywrapper .tile.-promoted .text-block .date {
  font-size: 16px;
}
.bodywrapper .tile.-promoted .text-block h3 {
  font-size: 28px;
  font-weight: normal !important;
  font-family: ttm-regular !important;
  margin: 0;
}
.bodywrapper .tile.-promoted .text-block .paragraph {
  margin-top: 15px;
  font-size: 18px;
}
.bodywrapper .tile.-promoted a.image,
.bodywrapper .tile.-promoted .image {
  display: table-cell;
  height: 100%;
  min-height: 260px;
  width: 50%;
  min-width: 50% !important;
}
.bodywrapper .tile.-cta {
  font-size: 18px;
  color: white;
  background-color: var(--dark-blue);
}

.bodywrapper .tile.-cta.orange {
  color: var(--darker-blue);
  background-color: var(--dark-orange);
}

.bodywrapper .tile.-cta.paleblue {
  color: var(--darker-blue);
  background-color: var(--pale-blue);
}

.bodywrapper .tile.-cta.orange .text-block h3 {
  font-size: 28px;
  font-weight: normal;
  color: var(--darker-blue);
}

.bodywrapper .tile.-cta.paleblue .text-block h3 {
  font-size: 28px;
  font-weight: normal;
  color: var(--white);
}

.bodywrapper .tile.-cta.orange .btn {
  box-shadow: 0px 0px 2px #000;
  background-color: #132577;
  color: white;
}

.bodywrapper .tile.-cta.paleblue .btn {
  color: white;
}

.bodywrapper .tile.-cta .text-block {
  padding: 70px;
  height: 100%;
}

.bodywrapper .tile.-events {
  font-size: 18px;
  color: white;
  background-color: var(--dark-blue);
}

.bodywrapper .tile.-cta.advert {
  background-position: 0% 0%;
}

.bodywrapper .tile.-cta.advert .text-block .body {
  background-color: var(--dark-blue);
  padding: 8px 16px;
  margin-top: 15px;
  width: fit-content;
  color: white;
}

.bodywrapper .tile.-cta.advert .text-block h3 {
  font-size: 28px;
  font-weight: normal;
}

.bodywrapper .tile.-cta.advert[style^="background-image"] .btn {
  box-shadow: 0px 0px 2px #000;
  background-color: var(--dark-blue);
}

.bodywrapper .tile.-cta .text-block .date {
  font-size: 16px;
}
.bodywrapper .tile.-cta .text-block h3 {
  font-size: 28px;
  font-weight: normal;
  margin: 0;
}
.bodywrapper .tile.-cta .text-block .body {
  margin-top: 15px;
}
.bodywrapper .tile.-cta .text-block .input-group.-email {
  width: 85%;
}
.bodywrapper .tile.-cta .text-block > a:first-child {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.bodywrapper .tile.-cta[style^="background-image"] .btn {
  box-shadow: 0px 0px 2px #000;
}
.bodywrapper .tile.-cta[style~=image] .text-block h3 {
  text-transform: uppercase;
  font-size: 22px;
  font-family: ttm-semibold;
}
.bodywrapper .tile.-ctafilter {
  position: relative;
  overflow: hidden;
}
.bodywrapper .tile.-ctafilter .text {
  text-shadow: 0 0 6px #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
  padding: 20px 40px;
  font-family: ttm-semibold;
  text-align: center;
  color: white;
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translate(0, -50%);
}
.bodywrapper .tile.-ctafilter a,
.bodywrapper .tile.-ctafilter .filter-top,
.bodywrapper .tile.-ctafilter .filter-bottom {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.bodywrapper .tile.-ctafilter.-std .text {
  font-size: 28px;
}
.bodywrapper .tile.-ctafilter.-small .text {
  font-size: 20px;
}
.bodywrapper .tile.-narticle {
  background-color: var(--dark-blue);
  color: white;
  display: table;
  width: 100%;
}
.bodywrapper .tile.-narticle .text-block {
  vertical-align: top;
  padding: 20px;
  display: table-cell;
  position: relative;
  padding-bottom: 20px;
  width: 45%;
  max-width: 45% !important;
  height: 100%;
}
.bodywrapper .tile.-narticle .text-block > .date {
  font-size: 16px;
}

.bodywrapper .tile.-narticle .text-block > h2 {
  font-size: 18px;
}

.bodywrapper .tile.-narticle .text-block > .paragraph {
  margin-top: 15px;
  font-size: 18px;
}
.bodywrapper .tile.-narticle .text-block > .blockquote {
  position: relative;
  font-size: 18px;
  line-height: 26px;
  background-color: inherit;
  color: inherit;
  font-family: inherit;
  margin: 0;
  padding: 25px 0;
  text-align: inherit;
}
.bodywrapper .tile.-narticle .text-block > .blockquote:before,
.bodywrapper .tile.-narticle .text-block > .blockquote:after {
  content: '"';
  position: absolute;
  font-size: 65px;
  font-family: ttm-thin;
  font-style: italic;
}
.bodywrapper .tile.-narticle .text-block > .blockquote:before {
  top: 10px;
  left: -12px;
}
.bodywrapper .tile.-narticle .text-block > .blockquote:after {
  bottom: -17px;
  right: 10px;
}
.bodywrapper .tile.-narticle a.image,
.bodywrapper .tile.-narticle .image {
  display: table-cell;
  height: 100%;
  min-height: 260px;
  width: 55%;
  min-width: 55% !important;
}

.bodywrapper .tile.-narticle ul.socials {
  padding: 0;
  margin: 0;
  list-style-type: none;
  position: absolute;
  bottom: 20px;
}

.bodywrapper .tile.-narticle ul.socials li {
  display: inline-block;
  margin-right: 10px;
}

.bodywrapper .tile.-narticle ul.socials li:last-child {
  margin-right: 0;
}
.bodywrapper .tile.-narticle ul.socials li a.twitter,
.bodywrapper .tile.-narticle ul.socials li a.facebook,
.bodywrapper .tile.-narticle ul.socials li a.linkedin {
  text-decoration: none;
  display: block;
  background-color: var(--pale-blue);
  border-radius: 50%;
  color: white;
  line-height: 26px;
  height: 26px;
  width: 26px;
  text-align: center;
}
.bodywrapper .tile.-narticle ul.socials li a.twitter:before,
.bodywrapper .tile.-narticle ul.socials li a.facebook:before,
.bodywrapper .tile.-narticle ul.socials li a.linkedin:before {
  font-family: esrf;
  font-size: 12px;
  position: relative;
  top: -1px;
  right: auto;
  bottom: auto;
  left: auto;
}
.bodywrapper .tile.-narticle ul.socials li a.twitter:after,
.bodywrapper .tile.-narticle ul.socials li a.facebook:after,
.bodywrapper .tile.-narticle ul.socials li a.linkedin:after {
  content: none !important;
}
.bodywrapper .tile.-narticle ul.socials li .twitter:before {
  content: "\e959";
}
.bodywrapper .tile.-narticle ul.socials li .facebook:before {
  content: "\e909";
}
.bodywrapper .tile.-narticle ul.socials li .linkedin:before {
  content: "\e93a";
}

/*******************************
 *To make screen reader only text
 * source https://www.useragentman.com/enable/screen-reader-only-text.php
 *
 ******************************/

.sr-only {
  clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  margin: -1px;
}

/*******************************
 * media queries
 *
 ******************************/

 @media only screen and (max-width: 750px) {

   .bodywrapper .header nav.global > ul {
       left: 88px !important;
     }
    .bodywrapper .header nav.global > ul >li {
       margin-left: 12px !important;
    }
 }


 @media (min-width: 750px) {
   .lead {
     font-size: 21px;
   }
   .dl-horizontal dt {
       float: left;
       width: 160px;
       clear: left;
       text-align: right;
       text-overflow: ellipsis;
       overflow: hidden;
       white-space: nowrap;
     }
     .dl-horizontal dd {
       margin-left: 180px;
     }
    .carousel-control .glyphicon-chevron-left,
      .carousel-control .glyphicon-chevron-right,
      .carousel-control .icon-prev,
      .carousel-control .icon-next {
        width: 30px;
        height: 30px;
        margin-top: -10px;
        font-size: 30px;
      }
      .carousel-control .glyphicon-chevron-left,
      .carousel-control .icon-prev {
        margin-left: -10px;
      }
      .carousel-control .glyphicon-chevron-right,
      .carousel-control .icon-next {
        margin-right: -10px;
      }
      .carousel-indicators {
        bottom: 20px;
      }
    .col-sm-1 {
        float: left
      }
      .col-sm-offset-2 {
        margin-left: 16.666666666667%
      }
    .navbar {
      border-radius: 4px;
    }
      .form-inline .form-group,
      .navbar-form .form-group {
        display: inline-block;
        margin-bottom: 0;
        vertical-align: middle;
      }
      .form-inline .form-control,
      .navbar-form .form-control {
        display: inline-block;
        width: auto;
        vertical-align: middle;
      }
      .form-inline .form-control-static,
      .navbar-form .form-control-static {
        display: inline-block;
      }
      .form-inline .input-group,
      .navbar-form .input-group {
        display: inline-table;
        vertical-align: middle;
      }
      .form-inline .input-group .input-group-addon,
      .navbar-form .input-group .input-group-addon,
      .form-inline .input-group .input-group-btn,
      .navbar-form .input-group .input-group-btn,
      .form-inline .input-group .form-control,
      .navbar-form .input-group .form-control {
        width: auto;
      }
      .form-inline .input-group > .form-control,
      .navbar-form .input-group > .form-control {
        width: 100%;
      }
      .form-inline .control-label,
      .navbar-form .control-label {
        margin-bottom: 0;
        vertical-align: middle;
      }
      .form-inline .radio,
      .navbar-form .radio,
      .form-inline .checkbox,
      .navbar-form .checkbox {
        display: inline-block;
        margin-top: 0;
        margin-bottom: 0;
        vertical-align: middle;
      }
      .form-inline .radio label,
      .navbar-form .radio label,
      .form-inline .checkbox label,
      .navbar-form .checkbox label {
        padding-left: 0;
      }
      .form-inline .radio input[type="radio"],
      .navbar-form .radio input[type="radio"],
      .form-inline .checkbox input[type="checkbox"],
      .navbar-form .checkbox input[type="checkbox"] {
        position: relative;
        margin-left: 0;
      }
      .form-inline .has-feedback .form-control-feedback,
      .navbar-form .has-feedback .form-control-feedback {
        top: 0;
      }
 }
@media (min-width: 750px) and (max-width: 1199px) {
  .visible-sm-inline {
    display: inline !important;
  }
  .visible-sm-block {
      display: block !important;
    }
 .visible-sm-inline-block {
    display: inline-block !important;
  }
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
  .hidden-sm {
    display: none !important;
  }
}
@media only screen and (max-width: 1200px) {
  .bodywrapper section .white {
    padding: 40px;
  }
  .bodywrapper section .white .separator {
     margin-left: -40px;
     margin-right: -40px;
  }
  .bodywrapper section .publications.-events {
      padding: 40px;
  }
  .bodywrapper .bg-content {
    padding-bottom: 200px;
  }
  .bodywrapper .primary.-u-s-home .wrapper {
    width: 100%;
  }
  .bodywrapper .header nav.global > ul {
    position: absolute;
    top: auto;
    right: auto;
    bottom: 0px;
    left: 76px;
  }
   .bodywrapper .header nav.global > ul >li {
      margin-left: 24px;
   }
   .bodywrapper .event-slider > #eventslider > a.title {
     top: 40px;
     left: 40px;
     right: 40px;
   }
   .bodywrapper .event-slider > #eventslider > .carousel-indicators {
     width: 40%;
     margin-left: -20%;
   }
   .bodywrapper .event-slider > #eventslider > .carousel-inner > .item {
     padding: 91px 40px 35px 40px;
   }
   .bodywrapper .event-slider > #eventslider > .carousel-control.left {
     left: 30%;
   }
   .bodywrapper .event-slider > #eventslider > .carousel-control.right {
     right: 30%;
   }
   .bodywrapper .content-body.-cropped .insider {
     padding-left: 120px;
   }
   .bodywrapper .u-s-home-header .tile.-cta .text-block {
     padding: 40px !important;
   }
   .bodywrapper .u-s-home-header .info-users {
     padding: 40px;
   }
   .bodywrapper .u-s-home-header .tile.apply-beamline ul li {
     float: none;
     display: block;
     width: 100%;
   }
   .bodywrapper .blocks-bg .row {
     width: 80%;
   }
  .bodywrapper .tile.-white > .text-block,
   .bodywrapper .tile.-blue > .text-block {
     padding: 40px;
   }
   .bodywrapper .tile.-news .text-block {
     padding: 40px;
   }
   .bodywrapper .tile.-promoted .text-block {
     padding: 40px;
   }
   .bodywrapper .tile.-cta .text-block {
     padding: 40px;
   }
}
@media only screen and (min-width: 1201px) and (max-width: 1400px) {
  .bodywrapper .header nav.global > ul {
    position: absolute;
    top: auto;
    right: auto;
    bottom: 0px;
    left: 88px;
  }
 .bodywrapper .header nav.global > ul >li {
    margin-left: 36px;
 }
}

@media (min-width: 1200px) {
	.col-md-4, .col-md-6, .col-md-10 {
		float: left
	}
	.col-md-10 {
		width: 83.333333333333%
	}
	.col-md-6 {
		width: 50%
	}
	.col-md-4 {
		width: 33.333333333333%
	}
	.col-md-3 {
		width: 25%
	}
	.col-md-2 {
		width: 16.666666666667%
	}
	.col-md-1 {
		width: 8.3333333333333%
	}
	.col-md-offset-11 {
		margin-left: 91.666666666667%
	}
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 34px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm,
  .input-group-sm input[type="date"],
  .input-group-sm input[type="time"],
  .input-group-sm input[type="datetime-local"],
  .input-group-sm input[type="month"] {
    line-height: 30px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg,
  .input-group-lg input[type="date"],
  .input-group-lg input[type="time"],
  .input-group-lg input[type="datetime-local"],
  .input-group-lg input[type="month"] {
    line-height: 46px;
  }

}

.tooltip {
  font-size: 14px !important;
}

.padding-12px {
  padding: 12px !important;
}

.overflow-hidden {
  overflow: hidden;
}

.position-relative {
  position: relative;
}

.news-tag {
  padding: 4px 8px;
  font-size: 17px;
  width: 180px;
  position: absolute;
}

.tile.-promoted .news-tag {
  top: -48px;
  right: -44px;
}

.tile.-news .news-tag {
  top: -56px;
  right: -52px;
}

.bodywrapper table.staff-table {
  width: 100% !important;
  table-layout: fixed;
  border: none !important;
  border-spacing: 16px 0 !important;
}

.staff-table td {
  color: var(--darker-blue);
  background-color: var(--light-grey);
  width: 33% !important;
  border: none !important;
  font-size: 16px;
  line-height: 18px;
}

.staff-table td strong {
  font-size: 18px;
  line-height: 30px;
}

.staff-table tr:nth-child(odd) td {
  height: 250px !important;
  overflow-y: hidden;
  white-space: nowrap;
}

.staff-table tr:nth-child(even) td {
  padding: 12px 16px;
  text-align: center;
  border-bottom: 16px solid var(--white) !important;
  vertical-align: top;
}

.staff-table td img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

