/* ==========================================================================
   Micro Reset
   ========================================================================== */
* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}
html,
body,
div,
form,
fieldset,
legend,
label,
ul,
li {
  margin: 0;
  padding: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
th,
td {
  text-align: left;
  vertical-align: top;
}
h1,
h2,
h3,
h4,
h5,
h6,
th,
td,
caption {
  font-weight: normal;
  font-size: inherit;
  margin: 0;
}
img {
  border: 0;
}
ul,
ol,
li {
  list-style: none;
}
a {
  color: #ffffff;
  text-decoration: none;
}
iframe {
  border: none;
}
/* === Variables === */
/* === Mixins === */
html {
  overflow: scroll;
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
}
body {
  background: #f8a164;
  color: #ffffff;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 300;
  padding: 0;
}
h1,
h2 {
  font-size: 48px;
  font-size: 2.6666666666666665rem;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 300;
  letter-spacing: 2px;
}
a {
  color: #ffffff;
}
a:hover {
  color: #090000;
}
.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
  line-height: 0;
}
.clearfix:after {
  clear: both;
}
.rotate {
  /* Need translate3d(0,0,0) to kick in antialiasing in webkit */

  -webkit-transform: rotate(90deg) translate3d(0, 0, 0);
  -moz-transform: rotate(90deg) translate3d(0, 0, 0);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg) translate3d(0, 0, 0);
  transform: rotate(90deg) translate3d(0, 0, 0);
  /* also accepts left, right, top, bottom coordinates; not required, but a good idea for styling */

  -webkit-transform-origin: 0 100%;
  -moz-transform-origin: 0 100%;
  -ms-transform-origin: 0 100%;
  -o-transform-origin: 0 100%;
  transform-origin: 0 100%;
}
#preload {
  display: none;
}
/*****
 * Component styles
 */
