@import url(http://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700,800,900);



/* GLOBAL CONFIG
//////////////////////////////////////////////////////////////////////////////////////////*/
* { transition: all 0.2s }

body, html { height: 100% }

body { 
  background: url(img/bg-header.jpg) no-repeat center top;
  font-family: "Open Sans", Sans-serif;
  font-size: 12pt;
  color: #212121 }

@media(min-width: 768px){
  body { padding-top: 120px }
}

@media(max-width: 767px){
  body { padding-top: 72px }
}

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both }



/* WIDTH PAGE
//////////////////////////////////////////////////////////////////////////////////////////*/
@media (min-width: 768px) {
  .container { 
    width: 1000px;
    padding: 0 }
}

@media (min-width: 768px) and (max-width: 949px) {
  .container { 
    width: auto;
    padding: 0 20px }
}



/* BRAND COLORS 
//////////////////////////////////////////////////////////////////////////////////////////*/
a:active,
a:focus,
a:hover,
a.link-more:active,
a.link-more:focus,
a.link-more:hover,
.btn-link:hover,
.btn-link:focus,
.btn-link:active,
h1,
ul.pagination li a:active,
ul.pagination li a:focus,
ul.pagination li a:hover { color: #001F3F }

a,
a.link-more,
.btn-link,
.btn-areaclient.open a,
h2,
.contact .contact-info strong.contact-namecompany,
ul.pagination li a { color: #002040 }

.btn-primary { background: #001F3F }

.btn-primary:active,
.btn-primary:focus,
.btn-primary:hover,
ul.pagination li.active a,
ul.pagination li.active a:hover { background: #001F3F }

.btn-primary { border-color: #3D4392 }

.btn-primary:active,
.btn-primary:focus,
.btn-primary:hover { border-color: #25B8F2 }



/* HEADER
//////////////////////////////////////////////////////////////////////////////////////////*/
header {
  position: absolute;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: 125px }

header.affix {
  box-shadow: 0 5px 10px rgba(0,0,0,0.3);
  background: url(img/bg-header.jpg) no-repeat center top;
  z-index: 1000;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom }

header .container { 
  position: relative;
  padding: 0 }

@media(max-width: 767px){
  header { height: 72px }

}


/* BRAND
//////////////////////////////////////////////////////////////////////////////////////////*/
.brand { margin: 20px  0 }

/* class mobile device */
.navbar-brand  {  
  margin-top: 5px; 
  padding: 0 } 

.navbar-brand img { height: 100% } 



/* NAVBAR
//////////////////////////////////////////////////////////////////////////////////////////*/
.navbar { 
  padding: 0;
  margin: 0 }

.navbar-nav li a { 
  font-weight: 300;
  line-height: 100% }

@media (min-width: 768px) {

  .navbar { 
    position: absolute;
    top: 45px;
    right: 0 }

  .navbar-collapse { padding: 0 }

  .navbar-nav {
    display: table;
    table-layout: auto }

  .navbar-nav > li {
    background: url(img/bg-navbar-li.png) no-repeat right center;
    display: table-cell;
    float: none;
    text-align: center }

  .navbar-nav > li:last-child { background: none }
  .navbar-nav > li:last-child a { margin-right: 0 }

  .navbar-nav li a { 
    text-transform: uppercase;
    margin-right: 2px;
    color: rgba(255,255,255,0.5);
    display: inline-block;
    border-radius: 3px;
    padding: 8px 15px;
    font-size: 87.5%  }

  .navbar-nav li.active a,
  .navbar-nav li a:active,
  .navbar-nav li a:focus,
  .navbar-nav li a:hover { 
    background:none;
    color: #FFF }

}

@media (max-width: 767px) {

  .navbar-header { padding: 10px } /* class mobile device */

  .navbar-nav { margin: 0 -15px }

  .navbar-nav li { border-bottom: 1px solid #385676 } 

  .navbar-nav > li > a {  
    text-transform: uppercase;
    line-height: 40px;
    font-size: 120%;
    color: #FFF !important;
    background: #001F3F   }

  .navbar-nav > li > a:hover,
  .navbar-nav > li > a:focus,
  .navbar-nav > li > a:active { background: #385676  }

  .navbar-nav li a .glyphicon-user { margin-top: 8px } 

  .navbar-collapse { 
    z-index: 100;
    width: 100%;
    position: absolute;
    margin-top: 1px  }

  button.navbar-toggle {
    background: #385676;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -20px;
    padding: 10px }

  button.navbar-toggle .icon-bar { 
    background: #FFF;
    height: 3px }

  button.navbar-toggle:active,
  button.navbar-toggle:focus { background: #FFF }

  button.navbar-toggle:active .icon-bar,
  button.navbar-toggle:focus .icon-bar { background: #385676 }
   
}



/* WRAPPER AND CONTAINER
//////////////////////////////////////////////////////////////////////////////////////////*/
@media(min-width: 768px){
  .wrapper {
    padding: 70px 0;
  }
}

@media(max-width: 767px){
  .wrapper {
    padding: 25px 0;
  }
}

.inner .wrapper {
  background: #FFF
}


/* HEADINGS, PARAGRAFHS, LISTS, ETC.
//////////////////////////////////////////////////////////////////////////////////////////*/
h2 {
    font-weight: 900;
    text-transform: uppercase }

@media(min-width: 768px){

  h1 { font-size: 300% }
  h2 { font-size: 220% }

  h1, h2 {
    font-weight: 300;
    letter-spacing: -2px;
    margin: 0 0 40px }

  .page-header { 
    padding: 50px 0;
    margin: 0 }
}

@media(max-width: 767px){

  h1 { font-size: 180% }
  h2 { font-size: 150% }

  h1, h2 { margin: 0 0 20px }

  h1 { letter-spacing: -1px }

  .page-header { 
    padding: 25px 0;
    margin: 13px 0 0 0 }
}

p { margin-bottom: 1.5em }

a.link-more { 
  font-size: 87.5%;
  text-transform: uppercase }

.page-header { 
  background: rgba(255,255,255,0.1);
  border-bottom: 0 }

.page-header h1 { 
  font-weight: 300;
  text-transform: uppercase;
  margin: 0;
  line-height: 100%;
  letter-spacing: -1px;
  color: #FFF }

.page-header a.link-back {
  display: none;
  padding: 5px 10px;
  border: 2px solid rgba(255,255,255,0.3);
  border-radius: 5px;
  text-decoration: none;
  color: rgba(255,255,255,0.3) }

.page-header a.link-back:hover, 
.page-header a.link-back:active, 
.page-header a.link-back:focus { 
  border-color: #FFF;
  color: #FFF }

.page-header a.link-back:hover .hidden { display: inline !important } 

.btn { 
  text-transform: uppercase;
  font-weight: 800 }

.btn-link { font-weight: 900 }

ul.list-unstyled { margin-bottom: 0 }

nav ul.pagination li.active a,
nav ul.pagination li.active a:hover { border-color: rgba(0,0,0,0.1) }

label {
  font-size: 80%;
  font-weight: normal;
  text-transform: uppercase;
}

.form-control {
  height: 36px;
  box-shadow: inset 1px 1px 2px rgba(0,0,0,0.3)
}


/* CAROUSEL-SLIDESHOW
//////////////////////////////////////////////////////////////////////////////////////////*/
.carousel-slideshow {
  background: url(img/carousel-shadow.png) no-repeat center bottom;
  padding-bottom: 28px  }

.carousel-slideshow .carousel-inner .item img { 
  border-radius: 10px;
  object-fit: cover }

.carousel-slideshow .carousel-indicators { bottom: -25px }

.carousel-slideshow .carousel-indicators li, 
.carousel-slideshow .carousel-indicators li.active {
  width: 10px;
  height: 10px;
  border: 0;
  margin: 0 }

.carousel-slideshow .carousel-indicators li { background: #B1BAC4 }
.carousel-slideshow .carousel-indicators li.active { background: #002040 }

.carousel-control.left,
.carousel-control.right {
  background: none;
  width: 20%;
  z-index: 30;
  background-repeat: no-repeat;
  background-position: center center }

.carousel-fade .carousel-inner .item {
  -webkit-transition-property: opacity;
          transition-property: opacity }

.carousel-fade .carousel-inner .item,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right { opacity: 0 }

.carousel-fade .carousel-inner .active,
.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right { opacity: 1 }

.carousel-fade .carousel-inner .next,
.carousel-fade .carousel-inner .prev,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  left: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0) }

@media (min-width: 768px) {
  .carousel-slideshow .item,
  .carousel-slideshow .item img { height: 400px }
}
  
@media (max-width: 767px) {
  .carousel-slideshow .carousel-inner .item img { height: 350px }  
}



/* ABOUT
//////////////////////////////////////////////////////////////////////////////////////////*/
.home .about p { font-size: 87.5%  }

.member-group,
.machinery-group { background: #EEE !important }

.member-group-item { margin-bottom: 30px }
.machinery-group-item { margin-bottom: 50px }

.member-group .member-img,
.member-group .member-function,
.machinery-group .machinery-img { margin-bottom: 10px }

.member-group .member-img img { 
  width: 200px;
  height: 200px;
  object-fit: cover }

.member-group .member-name,
.machinery-group .machinery-name { font-weight: 700 }

.member-group .member-name { font-size: 120% }

.member-group .member-description,
.machinery-group .machinery-description {
  color: #888;
  font-size: 80% }

@media(min-width: 768px){
  .machinery-group { margin-top: -140px }
}


@media(max-width: 767px){
  .home .about { background: #FFF }
  .machinery-group { margin-top: -50px }

  .inner .about .about-img,
  .member-group .member-group-item,
  .machinery-group .machinery-group-item { margin-bottom: 25px }
}



/* GROUP ITEM 
//////////////////////////////////////////////////////////////////////////////////////////*/
.group-item { 
  position: relative }

.group .group-item .item-img {
  position: absolute;
  left: 0; 
  top: 0 }

.group .group-item .item-title { 
  font-size: 87.5%;
  margin-bottom: 5px }

.group .item-title a { color: #111 }

.group .group-item .item-summary {
  line-height: 150%;
  font-size: 80% }

@media(min-width: 768px){

  .group .row > div { 
    min-height: 90px;
    margin-bottom: 20px }

  .group .row > div:nth-last-child(1),
  .group .row > div:nth-last-child(2) { margin-bottom: 0 }

  .group-item { 
    margin-bottom: 20px;
    min-height: 105px;
    padding-left: 115px }
  
  .group .item-img img { 
    width: 90px; 
    height: 90px;
    object-fit: cover }

}

@media(max-width: 767px){

  .group .row > div { 
    min-height: 80px;
    margin-bottom: 20px }

  .group .row > div:last-child { margin-bottom: 0 }

  .group .group-item { padding-left: 95px }

  .group .group-item .item-img img { 
    width: 80px;
    height: 80px;
    object-fit: cover }

}

@media(max-width: 479px){

  .group .group-item a.link-more { display: none }

}



/* INNER SECTION
//////////////////////////////////////////////////////////////////////////////////////////*/
.detail-text p,
.static-text p { line-height: 150% }

.detail h2.detail-title { text-transform: inherit }

.detail .detail-img-principal { margin-bottom: 15px }

ul.thumb-group { 
  font-size: 0;
  padding: 0  }

ul.thumb-group li.thumb-item { 
  width: 25%;
  display: inline-block;
  padding: 0 }

ul.thumb-group li.thumb-item img {
  width: 100%;
  height: 200px;
  object-fit: cover }

.inner .group { background: #EEE }

@media(min-width: 768px){
  .detail .detail-img { margin-bottom: 10px }
}

@media(max-width: 767px){
  .static-img { margin: -25px -15px 25px -15px }

  .detail .detail-img { margin: 0 -15px 25px -15px }
}




/* SERVICE-GROUP
//////////////////////////////////////////////////////////////////////////////////////////*/
.service-group { 
  text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
  color: #FFF;
  background: #022241 url(img/bg-service.jpg) no-repeat center center !important;
  background-size: cover !important }

.service-group h2 { color: #FFF }

.service-group .group-item .item-title { 
  text-transform: uppercase;
  font-weight: 900;
  font-size: 150% }

.service-group .group-item a { color: #FFF }

.service-group .group-item .item-summary {
  margin-bottom: 5px; 
  color: rgba(255,255,255,0.6) }

.service-group a.link-more { 
  color: #FFF;
  font-weight: 300 }

@media(max-width: 767px){

  .service-group .group-item .item-title { 
    font-weight: 900;
    font-size: 100% }
}

.service-text { margin-bottom: 70px }

.service-group .thumbs-home { margin-bottom: 20px }

.service-group .thumbs-home img {
  width: 16.66666%;
  height: 120px;
  margin-left: -4px;
  display: inline;
  object-fit: cover;
}


/* EXPERIENCE-GROUP
//////////////////////////////////////////////////////////////////////////////////////////*/
.experience-group .group-item  { padding-left: 0 }

.experience-group .item-title {
  text-align: center;
  margin-top: 10px; 
  text-transform: uppercase;
  font-weight: 700 }

.experience-group .group-item a { color: #001F3F }

.experience-group .group-item .item-summary { margin-bottom: 5px}

@media(max-width: 767px){
  .experience-group .row > div {
    min-height: auto
  }
  .experience-group .group-item .item-title { 
    font-weight: 900;
    font-size: 100% }
}



/* CONTACT HOME 
//////////////////////////////////////////////////////////////////////////////////////////*/
.contact { 
  color: #FFF;
  background: #000 url(img/bg-contact.jpg) no-repeat center right !important;
  background-size: cover !important }

.contact h2 { 
  margin-bottom: 20px;
  color: #FFF }

.contact .btn-link { color: #FFF }

form .input-group-addon { 
  color: #BBB;
  background: #FFF;
  border: 1px solid #DDD;
  border-right: 0 }

form .form-control {
  color: #666;
  border: 1px solid #DDD !important;
  box-shadow: none !important;
  padding-left: 0;
  border-left: 0 !important;
  min-height: 40px }

form textarea.form-control { 
  resize: none; 
  padding-top: 10px }

form .input-group-addon { vertical-align: top }

form .input-group-addon .glyphicon { 
  color: #999;
  top: 7px }

form .row > div > div { margin-bottom: 10px !important }




/* FOOTER
//////////////////////////////////////////////////////////////////////////////////////////*/
footer { position: relative }

footer .footer-copyright { margin-bottom: 30px }

footer .footer-copyright strong { font-weight: 900 }
  
footer a.brand-flexpoint {
  display: inline-block;
  text-indent: -1000000px;
  background: url(img/brand-flexpoint.png) center;
  width: 25px;
  height: 27px } 
  
footer a.brand-flexpoint:hover {
  background: url(img/brand-flexpoint.png) bottom } 

@media(min-width: 768px){
  footer { padding: 40px 0 }
}

@media(max-width: 767px){
  footer { 
    padding: 20px 42px 20px 0 }

  footer a.brand-flexpoint {
    position: absolute;
    top: 25px;
    right: 15px;
  }
}

input.error,
textarea.error,
select.error { background: #FFDFDF url(img/ico-required.png) no-repeat right 13px }