/**
  Additional styling for Visual Composer
  This is for fixing and integrating the theme to visual composer
  **/
body.compose-mode #page {
  padding-top: 40px;
}

/**
  Gallery Override
  @see templates/visualcomposer/vc_gallery.php
  **/
#page .wpb_gallery .portfolio {
  margin: 0 -15px;
}

#page .wpb_gallery .portfolio li {
  padding: 0 15px 30px;
}

#page .portfolio-source.categories_filter {
  margin-bottom: 60px;
  text-align: center;
  vertical-align: middle;
}

#page .portfolio-source.categories_filter a {
  border-bottom: none;
}

#page .wpb_teaser_grid .categories_filter li,
#page .wpb_categories_filter li {
  display: inline-block;
  float: none;
}

#page .wpb_teaser_grid .isotope-target li {
  padding: 0 15px;
}

#page .vc_align_center .diamond {
  float: none;
  margin: 0 auto;
}

#page .vc_align_left .diamond {
  float: left;
}

#page .vc_align_right .diamond {
  float: right;
}

.vc_colored-dropdown {
  display: block !important;
}

/**
  FAQ Override
  **/
#page .wpb_toggle {
  font-weight: bold;
  font-size: 16px;
  background-position: 6px 11px;
  padding-left: 30px;
  margin-bottom: -1px;
}

#page .wpb_toggle_content {
  padding: 0 15px 15px;
}

#page .panel-toggle {
  overflow: hidden;
}

.diamond.vc_box_border {
  border-radius: 18px;
}

.post-thumbnail.vc_box_border {
  padding: 0;
  border-radius: 18px;
}

/**
  Tabs Masked as panels
  **/
#page .panel-tabs .panel-body {
  background: none;
}

#page .panel-tabs .panel-heading > li {
  border: none;
  margin-left: 10px;
  background: none;
}

/**
  Tabs converted as tour element
  **/
#page .wpb_tour .wpb_tour_tabs_wrapper .wpb_tab {
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 20px;
}

#page .wpb_tour_next_prev_nav {
  margin-bottom: 20px;
  padding-right: 20px;
}

.wpb_content_element .wpb_tabs_nav li {
  background: none;
  margin-left: 10px;
}

/**
  Accordion Overrides
  **/
#page .wpb_accordion .wpb_accordion_wrapper .wpb_accordion_header {
  padding: 6px 15px;
  margin: 0 0 -1px;
}

#page .panel .panel .wpb_accordion_header {
  margin: 0 0 1px;
  padding: 6px 0;
}

#page .panel .panel .wpb_accordion_header.ui-state-active {
  background: none;
}

#page .panel .panel .wpb_accordion_header.ui-state-active a {
  color: inherit;
}

#page .wpb_accordion .wpb_accordion_wrapper .wpb_accordion_header a {
  padding: 0;
}

/**
  Carousel Fixes
  **/
#page .vc_carousel-slideline-inner .vc_inner {
  height: 100%;
  margin: 0 10px;
}

#page .vc_carousel .vc_carousel-control .icon-prev,
#page .vc_carousel .vc_carousel-control .icon-next {
  background-color: transparent;
}

#page .vc_carousel {
  padding-bottom: 40px;
}

#page .vc_carousel-control {
  height: 50px;
  width: 50px;
  background: none;
  opacity: 0.7;
  text-align: center;
}

#page .vc_carousel-control span:before {
  font-size: 40px;
  font-family: "fontawesome";
}

#page .vc_carousel-control span:hover {
  opacity: 1;
}

#page .vc_carousel-control .icon-next:before {
  content: "\f138";
}

#page .vc_carousel-control .icon-prev:before {
  content: "\f137";
}

#page .vc_carousel-indicators {
  bottom: -20px;
}

/**
  Gallery sliders
  **/
.wpb_gallery .wpb_wrapper.multiple.boxed {
  padding-bottom: 40px;
}

.wpb_gallery .wpb_gallery_slides .nivoSlider,
.wpb_gallery .wpb_gallery_slides {
  box-shadow: none;
  background: none;
  border: none;
  padding: 0;
}

#page .wpb_posts_slider .flex-caption, #page .wpb_posts_slider .nivo-caption {
  border: none;
  border-radius: 0;
  padding: 20px;
}

/**
  Bars
  **/
#page .vc_progress_bar .vc_single_bar {
  background: none;
  border-radius: 8px;
  box-shadow: none;
  margin-bottom: 20px;
  position: relative;
}

#page .vc_progress_bar .vc_single_bar .vc_label {
  padding: 10px 15px;
  font-size: 14px;
}

#page .vc_progress_bar .vc_single_bar .vc_bar.striped {
  border-radius: 8px;
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
  background-image: -webkit-linear-gradient(135deg, 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: -moz-linear-gradient(135deg, 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(135deg, 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(135deg, 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);
  -webkit-background-size: 63px 63px;
  -moz-background-size: 63px 63px;
  -o-background-size: 63px 63px;
  background-size: 63px 63px;
}

#page .vc_progress_bar .vc_single_bar .vc_bar.animated {
  -webkit-animation: progress-bar-stripes-modified 2s linear infinite;
  -moz-animation: progress-bar-stripes-modified 2s linear infinite;
  -ms-animation: progress-bar-stripes-modified 2s linear infinite;
  -o-animation: progress-bar-stripes-modified 2s linear infinite;
  animation: progress-bar-stripes-modified 2s linear infinite;
}

@-webkit-keyframes progress-bar-stripes-modified {
  from {
    background-position: 63px 0;
  }
  to {
    background-position: 0 0;
  }
}

@-moz-keyframes progress-bar-stripes-modified {
  from {
    background-position: 63px 0;
  }
  to {
    background-position: 0 0;
  }
}

@-ms-keyframes progress-bar-stripes-modified {
  from {
    background-position: 63px 0;
  }
  to {
    background-position: 0 0;
  }
}

@-o-keyframes progress-bar-stripes-modified {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 63px 0;
  }
}

