﻿/* ... */
html {
  -webkit-font-smoothing: subpixel-antialiased;
  font-smooth: auto;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility; }

body {
  margin: 0; }

h1, h2, h3, h4, h5, h6, p, blockquote, figure, ol, ul, dl, dt, dd {
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5, h6 {
  font-size: inherit; }

a {
  text-decoration: none;
  color: inherit; }

img {
  max-width: 100%;
  height: auto;
  border: 0; }

main {
  display: block; }

*:focus {
  outline: none; }

*::-moz-focus-inner {
  border: 0; }

input, select {
  box-sizing: border-box; }

select {
  outline: none; }
  select:focus::-ms-value {
    background: transparent;
    color: inherit; }

button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0;
  text-transform: none; }

iframe {
  margin: 0;
  padding: 0; }

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  /* WebKit browsers */
  font-weight: 400;
  color: #999; }

input:-moz-placeholder, textarea:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  font-weight: 400;
  opacity: 1;
  color: #999; }

input::-moz-placeholder, textarea::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  font-weight: 400;
  opacity: 1;
  color: #999; }

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  /* Internet Explorer 10+ */
  font-weight: 400;
  color: #999; }

/* star trek */
input::placeholder, textarea::placeholder {
  font-weight: 400;
  color: #999; }

/* uses variables from ../10-settings/variables */
/* ... */
html {
  font-size: 14px;
  height: 100%; }

body {
  color: #333;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1;
  overflow-x: hidden;
  height: 100%; }

h1 {
  font-family: "Open Sans", Arial, Helvetica, sans-serif; }
  @media only screen and (max-width: 44.999em) {
    h1 {
      font-size: 1.2em;
      line-height: 1.2495; } }
  @media only screen and (min-width: 45em) and (max-width: 104.999em) {
    h1 {
      font-size: 1.6em;
      line-height: 1.1235; } }
  @media only screen and (min-width: 105em) {
    h1 {
      font-size: 2em;
      line-height: 1.05; } }

@media only screen and (max-width: 44.999em) {
  h2 {
    font-size: 1.19em;
    line-height: 1.1525; } }

@media only screen and (min-width: 45em) and (max-width: 104.999em) {
  h2 {
    font-size: 1.36em;
    line-height: 1.25; } }

@media only screen and (min-width: 105em) {
  h2 {
    font-size: 1.7em;
    line-height: 1.25; } }

@media only screen and (max-width: 44.999em) {
  h3 {
    font-size: 1.099em;
    line-height: 1.135; } }

@media only screen and (min-width: 45em) and (max-width: 104.999em) {
  h3 {
    font-size: 1.19em;
    line-height: 1.25; } }

@media only screen and (min-width: 105em) {
  h3 {
    font-size: 1.4em;
    line-height: 1.25; } }

@media only screen and (max-width: 44.999em) {
  h4 {
    font-size: 1.2em;
    line-height: 1.1108; } }

@media only screen and (min-width: 45em) and (max-width: 104.999em) {
  h4 {
    font-size: 1.2em;
    line-height: 1.222; } }

@media only screen and (min-width: 105em) {
  h4 {
    font-size: 1.2em;
    line-height: 1.222; } }

@media only screen and (max-width: 44.999em) {
  p {
    font-size: 1em;
    line-height: 1.2064; } }

@media only screen and (min-width: 45em) and (max-width: 104.999em) {
  p {
    font-size: 1em;
    line-height: 1.3; } }

@media only screen and (min-width: 105em) {
  p {
    font-size: 1em;
    line-height: 1.3; } }

h1 {
  font-weight: 600; }

h2 {
  font-weight: 400; }

h3, h4, h5, h6 {
  font-weight: 300; }

select {
  font-size: inherit; }

input {
  width: 100%; }

a {
  color: #5a3f98; }

a:hover {
  color: #4a337f;
  text-decoration: underline; }

/* ... */
/* start vars: o-input */
/* end vars */
.o-bullet {
  position: relative;
  display: inline-block;
  margin-left: 15px; }
  .o-bullet:before {
    content: "";
    position: absolute;
    top: 7px;
    left: -15px;
    width: 5px;
    height: 5px;
    background-color: #999;
    border-radius: 100%; }

/* ... */
/* start vars: o-button */
/* end vars */
.o-button {
  position: relative;
  display: inline-block;
  width: auto;
  margin: 0;
  padding: 10px 20px;
  text-align: center;
  cursor: pointer;
  color: #fff;
  background-color: #5a3f98;
  border: 0;
  -webkit-transition: background .25s linear;
  transition: background .25s linear; }
  .o-button--full {
    width: 100%; }
  .o-button:hover {
    color: #fff;
    background-color: #4a337f;
    -webkit-transition: all .25s linear;
    transition: all .25s linear; }

/* ... */
/* uses variables from ../10-settings/variables */
/*
 * style checkboxes by adding element & hiding actual checkbox
 * usage: when <input type="checkbox"> exists, wrap in a <span class="c-checkbox"> (or div) and 
 * add <label class="checkbox__object" for="checkbox_id">
 */
/* start vars: c-checkbox */
/* end vars */
.o-checkbox {
  position: relative;
  display: inline-block; }

.checkbox__wrapper {
  position: absolute;
  left: 0;
  width: 22px;
  height: 22px; }
  .checkbox__wrapper input[type=checkbox] {
    visibility: hidden; }
    .checkbox__wrapper input[type=checkbox]:checked + .checkbox__object:after {
      opacity: 1;
      -webkit-transition: opacity .25s linear;
      transition: opacity .25s linear; }

.checkbox__object {
  width: 20px;
  height: 20px;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  border: 1px solid #bbb; }
  .checkbox__object:after {
    content: '';
    width: 12px;
    height: 6px;
    position: absolute;
    top: 3px;
    left: 3px;
    border: 3px solid #555;
    border-top: none;
    border-right: none;
    background-color: transparent;
    opacity: 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  .checkbox__object:hover::after {
    opacity: 0.3; }
  .checkbox__object.checkbox__object--partial:after {
    width: auto;
    height: auto;
    left: 1px;
    top: 1px;
    right: 1px;
    bottom: 1px;
    background: #555;
    -webkit-transform: rotate(0);
    transform: rotate(0); }

.checkbox__name {
  display: inline-block;
  color: #333;
  margin: 0;
  padding-left: 30px;
  line-height: 1.2; }
  .checkbox__name--small {
    font-size: 0.9em; }
  .checkbox__name--block {
    display: block; }

/* ... */
/* start vars: o-input */
/* end vars */
.o-input {
  padding: 5px;
  border: 1px solid #ccc;
  border-radius: 0;
  background-color: #fff;
  color: #333;
  box-sizing: border-box; }

/* ... */
/*
 * base ul, no bullets
 */
.o-list-bare {
  list-style: none; }

/* ... */
/*
 * basic format of a li with inline-block
 */
.o-list-inline {
  list-style: none; }

.list-inline__item {
  display: inline-block; }

/* ... */
/*
 * this class is used to stretch li's inside an ul to each occupy the same width
 */
.o-list-wide {
  list-style: none;
  display: table;
  table-layout: fixed;
  width: 100%; }

.list-wide__item {
  display: table-cell; }

/* ... */
/* start vars: o-loader */
/* end vars */
.o-loader {
  margin: -1em 0 0 -1em;
  position: absolute;
  /* parent needs position: relative */
  text-indent: -9999em;
  border: solid rgba(90, 63, 152, 0.2);
  /* add border width to increase it */
  border-left-color: #5a3f98;
  -webkit-animation: rotate 1s linear infinite;
  animation: rotate 1s linear infinite;
  overflow: hidden;
  z-index: 1; }

.o-loader,
.o-loader:after {
  border-radius: 100%;
  width: 2em;
  height: 2em; }

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* ... */
/* start vars: o-button */
/* end vars */
.o-select {
  position: relative;
  width: 200px;
  /* can be relative to parent, =100% */
  background-color: transparent;
  border: 1px solid;
  margin: 0;
  padding: 0;
  font-size: 1em;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle; }
  .o-select:hover .select__action {
    border-top-color: #000;
    -webkit-transition: border-top-color .25s linear;
    transition: border-top-color .25s linear; }
  .o-select .select__object {
    width: calc(100% + 30px);
    height: 100%;
    padding: 5px;
    font-size: 1em;
    background-color: transparent;
    border: 0;
    -webkit-appearance: menulist;
    cursor: pointer; }
    .o-select .select__object:hover {
      color: #000;
      background-color: #ccc;
      -webkit-transition: background-color .25s linear;
      transition: background-color .25s linear; }
  .o-select .select__action {
    position: absolute;
    width: 0;
    height: 0;
    top: 0;
    right: 10px;
    /* add a 10px space from the right */
    background-color: transparent;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #5a3f98;
    z-index: 1;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    cursor: pointer;
    pointer-events: none; }

/* ... */
/*
 */
.m-clients {
  direction: ltr; }
  .m-clients--list {
    text-align: center; }

.clients_item {
  display: inline-block;
  vertical-align: top;
  width: 130px;
  margin: 5px 5px 5px 0; }

.clients_list {
  display: block;
  padding: 10px;
  line-height: 1.2em;
  text-align: center;
  color: #777;
  font-size: 0.9em; }
  .clients_list .clients__logo {
    filter: grayscale(100%); }
    @media only screen and (max-width: 44.999em) {
      .clients_list .clients__logo {
        filter: none; } }
  .clients_list:hover {
    color: #333;
    text-decoration: none; }
    .clients_list:hover .clients__logo {
      filter: none; }

.clients_testimonials {
  width: 100%;
  margin: 10px 0;
  padding: 20px;
  background-color: #fafafa;
  border: 1px solid #ccc;
  box-sizing: border-box;
  color: #555;
  line-height: 1.3; }

.clients_testimonials-name {
  display: block;
  margin-top: 10px;
  color: #222; }

/* ColorBox */
#colorbox, #cboxOverlay, #cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden; }

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%; }

#cboxMiddleLeft, #cboxBottomLeft {
  clear: left; }

#cboxContent {
  position: relative; }

#cboxLoadedContent {
  overflow: auto; }

#cboxTitle {
  margin: 0;
  font-size: 1.2em; }

