@charset "ASCII-8BIT";
/* ohai from scss */
@font-face {
  font-family: 'Marydale';
  src: url("/fonts/marydale/marydale-webfont.eot");
  src: url("/fonts/marydale/marydale-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/marydale/marydale-webfont.woff") format("woff"), url("/fonts/marydale/marydale-webfont.ttf") format("truetype"), url("/fonts/marydale/marydale-webfont.svg#marydaleregular") format("svg");
  font-weight: normal;
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 20px 0;
  font-family: "Open Sans", "Microsoft YaHei", "微软雅黑", "Hiragino Sans GB", "Hiragino Sans GB W3", "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  color: black;
  text-rendering: optimizelegibility;
  line-height: 1.8em;
}
h1.blue, h2.blue, h3.blue, h4.blue, h5.blue, h6.blue {
  color: #2b9ea6;
}

strong {
  font-weight: 700;
}

h1 {
  font-size: 36px;
  font-weight: 300;
  color: #c1d430;
  word-wrap: break-word;
}
h1 small {
  font-size: 18px;
}

h2 {
  font-weight: 300;
  font-size: 36px;
  line-height: 1.3em;
}
h2 small {
  font-size: 18px;
}

h3 {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.25em;
  margin-bottom: 1.3em;
}
h3 small {
  font-size: 14px;
}

h3.item-head {
  margin-bottom: 0.2em;
  text-align: left;
}

h3.white {
  color: white;
}

.container .row .row-header h3:last-child {
  margin-bottom: 1.8em;
}

h4 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 8px;
}
h4 small {
  font-size: 12px;
}

h5, h6 {
  font-weight: bold;
  margin-bottom: 6px;
}

h5 {
  font-size: 12px;
}

h6 {
  font-size: 11px;
}

p.narrow-text {
  text-align: left;
}

@media screen and (min-width: 601px) {
  p.narrow-text {
    line-height: 1.5em;
  }
}
.lead-line {
  font-family: Marydale, "FangSong", "仿宋", STFangSong, "华文仿宋", serif;
  font-size: 22px;
  color: #e30066;
  line-height: 1.7em;
}

.lead-line-author {
  font-family: Marydale, "FangSong", "仿宋", STFangSong, "华文仿宋", serif;
  color: #666666;
  font-size: 18px;
  display: block;
  text-align: right;
  line-height: 1.4em;
}

.in-content-quote {
  font-style: italic;
}

span.in-content-quote-author {
  margin-top: 1em;
  color: #666666;
  font-size: 0.8em;
  display: block;
  line-height: 1.4em;
  font-style: normal;
  text-align: right;
}

.lead-line-description {
  margin-top: -1.3em;
}

.lead-line-black {
  font-family: Marydale, "FangSong", "仿宋", STFangSong, "华文仿宋", serif;
  font-size: 22px;
  color: black;
  line-height: 1.3em;
}

.callout {
  font-family: Marydale, "FangSong", "仿宋", STFangSong, "华文仿宋", serif;
  font-size: 22px;
  color: #e30066;
  line-height: 1.3em;
}

pre {
  margin-bottom: 20px;
  padding: 1em;
  border: 1px solid #b3b3b3;
  overflow-x: auto;
}

.bold {
  font-weight: bold;
}

.news h1, .blog-post h1 {
  font-size: 2.7em;
  font-weight: normal;
  line-height: 1.3em;
  color: black;
}

.news h3.date-and-place {
  font-family: Marydale;
  color: #b3b3b3;
}

/*
---------- Font size for middle viewport
*/
@media screen and (min-width: 600px) and (max-width: 780px) {
  h2 {
    font-size: 24px;
  }
}
.photo-block {
  margin-bottom: 40px;
}
.photo-block img {
  min-width: 100%;
}

.graphic-block {
  height: 120px;
  width: 100%;
  text-align: center;
  margin-bottom: 40px;
}

.graphic-block.illustration p {
  font-family: Marydale, "FangSong", "仿宋", STFangSong, "华文仿宋", serif;
  font-size: 18px;
}

.graphic-block.thought {
  font-family: Marydale, "FangSong", "仿宋", STFangSong, "华文仿宋", serif;
  font-size: 22px;
  background-color: #666666;
  color: white;
  position: relative;
}
.graphic-block.thought p {
  padding: 10% 10%;
  line-height: 1.8em;
  text-align: center;
}

.graphic-block.action {
  background-color: #2b9ea6;
}
.graphic-block.action a {
  color: white;
  display: inline-block;
  width: 100%;
  height: 100%;
  position: relative;
  border-left: 8px solid black;
}
.graphic-block.action a .action-label {
  position: relative;
  top: 42%;
}

.graphic-block.graphic-block-pink {
  background-color: #e30066;
  color: black;
}
.graphic-block.graphic-block-pink strong {
  color: white;
}

.graphic-block.graphic-block-black {
  background-color: black;
  color: white;
  font-weight: normal;
}
.graphic-block.graphic-block-black strong {
  color: #c1d430;
}

.graphic-block.graphic-block-green {
  background-color: #c1d430;
}
.graphic-block.graphic-block-green strong {
  color: white;
}

.graphic-block.graphic-block-blue {
  background-color: #2b9ea6;
  color: white;
}
.graphic-block.graphic-block-blue strong {
  color: black;
}

.graphic-block.stat {
  font-size: 16px;
  line-height: 1.2em;
}

.graphic-block.stat strong {
  font-weight: 300;
  font-size: 48px;
  display: block;
  padding-top: 38px;
}

.graphic-block-small {
  min-height: 20px;
  padding: 3% 7%;
  margin-bottom: 10px;
}

.graphic-block-small.gray {
  border-left: 8px solid #c1d430;
  background-color: whitesmoke;
}

