.clearfix:before,
.clearfix:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after {
  content: " ";
  display: table;
}
.clearfix:after,
.navbar:after,
.navbar-header:after {
  clear: both;
}

.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
  visibility: hidden !important;
}
.affix {
  position: fixed;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
/* general styles */
a,
button {
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
a i.fa,
button i.fa {
  margin: 0 5px;
}
.clickable {
  cursor: pointer !important;
}
.required {
  color: #0cb2f0;
}
.accent {
  color: #0cb2f0;
}
.text-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
@media (max-width: 991px) {
  .text-center-sm {
    text-align: center;
  }
}
p.lead {
  margin-bottom: 40px;
}
section,
div.section {
  margin-bottom: 40px;
}
.no-mb {
  margin-bottom: 0 !important;
}
.mb-small {
  margin-bottom: 20px !important;
}
.heading {
  margin-bottom: 40px;
}
.heading h1,
.heading h2,
.heading h3,
.heading h4,
.heading h5 {
  display: inline-block;
  border-bottom: solid 5px #0cb2f0;
  line-height: 1.1;
  margin-bottom: 0;
  padding-bottom: 10px;
  vertical-align: middle;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.heading h1 i.fa,
.heading h2 i.fa,
.heading h3 i.fa,
.heading h4 i.fa,
.heading h5 i.fa {
  display: inline-block;
  background: #0cb2f0;
  width: 30px;
  height: 30px;
  vertical-align: middle;
  text-align: center;
  color: #fff;
  font-size: 12px;
  line-height: 30px;
  border-radius: 15px;
}
.icon {
  display: inline-block;
  width: 80px;
  height: 80px;
  color: #fff;
  line-height: 80px;
  border-radius: 40px;
  border: solid 1px #fff;
  font-size: 30px;
}
.icon.icon-lg {
  font-size: 30px;
  border-width: 2px;
}
.ul-icons {
  padding-left: 10px;
}
.ul-icons li {
  list-style-type: none;
  line-height: 20px;
  margin-bottom: 20px;
}
.ul-icons li i {
  width: 20px;
  height: 20px;
  background: #0cb2f0;
  color: #fff;
  text-align: center;
  border-radius: 10px;
  line-height: 20px;
  margin-right: 10px;
}
ul.list-style-none {
  list-style: none;
}
ul.-list-style{
	font-family: "Roboto", Helvetica, Arial, Sans-Serif 
}

#text-page h1,
#text-page h2,
#text-page h3 {
  font-weight: 700;
}
#error-page {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 100px;
}
#error-page h4 {
  margin-bottom: 40px;
}
#error-page p.buttons {
  margin-top: 40px;
}
.pages-listing .item {
  text-align: center;
}
.pages-listing .item h3 {
  font-size: 18px;
  text-transform: uppercase;
  margin-bottom: 20px;
  letter-spacing: 0.08em;
}
.pages-listing .item h3 a {
  color: #555555;
}
.pages-listing .item .text {
  margin-bottom: 20px;
}
.pages-listing .item .text p {
  color: #999999;
  font-size: 12px;
  margin-bottom: 20px;
}
.banner {
  margin-bottom: 30px;
  text-align: center;
}
.banner img {
  margin: 0 auto;
}
.banner a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.pages {
  text-align: center;
}
.pages .loadMore {
  text-align: center;
}
.pages .pagination {
  text-align: center;
}
.features-buttons button {
  margin-bottom: 20px;
}
@media (min-width: 1300px) {
  body.boxed {
    background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png);
  }
  body.boxed #all {
    position: relative;
    background: #fff;
    width: 1200px;
    margin: 0 auto;
    overflow: hidden;
    -webkit-box-shadow: 0 0 5px #cccccc;
    box-shadow: 0 0 5px #cccccc;
  }
}
#top {
  background: #555555;
  color: #eeeeee;
  padding: 10px 0;
}
#top p {
  margin: 0;
  font-size: 12px;
}
#top .social {
  float: right;
  text-align: right;
}
#top .social a {
  color: #999999;
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 12px;
  line-height: 20px;
  font-size: 12px;
  text-align: center;
  vertical-align: bottom;
}
#top .social a:hover {
  color: #fff;
}
#top .social a:hover.facebook {
  background-color: #4460ae;
}
#top .social a:hover.gplus {
  background-color: #c21f25;
}
#top .social a:hover.twitter {
  background-color: #3cf;
}
#top .social a:hover.instagram {
  background-color: #cd4378;
}
#top .social a:hover.email {
  background-color: #4a7f45;
}
#top .login {
  float: right;
}
#top .login a {
  font-size: 12px;
  color: #eeeeee;
  margin-right: 15px;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.10em;
}
@media (max-width: 767px) {
  #top .login {
    float: left;
  }
}
#top.light {
  background: #fff;
  color: #999999;
  border-bottom: solid 1px #eeeeee;
}
#top.light .login a {
  color: #555555;
}
.navbar {
  border: none;
}
.navbar ul.nav > li > a {
  text-transform: uppercase;
  text-decoration: underline;
  font-weight: bold;
  letter-spacing: 0.08em;
  border-top: solid 5px transparent;
}
.navbar ul.nav > li > a:hover {
  border-top: solid 5px #0cb2f0;
}
.navbar ul.nav > li.active > a,
.navbar ul.nav > li.open > a {
  text-decoration: none !important;
  border-top: solid 5px #294d76;
}
@media (max-width: 768px) {
  .navbar ul.nav > li.active > a,
  .navbar ul.nav > li.open > a {
    border-top-color: transparent;
  }
  .navbar ul.nav > li > a:hover {
    border-top-color: transparent;
  }
}
.navbar.navbar-light ul.nav > li.active > a {
  border-top: solid 5px #294d76;
  background: #fff !important;
  color: #555555!important;
}
.navbar.navbar-light ul.nav > li.active > a:hover {
  border-top: solid 5px #294d76;
}
.navbar.navbar-light ul.nav > li > a:hover,
.navbar.navbar-light ul.nav > li.open > a:hover,
.navbar.navbar-light ul.nav > li > a:focus,
.navbar.navbar-light ul.nav > li.open > a:focus {
  border-top: solid 5px #0cb2f0;
  background: #fff !important;
  color: #555555 !important;
}
.navbar ul.dropdown-menu {
  margin: 0;
  padding: 0;
}
.navbar ul.dropdown-menu li {
  list-style-type: none;
  border-bottom: solid 1px #eeeeee;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 0;
}
.navbar ul.dropdown-menu li a {
  position: relative;
  color: #999999;
  font-size: 12px;
  display: block;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  left: 0;
}
.navbar ul.dropdown-menu li a:hover {
  color: #0cb2f0;
  text-decoration: none;
  background: none;
  left: 2px;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
@media (max-width: 767px) {
  .navbar ul.dropdown-menu li a:hover {
    left: 0;
  }
}
.navbar .yamm-content h3 {
  font-size: 18px;
  text-transform: uppercase;
  padding-bottom: 10px;
  margin-top: 5px;
  border-bottom: dotted 1px #555555;
  letter-spacing: 0.08em;
}
@media (max-width: 767px) {
  .navbar .yamm-content h3 {
    font-size: 14px;
  }
}
.navbar .yamm-content h5 {
  text-transform: uppercase;
  padding-bottom: 10px;
  border-bottom: dotted 1px #555555;
  letter-spacing: 0.08em;
}
.navbar .yamm-content ul {
  margin: 0;
  padding: 0;
}
.navbar .yamm-content ul li {
  list-style-type: none;
  border-bottom: solid 1px #eeeeee;
  text-transform: uppercase;
  padding: 4px 0;
}
.navbar .yamm-content ul li a {
  position: relative;
  color: #999999;
  font-size: 12px;
  display: block;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.navbar .yamm-content ul li a:hover {
  color: #0cb2f0;
  text-decoration: none;
  padding-left: 2px;
}
.navbar .yamm-content .banner {
  margin-bottom: 10px;
}
.navbar .yamm-fw .dropdown-menu {
  padding: 0;
}
.navbar .navbar-buttons {
  float: right;
}
.navbar .navbar-buttons button,
.navbar .navbar-buttons a.btn,
.navbar .navbar-buttons .btn-default.navbar-toggle {
  margin-top: 11px;
  margin-bottom: 11px;
  margin-left: 0;
  margin-right: 5px;
}
.navbar .btn-default,
.navbar .btn-default.navbar-toggle {
  color: #999999;
  background-color: #fff;
  margin-left: 7px;
  margin-right: 0;
}
.navbar .btn-default:hover,
.navbar .btn-default.navbar-toggle:hover,
.navbar .btn-default:focus,
.navbar .btn-default.navbar-toggle:focus {
  background-color: #fff;
  border-color: #0cb2f0;
  color: #0cb2f0;
}
.navbar #search {
  clear: both;
  border-top: solid 1px #0cb2f0;
  text-align: right;
}
.navbar #search form {
  float: right;
}
.navbar #search form .input-group {
  width: 500px;
}
@media (max-width: 768px) {
  .navbar #search form .input-group {
    width: 100%;
  }
}
.navbar #basket-overview a {
  margin-left: 7px;
}
.navbar-affixed-top {
  top: -32px;
}
.navbar-affixed-top.affix-top {
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.navbar-affixed-top.affix {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
  -webkit-box-shadow: 0 0 5px #cccccc;
  box-shadow: 0 0 5px #cccccc;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
body.boxed .navbar-affixed-top.affix {
  position: static;
}
#login-modal {
  overflow: hidden;
}
#login-modal .modal-header h4 {
  text-transform: uppercase;
}
#login-modal form {
  margin-bottom: 20px;
}
#login-modal a {
  color: #0cb2f0;
}
#login-modal p {
  font-weight: 300;
  margin-bottom: 20px;
  font-size: 13px;
}
/* buttons  */
.btn {
  font-weight: 700;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  border-radius: 0;
}
.input-group .btn {
  font-size: 14px;
}
.btn-lg {
  padding: 10px 16px;
  font-size: 14px;
  line-height: 1.33;
  border-radius: 0;
}
.btn-sm {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 0;
}
.btn-xs {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 0;
}
.btn-template-main {
  color: #0cb2f0;
  background-color: #ffffff;
  border-color: #0cb2f0;
}
.btn-template-main:hover,
.btn-template-main:focus,
.btn-template-main:active,
.btn-template-main.active,
.open > .dropdown-toggle.btn-template-main {
  color: #0cb2f0;
  background-color: #e6e6e6;
  border-color: #336194;
}
.btn-template-main:active,
.btn-template-main.active,
.open > .dropdown-toggle.btn-template-main {
  background-image: none;
}
.btn-template-main.disabled,
.btn-template-main[disabled],
fieldset[disabled] .btn-template-main,
.btn-template-main.disabled:hover,
.btn-template-main[disabled]:hover,
fieldset[disabled] .btn-template-main:hover,
.btn-template-main.disabled:focus,
.btn-template-main[disabled]:focus,
fieldset[disabled] .btn-template-main:focus,
.btn-template-main.disabled:active,
.btn-template-main[disabled]:active,
fieldset[disabled] .btn-template-main:active,
.btn-template-main.disabled.active,
.btn-template-main[disabled].active,
fieldset[disabled] .btn-template-main.active {
  background-color: #ffffff;
  border-color: #0cb2f0;
}
.btn-template-main .badge {
  color: #ffffff;
  background-color: #0cb2f0;
}
.btn-template-main:hover,
.btn-template-main:focus,
.btn-template-main:active,
.btn-template-main.active {
  background: #0cb2f0;
  color: #ffffff;
  border-color: #0cb2f0;
}
.btn-template-transparent-primary {
  color: #ffffff;
  background-color: transparent;
  border-color: #ffffff;
}
.btn-template-transparent-primary:hover,
.btn-template-transparent-primary:focus,
.btn-template-transparent-primary:active,
.btn-template-transparent-primary.active,
.open > .dropdown-toggle.btn-template-transparent-primary {
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0);
  border-color: #e0e0e0;
}
.btn-template-transparent-primary:active,
.btn-template-transparent-primary.active,
.open > .dropdown-toggle.btn-template-transparent-primary {
  background-image: none;
}
.btn-template-transparent-primary.disabled,
.btn-template-transparent-primary[disabled],
fieldset[disabled] .btn-template-transparent-primary,
.btn-template-transparent-primary.disabled:hover,
.btn-template-transparent-primary[disabled]:hover,
.btn-template-transparent-primary.disabled:focus,
fieldset[disabled] .btn-template-transparent-primary:hover,
.btn-template-transparent-primary[disabled]:focus,
fieldset[disabled] .btn-template-transparent-primary:focus,
.btn-template-transparent-primary.disabled:active,
.btn-template-transparent-primary[disabled]:active,
fieldset[disabled] .btn-template-transparent-primary:active,
.btn-template-transparent-primary.disabled.active,
.btn-template-transparent-primary[disabled].active,
fieldset[disabled] .btn-template-transparent-primary.active {
  border-color: #ffffff;
  background-color: transparent;
}
.btn-template-transparent-primary .badge {
  color: transparent;
  background-color: #ffffff;
}
.btn-template-transparent-primary:hover,
.btn-template-transparent-primary:focus,
.btn-template-transparent-primary:active,
.btn-template-transparent-primary.active {
  background: #fff;
  color: #0cb2f0;
  border-color: #fff;
}
.btn-template-transparent-black {
  color: #ffffff;
  background-color: transparent;
  border-color: #ffffff;
}
.btn-template-transparent-black:hover,
.btn-template-transparent-black:focus,
.btn-template-transparent-black:active,
.btn-template-transparent-black.active,
.open > .dropdown-toggle.btn-template-transparent-black {
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0);
  border-color: #e0e0e0;
}
.btn-template-transparent-black:active,
.btn-template-transparent-black.active,
.open > .dropdown-toggle.btn-template-transparent-black {
  background-image: none;
}
.btn-template-transparent-black.disabled,
.btn-template-transparent-black[disabled],
fieldset[disabled] .btn-template-transparent-black,
.btn-template-transparent-black.disabled:hover,
.btn-template-transparent-black[disabled]:hover,
fieldset[disabled] .btn-template-transparent-black:hover,
.btn-template-transparent-black.disabled:focus,
.btn-template-transparent-black[disabled]:focus,
fieldset[disabled] .btn-template-transparent-black:focus,
.btn-template-transparent-black.disabled:active,
.btn-template-transparent-black[disabled]:active,
fieldset[disabled] .btn-template-transparent-black:active,
.btn-template-transparent-black.disabled.active,
.btn-template-transparent-black[disabled].active,
fieldset[disabled] .btn-template-transparent-black.active {
  background-color: transparent;
  border-color: #ffffff;
}
.btn-template-transparent-black .badge {
  color: transparent;
  background-color: #ffffff;
}
.btn-template-transparent-black:hover,
.btn-template-transparent-black:focus,
.btn-template-transparent-black:active,
.btn-template-transparent-black.active {
  background: #fff;
  color: #000;
  border-color: #fff;
}
.btn-template-primary {
  color: #ffffff;
  background-color: #0cb2f0;
  border-color: #0cb2f0;
}
.btn-template-primary:hover,
.btn-template-primary:focus,
.btn-template-primary:active,
.btn-template-primary.active,
.open > .dropdown-toggle.btn-template-primary {
  color: #ffffff;
  background-color: #36669c;
  border-color: #336194;
}
.btn-template-primary:active,
.btn-template-primary.active,
.open > .dropdown-toggle.btn-template-primary {
  background-image: none;
}
.btn-template-primary.disabled,
.btn-template-primary[disabled],
fieldset[disabled] .btn-template-primary,
.btn-template-primary.disabled:hover,
.btn-template-primary[disabled]:hover,
fieldset[disabled] .btn-template-primary:hover,
.btn-template-primary.disabled:focus,
.btn-template-primary[disabled]:focus,
fieldset[disabled] .btn-template-primary:focus,
.btn-template-primary.disabled:active,
.btn-template-primary[disabled]:active,
fieldset[disabled] .btn-template-primary:active,
.btn-template-primary.disabled.active,
.btn-template-primary[disabled].active,
fieldset[disabled] .btn-template-primary.active {
  background-color: #0cb2f0;
  border-color: #0cb2f0;
}
.btn-template-primary .badge {
  color: #0cb2f0;
  background-color: #ffffff;
}
#intro {
  background: url('../img/home.jpg') no-repeat center top;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