#cboxLoadingOverlay, #cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; }

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
  cursor: pointer; }

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block; }

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0; }

#cboxOverlay {
  background: #fff; }

#cboxContent {
  overflow: visible; }

.cboxIframe {
  background: #000; }

#cboxError {
  padding: 25px;
  border: 1px solid #ccc; }

#cboxLoadedContent {
  background: #000; }

#cboxLoadingGraphic {
  background: url(../images/loading.gif) no-repeat center center; }

#cboxLoadingOverlay {
  background: #000; }

#cboxTitle {
  position: absolute;
  top: -22px;
  left: 0;
  color: #fff; }

#cboxCurrent {
  position: absolute;
  top: -22px;
  right: 205px;
  text-indent: -9999px; }

#cboxSlideshow, #cboxPrevious, #cboxNext, #cboxClose {
  text-indent: -9999px;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 0;
  background: url(../images/controls.png) no-repeat 0 0;
  border: 0; }

#cboxPrevious {
  background-position: -2px -4px;
  right: 44px; }

#cboxPrevious:hover {
  background-position: -2px -29px; }

#cboxNext {
  background-position: -27px -4px;
  right: 22px; }

#cboxNext:hover {
  background-position: -27px -29px; }

#cboxClose {
  background-position: -52px -4px;
  right: 0; }