.graphic-block-small.gray strong {
  font-size: 16px;
  color: black;
  font-weight: bold;
}

.graphic-block-small.black {
  border-left: 8px solid #e30066;
  background-color: black;
  color: #b3b3b3;
}

.graphic-block-small.black strong {
  font-size: 16px;
  color: white;
  font-weight: bold;
}

.graphic-block-small.action {
  color: white;
  background-color: #2b9ea6;
  padding: 0;
  height: 100%;
  min-height: 85px;
}
.graphic-block-small.action a {
  display: block;
  height: 85px;
  width: 100%;
  border-left: 8px solid black;
  color: white;
  text-align: center;
}
.graphic-block-small.action a .action-label {
  position: relative;
  font-size: 16px;
  font-weight: bold;
  top: 40%;
}

.graphic-block.vertical {
  font-size: 18px;
  padding: 1.5em 0;
  height: auto;
}
.graphic-block.vertical strong {
  line-height: 1.5em;
  display: block;
}

.graphic-block-line {
  padding-left: 20px;
  border-left: 2px solid #b3b3b3;
}
.graphic-block-line.color-pink {
  border-left-color: #e30066;
}
.graphic-block-line.color-blue {
  border-left-color: #2b9ea6;
}

form {
  background-color: whitesmoke;
  padding: 1em;
}

form.no-padding {
  padding: 0;
}

select,
textarea,
input {
  font-family: "Open Sans", "Microsoft YaHei", "微软雅黑", "Hiragino Sans GB", "Hiragino Sans GB W3", "Helvetica Neue", Arial, sans-serif;
  display: inline-block;
  height: 2.4em;
  padding: 5px 15px;
  margin-bottom: 9px;
  font-size: 16px;
  color: #666666;
  width: 100%;
  border: 1px solid #b3b3b3;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}

label.location-label {
  float: left;
  clear: none;
  display: block;
  padding: 0.4em 1em 0 0.5em;
}

input[type=radio].event-city {
  float: left;
  clear: left;
  margin: 2px 0 0 2px;
  width: auto;
}

select {
  border-radius: 0;
  width: 100%;
  line-height: 1em;
}

textarea {
  height: 6em;
  line-height: 1.5em;
}

.required {
  margin-left: 0.3em;
  font-weight: bold;
  color: #e30066;
}

.placeholder-enabled {
  color: #b3b3b3;
}

.required-legend {
  font-size: 0.8em;
  padding: 0.1em 0 0.1em 0.5em;
  font-weight: normal;
}

.required-legend-text {
  font-size: 0.7em;
  font-weight: normal;
  color: #666666;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #b3b3b3;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #b3b3b3;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #b3b3b3;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #b3b3b3;
}

input[type="submit"] {
  -webkit-appearance: none;
  height: 32px;
  width: auto;
  line-height: 1em;
}

select:focus,
textarea:focus,
input:focus {
  box-shadow: inset 0 0 1px #000;
  outline: none;
  border-color: #666666;
}

label {
  color: #666666;
  display: block;
  margin-bottom: 0.2em;
  font-size: 16px;
}

.input-no-border {
  border: none;
}

.input-dark-bkg {
  background-color: whitesmoke;
}

.search input {
  border: none;
  background-color: whitesmoke;
  -webkit-border-radius: 15px 15px;
  -moz-border-radius: 15px / 15px;
  border-radius: 15px / 15px;
}

.mobile-search .search input {
  border: none;
  background-color: whitesmoke;
  -webkit-border-radius: 15px 15px;
  -moz-border-radius: 15px / 15px;
  border-radius: 15px / 15px;
  width: 90%;
  padding: 5px 5%;
  background-color: white;
}

.input-group {
  margin-bottom: 0.5em;
  clear: both;
  overflow: hidden;
}
.input-group.group-inline label {
  float: left;
  width: 30%;
  line-height: 1.4em;
  padding-top: 0.6em;
}
.input-group.group-inline input, .input-group.group-inline select, .input-group.group-inline textarea {
  float: right;
  width: 68%;
}

@media screen and (max-width: 600px) {
  .input-group.group-stacked-mobile label {
    width: auto;
    clear: both;
    float: none;
  }
  .input-group.group-stacked-mobile input, .input-group.group-stacked-mobile select, .input-group.group-stacked-mobile textarea {
    width: 100%;
    clear: both;
    float: none;
  }
}
.form-response-message {
  margin: 0 0 2em;
  font-size: 0.9em;
}

.help-inline {
  margin-left: 10px;
  font-size: 12px;
  color: black;
  vertical-align: middle;
  display: inline-block;
}

.error input {
  border-color: #ce3b00;
}

.error .help-inline {
  color: #ce3b00;
}

.btn {
  cursor: pointer;
  border: 0;
  -webkit-border-radius: 3px 3px;
  -moz-border-radius: 3px / 3px;
  border-radius: 3px / 3px;
  font-size: 16px;
  font-family: "Open Sans", "Microsoft YaHei", "微软雅黑", "Hiragino Sans GB", "Hiragino Sans GB W3", "Helvetica Neue", Arial, sans-serif;
  padding: 0px 15px;
  height: 32px;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  transition: 0.5s;
}

a.btn:lang(en) {
  text-decoration: none;
}

a.btn {
  height: 22px;
  text-decoration: none;
  padding: 5px 15px;
  line-height: 1.4em;
}

input.button-half {
  width: 49%;
}

.btn.btn-inline {
  display: inline-block;
  *display: inline;
  margin-right: 0.4em;
  margin-bottom: 0.4em;
  margin-top: 0;
}

.btn.btn-primary {
  background-color: #2b9ea6;
  color: white;
}

.btn.btn-primary:hover {
  background-color: #61ced6;
}

.btn-primary.btn-spinner {
  background: #2b9ea6 url("/imgs/loading-spinner.gif") no-repeat right 10px center;
  padding-right: 35px;
}

.btn-disabled {
  background: #DDD !important;
  color: #999 !important;
  text-decoration: line-through !important;
  cursor: default;
}

.btn.btn-alternate {
  background-color: whitesmoke;
  color: #2b9ea6;
}

.btn.btn-alternate:hover {
  background-color: #61ced6;
}

.btn.btn-pink {
  background-color: #e30066;
  color: white;
}
.btn.btn-pink:hover {
  background-color: #ff7db7;
}

.btn.btn-black {
  background-color: black;
  color: white;
}

.btn.btn-black:hover {
  background-color: gray;
}

.btn.btn-white {
  background-color: white;
}

.btn.btn-white:hover {
  background-color: #2b9ea6;
  color: white;
}

.btn.btn-small {
  font-size: 11px;
  height: 18px;
  line-height: 18px;
  padding: 3px 10px;
}

btn.btn-close {
  line-height: 1.2em;
}

.search .btn,
.email-signup .btn {
  border: none;
  width: 17px;
  height: 29px;
  position: relative;
  margin-left: -38px;
  background-image: url(/imgs/icons/search.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent;
  vertical-align: top;
  *left: -23px;
}

.email-signup .btn {
  height: 17px;
  margin-left: -27px;
  *top: -17px;
  *left: -28px;
}

.email-signup input {
  width: 84%;
  padding-left: 15px;
  padding-right: 15px;
  display: inline-block;
  *display: inline;
  background-color: white;
  border: none;
}

.btn.btn-arrow-blue {
  margin-left: 1px;
  color: white;
  height: 2.4em;
  padding: 0;
  display: inline-block;
  *display: inline;
  position: relative;
  width: 9%;
  background: #2b9ea6;
  vertical-align: top;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
}

.form-link {
  font-size: 12px;
  margin-right: 2%;
}

.form-link.form-opt-out-link {
  color: black;
}

/* email signup */
.sign-up-label {
  font-size: 16px;
  margin-bottom: 20px;
}

/*
---------- Marketo event form styling
*/
.marketo-form-prettyfied ul {
  list-style-type: none;
  margin: 0;
}
.marketo-form-prettyfied ul li {
  padding-left: 0;
  margin-bottom: 0.5em;
}
.marketo-form-prettyfied #mktFrmButtons {
  padding-top: 0.4em;
}
.marketo-form-prettyfied #mktFrmButtons label {
  display: none;
}
.marketo-form-prettyfied #mktFrmButtons input {
  cursor: pointer;
  border: 0 !important;
  -webkit-border-radius: 3px 3px;
  -moz-border-radius: 3px / 3px;
  border-radius: 3px / 3px;
  font-size: 16px !important;
  font-family: "Open Sans", "Microsoft YaHei", "微软雅黑", "Hiragino Sans GB", "Hiragino Sans GB W3", "Helvetica Neue", Arial, sans-serif !important;
  padding: 0px 15px !important;
  height: 32px !important;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  transition: 0.5s;
  background-color: #2b9ea6 !important;
  color: white !important;
}
.marketo-form-prettyfied #mktFrmButtons input:hover {
  background-color: #61ced6 !important;
}