#intro .item {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  height: 100%;
}
#intro .item h1 {
  text-transform: uppercase;
  font-size: 50px;
  color: #fff;
  margin-bottom: 40px;
  letter-spacing: 0.08em;
}
@media (max-width: 991px) {
  #intro .item h1 {
    font-size: 40px;
  }
}
@media (max-width: 767px) {
  #intro .item h1 {
    font-size: 25px;
  }
}
#intro .item h3 {
  color: #fff;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  #intro .item h3 {
    font-size: 15px;
    margin-bottom: 20px;
  }
}
#intro .item .btn {
  text-transform: none;
}
@media (max-width: 991px) {
  #intro .item .btn {
    font-size: 14px;
  }
}
@media (max-width: 991px) {
  #intro .item .carousel-caption {
    left: 10%;
    right: 10%;
  }
}
#intro .container,
#intro .row {
  height: 100%;
  position: relative;
}
.jumbotron {
  padding: 30px;
  margin-bottom: 0;
  position: relative;
  /*background: url('../img/BackgroundImg.png') center center repeat;*/
  background-size: cover;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.jumbotron .dark-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0cb2f0;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.jumbotron h1,
.jumbotron h2,
.jumbotron h3,
.jumbotron p,
.jumbotron ul {
  color: #fff;
}
.jumbotron h1,
.jumbotron h2,
.jumbotron h3 {
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.jumbotron p {
  margin-bottom: 20px;
  font-size: 21px;
  font-weight: 400;
}
.jumbotron p.text-uppercase {
  font-weight: 700;
}
.jumbotron > hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron {
  border-radius: 0;
}
.jumbotron .container {
  max-width: 100%;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 46px;
  }
}
#categoryMenu h3 {
  padding: 20px;
  background: #f7f7f7;
  margin: 0;
  border-bottom: solid 1px #eeeeee;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.panel.sidebar-menu h3 {
  padding: 5px 0;
  margin: 0;
}
.panel.sidebar-menu {
  background: #fff;
  margin: 0 0 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.panel.sidebar-menu .panel-heading {
  text-transform: uppercase;
  margin-bottom: 10px;
  background: none;
  padding: 0;
  letter-spacing: 0.08em;
  border-bottom: none;
}
.panel.sidebar-menu .panel-heading h1,
.panel.sidebar-menu .panel-heading h2,
.panel.sidebar-menu .panel-heading h3,
.panel.sidebar-menu .panel-heading h4,
.panel.sidebar-menu .panel-heading h5 {
  display: inline-block;
  border-bottom: solid 5px #0cb2f0;
  line-height: 1.1;
  margin-bottom: 0;
  padding-bottom: 10px;
}
.panel.sidebar-menu .panel-heading .btn.btn-danger {
  color: #fff;
  margin-top: 5px;
}
.panel.sidebar-menu .panel-body {
  padding: 0;
}
.panel.sidebar-menu .panel-body span.colour {
  display: inline-block;
  width: 15px;
  height: 15px;
  border: solid 1px #555555;
  vertical-align: top;
  margin-top: 2px;
  margin-left: 5px;
}
.panel.sidebar-menu .panel-body span.colour.white {
  background: #fff;
}
.panel.sidebar-menu .panel-body span.colour.red {
  background: red;
}
.panel.sidebar-menu .panel-body span.colour.green {
  background: green;
}
.panel.sidebar-menu .panel-body span.colour.blue {
  background: blue;
}
.panel.sidebar-menu .panel-body span.colour.yellow {
  background: yellow;
}
.panel.sidebar-menu .panel-body label {
  color: #999999;
  font-size: 12px;
}
.panel.sidebar-menu .panel-body label:hover {
  color: #555555;
}
.panel.sidebar-menu ul.nav.category-menu {
  margin-bottom: 20px;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.panel.sidebar-menu ul.nav.category-menu li a {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
}
.panel.sidebar-menu ul.nav ul {
  list-style: none;
  padding-left: 0;
}
.panel.sidebar-menu ul.nav ul li {
  display: block;
}
.panel.sidebar-menu ul.nav ul li a {
  position: relative;
  font-family: "Times New Roman", Times, serif;
  font-weight: normal;
  text-transform: none !important;
  display: block;
  padding: 10px 15px;
  padding-left: 30px;
  font-size: 12px;
  color: #999999;
}
.panel.sidebar-menu ul.nav ul li a:hover,
.panel.sidebar-menu ul.nav ul li a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.panel.sidebar-menu ul.tag-cloud {
  list-style: none;
  padding-left: 0;
}
.panel.sidebar-menu ul.tag-cloud li {
  display: inline-block;
}
.panel.sidebar-menu ul.tag-cloud li a {
  display: inline-block;
  padding: 5px;
  border: solid 1px #eeeeee;
  border-radius: 0;
  color: #0cb2f0;
  margin: 5px 5px 5px 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  font-size: 12px;
}
.panel.sidebar-menu ul.tag-cloud li a:hover {
  color: #0cb2f0;
  text-decoration: none;
  border-color: #0cb2f0;
}
.panel.sidebar-menu ul.popular,
.panel.sidebar-menu ul.recent {
  list-style: none;
  padding-left: 0;
  padding: 20px 0;
}
.panel.sidebar-menu ul.popular li,
.panel.sidebar-menu ul.recent li {
  margin-bottom: 10px;
  padding: 5px 0;
  border-bottom: dotted 1px #eeeeee;
}
.panel.sidebar-menu ul.popular li:before,
.panel.sidebar-menu ul.recent li:before,
.panel.sidebar-menu ul.popular li:after,
.panel.sidebar-menu ul.recent li:after {
  content: " ";
  display: table;
}
.panel.sidebar-menu ul.popular li:after,
.panel.sidebar-menu ul.recent li:after {
  clear: both;
}
.panel.sidebar-menu ul.popular li:before,
.panel.sidebar-menu ul.recent li:before,
.panel.sidebar-menu ul.popular li:after,
.panel.sidebar-menu ul.recent li:after {
  content: " ";
  display: table;
}
.panel.sidebar-menu ul.popular li:after,
.panel.sidebar-menu ul.recent li:after {
  clear: both;
}
.panel.sidebar-menu ul.popular li img,
.panel.sidebar-menu ul.recent li img {
  width: 50px;
  margin-right: 10px;
}
.panel.sidebar-menu ul.popular li h5,
.panel.sidebar-menu ul.recent li h5 {
  margin: 0 0 10px;
}
.panel.sidebar-menu ul.popular li h5 a,
.panel.sidebar-menu ul.recent li h5 a {
  font-weight: normal;
}
.panel.sidebar-menu ul.popular li p.date,
.panel.sidebar-menu ul.recent li p.date {
  float: right;
  font-size: 12px;
  color: #999999;
}
.panel.sidebar-menu ul.popular li:last-child,
.panel.sidebar-menu ul.recent li:last-child {
  border-bottom: none;
}
.panel.sidebar-menu .text-widget {
  font-size: 12px;
}
.panel.sidebar-menu.with-icons ul.nav li a:after {
  font-family: 'FontAwesome';
  content: "\f105";
  position: relative;
  top: 0;
  float: right;
}
/* ribbons for product sales etc. */
.ribbon {
  position: absolute;
  top: 50px;
  padding-left: 51px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.ribbon .ribbon-background {
  position: absolute;
  top: 0;
  right: 0;
}
.ribbon .theribbon {
  position: relative;
  width: 80px;
  padding: 6px 20px 6px 20px;
  margin: 30px 10px 10px -71px;
  color: #fff;
  background-color: #0cb2f0;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
}
.ribbon .theribbon:before,
.ribbon .theribbon:after {
  content: ' ';
  position: absolute;
  width: 0;
  height: 0;
}
.ribbon .theribbon:after {
  left: 0px;
  top: 100%;
  border-width: 5px 10px;
  border-style: solid;
  border-color: #000000 #000000 transparent transparent;
}
.ribbon.sale {
  top: 0;
}
.ribbon.new {
  top: 50px;
}
.ribbon.new .theribbon {
  background-color: #5bc0de;
  text-shadow: 0px 1px 2px #bbb;
}
.ribbon.new .theribbon:after {
  border-color: #2390b0 #2390b0 transparent transparent;
}
.ribbon.gift {
  top: 100px;
}
.ribbon.gift .theribbon {
  background-color: #5cb85c;
  text-shadow: 0px 1px 2px #bbb;
}
.ribbon.gift .theribbon:after {
  border-color: #357935 #357935 transparent transparent;
}
.owl-carousel .owl-controls .owl-page.active span,
.owl-theme .owl-controls .owl-page.active span,
.owl-carousel .owl-controls.clickable .owl-page:hover span,
.owl-theme .owl-controls.clickable .owl-page:hover span {
  background: #0cb2f0;
}
.owl-carousel .owl-controls .owl-buttons,
.owl-theme .owl-controls .owl-buttons {
  position: absolute;
  top: 5px;
  right: 0;
}
.owl-carousel .owl-controls .owl-buttons div,
.owl-theme .owl-controls .owl-buttons div {
  width: 26px;
  height: 26px;
  line-height: 25px;
  margin: 0 5px 0 0;
  font-size: 18px;
  color: #0cb2f0;
  padding: 0;
  background: #fff;
  border-radius: 13px;
  vertical-align: middle;
  text-align: center;
  opacity: 1;
  filter: alpha(opacity=100);
}
.home-carousel {
  position: relative;
  /*background: url('../img/BackgroundImg.png') center center repeat;*/
  background-size: cover;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.home-carousel .dark-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #999999;
  opacity: 0;
  filter: alpha(opacity=90);
}
.home-carousel .owl-carousel {
  padding-top: 60px;
  padding-bottom: 20px;
}
.home-carousel .owl-theme .owl-controls .owl-page span {
  background: #666;
}
.home-carousel .owl-theme .owl-controls .owl-page.active span {
  background: #fff;
}
.home-carousel .owl-theme .owl-controls .owl-page:hover span {
  background: #fff;
}
@media (max-width: 767px) {
  .home-carousel {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .home-carousel .right {
    text-align: right;
  }
}
.home-carousel h1,
.home-carousel h2,
.home-carousel h3,
.home-carousel p,
.home-carousel ul {
  color: #555555;
}
.home-carousel h1 {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 46px;
  letter-spacing: 0.08em;
}
@media (max-width: 991px) {
  .home-carousel h1 {
    font-size: 36px;
  }
}
.home-carousel h2 {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 40px;
  letter-spacing: 0.08em;
}
.home-carousel ul,
.home-carousel p {
  font-size: 18px;
  font-weight: 700;
  padding: 0;
  text-transform: uppercase;
  letter-spacing: 0.10em;
}
@media (max-width: 991px) {
  .home-carousel ul,
  .home-carousel p {
    font-size: 14px;
  }
}
.home-carousel ul li {
  margin-bottom: 10px;
}
.customers {
  padding: 0;
  margin-bottom: 40px;
}
.customers .item {
  list-style-type: none;
  text-align: center;
  margin: 0 20px;
}
.customers .item img {
  display: inline-block;
  filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
  /* Firefox 10+, Firefox on Android */
  filter: gray;
  /* IE6-9 */
  -webkit-filter: grayscale(100%);
  /* Chrome 19+, Safari 6+, Safari 6+ iOS */
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.customers .item img:hover {
  max-width: auto;
  filter: none;
  -webkit-filter: none;
}
.testimonials {
  padding: 0;
  margin-bottom: 40px;
}
.testimonials .item {
  list-style-type: none;
  margin: 0 5px;
  background: #fbfbfb;
  padding-bottom: 60px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.testimonials .item .testimonial {
  position: relative;
  padding: 20px;
}
.testimonials .item .testimonial:before,
.testimonials .item .testimonial:after {
  content: " ";
  display: table;
}
.testimonials .item .testimonial:after {
  clear: both;
}
.testimonials .item .testimonial:before,
.testimonials .item .testimonial:after {
  content: " ";
  display: table;
}
.testimonials .item .testimonial:after {
  clear: both;
}
.testimonials .item .testimonial .text {
  color: #555555;
  margin-bottom: 40px;
}
.testimonials .item .testimonial .bottom {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 20px;
  height: 50px;
}
.testimonials .item .testimonial .bottom .icon {
  color: #0cb2f0;
  font-size: 30px;
  float: left;
  width: 20%;
}
.testimonials .item .testimonial .name-picture {
  float: right;
  width: 80%;
  text-align: right;
}
.testimonials .item .testimonial .name-picture h5 {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.testimonials .item .testimonial .name-picture p {
  color: #555555;
  margin: 0;
  font-size: 12px;
}
.testimonials .item .testimonial .name-picture img {
  float: right;
  width: 60px;
  border-radius: 30px;
  margin-left: 10px;
}
.team-member {
  text-align: center;
  margin-bottom: 40px;
}
.team-member h3 {
  font-size: 18px;
  text-transform: uppercase;
  margin-bottom: 5px;
  letter-spacing: 0.08em;
}
.team-member h3 a {
  color: #555555;
}
.team-member p.role {
  color: #999999;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.team-member .social {
  margin-bottom: 20px;
}
.team-member .social a {
  margin: 0 10px 0 0;
  color: #fff;
  display: inline-block;
  width: 26px;
  height: 26px;
  border-radius: 13px;
  line-height: 26px;
  font-size: 15px;
  text-align: center;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  vertical-align: bottom;
}
.team-member .social a i {
  vertical-align: bottom;
  line-height: 26px;
}
.team-member .social a.facebook {
  background-color: #4460ae;
}
.team-member .social a.gplus {
  background-color: #c21f25;
}
.team-member .social a.twitter {
  background-color: #3cf;
}
.team-member .social a.instagram {
  background-color: #cd4378;
}
.team-member .social a.email {
  background-color: #4a7f45;
}
.team-member .text p {
  color: #999999;
  font-size: 12px;
}
.team-member .social,
.team-member-detail .social {
  margin-bottom: 20px;
}
.team-member .social a,
.team-member-detail .social a {
  margin: 0 10px 0 0;
  color: #fff;
  display: inline-block;
  width: 26px;
  height: 26px;
  border-radius: 13px;
  line-height: 26px;
  font-size: 15px;
  text-align: center;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  vertical-align: bottom;
}
.team-member .social a i,
.team-member-detail .social a i {
  vertical-align: bottom;
  line-height: 26px;
}
.team-member .social a.facebook,
.team-member-detail .social a.facebook {
  background-color: #4460ae;
}
.team-member .social a.gplus,
.team-member-detail .social a.gplus {
  background-color: #c21f25;
}
.team-member .social a.twitter,
.team-member-detail .social a.twitter {
  background-color: #3cf;
}
.team-member .social a.instagram,
.team-member-detail .social a.instagram {
  background-color: #cd4378;
}
.team-member .social a.email,
.team-member-detail .social a.email {
  background-color: #4a7f45;
}
.box-simple {
  text-align: center;
  margin-bottom: 40px;
}
.box-simple .icon {
  color: #0cb2f0;
  border-color: #0cb2f0;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.box-simple h3 {
  font-weight: normal;
  font-size: 18px;
  text-transform: uppercase;
  line-height: 1.5;
  color: #555555;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.box-simple h3 a {
  color: #555555;
}
.box-simple p {
  color: #999999;
}
.box-simple:hover .icon {
  -webkit-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
  -o-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
.box-simple:hover .icon i {
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  transform: scale(1, 1);
}
.box-simple.box-white {
  padding: 20px;
  border: dotted 1px #999999;
}
.box-simple.box-white .icon {
  color: #555555;
  border-color: transparent;
  font-size: 70px;
}
.box-simple.box-dark {
  padding: 20px;
  border: dotted 1px #999999;
  background: #555555;
  color: #fff;
}
.box-simple.box-dark .icon {
  color: #f7f7f7;
  border-color: transparent;
  font-size: 70px;
}
.box-simple.box-dark h3 {
  color: #fff;
}
.box-simple.box-dark h3 a {
  color: #fff;
}
.box-simple.box-dark p {
  color: #fff;
}
.box-image {
  position: relative;
  overflow: hidden;
  text-align: center;
  margin: 15px 0;
}
.box-image .bg {
  position: absolute;
  top: auto;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  filter: alpha(opacity=0);
  background: #0cb2f0;
}
.box-image .name {
  position: absolute;
  width: 100%;
  height: 50%;
  bottom: 0;
  -webkit-transform: translate(0, 100%);
  -ms-transform: translate(0, 100%);
  -o-transform: translate(0, 100%);
  transform: translate(0, 100%);
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  color: #fff;
  padding: 0 20px;
}
.box-image .name h3 {
  color: #fff;
  text-transform: uppercase;
  font-size: 18px;
  letter-spacing: 0.08em;
}
.box-image .name h3 a {
  color: #fff;
  text-decoration: none;
}
.box-image .text {
  position: absolute;
  width: 100%;
  height: 50%;
  top: 0;
  -webkit-transform: translate(0, -150%);
  -ms-transform: translate(0, -150%);
  -o-transform: translate(0, -150%);
  transform: translate(0, -150%);
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  color: #fff;
  padding: 0 20px;
}
.box-image:hover .bg {
  opacity: 0.7;
  filter: alpha(opacity=70);
}
.box-image:hover .name {
  position: absolute;
  -webkit-transform: translate(0, -75%);
  -ms-transform: translate(0, -75%);
  -o-transform: translate(0, -75%);
  transform: translate(0, -75%);
}
.box-image:hover .text {
  position: absolute;
  -webkit-transform: translate(0, 100%);
  -ms-transform: translate(0, 100%);
  -o-transform: translate(0, 100%);
  transform: translate(0, 100%);
}
.box-image-text {
  position: relative;
  overflow: hidden;
  text-align: center;
  margin: 15px 0;
}
.box-image-text .top {
  position: relative;
  margin-bottom: 10px;
}
.box-image-text .top .bg {
  position: absolute;
  top: auto;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  filter: alpha(opacity=0);
  background: #0cb2f0;
}
.box-image-text .top .name {
  position: absolute;
  width: 100%;
  height: 50%;
  bottom: 0;
  -webkit-transform: translate(0, 100%);
  -ms-transform: translate(0, 100%);
  -o-transform: translate(0, 100%);
  transform: translate(0, 100%);
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  color: #fff;
  padding: 0 20px;
}
.box-image-text .top .name h3 {
  color: #fff;
  text-transform: uppercase;
  font-size: 18px;
  letter-spacing: 0.08em;
}
.box-image-text .top .name h3 a {
  color: #fff;
  text-decoration: none;
}
.box-image-text .top .text {
  position: absolute;
  width: 100%;
  height: 50%;
  top: 0;
  -webkit-transform: translate(0, -150%);
  -ms-transform: translate(0, -150%);
  -o-transform: translate(0, -150%);
  transform: translate(0, -150%);
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  color: #fff;
  padding: 0 20px;
}
.box-image-text .content h3,
.box-image-text .content h4 {
  text-transform: uppercase;
  line-height: 1.5;
  color: #555555;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.box-image-text .content p {
  color: #999999;
}
.box-image-text:hover .bg {
  opacity: 0.7;
  filter: alpha(opacity=70);
}
.box-image-text:hover .name {
  position: absolute;
  -webkit-transform: translate(0, -75%);
  -ms-transform: translate(0, -75%);
  -o-transform: translate(0, -75%);
  transform: translate(0, -75%);
}
.box-image-text:hover .text {
  position: absolute;
  -webkit-transform: translate(0, 100%);
  -ms-transform: translate(0, 100%);
  -o-transform: translate(0, 100%);
  transform: translate(0, 100%);
}
/* universal box */
.box {
  background: #fff;
  margin: 0 0 30px;
  border: solid 1px #ccc;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 20px 0;
  border-left: none;
  border-right: none;
}
.box .box-header {
  background: #f7f7f7;
  margin: -20px 0 20px;
  padding: 20px;
  border-bottom: solid 1px #eeeeee;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.box .box-header:before,
.box .box-header:after {
  content: " ";
  display: table;
}
.box .box-header:after {
  clear: both;
}
.box .box-header:before,
.box .box-header:after {
  content: " ";
  display: table;
}
.box .box-header:after {
  clear: both;
}
.box .box-footer {
  background: #f7f7f7;
  margin: 30px 0 -20px;
  padding: 20px;
  border-top: solid 1px #eeeeee;
}
.box .box-footer:before,
.box .box-footer:after {
  content: " ";
  display: table;
}
.box .box-footer:after {
  clear: both;
}
.box .box-footer:before,
.box .box-footer:after {
  content: " ";
  display: table;
}
.box .box-footer:after {
  clear: both;
}
@media (max-width: 991px) {
  .box .box-footer .btn {
    margin-bottom: 20px;
  }
}
.box.no-border {
  border: none;
}
#heading-breadcrumbs {
  background: url('../img/texture-bw.png') center center repeat;
  padding: 20px 0;
  margin-bottom: 40px;
}
#heading-breadcrumbs.no-mb {
  margin-bottom: 0;
}
#heading-breadcrumbs h1 {
  color: #333333;
  text-transform: uppercase;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media (max-width: 991px) {
  #heading-breadcrumbs h1 {
    text-align: center;
  }
}
#heading-breadcrumbs ul.breadcrumb {
  margin-top: 5px;
  margin-bottom: 0;
}
.bar {
  position: relative;
  background: #0cb2f0;
  padding: 60px 0;
}
.bar.background-pentagon {
  background: url('../img/texture-bw.png') center center repeat;
  border-top: solid 1px #999999;
  border-bottom: solid 1px #999999;
}
.bar.background-gray {
  background: #eeeeee;
}
.bar.background-gray-dark {
  background: #555555;
}
.bar.background-white {
  background: #fff;
}
.bar.background-image-fixed-1 {
  background: url('../img/fixed-background-1.jpg') center top no-repeat;
  background-attachment: fixed;
  background-size: cover;
}
.bar.background-image-fixed-2 {
  background: url('../img/fixed-background-2.jpg') center top no-repeat;
  background-attachment: fixed;
  background-size: cover;
}
.bar.color-white h1,
.bar.color-white h2,
.bar.color-white h3,
.bar.color-white h4,
.bar.color-white h5,
.bar.color-white h6,
.bar.color-white p {
  color: #fff;
}
.bar.padding-big {
  padding: 50px 0;
}
.bar.padding-horizontal {
  padding-left: 30px;
  padding-right: 30px;
}
.bar.margin-vertical {
  margin-top: 20px;
  margin-bottom: 20px;
}
.bar .dark-mask {
  position: absolute;  
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.65;
  filter: alpha(opacity=65);
}
.portfolio.no-space {
  padding: 0 15px;
}
.portfolio.no-space .box-image {
  margin: 0 -15px;
}
.portfolio-project .project-more h4 {
  color: #555555;
  text-transform: uppercase;
  margin-bottom: 0;
  text-align: left;
  font-size: 14px;
  letter-spacing: 0.08em;
}
.portfolio-project .project-more p {
  color: #999999;
  padding: 10px 0;
  margin-bottom: 20px;
  text-align: left;
}
.portfolio-showcase {
  margin: 15px 0 60px;
}
.portfolio-showcase h3 a {
  text-transform: uppercase;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.portfolio-showcase p.lead {
  color: #555555;
  margin-bottom: 20px;
}
.portfolio-showcase p {
  color: #999999;
}
.portfolio-showcase p.buttons {
  margin-top: 40px;
}
.see-more {
  text-align: center;
  margin-top: 20px;
  padding-top: 20px;
}
.see-more p {
  font-size: 28px;
  font-weight: 100;
  margin-bottom: 20px;
}
.showcase .item {
  text-align: center;
}
.showcase .item .icon {
  display: inline-block;
  width: 50px;
  height: 50px;
  color: #555555;
  line-height: 50px;
  border-radius: 25px;
  border: solid 1px #555555;
}
.showcase .item h4 {
  color: #555555;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-size: 16px;
}
.showcase .item h4 span {
  font-weight: bold;
  font-size: 51px;
}
.packages .package {
  background: #fff;
  margin-top: 25px;
  margin-bottom: 20px;
  padding-bottom: 15px;
  text-align: center;
  border: solid 1px #0cb2f0;
  overflow: hidden;
}
.packages .package .package-header {
  height: 57px;
  color: #fff;
  line-height: 57px;
  background: #0cb2f0;
}
.packages .package .package-header h5 {
  color: #fff;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 57px;
  margin: 0;
  letter-spacing: 0.08em;
}
.packages .package .package-header.light-gray {
  background: #eeeeee;
}
.packages .package .package-header.light-gray h5 {
  color: #555555;
}
.packages .package .price {
  line-height: 120px;
  height: 100px;
  color: #fff;
  font-weight: 400;
}
.packages .package .price h4 {
  display: inline;
  font-size: 50px;
  line-height: normal;
  margin-bottom: 0;
}
.packages .package .price .period {
  line-height: normal;
  color: #999999;
}
.packages .package ul {
  padding: 0;
}
.packages .package ul li {
  list-style-type: none;
  padding-top: 10px;
  padding-bottom: 10px;
  width: 80%;
  margin: auto;
  border-bottom: 1px dotted #ccc;
}
.packages .package ul li:last-child {
  border-bottom: 0;
}
.packages .package ul li i {
  font-size: 13px;
  margin-right: 5px;
}
.packages .best-value .package {
  margin-top: 0;
  padding-bottom: 40px;
}
.packages .best-value .package .package-header {
  height: 72px;
  padding-top: 17px;
  height: 82px !important;
}
.packages .best-value .package .package-header h5 {
  font-weight: bold;
  line-height: 29px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.packages .best-value .package .package-header .meta-text {
  font-size: 13px;
  line-height: 15px;
}
#map {
  height: 300px;
}
#map.with-border {
  border-top: solid 1px #0cb2f0;
  border-bottom: solid 1px #0cb2f0;
}
#blog-listing-big .post,
#blog-homepage .post {
  margin-bottom: 60px;
}
#blog-listing-big .post h2,
#blog-homepage .post h2,
#blog-listing-big .post h4,
#blog-homepage .post h4 {
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
#blog-listing-big .post h2 a,
#blog-homepage .post h2 a,
#blog-listing-big .post h4 a,
#blog-homepage .post h4 a {
  color: #555555;
}
#blog-listing-big .post h2 a:hover,
#blog-homepage .post h2 a:hover,
#blog-listing-big .post h4 a:hover,
#blog-homepage .post h4 a:hover {
  color: #0cb2f0;
}
#blog-listing-big .post .author-category,
#blog-homepage .post .author-category {
  color: #999999;
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: 0.08em;
}
#blog-listing-big .post .author-category a,
#blog-homepage .post .author-category a {
  font-weight: 500;
}
#blog-listing-big .post .date-comments a,
#blog-homepage .post .date-comments a {
  color: #999999;
  margin-right: 20px;
}
#blog-listing-big .post .date-comments a:hover,
#blog-homepage .post .date-comments a:hover {
  color: #0cb2f0;
}
@media (min-width: 768px) {
  #blog-listing-big .post .date-comments,
  #blog-homepage .post .date-comments {
    text-align: right;
  }
}
#blog-listing-big .post .intro,
#blog-homepage .post .intro {
  text-align: left;
}
#blog-listing-big .post .image,
#blog-homepage .post .image {
  margin-bottom: 10px;
  overflow: hidden;
}
#blog-listing-big .post .image img,
#blog-homepage .post .image img {
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
@media (max-width: 767px) {
  #blog-listing-big .post .image img.img-responsive,
  #blog-homepage .post .image img.img-responsive {
    min-width: 100%;
  }
}
#blog-listing-big .post .video,
#blog-homepage .post .video {
  margin-bottom: 10px;
}
#blog-listing-big .post .read-more,
#blog-homepage .post .read-more {
  text-align: right;
}
#blog-listing-medium .post {
  margin-bottom: 60px;
}
#blog-listing-medium .post h2 {
  text-transform: uppercase;
  margin: 0 0 10px;
  font-size: 24px;
  letter-spacing: 0.08em;
}
#blog-listing-medium .post h2 a {
  color: #555555;
}
#blog-listing-medium .post h2 a:hover {
  color: #0cb2f0;
}
#blog-listing-medium .post .author-category {
  float: left;
  color: #999999;
  text-transform: uppercase;
  font-weight: 300;
  font-size: 12px;
  letter-spacing: 0.08em;
}
#blog-listing-medium .post .author-category a {
  font-weight: 500;
}
#blog-listing-medium .post .date-comments {
  float: right;
  font-size: 12px;
}
#blog-listing-medium .post .date-comments a {
  color: #999999;
  margin-right: 20px;
}
#blog-listing-medium .post .date-comments a:hover {
  color: #0cb2f0;
}
@media (min-width: 768px) {
  #blog-listing-medium .post .date-comments {
    text-align: right;
  }
}
#blog-listing-medium .post .intro {
  text-align: left;
}
#blog-listing-medium .post .clearfix:before,
#blog-listing-medium .post .clearfix:after,
#blog-listing-medium .post .navbar:before,
#blog-listing-medium .post .navbar:after,
#blog-listing-medium .post .navbar-header:before,
#blog-listing-medium .post .navbar-header:after {
  content: " ";
  display: table;
}
#blog-listing-medium .post .clearfix:after,
#blog-listing-medium .post .navbar:after,
#blog-listing-medium .post .navbar-header:after {
  clear: both;
}
#blog-listing-medium .post .clearfix:before,
#blog-listing-medium .post .clearfix:after,
#blog-listing-medium .post .navbar:before,
#blog-listing-medium .post .navbar:after,
#blog-listing-medium .post .navbar-header:before,
#blog-listing-medium .post .navbar-header:after {
  content: " ";
  display: table;
}
#blog-listing-medium .post .clearfix:after,
#blog-listing-medium .post .navbar:after,
#blog-listing-medium .post .navbar-header:after {
  clear: both;
}
#blog-listing-medium .post .image {
  margin-bottom: 10px;
  overflow: hidden;
}
#blog-listing-medium .post .img-center {
  align-items: center;
  width: 90%;
  padding-top: 25%;
}
#blog-listing-medium .post .image img {
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
@media (max-width: 767px) {
  #blog-listing-medium .post .image img.img-responsive {
    min-width: 100%;
  }
}
#blog-listing-medium .post .video {
  margin-bottom: 10px;
}
#blog-listing-medium .post .read-more {
  text-align: right;
}
.box-image-text.blog .author-category {
  color: #999999;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 300;
  font-size: 12px;
}
.box-image-text.blog .author-category a {
  font-weight: 500;
}
.box-image-text.blog .intro {
  text-align: left;
  margin-bottom: 20px;
}
#blog-homepage .post {
  margin-bottom: 30px;
}
#blog-homepage .post h2,
#blog-homepage .post h4,
#blog-homepage .post .author-category,
#blog-homepage .post .read-more {
  text-align: center;
}
#blog-homepage .post .read-more {
  margin-top: 20px;
}
#blog-post #post-content {
  margin-bottom: 20px;
}
#post-content p > img {
  /*border: green 3px dashed;*/
  display:table-cell;
  vertical-align:middle;
  margin:auto;
  max-width: 847px;
}
#post-content .img-right {
  float: right;    
  margin: 0 0 0 20px;
}
#post-content .img-left {
  position: relative;
  float: left;    
  margin: 5px 20px 30px 0;
  clear: left;
}
#post-content .ico-left {
  position: relative;
  float: left;    
  margin: 5px 30px 2px 0;
  clear: left;
}
#blog-post .comment {
  margin-bottom: 25px;
}
#blog-post .comment:before,
#blog-post .comment:after {
  content: " ";
  display: table;
}
#blog-post .comment:after {
  clear: both;
}
#blog-post .comment:before,
#blog-post .comment:after {
  content: " ";
  display: table;
}
#blog-post .comment:after {
  clear: both;
}
#blog-post .comment .posted {
  color: #999999;
  font-size: 12px;
}
#blog-post .comment .reply {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
}
#blog-post .comment.last {
  margin-bottom: 0;
}
#blog-post #comments,
#blog-post #comment-form {
  padding: 20px 0;
  margin-top: 20px;
  border-top: solid 1px #eeeeee;
}
#blog-post #comments:before,
#blog-post #comment-form:before,
#blog-post #comments:after,
#blog-post #comment-form:after {
  content: " ";
  display: table;
}
#blog-post #comments:after,
#blog-post #comment-form:after {
  clear: both;
}
#blog-post #comments:before,
#blog-post #comment-form:before,
#blog-post #comments:after,
#blog-post #comment-form:after {
  content: " ";
  display: table;
}
#blog-post #comments:after,
#blog-post #comment-form:after {
  clear: both;
}
#blog-post #comments h4,
#blog-post #comment-form h4 {
  margin-bottom: 20px;
}
#blog-post #comment-form {
  margin-bottom: 20px;
}
.product {
  background: #fff;
  border-bottom: solid 1px #e6e6e6;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 60px;
  overflow: hidden;
  text-align: center;
}
.product .image {
  overflow: hidden;
}
.product .image img {
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
@media (max-width: 767px) {
  .product .image img.img-responsive {
    min-width: 100%;
  }
}
.product .text {
  padding: 10px;
}
.product .text h3 {
  font-size: 14px;
  font-weight: 700;
  height: 39.6px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.product .text h3 a {
  color: #555555;
}
.product .text h3 a:hover {
  text-decoration: none;
}
.product .text p.price {
  font-size: 18px;
}
.product .text p.price del {
  color: #999999;
}
.product .buttons {
  clear: both;
  position: absolute;
  display: none;
  bottom: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  border: solid 1px transparent;
  padding: 20px;
  background: rgba(255, 255, 255, 0.9);
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  text-align: center;
}
.product .buttons .btn {
  margin-bottom: 20px;
}
.product:hover {
  border-bottom: solid 1px #808080;
  top: 0;
}
.product:hover .buttons {
  clear: both;
  position: absolute;
  top: 0;
  background: rgba(255, 255, 255, 0.5);
}
.product:hover .image img {
  -webkit-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
  -o-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
.goToDescription {
  font-size: 12px;
  text-align: center;
  margin-bottom: 40px;
}
.goToDescription a {
  color: #999999;
  text-decoration: underline;
}
#productMain {
  margin-bottom: 30px;
}
#productMain .sizes {
  text-align: center;
}
#productMain .sizes h3 {
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 40px;
}
#productMain .sizes a {
  display: inline-block;
  width: 40px;
  height: 40px;
  border-radius: 40px;
  background: #ccc;
  line-height: 40px;
  color: #555555;
  text-align: center;
  text-decoration: none;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
}
#productMain .sizes a.active,
#productMain .sizes a:hover {
  background: #0cb2f0;
  color: #fff;
}
#productMain .sizes input {
  display: none;
}
#productMain .price {
  font-size: 40px;
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px;
}
#thumbs a {
  display: block;
  border: solid 1px transparent;
}
#thumbs a.active {
  border-color: #0cb2f0;
}
#product-social {
  text-align: center;
}
#product-social h4 {
  font-weight: 300;
  margin-bottom: 10px;
}
#product-social p {
  line-height: 26px;
}
#product-social p a {
  margin: 0 10px 0 0;
  color: #fff;
  display: inline-block;
  width: 26px;
  height: 26px;
  border-radius: 13px;
  line-height: 26px;
  font-size: 15px;
  text-align: center;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  vertical-align: bottom;
}
#product-social p a i {
  vertical-align: bottom;
  line-height: 26px;
}
#product-social p a.facebook {
  background-color: #4460ae;
}
#product-social p a.gplus {
  background-color: #c21f25;
}
#product-social p a.twitter {
  background-color: #3cf;
}
#product-social p a.instagram {
  background-color: #cd4378;
}
#product-social p a.email {
  background-color: #4a7f45;
}
@media (max-width: 991px) {
  #product-social {
    text-align: center;
  }
}
#checkout .nav {
  margin-bottom: 20px;
  border-bottom: solid 1px #0cb2f0;
}
#checkout .nav li {
  height: 100%;
}
#checkout .nav li a {
  display: block;
  height: 100%;
}
#order-summary table {
  margin-top: 20px;
}
#order-summary table td {
  color: #999999;
}
#order-summary table tr.total td,
#order-summary table tr.total th {
  font-size: 18px;
  color: #555555;
  font-weight: 700;
}
#checkout .table tbody tr td,
#basket .table tbody tr td,
#customer-order .table tbody tr td {
  vertical-align: middle;
}
#checkout .table tbody tr td input,
#basket .table tbody tr td input,
#customer-order .table tbody tr td input {
  width: 50px;
  text-align: right;
}
#checkout .table tbody tr td img,
#basket .table tbody tr td img,
#customer-order .table tbody tr td img {
  width: 50px;
}
#checkout .table tfoot,
#basket .table tfoot,
#customer-order .table tfoot {
  font-size: 18px;
}
.shipping-method h4,
.payment-method h4 {
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
#customer-orders table tr th,
#customer-orders table tr td {
  vertical-align: baseline;
}
#customer-order .table tfoot th {
  font-size: 18px;
  font-weight: 300;
}
#customer-order .addresses {
  text-align: right;
  margin-bottom: 30px;
}
#customer-order .addresses p {
  font-size: 18px;
  font-weight: 300;
}
#customer-account {
  margin-bottom: 30px;
}
#get-it {
  background: #0cb2f0;
  padding: 50px 0 30px;
  color: #fff;
  text-align: center;
}
#get-it h1,
#get-it h2,
#get-it h3,
#get-it h4,
#get-it h5,
#get-it h6 {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 20px;
}
#get-it p {
  margin: 0 0 20px;
}
#footer {
  background: #555555;
  padding: 50px 0;
  color: #999999;
}
#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6 {
  color: #eeeeee;
}
#footer h4 {
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
#footer ul {
  padding-left: 0;
  list-style: none;
}
#footer ul a {
  color: #999999;
}
#footer ul a:hover {
  color: #0cb2f0;
  text-decoration: none;
}
#footer .photostream div {
  float: left;
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 33%;
  padding: 7.5px;
  overflow: hidden;
}
#footer .photostream div a {
  border: solid 1 px #eeeeee;
}
#footer .photostream div img {
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
#footer .photostream div:hover img {
  -webkit-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
  -o-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
