html, body {
  margin: 0;
  padding: 0;
  height: 100%; }

img {
  vertical-align: top; }

a {
  color: #2d2b2c; }

h1, h2, h3, h4, h5, h6, a, p, span, div {
  margin: 0;
  padding: 0;
  text-decoration: none; }

ol, ul, li {
  margin: 0; }

button {
  -webkit-appearance: none;
  outline: none;
  background: none;
  border: none;
  margin: 0;
  padding: 0; }

.transTw, .slide-text .slide-title, .carouselCtrl, .nav-link, .index-section, .landing-services .service-title {
  -webkit-transition: all .2s ease-in-out;
  -moz-transition: all .2s ease-in-out;
  -ms-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out; }

.transTh, .slide-text .slide-descrip {
  -webkit-transition: all .4s ease-in-out .1s;
  -moz-transition: all .4s ease-in-out .1s;
  -ms-transition: all .4s ease-in-out .1s;
  -o-transition: all .4s ease-in-out .1s;
  transition: all .4s ease-in-out .1s; }

.fluidTransOn, .slide {
  -webkit-transition: all 0.7s cubic-bezier(0.4, 0.78, 0.32, 0.99);
  -moz-transition: all 0.7s cubic-bezier(0.4, 0.78, 0.32, 0.99);
  -ms-transition: all 0.7s cubic-bezier(0.4, 0.78, 0.32, 0.99);
  -o-transition: all 0.7s cubic-bezier(0.4, 0.78, 0.32, 0.99);
  transition: all 0.7s cubic-bezier(0.4, 0.78, 0.32, 0.99); }

.fluidTransOn2, .active .slide-title {
  -webkit-transition: all 0.5s cubic-bezier(0.4, 0.78, 0.32, 0.99) 0.5s;
  -moz-transition: all 0.5s cubic-bezier(0.4, 0.78, 0.32, 0.99) 0.5s;
  -ms-transition: all 0.5s cubic-bezier(0.4, 0.78, 0.32, 0.99) 0.5s;
  -o-transition: all 0.5s cubic-bezier(0.4, 0.78, 0.32, 0.99) 0.5s;
  transition: all 0.5s cubic-bezier(0.4, 0.78, 0.32, 0.99) 0.5s; }

.fluidTransOn3, .active .slide-descrip {
  -webkit-transition: all 0.7s cubic-bezier(0.4, 0.78, 0.32, 0.99) 0.7s;
  -moz-transition: all 0.7s cubic-bezier(0.4, 0.78, 0.32, 0.99) 0.7s;
  -ms-transition: all 0.7s cubic-bezier(0.4, 0.78, 0.32, 0.99) 0.7s;
  -o-transition: all 0.7s cubic-bezier(0.4, 0.78, 0.32, 0.99) 0.7s;
  transition: all 0.7s cubic-bezier(0.4, 0.78, 0.32, 0.99) 0.7s; }

.fluidTransTw {
  -webkit-transition: all 1s cubic-bezier(0.4, 0.78, 0.32, 0.99);
  -moz-transition: all 1s cubic-bezier(0.4, 0.78, 0.32, 0.99);
  -ms-transition: all 1s cubic-bezier(0.4, 0.78, 0.32, 0.99);
  -o-transition: all 1s cubic-bezier(0.4, 0.78, 0.32, 0.99);
  transition: all 1s cubic-bezier(0.4, 0.78, 0.32, 0.99); }

html, body {
  min-width: 1016px;
  color: #2d2b2c;
  font-family: "Montserrat";
  font-size: 14px; }

.container {
  position: relative;
  min-height: 100%; }

.header {
  position: relative;
  height: 498px;
  background: #1d5375; }

.slider {
  position: relative;
  z-index: 999;
  height: 455px;
  overflow: hidden; }

.slide {
  height: 100%; }
  .slide img {
    display: block;
    width: 100%; }

.slide-text-wrap {
  z-index: 1000;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 1016px;
  height: 111px;
  margin: 0 auto;
  background: #FFF;
  background: rgba(255, 255, 255, 0.9);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.slide-text .slide-title {
  position: absolute;
  top: 150px;
  left: 0;
  width: 447px;
  padding-right: 25px;
  border-right: solid 1px;
  color: #333132;
  text-align: right;
  font-size: 32px;
  line-height: 30px;
  letter-spacing: -1px;
  text-transform: uppercase; }
.slide-text .slide-descrip {
  position: absolute;
  top: 150px;
  right: 30px;
  width: 490px;
  color: #414042;
  font-family: Arial, sans-serif;
  font-size: 13px; }

.active .slide-title {
  top: 27px; }
.active .slide-descrip {
  top: 40px; }

.carouselImg {
  position: absolute;
  top: 0;
  right: -100%;
  width: 100%; }

.carouselImg.active {
  right: 0;
  z-index: 101; }

.carouselImg.toLeft {
  right: 100%;
  z-index: 100; }

.controlWrap {
  position: absolute;
  right: 0;
  bottom: 120px;
  left: 0;
  z-index: 102;
  margin: auto;
  max-width: 1016px;
  text-align: right; }

.carouselCtrl {
  position: relative;
  display: inline-block;
  margin: 0 0 0 4px;
  width: 18px;
  height: 18px;
  background: #FFF;
  cursor: pointer;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.3); }
  .carouselCtrl.active {
    background: rgba(255, 255, 255, 0.7); }

.header-center {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 1016px;
  height: 100%;
  margin: 0 auto; }

.main-logo {
  position: absolute;
  top: 0;
  left: 8px;
  z-index: 1000;
  width: 290px;
  height: 130px;
  background: white url(../images/main-logo.png) no-repeat;
  background-position: 20px 17px;
  border-radius: 0 0 6px 6px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  font-size: 0;
  text-indent: -9999px; }
  .main-logo a {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }

.main-nav {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  width: 940px;
  height: 43px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: right;
  text-transform: uppercase; }

.nav-link {
  display: inline-block;
  width: 222px;
  height: 100%;
  margin-left: -4px;
  vertical-align: top;
  text-align: center;
  font-weight: 400;
  font-size: 16px;
  line-height: 44px; }
  .nav-link:nth-child(1) {
    background: #1980a0; }
    .nav-link:nth-child(1):hover, .nav-link:nth-child(1).active {
      background: #3ebae1; }
  .nav-link:nth-child(2) {
    background: #1d5375; }
    .nav-link:nth-child(2):hover, .nav-link:nth-child(2).active {
      background: #318dc7; }
  .nav-link:nth-child(3) {
    background: #182a53; }
    .nav-link:nth-child(3):hover, .nav-link:nth-child(3).active {
      background: #2f52a2; }
  .nav-link a {
    display: inline-block;
    width: 100%;
    color: #FFF; }

.body {
  width: 940px;
  padding: 65px 20px 218px;
  margin: 0 auto 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.index-column {
  display: inline-block;
  width: 300px;
  height: 100%;
  margin-right: 53px;
  vertical-align: top; }

.index-wrap {
  width: 300px;
  padding-bottom: 13px;
  background: #dcddde; }
  .index-wrap.sticky {
    position: fixed;
    top: 10px; }

.index-title {
  display: block;
  height: 45px;
  margin-bottom: 24px;
  background: #f4f4f4;
  border-bottom: solid 1px #9b9b9b;
  color: #1d5375;
  font-size: 20px;
  text-transform: uppercase;
  text-align: center;
  line-height: 46px; }

.index-section {
  display: block;
  margin: 0 0 13px 28px;
  color: #1d5375;
  font-size: 16px;
  text-transform: uppercase; }
  .index-section:before {
    position: relative;
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-right: 13px;
    background: #1980a0;
    content: ''; }
  .index-section.active {
    color: #8f8f8f; }
    .index-section.active:before {
      background: #1d5375; }

.content-column {
  display: inline-block;
  width: 540px;
  margin-right: -4px; }

.about-txt-wrap {
  padding-bottom: 61px;
  margin-bottom: 61px;
  border-bottom: solid 1px #909090; }
  .about-txt-wrap.last {
    padding-bottom: 0;
    border-bottom: none; }

.highlight-start,
.sub-heading {
  color: #1d5375;
  text-transform: uppercase;
  font-weight: 600; }

.serv-txt-wrap {
  padding-bottom: 20px; }

.hidden-heading {
  text-indent: -9999px;
  font-size: 0; }

.main-heading {
  margin-bottom: 22px;
  color: #1d5375;
  font-size: 36px;
  font-weight: 400;
  text-transform: uppercase; }

.descrip-text {
  color: #929396;
  font-family: Arial, sans-serif;
  /* text-align: justify; */
  line-height: 34px; }
  .descrip-text em {
    color: #5c5e60; }

.client-wrap {
  padding: 20px 0;
  border-bottom: solid 1px #c5c5c5; }
  .client-wrap:last-child {
    border-bottom: none; }
  .client-wrap .info-text-wrap {
    top: 30px;
    position: relative; }
    .client-wrap .info-text-wrap.larger {
      top: 0; }

.client-wrap.odd,
.service-wrap.odd {
  text-align: right; }
  .client-wrap.odd .descrip-text,
  .service-wrap.odd .descrip-text {
    text-align: right; }
  .client-wrap.odd .service-title,
  .service-wrap.odd .service-title {
    float: right;
    margin-right: 0;
    margin-left: 26px; }
  .client-wrap.odd .client-logo,
  .service-wrap.odd .client-logo {
    float: right;
    margin-left: 20px;
    margin-right: 0; }

.client-wrap,
.service-wrap {
  display: inline-block;
  width: 100%;
  vertical-align: top; }
  .client-wrap .info-text-wrap,
  .service-wrap .info-text-wrap {
    display: inline-block;
    width: 65%;
    color: #929396;
    vertical-align: top; }
    .client-wrap .info-text-wrap ol,
    .service-wrap .info-text-wrap ol {
      text-align: left; }
    .client-wrap .info-text-wrap li,
    .service-wrap .info-text-wrap li {
      margin-bottom: 5px; }
  .client-wrap .descrip-text,
  .service-wrap .descrip-text {
    line-height: 25px;
    text-align: left; }
  .client-wrap .service-title,
  .service-wrap .service-title {
    margin-right: 26px; }
  .client-wrap:nth-child(1),
  .service-wrap:nth-child(1) {
    margin-top: 20px; }
  .client-wrap .client-logo,
  .service-wrap .client-logo {
    margin-right: 16px; }

.client-name {
  color: #1d5375;
  font-family: Arial, sans-serif;
  font-size: 14px;
  text-transform: uppercase; }

.client-logo {
  position: relative;
  display: inline-block; }
  .client-logo:after {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
    content: ''; }

.service-wrap {
  padding: 38px 0;
  border-top: solid 1px #1c5472; }

.service-title {
  position: relative;
  vertical-align: top;
  display: inline-block;
  width: 156px;
  height: 156px;
  margin-bottom: 4px;
  padding: 105px 20px 0;
  color: #FFF;
  text-align: center;
  text-transform: uppercase;
  line-height: 12px;
  font-size: 12px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  .service-title span {
    font-weight: 100; }
  .service-title.vigilancia {
    background: #14b9da url(../images/UI/services-gr-1.png) no-repeat center center;
    font-size: 16px; }
  .service-title.admin {
    background: #1e7a96 url(../images/UI/services-gr-3.png) no-repeat center center;
    padding: 112px 20px 0; }
  .service-title.asesoria {
    background: #228dae url(../images/UI/services-gr-2.png) no-repeat center center; }
  .service-title.seguridad {
    background: #1a486c url(../images/UI/services-gr-5.png) no-repeat center center; }
  .service-title.investigacion {
    background: #182a53 url(../images/UI/services-gr-6.png) no-repeat center center;
    font-size: 13px;
    padding-top: 106px; }
  .service-title.juridica {
    background: #1d6889 url(../images/UI/services-gr-4.png) no-repeat center center;
    padding: 104px 20px 0; }
  .service-title.segur-electr {
    background: #05546b url(../images/UI/services-gr-7.png) no-repeat center center;
    padding: 104px 20px 0; }
  .service-title.serv-multiples {
    background: #07173c url(../images/UI/services-gr-8.png) no-repeat center center;
    padding: 104px 20px 0; }

.read-more {
  position: relative;
  display: inline-block;
  margin-top: 20px;
  padding: 0 20px 0 10px;
  height: 34px;
  background: #7d1a13;
  line-height: 34px;
  text-align: center;
  text-transform: uppercase;
  color: #FFF; }
  .read-more:after, .read-more:before {
    position: absolute;
    font-family: 'fontello';
    top: -1px; }
  .read-more:after {
    content: '\e807';
    font-size: 22px;
    right: 7px; }
  .read-more:hover {
    background: #a9231a; }

.back-btn {
  padding: 0 10px 0 22px;
  font-size: 16px; }
  .back-btn:after {
    content: ''; }
  .back-btn:before {
    content: '\e806';
    font-size: 25px;
    left: 7px; }

/* landing */
.landing,
.contact {
  padding-top: 32px;
  padding-right: 0;
  padding-left: 0; }

.landing-intro {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 405px;
  height: 316px;
  padding: 13px 27px 0 0;
  text-align: right; }
  .landing-intro .read-more {
    position: absolute;
    right: 27px;
    bottom: 0; }

.landing-heading {
  margin-bottom: 12px;
  color: #333132;
  font-size: 28px;
  font-weight: 400;
  text-transform: uppercase; }

.landing-text {
  font-family: Arial, sans-serif;
  font-size: 15px;
  color: #414042;
  line-height: 28px; }

.landing-services {
  display: inline-block;
  width: 477px;
  height: 316px;
  padding: 13px 0 0 27px;
  margin-right: -4px;
  border-left: solid 1px #1980a0; }
  .landing-services .service-title {
    width: 116px;
    height: 116px;
    padding: 80px 0 0;
    line-height: 10px;
    font-size: 10px; }
    .landing-services .service-title:hover {
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
      -webkit-transform: scale(0.95);
      -moz-transform: scale(0.95);
      -ms-transform: scale(0.95);
      -o-transform: scale(0.95);
      transform: scale(0.95); }
    .landing-services .service-title.vigilancia {
      background-image: url(../images/UI/services-sm-1.png) no-repeat center center;
      background-size: cover;
      font-size: 14px; }
      .landing-services .service-title.vigilancia:hover {
        background-color: #35ceec; }
    .landing-services .service-title.admin {
      background-image: url(../images/UI/services-sm-3.png) no-repeat center center;
      background-size: cover;
      padding: 85px 10px 0; }
      .landing-services .service-title.admin:hover {
        background-color: #279dc1; }
    .landing-services .service-title.asesoria {
      background-image: url(../images/UI/services-sm-2.png) no-repeat center center;
      background-size: cover;
      padding-top: 75px; }
      .landing-services .service-title.asesoria:hover {
        background-color: #2daed6; }
    .landing-services .service-title.seguridad {
      background-image: url(../images/UI/services-sm-6.png) no-repeat center center;
      background-size: cover;
      padding-top: 75px; }
      .landing-services .service-title.seguridad:hover {
        background-color: #246395; }
    .landing-services .service-title.investigacion {
      background-image: url(../images/UI/services-sm-7.png) no-repeat center center;
      background-size: cover;
      font-size: 11px;
      padding-top: 75px; }
      .landing-services .service-title.investigacion:hover {
        background-color: #233e7b; }
    .landing-services .service-title.juridica {
      background-image: url(../images/UI/services-sm-5.png) no-repeat center center;
      background-size: cover;
      padding: 75px 10px 0; }
      .landing-services .service-title.juridica:hover {
        background-color: #2688b3; }
    .landing-services .service-title.segur-electr {
      background-image: url(../images/UI/services-sm-4.png) no-repeat center center;
      background-size: cover;
      padding-top: 80px; }
      .landing-services .service-title.segur-electr:hover {
        background-color: #077a9c; }
    .landing-services .service-title.serv-multiples {
      background-image: url(../images/UI/services-sm-8.png) no-repeat center center;
      background-size: cover;
      padding: 80px 10px 0; }
      .landing-services .service-title.serv-multiples:hover {
        background-color: #0c296a; }

.service-anchor {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; }

.map-wrap {
  display: inline-block;
  border: solid 1px #c8c8c8; }

.address-wrap {
  display: inline-block;
  vertical-align: top;
  width: 290px;
  margin-left: 37px; }
  .address-wrap .main-heading {
    font-size: 25px; }
  .address-wrap .descrip-text {
    font-size: 18px; }

.form-wrap {
  margin-top: 50px;
  padding: 34px 82px 0;
  border-top: solid 1px #000000; }

.form-descrip {
  display: inline-block;
  width: 390px;
  vertical-align: top; }
  .form-descrip .main-heading {
    color: #333132;
    font-size: 28px;
    text-align: right; }
  .form-descrip .descrip-text {
    text-align: right;
    color: #414042;
    line-height: 28px; }

.contact-form {
  position: relative;
  display: inline-block;
  width: 330px;
  margin-left: 45px;
  padding-bottom: 22px; }

.contact-label {
  font-size: 0;
  text-indent: -9999px;
  position: absolute; }

.text-box {
  display: inline-block;
  width: 156px;
  margin-right: -4px;
  margin-bottom: 26px;
  padding: 10px;
  border: solid 1px #d3d3d3;
  vertical-align: top;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  .text-box.first {
    margin-right: 15px; }
  .text-box.large {
    width: 100%; }
  .text-box.text-area {
    height: 142px; }

.submit-btn {
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: 104px;
  height: 34px;
  background: #1d5375;
  color: #FFF;
  font-size: 14px;
  text-align: center;
  text-transform: uppercase; }
  .submit-btn:hover {
    background: #27709e; }

.footer-bg {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 158px;
  width: 100%;
  background: #1d5375;
  background: -moz-linear-gradient(top, #102e48 0%, #1d5375 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #102e48), color-stop(100%, #1d5375));
  background: -webkit-linear-gradient(top, #102e48 0%, #1d5375 100%);
  background: -o-linear-gradient(top, #102e48 0%, #1d5375 100%);
  background: -ms-linear-gradient(top, #102e48 0%, #1d5375 100%);
  background: linear-gradient(to bottom, #102e48 0%, #1d5375 100%); }

.footer {
  width: 940px;
  margin: 24px auto 0;
  color: #FFF;
  font-size: 12px; }

.foo-column {
  display: inline-block;
  vertical-align: top;
  width: 300px;
  height: 106px;
  margin-right: -4px;
  padding-left: 25px;
  border-right: solid 2px #FFF;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  .foo-column.first {
    width: 160px; }
  .foo-column.last {
    width: 180px; }
  .foo-column:last-child {
    border-right: none; }
  .foo-column .client-logo img {
    width: 57px; }

.foo-heading {
  display: block;
  margin-bottom: 13px;
  font-weight: 400;
  text-transform: uppercase; }
  .foo-heading.bolder {
    margin-bottom: 0;
    font-size: 16px;
    font-weight: 600; }

.sub-column {
  display: inline-block;
  max-width: 138px;
  vertical-align: top; }
  .sub-column.first {
    margin-right: 28px; }

.foo-link {
  display: block;
  margin-bottom: 5px;
  font-family: Arial, sans-serif;
  color: #FFF; }
  .foo-link:hover {
    text-decoration: underline; }
  .foo-link.pushed {
    margin-top: 7px;
    font-weight: 600; }
  .foo-link.underlined {
    text-decoration: underline; }

.foo-phone {
  display: block;
  margin-bottom: 5px; }

.social-icon {
  display: inline-block;
  width: 33px;
  height: 33px;
  margin-right: 5px;
  border-radius: 3px;
  color: #FFF;
  text-align: center;
  line-height: 32px;
  font-size: 16px;
  box-shadow: inset 0 -2px rgba(0, 0, 0, 0.1); }
  .social-icon:after {
    font-family: 'fontello'; }
  .social-icon.twitter {
    background: #20b3e0; }
    .social-icon.twitter:after {
      content: '\e800'; }
  .social-icon.facebook {
    background: #3c5a94; }
    .social-icon.facebook:after {
      content: '\e802'; }
  .social-icon.linkedin {
    background: #1284b8; }
    .social-icon.linkedin:after {
      content: '\e804'; }