.registration-block {
  background-color: whitesmoke;
  padding-top: 1em;
  margin: 0px;
}
.registration-block h3 {
  margin-left: 0px;
  padding-left: 0.8em;
  margin: 0px;
}

@media screen and (min-width: 601px) {
  :lang(cn) .last .lead-line {
    padding-left: 45px;
  }
}
:lang(cn) .centered-element .lead-line, :lang(cn) #work-with-us-text {
  padding-left: 0px;
}
:lang(cn) a, :lang(cn) .container.hero.main-title .nav a {
  text-decoration: none;
}
:lang(cn) .primary-nav a.active {
  font-weight: 900;
}

@media screen and (min-width: 601px) {
  :lang(en) .lead-line {
    padding-left: 0px;
  }
}

:lang(de) .client-logos h2 {
  font-size: 33px;
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  font-family: "Open Sans", "Microsoft YaHei", "微软雅黑", "Hiragino Sans GB", "Hiragino Sans GB W3", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  color: #666666;
  line-height: 1.8em;
  margin: 20px 0 0 0;
  padding: 0;
}

a:lang(en) {
  text-decoration: underline;
}

a {
  color: #2b9ea6;
  text-decoration: underline;
}
a:visited {
  color: #2b9ea6;
}
a:hover {
  color: #c1d430;
}

a.active {
  font-weight: 700;
}

.border {
  border: 1px solid #ccc;
}

#cookie-banner {
  background-color: whitesmoke;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-top: -20px;
}

#cookie-banner-close-button {
  color: #b3b3b3;
  text-decoration: initial;
  margin: 0.2em 0.5em;
  font-size: 1.2em;
  float: right;
}

ul, ol, p, table {
  margin-bottom: 1.4em;
}

ul.no-bullet {
  margin-left: 0;
}
ul.no-bullet li {
  padding-left: 0;
  list-style-type: none;
}

ul, ol {
  list-style-position: outside;
  margin-left: 30px;
}

li {
  padding-left: 10px;
}

dd {
  display: inline-block;
}

dt {
  display: inline-block;
  font-weight: bold;
  padding-right: 2px;
}