#cboxClose:hover {
  background-position: -52px -29px; }

.cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off #cboxPrevious {
  right: 66px; }

.cboxSlideshow_on #cboxSlideshow {
  background-position: -75px -25px;
  right: 44px; }

.cboxSlideshow_on #cboxSlideshow:hover {
  background-position: -100px -25px; }

.cboxSlideshow_off #cboxSlideshow {
  background-position: -100px 0px;
  right: 44px; }

.cboxSlideshow_off #cboxSlideshow:hover {
  background-position: -75px -25px; }

/* ... */
/*
 */
.m-contactform {
  width: 100%;
  margin: 0;
  padding: 20px;
  background-color: #fafafa;
  border: 1px solid #eee;
  box-sizing: border-box;
  color: #777; }

.contactform__title {
  margin-bottom: 20px;
  font-weight: 600;
  color: #555; }

.contactform__name {
  display: block;
  font-weight: 300; }

.contactform__item {
  width: 100%;
  padding: 2px;
  font-size: 1em;
  border: 1px solid #ccc;
  box-sizing: border-box;
  margin: 2px 0 10px; }
  .contactform__item.error {
    border-color: #f00; }

.contactform__submit {
  width: 100px;
  margin: 20px 0; }

/* contactform */
#outform {
  width: auto;
  text-align: left; }

#outform #name.error, #outform #email.error, #outform #phone.error, #outform #proj.error {
  border: 1px solid #f00; }

.counter {
  font-size: 0.9em; }

#lblFormMessage {
  display: block; }

.formError {
  color: #f00 !important; }

.formWarning {
  color: #f4a460 !important; }

.formSuccess {
  color: #361f7a !important; }

.formNeutral {
  color: #777 !important; }

/* ... */
/* start vars: m-fillform */
/* end vars */
.m-fillform {
  position: relative;
  margin: 30px 0 0 0;
  padding: 10px;
  width: 100%;
  box-sizing: border-box;
  background-color: #fafafa;
  border: 1px solid #eee; }

.fillform__container {
  position: relative;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box; }

.fillform__item {
  display: block;
  margin: 5px 0; }

.fillform__label {
  display: inline-block;
  vertical-align: middle;
  padding: 0;
  box-sizing: border-box; }
  @media only screen and (max-width: 44.999em) {
    .fillform__label {
      width: 100%; } }
  .fillform__label--personal {
    width: 140px; }
  .fillform__label--usage {
    width: 430px;
    font-size: 1em; }
    @media only screen and (min-width: 45em) and (max-width: 59.999em) {
      .fillform__label--usage {
        width: 300px; } }
    @media only screen and (max-width: 44.999em) {
      .fillform__label--usage {
        width: 100%; } }
  .fillform__label--additional {
    font-size: 0.8em;
    font-style: italic; }
  @media only screen and (min-width: 60em) {
    .fillform__label--right {
      text-align: right; } }

.fillform__input {
  display: inline-block;
  vertical-align: middle;
  margin: 2px 0;
  border: 0;
  border: 1px solid #ddd;
  background-color: #fff; }
  .fillform__input--personal {
    width: 100%; }
  .fillform__input--name {
    width: 50%;
    margin-right: 2%; }
    .fillform__input--name:last-child {
      width: 48%;
      margin-right: 0; }
      @media only screen and (max-width: 44.999em) {
        .fillform__input--name:last-child {
          width: 100%; } }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--name {
        width: 100%;
        margin-right: 0; } }
  .fillform__input--company {
    width: 31%;
    margin-right: 2%; }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--company {
        width: 100%; } }
  .fillform__input--email {
    width: 35%;
    margin-right: 2%; }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--email {
        width: 100%; } }
  .fillform__input--phone {
    width: 30%; }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--phone {
        width: 100%; } }
  .fillform__input--meeting {
    width: 63%;
    margin-right: 2%; }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--meeting {
        width: 100%; } }
  .fillform__input--timezone {
    width: 35%; }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--timezone {
        width: 100%; } }
  .fillform__input--city {
    width: 29%;
    margin-right: 1%; }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--city {
        width: 100%;
        margin-right: 0; } }
  .fillform__input--state {
    width: 19%;
    margin-right: 1%; }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--state {
        width: 100%;
        margin-right: 0; } }
  .fillform__input--district {
    width: 24%;
    margin-right: 1%; }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--district {
        width: 100%;
        margin-right: 0; } }
  .fillform__input--zip {
    width: 19%;
    margin-right: 1%; }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--zip {
        width: 100%;
        margin-right: 0; } }
  .fillform__input--country {
    width: 30%; }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--country {
        width: 100%; } }
  .fillform__input--usage {
    width: calc(100% - 430px); }
    @media only screen and (min-width: 45em) and (max-width: 59.999em) {
      .fillform__input--usage {
        width: calc(100% - 300px); } }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--usage {
        width: 100%; } }
  .fillform__input--industry {
    width: 30%; }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--industry {
        width: 100%; } }
  .fillform__input--numbers {
    width: 15%; }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--numbers {
        width: 100%; } }
  .fillform__input--platforms {
    color: #999;
    margin-left: -4px; }
    @media only screen and (max-width: 44.999em) {
      .fillform__input--platforms {
        width: 100%; } }
  .fillform__input--upload {
    width: 100%; }

