/* ======================================================================== Global Styles === */

html, body {
 background-image: url("../img/bg.png");
}
.text {
 padding: 18px;
}
.text p {
 margin-bottom: 15px;
 line-height: 1.6em;
 font-size: 0.94em;
 color: #333;
}
.text p:last-of-type {
 margin-bottom: 0px;
}

a.button {
 display: inline-block;
 padding: 10px 30px;
 color: #666;
 border: 1px solid #e0e0e0;
 text-decoration: none;
 font-size: 0.9em;
 text-align: center;
 background: rgb(255,255,255);
 background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(241,241,241,1) 100%);
 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(241,241,241,1)));
 background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%);
 background: -o-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%);
 background: -ms-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%);
 background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f1f1f1',GradientType=0 );
}
a.button.full {
 display: block;
}
a.button:hover {
 color: #222;
 background: rgb(241,241,241);
 background: -moz-linear-gradient(top,  rgba(241,241,241,1) 0%, rgba(255,255,255,1) 100%);
 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(241,241,241,1)), color-stop(100%,rgba(255,255,255,1)));
 background: -webkit-linear-gradient(top,  rgba(241,241,241,1) 0%,rgba(255,255,255,1) 100%);
 background: -o-linear-gradient(top,  rgba(241,241,241,1) 0%,rgba(255,255,255,1) 100%);
 background: -ms-linear-gradient(top,  rgba(241,241,241,1) 0%,rgba(255,255,255,1) 100%);
 background: linear-gradient(to bottom,  rgba(241,241,241,1) 0%,rgba(255,255,255,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f1f1f1', endColorstr='#ffffff',GradientType=0 );
}

.content {
 background-color: #fff;
 box-shadow: -5px 0px 20px -5px #999, 5px 0px 20px -5px #999;
}

/* ======================================================================== Bar === */

#bar {
 background-color: #333333;
 padding: 10px 18px;
}
#bar p {
 text-align: right;
 color: #fff;
 font-size: 0.8em;
 display: inline-block;
 float: right;
 vertical-align: middle;
}
#bar p a {
 text-decoration: none;
 color: #fff;
 margin-left: 20px;
}

a.language {
 display: inline-block;
 text-decoration: none;
 padding:  0 10px;
}
a.language img {
 height: 24px;
 vertical-align: middle;
}

a.language span {
 color: #fff;
 text-align: center;
 vertical-align: middle;
 padding: 0 20px;
}

a.language b {
 font-weight: 400;
 font-size: 13px;
}

/* ======================================================================== Top === */

#top .logo img {
 max-width: 100%;
 display: block;
 margin: 15px auto 0px;
}
#top .tag p {
 text-align: right;
 font-family: 'Roboto', sans-serif;
 font-weight: 900;
 color: #d2d2d2;
 font-size: 1.8em;
 margin: 40px 0px 30px;
}
#top .tag p span {
 color: #231f20;
 font-family: 'Roboto', sans-serif;
 font-weight: 900;
}
#top .b12.text {
 padding-bottom: 0px;
}

/* ======================================================================== Nav === */

nav {
 padding: 0px 20px;
}
.mobile-menu {
 display: none;
}
nav ul {
 float: right;
}
nav ul li {
 float: left;
 position: relative;
}
nav ul li a {
 display: block;
 padding: 10px 20px;
 text-decoration: none;
 color: #666666;
 border-left: 1px solid #ccc;
 font-size: 0.9em;
}
nav ul li:last-child a {
 border-right: 1px solid #ccc;
}
nav ul li.active a, nav ul li a:hover {
 color: #87e053;
}
nav ul li.active:after {
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 6px 5px 0 5px;
 border-color: #ffffff transparent transparent transparent;
 content: " ";
 display: block;
 position: absolute;
 left: 50%;
 margin-left: -5px;
}

/* ======================================================================== Gallery === */