hr {
  border: 1px solid whitesmoke;
  line-height: 1px;
  margin: 3em 0;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
table thead {
  font-weight: bold;
  border-bottom: 0.2em solid #2b9ea6;
}
table th, table td {
  padding: 10px 10px 10px 15px;
  line-height: 1.8em;
  text-align: left;
  vertical-align: top;
}
table th {
  font-weight: bold;
}
table td {
  background: white;
}
table tbody tr {
  border-bottom: 1px solid #CCC;
}

.justify {
  text-align: justify;
}

.justify-left {
  text-align: left;
}

.right {
  float: right;
}

.left {
  float: left;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  *zoom: 1;
}

div.more-spacing {
  margin-bottom: 2em;
}

@media screen and (min-width: 601px) {
  div.more-spacing {
    margin-bottom: 4em;
  }
}
/*
	For the most part every container should have a 40px margin-bottom
*/
.container {
  margin-bottom: 2em;
}

.container.content {
  margin-bottom: 0px;
}

.container.nav-container,
.container.section-title-container,
.utility-container {
  margin-bottom: 0;
}

/*
some elements (graphic blocks and photos) can appear in a grid 
and margin-bottom of 40px is applied to evenly space it vertically.
since the elements will provide the standard 40px margin-bottom spacing
the container of grid needs to have its margin-bottom removed
*/
.container.footer-container,
.container.multi-container {
  margin-bottom: 0;
}

div.separator {
  border-top: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
  background: whitesmoke;
  padding-top: 2em;
  padding-bottom: 0em;
  margin-bottom: 2em;
}
div.separator.before-footer {
  margin-bottom: 0.4em;
}

#cookie-banner-text {
  font-size: 0.85em;
  line-height: 1.4em;
  padding-top: 10px;
  padding-bottom: 10px;
}

@media screen and (min-width: 601px) {
  div.separator {
    padding-top: 3em;
    padding-bottom: 0;
    margin-bottom: 3em;
  }

  #cookie-banner-text {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.black {
  background: black;
}

/*
----------- header
*/
/* tablet and desktop */
@media screen and (min-width: 601px) {
  .tw-logo {
    padding-top: 3px;
    padding-bottom: 7px;
  }
}
.primary-nav {
  margin-bottom: 0;
  margin-left: 0;
}
.primary-nav li {
  padding-left: 0;
}
.primary-nav li:last-child {
  margin-right: 0;
}
.primary-nav a {
  color: black;
  text-decoration: none;
}
.primary-nav a:visited {
  color: black;
}
.primary-nav a:hover {
  text-decoration: underline;
}

/*  tablet view */
@media screen and (min-width: 601px) and (max-width: 780px) {
  #menu .primary-nav li {
    margin-right: 3%;
    font-size: 16px;
  }

  #menu .secondary-nav li {
    padding-left: 0;
    font-size: 16px;
    margin-left: 7%;
  }
}
.secondary-nav a {
  text-decoration: none;
}
.secondary-nav a:hover {
  text-decoration: underline;
}
.secondary-nav a.secondary {
  color: #e30066;
}
.secondary-nav a.secondary:hover {
  color: #ff7db7;
}

.nav {
  padding-top: 11px;
}

.nav li {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  margin-right: 3.6%;
  margin-bottom: 1em;
  font-size: 18px;
  list-style-type: none;
  list-style: none;
  line-height: 1em;
}

ul.nav-right {
  text-align: right;
}
ul.nav-right li {
  margin: 0 0 1em 3%;
}

.secondary-nav {
  width: 100%;
  margin-left: 0;
}

.nav-white {
  margin-left: 0;
  margin-bottom: 0;
}
.nav-white li {
  padding-left: 0;
}

.nav.nav-white a {
  color: white;
  font-size: 14px;
  font-weight: bold;
}

.nav.nav-white a.active {
  color: #c1d430;
}

/*
----------- utility section
*/
.social-nav {
  padding: 5px 3% 0 0;
  overflow: hidden;
}

.social-nav li {
  float: right;
  margin-left: 6%;
  list-style-type: none;
  list-style: none;
  line-height: 1em;
  padding-left: 0;
}

a.language-switcher {
  color: #b3b3b3;
  padding-top: 5px;
  float: right;
  padding-left: 5%;
  text-decoration: none;
}

a.mobile-language-switcher:hover,
a.language-switcher:hover {
  color: #c1d430;
  text-decoration: underline;
}

/*
------------ Mobile Tabs
*/
#tab-nav-list {
  width: 15%;
  text-align: center;
}
#tab-nav-list img {
  vertical-align: top;
  max-width: 100%;
}

.tab-mobile-header {
  float: right;
  margin-left: 5%;
  padding: 0;
  background: whitesmoke;
  -moz-border-radius-topleft: 7px;
  -webkit-border-top-left-radius: 7px;
  border-top-left-radius: 7px;
  -moz-border-radius-topright: 7px;
  -webkit-border-top-right-radius: 7px;
  border-top-right-radius: 7px;
  background-color: whitesmoke;
  padding: 5% 15% 6.5%;
  height: 18px;
}
.tab-mobile-header.not-selected {
  margin-bottom: 5px;
  background: none;
}

a.mobile-language-switcher {
  color: #666666;
  text-decoration: none;
}

/*
----------- hero blocks
*/
.hero .nav {
  margin-top: 9px;
  margin-bottom: 16px;
}