.collapser-section {
  position: absolute;
  width: 16.667%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.section {
  overflow: hidden;
}
/*.section.collapser-open {
    background: url('../media/logo_small.svg') no-repeat center 25px;
}*/
.phone-button {
  display: none;
}
.section-title {
  position: absolute;
  top: -8px;
  left: 22px;
  min-width: 150px;
  color: #8c6766;
  font-size: 24px;
  font-size: 1.3333333333333333rem;
  letter-spacing: 1px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: font-size ease-in-out 0.14s;
  -moz-transition: font-size ease-in-out 0.14s;
  -ms-transition: font-size ease-in-out 0.14s;
  -o-transition: font-size ease-in-out 0.14s;
  transition: font-size ease-in-out 0.14s;
}
#content .collapser-over .section-title {
  color: #ffffff;
  font-size: 26px;
  font-size: 1.4444444444444444rem;
}
.section-trigger {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  outline: none;
  background: transparent url('../media/blank.gif');
}
.collapser-open .section-trigger,
.collapser-state-open .section-title {
  display: none;
}
.section-content {
  position: relative;
  display: none;
  max-width: 940px;
  margin: 0 auto;
  padding: 58px 100px 108px;
  letter-spacing: 1px;
  line-height: 1.5;
  opacity: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.collapser-open .section-content {
  display: block;
  opacity: 1;
}
.section-brand {
  display: none;
  margin: 25px 0 0;
  opacity: 0;
  text-align: center;
  -webkit-transition: opacity linear .2s;
  -moz-transition: opacity linear .2s;
  -o-transition: opacity linear .2s;
  -ms-transition: opacity linear .2s;
  transition: opacity linear .2s;
}
.collapser-open .section-brand {
  display: block;
  opacity: 1;
}
.section-brand img {
  height: 25px;
  vertical-align: middle;
}
.section-close {
  position: fixed;
  top: 25px;
  width: 36px;
  height: 36px;
  overflow: hidden;
  text-indent: -9999px;
  background: transparent url("../media/close.svg") no-repeat 0 0;
}
.section-close:hover {
  background-position: -40px 0;
}
.tip-view {
  position: fixed;
  left: 0;
  bottom: 44px;
  padding: 0;
  margin: 0;
}
.tip-view button {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 16px;
  height: 24px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background: transparent url("../media/phone.svg") no-repeat 0 0;
  border: none;
  text-indent: -99999px;
  cursor: pointer;
  outline: none;
}
.tip-view.open button,
.tip-view:hover button {
  background-position: -20px 0;
  width: 16px;
  height: 24px;
}
.tip-view .tip {
  position: absolute;
  left: 0;
  bottom: 28px;
}
.tip-view .tip:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 24px 16px 0 0;
  border-color: #ff8368 transparent transparent transparent;
}
.tip-view .tip-content {
  padding: 5px 14px;
  font-size: 24px;
  font-size: 1.3333333333333333rem;
  background: #ff8368;
  letter-spacing: 1px;
}
/***
* specific element stles 
*/
#bg {
  position: fixed;
  top: 0;
  left: 0;
  background: #f8a164;
  height: 100%;
}
.bg-col {
  overflow: hidden;
  position: absolute;
  width: 16.667%;
  height: 100%;
  background-repeat: repeat-x;
  background-size: auto 100%;
}
.bg-step {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: block;
  opacity: 1;
  background-repeat: repeat-x;
  background-size: auto 100%;
}
.bg-col-0 {
  background-image: url("../media/reverse_1_1.png");
}
.bg-col-0 .bg-step {
  background-image: url("../media/reverse_1_2.png");
  opacity: 0.7142857142857143;
}
.bg-col-1 {
  background-image: url("../media/reverse_2_1.png");
}
.bg-col-1 .bg-step {
  background-image: url("../media/reverse_2_2.png");
  opacity: 0.7714285714285715;
}
.bg-col-2 {
  background-image: url("../media/reverse_3_1.png");
}
.bg-col-2 .bg-step {
  background-image: url("../media/reverse_3_2.png");
  opacity: 0.8285714285714286;
}
.bg-col-3 {
  background-image: url("../media/reverse_4_1.png");
}
.bg-col-3 .bg-step {
  background-image: url("../media/reverse_4_2.png");
  opacity: 0.8857142857142857;
}
.bg-col-4 {
  background-image: url("../media/reverse_5_1.png");
}
.bg-col-4 .bg-step {
  background-image: url("../media/reverse_5_2.png");
  opacity: 0.9428571428571428;
}
.bg-col-5 {
  background-image: url("../media/reverse_6_1.png");
}
.bg-col-5 .bg-step {
  background-image: url("../media/reverse_6_2.png");
}
#bg .section-title {
  display: block;
  color: #ffffff;
  left: 14px;
  opacity: 0;
}
#bg.collapser-state-open .collapser-over .section-title {
  opacity: 1;
}
#bg.collapser-state-open .collapser-open .section-title,
#bg.collapser-state-open .collapser-open.collapser-over .section-title {
  opacity: 1;
  left: 22px;
  min-width: 150px;
  color: #8c6766;
}
#bg .section-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  -webkit-transition: opacity linear 0.1s;
  -moz-transition: opacity linear 0.1s;
  transition: opacity linear 0.1s;
}
#bg .collapser-open .section-background {
  opacity: 1;
  -webkit-transition: opacity linear .2s;
  -moz-transition: opacity linear .2s;
  -o-transition: opacity linear .2s;
  -ms-transition: opacity linear .2s;
  transition: opacity linear .2s;
}
#bg .section-background canvas {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  margin: -300px 0 0 -300px;
}
#bg .bg-col-0 .section-background,
#bg .bg-col-1 .section-background {
  background: url("../media/gem.png") no-repeat center;
}
#bg .bg-col-3 .section-background {
  background: url("../media/gem2.png") no-repeat center;
}
#logo {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 54%;
  color: #ffffff;
}
#logo img {
  width: 100%;
}
.reveal-trigger {
  margin-top: 10px;
  cursor: pointer;
  -webkit-transition: opacity linear .1s;
  -moz-transition: opacity linear .1s;
  -ms-transition: opacity linear .1s;
  -o-transition: opacity linear .1s;
  transition: opacity linear .1s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.reveal-trigger:hover {
  opacity: 0.7;
}
.reveal-trigger:after {
  content: "";
  display: inline-block;
  width: 35px;
  height: 35px;
  margin: 0 0 -1px 20px;
  background: url("../media/section_toggle.svg") no-repeat 0 0;
  -webkit-transition: -webkit-transform ease-in-out 0.25s;
  -moz-transition: -moz-transform ease-in-out 0.25s;
  -ms-transition: -ms-transform ease-in-out 0.25s;
  -o-transition: -o-transform ease-in-out 0.25s;
  transition: transform ease-in-out 0.25s;
}
.reveal-trigger.open:after {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.reveal-content {
  overflow: hidden;
}
.reveal-content:after {
  content: '';
  display: block;
  height: 22px;
}
.align-right {
  text-align: right;
}
.align-center {
  text-align: center;
}
#why-us .section-content {
  padding-top: 127px;
  padding-bottom: 250px;
  max-width: 850px;
}
#why-us p {
  margin: 4px 0;
  font-size: 24px;
  font-size: 1.3333333333333333rem;
  letter-spacing: 1px;
  line-height: 150%;
  text-align: justify;
}
#why-us h2 {
  margin-top: 10px;
}
#why-us #why-us-our-story {
  margin-top: 0;
}
#why-us-our-story {
  text-align: center;
}
#why-us-simple {
  text-align: center;
}
#why-us-agile {
  text-align: right;
}
#why-us-dependable {
  text-align: center;
}
#services .section-content {
  padding-bottom: 250px;
  font-size: 24px;
  font-size: 1.3333333333333333rem;
}
#services p {
  text-align: justify;
}
#services-title-cloud {
  text-align: center;
}
#services-title-managed {
  text-align: right;
}
#services-title-strategic {
  text-align: center;
}
.services-list {
  float: left;
  width: 50%;
  padding: 0 20px 0 14px;
}
.services-list li {
  position: relative;
}
.services-list li:before {
  content: 'ﾂｷ';
  position: absolute;
  left: -14px;
  margin-top: 1px;
  font-size: 22px;
  font-size: 1.2222222222222223rem;
}
#team .section-content {
  max-width: 1024px;
}
.team-person {
  position: relative;
  margin-bottom: 32px;
}
.team-person-photo {
  margin-left: 25%;
}
.team-person-photo img,
.team-person-photo canvas {
  display: block;
}
.team-person-photo canvas {
  opacity: 0.75;
}
.team-person-name {
  line-height: 1;
  margin-bottom: 20px;
}
.team-person-position {
  margin-left: 20px;
  font-size: 18px;
  font-size: 1rem;
}
.team-person-bio {
  clear: left;
  margin-left: 25%;
  text-align: justify;
}
#clients .section-content {
  padding-bottom: 10px;
}
#contact-us .section-content {
  padding-top: 152px;
  font-size: 24px;
  font-size: 1.3333333333333333rem;
  text-align: center;
}
#contact-us .contact-group {
  position: relative;
}
#contact-us .contact-group div {
  margin-bottom: 12px;
}
#contact-us .contact-address {
  margin-bottom: 32px;
}
#contact-us .contact-telephone a:hover {
  color: #ffffff;
}
#contact-us .contact-site-credit {
  position: absolute;
  left: 0;
  bottom: 25px;
  width: 100%;
  font-size: 16px;
  font-size: 0.8888888888888888rem;
}
.partners-list {
  overflow: hidden;
}
.partner-name {
  position: relative;
  float: left;
  margin: 0 40px;
  font-size: 24px;
  font-size: 1.3333333333333333rem;
}
.news-list {
  border-top: 1px solid #fff;
  border-top: 1px solid rgba(255, 255, 255, 0.45);
}
.news-entry {
  padding: 14px 0 27px;
  border-bottom: 1px solid #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.45);
}
.news-entry-header {
  display: block;
  text-align: center;
  -webkit-transition: opacity linear .1s;
  -moz-transition: opacity linear .1s;
  -ms-transition: opacity linear .1s;
  -o-transition: opacity linear .1s;
  transition: opacity linear .1s;
}
.news-entry.over .news-entry-header,
a.news-entry-header:hover {
  opacity: 0.7;
  color: #ffffff;
}
.news-entry-title {
  margin: 12px 0 22px;
  font-size: 34px;
  font-size: 1.8888888888888888rem;
  line-height: 1.1;
}
.news-entry-body {
  max-width: 540px;
  text-align: justify;
  margin: 0 auto;
  overflow: hidden;
}
.news-entry-body img {
  display: block;
  width: 100%;
}
.news-entry-body a {
  opacity: 0.75;
}
.news-entry-toggle {
  display: block;
  margin: 0 auto;
  width: 35px;
  height: 35px;
  overflow: hidden;
  background: transparent url("../media/section_toggle.svg") no-repeat 0 0;
  cursor: pointer;
  -webkit-transition: -webkit-transform ease-in-out 0.25s;
  -moz-transition: -moz-transform ease-in-out 0.25s;
  -ms-transition: -ms-transform ease-in-out 0.25s;
  -o-transition: -o-transform ease-in-out 0.25s;
  transition: transform ease-in-out 0.25s;
}
.news-entry.over .news-entry-toggle,
.news-entry-toggle:hover {
  opacity: 0.7;
}
.news-entry.open .news-entry-toggle {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.video-wrapper {
  position: relative;
  height: 0;
  width: 100%;
  padding-bottom: 50%;
}
.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#data-contact-contents {
  display: none;
}
.preloading body,
html.preloading {
  height: 100%;
}
.preloading body {
  background: #f8a164 url("../media/reverse_1_1.png") repeat-x;
  background-size: auto 100%;
}
.preloading #bg,
.preloading #logo,
.preloading #content {
  opacity: 0;
}
#bg,
#logo,
#content {
  -webkit-transition: opacity linear .2s;
  -moz-transition: opacity linear .2s;
  -o-transition: opacity linear .2s;
  -ms-transition: opacity linear .2s;
  transition: opacity linear .2s;
}
.tablet #bg {
  position: absolute;
}
.tablet .collapser-section.section {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.mobile body {
  font-weight: 300;
  background-size: 100% auto;
  background-image: url("../media/mobile_7_1.png");
  color: #400200;
}
.mobile h2 {
  font-size: 32px;
  font-size: 1.7777777777777777rem;
  font-weight: 300;
  color: white;
  text-align: center;
  line-height: 120%;
}
.mobile #content {
  width: 100%;
  background-repeat: repeat-y;
  background-size: 100% auto;
  background-image: url("../media/mobile_7_1.png");
}
.mobile .collapser-section {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 14.27%;
  float: none;
  background-repeat: repeat-y;
  background-size: 100% auto;
}
.mobile .section-open .section-trigger {
  bottom: auto;
}
.mobile .section-content {
  display: block;
  max-width: none;
  opacity: 0;
  padding: 120px 26px 26px !important;
}
.mobile .section-opened .section-content {
  opacity: 1;
}
.mobile .section-title {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 0;
  text-align: center;
  color: #ffffff;
  font-size: 32px;
  font-size: 1.7777777777777777rem;
}
.mobile .section-close,
.mobile .section-close:hover {
  top: 16px;
  left: auto;
  right: 16px;
  width: 48px;
  height: 48px;
  background: transparent url('../media/close_mobile.svg') no-repeat 0 0;
  opacity: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.mobile .section-opened .section-close {
  opacity: 1;
  -webkit-transition: opacity linear .2s;
  -moz-transition: opacity linear .2s;
  -o-transition: opacity linear .2s;
  -ms-transition: opacity linear .2s;
  transition: opacity linear .2s;
}
.mobile #logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  background-image: url("../media/mobile_1_1.png");
}
.mobile #logo img {
  display: block;
  margin: 0 auto;
  width: 68.75%;
  max-width: 220px;
}
.mobile #contact-us {
  background-image: url("../media/mobile_2_1.png");
}
.mobile #why-us {
  background-image: url("../media/mobile_3_1.png");
}
.mobile #services {
  background-image: url("../media/mobile_4_1.png");
}
.mobile #team {
  background-image: url("../media/mobile_5_1.png");
}
.mobile #clients {
  background-image: url("../media/mobile_6_1.png");
}
.mobile #atlas {
  background-image: url("../media/mobile_7_1.png");
}
.mobile #contact-us .section-content {
  font-weight: 300;
  font-size: 18px;
  font-size: 1rem;
}
.mobile #contact-us a {
  color: #400200;
}
.mobile #contact-us div,
.mobile #contact-us .contact-address {
  margin-bottom: 22px;
}
.mobile #contact-us .contact-site-credit {
  position: static;
  margin-top: 66px;
}
.mobile #why-us p {
  font-weight: 300;
  font-size: 18px;
  font-size: 1rem;
}
.mobile #why-us-agile {
  text-align: center;
}
.mobile #services .section-content {
  font-size: 18px;
  font-size: 1rem;
}
.mobile .reveal-trigger:after {
  display: none;
}
.mobile #services-title-managed {
  text-align: center;
}
.mobile .services-list {
  float: none;
  width: auto;
}
.mobile .team-person {
  margin-bottom: 40px;
}
.mobile .team-person-photo {
  margin: 0 0 12px;
}
.mobile .team-person-photo img {
  margin: 0 auto;
}
.mobile .team-person-name {
  margin-bottom: 8px;
}
.mobile .team-person-position {
  display: block;
  margin: 0;
}
.mobile .team-person-bio {
  margin: 0;
}
.mobile .partner-name {
  float: none;
  text-align: center;
  color: #ffffff;
}
.mobile #atlas .section-content {
  padding: 80px 0 26px !important;
}
.mobile .news-entry {
  padding: 18px 26px;
}
.mobile .news-entry-header {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.mobile a.news-entry-header:hover {
  opacity: 1;
}
.mobile .news-entry-title {
  margin: 0 0 10px 0;
  font-size: 18px;
  font-size: 1rem;
  line-height: 135%;
}
.mobile .news-entry-date {
  color: #ffffff;
}
.mobile .news-entry-body p {
  margin: 1em 0 0;
}
.mobile .news-entry-toggle {
  display: none;
  width: 17px;
  height: 17px;
  margin-top: 12px;
  background-image: url("../media/section_toggle_mobile.svg");
}