#gallery {
 background-repeat: no-repeat;
 background-size: cover;
 background-position: center bottom;
 position: relative;
}
#gallery.home {
 background-image: url("../img/header/home.jpg");
}
#gallery.company {
 background-image: url("../img/bg-dark.jpg");
 background-repeat: repeat;
 background-size: auto;
}
#gallery.prod {
 background-image: url("../img/bg-dark.jpg");
 background-repeat: repeat;
 background-size: auto;
}

#gallery .text {
 margin: 70px 20px;
 color: #fff;
 text-shadow: 1px 1px 2px #000;
}
#gallery h1 {
 font-size: 2em;
 font-weight: 900;
}
#gallery p.sub {
 margin-bottom: 5px;
 color: #87e053;
 font-weight: 400;
 font-size: 1.2em;
}
#gallery p {
 color: #fff;
}

#gallery.company .text {
 margin: 30px 0px;
}
#gallery.company .text p {
 font-family: 'Roboto Condensed', sans-serif;
 font-size: 1.4em;
 font-weight: 300;
}
#gallery.company .text p span {
 font-family: 'Roboto Condensed', sans-serif;
 font-weight: 300;
 color: #87e053;
}

#gallery .float {
 position: relative;
}
#gallery .float img {
 display: block;
 width: 100%;
 position: absolute;
 z-index: 10000;
 top: -48px;
 left: 0;
 -webkit-transition: all 0.2s;
 -moz-transition: all 0.2s;
 transition: all 0.2s;
}
#gallery .float img:hover {
 -webkit-transform: scale(1.05);
 -moz-transform: scale(1.05);
 transform: scale(1.05);
}

#gallery.prod .text {
 margin: 0px;
}
#gallery.prod .b9.text {
 margin: 20px 0px;
}
#gallery.prod .text h1 {
 margin-bottom: 10px;
}
#gallery.prod .b7 {
 padding-top: 10px;
}
#gallery.prod img {
 display: block;
 max-width: 100%;
 margin: 0px auto;
 -webkit-transition: all 0.2s;
 -moz-transition: all 0.2s;
 transition: all 0.2s;
}
#gallery.prod img:hover {
 -webkit-transform: scale(1.05);
 -moz-transform: scale(1.05);
 transform: scale(1.05);
}

#gallery .courtesy {
 position: absolute;
 right: 20px;
 bottom: 20px;
 font-size: 0.8em;
}

/* ======================================================================== Main === */
#main.float-top > .side {
 padding-top: 30px;
}
#main.float-top > .b12 {
 padding-top: 20px;
}

#main h1, #main h2, #main h3 {
 font-size: 1.2em;
 margin-bottom: 15px;
}
#main ul.links li {
 margin-bottom: 5px;
}
#main ul.links li a {
 display: block;
 text-decoration: none;
 color: #333;
 padding: 5px 0px 5px 15px;
 background-image: url("../img/link-arrow.png");
 background-repeat: no-repeat;
 background-position: left center;
 font-weight: 600;
 font-size: 0.9em;
 -webkit-transition: all 0.2s;
 -moz-transition: all 0.2s;
 transition: all 0.2s;
}
#main ul.links li a:hover {
 padding-left: 20px;
 color: #87e053;
}

#main .product {
 border: 1px solid #ccc;
 background: rgb(255,255,255);
 background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(236,236,236,1) 100%);
 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(236,236,236,1)));
 background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(236,236,236,1) 100%);
 background: -o-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(236,236,236,1) 100%);
 background: -ms-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(236,236,236,1) 100%);
 background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(236,236,236,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ececec',GradientType=0 );
}
#main .product h3 {
 margin-bottom: 0px;
}
#main .product p {
 color: #666;
}
#main .product p b {
 color: #333;
}
#main .product img {
 max-width: 100%;
 display: block;
 margin: 10px 0px 20px;
}
#main ul.tick li {
 margin-bottom: 5px;
 font-size: 0.9em;
 padding: 0px 0px 10px 25px;
 background-image: url("../img/list-tick.png");
 background-repeat: no-repeat;
 background-position: left top 3px;
}
#main .product ul.tick li:last-child {
 background-image: none;
 padding-left: 5px;
}
#main ul.tick li:last-child {
 margin-bottom: 0px;
}
#main ul.tick li a {
 text-decoration: none;
 color: #333;
}
#main ul.tick li a:hover {
 color: #87e053;
}