.hero.gray-black {
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #333333), color-stop(100%, #000000));
  background: -webkit-linear-gradient(top, #333333, #000000);
  background: -moz-linear-gradient(top, #333333, #000000);
  background: -o-linear-gradient(top, #333333, #000000);
  background: linear-gradient(top, #333333, #000000);
}

.container.hero.main-title {
  padding-top: 0;
  padding-bottom: 1em;
  border-bottom: 1px solid #ebebeb;
  margin-bottom: 3em;
}
.container.hero.main-title.no-underline {
  border-bottom: none;
  margin-bottom: 0;
}
.container.hero.main-title h1 {
  font-size: 2.4em;
  line-height: 1em;
  font-weight: 300;
  color: #333;
  margin-bottom: 27px;
  margin-top: 0.5em;
}
.container.hero.main-title p {
  font-size: 1.3em;
  line-height: 1.5em;
  font-weight: 400;
  color: #999;
  margin-bottom: 1em;
}
.container.hero.main-title .action-1, .container.hero.main-title .action-2 {
  position: static;
  float: right;
  font-size: 1.8em;
  padding: 0.5em 0.8em 0.5em 1em;
  font-weight: 300;
  margin: 0 0 0.4em 1em;
  height: 28px;
}
.container.hero.main-title .nav a {
  color: #2b9ea6;
  text-decoration: underline;
}
.container.hero.main-title .nav a:visited {
  color: #2b9ea6;
}
.container.hero.main-title .nav a:hover {
  color: #c1d430;
}
.container.hero.main-title .nav a {
  font-size: 1em;
  font-weight: 300;
}
.container.hero.main-title .nav a:hover {
  color: #aebb49;
}
.container.hero.main-title .nav .nav-white li {
  margin-right: 2em;
}
@media screen and (min-width: 601px) and (max-width: 780px) {
  .container.hero.main-title h1 {
    font-size: 3.5em;
    margin-top: 0;
  }
  .container.hero.main-title p {
    font-size: 1.2em;
  }
}
@media screen and (min-width: 781px) {
  .container.hero.main-title h1 {
    font-size: 5.4em;
    margin-top: 0;
  }
  .container.hero.main-title p {
    font-size: 1.4em;
  }
}

.hero.gray {
  background-color: whitesmoke;
}

.hero p {
  font-size: 18px;
  line-height: 1.6em;
}

.hero h3.subtitle {
  font-family: Marydale, "FangSong", "仿宋", STFangSong, "华文仿宋", serif;
  color: #b3b3b3;
  font-size: 28px;
  font-weight: normal;
  margin-bottom: 0.5em;
}

.container.hero {
  padding-top: 30px;
}

/*
----------- Breadcrumb
*/
.breadcrumb.container {
  margin-top: -2em;
}
.breadcrumb.container .twelvecol {
  padding-bottom: 0;
}

@media screen and (max-width: 600px) {
  .breadcrumb.container {
    margin-top: 10px;
  }
}
/*
	full width illustration
*/
.illustration {
  margin-top: 2em;
  margin-bottom: 3em;
}

.centered-element {
  display: block;
  text-align: center;
}

p.image_caption,
p.caption {
  font-size: 12px;
  color: black;
}

/*
----------- Photo Grid
*/
#photo-grid h4 {
  margin-bottom: 0px;
}

/*
----------- footer
*/
#footer {
  border-top: 1px solid #ebebeb;
  background: whitesmoke;
  padding-bottom: 2em;
}

#footer.container.hero p {
  font-size: 16px;
}

#footer h2 {
  font-size: 30px;
}
#footer .social-icons {
  overflow: hidden;
  margin-bottom: 1em;
}
#footer .social-icons img {
  vertical-align: middle;
}
#footer .social-icons a {
  width: 15%;
  float: left;
  margin-bottom: 1em;
  margin-right: 5%;
  opacity: 0.4;
}
#footer .social-icons a:hover {
  opacity: 0.7;
}

#perspectives-email {
  margin-left: 1px;
  font-size: 16px;
  line-height: 1em;
  padding-left: 77px;
  background: white url("/imgs/icons/email-icon.png") no-repeat 0.5em bottom;
}

#footer::-webkit-input-placeholder {
  color: white;
}

#footer:-moz-placeholder {
  color: white;
}

.footer-nav {
  margin: 0 0 2em;
  overflow: hidden;
}
.footer-nav li {
  float: left;
  list-style: none;
  margin: 0 0.3em 0 0;
  padding: 0.2em;
  font-size: 1.1em;
}
.footer-nav li a {
  color: white;
}
.footer-nav li a:active, .footer-nav li a:hover {
  color: #2b9ea6;
}

/*
--------- listing
*/
.listing small {
  display: block;
  font-size: 0.8em;
  color: #b3b3b3;
}
.listing em {
  display: inline-block;
}
.listing em,
.listing .row {
  margin-bottom: 20px;
}
.listing h2 {
  margin-bottom: 0;
}
.listing .item h3 {
  margin-bottom: 0;
}
.listing .item .date {
  color: #b3b3b3;
  display: block;
  margin-bottom: 15px;
}
.listing p {
  overflow: hidden;
}

#news .news-item {
  border-left: 2px solid #e30066;
  padding-left: 1em;
  margin-bottom: 3em;
}

.featured-link {
  border-left: 2px solid #e30066;
  padding-left: 1em;
  margin-bottom: 3em;
}

.hidden {
  display: none;
}

/*
---------- inline images w/caption
*/
.img-with-caption {
  line-height: 1em;
}
.img-with-caption.img-with-caption-right {
  float: right;
  margin: 0 0 20px 40px;
}
.img-with-caption.img-with-caption-left {
  float: left;
  margin: 0 40px 20px 0px;
}
.img-with-caption img {
  margin-bottom: 10px;
}