.fillform__chars {
  font-size: 0.8em; }

.fillform__submit {
  left: 50%;
  -webkit-transform: translate(-50%, -0);
  -ms-transform: translate(-50%, -0);
  -moz-transform: translate(-50%, -0);
  -o-transform: translate(-50%, -0);
  transform: translate(-50%, -0);
  min-width: 200px;
  margin-top: 20px;
  margin-bottom: 10px; }
  @media only screen and (max-width: 44.999em) {
    .fillform__submit {
      width: 100%; } }
  .fillform__submit--large {
    width: auto; }
  .fillform__submit--simple {
    -webkit-transform: translate(-0, -0);
    -ms-transform: translate(-0, -0);
    -moz-transform: translate(-0, -0);
    -o-transform: translate(-0, -0);
    transform: translate(-0, -0);
    left: 0; }

.fillform__field {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  text-align: left; }

.fillform__title {
  font-size: 1.2em;
  color: #fff;
  background-color: #5a3f98;
  border: 0;
  padding: 10px 10px;
  margin: 0 0 30px 0;
  width: 150px; }
  .fillform__title .fillform__name {
    display: block;
    text-align: center; }

.fillform__legal {
  text-decoration: underline; }

.fillform__legal-text {
  font-size: 0.9em;
  color: #555; }

.fillform__platform {
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 5px; }
  @media only screen and (max-width: 74.999em) {
    .fillform__platform {
      display: block;
      margin-right: 0; } }

.fillform__checkbox {
  display: inline-block;
  margin-right: 20px;
  margin-bottom: 5px; }
  .fillform__checkbox:last-child {
    margin-right: 0; }
  @media only screen and (max-width: 29.999em) {
    .fillform__checkbox {
      display: block; } }

.fillform__message {
  display: block;
  text-align: center; }

#fname.error, #lname.error, #email.error, #phone.error, #address1.error {
  border: 2px solid #f00; }

/* ... */
/*
 */
.m-footer {
  position: relative;
  width: 100%;
  background-color: #ddd; }

.footer__container {
  margin: 0 auto;
  padding: 20px 20px 10px;
  box-sizing: border-box;
  color: #777;
  max-width: 1100px; }

.dvSignature {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 6px;
  overflow: hidden;
  text-align: right; }
  .dvSignature:before {
    content: "";
    border-left: 35px solid #9482BC;
    border-right: 34px solid #000; }
  .dvSignature:after {
    content: "";
    border-left: 35px solid #ffdd0f;
    border-right: 34px solid #5B3E98; }

.footer__title {
  display: block;
  margin-bottom: 10px;
  font-weight: 600;
  color: #444; }

.footer__social {
  width: 100%;
  margin-bottom: 20px; }

.footer__social-link {
  display: inline-block;
  margin-right: 2px;
  width: 30px;
  height: 30px;
  overflow: hidden;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.7; }
  .footer__social-link:hover {
    opacity: 1; }
  .footer__social-link--youtube {
    background-image: url(/images/social/youtube.png); }
  .footer__social-link--linkedin {
    background-image: url(/images/social/linkedin.png); }
  .footer__social-link--googleplus {
    background-image: url(/images/social/googleplus.png); }
  .footer__social-link--twitter {
    background-image: url(/images/social/twitter.png); }
  .footer__social-link--facebook {
    background-image: url(/images/social/facebook.png); }

.footer__list {
  line-height: 1.3; }

.footer__list-item {
  vertical-align: top;
  box-sizing: border-box;
  padding-right: 5px; }
  @media only screen and (min-width: 60em) {
    .footer__list-item {
      width: 33.3%; } }
  @media only screen and (min-width: 30em) and (max-width: 59.999em) {
    .footer__list-item {
      width: 50%; }
      .footer__info .footer__list-item {
        margin-bottom: 5px; } }
  @media only screen and (max-width: 29.999em) {
    .footer__list-item {
      width: 100%; }
      .footer__info .footer__list-item {
        margin-bottom: 5px; } }

.footer__links {
  width: 100%; }

.footer__info {
  width: 100%;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #bbb; }

.footer__copyright {
  width: 100%;
  margin-top: 20px;
  text-align: center;
  font-size: 0.9em; }

.footer__copyright-link {
  margin: 0 5px; }

.footer__copyright-text {
  margin: 5px 0 0 0; }

/* ... */
/*
 */
.m-header {
  width: 100%;
  background-color: #ddd;
  height: 100px;
  box-sizing: border-box;
  padding: 0 20px; }
  @media only screen and (max-width: 44.999em) {
    .m-header {
      height: 90px; } }

.header__container {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  max-width: 1100px; }

.header__title {
  position: absolute;
  left: 0;
  bottom: 5px;
  font-weight: 300; }
  @media only screen and (max-width: 44.999em) {
    .header__title {
      font-size: 1.2em;
      line-height: 1.1108; } }
  @media only screen and (min-width: 45em) and (max-width: 104.999em) {
    .header__title {
      font-size: 1.2em;
      line-height: 1.222; } }
  @media only screen and (min-width: 105em) {
    .header__title {
      font-size: 1.2em;
      line-height: 1.222; } }
  @media only screen and (max-width: 44.999em) {
    .header__title {
      font-size: 1.1em; } }

.header__contact {
  position: absolute;
  text-align: left;
  width: auto; }
  @media only screen and (min-width: 45em) {
    .header__contact {
      top: 50%;
      -webkit-transform: translate(-0, -50%);
      -ms-transform: translate(-0, -50%);
      -moz-transform: translate(-0, -50%);
      -o-transform: translate(-0, -50%);
      transform: translate(-0, -50%);
      right: 0; } }
  @media only screen and (max-width: 44.999em) {
    .header__contact {
      display: none; } }

/* ... */
/*
 */
.m-logo {
  position: absolute;
  top: 20px;
  left: 0;
  width: 290px;
  height: 45px;
  background-image: url(/images/logo.png);
  background-repeat: no-repeat;
  background-size: contain; }
  @media only screen and (max-width: 44.999em) {
    .m-logo {
      top: 20px;
      width: 193px;
      height: 30px; } }

.logo__link {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

/* ... */
/*
 */
.m-main {
  display: block;
  margin: 30px auto;
  padding: 0 20px;
  width: 100%;
  box-sizing: border-box;
  max-width: 1140px; }
  @media only screen and (min-width: 45em) {
    .m-main {
      direction: rtl; } }
  @media only screen and (max-width: 44.999em) {
    .m-main {
      direction: ltr; } }
  .m-main.video {
    direction: ltr; }

.main__title {
  margin-bottom: 20px;
  color: #4a337f; }
  .main__title--single {
    direction: ltr;
    padding-bottom: 5px;
    border-bottom: 1px solid #eee; }

.main__subtitle {
  margin-bottom: 10px; }

.main__text {
  margin-bottom: 10px; }
  .main__text--spaced {
    margin-bottom: 30px; }

.main__content {
  display: inline-block;
  vertical-align: top;
  direction: ltr;
  box-sizing: border-box; }
  @media only screen and (min-width: 45em) {
    .main__content {
      width: 72%;
      padding: 0 0 0 20px; } }
  @media only screen and (max-width: 44.999em) {
    .main__content {
      width: 100%;
      margin-bottom: 40px; } }

.main__column {
  display: inline-block;
  vertical-align: top;
  direction: ltr; }
  @media only screen and (min-width: 45em) {
    .main__column {
      width: 28%; } }
  @media only screen and (max-width: 44.999em) {
    .main__column {
      width: 100%; } }

.video__column {
  display: inline-block;
  margin: 30px 20px; }
  @media only screen and (min-width: 45em) {
    .video__column {
      width: 50%; } }
  @media only screen and (max-width: 44.999em) {
    .video__column {
      width: 100%;
      margin: 20px 0px; } }

.main__startplayer {
  position: relative;
  display: block;
  width: 100%;
  height: 160px;
  max-width: 285px;
  background-image: url("/images/playButton.jpg");
  background-size: contain;
  background-repeat: no-repeat; }
  .main__startplayer:hover {
    background-image: url("/images/playButton_hover.jpg"); }

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

.main__leader {
  margin: 20px 0 30px;
  display: flex;
  flex-direction: row; }

.main__leader-img {
  display: inline-block;
  vertical-align: top;
  padding: 1px;
  border: 1px solid #ccc;
  margin-right: 10px;
  height: 70px; }

.main__leader-text {
  display: inline-block;
  vertical-align: top;
  line-height: 1.3;
  flex: 1; }

.main__leader-name {
  display: block;
  font-size: 1.1em;
  font-weight: 600; }

.main__bottom {
  display: block;
  width: 100%;
  margin-top: 40px;
  direction: ltr; }

.main__list {
  margin: 0 0 20px 20px; }

.main__list-item {
  position: relative;
  margin-bottom: 10px;
  line-height: 1.3; }
  .main__list-item:before {
    content: '';
    position: absolute;
    left: -15px;
    top: 6px;
    width: 5px;
    height: 5px;
    background-color: #5a3f98;
    border-radius: 100%; }

.main__animcontainer {
  position: relative;
  margin: 10px 0 10px 10px;
  width: 290px;
  height: 245px;
  border: 0;
  float: right;
  text-align: right; }
  .main__animcontainer--page {
    width: 244px;
    height: 164px;
    margin-left: 20px;
    z-index: 2; }
    .main__animcontainer--page .main__animimg {
      padding: 1px;
      border: 1px solid #ccc; }
  .main__animcontainer--full {
    width: 100%;
    height: auto;
    margin: 0 0 40px;
    float: none;
    text-align: left; }
  @media only screen and (max-width: 29.999em) {
    .main__animcontainer {
      float: none;
      margin: 10px auto 20px; } }

.main__animimg {
  margin: 0;
  border: 0; }

.main__animtext {
  position: absolute; }
  .main__animtext--cad {
    top: 85px;
    left: 20px;
    width: 270px;
    z-index: -1;
    line-height: 1.2em;
    color: #5a3f98;
    text-align: center; }

.main__contact-item {
  display: inline-block;
  min-width: 80px; }
  @media only screen and (max-width: 29.999em) {
    .main__contact-item {
      display: block;
      margin-top: 10px; } }

.main__download {
  width: 100%;
  text-align: center; }

.main__search {
  width: 100%; }

.main__fullcontent {
  width: 100%;
  direction: ltr; }

.main__video {
  width: auto;
  margin: 0 0 20px; }

.main__break {
  clear: both;
  margin-bottom: 40px; }

/* ... */
/*
 */
.m-primarynav {
  position: relative;
  width: 100%;
  background-color: #ddd;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
  padding: 0 20px; }

.primarynav__container {
  position: relative;
  bottom: -1px;
  height: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  max-width: 1100px;
  text-align: right; }
  @media only screen and (max-width: 44.999em) {
    .primarynav__container {
      text-align: left; } }

@media only screen and (min-width: 45em) {
  .primarynav__list {
    display: block; } }

@media only screen and (max-width: 44.999em) {
  .primarynav__list {
    display: none; }
    .primarynav__list.is-visible {
      display: block;
      margin-bottom: 10px; }
      .primarynav__list.is-visible .primarynav__item {
        display: block; }
      .primarynav__list.is-visible .primarynav__link {
        text-align: left;
        border: 0; } }

.primarynav__item {
  margin-left: 1px; }

.primarynav__link {
  display: block;
  padding: 0 15px;
  line-height: 32px;
  background-color: #eee;
  border: 1px solid #ccc;
  text-align: center;
  color: #333; }
  .primarynav__link:hover {
    color: #ddd;
    background-color: #938DA5;
    text-decoration: none; }
  .primarynav__link.is-current {
    color: #000;
    background-color: #fff;
    border-bottom-color: #fff; }
    .primarynav__link.is-current:hover {
      color: #333; }

.primarynav__toggle {
  position: absolute;
  right: 0;
  bottom: 100%;
  margin-bottom: 30px;
  height: 30px;
  background-image: url(/images/menunav_new.png);
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
  padding: 0 0 0 36px;
  box-sizing: border-box;
  line-height: 28px; }
  @media only screen and (min-width: 45em) {
    .primarynav__toggle {
      display: none; } }
  @media only screen and (max-width: 44.999em) {
    .primarynav__toggle {
      display: block; } }

/* ... */
/*
 */
.m-search {
  position: relative;
  width: 250px; }

.search__input {
  padding: 3px 5px;
  color: #444;
  background-color: #f0f0f0;
  border: 1px solid #ddd;
  box-sizing: border-box; }

.search__submit {
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 100%;
  padding: 0;
  background-color: #ccc;
  background-image: url(/images/search.png);
  background-position: center center;
  background-repeat: no-repeat;
  border: 1px solid #ddd;
  border-left: 0;
  cursor: pointer; }
  .search__submit:hover {
    background-color: #5a3f98; }

/* ... */
/*
 */
.m-specialties--related {
  margin: 20px 0; }

.specialties__title {
  color: #4a337f;
  margin-bottom: 10px; }

.specialties__subtitle {
  margin-bottom: 10px; }

.specialties__related {
  display: block;
  margin: 3px 0 3px 5px;
  line-height: 1.3;
  font-size: 1.1em; }
  .specialties__related:hover {
    font-weight: 600;
    text-decoration: none; }
  .specialties__related.is-current {
    font-weight: 600; }

.specialties__link {
  position: relative;
  margin-bottom: 2px;
  padding: 5px 5px 5px 50px;
  display: block;
  color: #888;
  background-color: #f6f6f6;
  border: 1px solid #e6e6e6;
  background-repeat: no-repeat;
  background-position: 10px center;
  font-weight: 400;
  font-size: 0.85em;
  line-height: 1.2; }
  .specialties__link .specialties__name {
    display: block;
    margin-bottom: 3px;
    font-size: 1.2em;
    color: #5a3f98; }
  .specialties__link:hover {
    color: #333;
    background-color: #ddd;
    border-color: #ccc;
    text-decoration: none; }
  .specialties__link.is-current {
    color: #ddd;
    background-color: #8679af;
    border-color: #361F7A; }
    .specialties__link.is-current .specialties__name {
      color: #fff; }
  .specialties__link--sp01 {
    background-image: url(/images/menulp/lp01.png); }
  .specialties__link--sp02 {
    background-image: url(/images/menulp/lp02.png); }
  .specialties__link--sp03 {
    background-image: url(/images/menulp/lp03.png); }
  .specialties__link--sp04 {
    background-image: url(/images/menulp/lp04.png); }
  .specialties__link--sp05 {
    background-image: url(/images/menulp/lp05.png); }
  .specialties__link--sp06 {
    background-image: url(/images/menulp/lp06.png); }
  .specialties__link--sp07 {
    background-image: url(/images/menulp/lp07.png); }
  .specialties__link--sp08 {
    background-image: url(/images/menulp/lp08.png); }
  .specialties__link--simple {
    padding: 8px 20px 8px 20px; }

.related_description {
  margin-left: 10px;
  font-size: 0.85em !important;
  color: #888;
  text-decoration: none; }

/* ... */
/*
 */
.start__title {
  color: #4a337f;
  margin-bottom: 20px; }
  @media only screen and (max-width: 44.999em) {
    .start__title {
      font-size: 1.19em;
      line-height: 1.1525; } }
  @media only screen and (min-width: 45em) and (max-width: 104.999em) {
    .start__title {
      font-size: 1.36em;
      line-height: 1.25; } }
  @media only screen and (min-width: 105em) {
    .start__title {
      font-size: 1.7em;
      line-height: 1.25; } }

.start__subtitle {
  color: #4a337f;
  margin-bottom: 10px; }

.start__anim {
  position: relative;
  margin: 20px auto 30px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 100%;
  height: 400px; }
  @media only screen and (min-width: 45em) {
    .start__anim {
      max-width: 570px;
      max-height: 190px;
      background-image: url(/images/introanimH.gif); } }
  @media only screen and (max-width: 44.999em) {
    .start__anim {
      max-width: 290px;
      max-height: 370px;
      background-image: url(/images/introanimV.gif); } }

.start__tag {
  position: relative;
  width: 100%;
  margin: 0 0 20px;
  padding: 0 0 10px;
  border-bottom: 1px solid #ddd;
  display: flex; }

.start__tag-imgcontainer {
  display: inline-block;
  vertical-align: top;
  margin: 0 10px 0 0;
  width: 65px; }

.start__tag-img {
  padding: 1px;
  border: 1px solid #ddd; }

.start__tag-text {
  display: inline-block;
  vertical-align: top;
  color: #555;
  line-height: 1.3;
  flex: 1; }

.start__tag-cto {
  display: block;
  font-weight: 400;
  margin-top: 10px;
  color: #222; }

#cse-search-results iframe {
  width: 100%; }