.side {
 background-color: #f0f0f0;
}
.side .mission {
 margin: 10px 0px 20px;
}
.side .mission p {
 font-size: 1.4em;
 font-weight: 300;
 font-family: 'Roboto Condensed', sans-serif;
}
.side .mission p span {
 font-size: 1.2em;
 font-weight: 300;
 font-family: 'Roboto Condensed', sans-serif;
 color: #333;
}
.side .latest h4 {
 font-weight: 900;
 color: #87e053;
 font-size: 1.2em;
}
.side .latest > span {
 display: block;
 margin-top: 15px;
 line-height: 1.5em;
 font-size: 0.9em;
 text-decoration: none;
 padding-left: 10px;
 border-left: 2px solid #87e053;
 color: #333;
}
.side .latest > span span {
 display: block;
 font-weight: 600;
}
.side .latest > span:hover {
 background-color: #fff;
}

.home #main .third.text p {
 margin-bottom: 20px;
}

/* ======================================================================== Company === */

.company .profile {
 padding: 20px;
 background-color: #e9e9e9;
}
.company .profile img {
 display: block;
 max-width: 100%;
 margin: 0px auto 10px;
}
.company .profile p {
 margin-bottom: 0px;
 font-size: 0.9em;
}
.company .profile a {
 font-size: 0.8em;
 text-decoration: none;
 color: #333;
}
.company .profile a:hover {
 color: #87e053;
}
.company .profile p:nth-of-type(1) {
 font-size: 1.2em;
}
.company .profile p:nth-of-type(2) {
 font-weight: 600;
 font-size: 1em;
}
.company .profile p:nth-of-type(3) {
 color: #888;
 margin-bottom: 10px;
}

/* ======================================================================== Products === */

.products {
 border-bottom: 1px dashed #ccc;
}
.products:last-of-type {
 border-bottom: none;
}
.products img {
 display: block;
 max-width: 100%;
 margin: 0px auto;
 -webkit-transition: all 0.2s;
 -moz-transition: all 0.2s;
 transition: all 0.2s;
}
.products img:hover {
 -webkit-transform: scale(1.05);
 -moz-transform: scale(1.05);
 transform: scale(1.05);
}
.products .text p {
 margin-bottom: 10px;
}

.breadcrumb {
 padding: 0px 20px;
}
.breadcrumb p {
 color: #666;
 font-size: 0.9em;
}
.breadcrumb p a {
 display: inline-block;
 color: #333;
 text-decoration: none;
}
.breadcrumb p a:hover {
 color: #87e053;
}

#main .prod ul.tick {
 margin-bottom: 15px;
}
#main .prod ul.tick li {
 margin-bottom: 0px;
 line-height: 1.5em;
}
#main ul.pager li {
 width: 25%;
 float: left;
 padding: 5px;
 -moz-box-sizing: border-box;
 box-sizing: border-box;
}
#main ul.pager li img {
 margin: 0px;
}
#main ul.pager li a.active img {
 opacity: 0.6;
}

#main ul.data li {
 width: 50%;
 float: left;
 margin-bottom: 5px;
}
#main ul.data li a {
 display: block;
 padding: 7px 5px 7px 30px;;
 text-decoration: none;
 color: #333;
 background-image: url("../img/pdf-icon.png");
 background-repeat: no-repeat;
 background-position: left center;
 font-size: 0.9em;
}
#main ul.data li a:hover {
 color: #87e053;
}

#main .software {
 margin-bottom: 20px;
}
#main .software ul.data li {
 width: 100%;
}
#main .software ul.data li a {
 background-image: url("../img/zip-icon.png");
}