/*
---------- CSS only sort-of responsive tables
*/
@media screen and (max-width: 600px) {
  table, thead, tbody, th, td, tr {
    display: block;
  }

  table thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  table td {
    border: none;
    border-bottom: 1px solid #eee;
    position: relative;
    padding-left: 0;
    float: left !important;
    width: 100%;
    padding-right: 0px !important;
  }

  table td:empty {
    display: none;
  }

  table tbody tr {
    overflow: hidden;
    border-bottom: 1px solid #AAA;
    margin-bottom: 1em;
  }

  table td:before {
    position: absolute;
    top: 6px;
    left: 6px;
    width: 45%;
    padding-right: 10px;
    white-space: nowrap;
  }
}
/*
---------- event page listings
*/
.row.event-listing {
  border-bottom: 1px solid whitesmoke;
  padding-bottom: 15px;
  margin-bottom: 20px;
}
.row.event-listing:last-child {
  margin-bottom: 0;
  border-bottom: none;
}

.event-listing img {
  border: 1px solid whitesmoke;
  min-width: 100%;
}

@media screen and (max-width: 600px) {
  .row.event-listing .onecol.andhalf {
    width: 75px;
    float: right;
  }
}
/*
---------- logo blocks on Client's page
*/
.clients-hero-category {
  margin-bottom: 0;
  margin-top: 4em;
}
.clients-hero-category h2 {
  border-left: 0.12em solid #e30066;
  padding-left: 0.3em;
}

.featured-title {
  font-size: 18px;
  line-height: 1.5em;
  font-weight: 400;
}

.featured-quote {
  font-family: Marydale, "FangSong", "仿宋", STFangSong, "华文仿宋", serif;
  font-size: 24px;
  line-height: 1.5em;
  padding-left: 3em;
  margin-bottom: 0.5em;
}

.featured-quote-img {
  width: 2em;
  float: left;
  margin-left: -3em;
}

@media screen and (min-width: 601px) and (max-width: 780px) {
  .featured-title {
    font-size: 20px;
    font-weight: 300;
  }

  .featured-quote {
    font-size: 20px;
  }
}
@media screen and (min-width: 781px) {
  .featured-title {
    font-size: 28px;
    font-weight: 300;
  }
}
@media screen and (max-width: 600px) {
  .featured-logo-url {
    float: right;
    width: 47.5%;
  }

  .featured-client-button {
    clear: right;
  }
}
@media screen and (min-width: 781px) and (max-width: 1000px) {
  .client-logos h2 {
    font-size: 28px;
  }
}
@media screen and (min-width: 601px) and (max-width: 666px) {
  .client-logos h2 {
    font-size: 21px;
  }
}
.row.client-logos {
  margin-bottom: 2.5em;
  border-bottom: 1px solid whitesmoke;
  padding-bottom: 1em;
}

.row.client-logos:last-child {
  margin-bottom: 0;
  border-bottom: none;
}

.logo-block {
  float: left;
  width: 30%;
  margin: 0 5% 4% 0;
  padding-top: 1px;
}
.logo-block.last {
  margin-right: 0;
}

.logo-align a.client-logo {
  outline: 1px solid #ebebeb;
  margin-bottom: 1.2em;
  background: white;
}
.logo-align a.client-logo img {
  max-width: 83%;
  max-height: 83px;
}

@media screen and (min-width: 601px) {
  .logo-block:nth-child(3n+1) {
    clear: both;
  }
}
.logo-align a.client-logo {
  display: block;
  line-height: 100px;
  text-align: center;
}

.logo-align img {
  vertical-align: middle;
  max-height: 100px;
}

/*
---------- Client
*/
.client-logo {
  max-height: 13em;
}

/*
---------- TWers Blogs page
*/
.blog-entry {
  margin-bottom: 4em;
}
.blog-entry p.blog-date {
  color: #b3b3b3;
}
.blog-entry img {
  clear: both;
  display: block;
  margin: 1em auto;
}
.blog-entry .feedflare,
.blog-entry img[src*="feeds.feedburner.com"],
.blog-entry img[src*="feeds.wordpress.com"],
.blog-entry img[src*="stats.wordpress.com"] {
  display: none;
}

#feed-links a {
  display: block;
}

/*
---------- Insights page
*/
.curated-blog-date {
  font-family: Marydale, "FangSong", "仿宋", STFangSong, "华文仿宋", serif;
}

.curated-blog-title {
  margin-bottom: 0.5em;
}

a.curated-blog-title-link {
  color: black;
  text-decoration: none;
}

.curated-blog-image,
.tech-radar-item-link img {
  min-width: 100%;
}

/*
------ necessary for correct display of insights page ----
*/
.flowing-blog-summary {
  margin-bottom: 2em;
  float: left;
}

#flowing-blogs-container {
  overflow: hidden;
}

@media screen and (max-width: 600px) {
  .flowing-blog-summary {
    width: 90%;
  }
}
@media screen and (min-width: 601px) and (max-width: 781px) {
  .flowing-blog-summary {
    width: 46%;
    margin-left: 2%;
    margin-right: 2%;
  }
}
@media screen and (min-width: 781px) {
  .flowing-blog-summary {
    width: 30%;
    margin-left: 1.6%;
    margin-right: 1.6%;
  }
}
.read-more-blogs-text {
  color: #b3b3b3;
  font-size: 17px;
  font-family: Marydale, "FangSong", "仿宋", STFangSong, "华文仿宋", serif;
  line-height: 1.7em;
  margin-right: 10px;
}

/*
---------- Individual insights blog pages
*/
.blog-post-author-image {
  max-width: 50%;
}

@media screen and (max-width: 600px) {
  .blog-post-author-image {
    max-width: 40%;
  }
}
/*
---------- Article page
*/
.inline-index {
  margin: 0;
}
.inline-index li {
  list-style: none;
  display: inline-block;
  padding: 0 1em 10px 0;
}
.inline-index li a {
  font-weight: bold;
}

.author-image {
  width: 30.75%;
  float: left;
  margin-right: 3.8%;
}
.author-image img {
  vertical-align: middle;
}

.author-listing-image {
  width: 3.2em;
  float: left;
  margin-right: 1em;
}