@keyframes progress-bar-stripes-modified {
  from {
    background-position: 63px 0;
  }
  to {
    background-position: 0 0;
  }
}

/**
  Button Overrides
  **/
#page button.btn.wpb_btn-large,
#page span.btn.wpb_btn-large {
  border-radius: 4px;
  margin: 0 20px;
}

#page .background-image-parallax {
  background-attachment: fixed !important;
  background-size: cover !important;
  opacity: 1 !important;
  -webkit-animation-name: none !important;
  padding: 0;
}

#page .background-image-parallax > .masking {
  background-color: inherit;
}

#page .background-top-center {
  background-position: center top !important;
}

/**
  Dial overrides
  **/
.jqknob {
  display: none;
}

.dial-element-wrapper {
  display: inline-block !important;
}

/**
  Area overrides
  **/
.area.fullwidth {
  width: 100%;
}
#page .area.fullwidth > .container-fluid {
  width: 100%;
  max-width: 100%;
  padding: 0;
}
.area.vc_area {
  padding: 0;
  position: relative;
}

.area.vc_area .masking {
  position: absolute !important;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index:1;
}

.area.vc_area > *:not(.masking) {
  position: relative;
  z-index: 2;
}

.template-page-visualcomposer #headline {
  overflow: hidden;
}

#page .area.large > * > .container-fluid {
  max-width: 1550px;
}

/**
  Row overrides
  **/
.row.wpb_row {
  margin-bottom: 0;
}

.compose-mode .vc_btn-content,
.compose-mode .vc_element-name .vc_btn-content {
  height: 30px !important;
}

.vc_row-fluid.normal {
  max-width: 1200px;
  margin: 0 auto;
}

/**
  Old post slider styling
  **/
#page .vc_carousel_horizontal .post-title {
  font-size: 18px;
}
#page .vc_carousel-control .icon-prev {
  margin-left: -60px;
}
#page .vc_carousel-control .icon-next {
  margin-left: 30px;
}

#page .vc_carousel_horizontal img {
  max-width: 100%;
  height: auto;
}

#page .vc_carousel_horizontal figure {
  height: 155px;
  overflow: hidden;
}


/**
  Post slider news style override
  **/
#page .vc_carousel_horizontal.news-teasers .vc_inner {
  padding: 0 1px 0 0;
  margin: 0;
}

.vc_carousel_horizontal.news-teasers header,
.vc_carousel_horizontal.news-teasers .post-excerpt,
.vc_carousel_horizontal.news-teasers footer {
  padding-right: 60px;
}

.vc_carousel_horizontal.news-teasers .post-title a {
  color: inherit;
}

.vc_carousel_horizontal.news-teasers .post-title {
  padding-bottom: 30px;
  position: relative;
}

.vc_carousel_horizontal.news-teasers .post-title:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 15px;
  background-color: rgba(255, 255, 255, 0.5);
  height: 1px;
  width: 40px;
}

.vc_carousel_horizontal.news-teasers .post-excerpt {
  font-family: arial, helvetica, san-serif;
  font-size: 14px;
}

.vc_carousel_horizontal.news-teasers.text-white .post-excerpt {
  color: #e4e8f1;
}

.vc_carousel_horizontal.news-teasers .btn.btn-primary {
  background: transparent;
  color: inherit;
  margin-bottom: 30px;
}

#page .vc_carousel_horizontal.news-teasers .vc_carousel-control .icon-prev:before {
  content: "\f053";
}

#page .vc_carousel_horizontal.news-teasers .vc_carousel-control .icon-next:before {
  content: "\f054";
}

#page .vc_carousel_horizontal.news-teasers .vc_carousel-control span:before {
  font-size: 80px;
}

#page .vc_carousel_horizontal.news-teasers .vc_carousel-control {
  height: 100px;
  width: 100px;
  margin-top: -50px;
  display: block !important;
}

#page .vc_carousel_horizontal.news-teasers .vc_carousel-control.vc_left {
  margin-left: -120px;
}

#page .vc_carousel_horizontal.news-teasers .vc_carousel-control.vc_right {
  margin-right: -120px;
}

#page .vc_carousel_horizontal.news-teasers .vc_carousel-control .icon-prev,
#page .vc_carousel_horizontal.news-teasers .vc_carousel-control .icon-next {
  height: 100px;
  left: auto;
  margin: 0;
  padding: 0;
  position: relative;
  top: auto;
  width: 100px;
}

#page .vc_carousel_horizontal.news-teasers figure {
  width: 100%;
  height: 220px !important;
}

#page .vc_carousel_horizontal.news-teasers .vc_carousel-slideline .vc_carousel-slideline-inner > .vc_item {
  width: 244px !important;
}

#page .vc_carousel_horizontal.news-teasers .post-excerpt {
  height: 80px;
  overflow: hidden;
}

/**
  Full width mode
  **/
#page .vc_area.fullwidth > .masking {
  padding: 0;
}

#page .vc_area.fullwidth > .masking > .container-fluid {
  max-width: 100%;
  padding: 0;
}