.end.line {
 border-top: 1px dashed #999;
 visibility: visible;
 margin: 10px 0px;
}

/* ======================================================================== Associates === */

#main .associates img {
 display: block;
 margin: 0px 0px 10px;
 max-width: 100%;
}
#main .associates h1 {
 margin-bottom: 10px;
}
#main .associates span.country {
 display: block;
 margin-bottom: 10px;
 color: #777;
 font-size: 0.9em;
 line-height: 1.5em;
}
#main .associates ul li {
 line-height: 1.5em;
 font-size: 0.95em;
}
#main .associates ul li a {
 color: #333;
 text-decoration: none;
}
#main .associates ul li a:hover {
 text-decoration: underline;
}

/* ======================================================================== Contact === */

.contact label {
 width: 100%;
 display: block;
 -moz-box-sizing: border-box;
 box-sizing: border-box;
 overflow: hidden;
 margin-bottom: 10px;
}
.contact label span {
 width: 20%;
 float: left;
 color: #333;
 font-size: 0.9em;
}
.contact label input, .contact label select, .contact label textarea {
 width: 80%;
 float: left;
 -moz-box-sizing: border-box;
 box-sizing: border-box;
}
.contact label textarea {
 height: 100px;
}
.contact input[type="submit"] {
 display: block;
 width: 80%;
 float: right;
 border: 1px solid #ccc;
 padding: 10px;
 background: rgb(255,255,255);
 background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(241,241,241,1) 100%);
 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(241,241,241,1)));
 background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%);
 background: -o-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%);
 background: -ms-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%);
 background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f1f1f1',GradientType=0 );
 cursor: pointer;
}
.contact input[type="submit"]:hover {
 background: rgb(241,241,241);
 background: -moz-linear-gradient(top,  rgba(241,241,241,1) 0%, rgba(255,255,255,1) 100%);
 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(241,241,241,1)), color-stop(100%,rgba(255,255,255,1)));
 background: -webkit-linear-gradient(top,  rgba(241,241,241,1) 0%,rgba(255,255,255,1) 100%);
 background: -o-linear-gradient(top,  rgba(241,241,241,1) 0%,rgba(255,255,255,1) 100%);
 background: -ms-linear-gradient(top,  rgba(241,241,241,1) 0%,rgba(255,255,255,1) 100%);
 background: linear-gradient(to bottom,  rgba(241,241,241,1) 0%,rgba(255,255,255,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f1f1f1', endColorstr='#ffffff',GradientType=0 );
}
.contact p.error {
 display: block;
 float: right;;
 width: 80%;
 text-align: center;
 font-size: 0.9em;
 color: #f90000;
}
.contact .thank-you {
 text-align: center;
}
.contact .frc-captcha {
 margin: 0 auto;
 display: block;
 padding-left: 20%;
 border: none;
}
.support {
 text-align: center;
}
.support a {
 display: inline-block;
 margin-top: 15px;
 margin-bottom: 5px;
 color: #3a3a3a;
 background-image: url("../img/pdf-icon.png");
 background-repeat: no-repeat;
 background-position: left center;
 padding: 5px 0px 5px 27px;
}
.support a:hover {
 color: #87e053;
}

/* ======================================================================== Footer === */

#footer {
 background-color: #333333;
 color: #fff;
}
#footer .text {
 padding: 30px 40px;
}
#footer ul {
 margin-bottom: 20px;
}
#footer ul li {
 line-height: 1.6em;
 font-size: 0.9em;
}
#footer ul li span {
 color: #87e053;
}
#footer .call a {
 color: #87e053;
 text-decoration: none;
 font-size: 0.9em;
 line-height: 1.6em;
 display: block;
}
#footer img {
 display: block;
 max-width: 100%;
}
#footer .margin-bottom {
 margin-bottom: 10px;
}
.footbar {
 text-align: center;
 padding: 10px;
 background-color: #3a3a3a;
}
.footbar p {
 font-size: 0.8em;
 color: #ccc;
}