.author-data {
  width: 65.4%;
  float: left;
}

.article-download {
  clear: both;
  font-weight: bold;
  padding: 10px 0;
}

.article-tags ul {
  margin: 0 0 6px;
  overflow: hidden;
}
.article-tags ul li {
  padding: 0;
  list-style: none;
}
.article-tags ul li a {
  margin: 0 6px 6px 0;
  display: inline-block;
  float: left;
}

.toplink {
  text-align: right;
}
.toplink a {
  font-weight: bold;
}

/*
---------- Continuous delivery page
*/
.webinar-block {
  margin-bottom: 2em;
}
.webinar-block h4 {
  margin-bottom: 0;
}

/*
----------- News page
*/
.container.main-title.content.news {
  border-bottom: 1px solid #ebebeb;
  margin-bottom: 3em;
  padding-bottom: 1em;
}

/*
----------- Contact us vertical page
*/
#contact-us-vertical {
  background-color: whitesmoke;
  border: 1px solid #ebebeb;
  padding: 20px;
}
#contact-us-vertical .office-title {
  font-weight: bold;
  color: black;
  font-size: 1.8em;
  margin: 0.7em 0;
}
#contact-us-vertical .office-title span {
  font-family: Marydale, "FangSong", "仿宋", STFangSong, "华文仿宋", serif;
  font-weight: normal;
  color: #666666;
}
#contact-us-vertical #vertical-offices .office-group h2,
#contact-us-vertical #vertical-offices .office {
  display: none;
}
#contact-us-vertical #vertical-offices .office.active {
  display: block;
}

#where-did-you-hear-about-us {
  height: 4em;
}

@media screen and (min-width: 601px) {
  #contact-us-vertical {
    background: transparent;
    padding: 0;
    border: none;
  }
  #contact-us-vertical .office-title {
    font-size: 3.6em;
    line-height: 0.8em;
    margin: 0 0 0.2em 0;
  }
  #contact-us-vertical .office-title span {
    font-size: 0.6em;
  }

  #desktop-office {
    float: left;
    width: 10em;
    background: whitesmoke;
    border-right: 1px solid #ebebeb;
    -moz-border-radius-topleft: 5px;
    -webkit-border-top-left-radius: 5px;
    border-top-left-radius: 5px;
    -moz-border-radius-bottomleft: 5px;
    -webkit-border-bottom-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  #desktop-office .office-group {
    display: block;
    text-decoration: none;
    color: #666666;
    cursor: pointer;
    padding: 3px 10px;
  }
  #desktop-office .office-group:hover {
    background: #ebebeb;
  }
  #desktop-office .office-group.active, #desktop-office .office-group.active:hover {
    background: #c1d430;
    border-top: 1px solid white;
  }

  #desktop-office-list {
    float: left;
    width: 10em;
  }
  #desktop-office-list .office-city {
    display: block;
    text-decoration: none;
    color: #666666;
    cursor: pointer;
    padding: 3px 10px;
  }
  #desktop-office-list .office-city:hover {
    background: no-repeat #ebebeb url("/imgs/contact_us_corner.png") right center;
  }
  #desktop-office-list .office-city.active, #desktop-office-list .office-city.active:hover {
    background: no-repeat #c1d430 url("/imgs/contact_us_corner.png") right center;
    border-top: 1px solid whitesmoke;
  }

  #vertical-offices {
    background: whitesmoke;
    margin-left: 10em;
    border-bottom: 1px solid #ebebeb;
  }
  #vertical-offices .office-group {
    margin-left: 10em;
  }
  #vertical-offices .office-group .office.active {
    padding: 30px;
  }
  #vertical-offices .office-group .office-address {
    float: left;
    width: 45%;
  }
  #vertical-offices .office-group .office-information {
    float: right;
    width: 45%;
  }
}
@media screen and (min-width: 601px) and (max-width: 781px) {
  #contact-us-vertical .office-title {
    font-size: 2.2em;
  }

  #vertical-offices .office-group .office-address,
  #vertical-offices .office-group .office-information {
    width: 100%;
  }
}
#contact-us-products-logos {
  text-align: center;
}
#contact-us-products-logos a {
  display: inline-block;
  padding: 0 10px;
}
#contact-us-products-logos a img {
  max-height: 1.7em;
}

.studios-product .lead-line {
  color: #ff5e3b;
}
@media screen and (min-width: 601px) {
  .studios-product .btn {
    margin-top: 1em;
    float: right;
  }
}

.products-links, .products-top-links {
  text-align: justify;
}
.products-links a, .products-top-links a {
  text-decoration: none;
  display: inline-block;
  margin-right: 1em;
}

.products-top-links {
  font-size: 1.125em;
}
@media screen and (min-width: 601px) {
  .products-top-links {
    padding-bottom: 1.8em;
  }
}
.products-top-links .studios-menu-selected {
  color: black;
}

#twitter-feed {
  margin-top: 2em;
}
#twitter-feed .follow-twitter-col {
  margin-top: 0.8em;
}
#twitter-feed .studios-twitter {
  font-size: 0.8em;
  margin-bottom: 0.8em;
  line-height: 1.6em;
  margin-top: 0.7em;
}
#twitter-feed .tweet .twitter-account-name {
  text-decoration: none;
  font-weight: bold;
  vertical-align: top;
  padding-left: 0.2em;
}
#twitter-feed .tweet .minutes-since {
  font-size: 0.8em;
}
#twitter-feed .tweet .tweet-text {
  line-height: 1.6em;
  margin-bottom: 0.4em;
}
#twitter-feed .tweet img {
  border: 1px solid #ebebeb;
  width: 27px;
  margin-right: 3px;
}