#footer .blog-entries .item {
  clear: both;
  padding: 5px 0;
  margin-bottom: 10px;
  border-bottom: solid 1px #555555;
}
#footer .blog-entries .item .image {
  float: left;
  width: 15%;
  margin-right: 10px;
}
#footer .blog-entries .item .name {
  width: 75%;
  margin-left: 10px;
  display: table-cell;
  vertical-align: middle;
}
#footer .blog-entries .item .name h5 {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}
#footer .blog-entries .item .name h5 a {
  color: #eeeeee;
}
#footer .blog-entries .item .text {
  width: 100%;
  clear: both;
}
#footer .blog-entries .item:last-child {
  border-bottom: none;
  margin-bottom: 0;
}
#footer .social a {
  color: #555555;
  font-size: 25px;
  margin: 0 10px 0 0;
}
#footer .social a:hover {
  color: #0cb2f0;
}
#copyright {
  background: #333;
  color: #ccc;
  padding: 50px 0;
  font-size: 12px;
  line-height: 28px;
}
#copyright p {
  margin: 0;
}
@media (max-width: 991px) {
  #copyright p {
    float: none !important;
    text-align: center;
    margin-bottom: 10px;
  }
}
[data-animate] {
  opacity: 0;
  filter: alpha(opacity=0);
}
#style-switch-button {
  position: fixed;
  top: 100px;
  left: 0px;
  border-radius: 0;
}
#style-switch {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 300px;
  padding: 20px;
  position: fixed;
  top: 140px;
  left: 0;
  background: #fff;
  border: solid 1px #eeeeee;
}
@media (max-width: 991px) {
  #style-switch-button {
    display: none;
  }
  #style-switch {
    display: none;
  }
}
/* Original Boostrap template overwrite */
/* breadcrumbs */
.breadcrumb {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  background-color: none;
  letter-spacing: 0.08em;
}
/* nav */
.nav > li > a {
  padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
  background-color: #eeeeee;
}
.nav > li.disabled > a {
  color: #999999;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #999999;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: #0cb2f0;
}
.nav-tabs {
  border-bottom: 1px solid #0cb2f0;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 0 0 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #0cb2f0;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #555555;
  background-color: #ffffff;
  border: 1px solid #0cb2f0;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: solid 1px #0cb2f0;
  border-bottom: 0;
}
.nav-tabs.nav-justified > li {
  float: none;
}
.nav-tabs.nav-justified > li > a {
  text-align: center;
  /*margin-bottom: 5px;*/
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 0;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #0cb2f0;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #0cb2f0;
    border-radius: 0 0 0 0;
  }
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #ffffff;
  }
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 0;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #ffffff;
  background-color: #0cb2f0;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
  border-bottom: solid 1px #0cb2f0;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  text-align: center;
  /*margin-bottom: 5px;*/
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 0;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #0cb2f0;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #0cb2f0;
    border-radius: 0 0 0 0;
  }
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #ffffff;
  }
}
.tab-content {
  padding: 15px;
  border: solid 1px #ddd;
  border-top: none;
}
/* navbar */
.navbar {
  position: relative;
  min-height: 62px;
  margin-bottom: 0;
  border-bottom: 1px solid transparent;
}
@media (min-width: 768px) {
  .navbar {
    border-radius: 0px;
  }
}
@media (min-width: 768px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 15px;
  padding-left: 15px;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-affixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-width: 480px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-affixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -30px;
}
@media (min-width: 768px) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 768px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
@media (min-width: 768px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 10px 15px;
  font-size: 18px;
  line-height: 20px;
  height: 62px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
@media (min-width: 768px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: -15px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 15px;
  padding: 9px 10px;
  margin-top: 14px;
  margin-bottom: 14px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 0;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-nav {
  margin: 10.5px -15px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 20px;
}
@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 20px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 768px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 21px;
    padding-bottom: 21px;
  }
  .navbar-nav.navbar-right:last-child {
/*    margin-right: -15px;*/
    margin-right: -30px;
  }
}
@media (min-width: 768px) {
  .navbar-left {
    float: left !important;
  }
  .navbar-right {
    float: right !important;
  }
}
.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 14px;
  margin-bottom: 14px;
}
@media (max-width: 767px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
}
@media (min-width: 768px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  .navbar-form.navbar-right:last-child {
    margin-right: -15px;
  }
}
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: 14px;
  margin-bottom: 14px;
}
.navbar-btn.btn-sm {
  margin-top: 16px;
  margin-bottom: 16px;
}
.navbar-btn.btn-xs {
  margin-top: 20px;
  margin-bottom: 20px;
}
.navbar-text {
  margin-top: 21px;
  margin-bottom: 21px;
}
@media (min-width: 768px) {
  .navbar-text {
    float: left;
    margin-left: 15px;
    margin-right: 15px;
  }
  .navbar-text.navbar-right:last-child {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #ffffff;
  border-color: #cccccc;
  border-bottom: none;
}
.navbar-default .navbar-brand {
  color: #555555;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #3b3b3b;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777777;
}
.navbar-default .navbar-nav > li > a {
  color: #555555;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #555555;
  background-color: #92b3d9;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #ffffff;
  background-color: #0cb2f0;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #cccccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #dddddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #0cb2f0;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #cccccc;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #0cb2f0;
  color: #ffffff;
}
@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #555555;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #0cb2f0;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #ffffff;
    background-color: #0cb2f0;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #cccccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #555555;
}
.navbar-default .navbar-link:hover {
  color: #555555;
}
.navbar-default .btn-link {
  color: #555555;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #555555;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #cccccc;
}
/* scaffolding */
body {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555555;
}
a {
  color: #0cb2f0;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #2f5a89;
  text-decoration: underline;
}
a:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.img-rounded {
  border-radius: 0;
}
hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
/* breadcrumbs */
.breadcrumb {
  padding: 20px 0;
  margin-bottom: 20px;
  background-color: transparent;
  border-radius: 0;
  text-align: right;
}
.breadcrumb > li + li:before {
  content: ">\00a0";
  color: #555555;
}
.breadcrumb > .active {
  color: #999999;
}
@media (max-width: 991px) {
  .breadcrumb {
    padding: 20px 0;
    text-align: center;
  }
}
/* dropdowns */
.dropdown-menu {
  z-index: 1000;
  font-size: 14px;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  padding: 5px 20px;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
/* labels */
.label {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
/* forms.less */
label {
  font-weight: normal;
}
.form-control {
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 0;
}
.form-control:focus {
  border-color: #0cb2f0;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(70, 127, 191, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(70, 127, 191, 0.6);
}
.form-group {
  margin-bottom: 20px;
}
/* pager*/
.pager {
  margin: 20px 0;
  border-top: solid 1px #eeeeee;
  padding-top: 20px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  background-color: #ffffff;
  border: 1px solid #0cb2f0;
  border-radius: 0;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  color: #fff;
  background-color: #0cb2f0;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #999999;
  background-color: #ffffff;
  border-color: #ddd;
}
/* pagination */
.pagination {
  margin: 20px 0;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  border-radius: 0;
}
.pagination > li > a,
.pagination > li > span {
  padding: 6px 12px;
  line-height: 1.42857143;
  text-decoration: none;
  color: #0cb2f0;
  background-color: #ffffff;
  border: 1px solid #dddddd;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  color: #0cb2f0;
  background-color: #b8cee6;
  border-color: #dddddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 2;
  color: #ffffff;
  background-color: #0cb2f0;
  border-color: #0cb2f0;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #999999;
  background-color: #ffffff;
  border-color: #dddddd;
}
/* responsive utilities */
@media (max-width: 767px) {
  .text-center-xs {
    text-align: center !important;
  }
  .text-center-xs img {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .text-center-sm {
    text-align: center !important;
  }
  .text-center-sm img {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
/* type */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: 900;
  line-height: 1.1;
  color: #333333;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 20px;
  margin-bottom: 20px;
}
p {
  margin: 0 0 10px;
}
.lead {
  margin-bottom: 20px;
  font-size: 17px;
}
@media (min-width: 768px) {
  .lead {
    font-size: 16px;
  }
}
.text-small {
  font-size: 12px;
}
.text-large {
  font-size: 18px;
}
.text-italic {
  font-style: italic;
}
.text-primary {
  color: #0cb2f0;
}
a.text-primary:hover {
  color: #36669c;
}
.bg-primary {
  color: #fff;
  background-color: #0cb2f0;
}
a.bg-primary:hover {
  background-color: #36669c;
}
abbr[title],
abbr[data-original-title] {
  border-bottom: 1px dotted #999999;
}
blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  font-size: 14px;
  border-left: 5px solid #0cb2f0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #999999;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  border-right: 5px solid #0cb2f0;
}
address {
  margin-bottom: 20px;
  line-height: 1.42857143;
}
.panel {
  margin-bottom: 20px;
  background-color: #ffffff;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0;
  box-shadow: 0 0 0;
}
.panel-heading {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 15px 15px;
}
.progress {
  overflow: hidden;
  height: 20px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.panel-group {
  margin-bottom: 20px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 0;
  overflow: hidden;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group.accordion .panel {
  border-color: #ccc;
}
.panel-primary {
  border-color: #0cb2f0;
}
.panel-primary > .panel-heading {
  color: #ffffff;
  background-color: #0cb2f0;
  border-color: #0cb2f0;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #0cb2f0;
}
.panel-primary > .panel-heading .badge {
  color: #0cb2f0;
  background-color: #ffffff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #0cb2f0;
}
.panel-primary .panel-title {
  font-weight: 300;
}
.panel-primary .panel-title a:hover {
  color: #fff;
  text-decoration: none;
}
a.badge:hover,
a.badge:focus {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}
a.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #0cb2f0;
  background-color: #ffffff;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}
.progress-bar-primary {
  background-color: #0cb2f0;
}
.progress-striped .progress-bar-primary {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
/*!
 * Yamm!3 - Yet another megamenu for Bootstrap 3
 * http://geedmo.github.com/yamm3
 * 
 * @geedmo - Licensed under the MIT license
 */
.yamm .nav,
.yamm .collapse,
.yamm .dropup.use-yamm,
.yamm .dropdown.use-yamm {
  position: static;
}
.yamm .container {
  position: relative;
}
.yamm .dropdown-menu {
  left: auto;
}
.yamm .nav.navbar-right .dropdown-menu {
  left: auto;
  right: 0;
}
.yamm .yamm-content {
  padding: 20px 30px;
}
.yamm .dropdown.yamm-fw .dropdown-menu {
  left: 15px;
  right: 15px;
}
	