/* ======================================================================== Flex === */
.row {
 display: flex;
 flex-flow: row wrap;
}
.col {
 flex-flow: column nowrap;
 width: 50%;
 display: flex;
}
.button.full.flexButton {
 margin-top: auto;
}


/* ========================================================================================== */
/* ======================================================================= Media Queries ==== */
/* ========================================================================================== */

@media only screen and (max-width: 1199px) {
 .text {
  padding: 15px;
 }
 .side .mission p {
  font-size: 1.3em;
 }
}



@media only screen and (min-width: 850px) and (max-width: 1024px) and (orientation: landscape) {
 nav {
  padding: 0px;
 }
 #gallery .text {
  width: 50%;
  margin: 40px 0px;
 }
 #gallery.fullg .text {
  width: 100%;
 }
 #gallery .float {
  padding: 0px;
 }
 #gallery .float img {
  display: block;
  width: 100%;
  position: relative;
  z-index: 10000;
  top: 0;
  left: 0;
 }
}



@media only screen and (min-width: 850px) and (max-width: 1024px) and (orientation: portrait) {
 nav {
  padding: 0px;
 }
 #gallery .text {
  width: 50%;
  margin: 40px 0px;
 }
 #gallery.fullg .text {
  width: 100%;
 }
 #gallery .float {
  padding: 0px;
 }
 #gallery .float img {
  display: block;
  width: 100%;
  position: relative;
  z-index: 10000;
  top: 0;
  left: 0;
 }
 .row {
  display: block;
 }
 .col {
  flex-flow: column nowrap;
  width: 100%;
  display: flex;
 }
}



@media only screen and (max-width: 849px) {
 .text {
  padding: 8px;
 }
 #bar p {
  text-align: center;
  padding: 0px;
 }
 #bar p a {
  margin: 0px;
 }
 #top .tag p {
  text-align: center;
  font-family: 'Roboto', sans-serif;
  font-weight: 900;
  color: #d2d2d2;
  font-size: 1.3em;
  margin: 0px 0px 10px;
 }
 .mobile-menu {
  display: block;
  padding: 15px;
  text-align: center;
  font-size: 0.9em;
  border-top: 1px solid #ccc;
  background: rgb(255,255,255);
 background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(241,241,241,1) 100%);
 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(241,241,241,1)));
 background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%);
 background: -o-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%);
 background: -ms-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%);
 background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f1f1f1',GradientType=0 );
  cursor: pointer;
 }
 nav {
  padding: 0px;
 }
 nav ul {
  float: none;
 }
 nav ul li {
  display: block;
  float: none;
 }
 nav ul li a {
  text-align: center;
  border: none;
  border-top: 1px solid #ccc;
  padding: 15px;
 }
 #gallery .text {
  margin: 40px 0px;
 }
 #gallery .text.float {
  padding: 0px;
  margin: 0px;
 }
 #gallery .float img {
  display: block;
  width: 100%;
  position: relative;
  z-index: 10000;
  top: 0;
  left: 0;
 }
 .side .mission {
  display: none;
 }
 .products {
  padding: 20px 0px;
 }
 .products .button {
  display: block;
 }
 #footer .text {
  padding: 20px;
  text-align: center;
 }
 #footer img {
  display: block;
  max-width: 100%;
  margin: 0px auto;
 }
 .row {
  display: block;
 }
 .col {
  flex-flow: column nowrap;
  width: 100%;
  display: flex;
 }
}



@media only screen and (max-width: 767px) {
 #gallery .courtesy {
  position: relative;
  right: 0px;
  bottom: 0px;
  font-size: 0.8em;
 }
}
@media only screen and (max-width: 767px) {
 .row {
  display: block;
 }
 .col {
  flex-flow: column nowrap;
  width: 100%;
  display: flex;
 }
 .contact .frc-captcha {
  padding-left: 0;
  width: 100%;
 }
}