/* ========================================================================
  Component: GLOBAL
 ========================================================================== */
html { font-size: 1em; line-height: 1.4; }
html, body { height: 100%; }
body { overflow-x: hidden; }

/* Internet Explorer 10 in Windows 8 and Windows Phone 8 Bug fix */
@-webkit-viewport { width: device-width; }
@-moz-viewport { width: device-width; }
@-ms-viewport { width: device-width; }
@-o-viewport { width: device-width; }
@viewport { width: device-width; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
li { list-style: none; }
audio, canvas, iframe, img, svg, video { vertical-align: middle; }
fieldset { border: 0; margin: 0; padding: 0; }
textarea { resize: vertical; }
a:hover { text-decoration: none; }
ul { padding: 0; margin: 0; }
h1, h2, h3, h4, h5, h6 { margin: 0; }

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */
.browserupgrade { margin: 0.2em 0; background: #ccc; color: #000; padding: 0.2em 0; }
::-moz-selection { background: #00573D; color: #fff; text-shadow: none; }
::selection { background: #00573D; color: #fff; text-shadow: none; }

/* ==========================================================================
   Helper classes
   ========================================================================== */

.main-bg { background: #00573D; }
.main-color { color: #00573D; }
.white-color { color: #fff; }
.button { padding: 20px 60px; border-radius: 4px; font-size: 16px; font-weight: bold; display: inline-block; color: #fff; text-shadow: none; }
.button:hover { cursor: pointer; color: #fff; }
.button.light { padding: 19px 59px; }
.line { width: 80px; height: 2px; margin-top: 15px; }
.button.light { border: 2px solid #eeeeee; }
.padding-large { padding-top: 90px; padding-bottom: 90px; }
.padding-top-large { padding-top: 90px; }
.padding-bottom-large { padding-bottom: 90px; }
.margin-top-large { margin-top: 90px; }
.margin-bottom-large { margin-bottom: 90px; }
.margin-top-medium { margin-top: 40px; }
.margin-bottom-medium { margin-bottom: 40px; }
.margin-bottom-small { margin-bottom: 25px; }
.margin-right-small { margin-right: 15px; }
.margin-left-small { margin-left: 15px; }
.mat-none { margin-top: 0; }
.mab-none { margin-bottom: 0; }
.mar-none { margin-right: 0; }
.mal-none { margin-left: 0; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }

/* ========================================================================
   Modal Helpers
   ======================================================================== */
.modal .modal-content { box-shadow: none; border-radius: 0; border: 0; position: relative; }
.modal .close { margin: 0; position: absolute; right: 0; top: 0; background: #333; opacity: 1; height: 40px; width: 40px; color: #FFF; font-size: 28px; line-height: 45px; outline: none; z-index: 10; }
.modal .close span { outline: none; }
.modal .modal-body { padding: 40px 60px; }
.modal input { height: 50px; }
.modal input, .modal textarea { padding: 10px 20px; border-radius: 0; font-size: 18px; }
.modal input:focus, .modal textarea:focus { border-color: #00573D; box-shadow: none; }
.modal textarea { resize: none; }
.modal .button { width: 100%; border-radius: 0; padding: 15px 60px; }

/* ========================================================================
 Component: Fullscreen menu
 ========================================================================== */
.top-animate { background: #fff !important; top: 13px !important; -webkit-transform: rotate(45deg);  /* Chrome, Safari, Opera */ transform: rotate(45deg); }
.mid-animate { opacity: 0; }
.bottom-animate { background: #fff !important; top: 13px !important; -webkit-transform: rotate(-225deg);  /* Chrome, Safari, Opera */ transform: rotate(-225deg); }
.top-menu, .mid-menu, .bottom-menu { width: 28px; height: 4px; border-radius: 10px; background-color: #fff; }
.top-menu { top: 5px; }
.mid-menu { top: 13px; }
.bottom-menu { top: 21px; }
.menui { background: #FFFFFF; transition: 0.6s ease; transition-timing-function: cubic-bezier(0.75, 0, 0.29, 1.01); margin-top: 10px; position: absolute; }
.menu-trigger { z-index: 999; position: fixed; display: block; padding: 9px; height: 32px; width: 32px; margin: 0px; top: 45px; right: 115px; }
.mobilenav { font-family: inherit; top: 0; left: 0; z-index: 999; display: none; position: fixed; width: 100%; height: 100%; background: rgba(0, 87, 61, 0.9); text-transform: uppercase; }
.mobilenav li { list-style-type: none; text-align: center; padding: 10px; font-size: 220%; color: #fff; text-decoration: none; font-weight: 300; width: 100%; }
.mobilenav li:last-child span { border-bottom: none; }
.mobilenav li:hover { cursor: pointer; }
.nav-label { border-bottom: 1px solid #fff; padding-bottom: 10px; display: block; width: 350px; margin: 0 auto; }
.mobilenav li:first-child { margin-top: 60px; }

/* ========================================================================
 Hover animation by hover.css http://ianlunn.github.io/Hover/
 ========================================================================== */
@-webkit-keyframes hvr-pulse {
  25% { -webkit-transform: scale(1.1); transform: scale(1.1); }
  75% { -webkit-transform: scale(0.9); transform: scale(0.9); }
}
@keyframes hvr-pulse {
  25% { -webkit-transform: scale(1.1); transform: scale(1.1); }
  75% { -webkit-transform: scale(0.9); transform: scale(0.9); }
}
.hvr-pulse { display: inline-block; vertical-align: middle; -webkit-transform: translateZ(0); transform: translateZ(0); box-shadow: 0 0 1px rgba(0, 0, 0, 0); -webkit-backface-visibility: hidden; backface-visibility: hidden; -moz-osx-font-smoothing: grayscale; }
.hvr-pulse:hover, .hvr-pulse:focus, .hvr-pulse:active { -webkit-animation-name: hvr-pulse; animation-name: hvr-pulse; -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-timing-function: linear; animation-timing-function: linear; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; }

/* Rectangle Out */
.hvr-rectangle-out { display: inline-block; vertical-align: middle; -webkit-transform: translateZ(0); transform: translateZ(0); box-shadow: 0 0 1px rgba(0, 0, 0, 0); -webkit-backface-visibility: hidden; backface-visibility: hidden; -moz-osx-font-smoothing: grayscale; position: relative; -webkit-transition-property: color; transition-property: color; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; }
.hvr-rectangle-out:before { content: ""; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 87, 61, 0.9); -webkit-transform: scale(0); transform: scale(0); -webkit-transition-property: transform; transition-property: transform; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; }
.hvr-rectangle-out:hover, .hvr-rectangle-out:focus, .hvr-rectangle-out:active { color: white; }
.hvr-rectangle-out:hover:before, .hvr-rectangle-out:focus:before, .hvr-rectangle-out:active:before { -webkit-transform: scale(1); transform: scale(1); }

/* Grow */
.hvr-grow { display: inline-block; vertical-align: middle; -webkit-transform: translateZ(0); transform: translateZ(0); box-shadow: 0 0 1px rgba(0, 0, 0, 0); -webkit-backface-visibility: hidden; backface-visibility: hidden; -moz-osx-font-smoothing: grayscale; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-property: transform; transition-property: transform; }
.hvr-grow:hover, .hvr-grow:focus, .hvr-grow:active { -webkit-transform: scale(1.1); transform: scale(1.1); }

/* General button style (reset) */
.portfolio-wrapper .button { padding: 20px 60px; display: inline-block; text-transform: uppercase; letter-spacing: 1px; font-weight: 700; outline: none; position: relative; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; border: 3px solid #fff; color: #fff; overflow: hidden; }
.portfolio-wrapper .button:after { content: ''; position: absolute; z-index: -1; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; border: 3px solid #fff; color: #fff; width: 100%; height: 0; top: 50%; left: 50%; background: #fff; opacity: 0; -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg); -moz-transform: translateX(-50%) translateY(-50%) rotate(45deg); -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg); transform: translateX(-50%) translateY(-50%) rotate(45deg); }
.portfolio-wrapper .button:hover, .button:active { color: #00573D; }
.portfolio-wrapper .button:hover:after { height: 260%; opacity: 1; }
.portfolio-wrapper .button:active:after { height: 400%; opacity: 1; }

/* ========================================================================
  Component: Header
 ========================================================================== */
header { position: relative; }
header .overlay { position: absolute; top: 0; left: 0; height: 100%; width: 100%; background: url(../img/slider-overlay.png) repeat; opacity: 0.3; }
header .carousel, header .item, header .active { height: 100%; }
.carousel-inner { min-height: 500px; height: 100%; }
.fill { width: 100%; height: 100%; background-position: center; -webkit-background-size: cover; -moz-background-size: cover; background-size: cover; -o-background-size: cover; }
.carousel-indicators li { width: 40px; height: 4px; border: none; border-radius: 0; background: #fff; }
.carousel-indicators .active { width: 40px; height: 5px; background: #00573D; }
.carousel-caption { top: 25%; }
.carousel-caption h1 { font-size: 48px; text-transform: uppercase; font-weight: normal; }
.carousel-control.left, .carousel-control.right { background: none; }
.icon-prev, .icon-next { font-size: 60px !important; }
header .logo-container { background-color: #ffffff; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; left: 80px; opacity: 0.8; padding: 30px 20px 20px 20px; position: absolute; top: 0; z-index: 10;  /* position: absolute;
    top: 52px;
    left: 93px;
    z-index: 10; */ }
header .logo-container img {
  opacity: 1 !important;
}
  /*
  header .logo-container img {
    box-shadow: 0px 0px 4px 0px #F0F0F0;
  }
  */

  /* ========================================================================
    Component: Call To ACTION
   ========================================================================== */
  .call-to-action { padding: 15px; color: #eeeeee; font-size: 18px; position: relative; }
  .call-to-action p { margin: 20px; }

  /* ========================================================================
    Component: Inspiration Book
   ========================================================================== */
  .inspiration-book { background: url("../img/inspiration-bkgrd.jpg") no-repeat center fixed; background-size: cover; position: relative; }
  .inspiration-book .overlay { background: rgba(238, 238, 238, 0.93); }

  /* ========================================================================
    Component: About Us
   ========================================================================== */

  /*
  .products {
    background: url("../img/products-bg.jpg") no-repeat center fixed;
    background-size: cover;
    position: relative;
  }
  .products .overlay {
    background: rgba(238, 238, 238, 0.95);
  }
  */
  .products .jumbo-text { text-transform: uppercase; color: #272727; font-size: 40px; }
  .products p { color: #484848; line-height: 24px; }
  .products-logo { margin-top: -50px; }
  .panel { background: none; border: none; box-shadow: none; }
  .panel-default > .panel-heading { background: #00573D; color: #f3eff0; cursor: pointer; border-radius: 3px; box-shadow: 1px 1px 1px #d7d7d7, -1px -1px 1px #d7d7d7; }
  .panel-heading { padding: 0; }
  .panel-title > a { text-decoration: none; display: block; width: 100%; padding: 10px 15px; }
  .collapsed { background: #ededed !important; color: #222; }
  .collapsed strong, .collapsed .state { color: #222222; }
  .state { font-size: 18px; line-height: 18px; }

  /* ========================================================================
    Component: Case Study
   ========================================================================== */
  .case-study .col-md-6 { padding: 0; cursor: pointer; color: #fff; transition: background .5s; }
  .case-study-left .overlay { padding-left: 200px; padding-right: 50px; transition: background .5s; }
  .case-study-right .overlay { padding-right: 200px; padding-left: 50px; transition: background .5s; }
  .case-study .case-study-left { background: url("../img/case-study/bf-left_v2.jpg") no-repeat; background-size: cover; }
  .case-study .case-study-right { background: url("../img/case-study/bf-right_v2.jpg") no-repeat; background-size: cover; }

  .case-study .case-study-right-sakrete { background: url("../img/case-study/Sakrete.jpg") no-repeat; background-size: cover; }
  .case-study .case-study-left-amerimix { background: url("../img/case-study/AMERIMIX.jpg") no-repeat; background-size: cover; }
  .case-study-left-amerimix .overlay { padding-left: 200px; padding-right: 50px; transition: background .5s; }
  .case-study-right-sakrete .overlay { padding-right: 200px; padding-left: 50px; transition: background .5s; }
  
  .case-study .overlay:hover { width: 100%; background: rgba(0, 87, 61, 0.9); }
  .case-study h3 { text-shadow: 1px 1px 1px #444; font-size: 28px; font-weight: bold; }

  /* ========================================================================
    Component: More Info
   ========================================================================== */
  .more-info { background: #eee; }
  .more-info .info-item {  /*border: 1px solid #00573D;*/
  width: 440px; height: 120px; overflow: hidden; }
  .more-info .info-item:hover > .info-overlay { margin-top: -15px; transition: all .85s; }
  .more-info .info-item a { background-color: #00573D; margin-top: 26px; text-align: center; }
  .more-info .info-item a.button.light { border: 2px solid #fff; }
  .more-info .info-overlay { margin-top: 0px; width: 440px; color: #fff; margin-left: -2px; position: relative; }
  .more-info .info-overlay .info { height: 40px; padding: 100px 20px 20px 20px; background: rgba(0, 87, 61, 0.9); }
  .more-info .info-overlay .learn-more { height: 60px; line-height: 60px; width: 100%; text-align: center; background: #2980b9; position: relative; cursor: pointer; }
  .more-info .description .member-skill { display: inline-block; }

  /* ========================================================================
    Component: Portfolio
   ========================================================================== */
  .portfolio .line { margin: 15px auto 45px; }
  .portfolio .subtitle { font-size: 20px; }
  .portfolio p { color: #6b6b6b; font-size: 14px; margin-top: 10px; }
  .portfolio .filters { color: #9e9e9e; }
  .portfolio .filters li { display: inline; }
  .portfolio .filters li a { margin: 0 5px; color: #9e9e9e; }
  .portfolio .filters .active { color: #00573D; text-decoration: none; }
  .portfolio .portfolio-item { width: 25%; overflow: hidden; padding: 0; margin: 0; }
  .portfolio .portfolio-item a { position: relative; display: block; color: #fff; }
  .portfolio .portfolio-item a .portfolio-overlay { position: absolute; width: 100%; height: 100%; top: 0; left: 0; display: block; z-index: 4; opacity: 0; transition: all 0.3s ease-in-out; padding: 125px 20px; }
  .portfolio .portfolio-item a img { width: 100%; transition: all 1.2s linear; }
  .portfolio .portfolio-item a:hover > .portfolio-overlay { opacity: 1; }
  .portfolio .portfolio-item a:hover > img { transform: scale(1.2); }
  .portfolio > .button { border-color: #333; font-weight: normal; color: #333; position: relative; z-index: 10; }
  .portfolio > .button i { font-size: 22px; }
  .filters li a:after { content: "/"; margin-left: 10px; color: #9e9e9e; }
  .filters li:last-child > a:after { content: ""; }

  /* ========================================================================
    Component: Promote
   ========================================================================== */
  .promote { padding: 25px; color: #eeeeee; font-size: 18px; position: relative; }
  .promote p { margin: 20px; }
  .promote .button { display: inline-block; }
  .promote .deep { background: #2980b9; }
  .promote .location, .promote .download { color: #333; }
  .promote .description { padding: 40px 0; }
  .promote .description h3 { padding-bottom: 20px; text-transform: uppercase; }
  .promote .description .about { font-size: 14px; }
  .promote .description blockquote img { margin-bottom: 15px; }

  /* ========================================================================
    Component: Contact
   ========================================================================== */

  /* ========================================================================
    Component: Footer
   ========================================================================== */
  .footer p { color: #bababa; font-size: 16px; }
  .footer-logo { margin: 0 auto; }
  .footer li { display: inline-block; margin: 0 5px; height: 50px; width: 50px; line-height: 50px; border-radius: 50%; border: 2px solid #e5e5e5; background: #fff; transition: all .4s; }
  .footer li:hover { cursor: pointer; }
  .footer li a { color: #e5e5e5; }
  .footer .social i { font-size: 22px; transition: all .4s; }
  .footer .facebook:hover { border-color: #3b5998; }
  .footer .facebook:hover > a i { color: #3b5998; }
  .footer .twitter:hover { border-color: #00aced; }
  .footer .twitter:hover > a i { color: #00aced; }
  .footer .g-plus:hover { border-color: #dd4b39; }
  .footer .g-plus:hover > a i { color: #dd4b39; }
  .footer .linkedin:hover { border-color: #007bb6; }
  .footer .linkedin:hover > a i { color: #007bb6; }
  .footer .youtube:hover { border-color: #bb0000; }
  .footer .youtube:hover > a i { color: #bb0000; }
  .footer .instagram:hover { border-color: #517fa4; }
  .footer .instagram:hover > a i { color: #517fa4; }
  .footer .behance:hover { border-color: #1769ff; }
  .footer .behance:hover > a i { color: #1769ff; }
  .footer .dribbble:hover { border-color: #ea4c89; }
  .footer .dribbble:hover > a i { color: #ea4c89; }
  .back-to-top { position: fixed; right: 20px; bottom: 20px; z-index: 100; background: #00573D; cursor: pointer; width: 60px; height: 60px; line-height: 60px; text-align: center; border-radius: 4px; color: #fff; -webkit-animation: pulse 1s linear 0s infinite alternate; -moz-animation: pulse 1s linear 0s infinite alternate; -o-animation: pulse 1s linear 0s infinite alternate; animation: pulse 1s linear 0s infinite alternate; }
  @-webkit-keyframes pulse {
    from { -webkit-transform: scale3d(1, 1, 1); }
    to { -webkit-transform: scale3d(1.1, 1.1, 1.1); }
  }
  @-moz-keyframes pulse {
    from { -moz-transform: scale3d(1, 1, 1); }
    to { -moz-transform: scale3d(1.1, 1.1, 1.1); }
  }
  @keyframes pulse {
    from { transform: scale3d(1, 1, 1); }
    to { transform: scale3d(1.1, 1.1, 1.1); }
  }