a.btn.case-studies-btn {
  margin-left: 1em;
}

.client {
  margin-bottom: 2em;
}
.client .client-summary-link {
  float: right;
  margin-left: 2em;
  width: 44%;
}

.service h3 {
  font-size: 28px;
}

#twitter-homepage {
  margin-top: 2em;
}

@media screen and (max-width: 600px) {
  #twitter-feed .tweet {
    border-top: 1px solid #ebebeb;
    padding-top: 20px;
  }
}
@media screen and (min-width: 601px) and (max-width: 781px) {
  #twitter-feed .tweet-text,
  #twitter-feed .twitter-account-name {
    font-size: 0.8em;
  }
}
@media screen and (min-width: 601px) and (max-width: 781px) {
  #contact-us-products-logos a img {
    max-height: 1.4em;
  }
}
@media screen and (min-width: 781px) {
  #contact-us-products-logos a img {
    max-height: 2em;
  }
}
.edit_banner {
  color: #ff0000;
  font-size: 2em;
}

.editing-interface-outer {
  position: fixed;
  bottom: 50px;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 9;
}

.editing-interface-inner {
  padding: 20px;
  display: inline-block;
  width: 100%;
  max-width: 920px;
  text-align: left;
  border: 1px solid #999;
  box-shadow: 0px 10px 35px -10px black, 0px 5px 38px -3px white;
  background: white;
}

[contenteditable="true"]:hover,
[contenteditable="true"]:focus {
  background-color: #ffffd3;
}

.tech-radar-download {
  margin-bottom: 3.2em;
}

.radar-nav {
  margin-left: 0;
  margin-bottom: 0;
}
.radar-nav li {
  padding-left: 0;
}

.container.radar-quadrant {
  margin-bottom: 0em;
}
.container.radar-quadrant li {
  font-size: 14px;
  line-height: 1.5em;
}

div#contributors {
  margin-bottom: 3em;
}

.continuous-integration .separator .row {
  padding-bottom: 2em;
}
.continuous-integration .product {
  padding: 1em;
  text-align: center;
}
.continuous-integration .product .logo {
  height: 5em;
}

.sharing-links {
  border: 1px solid #ebebeb;
  right: 0px;
  float: right;
  position: absolute;
  display: none;
  padding-top: 20px;
  padding-bottom: 10px;
  padding-left: 10px;
  padding-right: 10px;
  background-color: white;
  border-radius: 7px;
  -moz-box-shadow: 0px 4px 6px #d1d1d1;
  -webkit-box-shadow: 0px 4px 6px #d1d1d1;
  box-shadow: 0px 4px 6px #d1d1d1;
}

.share {
  position: relative;
}

img#sharing-button {
  float: right;
}

.share-hide img {
  float: right;
  margin-bottom: 10px;
}

.mobile-only {
  display: none;
}

@media screen and (max-width: 600px) {
  .desktop-only {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  /*
  --------------- Mobile Tabs &	 Nav
  */
  .container {
    margin-bottom: 0;
  }

  .container.hero.gray {
    margin-bottom: 20px;
    margin-top: -20px;
  }

  .container.gray-black {
    margin-bottom: 20px;
  }

  .container.mobile-three-column .row .twelvecol.row-header {
    width: 100%;
  }

  .row .twelvecol h2:last-child,
  .row .twelvecol h3:last-child,
  .row .twelvecol p:last-child {
    margin-bottom: 0;
  }

  .container.nav-container {
    background: whitesmoke;
    margin-bottom: 0;
    display: none;
  }

  .nav-container ul {
    margin-top: 20px;
  }

  .nav-container .nav > li {
    display: block;
    margin-bottom: 0.6em;
  }

  .nav-container .nav > li a {
    display: block;
    height: 40px;
    margin-bottom: 2px;
  }

  .secondary-nav li {
    float: none;
    text-align: right;
    list-style-type: none;
  }

  .nav-container .secondary-nav li a {
    font-size: 16px;
  }

  #nav-box div.row > div {
    padding-bottom: 0px;
  }

  .social-nav {
    clear: both;
  }

  .nav-right.social-nav {
    padding: 0;
    width: 124px;
    float: right;
  }
  .nav-right.social-nav a img {
    padding-left: 25px;
    padding-right: 0;
  }

  a.mobile-language-switcher {
    color: #666666;
  }

  .nav-container .eightcol {
    float: left;
    padding-right: 0;
    width: 50%;
  }

  .nav-container .fourcol {
    float: right;
    padding-left: 0;
    width: 40%;
  }

  .container.utility-container {
    margin-bottom: 0;
  }
  .container.utility-container div.row > div {
    margin-bottom: 0;
  }

  .mobile-only {
    display: block;
  }

  .desktop-only {
    display: none;
  }

  .img-with-caption.img-with-caption-right {
    float: none;
    margin-left: 0;
  }

  .help-inline {
    margin-left: 0;
    padding: 0;
    display: block;
  }

  .btn {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .btn.btn-arrow-blue {
    margin-top: 0;
  }

  .photo-block, .graphic-block {
    margin-bottom: 20px;
  }

  .graphic-block-small, #footer .fourcol {
    margin-bottom: 20px;
  }

  #footer .fourcol:last-child {
    margin-bottom: 30px;
  }

  .logo-block,
  .logo-block.last {
    width: 47%;
    margin-right: 6%;
  }

  .logo-block:nth-child(even) {
    margin-right: 0;
  }
  .logo-block:nth-child(3n+1) {
    float: left;
    clear: none;
  }

  div.location_detail {
    clear: both;
    margin-bottom: 15px;
  }

  .mobile-optimised-tall-images {
    text-align: center;
  }
  .mobile-optimised-tall-images img {
    max-width: 70%;
  }
}
